coze-coding-dev-sdk 0.7.10 → 0.7.11-beta.0

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,n,i,t,a,u,o,r,s,l,h,g,c,d;import*as p from"crypto";import*as f from"fs";import*as m from"node:fs";import*as y from"os";import*as S from"path";import{__webpack_require__ as b}from"./rslib-runtime.mjs";import C from"axios";import{ChatOpenAI as w}from"@langchain/openai";import{AIMessage as T,HumanMessage as x,SystemMessage as L}from"@langchain/core/messages";import E from"pg";import{exec as Y,execSync as D}from"child_process";import{readFile as Z}from"node:fs/promises";import{Duplex as v,PassThrough as N,Readable as A,Writable as J}from"stream";import{Buffer as P}from"buffer";import{env as M,versions as R}from"process";import{Agent as X,request as H}from"http";import{Agent as B,request as k}from"https";import{Readable as F}from"node:stream";import{crc32 as _}from"zlib";import{EventEmitter as Q}from"events";b.add({"./node_modules/dotenv/lib/main.js"(e,n,i){let t=i("fs"),a=i("path"),u=i("os"),o=i("crypto"),r=i("./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 l(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}let h=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function g(e){console.log(`[dotenv@${r}][DEBUG] ${e}`)}function c(e){console.log(`[dotenv@${r}] ${e}`)}function d(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 p(e){let n=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let i of e.path)t.existsSync(i)&&(n=i.endsWith(".vault")?i:`${i}.vault`);else n=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else n=a.resolve(process.cwd(),".env.vault");return t.existsSync(n)?n:null}function f(e){return"~"===e[0]?a.join(u.homedir(),e.slice(1)):e}let m={configDotenv:function(e){let n,i=a.resolve(process.cwd(),".env"),u="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let r=l(o.DOTENV_CONFIG_DEBUG||e&&e.debug),h=l(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?u=e.encoding:r&&g("No encoding is specified. UTF-8 is used by default");let d=[i];if(e&&e.path)if(Array.isArray(e.path))for(let n of(d=[],e.path))d.push(f(n));else d=[f(e.path)];let p={};for(let i of d)try{let n=m.parse(t.readFileSync(i,{encoding:u}));m.populate(p,n,e)}catch(e){r&&g(`Failed to load ${i} ${e.message}`),n=e}let y=m.populate(o,p,e);if(r=l(o.DOTENV_CONFIG_DEBUG||r),h=l(o.DOTENV_CONFIG_QUIET||h),r||!h){var S;let e=Object.keys(y).length,i=[];for(let e of d)try{let n=a.relative(process.cwd(),e);i.push(n)}catch(i){r&&g(`Failed to load ${e} ${i.message}`),n=i}c(`injecting env (${e}) from ${i.join(",")} ${(S=`-- tip: ${s[Math.floor(Math.random()*s.length)]}`,process.stdout.isTTY?`\x1b[2m${S}\x1b[0m`:S)}`)}return n?{parsed:p,error:n}:{parsed:p}},_configVault:function(e){let n=l(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),i=l(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(n||!i)&&c("Loading env from encrypted .env.vault");let t=m._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),m.populate(a,t,e),{parsed:t}},_parseVault:function(e){let n,i=p(e=e||{});e.path=i;let t=m.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${i} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=d(e).split(","),u=a.length;for(let e=0;e<u;e++)try{let i=a[e].trim(),u=function(e,n){let i;try{i=new URL(n)}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=i.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=i.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let u=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[u];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${u} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}(t,i);n=m.decrypt(u.ciphertext,u.key);break}catch(n){if(e+1>=u)throw n}return m.parse(n)},config:function(e){if(0===d(e).length)return m.configDotenv(e);let n=p(e);if(!n){var i;return i=`You set DOTENV_KEY but you are missing a .env.vault file at ${n}. Did you forget to build it?`,console.error(`[dotenv@${r}][WARN] ${i}`),m.configDotenv(e)}return m._configVault(e)},decrypt:function(e,n){let i=Buffer.from(n.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),u=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",i,a);return e.setAuthTag(u),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,n="Invalid key length"===t.message,i="Unsupported state or unable to authenticate data"===t.message;if(e||n){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(i){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let n,i={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(n=h.exec(t));){let e=n[1],t=n[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")),i[e]=t}return i},populate:function(e,n,i={}){let t=!!(i&&i.debug),a=!!(i&&i.override),u={};if("object"!=typeof n){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let i of Object.keys(n))Object.prototype.hasOwnProperty.call(e,i)?(!0===a&&(e[i]=n[i],u[i]=n[i]),t&&(!0===a?g(`"${i}" is already defined and WAS overwritten`):g(`"${i}" is already defined and was NOT overwritten`))):(e[i]=n[i],u[i]=n[i]);return u}};e.exports.configDotenv=m.configDotenv,e.exports._configVault=m._configVault,e.exports._parseVault=m._parseVault,e.exports.config=m.config,e.exports.decrypt=m.decrypt,e.exports.parse=m.parse,e.exports.populate=m.populate,e.exports=m},crypto(e){e.exports=p},fs(e){e.exports=f},"node:fs"(e){e.exports=m},os(e){e.exports=y},path(e){e.exports=S},"./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,G,K,$,W,U,z,j,q,V,ee,en,ei,et,ea,eu,eo,er,es,el,eh,eg,ec,ed,ep,ef,em,ey={};b.r(ey),b.d(ey,{T:()=>ew});var eS={};b.r(eS),b.d(eS,{n:()=>eD,p:()=>eZ});var eb={};b.r(eb),b.d(eb,{F:()=>wc});var eC={};b.r(eC),b.d(eC,{c:()=>eW});class ew{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 eT extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class ex extends Error{statusCode;response;constructor(e,n,i){super(e),this.name="APIError",this.statusCode=n,this.response=i}}class eL extends Error{originalError;constructor(e,n){super(e),this.originalError=n,this.name="NetworkError"}}class eE extends Error{constructor(e){super(e),this.name="ValidationError"}}class eY{config;axiosInstance;verbose;constructor(e,n,i=!1){this.config=e||new ew,this.verbose=i,this.axiosInstance=C.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",...n}})}async request(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new ex(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(C.isAxiosError(a)&&a.response)throw new ex(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eL(a.message);throw new eL("Request failed after retries")}async requestWithResponse(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new ex(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(C.isAxiosError(a)&&a.response)throw new ex(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eL(a.message);throw new eL("Request failed after retries")}sanitizeHeaders(e){let n=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],i={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();n.some(n=>e.includes(n))?i[t]="***":i[t]=a}return i}logRequest(e,n,i,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${n}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let u=this.sanitizeHeaders(a);for(let[e,n]of(console.log("\nHeaders:"),Object.entries(u)))console.log(` ${e}: ${n}`);i&&(console.log("\nBody:"),console.log(JSON.stringify(i,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[n,i]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${n}: ${i}`);if(e.data){console.log("\nBody:");let n="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(n.length>1e3?n.substring(0,1e3)+"\n... (truncated)":n)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(n=>setTimeout(n,e))}}let eD=["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 eZ{static extractForwardHeaders(e){let n={};return e instanceof Headers?eD.forEach(i=>{let t=e.get(i);t&&(n[i]=t)}):eD.forEach(i=>{let t=e[i]||e[i.toLowerCase()];t&&(n[i]=t)}),n}}class ev{static DEFAULT_MODEL="doubao-seedream-4-5-251128";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 eN(e){if(ev.PRESET_SIZES.includes(e))return e;let n=e.match(/^(\d+)x(\d+)$/);if(!n)throw Error(`Invalid size format. Must be ${JSON.stringify(ev.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let i=parseInt(n[1],10),t=parseInt(n[2],10);if(i<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=i*t;if(a<ev.MIN_TOTAL_PIXELS||a>ev.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${ev.MIN_TOTAL_PIXELS.toLocaleString()} and ${ev.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${i}x${t})`);let u=i/t;if(u<ev.MIN_ASPECT_RATIO||u>ev.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${i}:${t} (${u.toFixed(2)})`);return e}function eA(e){try{return eN(e)}catch{return ev.DEFAULT_SIZE}}class eJ{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 n of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))n.error&&e.push(`Image generation error: ${n.error.message||"Unknown error"}`);return e}}function eP(e,n){let i=eA(e.size||ev.DEFAULT_SIZE);return{model:n,prompt:e.prompt,size:i,watermark:e.watermark??ev.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||ev.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||ev.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||ev.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||ev.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eM extends eY{model;constructor(e,n,i=!1){super(e,n,i),this.model=ev.DEFAULT_MODEL}async generate(e){let n=eP(e,this.model),i=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(i.error)throw new ex(`API returned error: ${i.error.message||"Unknown error"}`,i.error.code?parseInt(i.error.code):500,i.error);for(let e of i.data)if(e.error)throw new ex(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return i}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eJ(e)}}function eR(e){let n={};return e.query&&(n.Query=e.query),e.search_type&&(n.SearchType=e.search_type),void 0!==e.count&&(n.Count=e.count),void 0!==e.need_summary&&(n.NeedSummary=e.need_summary),e.time_range&&(n.TimeRange=e.time_range),e.filter&&(n.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),n}function eX(e){let n={};return void 0!==e.Id&&(n.id=e.Id),void 0!==e.SortId&&(n.sort_id=e.SortId),void 0!==e.Title&&(n.title=e.Title),void 0!==e.SiteName&&(n.site_name=e.SiteName),void 0!==e.Url&&(n.url=e.Url),void 0!==e.Snippet&&(n.snippet=e.Snippet),void 0!==e.Summary&&(n.summary=e.Summary),void 0!==e.Content&&(n.content=e.Content),void 0!==e.PublishTime&&(n.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(n.logo_url=e.LogoUrl),void 0!==e.RankScore&&(n.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(n.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(n.auth_info_level=e.AuthInfoLevel),e.Image&&(n.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),n}class eH extends eY{constructor(e,n,i=!1){super(e,n,i)}async search(e){let n,i=eR(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,i),a=t.ResponseMetadata||{};if(a.Error)throw new ex(`Search failed: ${a.Error}`,500,a.Error);let u=t.Result||{},o=[];if(u.WebResults)for(let e of u.WebResults)o.push(eX(e));let r=[];if(u.ImageResults)for(let e of u.ImageResults)r.push(eX(e));return u.Choices&&u.Choices.length>0&&(n=u.Choices[0].Message?.Content),{web_items:o,image_items:r,summary:n}}async webSearch(e,n=10,i=!0){return this.search({query:e,search_type:"web",count:n,need_summary:i})}async webSearchWithSummary(e,n=10){return this.search({query:e,search_type:"web_summary",count:n,need_summary:!0})}async imageSearch(e,n=10){return this.search({query:e,search_type:"image",count:n,need_summary:!1})}async advancedSearch(e,n={}){let i={need_content:n.needContent,need_url:n.needUrl,sites:n.sites,block_hosts:n.blockHosts};return this.search({query:e,search_type:n.searchType||"web",count:n.count||10,filter:i,need_summary:void 0===n.needSummary||n.needSummary,time_range:n.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 ek(e){let n={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?n.req_params.text=e.text:e.ssml&&(n.req_params.ssml=e.ssml),n}function eF(e){let n={};return e.url?n.url=e.url:e.base64Data&&(n.data=e.base64Data),{user:{uid:e.uid},audio:n}}class e_ extends eY{constructor(e,n,i=!1){super(e,n,i)}async synthesize(e){if(!e.text&&!e.ssml)throw new eE("必须提供 text 或 ssml 其中之一");let n=ek(e),i={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await C.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,n,{headers:i,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new ex(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new ex(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((n,i)=>{let t="",a=0,u="";e.data.on("data",e=>{let o=(u+=e.toString("utf-8")).split("\n");for(let e of(u=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let u=e.replace("data:","").trim();if(!u)continue;let o=JSON.parse(u);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),n({audioUri:t,audioSize:a});return}else if(o.code>0)return void i(new ex(`合成音频失败: ${o.message||""}`,o.code))}catch(e){i(new ex(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?n({audioUri:t,audioSize:a}):i(new ex("未收到完整的音频数据",500))}),e.data.on("error",e=>{i(new ex(`流处理错误: ${e.message}`,500))})})}}class eQ extends eY{constructor(e,n,i=!1){super(e,n,i)}async recognize(e){if(!e.url&&!e.base64Data)throw new eE("必须提供 url 或 base64Data 其中之一");let n=eF(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,n),i=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==i)throw new ex(`ASR 识别失败,状态码: ${i}, 错误信息: ${t}`,e.status,{code:i,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 ex)throw e;throw new ex(`ASR 请求异常: ${e.message}`,500)}}}class eI{static DEFAULT_MODEL="doubao-seedance-1-5-pro-251215";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 eO extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async videoGeneration(e,n){let i=(n?.maxWaitTime??900)*1e3,t={model:n?.model||eI.DEFAULT_MODEL,content:e};n?.callbackUrl&&(t.callback_url=n.callbackUrl),n?.returnLastFrame&&(t.return_last_frame=n.returnLastFrame),t.resolution=n?.resolution??eI.DEFAULT_RESOLUTION,t.ratio=n?.ratio??eI.DEFAULT_RATIO,t.duration=n?.duration??eI.DEFAULT_DURATION,t.watermark=n?.watermark??eI.DEFAULT_WATERMARK,n?.seed!==void 0&&(t.seed=n.seed),t.camerafixed=n?.camerafixed??eI.DEFAULT_CAMERA_FIXED,t.generate_audio=n?.generateAudio??eI.DEFAULT_GENERATE_AUDIO;let a=null,u=0;for(;u<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new ex("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(n){u++;let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${u}/3): ${e}`),u>=3)throw new ex(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**u*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 n}let o=Date.now(),r=0;for(;Date.now()-o<i;){r++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),n=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${r}: ${n}`),"succeeded"===n){let n=e.content?.video_url||null,i=e.content?.last_frame_url||"";if(!n)throw new ex(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${n}`),{videoUrl:n,response:e,lastFrameUrl:i}}if("failed"===n){let n=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${n}`),new ex(`视频生成失败: ${n}`,500)}if("cancelled"===n)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===n||"running"===n){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${n},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(n){let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new ex(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-o>=i)throw n;await this.sleep(5e3);continue}}let s=Math.floor((Date.now()-o)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${s}秒`),new ex(`视频生成超时,已等待 ${s} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,n){return this.videoGeneration(e,n)}}class eG{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 eK extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==n.code)throw new ex(`Key frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByInterval(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:n});if(0!==i.code)throw new ex(`Interval frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByCount(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:n});if(0!==i.code)throw new ex(`Count-based frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}}class e$ extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,n=eG.MIN_URL_EXPIRE){if(void 0===e)return eG.DEFAULT_URL_EXPIRE;if(e<n||e>eG.MAX_URL_EXPIRE)throw new ex(`url_expire must be between ${n} and ${eG.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,n,i){let t=this.validateUrlExpire(i?.urlExpire),a={video:e,subtitle_config:{background_border_width:n.background_border_width??eG.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:n.font_type??eG.DEFAULT_FONT_TYPE,font_pos_config:{height:n.font_pos_config.height??eG.DEFAULT_FONT_POS_HEIGHT,pos_x:n.font_pos_config.pos_x??eG.DEFAULT_FONT_POS_X,pos_y:n.font_pos_config.pos_y??eG.DEFAULT_FONT_POS_Y,width:n.font_pos_config.width??eG.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==n.border_width&&(a.subtitle_config.border_width=n.border_width),void 0!==n.font_color&&(a.subtitle_config.font_color=n.font_color),void 0!==n.font_size&&(a.subtitle_config.font_size=n.font_size),void 0!==n.background_color&&(a.subtitle_config.background_color=n.background_color),void 0!==n.border_color&&(a.subtitle_config.border_color=n.border_color),i?.subtitleUrl&&(a.subtitle_url=i.subtitleUrl),i?.textList&&i.textList.length>0&&(a.text_list=i.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let u=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=u.headers["x-api-status-code"]||"0",r=u.headers["x-api-message"]||"";if("0"!==o)throw new ex(`Add subtitles failed, status code: ${o}, error: ${r}`,parseInt(o)||500);if(!u.data.url)throw new ex("Add subtitles failed: returned URL is empty",500);return u.data}async concatVideos(e,n){if(!e||0===e.length)throw new ex("videos list cannot be empty",400);let i={videos:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.transitions&&n.transitions.length>0&&(i.transitions=n.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Concat videos failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,n,i){let t={video:e,audio:n,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=i.isVideoAudioSync),i?.outputSync&&(t.output_sync={sync_method:i.outputSync.sync_method??eG.DEFAULT_SYNC_METHOD,sync_mode:i.outputSync.sync_mode??eG.DEFAULT_SYNC_MODE}),i?.isAudioReserve!==void 0&&(t.is_audio_reserve=i.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new ex(`Compile video audio failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new ex("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,n){let i={source:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.subtitleType&&(i.subtitle_type=n.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Audio to subtitle failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,n){let i={video:e,url_expire:this.validateUrlExpire(n?.urlExpire,eG.MIN_AUDIO_URL_EXPIRE)};n?.format&&(i.format=n.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Extract audio failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,n){let i=this.validateUrlExpire(n?.urlExpire);if(n?.startTime!==void 0&&n.startTime<0)throw new ex("start_time must be greater than or equal to 0",400);if(n?.endTime!==void 0&&n.endTime<0)throw new ex("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:i};n?.startTime!==void 0&&(t.start_time=n.startTime),n?.endTime!==void 0&&(t.end_time=n.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new ex(`Video trim failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new ex("Video trim failed: returned URL is empty",500);return a.data}}let eW={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class eU{config;constructor(e){this.config=e}createLLM(e,n,i){let t={};t.thinking={type:e.thinking??eW.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",...i};return n&&(a["X-Previous-Response-Id"]=n),new w({model:e.model||eW.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eW.STREAMING,temperature:void 0!==e.temperature?e.temperature:eW.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let n=this.convertContent(e.content);switch(e.role){case"system":return new L(n);case"user":return new x(n);case"assistant":return new T(n);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 n={url:e.image_url.url};return e.image_url.detail&&(n.detail=e.image_url.detail),{type:"image_url",image_url:n}}if("video_url"===e.type){let n={url:e.video_url.url};return void 0!==e.video_url.fps&&(n.fps=e.video_url.fps),{type:"video_url",video_url:n}}return e})}async *stream(e,n={},i,t){let a=this.createLLM(n,i,t),u=this.convertMessages(e);for await(let e of(await a.stream(u)))yield e}async invoke(e,n={},i,t){let a="";for await(let u of this.stream(e,n,i,t))u.content&&(a+=u.content.toString());return{content:a}}}var ez=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class ej extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async search(e,n,i=5,t=0,a){let u={query:e,top_k:i,min_score:t};n&&(u.dataset=n);let o=`${this.baseUrl}/v1/knowledge_base/recall`,r={...a};this.config.apiKey&&(r["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,u,{headers:r});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,n,i,t){let a={dataset:n,data:e};i&&(a.chunk_config=Object.fromEntries(Object.entries(i).filter(([e,n])=>void 0!==n)));let u=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let r=await this.request("POST",u,a,{headers:o}),s=r.msg||"";return 0===r.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:r.doc_ids,code:r.code||0,msg:s}}}let eq=Symbol.for("drizzle:entityKind");function eV(e,n){if(!e||"object"!=typeof e)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,eq))throw Error(`Class "${n.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 i=Object.getPrototypeOf(e).constructor;if(i)for(;i;){if(eq in i&&i[eq]===n[eq])return!0;i=Object.getPrototypeOf(i)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class e0{static [eq]="ConsoleLogWriter";write(e){console.log(e)}}class e1{static [eq]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new e0}logQuery(e,n){let i=n.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class e3{static [eq]="NoopLogger";logQuery(){}}class e2{constructor(e,n){this.table=e,this.config=n,this.name=n.name,this.keyAsName=n.keyAsName,this.notNull=n.notNull,this.default=n.default,this.defaultFn=n.defaultFn,this.onUpdateFn=n.onUpdateFn,this.hasDefault=n.hasDefault,this.primary=n.primaryKey,this.isUnique=n.isUnique,this.uniqueName=n.uniqueName,this.uniqueType=n.uniqueType,this.dataType=n.dataType,this.columnType=n.columnType,this.generated=n.generated,this.generatedIdentity=n.generatedIdentity}static [eq]="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 e4{static [eq]="ColumnBuilder";config;constructor(e,n,i){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:n,columnType:i,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 e6=Symbol.for("drizzle:Name");class e8{static [eq]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,n){this.reference=()=>{let{name:n,columns:i,foreignColumns:t}=e();return{name:n,columns:i,foreignTable:t[0].table,foreignColumns:t}},n&&(this._onUpdate=n.onUpdate,this._onDelete=n.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 e5(e,this)}}class e5{constructor(e,n){this.table=e,this.reference=n.reference,this.onUpdate=n._onUpdate,this.onDelete=n._onDelete}static [eq]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:n,foreignColumns:i}=this.reference(),t=n.map(e=>e.name),a=i.map(e=>e.name),u=[this.table[e6],...t,i[0].table[e6],...a];return e??`${u.join("_")}_fk`}}function e7(e,...n){return e(...n)}function e9(e,n){return`${e[e6]}_${n.join("_")}_unique`}class ne{constructor(e,n){this.name=n,this.columns=e}static [eq]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new ni(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class nn{static [eq]=null;name;constructor(e){this.name=e}on(...e){return new ne(e,this.name)}}class ni{constructor(e,n,i,t){this.table=e,this.columns=n,this.name=t??e9(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=i}static [eq]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function nt(e,n,i){for(let t=n;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(n,t).replace(/\\/g,""),t+1];if(!i&&(","===a||"}"===a))return[e.slice(n,t).replace(/\\/g,""),t]}return[e.slice(n).replace(/\\/g,""),e.length]}class na extends e4{foreignKeyConfigs=[];static [eq]="PgColumnBuilder";array(e){return new ns(this.config.name,this,e)}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e,n){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=n?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:i,actions:t})=>e7((i,t)=>{let a=new e8(()=>({columns:[e],foreignColumns:[i()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(n)},i,t))}buildExtraConfigColumn(e){return new no(e,this.config)}}class nu extends e2{constructor(e,n){n.uniqueName||(n.uniqueName=e9(e,[n.name])),super(e,n),this.table=e}static [eq]="PgColumn"}class no extends nu{static [eq]="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 nr{static [eq]=null;constructor(e,n,i,t){this.name=e,this.keyAsName=n,this.type=i,this.indexConfig=t}name;keyAsName;type;indexConfig}class ns extends na{static [eq]="PgArrayBuilder";constructor(e,n,i){super(e,"array","PgArray"),this.config.baseBuilder=n,this.config.size=i}build(e){let n=this.config.baseBuilder.build(e);return new nl(e,this.config,n)}}class nl extends nu{constructor(e,n,i,t){super(e,n),this.baseColumn=i,this.range=t,this.size=n.size}size;static [eq]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=function(e){let[n]=function e(n,i=0){let t=[],a=i,u=!1;for(;a<n.length;){let o=n[a];if(","===o){(u||a===i)&&t.push(""),u=!0,a++;continue}if(u=!1,"\\"===o){a+=2;continue}if('"'===o){let[e,i]=nt(n,a+1,!0);t.push(e),a=i;continue}if("}"===o)return[t,a+1];if("{"===o){let[i,u]=e(n,a+1);t.push(i),a=u;continue}let[r,s]=nt(n,a,!1);t.push(r),a=s}return[t,a]}(e,1);return n}(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,n=!1){let i=e.map(e=>null===e?null:eV(this.baseColumn,nl)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return n?i:function e(n){return`{${n.map(n=>Array.isArray(n)?e(n):"string"==typeof n?`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${n}`).join(",")}}`}(i)}}class nh extends na{static [eq]="PgEnumObjectColumnBuilder";constructor(e,n){super(e,"string","PgEnumObjectColumn"),this.config.enum=n}build(e){return new ng(e,this.config)}}class ng extends nu{static [eq]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}let nc=Symbol.for("drizzle:isPgEnum");class nd extends na{static [eq]="PgEnumColumnBuilder";constructor(e,n){super(e,"string","PgEnumColumn"),this.config.enum=n}build(e){return new np(e,this.config)}}class np extends nu{static [eq]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}class nf{static [eq]="Subquery";constructor(e,n,i,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:n,alias:i,isWith:t,usedTables:a}}}class nm extends nf{static [eq]="WithSubquery"}let ny=(i,t)=>e?(n||(n=e.trace.getTracer("drizzle-orm","0.45.1")),e7((e,n)=>n.startActiveSpan(i,n=>{try{return t(n)}catch(i){throw n.setStatus({code:e.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{n.end()}}),e,n)):t(),nS=Symbol.for("drizzle:ViewBaseConfig"),nb=Symbol.for("drizzle:Schema"),nC=Symbol.for("drizzle:Columns"),nw=Symbol.for("drizzle:ExtraConfigColumns"),nT=Symbol.for("drizzle:OriginalName"),nx=Symbol.for("drizzle:BaseName"),nL=Symbol.for("drizzle:IsAlias"),nE=Symbol.for("drizzle:ExtraConfigBuilder"),nY=Symbol.for("drizzle:IsDrizzleTable");class nD{static [eq]="Table";static Symbol={Name:e6,Schema:nb,OriginalName:nT,Columns:nC,ExtraConfigColumns:nw,BaseName:nx,IsAlias:nL,ExtraConfigBuilder:nE};[e6];[nT];[nb];[nC];[nw];[nx];[nL]=!1;[nY]=!0;[nE]=void 0;constructor(e,n,i){this[e6]=this[nT]=e,this[nb]=n,this[nx]=i}}function nZ(e){return`${e[nb]??"public"}.${e[e6]}`}class nv{static [eq]=null}function nN(e){return null!=e&&"function"==typeof e.getSQL}class nA{static [eq]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new nJ([this])}}class nJ{constructor(e){for(let n of(this.queryChunks=e,e))if(eV(n,nD)){let e=n[nD.Symbol.Schema];this.usedTables.push(void 0===e?n[nD.Symbol.Name]:e+"."+n[nD.Symbol.Name])}}static [eq]="SQL";decoder=nM;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ny("drizzle.buildSQL",n=>{let i=this.buildQueryFromSourceParams(this.queryChunks,e);return n?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,n){let i=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:u,prepareTyping:o,inlineParams:r,paramStartIndex:s}=i;var l=e.map(e=>{if(eV(e,nA))return{sql:e.value.join(""),params:[]};if(eV(e,nP))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let n=[new nA("(")];for(let[i,t]of e.entries())n.push(t),i<e.length-1&&n.push(new nA(", "));return n.push(new nA(")")),this.buildQueryFromSourceParams(n,i)}if(eV(e,nJ))return this.buildQueryFromSourceParams(e.queryChunks,{...i,inlineParams:r||e.shouldInlineParams});if(eV(e,nD)){let n=e[nD.Symbol.Schema],i=e[nD.Symbol.Name];return{sql:void 0===n||e[nL]?a(i):a(n)+"."+a(i),params:[]}}if(eV(e,e2)){let i=t.getColumnCasing(e);if("indexes"===n.invokeSource)return{sql:a(i),params:[]};let u=e.table[nD.Symbol.Schema];return{sql:e.table[nL]||void 0===u?a(e.table[nD.Symbol.Name])+"."+a(i):a(u)+"."+a(e.table[nD.Symbol.Name])+"."+a(i),params:[]}}if(eV(e,nI)){let n=e[nS].schema,i=e[nS].name;return{sql:void 0===n||e[nS].isAlias?a(i):a(n)+"."+a(i),params:[]}}if(eV(e,nX)){if(eV(e.value,nF))return{sql:u(s.value++,e),params:[e],typings:["none"]};let n=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(eV(n,nJ))return this.buildQueryFromSourceParams([n],i);if(r)return{sql:this.mapInlineParam(n,i),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:u(s.value++,n),params:[n],typings:t}}return eV(e,nF)?{sql:u(s.value++,e),params:[e],typings:["none"]}:eV(e,nJ.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:eV(e,nf)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new nA("("),e._.sql,new nA(") "),new nP(e._.alias)],i):e&&"function"==typeof e&&nc in e&&!0===e[nc]?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:nN(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],i):this.buildQueryFromSourceParams([new nA("("),e.getSQL(),new nA(")")],i):r?{sql:this.mapInlineParam(e,i),params:[]}:{sql:u(s.value++,e),params:[e],typings:["none"]}});let h={sql:"",params:[]};for(let e of l)h.sql+=e.sql,h.params.push(...e.params),e.typings?.length&&(h.typings||(h.typings=[]),h.typings.push(...e.typings));return h}mapInlineParam(e,{escapeString:n}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return n(e);if("object"==typeof e){let i=e.toString();return"[object Object]"===i?n(JSON.stringify(e)):n(i)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new nJ.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 nP{constructor(e){this.value=e}static [eq]="Name";brand;getSQL(){return new nJ([this])}}let nM={mapFromDriverValue:e=>e},nR={mapToDriverValue:e=>e};({...nM,...nR});class nX{constructor(e,n=nR){this.value=e,this.encoder=n}static [eq]="Param";brand;getSQL(){return new nJ([this])}}function nH(e,...n){let i=[];for(let[t,a]of((n.length>0||e.length>0&&""!==e[0])&&i.push(new nA(e[0])),n.entries()))i.push(a,new nA(e[t+1]));return new nJ(i)}(O=nH||(nH={})).empty=function(){return new nJ([])},O.fromList=function(e){return new nJ(e)},O.raw=function(e){return new nJ([new nA(e)])},O.join=function(e,n){let i=[];for(let[t,a]of e.entries())t>0&&void 0!==n&&i.push(n),i.push(a);return new nJ(i)},O.identifier=function(e){return new nP(e)},O.placeholder=function(e){return new nF(e)},O.param=function(e,n){return new nX(e,n)};var nB=nJ||(nJ={});class nk{constructor(e,n){this.sql=e,this.fieldAlias=n}static [eq]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new nk(this.sql,this.fieldAlias)}}nB.Aliased=nk;class nF{constructor(e){this.name=e}static [eq]="Placeholder";getSQL(){return new nJ([this])}}function n_(e,n){return e.map(e=>{if(eV(e,nF)){if(!(e.name in n))throw Error(`No value for placeholder "${e.name}" was provided`);return n[e.name]}if(eV(e,nX)&&eV(e.value,nF)){if(!(e.value.name in n))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(n[e.value.name])}return e})}let nQ=Symbol.for("drizzle:IsDrizzleView");class nI{static [eq]="View";[nS];[nQ]=!0;constructor({name:e,schema:n,selectedFields:i,query:t}){this[nS]={name:e,originalName:e,schema:n,selectedFields:i,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new nJ([this])}}e2.prototype.getSQL=function(){return new nJ([this])},nD.prototype.getSQL=function(){return new nJ([this])},nf.prototype.getSQL=function(){return new nJ([this])};class nO{constructor(e){this.table=e}static [eq]="ColumnAliasProxyHandler";get(e,n){return"table"===n?this.table:e[n]}}class nG{constructor(e,n){this.alias=e,this.replaceOriginalName=n}static [eq]="TableAliasProxyHandler";get(e,n){if(n===nD.Symbol.IsAlias)return!0;if(n===nD.Symbol.Name||this.replaceOriginalName&&n===nD.Symbol.OriginalName)return this.alias;if(n===nS)return{...e[nS],name:this.alias,isAlias:!0};if(n===nD.Symbol.Columns){let n=e[nD.Symbol.Columns];if(!n)return n;let i={};return Object.keys(n).map(t=>{i[t]=new Proxy(n[t],new nO(new Proxy(e,this)))}),i}let i=e[n];return eV(i,e2)?new Proxy(i,new nO(new Proxy(e,this))):i}}class nK{constructor(e){this.alias=e}static [eq]=null;get(e,n){return"sourceTable"===n?n$(e.sourceTable,this.alias):e[n]}}function n$(e,n){return new Proxy(e,new nG(n,!1))}function nW(e,n){return new Proxy(e,new nO(new Proxy(e.table,new nG(n,!1))))}function nU(e,n){return new nJ.Aliased(nz(e.sql,n),e.fieldAlias)}function nz(e,n){return nH.join(e.queryChunks.map(e=>eV(e,e2)?nW(e,n):eV(e,nJ)?nz(e,n):eV(e,nJ.Aliased)?nU(e,n):e))}function nj(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function nq(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,n,i)=>e+(0===i?n.toLowerCase():`${n[0].toUpperCase()}${n.slice(1)}`),"")}function nV(e){return e}class n0{static [eq]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?nj:"camelCase"===e?nq:nV}getColumnCasing(e){if(!e.keyAsName)return e.name;let n=e.table[nD.Symbol.Schema]??"public",i=e.table[nD.Symbol.OriginalName],t=`${n}.${i}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let n=e[nD.Symbol.Schema]??"public",i=e[nD.Symbol.OriginalName],t=`${n}.${i}`;if(!this.cachedTables[t]){for(let n of Object.values(e[nD.Symbol.Columns])){let e=`${t}.${n.name}`;this.cache[e]=this.convert(n.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class n1 extends Error{static [eq]="DrizzleError";constructor({message:e,cause:n}){super(e),this.name="DrizzleError",this.cause=n}}class n3 extends Error{constructor(e,n,i){super(`Failed query: ${e}
2
- params: ${n}`),this.query=e,this.params=n,this.cause=i,Error.captureStackTrace(this,n3),i&&(this.cause=i)}}class n2 extends n1{static [eq]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class n4 extends na{static [eq]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new n6(e,this.config)}}class n6 extends nu{static [eq]="PgJsonb";constructor(e,n){super(e,n)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n8 extends na{static [eq]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new n5(e,this.config)}}class n5 extends nu{static [eq]="PgJson";constructor(e,n){super(e,n)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n7 extends na{static [eq]="PgNumericBuilder";constructor(e,n,i){super(e,"string","PgNumeric"),this.config.precision=n,this.config.scale=i}build(e){return new n9(e,this.config)}}class n9 extends nu{static [eq]="PgNumeric";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 ie extends na{static [eq]="PgNumericNumberBuilder";constructor(e,n,i){super(e,"number","PgNumericNumber"),this.config.precision=n,this.config.scale=i}build(e){return new ii(e,this.config)}}class ii extends nu{static [eq]="PgNumericNumber";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 it extends na{static [eq]="PgNumericBigIntBuilder";constructor(e,n,i){super(e,"bigint","PgNumericBigInt"),this.config.precision=n,this.config.scale=i}build(e){return new ia(e,this.config)}}class ia extends nu{static [eq]="PgNumericBigInt";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 iu extends na{static [eq]="PgDateColumnBaseBuilder";defaultNow(){return this.default(nH`now()`)}}class io extends iu{constructor(e,n,i){super(e,"string","PgTime"),this.withTimezone=n,this.precision=i,this.config.withTimezone=n,this.config.precision=i}static [eq]="PgTimeBuilder";build(e){return new ir(e,this.config)}}class ir extends nu{static [eq]="PgTime";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class is extends iu{static [eq]="PgTimestampBuilder";constructor(e,n,i){super(e,"date","PgTimestamp"),this.config.withTimezone=n,this.config.precision=i}build(e){return new il(e,this.config)}}class il extends nu{static [eq]="PgTimestamp";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 ih extends iu{static [eq]="PgTimestampStringBuilder";constructor(e,n,i){super(e,"string","PgTimestampString"),this.config.withTimezone=n,this.config.precision=i}build(e){return new ig(e,this.config)}}class ig extends nu{static [eq]="PgTimestampString";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 n=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let i=e.getTimezoneOffset();return`${n}${i<=0?"+":"-"}${Math.floor(Math.abs(i)/60).toString().padStart(2,"0")}`}return n}}class ic extends iu{static [eq]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new id(e,this.config)}}class id extends nu{static [eq]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class ip extends iu{static [eq]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new im(e,this.config)}}class im extends nu{static [eq]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class iy extends na{static [eq]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(nH`gen_random_uuid()`)}build(e){return new iS(e,this.config)}}class iS extends nu{static [eq]="PgUUID";getSQLType(){return"uuid"}}let ib=Symbol.for("drizzle:PgInlineForeignKeys"),iC=Symbol.for("drizzle:EnableRLS");class iw extends nD{static [eq]="PgTable";static Symbol=Object.assign({},nD.Symbol,{InlineForeignKeys:ib,EnableRLS:iC});[ib]=[];[iC]=!1;[nD.Symbol.ExtraConfigBuilder]=void 0;[nD.Symbol.ExtraConfigColumns]={}}class iT{static [eq]="PgPrimaryKeyBuilder";columns;name;constructor(e,n){this.columns=e,this.name=n}build(e){return new ix(e,this.columns,this.name)}}class ix{constructor(e,n,i){this.table=e,this.columns=n,this.name=i}static [eq]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[iw.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function iL(e,n){return"object"!=typeof n||null===n||!("mapToDriverValue"in n)||"function"!=typeof n.mapToDriverValue||nN(e)||eV(e,nX)||eV(e,nF)||eV(e,e2)||eV(e,nD)||eV(e,nI)?e:new nX(e,n)}let iE=(e,n)=>nH`${e} = ${iL(n,e)}`,iY=(e,n)=>nH`${e} <> ${iL(n,e)}`;function iD(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nJ(1===n.length?n:[new nA("("),nH.join(n,new nA(" and ")),new nA(")")])}function iZ(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nJ(1===n.length?n:[new nA("("),nH.join(n,new nA(" or ")),new nA(")")])}function iv(e){return nH`not ${e}`}let iN=(e,n)=>nH`${e} > ${iL(n,e)}`,iA=(e,n)=>nH`${e} >= ${iL(n,e)}`,iJ=(e,n)=>nH`${e} < ${iL(n,e)}`,iP=(e,n)=>nH`${e} <= ${iL(n,e)}`;function iM(e,n){return Array.isArray(n)?0===n.length?nH`false`:nH`${e} in ${n.map(n=>iL(n,e))}`:nH`${e} in ${iL(n,e)}`}function iR(e,n){return Array.isArray(n)?0===n.length?nH`true`:nH`${e} not in ${n.map(n=>iL(n,e))}`:nH`${e} not in ${iL(n,e)}`}function iX(e){return nH`${e} is null`}function iH(e){return nH`${e} is not null`}function iB(e){return nH`exists ${e}`}function ik(e){return nH`not exists ${e}`}function iF(e,n,i){return nH`${e} between ${iL(n,e)} and ${iL(i,e)}`}function i_(e,n,i){return nH`${e} not between ${iL(n,e)} and ${iL(i,e)}`}function iQ(e,n){return nH`${e} like ${n}`}function iI(e,n){return nH`${e} not like ${n}`}function iO(e,n){return nH`${e} ilike ${n}`}function iG(e,n){return nH`${e} not ilike ${n}`}function iK(e){return nH`${e} asc`}function i$(e){return nH`${e} desc`}class iW{constructor(e,n,i){this.sourceTable=e,this.referencedTable=n,this.relationName=i,this.referencedTableName=n[nD.Symbol.Name]}static [eq]="Relation";referencedTableName;fieldName}class iU{constructor(e,n){this.table=e,this.config=n}static [eq]="Relations"}class iz extends iW{constructor(e,n,i,t){super(e,n,i?.relationName),this.config=i,this.isNullable=t}static [eq]="One";withFieldName(e){let n=new iz(this.sourceTable,this.referencedTable,this.config,this.isNullable);return n.fieldName=e,n}}class ij extends iW{constructor(e,n,i){super(e,n,i?.relationName),this.config=i}static [eq]="Many";withFieldName(e){let n=new ij(this.sourceTable,this.referencedTable,this.config);return n.fieldName=e,n}}function iq(e){return{one:function(n,i){return new iz(e,n,i,i?.fields.reduce((e,n)=>e&&n.notNull,!0)??!1)},many:function(n,i){return new ij(e,n,i)}}}function iV(e,n){return Object.entries(e).reduce((e,[i,t])=>{if("string"!=typeof i)return e;let a=n?[...n,i]:[i];return eV(t,e2)||eV(t,nJ)||eV(t,nJ.Aliased)||eV(t,nf)?e.push({path:a,field:t}):eV(t,nD)?e.push(...iV(t[nD.Symbol.Columns],a)):e.push(...iV(t,a)),e},[])}function i0(e,n){let i=Object.keys(e),t=Object.keys(n);if(i.length!==t.length)return!1;for(let[e,n]of i.entries())if(n!==t[e])return!1;return!0}function i1(e,n){let i=Object.entries(n).filter(([,e])=>void 0!==e).map(([n,i])=>eV(i,nJ)||eV(i,e2)?[n,i]:[n,new nX(i,e[nD.Symbol.Columns][n])]);if(0===i.length)throw Error("No values to set");return Object.fromEntries(i)}function i3(e){return eV(e,nf)?e._.alias:eV(e,nI)?e[nS].name:eV(e,nJ)?void 0:e[nD.Symbol.IsAlias]?e[nD.Symbol.Name]:e[nD.Symbol.BaseName]}"u"<typeof TextDecoder||new TextDecoder;class i2 extends nI{static [eq]="PgViewBase"}class i4{static [eq]="PgDialect";casing;constructor(e){this.casing=new n0(e?.casing)}async migrate(e,n,i){let t="string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",a="string"==typeof i?"drizzle":i.migrationsSchema??"drizzle",u=nH`
1
+ let e,n,i,t,a,u,o,r,s,l,h,g,c,d;import*as p from"crypto";import*as f from"fs";import*as m from"node:fs";import*as y from"os";import*as S from"path";import{__webpack_require__ as b}from"./rslib-runtime.mjs";import C from"axios";import{ChatOpenAI as w}from"@langchain/openai";import{AIMessage as T,HumanMessage as x,SystemMessage as L}from"@langchain/core/messages";import E from"pg";import{exec as Y,execSync as D}from"child_process";import{readFile as Z}from"node:fs/promises";import{Duplex as v,PassThrough as N,Readable as A,Writable as J}from"stream";import{Buffer as P}from"buffer";import{env as M,versions as R}from"process";import{Agent as X,request as H}from"http";import{Agent as B,request as k}from"https";import{Readable as _}from"node:stream";import{crc32 as F}from"zlib";import{EventEmitter as Q}from"events";b.add({"./node_modules/dotenv/lib/main.js"(e,n,i){let t=i("fs"),a=i("path"),u=i("os"),o=i("crypto"),r=i("./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 l(e){return"string"==typeof e?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}let h=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function g(e){console.log(`[dotenv@${r}][DEBUG] ${e}`)}function c(e){console.log(`[dotenv@${r}] ${e}`)}function d(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 p(e){let n=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let i of e.path)t.existsSync(i)&&(n=i.endsWith(".vault")?i:`${i}.vault`);else n=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else n=a.resolve(process.cwd(),".env.vault");return t.existsSync(n)?n:null}function f(e){return"~"===e[0]?a.join(u.homedir(),e.slice(1)):e}let m={configDotenv:function(e){let n,i=a.resolve(process.cwd(),".env"),u="utf8",o=process.env;e&&null!=e.processEnv&&(o=e.processEnv);let r=l(o.DOTENV_CONFIG_DEBUG||e&&e.debug),h=l(o.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?u=e.encoding:r&&g("No encoding is specified. UTF-8 is used by default");let d=[i];if(e&&e.path)if(Array.isArray(e.path))for(let n of(d=[],e.path))d.push(f(n));else d=[f(e.path)];let p={};for(let i of d)try{let n=m.parse(t.readFileSync(i,{encoding:u}));m.populate(p,n,e)}catch(e){r&&g(`Failed to load ${i} ${e.message}`),n=e}let y=m.populate(o,p,e);if(r=l(o.DOTENV_CONFIG_DEBUG||r),h=l(o.DOTENV_CONFIG_QUIET||h),r||!h){var S;let e=Object.keys(y).length,i=[];for(let e of d)try{let n=a.relative(process.cwd(),e);i.push(n)}catch(i){r&&g(`Failed to load ${e} ${i.message}`),n=i}c(`injecting env (${e}) from ${i.join(",")} ${(S=`-- tip: ${s[Math.floor(Math.random()*s.length)]}`,process.stdout.isTTY?`\x1b[2m${S}\x1b[0m`:S)}`)}return n?{parsed:p,error:n}:{parsed:p}},_configVault:function(e){let n=l(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),i=l(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(n||!i)&&c("Loading env from encrypted .env.vault");let t=m._parseVault(e),a=process.env;return e&&null!=e.processEnv&&(a=e.processEnv),m.populate(a,t,e),{parsed:t}},_parseVault:function(e){let n,i=p(e=e||{});e.path=i;let t=m.configDotenv(e);if(!t.parsed){let e=Error(`MISSING_DATA: Cannot parse ${i} for an unknown reason`);throw e.code="MISSING_DATA",e}let a=d(e).split(","),u=a.length;for(let e=0;e<u;e++)try{let i=a[e].trim(),u=function(e,n){let i;try{i=new URL(n)}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=i.password;if(!t){let e=Error("INVALID_DOTENV_KEY: Missing key part");throw e.code="INVALID_DOTENV_KEY",e}let a=i.searchParams.get("environment");if(!a){let e=Error("INVALID_DOTENV_KEY: Missing environment part");throw e.code="INVALID_DOTENV_KEY",e}let u=`DOTENV_VAULT_${a.toUpperCase()}`,o=e.parsed[u];if(!o){let e=Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${u} in your .env.vault file.`);throw e.code="NOT_FOUND_DOTENV_ENVIRONMENT",e}return{ciphertext:o,key:t}}(t,i);n=m.decrypt(u.ciphertext,u.key);break}catch(n){if(e+1>=u)throw n}return m.parse(n)},config:function(e){if(0===d(e).length)return m.configDotenv(e);let n=p(e);if(!n){var i;return i=`You set DOTENV_KEY but you are missing a .env.vault file at ${n}. Did you forget to build it?`,console.error(`[dotenv@${r}][WARN] ${i}`),m.configDotenv(e)}return m._configVault(e)},decrypt:function(e,n){let i=Buffer.from(n.slice(-64),"hex"),t=Buffer.from(e,"base64"),a=t.subarray(0,12),u=t.subarray(-16);t=t.subarray(12,-16);try{let e=o.createDecipheriv("aes-256-gcm",i,a);return e.setAuthTag(u),`${e.update(t)}${e.final()}`}catch(t){let e=t instanceof RangeError,n="Invalid key length"===t.message,i="Unsupported state or unable to authenticate data"===t.message;if(e||n){let e=Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw e.code="INVALID_DOTENV_KEY",e}if(i){let e=Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw e.code="DECRYPTION_FAILED",e}throw t}},parse:function(e){let n,i={},t=e.toString();for(t=t.replace(/\r\n?/mg,"\n");null!=(n=h.exec(t));){let e=n[1],t=n[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")),i[e]=t}return i},populate:function(e,n,i={}){let t=!!(i&&i.debug),a=!!(i&&i.override),u={};if("object"!=typeof n){let e=Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw e.code="OBJECT_REQUIRED",e}for(let i of Object.keys(n))Object.prototype.hasOwnProperty.call(e,i)?(!0===a&&(e[i]=n[i],u[i]=n[i]),t&&(!0===a?g(`"${i}" is already defined and WAS overwritten`):g(`"${i}" is already defined and was NOT overwritten`))):(e[i]=n[i],u[i]=n[i]);return u}};e.exports.configDotenv=m.configDotenv,e.exports._configVault=m._configVault,e.exports._parseVault=m._parseVault,e.exports.config=m.config,e.exports.decrypt=m.decrypt,e.exports.parse=m.parse,e.exports.populate=m.populate,e.exports=m},crypto(e){e.exports=p},fs(e){e.exports=f},"node:fs"(e){e.exports=m},os(e){e.exports=y},path(e){e.exports=S},"./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,G,K,$,U,W,z,j,q,V,ee,en,ei,et,ea,eu,eo,er,es,el,eh,eg,ec,ed,ep,ef,em,ey={};b.r(ey),b.d(ey,{T:()=>ew});var eS={};b.r(eS),b.d(eS,{n:()=>eD,p:()=>eZ});var eb={};b.r(eb),b.d(eb,{F:()=>wc});var eC={};b.r(eC),b.d(eC,{c:()=>eU});class ew{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 eT extends Error{constructor(e){super(e),this.name="ConfigurationError"}}class ex extends Error{statusCode;response;constructor(e,n,i){super(e),this.name="APIError",this.statusCode=n,this.response=i}}class eL extends Error{originalError;constructor(e,n){super(e),this.originalError=n,this.name="NetworkError"}}class eE extends Error{constructor(e){super(e),this.name="ValidationError"}}class eY{config;axiosInstance;verbose;constructor(e,n,i=!1){this.config=e||new ew,this.verbose=i,this.axiosInstance=C.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",...n}})}async request(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a.data}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new ex(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(C.isAxiosError(a)&&a.response)throw new ex(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eL(a.message);throw new eL("Request failed after retries")}async requestWithResponse(e,n,i,t){let a=null;for(let u=0;u<=this.config.retryTimes;u++)try{0===u&&this.verbose&&this.logRequest(e,n,i,t);let a=await this.axiosInstance.request({method:e,url:n,data:i,...t});return 0===u&&this.verbose&&this.logResponse(a),a}catch(e){if(a=e,e.response){let n=e.response.status;if(n>=400&&n<500&&429!==n)throw new ex(e.response.data?.message||e.message,n,e.response.data)}u<this.config.retryTimes&&await this.sleep(1e3*this.config.retryDelay*(u+1))}if(a)if(C.isAxiosError(a)&&a.response)throw new ex(a.response.data?.message||a.message,a.response.status,a.response.data);else throw new eL(a.message);throw new eL("Request failed after retries")}sanitizeHeaders(e){let n=["authorization","auth","api-key","apikey","api_key","x-api-key","x-auth-token","token","secret","password","passwd","pwd"],i={};for(let[t,a]of Object.entries(e)){let e=t.toLowerCase();n.some(n=>e.includes(n))?i[t]="***":i[t]=a}return i}logRequest(e,n,i,t){console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log("\uD83D\uDCE4 HTTP Request"),console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),console.log(`Method: ${e}`),console.log(`URL: ${n}`);let a={};Object.assign(a,this.axiosInstance.defaults.headers.common||{},this.axiosInstance.defaults.headers[e.toLowerCase()]||{},t?.headers||{});let u=this.sanitizeHeaders(a);for(let[e,n]of(console.log("\nHeaders:"),Object.entries(u)))console.log(` ${e}: ${n}`);i&&(console.log("\nBody:"),console.log(JSON.stringify(i,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[n,i]of(console.log("\nHeaders:"),Object.entries(e.headers)))console.log(` ${n}: ${i}`);if(e.data){console.log("\nBody:");let n="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);console.log(n.length>1e3?n.substring(0,1e3)+"\n... (truncated)":n)}console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n")}sleep(e){return new Promise(n=>setTimeout(n,e))}}let eD=["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 eZ{static extractForwardHeaders(e){let n={};return e instanceof Headers?eD.forEach(i=>{let t=e.get(i);t&&(n[i]=t)}):eD.forEach(i=>{let t=e[i]||e[i.toLowerCase()];t&&(n[i]=t)}),n}}class ev{static DEFAULT_MODEL="doubao-seedream-4-5-251128";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 eN(e){if(ev.PRESET_SIZES.includes(e))return e;let n=e.match(/^(\d+)x(\d+)$/);if(!n)throw Error(`Invalid size format. Must be ${JSON.stringify(ev.PRESET_SIZES)} or 'WIDTHxHEIGHT' format (e.g., 2048x2048). Got: ${e}`);let i=parseInt(n[1],10),t=parseInt(n[2],10);if(i<=0||t<=0)throw Error(`Width and height must be positive integers. Got: ${e}`);let a=i*t;if(a<ev.MIN_TOTAL_PIXELS||a>ev.MAX_TOTAL_PIXELS)throw Error(`Total pixels must be between ${ev.MIN_TOTAL_PIXELS.toLocaleString()} and ${ev.MAX_TOTAL_PIXELS.toLocaleString()}. Got: ${a.toLocaleString()} (${i}x${t})`);let u=i/t;if(u<ev.MIN_ASPECT_RATIO||u>ev.MAX_ASPECT_RATIO)throw Error(`Aspect ratio must be between 1:16 and 16:1. Got: ${i}:${t} (${u.toFixed(2)})`);return e}function eA(e){try{return eN(e)}catch{return ev.DEFAULT_SIZE}}class eJ{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 n of(this.response.error&&e.push(`API Error: ${this.response.error.message||"Unknown error"}`),this.response.data))n.error&&e.push(`Image generation error: ${n.error.message||"Unknown error"}`);return e}}function eP(e,n){let i=eA(e.size||ev.DEFAULT_SIZE);return{model:n,prompt:e.prompt,size:i,watermark:e.watermark??ev.DEFAULT_WATERMARK,image:e.image,response_format:e.responseFormat||ev.DEFAULT_RESPONSE_FORMAT,optimize_prompt_options:{mode:e.optimizePromptMode||ev.DEFAULT_OPTIMIZE_PROMPT_MODE},sequential_image_generation:e.sequentialImageGeneration||ev.DEFAULT_SEQUENTIAL_IMAGE_GENERATION,sequential_image_generation_options:{max_images:e.sequentialImageGenerationMaxImages||ev.DEFAULT_SEQUENTIAL_IMAGE_GENERATION_MAX_IMAGES}}}class eM extends eY{model;constructor(e,n,i=!1){super(e,n,i),this.model=ev.DEFAULT_MODEL}async generate(e){let n=eP(e,this.model),i=await this.request("POST",`${this.config.baseUrl}/api/v3/images/generations`,n);if(i.error)throw new ex(`API returned error: ${i.error.message||"Unknown error"}`,i.error.code?parseInt(i.error.code):500,i.error);for(let e of i.data)if(e.error)throw new ex(`Image generation failed: ${e.error.message||"Unknown error"}`,e.error.code?parseInt(e.error.code):500,e.error);return i}async batchGenerate(e){return Promise.all(e.map(e=>this.generate(e)))}getResponseHelper(e){return new eJ(e)}}function eR(e){let n={};return e.query&&(n.Query=e.query),e.search_type&&(n.SearchType=e.search_type),void 0!==e.count&&(n.Count=e.count),void 0!==e.need_summary&&(n.NeedSummary=e.need_summary),e.time_range&&(n.TimeRange=e.time_range),e.filter&&(n.Filter={NeedContent:e.filter.need_content||!1,NeedUrl:e.filter.need_url||!1,Sites:e.filter.sites,BlockHosts:e.filter.block_hosts}),n}function eX(e){let n={};return void 0!==e.Id&&(n.id=e.Id),void 0!==e.SortId&&(n.sort_id=e.SortId),void 0!==e.Title&&(n.title=e.Title),void 0!==e.SiteName&&(n.site_name=e.SiteName),void 0!==e.Url&&(n.url=e.Url),void 0!==e.Snippet&&(n.snippet=e.Snippet),void 0!==e.Summary&&(n.summary=e.Summary),void 0!==e.Content&&(n.content=e.Content),void 0!==e.PublishTime&&(n.publish_time=e.PublishTime),void 0!==e.LogoUrl&&(n.logo_url=e.LogoUrl),void 0!==e.RankScore&&(n.rank_score=e.RankScore),void 0!==e.AuthInfoDes&&(n.auth_info_des=e.AuthInfoDes),void 0!==e.AuthInfoLevel&&(n.auth_info_level=e.AuthInfoLevel),e.Image&&(n.image={url:e.Image.Url,width:e.Image.Width,height:e.Image.Height,shape:e.Image.Shape}),n}class eH extends eY{constructor(e,n,i=!1){super(e,n,i)}async search(e){let n,i=eR(e),t=await this.request("POST",`${this.config.baseUrl}/api/search_api/web_search`,i),a=t.ResponseMetadata||{};if(a.Error)throw new ex(`Search failed: ${a.Error}`,500,a.Error);let u=t.Result||{},o=[];if(u.WebResults)for(let e of u.WebResults)o.push(eX(e));let r=[];if(u.ImageResults)for(let e of u.ImageResults)r.push(eX(e));return u.Choices&&u.Choices.length>0&&(n=u.Choices[0].Message?.Content),{web_items:o,image_items:r,summary:n}}async webSearch(e,n=10,i=!0){return this.search({query:e,search_type:"web",count:n,need_summary:i})}async webSearchWithSummary(e,n=10){return this.search({query:e,search_type:"web_summary",count:n,need_summary:!0})}async imageSearch(e,n=10){return this.search({query:e,search_type:"image",count:n,need_summary:!1})}async advancedSearch(e,n={}){let i={need_content:n.needContent,need_url:n.needUrl,sites:n.sites,block_hosts:n.blockHosts};return this.search({query:e,search_type:n.searchType||"web",count:n.count||10,filter:i,need_summary:void 0===n.needSummary||n.needSummary,time_range:n.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 ek(e){let n={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?n.req_params.text=e.text:e.ssml&&(n.req_params.ssml=e.ssml),n}function e_(e){let n={};return e.url?n.url=e.url:e.base64Data&&(n.data=e.base64Data),{user:{uid:e.uid},audio:n}}class eF extends eY{constructor(e,n,i=!1){super(e,n,i)}async synthesize(e){if(!e.text&&!e.ssml)throw new eE("必须提供 text 或 ssml 其中之一");let n=ek(e),i={...this.config.getHeaders(),Connection:"keep-alive"};try{let e=await C.post(`${this.config.baseUrl}/api/v3/tts/unidirectional`,n,{headers:i,responseType:"stream",timeout:this.config.timeout});return await this.processStreamResponse(e)}catch(e){if(e.response)throw new ex(`TTS 请求失败: ${e.message}`,e.response.status,e.response.data);throw new ex(`TTS 请求异常: ${e.message}`,500)}}async processStreamResponse(e){return new Promise((n,i)=>{let t="",a=0,u="";e.data.on("data",e=>{let o=(u+=e.toString("utf-8")).split("\n");for(let e of(u=o.pop()||"",o))if(e.trim()&&e.startsWith("data:"))try{let u=e.replace("data:","").trim();if(!u)continue;let o=JSON.parse(u);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),n({audioUri:t,audioSize:a});return}else if(o.code>0)return void i(new ex(`合成音频失败: ${o.message||""}`,o.code))}catch(e){i(new ex(`响应解析失败: ${e.message}`,500));return}}),e.data.on("end",()=>{t||0!==a?n({audioUri:t,audioSize:a}):i(new ex("未收到完整的音频数据",500))}),e.data.on("error",e=>{i(new ex(`流处理错误: ${e.message}`,500))})})}}class eQ extends eY{constructor(e,n,i=!1){super(e,n,i)}async recognize(e){if(!e.url&&!e.base64Data)throw new eE("必须提供 url 或 base64Data 其中之一");let n=e_(e);try{let e=await this.requestWithResponse("POST",`${this.config.baseUrl}/api/v3/auc/bigmodel/recognize/flash`,n),i=e.headers["x-api-status-code"]||"0",t=e.headers["x-api-message"]||"";if("20000000"!==i)throw new ex(`ASR 识别失败,状态码: ${i}, 错误信息: ${t}`,e.status,{code:i,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 ex)throw e;throw new ex(`ASR 请求异常: ${e.message}`,500)}}}class eI{static DEFAULT_MODEL="doubao-seedance-1-5-pro-251215";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 eO extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async videoGeneration(e,n){let i=(n?.maxWaitTime??900)*1e3,t={model:n?.model||eI.DEFAULT_MODEL,content:e};n?.callbackUrl&&(t.callback_url=n.callbackUrl),n?.returnLastFrame&&(t.return_last_frame=n.returnLastFrame),t.resolution=n?.resolution??eI.DEFAULT_RESOLUTION,t.ratio=n?.ratio??eI.DEFAULT_RATIO,t.duration=n?.duration??eI.DEFAULT_DURATION,t.watermark=n?.watermark??eI.DEFAULT_WATERMARK,n?.seed!==void 0&&(t.seed=n.seed),t.camerafixed=n?.camerafixed??eI.DEFAULT_CAMERA_FIXED,t.generate_audio=n?.generateAudio??eI.DEFAULT_GENERATE_AUDIO;let a=null,u=0;for(;u<3;)try{if(!(a=(await this.request("POST",`${this.baseUrl}/api/v3/contents/generations/tasks`,t)).id))throw new ex("创建视频生成任务失败:响应中缺少任务ID",500);this.verbose&&console.log(`视频生成任务创建成功,任务ID: ${a}`);break}catch(n){u++;let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`创建视频生成任务失败(尝试 ${u}/3): ${e}`),u>=3)throw new ex(`创建视频生成任务失败,已重试3次: ${e}`,500);if(e.toLowerCase().includes("rate limit")||e.includes("429")){let e=Math.min(2**u*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 n}let o=Date.now(),r=0;for(;Date.now()-o<i;){r++;try{let e=await this.request("GET",`${this.baseUrl}/api/v3/contents/generations/tasks/${a}`),n=e.status;if(this.verbose&&console.log(`任务 ${a} 状态检查 #${r}: ${n}`),"succeeded"===n){let n=e.content?.video_url||null,i=e.content?.last_frame_url||"";if(!n)throw new ex(`视频生成成功但响应中缺少视频URL,任务ID: ${a}`,500);return this.verbose&&console.log(`视频生成成功,任务ID: ${a}, 视频URL: ${n}`),{videoUrl:n,response:e,lastFrameUrl:i}}if("failed"===n){let n=e.error_message||"未知错误";throw this.verbose&&console.error(`视频生成失败,任务ID: ${a}, 错误: ${n}`),new ex(`视频生成失败: ${n}`,500)}if("cancelled"===n)return this.verbose&&console.warn(`视频生成任务被取消,任务ID: ${a}`),{videoUrl:null,response:e,lastFrameUrl:""};else if("queued"===n||"running"===n){await this.sleep(5e3);continue}else{this.verbose&&console.warn(`未知的任务状态: ${n},任务ID: ${a}`),await this.sleep(5e3);continue}}catch(n){let e=n instanceof Error?n.message:String(n);if(this.verbose&&console.error(`查询任务状态失败,任务ID: ${a}, 错误: ${e}`),e.toLowerCase().includes("not found")||e.includes("404"))throw new ex(`任务不存在或已过期,任务ID: ${a}`,404);if(Date.now()-o>=i)throw n;await this.sleep(5e3);continue}}let s=Math.floor((Date.now()-o)/1e3);throw this.verbose&&console.error(`视频生成超时,任务ID: ${a}, 已等待: ${s}秒`),new ex(`视频生成超时,已等待 ${s} 秒,任务ID: ${a}`,408)}async videoGenerationAsync(e,n){return this.videoGeneration(e,n)}}class eG{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 eK extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async extractByKeyFrame(e){let n=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_key_frame`,{url:e});if(0!==n.code)throw new ex(`Key frame extraction failed: ${n.msg||"Unknown error"}`,n.code);return n}async extractByInterval(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_interval`,{url:e,interval_ms:n});if(0!==i.code)throw new ex(`Interval frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}async extractByCount(e,n){let i=await this.request("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=frame_extractor_by_count`,{url:e,count:n});if(0!==i.code)throw new ex(`Count-based frame extraction failed: ${i.msg||"Unknown error"}`,i.code);return i}}class e$ extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}validateUrlExpire(e,n=eG.MIN_URL_EXPIRE){if(void 0===e)return eG.DEFAULT_URL_EXPIRE;if(e<n||e>eG.MAX_URL_EXPIRE)throw new ex(`url_expire must be between ${n} and ${eG.MAX_URL_EXPIRE} seconds`,400);return e}async addSubtitles(e,n,i){let t=this.validateUrlExpire(i?.urlExpire),a={video:e,subtitle_config:{background_border_width:n.background_border_width??eG.DEFAULT_BACKGROUND_BORDER_WIDTH,font_type:n.font_type??eG.DEFAULT_FONT_TYPE,font_pos_config:{height:n.font_pos_config.height??eG.DEFAULT_FONT_POS_HEIGHT,pos_x:n.font_pos_config.pos_x??eG.DEFAULT_FONT_POS_X,pos_y:n.font_pos_config.pos_y??eG.DEFAULT_FONT_POS_Y,width:n.font_pos_config.width??eG.DEFAULT_FONT_POS_WIDTH}},url_expire:t};void 0!==n.border_width&&(a.subtitle_config.border_width=n.border_width),void 0!==n.font_color&&(a.subtitle_config.font_color=n.font_color),void 0!==n.font_size&&(a.subtitle_config.font_size=n.font_size),void 0!==n.background_color&&(a.subtitle_config.background_color=n.background_color),void 0!==n.border_color&&(a.subtitle_config.border_color=n.border_color),i?.subtitleUrl&&(a.subtitle_url=i.subtitleUrl),i?.textList&&i.textList.length>0&&(a.text_list=i.textList.map(e=>({end_time:e.end_time,start_time:e.start_time,text:e.text})));let u=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=add_subtitles`,a),o=u.headers["x-api-status-code"]||"0",r=u.headers["x-api-message"]||"";if("0"!==o)throw new ex(`Add subtitles failed, status code: ${o}, error: ${r}`,parseInt(o)||500);if(!u.data.url)throw new ex("Add subtitles failed: returned URL is empty",500);return u.data}async concatVideos(e,n){if(!e||0===e.length)throw new ex("videos list cannot be empty",400);let i={videos:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.transitions&&n.transitions.length>0&&(i.transitions=n.transitions);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=concat_videos`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Concat videos failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Concat videos failed: returned URL is empty",500);return t.data}async compileVideoAudio(e,n,i){let t={video:e,audio:n,url_expire:this.validateUrlExpire(i?.urlExpire)};i?.isVideoAudioSync!==void 0&&(t.is_video_audio_sync=i.isVideoAudioSync),i?.outputSync&&(t.output_sync={sync_method:i.outputSync.sync_method??eG.DEFAULT_SYNC_METHOD,sync_mode:i.outputSync.sync_mode??eG.DEFAULT_SYNC_MODE}),i?.isAudioReserve!==void 0&&(t.is_audio_reserve=i.isAudioReserve);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=compile_video_audio`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new ex(`Compile video audio failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new ex("Compile video audio failed: returned URL is empty",500);return a.data}async audioToSubtitle(e,n){let i={source:e,url_expire:this.validateUrlExpire(n?.urlExpire)};n?.subtitleType&&(i.subtitle_type=n.subtitleType);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_to_subtitle`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Audio to subtitle failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Audio to subtitle failed: returned URL is empty",500);return t.data}async extractAudio(e,n){let i={video:e,url_expire:this.validateUrlExpire(n?.urlExpire,eG.MIN_AUDIO_URL_EXPIRE)};n?.format&&(i.format=n.format);let t=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=audio_extract`,i),a=t.headers["x-api-status-code"]||"0",u=t.headers["x-api-message"]||"";if("0"!==a)throw new ex(`Extract audio failed, status code: ${a}, error: ${u}`,parseInt(a)||500);if(!t.data.url)throw new ex("Extract audio failed: returned URL is empty",500);return t.data}async videoTrim(e,n){let i=this.validateUrlExpire(n?.urlExpire);if(n?.startTime!==void 0&&n.startTime<0)throw new ex("start_time must be greater than or equal to 0",400);if(n?.endTime!==void 0&&n.endTime<0)throw new ex("end_time must be greater than or equal to 0",400);let t={video:e,url_expire:i};n?.startTime!==void 0&&(t.start_time=n.startTime),n?.endTime!==void 0&&(t.end_time=n.endTime);let a=await this.requestWithResponse("POST",`${this.baseUrl}/api/v1/integration/video_editing_utils?tool_name=video_trim`,t),u=a.headers["x-api-status-code"]||"0",o=a.headers["x-api-message"]||"";if("0"!==u)throw new ex(`Video trim failed, status code: ${u}, error: ${o}`,parseInt(u)||500);if(!a.data.url)throw new ex("Video trim failed: returned URL is empty",500);return a.data}}let eU={MODEL:"doubao-seed-1-8-251228",THINKING:"disabled",CACHING:"disabled",TEMPERATURE:1,STREAMING:!0};class eW{config;constructor(e){this.config=e}createLLM(e,n,i){let t={};t.thinking={type:e.thinking??eU.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",...i};return n&&(a["X-Previous-Response-Id"]=n),new w({model:e.model||eU.MODEL,apiKey:this.config.apiKey,configuration:{baseURL:this.config.modelBaseUrl,defaultHeaders:a},streaming:void 0!==e.streaming?e.streaming:eU.STREAMING,temperature:void 0!==e.temperature?e.temperature:eU.TEMPERATURE,modelKwargs:Object.keys(t).length>0?t:void 0})}convertMessages(e){return e.map(e=>{let n=this.convertContent(e.content);switch(e.role){case"system":return new L(n);case"user":return new x(n);case"assistant":return new T(n);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 n={url:e.image_url.url};return e.image_url.detail&&(n.detail=e.image_url.detail),{type:"image_url",image_url:n}}if("video_url"===e.type){let n={url:e.video_url.url};return void 0!==e.video_url.fps&&(n.fps=e.video_url.fps),{type:"video_url",video_url:n}}return e})}async *stream(e,n={},i,t){let a=this.createLLM(n,i,t),u=this.convertMessages(e);for await(let e of(await a.stream(u)))yield e}async invoke(e,n={},i,t){let a="";for await(let u of this.stream(e,n,i,t))u.content&&(a+=u.content.toString());return{content:a}}}var ez=((I={})[I.TEXT=0]="TEXT",I[I.URL=1]="URL",I[I.URI=2]="URI",I);class ej extends eY{baseUrl;constructor(e,n,i=!1){super(e,n,i),this.baseUrl=this.config.baseUrl}async search(e,n,i=5,t=0,a){let u={query:e,top_k:i,min_score:t};n&&(u.dataset=n);let o=`${this.baseUrl}/v1/knowledge_base/recall`,r={...a};this.config.apiKey&&(r["x-coze-token"]=`Bearer ${this.config.apiKey}`);let s=await this.request("POST",o,u,{headers:r});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,n,i,t){let a={dataset:n,data:e};i&&(a.chunk_config=Object.fromEntries(Object.entries(i).filter(([e,n])=>void 0!==n)));let u=`${this.baseUrl}/v1/knowledge_base/batch_import`,o={...t};this.config.apiKey&&(o["x-coze-token"]=`Bearer ${this.config.apiKey}`);let r=await this.request("POST",u,a,{headers:o}),s=r.msg||"";return 0===r.code&&(s="成功!文档正在异步导入中,请稍候。您可以查看数据库中的 'knowledge' schema 来验证导入状态。"),{doc_ids:r.doc_ids,code:r.code||0,msg:s}}}let eq=Symbol.for("drizzle:entityKind");function eV(e,n){if(!e||"object"!=typeof e)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,eq))throw Error(`Class "${n.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 i=Object.getPrototypeOf(e).constructor;if(i)for(;i;){if(eq in i&&i[eq]===n[eq])return!0;i=Object.getPrototypeOf(i)}return!1}Symbol.for("drizzle:hasOwnEntityKind");class e0{static [eq]="ConsoleLogWriter";write(e){console.log(e)}}class e1{static [eq]="DefaultLogger";writer;constructor(e){this.writer=e?.writer??new e0}logQuery(e,n){let i=n.map(e=>{try{return JSON.stringify(e)}catch{return String(e)}}),t=i.length?` -- params: [${i.join(", ")}]`:"";this.writer.write(`Query: ${e}${t}`)}}class e3{static [eq]="NoopLogger";logQuery(){}}class e2{constructor(e,n){this.table=e,this.config=n,this.name=n.name,this.keyAsName=n.keyAsName,this.notNull=n.notNull,this.default=n.default,this.defaultFn=n.defaultFn,this.onUpdateFn=n.onUpdateFn,this.hasDefault=n.hasDefault,this.primary=n.primaryKey,this.isUnique=n.isUnique,this.uniqueName=n.uniqueName,this.uniqueType=n.uniqueType,this.dataType=n.dataType,this.columnType=n.columnType,this.generated=n.generated,this.generatedIdentity=n.generatedIdentity}static [eq]="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 e4{static [eq]="ColumnBuilder";config;constructor(e,n,i){this.config={name:e,keyAsName:""===e,notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:n,columnType:i,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 e6=Symbol.for("drizzle:Name");class e8{static [eq]="PgForeignKeyBuilder";reference;_onUpdate="no action";_onDelete="no action";constructor(e,n){this.reference=()=>{let{name:n,columns:i,foreignColumns:t}=e();return{name:n,columns:i,foreignTable:t[0].table,foreignColumns:t}},n&&(this._onUpdate=n.onUpdate,this._onDelete=n.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 e5(e,this)}}class e5{constructor(e,n){this.table=e,this.reference=n.reference,this.onUpdate=n._onUpdate,this.onDelete=n._onDelete}static [eq]="PgForeignKey";reference;onUpdate;onDelete;getName(){let{name:e,columns:n,foreignColumns:i}=this.reference(),t=n.map(e=>e.name),a=i.map(e=>e.name),u=[this.table[e6],...t,i[0].table[e6],...a];return e??`${u.join("_")}_fk`}}function e7(e,...n){return e(...n)}function e9(e,n){return`${e[e6]}_${n.join("_")}_unique`}class ne{constructor(e,n){this.name=n,this.columns=e}static [eq]=null;columns;nullsNotDistinctConfig=!1;nullsNotDistinct(){return this.nullsNotDistinctConfig=!0,this}build(e){return new ni(e,this.columns,this.nullsNotDistinctConfig,this.name)}}class nn{static [eq]=null;name;constructor(e){this.name=e}on(...e){return new ne(e,this.name)}}class ni{constructor(e,n,i,t){this.table=e,this.columns=n,this.name=t??e9(this.table,this.columns.map(e=>e.name)),this.nullsNotDistinct=i}static [eq]=null;columns;name;nullsNotDistinct=!1;getName(){return this.name}}function nt(e,n,i){for(let t=n;t<e.length;t++){let a=e[t];if("\\"===a){t++;continue}if('"'===a)return[e.slice(n,t).replace(/\\/g,""),t+1];if(!i&&(","===a||"}"===a))return[e.slice(n,t).replace(/\\/g,""),t]}return[e.slice(n).replace(/\\/g,""),e.length]}class na extends e4{foreignKeyConfigs=[];static [eq]="PgColumnBuilder";array(e){return new ns(this.config.name,this,e)}references(e,n={}){return this.foreignKeyConfigs.push({ref:e,actions:n}),this}unique(e,n){return this.config.isUnique=!0,this.config.uniqueName=e,this.config.uniqueType=n?.nulls,this}generatedAlwaysAs(e){return this.config.generated={as:e,type:"always",mode:"stored"},this}buildForeignKeys(e,n){return this.foreignKeyConfigs.map(({ref:i,actions:t})=>e7((i,t)=>{let a=new e8(()=>({columns:[e],foreignColumns:[i()]}));return t.onUpdate&&a.onUpdate(t.onUpdate),t.onDelete&&a.onDelete(t.onDelete),a.build(n)},i,t))}buildExtraConfigColumn(e){return new no(e,this.config)}}class nu extends e2{constructor(e,n){n.uniqueName||(n.uniqueName=e9(e,[n.name])),super(e,n),this.table=e}static [eq]="PgColumn"}class no extends nu{static [eq]="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 nr{static [eq]=null;constructor(e,n,i,t){this.name=e,this.keyAsName=n,this.type=i,this.indexConfig=t}name;keyAsName;type;indexConfig}class ns extends na{static [eq]="PgArrayBuilder";constructor(e,n,i){super(e,"array","PgArray"),this.config.baseBuilder=n,this.config.size=i}build(e){let n=this.config.baseBuilder.build(e);return new nl(e,this.config,n)}}class nl extends nu{constructor(e,n,i,t){super(e,n),this.baseColumn=i,this.range=t,this.size=n.size}size;static [eq]="PgArray";getSQLType(){return`${this.baseColumn.getSQLType()}[${"number"==typeof this.size?this.size:""}]`}mapFromDriverValue(e){return"string"==typeof e&&(e=function(e){let[n]=function e(n,i=0){let t=[],a=i,u=!1;for(;a<n.length;){let o=n[a];if(","===o){(u||a===i)&&t.push(""),u=!0,a++;continue}if(u=!1,"\\"===o){a+=2;continue}if('"'===o){let[e,i]=nt(n,a+1,!0);t.push(e),a=i;continue}if("}"===o)return[t,a+1];if("{"===o){let[i,u]=e(n,a+1);t.push(i),a=u;continue}let[r,s]=nt(n,a,!1);t.push(r),a=s}return[t,a]}(e,1);return n}(e)),e.map(e=>this.baseColumn.mapFromDriverValue(e))}mapToDriverValue(e,n=!1){let i=e.map(e=>null===e?null:eV(this.baseColumn,nl)?this.baseColumn.mapToDriverValue(e,!0):this.baseColumn.mapToDriverValue(e));return n?i:function e(n){return`{${n.map(n=>Array.isArray(n)?e(n):"string"==typeof n?`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`:`${n}`).join(",")}}`}(i)}}class nh extends na{static [eq]="PgEnumObjectColumnBuilder";constructor(e,n){super(e,"string","PgEnumObjectColumn"),this.config.enum=n}build(e){return new ng(e,this.config)}}class ng extends nu{static [eq]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}let nc=Symbol.for("drizzle:isPgEnum");class nd extends na{static [eq]="PgEnumColumnBuilder";constructor(e,n){super(e,"string","PgEnumColumn"),this.config.enum=n}build(e){return new np(e,this.config)}}class np extends nu{static [eq]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(e,n){super(e,n),this.enum=n.enum}getSQLType(){return this.enum.enumName}}class nf{static [eq]="Subquery";constructor(e,n,i,t=!1,a=[]){this._={brand:"Subquery",sql:e,selectedFields:n,alias:i,isWith:t,usedTables:a}}}class nm extends nf{static [eq]="WithSubquery"}let ny=(i,t)=>e?(n||(n=e.trace.getTracer("drizzle-orm","0.45.1")),e7((e,n)=>n.startActiveSpan(i,n=>{try{return t(n)}catch(i){throw n.setStatus({code:e.SpanStatusCode.ERROR,message:i instanceof Error?i.message:"Unknown error"}),i}finally{n.end()}}),e,n)):t(),nS=Symbol.for("drizzle:ViewBaseConfig"),nb=Symbol.for("drizzle:Schema"),nC=Symbol.for("drizzle:Columns"),nw=Symbol.for("drizzle:ExtraConfigColumns"),nT=Symbol.for("drizzle:OriginalName"),nx=Symbol.for("drizzle:BaseName"),nL=Symbol.for("drizzle:IsAlias"),nE=Symbol.for("drizzle:ExtraConfigBuilder"),nY=Symbol.for("drizzle:IsDrizzleTable");class nD{static [eq]="Table";static Symbol={Name:e6,Schema:nb,OriginalName:nT,Columns:nC,ExtraConfigColumns:nw,BaseName:nx,IsAlias:nL,ExtraConfigBuilder:nE};[e6];[nT];[nb];[nC];[nw];[nx];[nL]=!1;[nY]=!0;[nE]=void 0;constructor(e,n,i){this[e6]=this[nT]=e,this[nb]=n,this[nx]=i}}function nZ(e){return`${e[nb]??"public"}.${e[e6]}`}class nv{static [eq]=null}function nN(e){return null!=e&&"function"==typeof e.getSQL}class nA{static [eq]="StringChunk";value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new nJ([this])}}class nJ{constructor(e){for(let n of(this.queryChunks=e,e))if(eV(n,nD)){let e=n[nD.Symbol.Schema];this.usedTables.push(void 0===e?n[nD.Symbol.Name]:e+"."+n[nD.Symbol.Name])}}static [eq]="SQL";decoder=nM;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return ny("drizzle.buildSQL",n=>{let i=this.buildQueryFromSourceParams(this.queryChunks,e);return n?.setAttributes({"drizzle.query.text":i.sql,"drizzle.query.params":JSON.stringify(i.params)}),i})}buildQueryFromSourceParams(e,n){let i=Object.assign({},n,{inlineParams:n.inlineParams||this.shouldInlineParams,paramStartIndex:n.paramStartIndex||{value:0}}),{casing:t,escapeName:a,escapeParam:u,prepareTyping:o,inlineParams:r,paramStartIndex:s}=i;var l=e.map(e=>{if(eV(e,nA))return{sql:e.value.join(""),params:[]};if(eV(e,nP))return{sql:a(e.value),params:[]};if(void 0===e)return{sql:"",params:[]};if(Array.isArray(e)){let n=[new nA("(")];for(let[i,t]of e.entries())n.push(t),i<e.length-1&&n.push(new nA(", "));return n.push(new nA(")")),this.buildQueryFromSourceParams(n,i)}if(eV(e,nJ))return this.buildQueryFromSourceParams(e.queryChunks,{...i,inlineParams:r||e.shouldInlineParams});if(eV(e,nD)){let n=e[nD.Symbol.Schema],i=e[nD.Symbol.Name];return{sql:void 0===n||e[nL]?a(i):a(n)+"."+a(i),params:[]}}if(eV(e,e2)){let i=t.getColumnCasing(e);if("indexes"===n.invokeSource)return{sql:a(i),params:[]};let u=e.table[nD.Symbol.Schema];return{sql:e.table[nL]||void 0===u?a(e.table[nD.Symbol.Name])+"."+a(i):a(u)+"."+a(e.table[nD.Symbol.Name])+"."+a(i),params:[]}}if(eV(e,nI)){let n=e[nS].schema,i=e[nS].name;return{sql:void 0===n||e[nS].isAlias?a(i):a(n)+"."+a(i),params:[]}}if(eV(e,nX)){if(eV(e.value,n_))return{sql:u(s.value++,e),params:[e],typings:["none"]};let n=null===e.value?null:e.encoder.mapToDriverValue(e.value);if(eV(n,nJ))return this.buildQueryFromSourceParams([n],i);if(r)return{sql:this.mapInlineParam(n,i),params:[]};let t=["none"];return o&&(t=[o(e.encoder)]),{sql:u(s.value++,n),params:[n],typings:t}}return eV(e,n_)?{sql:u(s.value++,e),params:[e],typings:["none"]}:eV(e,nJ.Aliased)&&void 0!==e.fieldAlias?{sql:a(e.fieldAlias),params:[]}:eV(e,nf)?e._.isWith?{sql:a(e._.alias),params:[]}:this.buildQueryFromSourceParams([new nA("("),e._.sql,new nA(") "),new nP(e._.alias)],i):e&&"function"==typeof e&&nc in e&&!0===e[nc]?e.schema?{sql:a(e.schema)+"."+a(e.enumName),params:[]}:{sql:a(e.enumName),params:[]}:nN(e)?e.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([e.getSQL()],i):this.buildQueryFromSourceParams([new nA("("),e.getSQL(),new nA(")")],i):r?{sql:this.mapInlineParam(e,i),params:[]}:{sql:u(s.value++,e),params:[e],typings:["none"]}});let h={sql:"",params:[]};for(let e of l)h.sql+=e.sql,h.params.push(...e.params),e.typings?.length&&(h.typings||(h.typings=[]),h.typings.push(...e.typings));return h}mapInlineParam(e,{escapeString:n}){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return e.toString();if("string"==typeof e)return n(e);if("object"==typeof e){let i=e.toString();return"[object Object]"===i?n(JSON.stringify(e)):n(i)}throw Error("Unexpected param value: "+e)}getSQL(){return this}as(e){return void 0===e?this:new nJ.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 nP{constructor(e){this.value=e}static [eq]="Name";brand;getSQL(){return new nJ([this])}}let nM={mapFromDriverValue:e=>e},nR={mapToDriverValue:e=>e};({...nM,...nR});class nX{constructor(e,n=nR){this.value=e,this.encoder=n}static [eq]="Param";brand;getSQL(){return new nJ([this])}}function nH(e,...n){let i=[];for(let[t,a]of((n.length>0||e.length>0&&""!==e[0])&&i.push(new nA(e[0])),n.entries()))i.push(a,new nA(e[t+1]));return new nJ(i)}(O=nH||(nH={})).empty=function(){return new nJ([])},O.fromList=function(e){return new nJ(e)},O.raw=function(e){return new nJ([new nA(e)])},O.join=function(e,n){let i=[];for(let[t,a]of e.entries())t>0&&void 0!==n&&i.push(n),i.push(a);return new nJ(i)},O.identifier=function(e){return new nP(e)},O.placeholder=function(e){return new n_(e)},O.param=function(e,n){return new nX(e,n)};var nB=nJ||(nJ={});class nk{constructor(e,n){this.sql=e,this.fieldAlias=n}static [eq]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new nk(this.sql,this.fieldAlias)}}nB.Aliased=nk;class n_{constructor(e){this.name=e}static [eq]="Placeholder";getSQL(){return new nJ([this])}}function nF(e,n){return e.map(e=>{if(eV(e,n_)){if(!(e.name in n))throw Error(`No value for placeholder "${e.name}" was provided`);return n[e.name]}if(eV(e,nX)&&eV(e.value,n_)){if(!(e.value.name in n))throw Error(`No value for placeholder "${e.value.name}" was provided`);return e.encoder.mapToDriverValue(n[e.value.name])}return e})}let nQ=Symbol.for("drizzle:IsDrizzleView");class nI{static [eq]="View";[nS];[nQ]=!0;constructor({name:e,schema:n,selectedFields:i,query:t}){this[nS]={name:e,originalName:e,schema:n,selectedFields:i,query:t,isExisting:!t,isAlias:!1}}getSQL(){return new nJ([this])}}e2.prototype.getSQL=function(){return new nJ([this])},nD.prototype.getSQL=function(){return new nJ([this])},nf.prototype.getSQL=function(){return new nJ([this])};class nO{constructor(e){this.table=e}static [eq]="ColumnAliasProxyHandler";get(e,n){return"table"===n?this.table:e[n]}}class nG{constructor(e,n){this.alias=e,this.replaceOriginalName=n}static [eq]="TableAliasProxyHandler";get(e,n){if(n===nD.Symbol.IsAlias)return!0;if(n===nD.Symbol.Name||this.replaceOriginalName&&n===nD.Symbol.OriginalName)return this.alias;if(n===nS)return{...e[nS],name:this.alias,isAlias:!0};if(n===nD.Symbol.Columns){let n=e[nD.Symbol.Columns];if(!n)return n;let i={};return Object.keys(n).map(t=>{i[t]=new Proxy(n[t],new nO(new Proxy(e,this)))}),i}let i=e[n];return eV(i,e2)?new Proxy(i,new nO(new Proxy(e,this))):i}}class nK{constructor(e){this.alias=e}static [eq]=null;get(e,n){return"sourceTable"===n?n$(e.sourceTable,this.alias):e[n]}}function n$(e,n){return new Proxy(e,new nG(n,!1))}function nU(e,n){return new Proxy(e,new nO(new Proxy(e.table,new nG(n,!1))))}function nW(e,n){return new nJ.Aliased(nz(e.sql,n),e.fieldAlias)}function nz(e,n){return nH.join(e.queryChunks.map(e=>eV(e,e2)?nU(e,n):eV(e,nJ)?nz(e,n):eV(e,nJ.Aliased)?nW(e,n):e))}function nj(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map(e=>e.toLowerCase()).join("_")}function nq(e){return(e.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((e,n,i)=>e+(0===i?n.toLowerCase():`${n[0].toUpperCase()}${n.slice(1)}`),"")}function nV(e){return e}class n0{static [eq]="CasingCache";cache={};cachedTables={};convert;constructor(e){this.convert="snake_case"===e?nj:"camelCase"===e?nq:nV}getColumnCasing(e){if(!e.keyAsName)return e.name;let n=e.table[nD.Symbol.Schema]??"public",i=e.table[nD.Symbol.OriginalName],t=`${n}.${i}.${e.name}`;return this.cache[t]||this.cacheTable(e.table),this.cache[t]}cacheTable(e){let n=e[nD.Symbol.Schema]??"public",i=e[nD.Symbol.OriginalName],t=`${n}.${i}`;if(!this.cachedTables[t]){for(let n of Object.values(e[nD.Symbol.Columns])){let e=`${t}.${n.name}`;this.cache[e]=this.convert(n.name)}this.cachedTables[t]=!0}}clearCache(){this.cache={},this.cachedTables={}}}class n1 extends Error{static [eq]="DrizzleError";constructor({message:e,cause:n}){super(e),this.name="DrizzleError",this.cause=n}}class n3 extends Error{constructor(e,n,i){super(`Failed query: ${e}
2
+ params: ${n}`),this.query=e,this.params=n,this.cause=i,Error.captureStackTrace(this,n3),i&&(this.cause=i)}}class n2 extends n1{static [eq]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}class n4 extends na{static [eq]="PgJsonbBuilder";constructor(e){super(e,"json","PgJsonb")}build(e){return new n6(e,this.config)}}class n6 extends nu{static [eq]="PgJsonb";constructor(e,n){super(e,n)}getSQLType(){return"jsonb"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n8 extends na{static [eq]="PgJsonBuilder";constructor(e){super(e,"json","PgJson")}build(e){return new n5(e,this.config)}}class n5 extends nu{static [eq]="PgJson";constructor(e,n){super(e,n)}getSQLType(){return"json"}mapToDriverValue(e){return JSON.stringify(e)}mapFromDriverValue(e){if("string"==typeof e)try{return JSON.parse(e)}catch{}return e}}class n7 extends na{static [eq]="PgNumericBuilder";constructor(e,n,i){super(e,"string","PgNumeric"),this.config.precision=n,this.config.scale=i}build(e){return new n9(e,this.config)}}class n9 extends nu{static [eq]="PgNumeric";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 ie extends na{static [eq]="PgNumericNumberBuilder";constructor(e,n,i){super(e,"number","PgNumericNumber"),this.config.precision=n,this.config.scale=i}build(e){return new ii(e,this.config)}}class ii extends nu{static [eq]="PgNumericNumber";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 it extends na{static [eq]="PgNumericBigIntBuilder";constructor(e,n,i){super(e,"bigint","PgNumericBigInt"),this.config.precision=n,this.config.scale=i}build(e){return new ia(e,this.config)}}class ia extends nu{static [eq]="PgNumericBigInt";precision;scale;constructor(e,n){super(e,n),this.precision=n.precision,this.scale=n.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 iu extends na{static [eq]="PgDateColumnBaseBuilder";defaultNow(){return this.default(nH`now()`)}}class io extends iu{constructor(e,n,i){super(e,"string","PgTime"),this.withTimezone=n,this.precision=i,this.config.withTimezone=n,this.config.precision=i}static [eq]="PgTimeBuilder";build(e){return new ir(e,this.config)}}class ir extends nu{static [eq]="PgTime";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.precision}getSQLType(){let e=void 0===this.precision?"":`(${this.precision})`;return`time${e}${this.withTimezone?" with time zone":""}`}}class is extends iu{static [eq]="PgTimestampBuilder";constructor(e,n,i){super(e,"date","PgTimestamp"),this.config.withTimezone=n,this.config.precision=i}build(e){return new il(e,this.config)}}class il extends nu{static [eq]="PgTimestamp";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 ih extends iu{static [eq]="PgTimestampStringBuilder";constructor(e,n,i){super(e,"string","PgTimestampString"),this.config.withTimezone=n,this.config.precision=i}build(e){return new ig(e,this.config)}}class ig extends nu{static [eq]="PgTimestampString";withTimezone;precision;constructor(e,n){super(e,n),this.withTimezone=n.withTimezone,this.precision=n.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 n=e.toISOString().slice(0,-1).replace("T"," ");if(this.withTimezone){let i=e.getTimezoneOffset();return`${n}${i<=0?"+":"-"}${Math.floor(Math.abs(i)/60).toString().padStart(2,"0")}`}return n}}class ic extends iu{static [eq]="PgDateBuilder";constructor(e){super(e,"date","PgDate")}build(e){return new id(e,this.config)}}class id extends nu{static [eq]="PgDate";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?new Date(e):e}mapToDriverValue(e){return e.toISOString()}}class ip extends iu{static [eq]="PgDateStringBuilder";constructor(e){super(e,"string","PgDateString")}build(e){return new im(e,this.config)}}class im extends nu{static [eq]="PgDateString";getSQLType(){return"date"}mapFromDriverValue(e){return"string"==typeof e?e:e.toISOString().slice(0,-14)}}class iy extends na{static [eq]="PgUUIDBuilder";constructor(e){super(e,"string","PgUUID")}defaultRandom(){return this.default(nH`gen_random_uuid()`)}build(e){return new iS(e,this.config)}}class iS extends nu{static [eq]="PgUUID";getSQLType(){return"uuid"}}let ib=Symbol.for("drizzle:PgInlineForeignKeys"),iC=Symbol.for("drizzle:EnableRLS");class iw extends nD{static [eq]="PgTable";static Symbol=Object.assign({},nD.Symbol,{InlineForeignKeys:ib,EnableRLS:iC});[ib]=[];[iC]=!1;[nD.Symbol.ExtraConfigBuilder]=void 0;[nD.Symbol.ExtraConfigColumns]={}}class iT{static [eq]="PgPrimaryKeyBuilder";columns;name;constructor(e,n){this.columns=e,this.name=n}build(e){return new ix(e,this.columns,this.name)}}class ix{constructor(e,n,i){this.table=e,this.columns=n,this.name=i}static [eq]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[iw.Symbol.Name]}_${this.columns.map(e=>e.name).join("_")}_pk`}}function iL(e,n){return"object"!=typeof n||null===n||!("mapToDriverValue"in n)||"function"!=typeof n.mapToDriverValue||nN(e)||eV(e,nX)||eV(e,n_)||eV(e,e2)||eV(e,nD)||eV(e,nI)?e:new nX(e,n)}let iE=(e,n)=>nH`${e} = ${iL(n,e)}`,iY=(e,n)=>nH`${e} <> ${iL(n,e)}`;function iD(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nJ(1===n.length?n:[new nA("("),nH.join(n,new nA(" and ")),new nA(")")])}function iZ(...e){let n=e.filter(e=>void 0!==e);if(0!==n.length)return new nJ(1===n.length?n:[new nA("("),nH.join(n,new nA(" or ")),new nA(")")])}function iv(e){return nH`not ${e}`}let iN=(e,n)=>nH`${e} > ${iL(n,e)}`,iA=(e,n)=>nH`${e} >= ${iL(n,e)}`,iJ=(e,n)=>nH`${e} < ${iL(n,e)}`,iP=(e,n)=>nH`${e} <= ${iL(n,e)}`;function iM(e,n){return Array.isArray(n)?0===n.length?nH`false`:nH`${e} in ${n.map(n=>iL(n,e))}`:nH`${e} in ${iL(n,e)}`}function iR(e,n){return Array.isArray(n)?0===n.length?nH`true`:nH`${e} not in ${n.map(n=>iL(n,e))}`:nH`${e} not in ${iL(n,e)}`}function iX(e){return nH`${e} is null`}function iH(e){return nH`${e} is not null`}function iB(e){return nH`exists ${e}`}function ik(e){return nH`not exists ${e}`}function i_(e,n,i){return nH`${e} between ${iL(n,e)} and ${iL(i,e)}`}function iF(e,n,i){return nH`${e} not between ${iL(n,e)} and ${iL(i,e)}`}function iQ(e,n){return nH`${e} like ${n}`}function iI(e,n){return nH`${e} not like ${n}`}function iO(e,n){return nH`${e} ilike ${n}`}function iG(e,n){return nH`${e} not ilike ${n}`}function iK(e){return nH`${e} asc`}function i$(e){return nH`${e} desc`}class iU{constructor(e,n,i){this.sourceTable=e,this.referencedTable=n,this.relationName=i,this.referencedTableName=n[nD.Symbol.Name]}static [eq]="Relation";referencedTableName;fieldName}class iW{constructor(e,n){this.table=e,this.config=n}static [eq]="Relations"}class iz extends iU{constructor(e,n,i,t){super(e,n,i?.relationName),this.config=i,this.isNullable=t}static [eq]="One";withFieldName(e){let n=new iz(this.sourceTable,this.referencedTable,this.config,this.isNullable);return n.fieldName=e,n}}class ij extends iU{constructor(e,n,i){super(e,n,i?.relationName),this.config=i}static [eq]="Many";withFieldName(e){let n=new ij(this.sourceTable,this.referencedTable,this.config);return n.fieldName=e,n}}function iq(e){return{one:function(n,i){return new iz(e,n,i,i?.fields.reduce((e,n)=>e&&n.notNull,!0)??!1)},many:function(n,i){return new ij(e,n,i)}}}function iV(e,n){return Object.entries(e).reduce((e,[i,t])=>{if("string"!=typeof i)return e;let a=n?[...n,i]:[i];return eV(t,e2)||eV(t,nJ)||eV(t,nJ.Aliased)||eV(t,nf)?e.push({path:a,field:t}):eV(t,nD)?e.push(...iV(t[nD.Symbol.Columns],a)):e.push(...iV(t,a)),e},[])}function i0(e,n){let i=Object.keys(e),t=Object.keys(n);if(i.length!==t.length)return!1;for(let[e,n]of i.entries())if(n!==t[e])return!1;return!0}function i1(e,n){let i=Object.entries(n).filter(([,e])=>void 0!==e).map(([n,i])=>eV(i,nJ)||eV(i,e2)?[n,i]:[n,new nX(i,e[nD.Symbol.Columns][n])]);if(0===i.length)throw Error("No values to set");return Object.fromEntries(i)}function i3(e){return eV(e,nf)?e._.alias:eV(e,nI)?e[nS].name:eV(e,nJ)?void 0:e[nD.Symbol.IsAlias]?e[nD.Symbol.Name]:e[nD.Symbol.BaseName]}"u"<typeof TextDecoder||new TextDecoder;class i2 extends nI{static [eq]="PgViewBase"}class i4{static [eq]="PgDialect";casing;constructor(e){this.casing=new n0(e?.casing)}async migrate(e,n,i){let t="string"==typeof i?"__drizzle_migrations":i.migrationsTable??"__drizzle_migrations",a="string"==typeof i?"drizzle":i.migrationsSchema??"drizzle",u=nH`
3
3
  CREATE TABLE IF NOT EXISTS ${nH.identifier(a)}.${nH.identifier(t)} (
4
4
  id SERIAL PRIMARY KEY,
5
5
  hash text NOT NULL,
6
6
  created_at bigint
7
7
  )
8
- `;await n.execute(nH`CREATE SCHEMA IF NOT EXISTS ${nH.identifier(a)}`),await n.execute(u);let o=(await n.all(nH`select id, hash, created_at from ${nH.identifier(a)}.${nH.identifier(t)} order by created_at desc limit 1`))[0];await n.transaction(async n=>{for await(let i of e)if(!o||Number(o.created_at)<i.folderMillis){for(let e of i.sql)await n.execute(nH.raw(e));await n.execute(nH`insert into ${nH.identifier(a)}.${nH.identifier(t)} ("hash", "created_at") values(${i.hash}, ${i.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let n=[nH`with `];for(let[i,t]of e.entries())n.push(nH`${nH.identifier(t._.alias)} as (${t._.sql})`),i<e.length-1&&n.push(nH`, `);return n.push(nH` `),nH.join(n)}buildDeleteQuery({table:e,where:n,returning:i,withList:t}){let a=this.buildWithCTE(t),u=i?nH` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,o=n?nH` where ${n}`:void 0;return nH`${a}delete from ${e}${o}${u}`}buildUpdateSet(e,n){let i=e[nD.Symbol.Columns],t=Object.keys(i).filter(e=>void 0!==n[e]||i[e]?.onUpdateFn!==void 0),a=t.length;return nH.join(t.flatMap((e,t)=>{let u=i[e],o=u.onUpdateFn?.(),r=n[e]??(eV(o,nJ)?o:nH.param(o,u)),s=nH`${nH.identifier(this.casing.getColumnCasing(u))} = ${r}`;return t<a-1?[s,nH.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:n,where:i,returning:t,withList:a,from:u,joins:o}){let r=this.buildWithCTE(a),s=e[iw.Symbol.Name],l=e[iw.Symbol.Schema],h=e[iw.Symbol.OriginalName],g=s===h?void 0:s,c=nH`${l?nH`${nH.identifier(l)}.`:void 0}${nH.identifier(h)}${g&&nH` ${nH.identifier(g)}`}`,d=this.buildUpdateSet(e,n),p=u&&nH.join([nH.raw(" from "),this.buildFromTable(u)]),f=this.buildJoins(o),m=t?nH` returning ${this.buildSelection(t,{isSingleTable:!u})}`:void 0,y=i?nH` where ${i}`:void 0;return nH`${r}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:n=!1}={}){let i=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(eV(e,nJ.Aliased)&&e.isSelectionField)a.push(nH.identifier(e.fieldAlias));else if(eV(e,nJ.Aliased)||eV(e,nJ)){let i=eV(e,nJ.Aliased)?e.sql:e;n?a.push(new nJ(i.queryChunks.map(e=>eV(e,nu)?nH.identifier(this.casing.getColumnCasing(e)):e))):a.push(i),eV(e,nJ.Aliased)&&a.push(nH` as ${nH.identifier(e.fieldAlias)}`)}else if(eV(e,e2))n?a.push(nH.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(eV(e,nf)){let n=Object.entries(e._.selectedFields);if(1===n.length){let i=n[0][1],t=eV(i,nJ)?i.decoder:eV(i,e2)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<i-1&&a.push(nH`, `),a});return nH.join(t)}buildJoins(e){if(!e||0===e.length)return;let n=[];for(let[i,t]of e.entries()){0===i&&n.push(nH` `);let a=t.table,u=t.lateral?nH` lateral`:void 0,o=t.on?nH` on ${t.on}`:void 0;if(eV(a,iw)){let e=a[iw.Symbol.Name],i=a[iw.Symbol.Schema],r=a[iw.Symbol.OriginalName],s=e===r?void 0:t.alias;n.push(nH`${nH.raw(t.joinType)} join${u} ${i?nH`${nH.identifier(i)}.`:void 0}${nH.identifier(r)}${s&&nH` ${nH.identifier(s)}`}${o}`)}else if(eV(a,nI)){let e=a[nS].name,i=a[nS].schema,r=a[nS].originalName,s=e===r?void 0:t.alias;n.push(nH`${nH.raw(t.joinType)} join${u} ${i?nH`${nH.identifier(i)}.`:void 0}${nH.identifier(r)}${s&&nH` ${nH.identifier(s)}`}${o}`)}else n.push(nH`${nH.raw(t.joinType)} join${u} ${a}${o}`);i<e.length-1&&n.push(nH` `)}return nH.join(n)}buildFromTable(e){if(eV(e,nD)&&e[nD.Symbol.IsAlias]){let n=nH`${nH.identifier(e[nD.Symbol.OriginalName])}`;return e[nD.Symbol.Schema]&&(n=nH`${nH.identifier(e[nD.Symbol.Schema])}.${n}`),nH`${n} ${nH.identifier(e[nD.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:n,fieldsFlat:i,where:t,having:a,table:u,joins:o,orderBy:r,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=i??iV(n);for(let e of y){let n;if(eV(e.field,e2)&&e.field.table[e6]!==(eV(u,nf)?u._.alias:eV(u,i2)?u[nS].name:eV(u,nJ)?void 0:u[e6])&&(n=e.field.table,!o?.some(({alias:e})=>e===(n[nD.Symbol.IsAlias]?n[e6]:n[nD.Symbol.BaseName])))){let n=e.field.table[e6];throw Error(`Your "${e.path.join("->")}" field references a column "${n}"."${e.field.name}", but the table "${n}" 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?nH` distinct`:nH` distinct on (${nH.join(c.on,nH`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(u),T=this.buildJoins(o),x=t?nH` where ${t}`:void 0,L=a?nH` having ${a}`:void 0;r&&r.length>0&&(f=nH` order by ${nH.join(r,nH`, `)}`),s&&s.length>0&&(m=nH` group by ${nH.join(s,nH`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?nH` limit ${l}`:void 0,Y=h?nH` offset ${h}`:void 0,D=nH.empty();if(g){let e=nH` for ${nH.raw(g.strength)}`;g.config.of&&e.append(nH` of ${nH.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],nH`, `)}`),g.config.noWait?e.append(nH` nowait`):g.config.skipLocked&&e.append(nH` skip locked`),D.append(e)}let Z=nH`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${Y}${D}`;return d.length>0?this.buildSetOperations(Z,d):Z}buildSetOperations(e,n){let[i,...t]=n;if(!i)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:n,isAll:i,rightSelect:t,limit:a,orderBy:u,offset:o}}){let r,s=nH`(${e.getSQL()}) `,l=nH`(${t.getSQL()})`;if(u&&u.length>0){let e=[];for(let n of u)if(eV(n,nu))e.push(nH.identifier(n.name));else if(eV(n,nJ)){for(let e=0;e<n.queryChunks.length;e++){let i=n.queryChunks[e];eV(i,nu)&&(n.queryChunks[e]=nH.identifier(i.name))}e.push(nH`${n}`)}else e.push(nH`${n}`);r=nH` order by ${nH.join(e,nH`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?nH` limit ${a}`:void 0,g=nH.raw(`${n} ${i?"all ":""}`),c=o?nH` offset ${o}`:void 0;return nH`${s}${g}${l}${r}${h}${c}`}buildInsertQuery({table:e,values:n,onConflict:i,returning:t,withList:a,select:u,overridingSystemValue_:o}){let r=[],s=Object.entries(e[nD.Symbol.Columns]).filter(([e,n])=>!n.shouldDisableInsert()),l=s.map(([,e])=>nH.identifier(this.casing.getColumnCasing(e)));if(u)eV(n,nJ)?r.push(n):r.push(n.getSQL());else for(let[e,i]of(r.push(nH.raw("values ")),n.entries())){let t=[];for(let[e,n]of s){let a=i[e];if(void 0===a||eV(a,nX)&&void 0===a.value)if(void 0!==n.defaultFn){let e=n.defaultFn(),i=eV(e,nJ)?e:nH.param(e,n);t.push(i)}else if(n.default||void 0===n.onUpdateFn)t.push(nH`default`);else{let e=n.onUpdateFn(),i=eV(e,nJ)?e:nH.param(e,n);t.push(i)}else t.push(a)}r.push(t),e<n.length-1&&r.push(nH`, `)}let h=this.buildWithCTE(a),g=nH.join(r),c=t?nH` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=i?nH` on conflict ${i}`:void 0,p=!0===o?nH`overriding system value `:void 0;return nH`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:n,withNoData:i}){let t=n?nH` concurrently`:void 0,a=i?nH` with no data`:void 0;return nH`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(eV(e,n6)||eV(e,n5))return"json";if(eV(e,n9))return"decimal";if(eV(e,ir))return"time";if(eV(e,il)||eV(e,ig))return"timestamp";if(eV(e,id)||eV(e,im))return"date";else if(eV(e,iS))return"uuid";else return"none"}sqlToQuery(e,n){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:n})}buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:t,tableConfig:a,queryConfig:u,tableAlias:o,nestedQueryRelation:r,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===u)h=Object.entries(a.columns).map(([e,n])=>({dbKey:n.name,tsKey:e,field:nW(n,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,n])=>[e,nW(n,o)]));if(u.where){let e="function"==typeof u.where?u.where(t,{and:iD,between:iF,eq:iE,exists:iB,gt:iN,gte:iA,ilike:iO,inArray:iM,isNull:iX,isNotNull:iH,like:iQ,lt:iJ,lte:iP,ne:iY,not:iv,notBetween:i_,notExists:ik,notLike:iI,notIlike:iG,notInArray:iR,or:iZ,sql:nH}):u.where;p=e&&nz(e,o)}let r=[],s=[];if(u.columns){let e=!1;for(let[n,i]of Object.entries(u.columns))void 0!==i&&n in a.columns&&(e||!0!==i||(e=!0),s.push(n));s.length>0&&(s=e?s.filter(e=>u.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let n=a.columns[e];r.push({tsKey:e,value:n})}let l=[];if(u.with&&(l=Object.entries(u.with).filter(e=>!!e[1]).map(([e,n])=>({tsKey:e,queryConfig:n,relation:a.relations[e]}))),u.extras)for(let[e,n]of Object.entries("function"==typeof u.extras?u.extras(t,{sql:nH}):u.extras))r.push({tsKey:e,value:nU(n,o)});for(let{tsKey:e,value:n}of r)h.push({dbKey:eV(n,nJ.Aliased)?n.fieldAlias:a.columns[e].name,tsKey:e,field:eV(n,e2)?nW(n,o):n,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof u.orderBy?u.orderBy(t,{sql:nH,asc:iK,desc:i$}):u.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:r}of(Array.isArray(m)||(m=[m]),d=m.map(e=>eV(e,e2)?nW(e,o):nz(e,o)),g=u.limit,c=u.offset,l)){let u=function(e,n,i){if(eV(i,iz)&&i.config)return{fields:i.config.fields,references:i.config.references};let t=n[nZ(i.referencedTable)];if(!t)throw Error(`Table "${i.referencedTable[nD.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let u=i.sourceTable,o=n[nZ(u)];if(!o)throw Error(`Table "${u[nD.Symbol.Name]}" not found in schema`);let r=[];for(let e of Object.values(a.relations))(i.relationName&&i!==e&&e.relationName===i.relationName||!i.relationName&&e.referencedTable===i.sourceTable)&&r.push(e);if(r.length>1)throw i.relationName?Error(`There are multiple relations with name "${i.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${i.sourceTable[nD.Symbol.Name]}". Please specify relation name`);if(r[0]&&eV(r[0],iz)&&r[0].config)return{fields:r[0].config.references,references:r[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${i.fieldName}"`)}(n,i,r),s=i[nZ(r.referencedTable)],l=`${o}_${t}`,g=iD(...u.fields.map((e,n)=>iE(nW(u.references[n],l),nW(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:e[s],tableConfig:n[s],queryConfig:eV(r,iz)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:r}),d=nH`${nH.identifier(l)}.${nH.identifier("data")}`.as(t);f.push({on:nH`true`,table:new nf(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 n1({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=iD(s,p),r){let e=nH`json_build_array(${nH.join(h.map(({field:e,tsKey:n,isJson:i})=>i?nH`${nH.identifier(`${o}_${n}`)}.${nH.identifier("data")}`:eV(e,nJ.Aliased)?e.sql:e),nH`, `)})`;eV(r,ij)&&(e=nH`coalesce(json_agg(${e}${d.length>0?nH` order by ${nH.join(d,nH`, `)}`:void 0}), '[]'::json)`);let n=[{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:n$(t,o),fields:{},fieldsFlat:[{path:[],field:nH.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=n$(t,o),l=this.buildSelectQuery({table:eV(l,iw)?l:new nf(l,{},o),fields:{},fieldsFlat:n.map(({field:e})=>({path:[],field:eV(e,e2)?nW(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:n$(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:eV(e,e2)?nW(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class i6{static [eq]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,n){if("_"===n)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(n===nS)return{...e[nS],selectedFields:new Proxy(e[nS].selectedFields,this)};if("symbol"==typeof n)return e[n];let i=(eV(e,nf)?e._.selectedFields:eV(e,nI)?e[nS].selectedFields:e)[n];if(eV(i,nJ.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;let e=i.clone();return e.isSelectionField=!0,e}if(eV(i,nJ)){if("sql"===this.config.sqlBehavior)return i;throw Error(`You tried to reference "${n}" 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 eV(i,e2)?this.config.alias?new Proxy(i,new nO(new Proxy(i.table,new nG(this.config.alias,this.config.replaceOriginalName??!1)))):i:"object"!=typeof i||null===i?i:new Proxy(i,new i6(this.config))}}class i8{static [eq]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class i5{static [eq]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}then(e,n){return this.execute().then(e,n)}}function i7(e){return eV(e,iw)?[e[nb]?`${e[nb]}.${e[nD.Symbol.BaseName]}`:e[nD.Symbol.BaseName]]:eV(e,nf)?e._.usedTables??[]:eV(e,nJ)?e.usedTables??[]:[]}class i9{static [eq]="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 n,i=!!this.fields;return n=this.fields?this.fields:eV(e,nf)?Object.fromEntries(Object.keys(e._.selectedFields).map(n=>[n,e[n]])):eV(e,i2)?e[nS].selectedFields:eV(e,nJ)?{}:e[nD.Symbol.Columns],new tn({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class te extends i8{static [eq]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:n,isPartialSelect:i,session:t,dialect:a,withList:u,distinct:o}){for(let r of(super(),this.config={withList:u,table:e,fields:{...n},distinct:o,setOperators:[]},this.isPartialSelect=i,this.session=t,this.dialect=a,this._={selectedFields:n,config:this.config},this.tableName=i3(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},i7(e)))this.usedTables.add(r)}getUsedTables(){return[...this.usedTables]}createJoin(e,n){return(i,t)=>{let a=this.tableName,u=i3(i);for(let e of i7(i))this.usedTables.add(e);if("string"==typeof u&&this.config.joins?.some(e=>e.alias===u))throw Error(`Alias "${u}" 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 u&&!eV(i,nJ))){let e=eV(i,nf)?i._.selectedFields:eV(i,nI)?i[nS].selectedFields:i[nD.Symbol.Columns];this.config.fields[u]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:i,joinType:e,alias:u,lateral:n}),"string"==typeof u)switch(e){case"left":this.joinsNotNullableMap[u]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[u]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!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,n){return i=>{let t="function"==typeof i?i(tt()):i;if(!i0(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:n,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 i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(n)?n:[n]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(n)?n:[n];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}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,n={}){return this.config.lockingClause={strength:e,config:n},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}as(e){let n=[];if(n.push(...i7(this.config.table)),this.config.joins)for(let e of this.config.joins)n.push(...i7(e.table));return new Proxy(new nf(this.getSQL(),this.config.fields,e,!1,[...new Set(n)]),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new i6({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 tn extends te{static [eq]="PgSelect";_prepare(e){let{session:n,config:i,dialect:t,joinsNotNullableMap:a,authToken:u,cacheConfig:o,usedTables:r}=this;if(!n)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=i;return ny("drizzle.prepareQuery",()=>{let i=iV(s),l=n.prepareQuery(t.sqlToQuery(this.getSQL()),i,e,!0,void 0,{type:"select",tables:[...r]},o);return l.joinsNotNullableMap=a,l.setToken(u)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}for(let e of[i5])for(let n of Object.getOwnPropertyNames(e.prototype))"constructor"!==n&&Object.defineProperty(tn.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n)||Object.create(null));function ti(e,n){return(i,t,...a)=>{let u=[t,...a].map(i=>({type:e,isAll:n,rightSelect:i}));for(let e of u)if(!i0(i.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 i.addSetOperators(u)}}let tt=()=>({union:ta,unionAll:tu,intersect:to,intersectAll:tr,except:ts,exceptAll:tl}),ta=ti("union",!1),tu=ti("union",!0),to=ti("intersect",!1),tr=ti("intersect",!0),ts=ti("except",!1),tl=ti("except",!0);class th{static [eq]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=eV(e,i4)?e:void 0,this.dialectConfig=eV(e,i4)?void 0:e}$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(i)),new Proxy(new nm(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let n=this;return{select:function(i){return new i9({fields:i??void 0,session:void 0,dialect:n.getDialect(),withList:e})},selectDistinct:function(e){return new i9({fields:e??void 0,session:void 0,dialect:n.getDialect(),distinct:!0})},selectDistinctOn:function(e,i){return new i9({fields:i??void 0,session:void 0,dialect:n.getDialect(),distinct:{on:e}})}}}select(e){return new i9({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new i9({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,n){return new i9({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new i4(this.dialectConfig)),this.dialect}}class tg{constructor(e,n,i,t){this.table=e,this.session=n,this.dialect=i,this.withList=t}static [eq]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new tc(this.table,i1(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class tc extends i5{constructor(e,n,i,t,a){super(),this.session=i,this.dialect=t,this.config={set:n,table:e,withList:a,joins:[]},this.tableName=i3(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eq]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let n=i3(e);return"string"==typeof n&&(this.joinsNotNullableMap[n]=!0),this.config.from=e,this}getTableLikeFields(e){return eV(e,iw)?e[nD.Symbol.Columns]:eV(e,nf)?e._.selectedFields:e[nS].selectedFields}createJoin(e){return(n,i)=>{let t=i3(n);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 i){let e=this.config.from&&!eV(this.config.from,nJ)?this.getTableLikeFields(this.config.from):void 0;i=i(new Proxy(this.config.table[nD.Symbol.Columns],new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:i,table:n,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[nD.Symbol.Columns]),this.config.from)){let n=i3(this.config.from);if("string"==typeof n&&this.config.from&&!eV(this.config.from,nJ)){let i=this.getTableLikeFields(this.config.from);e[n]=i}for(let n of this.config.joins){let i=i3(n.table);if("string"==typeof i&&!eV(n.table,nJ)){let t=this.getTableLikeFields(n.table);e[i]=t}}}return this.config.returningFields=e,this.config.returning=iV(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){let n=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i7(this.config.table)},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}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 i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class td{constructor(e,n,i,t,a){this.table=e,this.session=n,this.dialect=i,this.withList=t,this.overridingSystemValue_=a}static [eq]="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 n=e.map(e=>{let n={},i=this.table[nD.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];n[t]=eV(a,nJ)?a:new nX(a,i[t])}return n});return new tp(this.table,n,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let n="function"==typeof e?e(new th):e;if(!eV(n,nJ)&&!i0(this.table[nC],n._.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 tp(this.table,n,this.session,this.dialect,this.withList,!0)}}class tp extends i5{constructor(e,n,i,t,a,u,o){super(),this.session=i,this.dialect=t,this.config={table:e,values:n,withList:a,select:u,overridingSystemValue_:o}}static [eq]="PgInsert";config;cacheConfig;returning(e=this.config.table[nD.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iV(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=nH`do nothing`;else{let n="";n=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 i=e.where?nH` where ${e.where}`:void 0;this.config.onConflict=nH`(${nH.raw(n)})${i} 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 n=e.where?nH` where ${e.where}`:void 0,i=e.targetWhere?nH` where ${e.targetWhere}`:void 0,t=e.setWhere?nH` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,i1(this.config.table,e.set)),u="";return u=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=nH`(${nH.raw(u)})${i} do update set ${a}${n}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i7(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class tf extends i5{constructor(e,n,i,t){super(),this.session=n,this.dialect=i,this.config={table:e,withList:t}}static [eq]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[nD.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iV(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:i7(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class tm extends nJ{constructor(e){super(tm.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=tm.buildCount(e.source,e.filters)}sql;token;static [eq]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,n){return nH`(select count(*) from ${e}${nH.raw(" where ").if(n)}${n})`}static buildCount(e,n){return nH`select count(*) as count from ${e}${nH.raw(" where ").if(n)}${n};`}setToken(e){return this.token=e,this}then(e,n){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,n)}catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}}class ty{constructor(e,n,i,t,a,u,o){this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o}static [eq]="PgRelationalQueryBuilder";findMany(e){return new tS(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new tS(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class tS extends i5{constructor(e,n,i,t,a,u,o,r,s){super(),this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o,this.config=r,this.mode=s}static [eq]="PgRelationalQuery";_prepare(e){return ny("drizzle.prepareQuery",()=>{let{query:n,builtQuery:i}=this._toSQL();return this.session.prepareQuery(i,void 0,e,!0,(e,i)=>{let t=e.map(e=>(function e(n,i,t,a,u=e=>e){let o={};for(let[r,s]of a.entries())if(s.isJson){let a=i.relations[s.tsKey],l=t[r],h="string"==typeof l?JSON.parse(l):l;o[s.tsKey]=eV(a,iz)?h&&e(n,n[s.relationTableTsKey],h,s.selection,u):h.map(i=>e(n,n[s.relationTableTsKey],i,s.selection,u))}else{let e,n=u(t[r]),i=s.field;e=eV(i,e2)?i:eV(i,nJ)?i.decoder:i.sql.decoder,o[s.tsKey]=null===n?null:e.mapFromDriverValue(n)}return o})(this.schema,this.tableConfig,e,n.selection,i));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(),n=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:n}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ny("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class tb extends i5{constructor(e,n,i,t){super(),this.execute=e,this.sql=n,this.query=i,this.mapBatchResult=t}static [eq]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,n){return n?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class tC extends i5{constructor(e,n,i){super(),this.session=n,this.dialect=i,this.config={view:e}}static [eq]="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,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("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=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class tw{constructor(e,n,i){if(this.dialect=e,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap,session:n}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:n},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new ty(i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[t],a,e,n);this.$cache={invalidate:async e=>{}}}static [eq]="PgDatabase";query;$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(new th(i.dialect))),new Proxy(new nm(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,n){return new tm({source:e,filters:n,session:this.session})}$cache;with(...e){let n=this;return{select:function(i){return new i9({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e})},selectDistinct:function(i){return new i9({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:!0})},selectDistinctOn:function(i,t){return new i9({fields:t??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:{on:i}})},update:function(i){return new tg(i,n.session,n.dialect,e)},insert:function(i){return new td(i,n.session,n.dialect,e)},delete:function(i){return new tf(i,n.session,n.dialect,e)}}}select(e){return new i9({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new i9({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,n){return new i9({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new tg(e,this.session,this.dialect)}insert(e){return new td(e,this.session,this.dialect)}delete(e){return new tf(e,this.session,this.dialect)}refreshMaterializedView(e){return new tC(e,this.session,this.dialect)}authToken;execute(e){let n="string"==typeof e?nH.raw(e):e.getSQL(),i=this.dialect.sqlToQuery(n),t=this.session.prepareQuery(i,void 0,void 0,!1);return new tb(()=>t.execute(void 0,this.authToken),n,i,e=>t.mapResult(e,!0))}transaction(e,n){return this.session.transaction(e,n)}}class tT{static [eq]="Cache"}class tx extends tT{strategy(){return"all"}static [eq]="NoopCache";async get(e){}async put(e,n,i,t){}async onMutate(e){}}async function tL(e,n){let i=`${e}-${JSON.stringify(n)}`,t=new TextEncoder().encode(i);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class tE{constructor(e,n,i,t){this.query=e,this.cache=n,this.queryMetadata=i,this.cacheConfig=t,n&&"all"===n.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,n){return e}setToken(e){return this.authToken=e,this}static [eq]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||eV(this.cache,tx)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(i){throw new n3(e,n,i)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(i){throw new n3(e,n,i)}if(!this.cacheConfig)try{return await i()}catch(i){throw new n3(e,n,i)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await tL(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(i){throw new n3(e,n,i)}return await this.cache.put(this.cacheConfig.tag??await tL(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(i){throw new n3(e,n,i)}}}class tY{constructor(e){this.dialect=e}static [eq]="PgSession";execute(e,n){return ny("drizzle.operation",()=>ny("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(n).execute(void 0,n))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,n){return Number((await this.execute(e,n))[0].count)}}class tD extends tw{constructor(e,n,i,t=0){super(e,n,i),this.schema=i,this.nestedIndex=t}static [eq]="PgTransaction";rollback(){throw new n2}getTransactionConfigSQL(e){let n=[];return e.isolationLevel&&n.push(`isolation level ${e.isolationLevel}`),e.accessMode&&n.push(e.accessMode),"boolean"==typeof e.deferrable&&n.push(e.deferrable?"deferrable":"not deferrable"),nH.raw(n.join(" "))}setTransaction(e){return this.session.execute(nH`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:tZ,types:tv}=E;class tN extends tE{constructor(e,n,i,t,a,u,o,r,s,l,h){super({sql:n,params:i},a,u,o),this.client=e,this.queryString=n,this.params=i,this.logger=t,this.fields=r,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:n,types:{getTypeParser:(e,n)=>e===tv.builtins.TIMESTAMPTZ||e===tv.builtins.TIMESTAMP||e===tv.builtins.DATE||e===tv.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tv.getTypeParser(e,n)}},this.queryConfig={name:s,text:n,rowMode:"array",types:{getTypeParser:(e,n)=>e===tv.builtins.TIMESTAMPTZ||e===tv.builtins.TIMESTAMP||e===tv.builtins.DATE||e===tv.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tv.getTypeParser(e,n)}}}static [eq]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ny("drizzle.execute",async()=>{let n=n_(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,n);let{fields:i,rawQueryConfig:t,client:a,queryConfig:u,joinsNotNullableMap:o,customResultMapper:r}=this;if(!i&&!r)return ny("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(t.text,n,async()=>await a.query(t,n))));let s=await ny("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":u.name,"drizzle.query.text":u.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(u.text,n,async()=>await a.query(u,n))));return ny("drizzle.mapResponse",()=>r?r(s.rows):s.rows.map(e=>(function(e,n,i){let t={},a=e.reduce((e,{path:a,field:u},o)=>{let r;r=eV(u,e2)?u:eV(u,nJ)?u.decoder:eV(u,nf)?u._.sql.decoder:u.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=n[o],h=s[l]=null===e?null:r.mapFromDriverValue(e);if(i&&eV(u,e2)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==u.table[e6]&&(t[e]=!1):t[e]=null===h&&u.table[e6]}}return e},{});if(i&&Object.keys(t).length>0)for(let[e,n]of Object.entries(t))"string"!=typeof n||i[n]||(a[e]=null);return a})(i,e,o)))})}all(e={}){return ny("drizzle.execute",()=>{let n=n_(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,n),ny("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(this.rawQueryConfig.text,n,async()=>this.client.query(this.rawQueryConfig,n)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class tA extends tY{constructor(e,n,i,t={}){super(n),this.client=e,this.schema=i,this.options=t,this.logger=t.logger??new e3,this.cache=t.cache??new tx}static [eq]="NodePgSession";logger;cache;prepareQuery(e,n,i,t,a,u,o){return new tN(this.client,e.sql,e.params,this.logger,this.cache,u,o,n,i,t,a)}async transaction(e,n){let i=this.client instanceof tZ||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=i?new tA(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new tJ(this.dialect,t,this.schema);await a.execute(nH`begin${n?nH` ${a.getTransactionConfigSQL(n)}`:void 0}`);try{let n=await e(a);return await a.execute(nH`commit`),n}catch(e){throw await a.execute(nH`rollback`),e}finally{i&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class tJ extends tD{static [eq]="NodePgTransaction";async transaction(e){let n=`sp${this.nestedIndex+1}`,i=new tJ(this.dialect,this.session,this.schema,this.nestedIndex+1);await i.execute(nH.raw(`savepoint ${n}`));try{let t=await e(i);return await i.execute(nH.raw(`release savepoint ${n}`)),t}catch(e){throw await i.execute(nH.raw(`rollback to savepoint ${n}`)),e}}}class tP{constructor(e,n,i={}){this.client=e,this.dialect=n,this.options=i}static [eq]="NodePgDriver";createSession(e){return new tA(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class tM extends tw{static [eq]="NodePgDatabase"}function tR(e,n={}){let i,t,a=new i4({casing:n.casing});if(!0===n.logger?i=new e1:!1!==n.logger&&(i=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!eV(e.default,nD)&&(e=e.default);let i={},t={},a={};for(let[u,o]of Object.entries(e))if(eV(o,nD)){let e=nZ(o),n=t[e];for(let t of(i[e]=u,a[u]={tsName:u,dbName:o[nD.Symbol.Name],schema:o[nD.Symbol.Schema],columns:o[nD.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(o[nD.Symbol.Columns])))t.primary&&a[u].primaryKey.push(t);let r=o[nD.Symbol.ExtraConfigBuilder]?.(o[nD.Symbol.ExtraConfigColumns]);if(r)for(let e of Object.values(r))eV(e,iT)&&a[u].primaryKey.push(...e.columns)}else if(eV(o,iU)){let e,u=nZ(o.table),r=i[u];for(let[i,s]of Object.entries(o.config(n(o.table))))if(r){let n=a[r];n.relations[i]=s,e&&n.primaryKey.push(...e)}else u in t||(t[u]={relations:{},primaryKey:e}),t[u].relations[i]=s}return{tables:a,tableNamesMap:i}}(n.schema,iq);t={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new tP(e,a,{logger:i,cache:n.cache}).createSession(t),o=new tM(a,u,t);return o.$client=e,o.$cache=n.cache,o.$cache&&(o.$cache.invalidate=n.cache?.onMutate),o}function tX(...e){if("string"==typeof e[0])return tR(new E.Pool({connectionString:e[0]}),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let n=typeof e.logger;return"boolean"===n||"object"===n&&"function"==typeof e.logger.logQuery||"undefined"===n}if("schema"in e){let n=typeof e.schema;return"object"===n||"undefined"===n}if("casing"in e){let n=typeof e.casing;return"string"===n||"undefined"===n}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let n=typeof e.connection;return"string"===n||"object"===n||"undefined"===n}if("client"in e){let n=typeof e.client;return"object"===n||"function"===n||"undefined"===n}return 0===Object.keys(e).length}(e[0])){let{connection:n,client:i,...t}=e[0];return i?tR(i,t):tR(new E.Pool("string"==typeof n?{connectionString:n}:n),t)}return tR(e[0],e[1])}(tX||(tX={})).mock=function(e){return tR({},e)};class tH{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 tB=!1;function tk(){if(!tB&&!process.env.PGDATABASE_URL)try{try{if(b("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){tB=!0;return}}catch{}let e=`
8
+ `;await n.execute(nH`CREATE SCHEMA IF NOT EXISTS ${nH.identifier(a)}`),await n.execute(u);let o=(await n.all(nH`select id, hash, created_at from ${nH.identifier(a)}.${nH.identifier(t)} order by created_at desc limit 1`))[0];await n.transaction(async n=>{for await(let i of e)if(!o||Number(o.created_at)<i.folderMillis){for(let e of i.sql)await n.execute(nH.raw(e));await n.execute(nH`insert into ${nH.identifier(a)}.${nH.identifier(t)} ("hash", "created_at") values(${i.hash}, ${i.folderMillis})`)}})}escapeName(e){return`"${e}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,"''")}'`}buildWithCTE(e){if(!e?.length)return;let n=[nH`with `];for(let[i,t]of e.entries())n.push(nH`${nH.identifier(t._.alias)} as (${t._.sql})`),i<e.length-1&&n.push(nH`, `);return n.push(nH` `),nH.join(n)}buildDeleteQuery({table:e,where:n,returning:i,withList:t}){let a=this.buildWithCTE(t),u=i?nH` returning ${this.buildSelection(i,{isSingleTable:!0})}`:void 0,o=n?nH` where ${n}`:void 0;return nH`${a}delete from ${e}${o}${u}`}buildUpdateSet(e,n){let i=e[nD.Symbol.Columns],t=Object.keys(i).filter(e=>void 0!==n[e]||i[e]?.onUpdateFn!==void 0),a=t.length;return nH.join(t.flatMap((e,t)=>{let u=i[e],o=u.onUpdateFn?.(),r=n[e]??(eV(o,nJ)?o:nH.param(o,u)),s=nH`${nH.identifier(this.casing.getColumnCasing(u))} = ${r}`;return t<a-1?[s,nH.raw(", ")]:[s]}))}buildUpdateQuery({table:e,set:n,where:i,returning:t,withList:a,from:u,joins:o}){let r=this.buildWithCTE(a),s=e[iw.Symbol.Name],l=e[iw.Symbol.Schema],h=e[iw.Symbol.OriginalName],g=s===h?void 0:s,c=nH`${l?nH`${nH.identifier(l)}.`:void 0}${nH.identifier(h)}${g&&nH` ${nH.identifier(g)}`}`,d=this.buildUpdateSet(e,n),p=u&&nH.join([nH.raw(" from "),this.buildFromTable(u)]),f=this.buildJoins(o),m=t?nH` returning ${this.buildSelection(t,{isSingleTable:!u})}`:void 0,y=i?nH` where ${i}`:void 0;return nH`${r}update ${c} set ${d}${p}${f}${y}${m}`}buildSelection(e,{isSingleTable:n=!1}={}){let i=e.length,t=e.flatMap(({field:e},t)=>{let a=[];if(eV(e,nJ.Aliased)&&e.isSelectionField)a.push(nH.identifier(e.fieldAlias));else if(eV(e,nJ.Aliased)||eV(e,nJ)){let i=eV(e,nJ.Aliased)?e.sql:e;n?a.push(new nJ(i.queryChunks.map(e=>eV(e,nu)?nH.identifier(this.casing.getColumnCasing(e)):e))):a.push(i),eV(e,nJ.Aliased)&&a.push(nH` as ${nH.identifier(e.fieldAlias)}`)}else if(eV(e,e2))n?a.push(nH.identifier(this.casing.getColumnCasing(e))):a.push(e);else if(eV(e,nf)){let n=Object.entries(e._.selectedFields);if(1===n.length){let i=n[0][1],t=eV(i,nJ)?i.decoder:eV(i,e2)?{mapFromDriverValue:e=>i.mapFromDriverValue(e)}:i.sql.decoder;t&&(e._.sql.decoder=t)}a.push(e)}return t<i-1&&a.push(nH`, `),a});return nH.join(t)}buildJoins(e){if(!e||0===e.length)return;let n=[];for(let[i,t]of e.entries()){0===i&&n.push(nH` `);let a=t.table,u=t.lateral?nH` lateral`:void 0,o=t.on?nH` on ${t.on}`:void 0;if(eV(a,iw)){let e=a[iw.Symbol.Name],i=a[iw.Symbol.Schema],r=a[iw.Symbol.OriginalName],s=e===r?void 0:t.alias;n.push(nH`${nH.raw(t.joinType)} join${u} ${i?nH`${nH.identifier(i)}.`:void 0}${nH.identifier(r)}${s&&nH` ${nH.identifier(s)}`}${o}`)}else if(eV(a,nI)){let e=a[nS].name,i=a[nS].schema,r=a[nS].originalName,s=e===r?void 0:t.alias;n.push(nH`${nH.raw(t.joinType)} join${u} ${i?nH`${nH.identifier(i)}.`:void 0}${nH.identifier(r)}${s&&nH` ${nH.identifier(s)}`}${o}`)}else n.push(nH`${nH.raw(t.joinType)} join${u} ${a}${o}`);i<e.length-1&&n.push(nH` `)}return nH.join(n)}buildFromTable(e){if(eV(e,nD)&&e[nD.Symbol.IsAlias]){let n=nH`${nH.identifier(e[nD.Symbol.OriginalName])}`;return e[nD.Symbol.Schema]&&(n=nH`${nH.identifier(e[nD.Symbol.Schema])}.${n}`),nH`${n} ${nH.identifier(e[nD.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:n,fieldsFlat:i,where:t,having:a,table:u,joins:o,orderBy:r,groupBy:s,limit:l,offset:h,lockingClause:g,distinct:c,setOperators:d}){let p,f,m,y=i??iV(n);for(let e of y){let n;if(eV(e.field,e2)&&e.field.table[e6]!==(eV(u,nf)?u._.alias:eV(u,i2)?u[nS].name:eV(u,nJ)?void 0:u[e6])&&(n=e.field.table,!o?.some(({alias:e})=>e===(n[nD.Symbol.IsAlias]?n[e6]:n[nD.Symbol.BaseName])))){let n=e.field.table[e6];throw Error(`Your "${e.path.join("->")}" field references a column "${n}"."${e.field.name}", but the table "${n}" 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?nH` distinct`:nH` distinct on (${nH.join(c.on,nH`, `)})`);let C=this.buildSelection(y,{isSingleTable:S}),w=this.buildFromTable(u),T=this.buildJoins(o),x=t?nH` where ${t}`:void 0,L=a?nH` having ${a}`:void 0;r&&r.length>0&&(f=nH` order by ${nH.join(r,nH`, `)}`),s&&s.length>0&&(m=nH` group by ${nH.join(s,nH`, `)}`);let E="object"==typeof l||"number"==typeof l&&l>=0?nH` limit ${l}`:void 0,Y=h?nH` offset ${h}`:void 0,D=nH.empty();if(g){let e=nH` for ${nH.raw(g.strength)}`;g.config.of&&e.append(nH` of ${nH.join(Array.isArray(g.config.of)?g.config.of:[g.config.of],nH`, `)}`),g.config.noWait?e.append(nH` nowait`):g.config.skipLocked&&e.append(nH` skip locked`),D.append(e)}let Z=nH`${b}select${p} ${C} from ${w}${T}${x}${m}${L}${f}${E}${Y}${D}`;return d.length>0?this.buildSetOperations(Z,d):Z}buildSetOperations(e,n){let[i,...t]=n;if(!i)throw Error("Cannot pass undefined values to any set operator");return 0===t.length?this.buildSetOperationQuery({leftSelect:e,setOperator:i}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:i}),t)}buildSetOperationQuery({leftSelect:e,setOperator:{type:n,isAll:i,rightSelect:t,limit:a,orderBy:u,offset:o}}){let r,s=nH`(${e.getSQL()}) `,l=nH`(${t.getSQL()})`;if(u&&u.length>0){let e=[];for(let n of u)if(eV(n,nu))e.push(nH.identifier(n.name));else if(eV(n,nJ)){for(let e=0;e<n.queryChunks.length;e++){let i=n.queryChunks[e];eV(i,nu)&&(n.queryChunks[e]=nH.identifier(i.name))}e.push(nH`${n}`)}else e.push(nH`${n}`);r=nH` order by ${nH.join(e,nH`, `)} `}let h="object"==typeof a||"number"==typeof a&&a>=0?nH` limit ${a}`:void 0,g=nH.raw(`${n} ${i?"all ":""}`),c=o?nH` offset ${o}`:void 0;return nH`${s}${g}${l}${r}${h}${c}`}buildInsertQuery({table:e,values:n,onConflict:i,returning:t,withList:a,select:u,overridingSystemValue_:o}){let r=[],s=Object.entries(e[nD.Symbol.Columns]).filter(([e,n])=>!n.shouldDisableInsert()),l=s.map(([,e])=>nH.identifier(this.casing.getColumnCasing(e)));if(u)eV(n,nJ)?r.push(n):r.push(n.getSQL());else for(let[e,i]of(r.push(nH.raw("values ")),n.entries())){let t=[];for(let[e,n]of s){let a=i[e];if(void 0===a||eV(a,nX)&&void 0===a.value)if(void 0!==n.defaultFn){let e=n.defaultFn(),i=eV(e,nJ)?e:nH.param(e,n);t.push(i)}else if(n.default||void 0===n.onUpdateFn)t.push(nH`default`);else{let e=n.onUpdateFn(),i=eV(e,nJ)?e:nH.param(e,n);t.push(i)}else t.push(a)}r.push(t),e<n.length-1&&r.push(nH`, `)}let h=this.buildWithCTE(a),g=nH.join(r),c=t?nH` returning ${this.buildSelection(t,{isSingleTable:!0})}`:void 0,d=i?nH` on conflict ${i}`:void 0,p=!0===o?nH`overriding system value `:void 0;return nH`${h}insert into ${e} ${l} ${p}${g}${d}${c}`}buildRefreshMaterializedViewQuery({view:e,concurrently:n,withNoData:i}){let t=n?nH` concurrently`:void 0,a=i?nH` with no data`:void 0;return nH`refresh materialized view${t} ${e}${a}`}prepareTyping(e){if(eV(e,n6)||eV(e,n5))return"json";if(eV(e,n9))return"decimal";if(eV(e,ir))return"time";if(eV(e,il)||eV(e,ig))return"timestamp";if(eV(e,id)||eV(e,im))return"date";else if(eV(e,iS))return"uuid";else return"none"}sqlToQuery(e,n){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:n})}buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:t,tableConfig:a,queryConfig:u,tableAlias:o,nestedQueryRelation:r,joinOn:s}){let l,h=[],g,c,d=[],p,f=[];if(!0===u)h=Object.entries(a.columns).map(([e,n])=>({dbKey:n.name,tsKey:e,field:nU(n,o),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let t=Object.fromEntries(Object.entries(a.columns).map(([e,n])=>[e,nU(n,o)]));if(u.where){let e="function"==typeof u.where?u.where(t,{and:iD,between:i_,eq:iE,exists:iB,gt:iN,gte:iA,ilike:iO,inArray:iM,isNull:iX,isNotNull:iH,like:iQ,lt:iJ,lte:iP,ne:iY,not:iv,notBetween:iF,notExists:ik,notLike:iI,notIlike:iG,notInArray:iR,or:iZ,sql:nH}):u.where;p=e&&nz(e,o)}let r=[],s=[];if(u.columns){let e=!1;for(let[n,i]of Object.entries(u.columns))void 0!==i&&n in a.columns&&(e||!0!==i||(e=!0),s.push(n));s.length>0&&(s=e?s.filter(e=>u.columns?.[e]===!0):Object.keys(a.columns).filter(e=>!s.includes(e)))}else s=Object.keys(a.columns);for(let e of s){let n=a.columns[e];r.push({tsKey:e,value:n})}let l=[];if(u.with&&(l=Object.entries(u.with).filter(e=>!!e[1]).map(([e,n])=>({tsKey:e,queryConfig:n,relation:a.relations[e]}))),u.extras)for(let[e,n]of Object.entries("function"==typeof u.extras?u.extras(t,{sql:nH}):u.extras))r.push({tsKey:e,value:nW(n,o)});for(let{tsKey:e,value:n}of r)h.push({dbKey:eV(n,nJ.Aliased)?n.fieldAlias:a.columns[e].name,tsKey:e,field:eV(n,e2)?nU(n,o):n,relationTableTsKey:void 0,isJson:!1,selection:[]});let m="function"==typeof u.orderBy?u.orderBy(t,{sql:nH,asc:iK,desc:i$}):u.orderBy??[];for(let{tsKey:t,queryConfig:a,relation:r}of(Array.isArray(m)||(m=[m]),d=m.map(e=>eV(e,e2)?nU(e,o):nz(e,o)),g=u.limit,c=u.offset,l)){let u=function(e,n,i){if(eV(i,iz)&&i.config)return{fields:i.config.fields,references:i.config.references};let t=n[nZ(i.referencedTable)];if(!t)throw Error(`Table "${i.referencedTable[nD.Symbol.Name]}" not found in schema`);let a=e[t];if(!a)throw Error(`Table "${t}" not found in schema`);let u=i.sourceTable,o=n[nZ(u)];if(!o)throw Error(`Table "${u[nD.Symbol.Name]}" not found in schema`);let r=[];for(let e of Object.values(a.relations))(i.relationName&&i!==e&&e.relationName===i.relationName||!i.relationName&&e.referencedTable===i.sourceTable)&&r.push(e);if(r.length>1)throw i.relationName?Error(`There are multiple relations with name "${i.relationName}" in table "${t}"`):Error(`There are multiple relations between "${t}" and "${i.sourceTable[nD.Symbol.Name]}". Please specify relation name`);if(r[0]&&eV(r[0],iz)&&r[0].config)return{fields:r[0].config.references,references:r[0].config.fields};throw Error(`There is not enough information to infer relation "${o}.${i.fieldName}"`)}(n,i,r),s=i[nZ(r.referencedTable)],l=`${o}_${t}`,g=iD(...u.fields.map((e,n)=>iE(nU(u.references[n],l),nU(e,o)))),c=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:n,tableNamesMap:i,table:e[s],tableConfig:n[s],queryConfig:eV(r,iz)?!0===a?{limit:1}:{...a,limit:1}:a,tableAlias:l,joinOn:g,nestedQueryRelation:r}),d=nH`${nH.identifier(l)}.${nH.identifier("data")}`.as(t);f.push({on:nH`true`,table:new nf(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 n1({message:`No fields selected for table "${a.tsName}" ("${o}")`});if(p=iD(s,p),r){let e=nH`json_build_array(${nH.join(h.map(({field:e,tsKey:n,isJson:i})=>i?nH`${nH.identifier(`${o}_${n}`)}.${nH.identifier("data")}`:eV(e,nJ.Aliased)?e.sql:e),nH`, `)})`;eV(r,ij)&&(e=nH`coalesce(json_agg(${e}${d.length>0?nH` order by ${nH.join(d,nH`, `)}`:void 0}), '[]'::json)`);let n=[{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:n$(t,o),fields:{},fieldsFlat:[{path:[],field:nH.raw("*")}],where:p,limit:g,offset:c,orderBy:d,setOperators:[]}),p=void 0,g=void 0,c=void 0,d=[]):l=n$(t,o),l=this.buildSelectQuery({table:eV(l,iw)?l:new nf(l,{},o),fields:{},fieldsFlat:n.map(({field:e})=>({path:[],field:eV(e,e2)?nU(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]})}else l=this.buildSelectQuery({table:n$(t,o),fields:{},fieldsFlat:h.map(({field:e})=>({path:[],field:eV(e,e2)?nU(e,o):e})),joins:f,where:p,limit:g,offset:c,orderBy:d,setOperators:[]});return{tableTsKey:a.tsName,sql:l,selection:h}}}class i6{static [eq]="SelectionProxyHandler";config;constructor(e){this.config={...e}}get(e,n){if("_"===n)return{...e._,selectedFields:new Proxy(e._.selectedFields,this)};if(n===nS)return{...e[nS],selectedFields:new Proxy(e[nS].selectedFields,this)};if("symbol"==typeof n)return e[n];let i=(eV(e,nf)?e._.selectedFields:eV(e,nI)?e[nS].selectedFields:e)[n];if(eV(i,nJ.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!i.isSelectionField)return i.sql;let e=i.clone();return e.isSelectionField=!0,e}if(eV(i,nJ)){if("sql"===this.config.sqlBehavior)return i;throw Error(`You tried to reference "${n}" 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 eV(i,e2)?this.config.alias?new Proxy(i,new nO(new Proxy(i.table,new nG(this.config.alias,this.config.replaceOriginalName??!1)))):i:"object"!=typeof i||null===i?i:new Proxy(i,new i6(this.config))}}class i8{static [eq]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}class i5{static [eq]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}then(e,n){return this.execute().then(e,n)}}function i7(e){return eV(e,iw)?[e[nb]?`${e[nb]}.${e[nD.Symbol.BaseName]}`:e[nD.Symbol.BaseName]]:eV(e,nf)?e._.usedTables??[]:eV(e,nJ)?e.usedTables??[]:[]}class i9{static [eq]="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 n,i=!!this.fields;return n=this.fields?this.fields:eV(e,nf)?Object.fromEntries(Object.keys(e._.selectedFields).map(n=>[n,e[n]])):eV(e,i2)?e[nS].selectedFields:eV(e,nJ)?{}:e[nD.Symbol.Columns],new tn({table:e,fields:n,isPartialSelect:i,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}}class te extends i8{static [eq]="PgSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:n,isPartialSelect:i,session:t,dialect:a,withList:u,distinct:o}){for(let r of(super(),this.config={withList:u,table:e,fields:{...n},distinct:o,setOperators:[]},this.isPartialSelect=i,this.session=t,this.dialect=a,this._={selectedFields:n,config:this.config},this.tableName=i3(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},i7(e)))this.usedTables.add(r)}getUsedTables(){return[...this.usedTables]}createJoin(e,n){return(i,t)=>{let a=this.tableName,u=i3(i);for(let e of i7(i))this.usedTables.add(e);if("string"==typeof u&&this.config.joins?.some(e=>e.alias===u))throw Error(`Alias "${u}" 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 u&&!eV(i,nJ))){let e=eV(i,nf)?i._.selectedFields:eV(i,nI)?i[nS].selectedFields:i[nD.Symbol.Columns];this.config.fields[u]=e}if("function"==typeof t&&(t=t(new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:t,table:i,joinType:e,alias:u,lateral:n}),"string"==typeof u)switch(e){case"left":this.joinsNotNullableMap[u]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[u]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[u]=!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,n){return i=>{let t="function"==typeof i?i(tt()):i;if(!i0(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:n,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 i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=e,this}having(e){return"function"==typeof e&&(e=e(new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=e,this}groupBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(n)?n:[n]}else this.config.groupBy=e;return this}orderBy(...e){if("function"==typeof e[0]){let n=e[0](new Proxy(this.config.fields,new i6({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),i=Array.isArray(n)?n:[n];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=i:this.config.orderBy=i}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,n={}){return this.config.lockingClause={strength:e,config:n},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}as(e){let n=[];if(n.push(...i7(this.config.table)),this.config.joins)for(let e of this.config.joins)n.push(...i7(e.table));return new Proxy(new nf(this.getSQL(),this.config.fields,e,!1,[...new Set(n)]),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new i6({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 tn extends te{static [eq]="PgSelect";_prepare(e){let{session:n,config:i,dialect:t,joinsNotNullableMap:a,authToken:u,cacheConfig:o,usedTables:r}=this;if(!n)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let{fields:s}=i;return ny("drizzle.prepareQuery",()=>{let i=iV(s),l=n.prepareQuery(t.sqlToQuery(this.getSQL()),i,e,!0,void 0,{type:"select",tables:[...r]},o);return l.joinsNotNullableMap=a,l.setToken(u)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}for(let e of[i5])for(let n of Object.getOwnPropertyNames(e.prototype))"constructor"!==n&&Object.defineProperty(tn.prototype,n,Object.getOwnPropertyDescriptor(e.prototype,n)||Object.create(null));function ti(e,n){return(i,t,...a)=>{let u=[t,...a].map(i=>({type:e,isAll:n,rightSelect:i}));for(let e of u)if(!i0(i.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 i.addSetOperators(u)}}let tt=()=>({union:ta,unionAll:tu,intersect:to,intersectAll:tr,except:ts,exceptAll:tl}),ta=ti("union",!1),tu=ti("union",!0),to=ti("intersect",!1),tr=ti("intersect",!0),ts=ti("except",!1),tl=ti("except",!0);class th{static [eq]="PgQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=eV(e,i4)?e:void 0,this.dialectConfig=eV(e,i4)?void 0:e}$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(i)),new Proxy(new nm(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};with(...e){let n=this;return{select:function(i){return new i9({fields:i??void 0,session:void 0,dialect:n.getDialect(),withList:e})},selectDistinct:function(e){return new i9({fields:e??void 0,session:void 0,dialect:n.getDialect(),distinct:!0})},selectDistinctOn:function(e,i){return new i9({fields:i??void 0,session:void 0,dialect:n.getDialect(),distinct:{on:e}})}}}select(e){return new i9({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new i9({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,n){return new i9({fields:n??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||(this.dialect=new i4(this.dialectConfig)),this.dialect}}class tg{constructor(e,n,i,t){this.table=e,this.session=n,this.dialect=i,this.withList=t}static [eq]="PgUpdateBuilder";authToken;setToken(e){return this.authToken=e,this}set(e){return new tc(this.table,i1(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}}class tc extends i5{constructor(e,n,i,t,a){super(),this.session=i,this.dialect=t,this.config={set:n,table:e,withList:a,joins:[]},this.tableName=i3(e),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{}}static [eq]="PgUpdate";config;tableName;joinsNotNullableMap;cacheConfig;from(e){let n=i3(e);return"string"==typeof n&&(this.joinsNotNullableMap[n]=!0),this.config.from=e,this}getTableLikeFields(e){return eV(e,iw)?e[nD.Symbol.Columns]:eV(e,nf)?e._.selectedFields:e[nS].selectedFields}createJoin(e){return(n,i)=>{let t=i3(n);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 i){let e=this.config.from&&!eV(this.config.from,nJ)?this.getTableLikeFields(this.config.from):void 0;i=i(new Proxy(this.config.table[nD.Symbol.Columns],new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),e&&new Proxy(e,new i6({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}if(this.config.joins.push({on:i,table:n,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[nD.Symbol.Columns]),this.config.from)){let n=i3(this.config.from);if("string"==typeof n&&this.config.from&&!eV(this.config.from,nJ)){let i=this.getTableLikeFields(this.config.from);e[n]=i}for(let n of this.config.joins){let i=i3(n.table);if("string"==typeof i&&!eV(n.table,nJ)){let t=this.getTableLikeFields(n.table);e[i]=t}}}return this.config.returningFields=e,this.config.returning=iV(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){let n=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i7(this.config.table)},this.cacheConfig);return n.joinsNotNullableMap=this.joinsNotNullableMap,n}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 i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class td{constructor(e,n,i,t,a){this.table=e,this.session=n,this.dialect=i,this.withList=t,this.overridingSystemValue_=a}static [eq]="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 n=e.map(e=>{let n={},i=this.table[nD.Symbol.Columns];for(let t of Object.keys(e)){let a=e[t];n[t]=eV(a,nJ)?a:new nX(a,i[t])}return n});return new tp(this.table,n,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let n="function"==typeof e?e(new th):e;if(!eV(n,nJ)&&!i0(this.table[nC],n._.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 tp(this.table,n,this.session,this.dialect,this.withList,!0)}}class tp extends i5{constructor(e,n,i,t,a,u,o){super(),this.session=i,this.dialect=t,this.config={table:e,values:n,withList:a,select:u,overridingSystemValue_:o}}static [eq]="PgInsert";config;cacheConfig;returning(e=this.config.table[nD.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iV(e),this}onConflictDoNothing(e={}){if(void 0===e.target)this.config.onConflict=nH`do nothing`;else{let n="";n=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 i=e.where?nH` where ${e.where}`:void 0;this.config.onConflict=nH`(${nH.raw(n)})${i} 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 n=e.where?nH` where ${e.where}`:void 0,i=e.targetWhere?nH` where ${e.targetWhere}`:void 0,t=e.setWhere?nH` where ${e.setWhere}`:void 0,a=this.dialect.buildUpdateSet(this.config.table,i1(this.config.table,e.set)),u="";return u=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=nH`(${nH.raw(u)})${i} do update set ${a}${n}${t}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"insert",tables:i7(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class tf extends i5{constructor(e,n,i,t){super(),this.session=n,this.dialect=i,this.config={table:e,withList:t}}static [eq]="PgDelete";config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[nD.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=iV(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("drizzle.prepareQuery",()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:"delete",tables:i7(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new i6({alias:this.config.table[e6],sqlAliasedBehavior:"alias",sqlBehavior:"error"})):void 0}$dynamic(){return this}}class tm extends nJ{constructor(e){super(tm.buildEmbeddedCount(e.source,e.filters).queryChunks),this.params=e,this.mapWith(Number),this.session=e.session,this.sql=tm.buildCount(e.source,e.filters)}sql;token;static [eq]="PgCountBuilder";[Symbol.toStringTag]="PgCountBuilder";session;static buildEmbeddedCount(e,n){return nH`(select count(*) from ${e}${nH.raw(" where ").if(n)}${n})`}static buildCount(e,n){return nH`select count(*) as count from ${e}${nH.raw(" where ").if(n)}${n};`}setToken(e){return this.token=e,this}then(e,n){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,n)}catch(e){return this.then(void 0,e)}finally(e){return this.then(n=>(e?.(),n),n=>{throw e?.(),n})}}class ty{constructor(e,n,i,t,a,u,o){this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o}static [eq]="PgRelationalQueryBuilder";findMany(e){return new tS(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},"many")}findFirst(e){return new tS(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}}class tS extends i5{constructor(e,n,i,t,a,u,o,r,s){super(),this.fullSchema=e,this.schema=n,this.tableNamesMap=i,this.table=t,this.tableConfig=a,this.dialect=u,this.session=o,this.config=r,this.mode=s}static [eq]="PgRelationalQuery";_prepare(e){return ny("drizzle.prepareQuery",()=>{let{query:n,builtQuery:i}=this._toSQL();return this.session.prepareQuery(i,void 0,e,!0,(e,i)=>{let t=e.map(e=>(function e(n,i,t,a,u=e=>e){let o={};for(let[r,s]of a.entries())if(s.isJson){let a=i.relations[s.tsKey],l=t[r],h="string"==typeof l?JSON.parse(l):l;o[s.tsKey]=eV(a,iz)?h&&e(n,n[s.relationTableTsKey],h,s.selection,u):h.map(i=>e(n,n[s.relationTableTsKey],i,s.selection,u))}else{let e,n=u(t[r]),i=s.field;e=eV(i,e2)?i:eV(i,nJ)?i.decoder:i.sql.decoder,o[s.tsKey]=null===n?null:e.mapFromDriverValue(n)}return o})(this.schema,this.tableConfig,e,n.selection,i));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(),n=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:n}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return ny("drizzle.operation",()=>this._prepare().execute(void 0,this.authToken))}}class tb extends i5{constructor(e,n,i,t){super(),this.execute=e,this.sql=n,this.query=i,this.mapBatchResult=t}static [eq]="PgRaw";getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,n){return n?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}class tC extends i5{constructor(e,n,i){super(),this.session=n,this.dialect=i,this.config={view:e}}static [eq]="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,...n}=this.dialect.sqlToQuery(this.getSQL());return n}_prepare(e){return ny("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=>ny("drizzle.operation",()=>this._prepare().execute(e,this.authToken))}class tw{constructor(e,n,i){if(this.dialect=e,this.session=n,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap,session:n}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:n},this.query={},this._.schema)for(let[t,a]of Object.entries(this._.schema))this.query[t]=new ty(i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[t],a,e,n);this.$cache={invalidate:async e=>{}}}static [eq]="PgDatabase";query;$with=(e,n)=>{let i=this;return{as:t=>("function"==typeof t&&(t=t(new th(i.dialect))),new Proxy(new nm(t.getSQL(),n??("getSelectedFields"in t?t.getSelectedFields()??{}:{}),e,!0),new i6({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"})))}};$count(e,n){return new tm({source:e,filters:n,session:this.session})}$cache;with(...e){let n=this;return{select:function(i){return new i9({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e})},selectDistinct:function(i){return new i9({fields:i??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:!0})},selectDistinctOn:function(i,t){return new i9({fields:t??void 0,session:n.session,dialect:n.dialect,withList:e,distinct:{on:i}})},update:function(i){return new tg(i,n.session,n.dialect,e)},insert:function(i){return new td(i,n.session,n.dialect,e)},delete:function(i){return new tf(i,n.session,n.dialect,e)}}}select(e){return new i9({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new i9({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,n){return new i9({fields:n??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new tg(e,this.session,this.dialect)}insert(e){return new td(e,this.session,this.dialect)}delete(e){return new tf(e,this.session,this.dialect)}refreshMaterializedView(e){return new tC(e,this.session,this.dialect)}authToken;execute(e){let n="string"==typeof e?nH.raw(e):e.getSQL(),i=this.dialect.sqlToQuery(n),t=this.session.prepareQuery(i,void 0,void 0,!1);return new tb(()=>t.execute(void 0,this.authToken),n,i,e=>t.mapResult(e,!0))}transaction(e,n){return this.session.transaction(e,n)}}class tT{static [eq]="Cache"}class tx extends tT{strategy(){return"all"}static [eq]="NoopCache";async get(e){}async put(e,n,i,t){}async onMutate(e){}}async function tL(e,n){let i=`${e}-${JSON.stringify(n)}`,t=new TextEncoder().encode(i);return[...new Uint8Array(await crypto.subtle.digest("SHA-256",t))].map(e=>e.toString(16).padStart(2,"0")).join("")}class tE{constructor(e,n,i,t){this.query=e,this.cache=n,this.queryMetadata=i,this.cacheConfig=t,n&&"all"===n.strategy()&&void 0===t&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,n){return e}setToken(e){return this.authToken=e,this}static [eq]="PgPreparedQuery";joinsNotNullableMap;async queryWithCache(e,n,i){if(void 0===this.cache||eV(this.cache,tx)||void 0===this.queryMetadata||this.cacheConfig&&!this.cacheConfig.enable)try{return await i()}catch(i){throw new n3(e,n,i)}if(("insert"===this.queryMetadata.type||"update"===this.queryMetadata.type||"delete"===this.queryMetadata.type)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([i(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(i){throw new n3(e,n,i)}if(!this.cacheConfig)try{return await i()}catch(i){throw new n3(e,n,i)}if("select"===this.queryMetadata.type){let t=await this.cache.get(this.cacheConfig.tag??await tL(e,n),this.queryMetadata.tables,void 0!==this.cacheConfig.tag,this.cacheConfig.autoInvalidate);if(void 0===t){let t;try{t=await i()}catch(i){throw new n3(e,n,i)}return await this.cache.put(this.cacheConfig.tag??await tL(e,n),t,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],void 0!==this.cacheConfig.tag,this.cacheConfig.config),t}return t}try{return await i()}catch(i){throw new n3(e,n,i)}}}class tY{constructor(e){this.dialect=e}static [eq]="PgSession";execute(e,n){return ny("drizzle.operation",()=>ny("drizzle.prepareQuery",()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(n).execute(void 0,n))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,n){return Number((await this.execute(e,n))[0].count)}}class tD extends tw{constructor(e,n,i,t=0){super(e,n,i),this.schema=i,this.nestedIndex=t}static [eq]="PgTransaction";rollback(){throw new n2}getTransactionConfigSQL(e){let n=[];return e.isolationLevel&&n.push(`isolation level ${e.isolationLevel}`),e.accessMode&&n.push(e.accessMode),"boolean"==typeof e.deferrable&&n.push(e.deferrable?"deferrable":"not deferrable"),nH.raw(n.join(" "))}setTransaction(e){return this.session.execute(nH`set transaction ${this.getTransactionConfigSQL(e)}`)}}let{Pool:tZ,types:tv}=E;class tN extends tE{constructor(e,n,i,t,a,u,o,r,s,l,h){super({sql:n,params:i},a,u,o),this.client=e,this.queryString=n,this.params=i,this.logger=t,this.fields=r,this._isResponseInArrayMode=l,this.customResultMapper=h,this.rawQueryConfig={name:s,text:n,types:{getTypeParser:(e,n)=>e===tv.builtins.TIMESTAMPTZ||e===tv.builtins.TIMESTAMP||e===tv.builtins.DATE||e===tv.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tv.getTypeParser(e,n)}},this.queryConfig={name:s,text:n,rowMode:"array",types:{getTypeParser:(e,n)=>e===tv.builtins.TIMESTAMPTZ||e===tv.builtins.TIMESTAMP||e===tv.builtins.DATE||e===tv.builtins.INTERVAL||1231===e||1115===e||1185===e||1187===e||1182===e?e=>e:tv.getTypeParser(e,n)}}}static [eq]="NodePgPreparedQuery";rawQueryConfig;queryConfig;async execute(e={}){return ny("drizzle.execute",async()=>{let n=nF(this.params,e);this.logger.logQuery(this.rawQueryConfig.text,n);let{fields:i,rawQueryConfig:t,client:a,queryConfig:u,joinsNotNullableMap:o,customResultMapper:r}=this;if(!i&&!r)return ny("drizzle.driver.execute",async e=>(e?.setAttributes({"drizzle.query.name":t.name,"drizzle.query.text":t.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(t.text,n,async()=>await a.query(t,n))));let s=await ny("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":u.name,"drizzle.query.text":u.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(u.text,n,async()=>await a.query(u,n))));return ny("drizzle.mapResponse",()=>r?r(s.rows):s.rows.map(e=>(function(e,n,i){let t={},a=e.reduce((e,{path:a,field:u},o)=>{let r;r=eV(u,e2)?u:eV(u,nJ)?u.decoder:eV(u,nf)?u._.sql.decoder:u.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=n[o],h=s[l]=null===e?null:r.mapFromDriverValue(e);if(i&&eV(u,e2)&&2===a.length){let e=a[0];e in t?"string"==typeof t[e]&&t[e]!==u.table[e6]&&(t[e]=!1):t[e]=null===h&&u.table[e6]}}return e},{});if(i&&Object.keys(t).length>0)for(let[e,n]of Object.entries(t))"string"!=typeof n||i[n]||(a[e]=null);return a})(i,e,o)))})}all(e={}){return ny("drizzle.execute",()=>{let n=nF(this.params,e);return this.logger.logQuery(this.rawQueryConfig.text,n),ny("drizzle.driver.execute",e=>(e?.setAttributes({"drizzle.query.name":this.rawQueryConfig.name,"drizzle.query.text":this.rawQueryConfig.text,"drizzle.query.params":JSON.stringify(n)}),this.queryWithCache(this.rawQueryConfig.text,n,async()=>this.client.query(this.rawQueryConfig,n)).then(e=>e.rows)))})}isResponseInArrayMode(){return this._isResponseInArrayMode}}class tA extends tY{constructor(e,n,i,t={}){super(n),this.client=e,this.schema=i,this.options=t,this.logger=t.logger??new e3,this.cache=t.cache??new tx}static [eq]="NodePgSession";logger;cache;prepareQuery(e,n,i,t,a,u,o){return new tN(this.client,e.sql,e.params,this.logger,this.cache,u,o,n,i,t,a)}async transaction(e,n){let i=this.client instanceof tZ||Object.getPrototypeOf(this.client).constructor.name.includes("Pool"),t=i?new tA(await this.client.connect(),this.dialect,this.schema,this.options):this,a=new tJ(this.dialect,t,this.schema);await a.execute(nH`begin${n?nH` ${a.getTransactionConfigSQL(n)}`:void 0}`);try{let n=await e(a);return await a.execute(nH`commit`),n}catch(e){throw await a.execute(nH`rollback`),e}finally{i&&t.client.release()}}async count(e){return Number((await this.execute(e)).rows[0].count)}}class tJ extends tD{static [eq]="NodePgTransaction";async transaction(e){let n=`sp${this.nestedIndex+1}`,i=new tJ(this.dialect,this.session,this.schema,this.nestedIndex+1);await i.execute(nH.raw(`savepoint ${n}`));try{let t=await e(i);return await i.execute(nH.raw(`release savepoint ${n}`)),t}catch(e){throw await i.execute(nH.raw(`rollback to savepoint ${n}`)),e}}}class tP{constructor(e,n,i={}){this.client=e,this.dialect=n,this.options=i}static [eq]="NodePgDriver";createSession(e){return new tA(this.client,this.dialect,e,{logger:this.options.logger,cache:this.options.cache})}}class tM extends tw{static [eq]="NodePgDatabase"}function tR(e,n={}){let i,t,a=new i4({casing:n.casing});if(!0===n.logger?i=new e1:!1!==n.logger&&(i=n.logger),n.schema){let e=function(e,n){1===Object.keys(e).length&&"default"in e&&!eV(e.default,nD)&&(e=e.default);let i={},t={},a={};for(let[u,o]of Object.entries(e))if(eV(o,nD)){let e=nZ(o),n=t[e];for(let t of(i[e]=u,a[u]={tsName:u,dbName:o[nD.Symbol.Name],schema:o[nD.Symbol.Schema],columns:o[nD.Symbol.Columns],relations:n?.relations??{},primaryKey:n?.primaryKey??[]},Object.values(o[nD.Symbol.Columns])))t.primary&&a[u].primaryKey.push(t);let r=o[nD.Symbol.ExtraConfigBuilder]?.(o[nD.Symbol.ExtraConfigColumns]);if(r)for(let e of Object.values(r))eV(e,iT)&&a[u].primaryKey.push(...e.columns)}else if(eV(o,iW)){let e,u=nZ(o.table),r=i[u];for(let[i,s]of Object.entries(o.config(n(o.table))))if(r){let n=a[r];n.relations[i]=s,e&&n.primaryKey.push(...e)}else u in t||(t[u]={relations:{},primaryKey:e}),t[u].relations[i]=s}return{tables:a,tableNamesMap:i}}(n.schema,iq);t={fullSchema:n.schema,schema:e.tables,tableNamesMap:e.tableNamesMap}}let u=new tP(e,a,{logger:i,cache:n.cache}).createSession(t),o=new tM(a,u,t);return o.$client=e,o.$cache=n.cache,o.$cache&&(o.$cache.invalidate=n.cache?.onMutate),o}function tX(...e){if("string"==typeof e[0])return tR(new E.Pool({connectionString:e[0]}),e[1]);if(function(e){if("object"!=typeof e||null===e||"Object"!==e.constructor.name)return!1;if("logger"in e){let n=typeof e.logger;return"boolean"===n||"object"===n&&"function"==typeof e.logger.logQuery||"undefined"===n}if("schema"in e){let n=typeof e.schema;return"object"===n||"undefined"===n}if("casing"in e){let n=typeof e.casing;return"string"===n||"undefined"===n}if("mode"in e)return"default"===e.mode&&"planetscale"===e.mode&&void 0===e.mode;if("connection"in e){let n=typeof e.connection;return"string"===n||"object"===n||"undefined"===n}if("client"in e){let n=typeof e.client;return"object"===n||"function"===n||"undefined"===n}return 0===Object.keys(e).length}(e[0])){let{connection:n,client:i,...t}=e[0];return i?tR(i,t):tR(new E.Pool("string"==typeof n?{connectionString:n}:n),t)}return tR(e[0],e[1])}(tX||(tX={})).mock=function(e){return tR({},e)};class tH{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 tB=!1;function tk(){if(!tB&&!process.env.PGDATABASE_URL)try{try{if(b("./node_modules/dotenv/lib/main.js").config(),process.env.PGDATABASE_URL){tB=!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 n of D(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(n.startsWith("#"))continue;let e=n.indexOf("=");if(e>0){let i=n.substring(0,e),t=n.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[i]||(process.env[i]=t)}}tB=!0}catch{}}function tF(){tk();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 t_=null,tQ=null;async function tI(e){let n=tF(),i=new E.Pool({connectionString:n,max:e?.maxConnections??tH.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??tH.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??tH.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<tH.MAX_RETRY_TIME;)try{let e=await i.connect();return await e.query("SELECT 1"),e.release(),i}catch(n){a=n;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,tH.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${tH.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function tO(e){return tk(),t_||(t_=await tI(e)),t_}async function tG(e){if(!tQ){let n=await tO();tQ=e?tX(n,{schema:e}):tX(n)}return tQ}async function tK(){return(await tO()).connect()}async function t$(){t_&&(await t_.end(),t_=null,tQ=null)}let tW=b("fs"),tU=b("path"),tz=b("os");async function tj(e={}){let{outputPath:n=tH.DEFAULT_SCHEMA_PATH,verbose:i=!1}=e;tk();let t=tF(),a=tU.dirname(n);a&&!tW.existsSync(a)&&tW.mkdirSync(a,{recursive:!0});let u=tW.mkdtempSync(tU.join(tz.tmpdir(),"drizzle-")),o=tU.dirname(a),r=tU.join(o,"drizzle.config.ts"),s=`
20
+ `;for(let n of D(`python3 -c '${e.replace(/'/g,"'\"'\"'")}'`,{encoding:"utf-8",timeout:1e4,stdio:["pipe","pipe","pipe"]}).trim().split("\n")){if(n.startsWith("#"))continue;let e=n.indexOf("=");if(e>0){let i=n.substring(0,e),t=n.substring(e+1);(t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),process.env[i]||(process.env[i]=t)}}tB=!0}catch{}}function t_(){tk();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 tF=null,tQ=null;async function tI(e){let n=t_(),i=new E.Pool({connectionString:n,max:e?.maxConnections??tH.MAX_CONNECTIONS,idleTimeoutMillis:e?.idleTimeoutMillis??tH.IDLE_TIMEOUT_MILLIS,connectionTimeoutMillis:e?.connectionTimeoutMillis??tH.CONNECTION_TIMEOUT_MILLIS}),t=Date.now(),a=null;for(;Date.now()-t<tH.MAX_RETRY_TIME;)try{let e=await i.connect();return await e.query("SELECT 1"),e.release(),i}catch(n){a=n;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,tH.MAX_RETRY_TIME-(Date.now()-t))))}throw console.error(`Database connection failed after ${tH.MAX_RETRY_TIME/1e3}s: ${a?.message}`),a}async function tO(e){return tk(),tF||(tF=await tI(e)),tF}async function tG(e){if(!tQ){let n=await tO();tQ=e?tX(n,{schema:e}):tX(n)}return tQ}async function tK(){return(await tO()).connect()}async function t$(){tF&&(await tF.end(),tF=null,tQ=null)}let tU=b("fs"),tW=b("path"),tz=b("os");async function tj(e={}){let{outputPath:n=tH.DEFAULT_SCHEMA_PATH,verbose:i=!1}=e;tk();let t=t_(),a=tW.dirname(n);a&&!tU.existsSync(a)&&tU.mkdirSync(a,{recursive:!0});let u=tU.mkdtempSync(tW.join(tz.tmpdir(),"drizzle-")),o=tW.dirname(a),r=tW.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;tW.writeFileSync(r,s),i&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${r}`;i&&console.log(`Running: ${t}`);try{e=D(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
30
+ `;try{let e;tU.writeFileSync(r,s),i&&console.log("Introspecting database schema...");let t=`npx drizzle-kit introspect --config=${r}`;i&&console.log(`Running: ${t}`);try{e=D(t,{encoding:"utf-8",stdio:"pipe",timeout:6e4})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit introspect failed:
31
31
  ${e||n||i.message}`)}if(e&&(e.includes("error:")||e.includes("Error:")))throw Error(`drizzle-kit introspect failed:
32
- ${e}`);i&&e&&console.log(e);let o=tU.join(u,"schema.ts"),l=tU.join(u,"relations.ts");if(tW.existsSync(o)&&(!function(e){if(!tW.existsSync(e))return;let n=tW.readFileSync(e,"utf-8"),i=n.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");i!==n&&tW.writeFileSync(e,i)}(o),tW.copyFileSync(o,n),i&&console.log(`✓ Copied schema.ts to ${a}/`)),tW.existsSync(l)){let e=tU.join(a,"relations.ts");tW.copyFileSync(l,e),i&&console.log(`✓ Copied relations.ts to ${a}/`)}try{D("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}i&&console.log("✓ Schema generated successfully")}finally{tW.existsSync(r)&&tW.unlinkSync(r),tW.existsSync(u)&&tW.rmSync(u,{recursive:!0})}}async function tq(e={}){let{schemaPath:n=tH.DEFAULT_SCHEMA_PATH,projectPath:i=process.cwd(),verbose:t=!1}=e;tk();let a=tF(),u=tU.isAbsolute(n)?n:tU.join(i,n);if(!tW.existsSync(u))throw Error(`Schema file not found: ${u}`);let o=tU.dirname(u),r=tU.dirname(o),s=tU.join(r,"drizzle.config.ts"),l=`
32
+ ${e}`);i&&e&&console.log(e);let o=tW.join(u,"schema.ts"),l=tW.join(u,"relations.ts");if(tU.existsSync(o)&&(!function(e){if(!tU.existsSync(e))return;let n=tU.readFileSync(e,"utf-8"),i=n.replace(/\.generatedByDefaultAsIdentity\(\{[^}]*\}\)/g,".generatedByDefaultAsIdentity()");i!==n&&tU.writeFileSync(e,i)}(o),tU.copyFileSync(o,n),i&&console.log(`✓ Copied schema.ts to ${a}/`)),tU.existsSync(l)){let e=tW.join(a,"relations.ts");tU.copyFileSync(l,e),i&&console.log(`✓ Copied relations.ts to ${a}/`)}try{D("git add -A",{encoding:"utf-8",stdio:"pipe",cwd:process.cwd()})}catch{}i&&console.log("✓ Schema generated successfully")}finally{tU.existsSync(r)&&tU.unlinkSync(r),tU.existsSync(u)&&tU.rmSync(u,{recursive:!0})}}async function tq(e={}){let{schemaPath:n=tH.DEFAULT_SCHEMA_PATH,projectPath:i=process.cwd(),verbose:t=!1}=e;tk();let a=t_(),u=tW.isAbsolute(n)?n:tW.join(i,n);if(!tU.existsSync(u))throw Error(`Schema file not found: ${u}`);let o=tW.dirname(u),r=tW.dirname(o),s=tW.join(r,"drizzle.config.ts"),l=`
33
33
  import { defineConfig } from 'drizzle-kit';
34
34
 
35
35
  export default defineConfig({
@@ -39,9 +39,9 @@ export default defineConfig({
39
39
  url: '${a}',
40
40
  },
41
41
  });
42
- `;try{let e;tW.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let n=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${n}`);try{e=D(n,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:i})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
42
+ `;try{let e;tU.writeFileSync(s,l),t&&console.log("Pushing schema changes to database...");let n=`npx drizzle-kit push --force --config=${s}`;t&&console.log(`Running: ${n}`);try{e=D(n,{encoding:"utf-8",stdio:"pipe",timeout:12e4,cwd:i})}catch(i){let e=i.stderr?.toString()||"",n=i.stdout?.toString()||"";throw Error(`drizzle-kit push failed:
43
43
  ${e||n||i.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{tW.existsSync(s)&&tW.unlinkSync(s)}}class tV{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){var n;let i=new tV({...e,headers:{...e.headers}});return i.query&&(i.query=Object.keys(n=i.query).reduce((e,i)=>{let t=n[i];return{...e,[i]:Array.isArray(t)?[...t]:t}},{})),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 tV.clone(this)}}let t0={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},t1=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},t3={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t2=t3.WHEN_SUPPORTED,t4={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t6=t3.WHEN_SUPPORTED;(G=eu||(eu={})).MD5="MD5",G.CRC32="CRC32",G.CRC32C="CRC32C",G.CRC64NVME="CRC64NVME",G.SHA1="SHA1",G.SHA256="SHA256",(K=eo||(eo={})).HEADER="header",K.TRAILER="trailer";let t8=eu.CRC32;function t5(e){return e}let t7={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},t9=e=>({applyToStack:n=>{n.add(n=>async i=>{if(!tV.isInstance(i.request))return n(i);let{request:t}=i,{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 n(i)},t7)}}),ae={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},an=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{try{let t=await e(i),{clientName:a,commandName:u,logger:o,dynamoDbDocumentClientOptions:r={}}=n,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=r,h=s??n.inputFilterSensitiveLog,g=l??n.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:u,input:h(i.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:u={}}=n,{overrideInputFilterSensitiveLog:o}=u,r=o??n.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:r(i.input),error:s,metadata:s.$metadata}),s}},ae)}}),ai={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},at={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")},aa=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");aa||(globalThis.awslambda=globalThis.awslambda||{});class au{static PROTECTED_KEYS=at;isProtectedKey(e){return Object.values(at).includes(e)}getRequestId(){return this.get(at.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(at.X_RAY_TRACE_ID)}getTenantId(){return this.get(at.TENANT_ID)}}class ao extends au{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=n}run(e,n){return this.currentContext=e,n()}}class ar extends au{als;static async create(){let e=new ar;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,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let i=this.als.getStore();if(!i)throw Error("No context available");i[e]=n}run(e,n){return this.als.run(e,n)}}$=er||(er={}),c=null,$.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await ar.create():new ao;return!aa&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!aa&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},$._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let as="X-Amzn-Trace-Id",al=e=>({applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!tV.isInstance(i))return e(n);let t=Object.keys(i.headers??{}).find(e=>e.toLowerCase()===as.toLowerCase())??as;if(i.headers.hasOwnProperty(t))return e(n);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,u=process.env._X_AMZN_TRACE_ID,o=await er.getInstanceAsync(),r=o?.getXRayTraceId()??u,s=e=>"string"==typeof e&&e.length>0;return s(a)&&s(r)&&(i.headers[as]=r),e({...n,request:i})},ai)}});class ah{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let n=this.data[e];if(n)return n}set(e,n){return this.data[e]=n,n}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+ah.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let n in this.data){let i=this.data[n];if(!i.isRefreshing){let t=await i.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[n]}}}}class ag{_identity;isRefreshing;accessed;constructor(e,n=!1,i=Date.now()){this._identity=e,this.isRefreshing=n,this.accessed=i}get identity(){return this.accessed=Date.now(),this._identity}}class ac{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,n=new ah){this.createSessionFn=e,this.cache=n}async getS3ExpressIdentity(e,n){let i=n.Bucket,{cache:t}=this,a=t.get(i);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(i,new ag(this.getIdentity(i))).identity:((e.expiration?.getTime()??0)<Date.now()+ac.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(i).then(e=>{t.set(i,new ag(Promise.resolve(e)))})),e)):t.set(i,new ag(this.getIdentity(i))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let n=await this.createSessionFn(e);if(!n.Credentials?.AccessKeyId||!n.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:n.Credentials.AccessKeyId,secretAccessKey:n.Credentials.SecretAccessKey,sessionToken:n.Credentials.SessionToken,expiration:n.Credentials.Expiration?new Date(n.Credentials.Expiration):void 0}}}let ad={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"},ap={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},af={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},am={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function ay(e,n,i){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[n]=i}let aS=(e,n,i)=>{if(n in e){if("true"===e[n])return!0;if("false"===e[n])return!1;throw Error(`Cannot load ${i} "${n}". Expected "true" or "false", got ${e[n]}.`)}};(W=es||(es={})).ENV="env",W.CONFIG="shared config entry";let ab="X-Amz-S3session-Token",aC=ab.toLowerCase(),aw={environmentVariableSelector:e=>aS(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",es.ENV),configFileSelector:e=>aS(e,"s3_disable_express_session_auth",es.CONFIG),default:!1},aT={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},ax="__smithy_context",aL=e=>e[ax]||(e[ax]={}),aE={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},aY=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{if(!tV.isInstance(i.request))return e(i);let t=aL(n).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:u,signer:o}=t,r=await e({...i,request:await o.sign(i.request,u,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,n)=>{}))(r.response,a),r},aE)}}),aD=async(e,n,i,t)=>{let a=await t.signWithCredentials(i,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},aZ=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},av;function aN(e){let n=aZ(e.userAgentAppId??av),{customUserAgent:i}=e;return Object.assign(e,{customUserAgent:"string"==typeof i?[[i]]:i,userAgentAppId:async()=>{let i=await n();if(!(void 0===i||"string"==typeof i&&i.length<=50)){let n=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof i?n?.warn("userAgentAppId must be a string or undefined."):i.length>50&&n?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return i}})}let aA={},aJ=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),aP=(e,n=!1)=>{if(!n)return aJ.test(e);for(let n of e.split("."))if(!aP(n))return!1;return!0},aM=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}$"),aR=e=>aM.test(e)||e.startsWith("[")&&e.endsWith("]"),aX=(e,n=!1)=>{if(n){for(let n of e.split("."))if(!aX(n))return!1;return!0}return!(!aP(e)||e.length<3||e.length>63||e!==e.toLowerCase()||aR(e))};var aH=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 aB={isVirtualHostableS3Bucket:aX,parseArn:e=>{let n=e.split(":");if(n.length<6)return null;let[i,t,a,u,o,...r]=n;return"arn"!==i||""===t||""===a||""===r.join(":")?null:{partition:t,service:a,region:u,accountId:o,resourceId:r.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:n}=aH;for(let i of n){let{regions:n,outputs:t}=i;for(let[i,a]of Object.entries(n))if(i===e)return{...t,...a}}for(let i of n){let{regionRegex:n,outputs:t}=i;if(new RegExp(n).test(e))return{...t}}let i=n.find(e=>"aws"===e.id);if(!i)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}}};aA.aws=aB;let ak=/\d{12}\.ddb/;async function aF(e,n,i){let t=i.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&ay(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof n.retryStrategy){let i=await n.retryStrategy();"function"==typeof i.acquireInitialRetryToken?i.constructor?.name?.includes("Adaptive")?ay(e,"RETRY_MODE_ADAPTIVE","F"):ay(e,"RETRY_MODE_STANDARD","E"):ay(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof n.accountIdEndpointMode){let i=e.endpointV2;switch(String(i?.url?.hostname).match(ak)&&ay(e,"ACCOUNT_ID_ENDPOINT","O"),await n.accountIdEndpointMode?.()){case"disabled":ay(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":ay(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":ay(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[n,i]of(a.accountId&&ay(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))ay(e,n,i)}let a_="user-agent",aQ="x-amz-user-agent",aI=/[^!$%&'*+\-.^_`|~\w]/g,aO=/[^!$%&'*+\-.^_`|~\w#]/g,aG=e=>{let n=e[0].split("/").map(e=>e.replace(aI,"-")).join("/"),i=e[1]?.replace(aO,"-"),t=n.indexOf("/"),a=n.substring(0,t),u=n.substring(t+1);return"api"===a&&(u=u.toLowerCase()),[a,u,i].filter(e=>e&&e.length>0).reduce((e,n,i)=>{switch(i){case 0:return n;case 1:return`${e}/${n}`;default:return`${e}#${n}`}},"")},aK={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},a$=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let{request:a}=t;if(!tV.isInstance(a))return n(t);let{headers:u}=a,o=i?.userAgent?.map(aG)||[],r=(await e.defaultUserAgentProvider()).map(aG);await aF(i,e,t),r.push(`m/${function(e){let n="";for(let i in e){let t=e[i];if(n.length+t.length+1<=1024){n.length?n+=","+t:n+=t;continue}break}return n}(Object.assign({},i.__smithy_context?.features,i.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(aG)||[],l=await e.userAgentAppId();l&&r.push(aG(["app",`${l}`]));let h=[].concat([...r,...o,...s]).join(" "),g=[...r.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(u[aQ]=u[aQ]?`${u[a_]} ${g}`:g),u[a_]=h):u[aQ]=h,n({...t,request:a})},aK)}}),aW=new Set,aU=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),az=e=>{let{region:n,useFipsEndpoint:i}=e;if(!n)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,i=aU(e="function"==typeof n?await n():n)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,n=aP)=>{if(aW.has(e)||n(e))aW.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.`)})(i),i},useFipsEndpoint:async()=>!!aU("string"==typeof n?n:await n())||("function"!=typeof i?Promise.resolve(!!i):i())})},aj={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},aq=(e,{httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i},(n,i)=>async t=>{let u=((e,n)=>{if(!n||0===n.length)return e;let i=[];for(let t of n)for(let n of e)n.schemeId.split("#")[1]===t&&i.push(n);for(let n of e)i.find(({schemeId:e})=>e===n.schemeId)||i.push(n);return i})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,i,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=function(e){let n=new Map;for(let i of e)n.set(i.schemeId,i);return n}(e.httpAuthSchemes),r=aL(i),s=[];for(let n of u){let t=o.get(n.schemeId);if(!t){s.push(`HttpAuthScheme \`${n.schemeId}\` was not enabled for this service.`);continue}let u=t.identityProvider(await a.identityProviderConfigProvider(e));if(!u){s.push(`HttpAuthScheme \`${n.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=n.propertiesExtractor?.(e,i)||{};n.identityProperties=Object.assign(n.identityProperties||{},l),n.signingProperties=Object.assign(n.signingProperties||{},h),r.selectedHttpAuthScheme={httpAuthOption:n,identity:await u(n.identityProperties),signer:t.signer};break}if(!r.selectedHttpAuthScheme)throw Error(s.join("\n"));return n(t)}),aj)}});class aV{authSchemes=new Map;constructor(e){for(let[n,i]of Object.entries(e))void 0!==i&&this.authSchemes.set(n,i)}getIdentityProvider(e){return this.authSchemes.get(e)}}class a0{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 a1=(e,n,i,t,a)=>({name:n,namespace:e,traits:i,input:t,output:a}),a3=(e,n)=>(n.find(([n])=>n.match(e))||[void 0,void 0])[1],a2={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},a4={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function a6(e){return{applyToStack:n=>{n.add((n,i)=>async t=>{let{operationSchema:a}=aL(i),[,u,o,r,s,l]=a??[],h=i.endpointV2?.url&&e.urlParser?async()=>e.urlParser(i.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(a1(u,o,r,s,l),t.input,{...e,...i,endpoint:h});return n({...t,request:g})},a4),n.add((n,i)=>async t=>{let{response:a}=await n(t),{operationSchema:u}=aL(i),[,o,r,s,l,h]=u??[];try{let n=await e.protocol.deserializeResponse(a1(o,r,s,l,h),{...e,...i},a);return{response:a,output:n}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let n="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+n}catch(e){i.logger&&i.logger?.constructor?.name!=="NoOpLogger"?i.logger?.warn?.(n):console.warn(n)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(a0.isInstance(a)){let{headers:n={}}=a,i=Object.entries(n);e.$metadata={httpStatusCode:a.statusCode,requestId:a3(/^x-[\w-]+-request-?id$/,i),extendedRequestId:a3(/^x-[\w-]+-id-2$/,i),cfId:a3(/^x-[\w-]+-cf-id$/,i)}}}catch(e){}}throw e}},a2),e.protocol.setSerdeContext(e)}}}let a8="content-length",a5={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},a7=e=>({applyToStack:n=>{var i;n.add((i=e.bodyLengthChecker,e=>async n=>{let t=n.request;if(tV.isInstance(t)){let{body:e,headers:n}=t;if(e&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(a8))try{let n=i(e);t.headers={...t.headers,[a8]:String(n)}}catch(e){}}return e({...n,request:t})}),a5)}}),a9=(e,n,i)=>{let t,a,u,o=!1,r=async()=>{a||(a=e());try{t=await a,u=!0,o=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await r()),t):async e=>((!u||e?.forceRefresh)&&(t=await r()),o||(i&&!i(t)?o=!0:n(t)&&await r()),t)};class ue extends Error{name="ProviderError";tryNextLink;constructor(e,n=!0){let i,t=!0;"boolean"==typeof n?(i=void 0,t=n):null!=n&&"object"==typeof n&&(i=n.logger,t=n.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,ue.prototype),i?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,n=!0){return Object.assign(new this(e.message,n),e)}}let un=(...e)=>async()=>{let n;if(0===e.length)throw new ue("No providers in chain");for(let i of e)try{return await i()}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n};class ui extends ue{name="CredentialsProviderError";constructor(e,n=!0){super(e,n),Object.setPrototypeOf(this,ui.prototype)}}function ut(e){try{let n=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return n.delete("CONFIG"),n.delete("CONFIG_PREFIX_SEPARATOR"),n.delete("ENV"),[...n].join(", ")}catch(n){return e}}let ua="AWS_PROFILE",uu=e=>e.profile||process.env[ua]||"default";(U=el||(el={})).PROFILE="profile",U.SSO_SESSION="sso-session",U.SERVICES="services";let uo=e=>Object.entries(e).filter(([e])=>{let n=e.indexOf(".");return -1!==n&&Object.values(el).includes(e.substring(0,n))}).reduce((e,[n,i])=>{let t=n.indexOf(".");return e[n.substring(0,t)===el.PROFILE?n.substring(t+1):n]=i,e},{...e.default&&{default:e.default}}),ur={},us=()=>{let{HOME:e,USERPROFILE:n,HOMEPATH:i,HOMEDRIVE:t=`C:${tU.sep}`}=process.env;if(e)return e;if(n)return n;if(i)return`${t}${i}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return ur[a]||(ur[a]=(0,tz.homedir)()),ur[a]},ul=()=>process.env.AWS_CONFIG_FILE||(0,tU.join)(us(),".aws","config"),uh=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,ug=["__proto__","profile __proto__"],uc=e=>{let n,i,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){n=void 0,i=void 0;let t=e.substring(1,e.length-1),a=uh.exec(t);if(a){let[,e,,i]=a;Object.values(el).includes(e)&&(n=[e,i].join("."))}else n=t;if(ug.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(n){let u=e.indexOf("=");if(![0,-1].includes(u)){let[o,r]=[e.substring(0,u).trim(),e.substring(u+1).trim()];if(""===r)i=o;else{i&&a.trimStart()===a&&(i=void 0),t[n]=t[n]||{};let e=i?[i,o].join("."):o;t[n][e]=r}}}}return t},ud={},up={},uf=(e,n)=>void 0!==up[e]?up[e]:((!ud[e]||n?.ignoreCache)&&(ud[e]=Z(e,"utf8")),ud[e]),um=()=>({}),uy=async(e={})=>{let{filepath:n=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,tU.join)(us(),".aws","credentials"),configFilepath:i=ul()}=e,t=us(),a=n;n.startsWith("~/")&&(a=(0,tU.join)(t,n.slice(2)));let u=i;i.startsWith("~/")&&(u=(0,tU.join)(t,i.slice(2)));let o=await Promise.all([uf(u,{ignoreCache:e.ignoreCache}).then(uc).then(uo).catch(um),uf(a,{ignoreCache:e.ignoreCache}).then(uc).catch(um)]);return{configFile:o[0],credentialsFile:o[1]}},uS=({environmentVariableSelector:e,configFileSelector:n,default:i},t={})=>{let a,{signingName:u,logger:o}=t;return a9(un((a={signingName:u,logger:o},async()=>{try{let n=e(process.env,a);if(void 0===n)throw Error();return n}catch(n){throw new ui(n.message||`Not found in ENV: ${ut(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:n="config",...i}={})=>async()=>{let t=uu(i),{configFile:a,credentialsFile:u}=await uy(i),o=u[t]||{},r=a[t]||{},s="config"===n?{...o,...r}:{...r,...o};try{let i="config"===n?a:u,t=e(s,i);if(void 0===t)throw Error();return t}catch(n){throw new ui(n.message||`Not found in config files w/ profile [${t}]: ${ut(e.toString())}`,{logger:i.logger})}})(n,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(i)))},ub="AWS_ENDPOINT_URL",uC="endpoint_url",uw=async e=>{let n;return uS((n=e??"",{environmentVariableSelector:e=>{let i=e[[ub,...n.split(" ").map(e=>e.toUpperCase())].join("_")];if(i)return i;let t=e[ub];if(t)return t},configFileSelector:(e,i)=>{if(i&&e.services){let t=i[["services",e.services].join(".")];if(t){let e=t[[n.split(" ").map(e=>e.toLowerCase()).join("_"),uC].join(".")];if(e)return e}}let t=e[uC];if(t)return t},default:void 0}))()},uT=e=>{let n;if("string"==typeof e)return uT(new URL(e));let{hostname:i,pathname:t,port:a,protocol:u,search:o}=e;return o&&(n=function(e){let n={};if(e=e.replace(/^\?/,""))for(let i of e.split("&")){let[e,t=null]=i.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in n?Array.isArray(n[e])?n[e].push(t):n[e]=[n[e],t]:n[e]=t}return n}(o)),{hostname:i,port:a?parseInt(a):void 0,protocol:u,path:t,query:n}},ux=e=>"object"==typeof e?"url"in e?uT(e.url):e:uT(e),uL=e=>{let n,i=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:u}=e,o=Object.assign(e,{endpoint:null!=t?async()=>ux(await t1(t)()):void 0,tls:i,isCustomEndpoint:!!t,useDualstackEndpoint:t1(a??!1),useFipsEndpoint:t1(u??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!n&&(n=uw(e.serviceId)),n),o};(z=eh||(eh={})).STANDARD="standard",z.ADAPTIVE="adaptive";let uE=eh.STANDARD,uY=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],uD=["TimeoutError","RequestTimeout","RequestTimeoutException"],uZ=[500,502,503,504],uv=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],uN=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],uA=e=>e.$metadata?.httpStatusCode===429||uY.includes(e.name)||e.$retryable?.throttling==!0,uJ=(e,n=0)=>{let i;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||uD.includes(e.name)||uv.includes(e?.code||"")||uN.includes(e?.code||"")||uZ.includes(e.$metadata?.httpStatusCode||0)||(i=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)&&i.has(e.message))||void 0!==e.cause&&n<=10&&uJ(e.cause,n+1)};class uP{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 n=this.getCurrentTimeInSeconds();this.lastThrottleTime=n,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 n=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>uP.setTimeoutFn(e,n))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let n=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+n),this.lastTimestamp=e}updateClientSendingRate(e){let n;if(this.updateMeasuredRate(),uA(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),n=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),n=this.cubicSuccess(this.getCurrentTimeInSeconds());let i=Math.min(n,2*this.measuredTxRate);this.updateTokenBucketRate(i)}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 n=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let uM=({retryDelay:e,retryCount:n,retryCost:i})=>({getRetryCount:()=>n,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>i});class uR{maxAttempts;mode=eh.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:n=>Math.floor(Math.min(2e4,Math.random()*2**n*e)),setDelayBase:n=>{e=n}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return uM({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,n){let i=await this.getMaxAttempts();if(this.shouldRetry(e,n,i)){let i=n.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===i?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=n.retryAfterHint?Math.max(n.retryAfterHint.getTime()-Date.now()||0,t):t,u=this.getCapacityCost(i);return this.capacity-=u,uM({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:u})}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,n,i){return e.getRetryCount()+1<i&&this.capacity>=this.getCapacityCost(n.errorType)&&this.isRetryableError(n.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class uX{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=eh.ADAPTIVE;constructor(e,n){this.maxAttemptsProvider=e;let{rateLimiter:i}=n??{};this.rateLimiter=i??new uP,this.standardRetryStrategy=new uR(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,n){return this.rateLimiter.updateClientSendingRate(n),this.standardRetryStrategy.refreshRetryTokenForRetry(e,n)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let uH="AWS_MAX_ATTEMPTS",uB="max_attempts",uk={environmentVariableSelector:e=>{let n=e[uH];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Environment variable ${uH} mast be a number, got "${n}"`);return i},configFileSelector:e=>{let n=e[uB];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Shared config file entry ${uB} mast be a number, got "${n}"`);return i},default:3},uF=e=>{let{retryStrategy:n,retryMode:i,maxAttempts:t}=e,a=t1(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>n||(await t1(i)()===eh.ADAPTIVE?new uX(a):new uR(a))})},u_={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:uE};class uQ{trace(){}debug(){}info(){}warn(){}error(){}}let uI=b("crypto"),uO=uI.default.randomUUID.bind(uI.default),uG=Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")),uK=()=>{if(uO)return uO();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,uG[e[0]]+uG[e[1]]+uG[e[2]]+uG[e[3]]+"-"+uG[e[4]]+uG[e[5]]+"-"+uG[e[6]]+uG[e[7]]+"-"+uG[e[8]]+uG[e[9]]+"-"+uG[e[10]]+uG[e[11]]+uG[e[12]]+uG[e[13]]+uG[e[14]]+uG[e[15]]},u$=e=>e?.body instanceof A||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,uW=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),uU=e=>{let n={error:e,errorType:uz(e)},i=uV(e.$response);return i&&(n.retryAfterHint=i),n},uz=e=>uA(e)?"THROTTLING":uJ(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let n=e.$metadata.httpStatusCode;if(500<=n&&n<=599&&!uJ(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",uj={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},uq=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let a,u=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=u).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return u?.mode&&(i.userAgent=[...i.userAgent||[],["cfg/retry-mode",u.mode]]),u.retry(n,t);{let e=await u.acquireInitialRetryToken(i.partition_id),a=Error(),r=0,s=0,{request:l}=t,h=tV.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=uK());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${r+1}; max=${o}`);let{response:i,output:a}=await n(t);return u.recordSuccess(e),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,{response:i,output:a}}catch(o){let n=uU(o);if(a=uW(o),h&&u$(l))throw(i.logger instanceof uQ?console:i.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await u.refreshRetryTokenForRetry(e,n)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,a}r=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},uj)}}),uV=e=>{if(!a0.isInstance(e))return;let n=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!n)return;let i=e.headers[n],t=Number(i);return new Date(Number.isNaN(t)?i:1e3*t)},u0=(e,n)=>{let i=[];if(e&&i.push(e),n)for(let e of n)i.push(e);return i},u1=(e,n)=>`${e||"anonymous"}${n&&n.length>0?` (a.k.a. ${n.join(",")})`:""}`,u3=()=>{let e=[],n=[],i=!1,t=new Set,a=i=>(e.forEach(e=>{i.add(e.middleware,{...e})}),n.forEach(e=>{i.addRelativeTo(e.middleware,{...e})}),i.identifyOnResolve?.(r.identifyOnResolve()),i),u=e=>{let n=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n},o=(i=!1)=>{let t=[],a=[],o={};return e.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;t.push(n)}),n.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;a.push(n)}),a.forEach(e=>{if(e.toMiddleware){let n=o[e.toMiddleware];if(void 0===n){if(i)return;throw Error(`${e.toMiddleware} is not found when adding ${u1(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&n.after.push(e),"before"===e.relation&&n.before.push(e)}}),t.sort((e,n)=>u2[n.step]-u2[e.step]||u4[n.priority||"normal"]-u4[e.priority||"normal"]).map(u).reduce((e,n)=>(e.push(...n),e),[])},r={add:(n,i={})=>{let{name:a,override:u,aliases:o}=i,r={step:"initialize",priority:"normal",middleware:n,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let n of s){let i=e.findIndex(e=>e.name===n||e.aliases?.some(e=>e===n));if(-1===i)continue;let t=e[i];if(t.step!==r.step||r.priority!==t.priority)throw Error(`"${u1(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${u1(a,o)}" middleware with ${r.priority} priority in ${r.step} step.`);e.splice(i,1)}}for(let e of s)t.add(e)}e.push(r)},addRelativeTo:(e,i)=>{let{name:a,override:u,aliases:o}=i,r={middleware:e,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let e of s){let i=n.findIndex(n=>n.name===e||n.aliases?.some(n=>n===e));if(-1===i)continue;let t=n[i];if(t.toMiddleware!==r.toMiddleware||t.relation!==r.relation)throw Error(`"${u1(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${u1(a,o)}" middleware ${r.relation} "${r.toMiddleware}" middleware.`);n.splice(i,1)}}for(let e of s)t.add(e)}n.push(r)},clone:()=>a(u3()),use:e=>{e.applyToStack(r)},remove:i=>{let a,u;if("string"==typeof i){let a,u;return a=!1,u=e=>{let n=u0(e.name,e.aliases);if(n.includes(i)){for(let e of(a=!0,n))t.delete(e);return!1}return!0},e=e.filter(u),n=n.filter(u),a}return a=!1,u=e=>{if(e.middleware===i){for(let n of(a=!0,u0(e.name,e.aliases)))t.delete(n);return!1}return!0},e=e.filter(u),n=n.filter(u),a},removeByTag:i=>{let a=!1,u=e=>{let{tags:n,name:u,aliases:o}=e;if(n&&n.includes(i)){for(let e of u0(u,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(u),n=n.filter(u),a},concat:e=>{let n=a(u3());return n.use(e),n.identifyOnResolve(i||n.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),n},applyToStack:a,identify:()=>o(!0).map(e=>{let n=e.step??e.relation+" "+e.toMiddleware;return u1(e.name,e.aliases)+" - "+n}),identifyOnResolve:e=>("boolean"==typeof e&&(i=e),i),resolve:(e,n)=>{for(let i of o().map(e=>e.middleware).reverse())e=i(e,n);return i&&console.log(r.identify()),e}};return r},u2={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},u4={high:3,normal:2,low:1};class u6{config;middlewareStack=u3();initConfig;handlers;constructor(e){this.config=e;let{protocol:n,protocolSettings:i}=e;i&&"function"==typeof n&&(e.protocol=new n(i))}send(e,n,i){let t,a="function"!=typeof n?n:void 0,u="function"==typeof n?n:i;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let n=this.handlers;n.has(e.constructor)?t=n.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),n.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!u)return t(e).then(e=>e.output);t(e).then(e=>u(null,e.output),e=>u(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function u8(e,n,i){return e.$source||(e.$source={}),e.$source[n]=i,e}let u5=function(e){return u7(e)&&e.expiration.getTime()-Date.now()<3e5},u7=e=>void 0!==e.expiration,u9={},oe={};for(let e=0;e<256;e++){let n=e.toString(16).toLowerCase();1===n.length&&(n=`0${n}`),u9[e]=n,oe[n]=e}function on(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let n=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){let t=e.slice(i,i+2).toLowerCase();if(t in oe)n[i/2]=oe[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return n}function oi(e){let n="";for(let i=0;i<e.byteLength;i++)n+=u9[e[i]];return n}let ot=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),oa=(e,n=0,i=e.byteLength-n)=>{if(!ot(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return P.from(e,n,i)},ou=(e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?P.from(e,n):P.from(e)},oo=e=>{let n=ou(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)},or=e=>"string"==typeof e?oo(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),os="X-Amz-Date",ol="X-Amz-Signature",oh="X-Amz-Security-Token",og="authorization",oc=os.toLowerCase(),od=[og,oc,"date"],op=ol.toLowerCase(),of="x-amz-content-sha256",om=oh.toLowerCase(),oy={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},oS=/^proxy-/,ob=/^sec-/,oC="AWS4-HMAC-SHA256",ow="aws4_request",oT={},ox=[],oL=(e,n,i)=>`${e}/${n}/${i}/${ow}`,oE=async(e,n,i,t,a)=>{let u=await oY(e,n.secretAccessKey,n.accessKeyId),o=`${i}:${t}:${a}:${oi(u)}:${n.sessionToken}`;if(o in oT)return oT[o];for(ox.push(o);ox.length>50;)delete oT[ox.shift()];let r=`AWS4${n.secretAccessKey}`;for(let n of[i,t,a,ow])r=await oY(e,r,n);return oT[o]=r},oY=(e,n,i)=>{let t=new e(n);return t.update(or(i)),t.digest()},oD=({headers:e},n,i)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let u=a.toLowerCase();(!(u in oy||n?.has(u)||oS.test(u)||ob.test(u))||i&&(!i||i.has(u)))&&(t[u]=e[a].trim().replace(/\s+/g," "))}return t},oZ=async({headers:e,body:n},i)=>{for(let n of Object.keys(e))if(n.toLowerCase()===of)return e[n];if(void 0==n)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof n||ArrayBuffer.isView(n)||ot(n)){let e=new i;return e.update(or(n)),oi(await e.digest())}return"UNSIGNED-PAYLOAD"};class ov{format(e){let n=[];for(let i of Object.keys(e)){let t=oo(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=oo(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(oA.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!oN.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}}(j=eg||(eg={}))[j.boolTrue=0]="boolTrue",j[j.boolFalse=1]="boolFalse",j[j.byte=2]="byte",j[j.short=3]="short",j[j.integer=4]="integer",j[j.long=5]="long",j[j.byteArray=6]="byteArray",j[j.string=7]="string",j[j.timestamp=8]="timestamp",j[j.uuid=9]="uuid";let oN=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class oA{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&oJ(n),new oA(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&oJ(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function oJ(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}let oP=e=>{for(let n of Object.keys((e=tV.clone(e)).headers))od.indexOf(n.toLowerCase())>-1&&delete e.headers[n];return e},oM=e=>encodeURIComponent(e).replace(/[!'()*]/g,oR),oR=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class oX{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){this.service=t,this.sha256=a,this.uriEscapePath=u,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=t1(i),this.credentialProvider=t1(n)}createCanonicalRequest(e,n,i){let t=Object.keys(n).sort();return`${e.method}
44
+ ${e}`);t&&e&&console.log(e),t&&console.log("✅ Database migration completed successfully")}finally{tU.existsSync(s)&&tU.unlinkSync(s)}}class tV{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){var n;let i=new tV({...e,headers:{...e.headers}});return i.query&&(i.query=Object.keys(n=i.query).reduce((e,i)=>{let t=n[i];return{...e,[i]:Array.isArray(t)?[...t]:t}},{})),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 tV.clone(this)}}let t0={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0},t1=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},t3={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t2=t3.WHEN_SUPPORTED,t4={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},t6=t3.WHEN_SUPPORTED;(G=eu||(eu={})).MD5="MD5",G.CRC32="CRC32",G.CRC32C="CRC32C",G.CRC64NVME="CRC64NVME",G.SHA1="SHA1",G.SHA256="SHA256",(K=eo||(eo={})).HEADER="header",K.TRAILER="trailer";let t8=eu.CRC32;function t5(e){return e}let t7={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:!0},t9=e=>({applyToStack:n=>{n.add(n=>async i=>{if(!tV.isInstance(i.request))return n(i);let{request:t}=i,{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 n(i)},t7)}}),ae={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:!0},an=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{try{let t=await e(i),{clientName:a,commandName:u,logger:o,dynamoDbDocumentClientOptions:r={}}=n,{overrideInputFilterSensitiveLog:s,overrideOutputFilterSensitiveLog:l}=r,h=s??n.inputFilterSensitiveLog,g=l??n.outputFilterSensitiveLog,{$metadata:c,...d}=t.output;return o?.info?.({clientName:a,commandName:u,input:h(i.input),output:g(d),metadata:c}),t}catch(s){let{clientName:e,commandName:t,logger:a,dynamoDbDocumentClientOptions:u={}}=n,{overrideInputFilterSensitiveLog:o}=u,r=o??n.inputFilterSensitiveLog;throw a?.error?.({clientName:e,commandName:t,input:r(i.input),error:s,metadata:s.$metadata}),s}},ae)}}),ai={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:!0,priority:"low"},at={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")},aa=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");aa||(globalThis.awslambda=globalThis.awslambda||{});class au{static PROTECTED_KEYS=at;isProtectedKey(e){return Object.values(at).includes(e)}getRequestId(){return this.get(at.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(at.X_RAY_TRACE_ID)}getTenantId(){return this.get(at.TENANT_ID)}}class ao extends au{currentContext;getContext(){return this.currentContext}hasContext(){return void 0!==this.currentContext}get(e){return this.currentContext?.[e]}set(e,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);this.currentContext=this.currentContext||{},this.currentContext[e]=n}run(e,n){return this.currentContext=e,n()}}class ar extends au{als;static async create(){let e=new ar;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,n){if(this.isProtectedKey(e))throw Error(`Cannot modify protected Lambda context field: ${String(e)}`);let i=this.als.getStore();if(!i)throw Error("No context available");i[e]=n}run(e,n){return this.als.run(e,n)}}$=er||(er={}),c=null,$.getInstanceAsync=async function(){return c||(c=(async()=>{let e="AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await ar.create():new ao;return!aa&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!aa&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=e),e)})()),c},$._testing="1"===process.env.AWS_LAMBDA_BENCHMARK_MODE?{reset:()=>{c=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={}}}:void 0;let as="X-Amzn-Trace-Id",al=e=>({applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!tV.isInstance(i))return e(n);let t=Object.keys(i.headers??{}).find(e=>e.toLowerCase()===as.toLowerCase())??as;if(i.headers.hasOwnProperty(t))return e(n);let a=process.env.AWS_LAMBDA_FUNCTION_NAME,u=process.env._X_AMZN_TRACE_ID,o=await er.getInstanceAsync(),r=o?.getXRayTraceId()??u,s=e=>"string"==typeof e&&e.length>0;return s(a)&&s(r)&&(i.headers[as]=r),e({...n,request:i})},ai)}});class ah{data;lastPurgeTime=Date.now();static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS=3e4;constructor(e={}){this.data=e}get(e){let n=this.data[e];if(n)return n}set(e,n){return this.data[e]=n,n}delete(e){delete this.data[e]}async purgeExpired(){let e=Date.now();if(!(this.lastPurgeTime+ah.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS>e))for(let n in this.data){let i=this.data[n];if(!i.isRefreshing){let t=await i.identity;t.expiration&&t.expiration.getTime()<e&&delete this.data[n]}}}}class ag{_identity;isRefreshing;accessed;constructor(e,n=!1,i=Date.now()){this._identity=e,this.isRefreshing=n,this.accessed=i}get identity(){return this.accessed=Date.now(),this._identity}}class ac{createSessionFn;cache;static REFRESH_WINDOW_MS=6e4;constructor(e,n=new ah){this.createSessionFn=e,this.cache=n}async getS3ExpressIdentity(e,n){let i=n.Bucket,{cache:t}=this,a=t.get(i);return a?a.identity.then(e=>(e.expiration?.getTime()??0)<Date.now()?t.set(i,new ag(this.getIdentity(i))).identity:((e.expiration?.getTime()??0)<Date.now()+ac.REFRESH_WINDOW_MS&&!a.isRefreshing&&(a.isRefreshing=!0,this.getIdentity(i).then(e=>{t.set(i,new ag(Promise.resolve(e)))})),e)):t.set(i,new ag(this.getIdentity(i))).identity}async getIdentity(e){await this.cache.purgeExpired().catch(e=>{console.warn("Error while clearing expired entries in S3ExpressIdentityCache: \n"+e)});let n=await this.createSessionFn(e);if(!n.Credentials?.AccessKeyId||!n.Credentials?.SecretAccessKey)throw Error("s3#createSession response credential missing AccessKeyId or SecretAccessKey.");return{accessKeyId:n.Credentials.AccessKeyId,secretAccessKey:n.Credentials.SecretAccessKey,sessionToken:n.Credentials.SessionToken,expiration:n.Credentials.Expiration?new Date(n.Credentials.Expiration):void 0}}}let ad={name:"bucketEndpointMiddleware",override:!0,relation:"after",toMiddleware:"endpointV2Middleware"},ap={step:"initialize",tags:["VALIDATE_BUCKET_NAME"],name:"validateBucketNameMiddleware",override:!0},af={tags:["REGION_REDIRECT","S3"],name:"regionRedirectEndpointMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},am={step:"initialize",tags:["REGION_REDIRECT","S3"],name:"regionRedirectMiddleware",override:!0};function ay(e,n,i){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[n]=i}let aS=(e,n,i)=>{if(n in e){if("true"===e[n])return!0;if("false"===e[n])return!1;throw Error(`Cannot load ${i} "${n}". Expected "true" or "false", got ${e[n]}.`)}};(U=es||(es={})).ENV="env",U.CONFIG="shared config entry";let ab="X-Amz-S3session-Token",aC=ab.toLowerCase(),aw={environmentVariableSelector:e=>aS(e,"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH",es.ENV),configFileSelector:e=>aS(e,"s3_disable_express_session_auth",es.CONFIG),default:!1},aT={name:"s3ExpressMiddleware",step:"build",tags:["S3","S3_EXPRESS"],override:!0},ax="__smithy_context",aL=e=>e[ax]||(e[ax]={}),aE={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:!0,relation:"after",toMiddleware:"retryMiddleware"},aY=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{if(!tV.isInstance(i.request))return e(i);let t=aL(n).selectedHttpAuthScheme;if(!t)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:u,signer:o}=t,r=await e({...i,request:await o.sign(i.request,u,a)}).catch((o.errorHandler||(e=>e=>{throw e}))(a));return(o.successHandler||((e,n)=>{}))(r.response,a),r},aE)}}),aD=async(e,n,i,t)=>{let a=await t.signWithCredentials(i,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},aZ=e=>{if("function"==typeof e)return e;let n=Promise.resolve(e);return()=>n},av;function aN(e){let n=aZ(e.userAgentAppId??av),{customUserAgent:i}=e;return Object.assign(e,{customUserAgent:"string"==typeof i?[[i]]:i,userAgentAppId:async()=>{let i=await n();if(!(void 0===i||"string"==typeof i&&i.length<=50)){let n=e.logger?.constructor?.name!=="NoOpLogger"&&e.logger?e.logger:console;"string"!=typeof i?n?.warn("userAgentAppId must be a string or undefined."):i.length>50&&n?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}return i}})}let aA={},aJ=RegExp("^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$"),aP=(e,n=!1)=>{if(!n)return aJ.test(e);for(let n of e.split("."))if(!aP(n))return!1;return!0},aM=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}$"),aR=e=>aM.test(e)||e.startsWith("[")&&e.endsWith("]"),aX=(e,n=!1)=>{if(n){for(let n of e.split("."))if(!aX(n))return!1;return!0}return!(!aP(e)||e.length<3||e.length>63||e!==e.toLowerCase()||aR(e))};var aH=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 aB={isVirtualHostableS3Bucket:aX,parseArn:e=>{let n=e.split(":");if(n.length<6)return null;let[i,t,a,u,o,...r]=n;return"arn"!==i||""===t||""===a||""===r.join(":")?null:{partition:t,service:a,region:u,accountId:o,resourceId:r.map(e=>e.split("/")).flat()}},partition:e=>{let{partitions:n}=aH;for(let i of n){let{regions:n,outputs:t}=i;for(let[i,a]of Object.entries(n))if(i===e)return{...t,...a}}for(let i of n){let{regionRegex:n,outputs:t}=i;if(new RegExp(n).test(e))return{...t}}let i=n.find(e=>"aws"===e.id);if(!i)throw Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return{...i.outputs}}};aA.aws=aB;let ak=/\d{12}\.ddb/;async function a_(e,n,i){let t=i.request;if(t?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&ay(e,"PROTOCOL_RPC_V2_CBOR","M"),"function"==typeof n.retryStrategy){let i=await n.retryStrategy();"function"==typeof i.acquireInitialRetryToken?i.constructor?.name?.includes("Adaptive")?ay(e,"RETRY_MODE_ADAPTIVE","F"):ay(e,"RETRY_MODE_STANDARD","E"):ay(e,"RETRY_MODE_LEGACY","D")}if("function"==typeof n.accountIdEndpointMode){let i=e.endpointV2;switch(String(i?.url?.hostname).match(ak)&&ay(e,"ACCOUNT_ID_ENDPOINT","O"),await n.accountIdEndpointMode?.()){case"disabled":ay(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":ay(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":ay(e,"ACCOUNT_ID_MODE_REQUIRED","R")}}let a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source)for(let[n,i]of(a.accountId&&ay(e,"RESOLVED_ACCOUNT_ID","T"),Object.entries(a.$source??{})))ay(e,n,i)}let aF="user-agent",aQ="x-amz-user-agent",aI=/[^!$%&'*+\-.^_`|~\w]/g,aO=/[^!$%&'*+\-.^_`|~\w#]/g,aG=e=>{let n=e[0].split("/").map(e=>e.replace(aI,"-")).join("/"),i=e[1]?.replace(aO,"-"),t=n.indexOf("/"),a=n.substring(0,t),u=n.substring(t+1);return"api"===a&&(u=u.toLowerCase()),[a,u,i].filter(e=>e&&e.length>0).reduce((e,n,i)=>{switch(i){case 0:return n;case 1:return`${e}/${n}`;default:return`${e}#${n}`}},"")},aK={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:!0},a$=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let{request:a}=t;if(!tV.isInstance(a))return n(t);let{headers:u}=a,o=i?.userAgent?.map(aG)||[],r=(await e.defaultUserAgentProvider()).map(aG);await a_(i,e,t),r.push(`m/${function(e){let n="";for(let i in e){let t=e[i];if(n.length+t.length+1<=1024){n.length?n+=","+t:n+=t;continue}break}return n}(Object.assign({},i.__smithy_context?.features,i.__aws_sdk_context?.features))}`);let s=e?.customUserAgent?.map(aG)||[],l=await e.userAgentAppId();l&&r.push(aG(["app",`${l}`]));let h=[].concat([...r,...o,...s]).join(" "),g=[...r.filter(e=>e.startsWith("aws-sdk-")),...s].join(" ");return"browser"!==e.runtime?(g&&(u[aQ]=u[aQ]?`${u[aF]} ${g}`:g),u[aF]=h):u[aQ]=h,n({...t,request:a})},aK)}}),aU=new Set,aW=e=>"string"==typeof e&&(e.startsWith("fips-")||e.endsWith("-fips")),az=e=>{let{region:n,useFipsEndpoint:i}=e;if(!n)throw Error("Region is missing");return Object.assign(e,{region:async()=>{let e,i=aW(e="function"==typeof n?await n():n)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;return((e,n=aP)=>{if(aU.has(e)||n(e))aU.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.`)})(i),i},useFipsEndpoint:async()=>!!aW("string"==typeof n?n:await n())||("function"!=typeof i?Promise.resolve(!!i):i())})},aj={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:!0,relation:"before",toMiddleware:"endpointV2Middleware"},aq=(e,{httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i})=>({applyToStack:t=>{let a;t.addRelativeTo((a={httpAuthSchemeParametersProvider:n,identityProviderConfigProvider:i},(n,i)=>async t=>{let u=((e,n)=>{if(!n||0===n.length)return e;let i=[];for(let t of n)for(let n of e)n.schemeId.split("#")[1]===t&&i.push(n);for(let n of e)i.find(({schemeId:e})=>e===n.schemeId)||i.push(n);return i})(e.httpAuthSchemeProvider(await a.httpAuthSchemeParametersProvider(e,i,t.input)),e.authSchemePreference?await e.authSchemePreference():[]),o=function(e){let n=new Map;for(let i of e)n.set(i.schemeId,i);return n}(e.httpAuthSchemes),r=aL(i),s=[];for(let n of u){let t=o.get(n.schemeId);if(!t){s.push(`HttpAuthScheme \`${n.schemeId}\` was not enabled for this service.`);continue}let u=t.identityProvider(await a.identityProviderConfigProvider(e));if(!u){s.push(`HttpAuthScheme \`${n.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:l={},signingProperties:h={}}=n.propertiesExtractor?.(e,i)||{};n.identityProperties=Object.assign(n.identityProperties||{},l),n.signingProperties=Object.assign(n.signingProperties||{},h),r.selectedHttpAuthScheme={httpAuthOption:n,identity:await u(n.identityProperties),signer:t.signer};break}if(!r.selectedHttpAuthScheme)throw Error(s.join("\n"));return n(t)}),aj)}});class aV{authSchemes=new Map;constructor(e){for(let[n,i]of Object.entries(e))void 0!==i&&this.authSchemes.set(n,i)}getIdentityProvider(e){return this.authSchemes.get(e)}}class a0{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 a1=(e,n,i,t,a)=>({name:n,namespace:e,traits:i,input:t,output:a}),a3=(e,n)=>(n.find(([n])=>n.match(e))||[void 0,void 0])[1],a2={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:!0},a4={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0};function a6(e){return{applyToStack:n=>{n.add((n,i)=>async t=>{let{operationSchema:a}=aL(i),[,u,o,r,s,l]=a??[],h=i.endpointV2?.url&&e.urlParser?async()=>e.urlParser(i.endpointV2.url):e.endpoint,g=await e.protocol.serializeRequest(a1(u,o,r,s,l),t.input,{...e,...i,endpoint:h});return n({...t,request:g})},a4),n.add((n,i)=>async t=>{let{response:a}=await n(t),{operationSchema:u}=aL(i),[,o,r,s,l,h]=u??[];try{let n=await e.protocol.deserializeResponse(a1(o,r,s,l,h),{...e,...i},a);return{response:a,output:n}}catch(e){if(Object.defineProperty(e,"$response",{value:a,enumerable:!1,writable:!1,configurable:!1}),!("$metadata"in e)){let n="Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.";try{e.message+="\n "+n}catch(e){i.logger&&i.logger?.constructor?.name!=="NoOpLogger"?i.logger?.warn?.(n):console.warn(n)}void 0!==e.$responseBodyText&&e.$response&&(e.$response.body=e.$responseBodyText);try{if(a0.isInstance(a)){let{headers:n={}}=a,i=Object.entries(n);e.$metadata={httpStatusCode:a.statusCode,requestId:a3(/^x-[\w-]+-request-?id$/,i),extendedRequestId:a3(/^x-[\w-]+-id-2$/,i),cfId:a3(/^x-[\w-]+-cf-id$/,i)}}}catch(e){}}throw e}},a2),e.protocol.setSerdeContext(e)}}}let a8="content-length",a5={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},a7=e=>({applyToStack:n=>{var i;n.add((i=e.bodyLengthChecker,e=>async n=>{let t=n.request;if(tV.isInstance(t)){let{body:e,headers:n}=t;if(e&&-1===Object.keys(n).map(e=>e.toLowerCase()).indexOf(a8))try{let n=i(e);t.headers={...t.headers,[a8]:String(n)}}catch(e){}}return e({...n,request:t})}),a5)}}),a9=(e,n,i)=>{let t,a,u,o=!1,r=async()=>{a||(a=e());try{t=await a,u=!0,o=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await r()),t):async e=>((!u||e?.forceRefresh)&&(t=await r()),o||(i&&!i(t)?o=!0:n(t)&&await r()),t)};class ue extends Error{name="ProviderError";tryNextLink;constructor(e,n=!0){let i,t=!0;"boolean"==typeof n?(i=void 0,t=n):null!=n&&"object"==typeof n&&(i=n.logger,t=n.tryNextLink??!0),super(e),this.tryNextLink=t,Object.setPrototypeOf(this,ue.prototype),i?.debug?.(`@smithy/property-provider ${t?"->":"(!)"} ${e}`)}static from(e,n=!0){return Object.assign(new this(e.message,n),e)}}let un=(...e)=>async()=>{let n;if(0===e.length)throw new ue("No providers in chain");for(let i of e)try{return await i()}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n};class ui extends ue{name="CredentialsProviderError";constructor(e,n=!0){super(e,n),Object.setPrototypeOf(this,ui.prototype)}}function ut(e){try{let n=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return n.delete("CONFIG"),n.delete("CONFIG_PREFIX_SEPARATOR"),n.delete("ENV"),[...n].join(", ")}catch(n){return e}}let ua="AWS_PROFILE",uu=e=>e.profile||process.env[ua]||"default";(W=el||(el={})).PROFILE="profile",W.SSO_SESSION="sso-session",W.SERVICES="services";let uo=e=>Object.entries(e).filter(([e])=>{let n=e.indexOf(".");return -1!==n&&Object.values(el).includes(e.substring(0,n))}).reduce((e,[n,i])=>{let t=n.indexOf(".");return e[n.substring(0,t)===el.PROFILE?n.substring(t+1):n]=i,e},{...e.default&&{default:e.default}}),ur={},us=()=>{let{HOME:e,USERPROFILE:n,HOMEPATH:i,HOMEDRIVE:t=`C:${tW.sep}`}=process.env;if(e)return e;if(n)return n;if(i)return`${t}${i}`;let a=process&&process.geteuid?`${process.geteuid()}`:"DEFAULT";return ur[a]||(ur[a]=(0,tz.homedir)()),ur[a]},ul=()=>process.env.AWS_CONFIG_FILE||(0,tW.join)(us(),".aws","config"),uh=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,ug=["__proto__","profile __proto__"],uc=e=>{let n,i,t={};for(let a of e.split(/\r?\n/)){let e=a.split(/(^|\s)[;#]/)[0].trim();if("["===e[0]&&"]"===e[e.length-1]){n=void 0,i=void 0;let t=e.substring(1,e.length-1),a=uh.exec(t);if(a){let[,e,,i]=a;Object.values(el).includes(e)&&(n=[e,i].join("."))}else n=t;if(ug.includes(t))throw Error(`Found invalid profile name "${t}"`)}else if(n){let u=e.indexOf("=");if(![0,-1].includes(u)){let[o,r]=[e.substring(0,u).trim(),e.substring(u+1).trim()];if(""===r)i=o;else{i&&a.trimStart()===a&&(i=void 0),t[n]=t[n]||{};let e=i?[i,o].join("."):o;t[n][e]=r}}}}return t},ud={},up={},uf=(e,n)=>void 0!==up[e]?up[e]:((!ud[e]||n?.ignoreCache)&&(ud[e]=Z(e,"utf8")),ud[e]),um=()=>({}),uy=async(e={})=>{let{filepath:n=process.env.AWS_SHARED_CREDENTIALS_FILE||(0,tW.join)(us(),".aws","credentials"),configFilepath:i=ul()}=e,t=us(),a=n;n.startsWith("~/")&&(a=(0,tW.join)(t,n.slice(2)));let u=i;i.startsWith("~/")&&(u=(0,tW.join)(t,i.slice(2)));let o=await Promise.all([uf(u,{ignoreCache:e.ignoreCache}).then(uc).then(uo).catch(um),uf(a,{ignoreCache:e.ignoreCache}).then(uc).catch(um)]);return{configFile:o[0],credentialsFile:o[1]}},uS=({environmentVariableSelector:e,configFileSelector:n,default:i},t={})=>{let a,{signingName:u,logger:o}=t;return a9(un((a={signingName:u,logger:o},async()=>{try{let n=e(process.env,a);if(void 0===n)throw Error();return n}catch(n){throw new ui(n.message||`Not found in ENV: ${ut(e.toString())}`,{logger:a?.logger})}}),((e,{preferredFile:n="config",...i}={})=>async()=>{let t=uu(i),{configFile:a,credentialsFile:u}=await uy(i),o=u[t]||{},r=a[t]||{},s="config"===n?{...o,...r}:{...r,...o};try{let i="config"===n?a:u,t=e(s,i);if(void 0===t)throw Error();return t}catch(n){throw new ui(n.message||`Not found in config files w/ profile [${t}]: ${ut(e.toString())}`,{logger:i.logger})}})(n,t),(e=>"function"==typeof e?async()=>await e():()=>Promise.resolve(e))(i)))},ub="AWS_ENDPOINT_URL",uC="endpoint_url",uw=async e=>{let n;return uS((n=e??"",{environmentVariableSelector:e=>{let i=e[[ub,...n.split(" ").map(e=>e.toUpperCase())].join("_")];if(i)return i;let t=e[ub];if(t)return t},configFileSelector:(e,i)=>{if(i&&e.services){let t=i[["services",e.services].join(".")];if(t){let e=t[[n.split(" ").map(e=>e.toLowerCase()).join("_"),uC].join(".")];if(e)return e}}let t=e[uC];if(t)return t},default:void 0}))()},uT=e=>{let n;if("string"==typeof e)return uT(new URL(e));let{hostname:i,pathname:t,port:a,protocol:u,search:o}=e;return o&&(n=function(e){let n={};if(e=e.replace(/^\?/,""))for(let i of e.split("&")){let[e,t=null]=i.split("=");e=decodeURIComponent(e),t&&(t=decodeURIComponent(t)),e in n?Array.isArray(n[e])?n[e].push(t):n[e]=[n[e],t]:n[e]=t}return n}(o)),{hostname:i,port:a?parseInt(a):void 0,protocol:u,path:t,query:n}},ux=e=>"object"==typeof e?"url"in e?uT(e.url):e:uT(e),uL=e=>{let n,i=e.tls??!0,{endpoint:t,useDualstackEndpoint:a,useFipsEndpoint:u}=e,o=Object.assign(e,{endpoint:null!=t?async()=>ux(await t1(t)()):void 0,tls:i,isCustomEndpoint:!!t,useDualstackEndpoint:t1(a??!1),useFipsEndpoint:t1(u??!1)});return o.serviceConfiguredEndpoint=async()=>(e.serviceId&&!n&&(n=uw(e.serviceId)),n),o};(z=eh||(eh={})).STANDARD="standard",z.ADAPTIVE="adaptive";let uE=eh.STANDARD,uY=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],uD=["TimeoutError","RequestTimeout","RequestTimeoutException"],uZ=[500,502,503,504],uv=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],uN=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],uA=e=>e.$metadata?.httpStatusCode===429||uY.includes(e.name)||e.$retryable?.throttling==!0,uJ=(e,n=0)=>{let i;return e?.$retryable!==void 0||e.$metadata?.clockSkewCorrected||uD.includes(e.name)||uv.includes(e?.code||"")||uN.includes(e?.code||"")||uZ.includes(e.$metadata?.httpStatusCode||0)||(i=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)&&i.has(e.message))||void 0!==e.cause&&n<=10&&uJ(e.cause,n+1)};class uP{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 n=this.getCurrentTimeInSeconds();this.lastThrottleTime=n,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 n=(e-this.currentCapacity)/this.fillRate*1e3;await new Promise(e=>uP.setTimeoutFn(e,n))}this.currentCapacity=this.currentCapacity-e}}refillTokenBucket(){let e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}let n=(e-this.lastTimestamp)*this.fillRate;this.currentCapacity=Math.min(this.maxCapacity,this.currentCapacity+n),this.lastTimestamp=e}updateClientSendingRate(e){let n;if(this.updateMeasuredRate(),uA(e)){let e=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=e,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),n=this.cubicThrottle(e),this.enableTokenBucket()}else this.calculateTimeWindow(),n=this.cubicSuccess(this.getCurrentTimeInSeconds());let i=Math.min(n,2*this.measuredTxRate);this.updateTokenBucketRate(i)}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 n=this.requestCount/(e-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(n*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=e}}getPrecise(e){return parseFloat(e.toFixed(8))}}let uM=({retryDelay:e,retryCount:n,retryCost:i})=>({getRetryCount:()=>n,getRetryDelay:()=>Math.min(2e4,e),getRetryCost:()=>i});class uR{maxAttempts;mode=eh.STANDARD;capacity=500;retryBackoffStrategy=(()=>{let e=100;return{computeNextBackoffDelay:n=>Math.floor(Math.min(2e4,Math.random()*2**n*e)),setDelayBase:n=>{e=n}}})();maxAttemptsProvider;constructor(e){this.maxAttempts=e,this.maxAttemptsProvider="function"==typeof e?e:async()=>e}async acquireInitialRetryToken(e){return uM({retryDelay:100,retryCount:0})}async refreshRetryTokenForRetry(e,n){let i=await this.getMaxAttempts();if(this.shouldRetry(e,n,i)){let i=n.errorType;this.retryBackoffStrategy.setDelayBase("THROTTLING"===i?500:100);let t=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount()),a=n.retryAfterHint?Math.max(n.retryAfterHint.getTime()-Date.now()||0,t):t,u=this.getCapacityCost(i);return this.capacity-=u,uM({retryDelay:a,retryCount:e.getRetryCount()+1,retryCost:u})}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,n,i){return e.getRetryCount()+1<i&&this.capacity>=this.getCapacityCost(n.errorType)&&this.isRetryableError(n.errorType)}getCapacityCost(e){return"TRANSIENT"===e?10:5}isRetryableError(e){return"THROTTLING"===e||"TRANSIENT"===e}}class uX{maxAttemptsProvider;rateLimiter;standardRetryStrategy;mode=eh.ADAPTIVE;constructor(e,n){this.maxAttemptsProvider=e;let{rateLimiter:i}=n??{};this.rateLimiter=i??new uP,this.standardRetryStrategy=new uR(e)}async acquireInitialRetryToken(e){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(e)}async refreshRetryTokenForRetry(e,n){return this.rateLimiter.updateClientSendingRate(n),this.standardRetryStrategy.refreshRetryTokenForRetry(e,n)}recordSuccess(e){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(e)}}let uH="AWS_MAX_ATTEMPTS",uB="max_attempts",uk={environmentVariableSelector:e=>{let n=e[uH];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Environment variable ${uH} mast be a number, got "${n}"`);return i},configFileSelector:e=>{let n=e[uB];if(!n)return;let i=parseInt(n);if(Number.isNaN(i))throw Error(`Shared config file entry ${uB} mast be a number, got "${n}"`);return i},default:3},u_=e=>{let{retryStrategy:n,retryMode:i,maxAttempts:t}=e,a=t1(t??3);return Object.assign(e,{maxAttempts:a,retryStrategy:async()=>n||(await t1(i)()===eh.ADAPTIVE?new uX(a):new uR(a))})},uF={environmentVariableSelector:e=>e.AWS_RETRY_MODE,configFileSelector:e=>e.retry_mode,default:uE};class uQ{trace(){}debug(){}info(){}warn(){}error(){}}let uI=b("crypto"),uO=uI.default.randomUUID.bind(uI.default),uG=Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")),uK=()=>{if(uO)return uO();let e=new Uint8Array(16);return crypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128,uG[e[0]]+uG[e[1]]+uG[e[2]]+uG[e[3]]+"-"+uG[e[4]]+uG[e[5]]+"-"+uG[e[6]]+uG[e[7]]+"-"+uG[e[8]]+uG[e[9]]+"-"+uG[e[10]]+uG[e[11]]+uG[e[12]]+uG[e[13]]+uG[e[14]]+uG[e[15]]},u$=e=>e?.body instanceof A||"u">typeof ReadableStream&&e?.body instanceof ReadableStream,uU=e=>e instanceof Error?e:e instanceof Object?Object.assign(Error(),e):"string"==typeof e?Error(e):Error(`AWS SDK error wrapper for ${e}`),uW=e=>{let n={error:e,errorType:uz(e)},i=uV(e.$response);return i&&(n.retryAfterHint=i),n},uz=e=>uA(e)?"THROTTLING":uJ(e)?"TRANSIENT":(e=>{if(e.$metadata?.httpStatusCode!==void 0){let n=e.$metadata.httpStatusCode;if(500<=n&&n<=599&&!uJ(e))return!0}return!1})(e)?"SERVER_ERROR":"CLIENT_ERROR",uj={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:!0},uq=e=>({applyToStack:n=>{n.add((n,i)=>async t=>{let a,u=await e.retryStrategy(),o=await e.maxAttempts();if(void 0===(a=u).acquireInitialRetryToken||void 0===a.refreshRetryTokenForRetry||void 0===a.recordSuccess)return u?.mode&&(i.userAgent=[...i.userAgent||[],["cfg/retry-mode",u.mode]]),u.retry(n,t);{let e=await u.acquireInitialRetryToken(i.partition_id),a=Error(),r=0,s=0,{request:l}=t,h=tV.isInstance(l);for(h&&(l.headers["amz-sdk-invocation-id"]=uK());;)try{h&&(l.headers["amz-sdk-request"]=`attempt=${r+1}; max=${o}`);let{response:i,output:a}=await n(t);return u.recordSuccess(e),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,{response:i,output:a}}catch(o){let n=uW(o);if(a=uU(o),h&&u$(l))throw(i.logger instanceof uQ?console:i.logger)?.warn("An error was encountered in a non-retryable streaming request."),a;try{e=await u.refreshRetryTokenForRetry(e,n)}catch(e){throw a.$metadata||(a.$metadata={}),a.$metadata.attempts=r+1,a.$metadata.totalRetryDelay=s,a}r=e.getRetryCount();let t=e.getRetryDelay();s+=t,await new Promise(e=>setTimeout(e,t))}}},uj)}}),uV=e=>{if(!a0.isInstance(e))return;let n=Object.keys(e.headers).find(e=>"retry-after"===e.toLowerCase());if(!n)return;let i=e.headers[n],t=Number(i);return new Date(Number.isNaN(t)?i:1e3*t)},u0=(e,n)=>{let i=[];if(e&&i.push(e),n)for(let e of n)i.push(e);return i},u1=(e,n)=>`${e||"anonymous"}${n&&n.length>0?` (a.k.a. ${n.join(",")})`:""}`,u3=()=>{let e=[],n=[],i=!1,t=new Set,a=i=>(e.forEach(e=>{i.add(e.middleware,{...e})}),n.forEach(e=>{i.addRelativeTo(e.middleware,{...e})}),i.identifyOnResolve?.(r.identifyOnResolve()),i),u=e=>{let n=[];return e.before.forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n.push(e),e.after.reverse().forEach(e=>{0===e.before.length&&0===e.after.length?n.push(e):n.push(...u(e))}),n},o=(i=!1)=>{let t=[],a=[],o={};return e.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;t.push(n)}),n.forEach(e=>{let n={...e,before:[],after:[]};for(let e of u0(n.name,n.aliases))o[e]=n;a.push(n)}),a.forEach(e=>{if(e.toMiddleware){let n=o[e.toMiddleware];if(void 0===n){if(i)return;throw Error(`${e.toMiddleware} is not found when adding ${u1(e.name,e.aliases)} middleware ${e.relation} ${e.toMiddleware}`)}"after"===e.relation&&n.after.push(e),"before"===e.relation&&n.before.push(e)}}),t.sort((e,n)=>u2[n.step]-u2[e.step]||u4[n.priority||"normal"]-u4[e.priority||"normal"]).map(u).reduce((e,n)=>(e.push(...n),e),[])},r={add:(n,i={})=>{let{name:a,override:u,aliases:o}=i,r={step:"initialize",priority:"normal",middleware:n,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let n of s){let i=e.findIndex(e=>e.name===n||e.aliases?.some(e=>e===n));if(-1===i)continue;let t=e[i];if(t.step!==r.step||r.priority!==t.priority)throw Error(`"${u1(t.name,t.aliases)}" middleware with ${t.priority} priority in ${t.step} step cannot be overridden by "${u1(a,o)}" middleware with ${r.priority} priority in ${r.step} step.`);e.splice(i,1)}}for(let e of s)t.add(e)}e.push(r)},addRelativeTo:(e,i)=>{let{name:a,override:u,aliases:o}=i,r={middleware:e,...i},s=u0(a,o);if(s.length>0){if(s.some(e=>t.has(e))){if(!u)throw Error(`Duplicate middleware name '${u1(a,o)}'`);for(let e of s){let i=n.findIndex(n=>n.name===e||n.aliases?.some(n=>n===e));if(-1===i)continue;let t=n[i];if(t.toMiddleware!==r.toMiddleware||t.relation!==r.relation)throw Error(`"${u1(t.name,t.aliases)}" middleware ${t.relation} "${t.toMiddleware}" middleware cannot be overridden by "${u1(a,o)}" middleware ${r.relation} "${r.toMiddleware}" middleware.`);n.splice(i,1)}}for(let e of s)t.add(e)}n.push(r)},clone:()=>a(u3()),use:e=>{e.applyToStack(r)},remove:i=>{let a,u;if("string"==typeof i){let a,u;return a=!1,u=e=>{let n=u0(e.name,e.aliases);if(n.includes(i)){for(let e of(a=!0,n))t.delete(e);return!1}return!0},e=e.filter(u),n=n.filter(u),a}return a=!1,u=e=>{if(e.middleware===i){for(let n of(a=!0,u0(e.name,e.aliases)))t.delete(n);return!1}return!0},e=e.filter(u),n=n.filter(u),a},removeByTag:i=>{let a=!1,u=e=>{let{tags:n,name:u,aliases:o}=e;if(n&&n.includes(i)){for(let e of u0(u,o))t.delete(e);return a=!0,!1}return!0};return e=e.filter(u),n=n.filter(u),a},concat:e=>{let n=a(u3());return n.use(e),n.identifyOnResolve(i||n.identifyOnResolve()||(e.identifyOnResolve?.()??!1)),n},applyToStack:a,identify:()=>o(!0).map(e=>{let n=e.step??e.relation+" "+e.toMiddleware;return u1(e.name,e.aliases)+" - "+n}),identifyOnResolve:e=>("boolean"==typeof e&&(i=e),i),resolve:(e,n)=>{for(let i of o().map(e=>e.middleware).reverse())e=i(e,n);return i&&console.log(r.identify()),e}};return r},u2={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},u4={high:3,normal:2,low:1};class u6{config;middlewareStack=u3();initConfig;handlers;constructor(e){this.config=e;let{protocol:n,protocolSettings:i}=e;i&&"function"==typeof n&&(e.protocol=new n(i))}send(e,n,i){let t,a="function"!=typeof n?n:void 0,u="function"==typeof n?n:i;if(void 0===a&&!0===this.config.cacheMiddleware){this.handlers||(this.handlers=new WeakMap);let n=this.handlers;n.has(e.constructor)?t=n.get(e.constructor):(t=e.resolveMiddleware(this.middlewareStack,this.config,a),n.set(e.constructor,t))}else delete this.handlers,t=e.resolveMiddleware(this.middlewareStack,this.config,a);if(!u)return t(e).then(e=>e.output);t(e).then(e=>u(null,e.output),e=>u(e)).catch(()=>{})}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers}}function u8(e,n,i){return e.$source||(e.$source={}),e.$source[n]=i,e}let u5=function(e){return u7(e)&&e.expiration.getTime()-Date.now()<3e5},u7=e=>void 0!==e.expiration,u9={},oe={};for(let e=0;e<256;e++){let n=e.toString(16).toLowerCase();1===n.length&&(n=`0${n}`),u9[e]=n,oe[n]=e}function on(e){if(e.length%2!=0)throw Error("Hex encoded strings must have an even number length");let n=new Uint8Array(e.length/2);for(let i=0;i<e.length;i+=2){let t=e.slice(i,i+2).toLowerCase();if(t in oe)n[i/2]=oe[t];else throw Error(`Cannot decode unrecognized sequence ${t} as hexadecimal`)}return n}function oi(e){let n="";for(let i=0;i<e.byteLength;i++)n+=u9[e[i]];return n}let ot=e=>"function"==typeof ArrayBuffer&&e instanceof ArrayBuffer||"[object ArrayBuffer]"===Object.prototype.toString.call(e),oa=(e,n=0,i=e.byteLength-n)=>{if(!ot(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return P.from(e,n,i)},ou=(e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?P.from(e,n):P.from(e)},oo=e=>{let n=ou(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)},or=e=>"string"==typeof e?oo(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e),os="X-Amz-Date",ol="X-Amz-Signature",oh="X-Amz-Security-Token",og="authorization",oc=os.toLowerCase(),od=[og,oc,"date"],op=ol.toLowerCase(),of="x-amz-content-sha256",om=oh.toLowerCase(),oy={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},oS=/^proxy-/,ob=/^sec-/,oC="AWS4-HMAC-SHA256",ow="aws4_request",oT={},ox=[],oL=(e,n,i)=>`${e}/${n}/${i}/${ow}`,oE=async(e,n,i,t,a)=>{let u=await oY(e,n.secretAccessKey,n.accessKeyId),o=`${i}:${t}:${a}:${oi(u)}:${n.sessionToken}`;if(o in oT)return oT[o];for(ox.push(o);ox.length>50;)delete oT[ox.shift()];let r=`AWS4${n.secretAccessKey}`;for(let n of[i,t,a,ow])r=await oY(e,r,n);return oT[o]=r},oY=(e,n,i)=>{let t=new e(n);return t.update(or(i)),t.digest()},oD=({headers:e},n,i)=>{let t={};for(let a of Object.keys(e).sort()){if(void 0==e[a])continue;let u=a.toLowerCase();(!(u in oy||n?.has(u)||oS.test(u)||ob.test(u))||i&&(!i||i.has(u)))&&(t[u]=e[a].trim().replace(/\s+/g," "))}return t},oZ=async({headers:e,body:n},i)=>{for(let n of Object.keys(e))if(n.toLowerCase()===of)return e[n];if(void 0==n)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";if("string"==typeof n||ArrayBuffer.isView(n)||ot(n)){let e=new i;return e.update(or(n)),oi(await e.digest())}return"UNSIGNED-PAYLOAD"};class ov{format(e){let n=[];for(let i of Object.keys(e)){let t=oo(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=oo(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(oA.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!oN.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}}(j=eg||(eg={}))[j.boolTrue=0]="boolTrue",j[j.boolFalse=1]="boolFalse",j[j.byte=2]="byte",j[j.short=3]="short",j[j.integer=4]="integer",j[j.long=5]="long",j[j.byteArray=6]="byteArray",j[j.string=7]="string",j[j.timestamp=8]="timestamp",j[j.uuid=9]="uuid";let oN=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class oA{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&oJ(n),new oA(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&oJ(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function oJ(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}let oP=e=>{for(let n of Object.keys((e=tV.clone(e)).headers))od.indexOf(n.toLowerCase())>-1&&delete e.headers[n];return e},oM=e=>encodeURIComponent(e).replace(/[!'()*]/g,oR),oR=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;class oX{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){this.service=t,this.sha256=a,this.uriEscapePath=u,this.applyChecksum="boolean"!=typeof e||e,this.regionProvider=t1(i),this.credentialProvider=t1(n)}createCanonicalRequest(e,n,i){let t=Object.keys(n).sort();return`${e.method}
45
45
  ${this.getCanonicalPath(e)}
46
46
  ${(({query:e={}})=>{let n=[],i={};for(let t of Object.keys(e)){if(t.toLowerCase()===op)continue;let a=oM(t);n.push(a);let u=e[t];"string"==typeof u?i[a]=`${a}=${oM(u)}`:Array.isArray(u)&&(i[a]=u.slice(0).reduce((e,n)=>e.concat([`${a}=${oM(n)}`]),[]).sort().join("&"))}return n.sort().map(e=>i[e]).filter(e=>e).join("&")})(e)}
47
47
  ${t.map(e=>`${e}:${n[e]}`).join("\n")}
@@ -50,13 +50,13 @@ ${t.join(";")}
50
50
  ${i}`}async createStringToSign(e,n,i,t){let a=new this.sha256;a.update(or(i));let u=await a.digest();return`${t}
51
51
  ${e}
52
52
  ${n}
53
- ${oi(u)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let n=[];for(let i of e.split("/"))i?.length!==0&&"."!==i&&(".."===i?n.pop():n.push(i));return oM(`${e?.startsWith("/")?"/":""}${n.join("/")}${n.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 n;let i=("number"==typeof(n=e)?new Date(1e3*n):"string"==typeof n?new Date(Number(n)?1e3*Number(n):n):n).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:i,shortDate:i.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class oH extends oX{headerFormatter=new ov;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){super({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u})}async presign(e,n={}){let{signingDate:i=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:u,signableHeaders:o,hoistableHeaders:r,signingRegion:s,signingService:l}=n,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(i);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=oL(d,g,l??this.service),f=((e,n={})=>{let{headers:i,query:t={}}=tV.clone(e);for(let e of Object.keys(i)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!n.unhoistableHeaders?.has(a)||n.hoistableHeaders?.has(a))&&(t[e]=i[e],delete i[e])}return{...e,headers:i,query:t}})(oP(e),{unhoistableHeaders:u,hoistableHeaders:r});h.sessionToken&&(f.query[oh]=h.sessionToken),f.query["X-Amz-Algorithm"]=oC,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[os]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=oD(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[ol]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await oZ(e,this.sha256))),f}async sign(e,n){return"string"==typeof e?this.signString(e,n):e.headers&&e.payload?this.signEvent(e,n):e.message?this.signMessage(e,n):this.signRequest(e,n)}async signEvent({headers:e,payload:n},{signingDate:i=new Date,priorSignature:t,signingRegion:a,signingService:u}){let o=a??await this.regionProvider(),{shortDate:r,longDate:s}=this.formatDate(i),l=oL(r,o,u??this.service),h=await oZ({headers:{},body:n},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,oi(await g.digest()),h].join("\n");return this.signString(c,{signingDate:i,signingRegion:o,signingService:u})}async signMessage(e,{signingDate:n=new Date,signingRegion:i,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:n,signingRegion:i,signingService:t,priorSignature:e.priorSignature}).then(n=>({message:e.message,signature:n}))}async signString(e,{signingDate:n=new Date,signingRegion:i,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let u=i??await this.regionProvider(),{shortDate:o}=this.formatDate(n),r=new this.sha256(await this.getSigningKey(a,u,o,t));return r.update(or(e)),oi(await r.digest())}async signRequest(e,{signingDate:n=new Date,signableHeaders:i,unsignableHeaders:t,signingRegion:a,signingService:u}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let r=a??await this.regionProvider(),s=oP(e),{longDate:l,shortDate:h}=this.formatDate(n),g=oL(h,r,u??this.service);s.headers[oc]=l,o.sessionToken&&(s.headers[om]=o.sessionToken);let c=await oZ(s,this.sha256);!((e,n)=>{for(let i of(e=e.toLowerCase(),Object.keys(n)))if(e===i.toLowerCase())return!0;return!1})(of,s.headers)&&this.applyChecksum&&(s.headers[of]=c);let d=oD(s,t,i),p=await this.getSignature(l,g,this.getSigningKey(o,r,h,u),this.createCanonicalRequest(s,d,c));return s.headers[og]=`${oC} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,n,i,t){let a=await this.createStringToSign(e,n,t,oC),u=new this.sha256(await i);return u.update(or(a)),oi(await u.digest())}getSigningKey(e,n,i,t){return oE(this.sha256,e,i,n,t||this.service)}}let oB=e=>{let n,i,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(i){i&&i!==t&&i!==n&&(a=!0);let u=function(e,{credentials:n,credentialDefaultProvider:i}){let t;return(t=n?n?.memoized?n:((e,n,i)=>{let t,a,u;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,r=!1,s=async e=>{a||(a=o(e));try{t=await a,u=!0,r=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await s(e)),t):async e=>((!u||e?.forceRefresh)&&(t=await s(e)),r||(i(t)?n(t)&&await s(e):r=!0),t)})(n,u5,u7):i?aZ(i(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}(e,{credentials:t=i,credentialDefaultProvider:e.credentialDefaultProvider}),o=function(e,n){if(n.configBound)return n;let i=async i=>n({...i,callerClientConfig:e});return i.memoized=n.memoized,i.configBound=!0,i}(e,u);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(n=async n=>{let i=await o(n);return e&&(!i.$source||0===Object.keys(i.$source).length)?u8(i,"CREDENTIALS_CODE","e"):i}).memoized=o.memoized,n.configBound=o.configBound,n.attributed=!0}else n=o},get:()=>n,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:u=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:r}=e;return i=e.signer?aZ(e.signer):e.regionInfoProvider?()=>aZ(e.region)().then(async n=>[await e.regionInfoProvider(n,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},n]).then(([n,i])=>{let{signingRegion:t,signingService:a}=n;e.signingRegion=e.signingRegion||t||i,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oH)(o)}):async n=>{let i=(n=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await aZ(e.region)(),properties:{}},n)).signingRegion,t=n.signingName;e.signingRegion=e.signingRegion||i,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oH)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:u,signer:i})},ok={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new ue("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 ue("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class oF extends oH{async signWithCredentials(e,n,i){let t=o_(n);return e.headers[aC]=n.sessionToken,oQ(this,t),this.signRequest(e,i??{})}async presignWithCredentials(e,n,i){let t=o_(n);return delete e.headers[aC],e.headers[ab]=n.sessionToken,e.query=e.query??{},e.query[ab]=n.sessionToken,oQ(this,t),this.presign(e,i)}}function o_(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function oQ(e,n){let i=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(i),e.credentialProvider=t,Promise.resolve(n))}class oI{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new oF(e),this.signerOptions=e}async sign(e,n={}){return"*"===n.signingRegion?this.getSigv4aSigner().sign(e,n):this.sigv4Signer.sign(e,n)}async signWithCredentials(e,n,i={}){if("*"===i.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,n,i)}async presign(e,n={}){if("*"===n.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,n)}async presignWithCredentials(e,n,i={}){if("*"===i.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,n,i)}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 oO=async e=>{let n=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=n.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),oU(n)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else oW(n)&&(-1===n.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&n.toLowerCase()===n&&!(n.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},oG=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,oK=/(\d+\.){3}\d+/,o$=/\.\./,oW=e=>oG.test(e)&&!oK.test(e)&&!o$.test(e),oU=e=>{let[n,i,t,,,a]=e.split(":"),u="arn"===n&&e.split(":").length>=6,o=!!(u&&i&&t&&a);if(u&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},oz=(e,n,i,t=!1)=>{let a=async()=>{let a;if(t){let t=i.clientContextParams;a=t?.[e]??i[e]??i[n]}else a=i[e]??i[n];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===n?async()=>{if(!1===i.isCustomEndpoint)return;let e=await a();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:n,hostname:i,port:t,path:a}=e;return`${n}//${i}${t?":"+t:""}${a}`}}return e}:a},oj=async(e,n,i,t)=>{if(!i.isCustomEndpoint){let e;(e=i.serviceConfiguredEndpoint?await i.serviceConfiguredEndpoint():await uw(i.serviceId))&&(i.endpoint=()=>Promise.resolve(ux(e)),i.isCustomEndpoint=!0)}let a=await oq(e,n,i);if("function"!=typeof i.endpointProvider)throw Error("config.endpointProvider is not set.");return i.endpointProvider(a,t)},oq=async(e,n,i)=>{let t={},a=n?.getEndpointParameterInstructions?.()||{};for(let[n,u]of Object.entries(a))switch(u.type){case"staticContextParams":t[n]=u.value;break;case"contextParams":t[n]=e[u.name];break;case"clientContextParams":case"builtInParams":t[n]=await oz(u.name,n,i,"builtInParams"!==u.type)();break;case"operationContextParams":t[n]=u.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(u))}return 0===Object.keys(a).length&&Object.assign(t,i),"s3"===String(i.serviceId).toLowerCase()&&await oO(t),t};class oV{capacity;data=new Map;parameters=[];constructor({size:e,params:n}){this.capacity=e??50,n&&(this.parameters=n)}get(e,n){let i=this.hash(e);if(!1===i)return n();if(!this.data.has(i)){if(this.data.size>this.capacity+10){let e=this.data.keys(),n=0;for(;;){let{value:i,done:t}=e.next();if(this.data.delete(i),t||++n>10)break}}this.data.set(i,n())}return this.data.get(i)}size(){return this.data.size}hash(e){let n="",{parameters:i}=this;if(0===i.length)return!1;for(let t of i){let i=String(e[t]??"");if(i.includes("|;"))return!1;n+=i+"|;"}return n}}let o0="endpoints";function o1(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${o1(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(o1).join(", ")})`:JSON.stringify(e,null,2)}class o3 extends Error{constructor(e){super(e),this.name="EndpointError"}}let o2=(e,n)=>(e=>{let n=e.split("."),i=[];for(let t of n){let n=t.indexOf("[");if(-1!==n){if(t.indexOf("]")!==t.length-1)throw new o3(`Path: '${e}' does not end with ']'`);let a=t.slice(n+1,-1);if(Number.isNaN(parseInt(a)))throw new o3(`Invalid array index: '${a}' in path: '${e}'`);0!==n&&i.push(t.slice(0,n)),i.push(a)}else i.push(t)}return i})(n).reduce((i,t)=>{if("object"!=typeof i)throw new o3(`Index '${t}' in '${n}' not found in '${JSON.stringify(e)}'`);return Array.isArray(i)?i[parseInt(t)]:i[t]},e);(q=ec||(ec={})).HTTP="http",q.HTTPS="https";let o4={[ec.HTTP]:80,[ec.HTTPS]:443},o6={booleanEquals:(e,n)=>e===n,getAttr:o2,isSet:e=>null!=e,isValidHostLabel:aP,not:e=>!e,parseURL:e=>{let n=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:n,port:i,protocol:t="",path:a="",query:u={}}=e,o=new URL(`${t}//${n}${i?`:${i}`:""}${a}`);return o.search=Object.entries(u).map(([e,n])=>`${e}=${n}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!n)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let i=n.href,{host:t,hostname:a,pathname:u,protocol:o,search:r}=n;if(r)return null;let s=o.slice(0,-1);if(!Object.values(ec).includes(s))return null;let l=aR(a),h=i.includes(`${t}:${o4[s]}`)||"string"==typeof e&&e.includes(`${t}:${o4[s]}`),g=`${t}${h?`:${o4[s]}`:""}`;return{scheme:s,authority:g,path:u,normalizedPath:u.endsWith("/")?u:`${u}/`,isIp:l}},stringEquals:(e,n)=>e===n,substring:(e,n,i,t)=>n>=i||e.length<i?null:t?e.substring(e.length-i,e.length-n):e.substring(n,i),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},o8=(e,n)=>{let i=[],t={...n.endpointParams,...n.referenceRecord},a=0;for(;a<e.length;){let n=e.indexOf("{",a);if(-1===n){i.push(e.slice(a));break}i.push(e.slice(a,n));let u=e.indexOf("}",n);if(-1===u){i.push(e.slice(n));break}"{"===e[n+1]&&"}"===e[u+1]&&(i.push(e.slice(n+1,u)),a=u+2);let o=e.substring(n+1,u);if(o.includes("#")){let[e,n]=o.split("#");i.push(o2(t[e],n))}else i.push(t[o]);a=u+1}return i.join("")},o5=(e,n,i)=>{if("string"==typeof e)return o8(e,i);if(e.fn)return o9.callFunction(e,i);if(e.ref)return(({ref:e},n)=>({...n.endpointParams,...n.referenceRecord})[e])(e,i);throw new o3(`'${n}': ${String(e)} is not a string, function or reference.`)},o7=({fn:e,argv:n},i)=>{let t=n.map(e=>["boolean","number"].includes(typeof e)?e:o9.evaluateExpression(e,"arg",i)),a=e.split(".");return a[0]in aA&&null!=a[1]?aA[a[0]][a[1]](...t):o6[e](...t)},o9={evaluateExpression:o5,callFunction:o7},re=({assign:e,...n},i)=>{if(e&&e in i.referenceRecord)throw new o3(`'${e}' is already defined in Reference Record.`);let t=o7(n,i);return i.logger?.debug?.(`${o0} evaluateCondition: ${o1(n)} = ${o1(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},rn=(e=[],n)=>{let i={};for(let t of e){let{result:e,toAssign:a}=re(t,{...n,referenceRecord:{...n.referenceRecord,...i}});if(!e)return{result:e};a&&(i[a.name]=a.value,n.logger?.debug?.(`${o0} assign: ${a.name} := ${o1(a.value)}`))}return{result:!0,referenceRecord:i}},ri=(e,n)=>Object.entries(e).reduce((e,[i,t])=>({...e,[i]:ra.getEndpointProperty(t,n)}),{}),rt=(e,n)=>{if(Array.isArray(e))return e.map(e=>rt(e,n));switch(typeof e){case"string":return o8(e,n);case"object":if(null===e)throw new o3(`Unexpected endpoint property: ${e}`);return ra.getEndpointProperties(e,n);case"boolean":return e;default:throw new o3(`Unexpected endpoint property type: ${typeof e}`)}},ra={getEndpointProperty:rt,getEndpointProperties:ri},ru=(e,n)=>{let{conditions:i,endpoint:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(!a)return;let o={...n,referenceRecord:{...n.referenceRecord,...u}},{url:r,properties:s,headers:l}=t;return n.logger?.debug?.(`${o0} Resolving endpoint from template: ${o1(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[n,i])=>({...e,[n]:i.map(e=>{let i=o5(e,"Header value entry",o);if("string"!=typeof i)throw new o3(`Header '${n}' value '${i}' is not a string`);return i})}),{})},...void 0!=s&&{properties:ri(s,o)},url:((e,n)=>{let i=o5(e,"Endpoint URL",n);if("string"==typeof i)try{return new URL(i)}catch(e){throw console.error(`Failed to construct URL with ${i}`,e),e}throw new o3(`Endpoint URL must be a string, got ${typeof i}`)})(r,o)}},ro=(e,n)=>{let{conditions:i,error:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(a)throw new o3(o5(t,"Error",{...n,referenceRecord:{...n.referenceRecord,...u}}))},rr=(e,n)=>{for(let i of e)if("endpoint"===i.type){let e=ru(i,n);if(e)return e}else if("error"===i.type)ro(i,n);else if("tree"===i.type){let e=rs.evaluateTreeRule(i,n);if(e)return e}else throw new o3(`Unknown endpoint rule: ${i}`);throw new o3("Rules evaluation failed")},rs={evaluateRules:rr,evaluateTreeRule:(e,n)=>{let{conditions:i,rules:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(a)return rs.evaluateRules(t,{...n,referenceRecord:{...n.referenceRecord,...u}})}},rl=(e,n)=>{let{endpointParams:i,logger:t}=n,{parameters:a,rules:u}=e;n.logger?.debug?.(`${o0} Initial EndpointParams: ${o1(i)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,n])=>[e,n.default]);if(o.length>0)for(let[e,n]of o)i[e]=i[e]??n;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==i[e])throw new o3(`Missing required parameter: '${e}'`);let r=rr(u,{endpointParams:i,logger:t,referenceRecord:{}});return n.logger?.debug?.(`${o0} Resolved endpoint: ${o1(r)}`),r},rh="required",rg="type",rc="rules",rd="conditions",rp="argv",rf="assign",rm="properties",ry="backend",rS="authSchemes",rb="disableDoubleEncoding",rC="signingName",rw="signingRegion",rT="headers",rx="signingRegionSet",rL="isSet",rE="booleanEquals",rY="error",rD="aws.partition",rZ="stringEquals",rv="getAttr",rN="name",rA="substring",rJ="bucketSuffix",rP="parseURL",rM="endpoint",rR="tree",rX="aws.isVirtualHostableS3Bucket",rH="{url#scheme}://{Bucket}.{url#authority}{url#path}",rB="accessPointSuffix",rk="{url#scheme}://{url#authority}{url#path}",rF="hardwareType",r_="regionPrefix",rQ="bucketAliasSuffix",rI="outpostId",rO="isValidHostLabel",rG="sigv4a",rK="s3-outposts",r$="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rW="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rU="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rz="aws.parseArn",rj="bucketArn",rq="arnType",rV="s3-object-lambda",r0="accesspoint",r1="accessPointName",r3="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",r2="mrapPartition",r4="outpostType",r6="arnPrefix",r8="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",r5="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",r7="https://s3.{partitionResult#dnsSuffix}",r9={[rh]:!1,[rg]:"string"},se={[rh]:!0,default:!1,[rg]:"boolean"},sn={[rh]:!1,[rg]:"boolean"},si={fn:rE,[rp]:[{ref:"Accelerate"},!0]},st={fn:rE,[rp]:[{ref:"UseFIPS"},!0]},sa={fn:rE,[rp]:[{ref:"UseDualStack"},!0]},su={fn:rL,[rp]:[{ref:"Endpoint"}]},so={fn:rD,[rp]:[{ref:"Region"}],[rf]:"partitionResult"},sr={fn:rZ,[rp]:[{fn:rv,[rp]:[{ref:"partitionResult"},rN]},"aws-cn"]},ss={fn:rL,[rp]:[{ref:"Bucket"}]},sl={ref:"Bucket"},sh={[rd]:[si],[rY]:"S3Express does not support S3 Accelerate.",[rg]:rY},sg={[rd]:[su,{fn:rP,[rp]:[{ref:"Endpoint"}],[rf]:"url"}],[rc]:[{[rd]:[{fn:rL,[rp]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rE,[rp]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[rc]:[{[rd]:[{fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]}],[rc]:[{[rd]:[{fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"}],[rc]:[{[rM]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rX,[rp]:[sl,!1]}],[rc]:[{[rM]:{url:rH,[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR},{[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY}],[rg]:rR},{[rd]:[{fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]}],[rc]:[{[rd]:[{fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"}],[rc]:[{[rM]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rX,[rp]:[sl,!1]}],[rc]:[{[rM]:{url:rH,[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR},{[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY}],[rg]:rR},sc={fn:rP,[rp]:[{ref:"Endpoint"}],[rf]:"url"},sd={fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]},sp={ref:"url"},sf={fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"},sm={[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},sy={},sS={fn:rX,[rp]:[sl,!1]},sb={[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY},sC={fn:rL,[rp]:[{ref:"UseS3ExpressControlEndpoint"}]},sw={fn:rE,[rp]:[{ref:"UseS3ExpressControlEndpoint"},!0]},sT={fn:"not",[rp]:[su]},sx={fn:rE,[rp]:[{ref:"UseDualStack"},!1]},sL={fn:rE,[rp]:[{ref:"UseFIPS"},!1]},sE={[rY]:"Unrecognized S3Express bucket name format.",[rg]:rY},sY={fn:"not",[rp]:[ss]},sD={ref:rF},sZ={[rd]:[sT],[rY]:"Expected a endpoint to be specified but no endpoint was found",[rg]:rY},sv={[rS]:[{[rb]:!0,[rN]:rG,[rC]:rK,[rx]:["*"]},{[rb]:!0,[rN]:"sigv4",[rC]:rK,[rw]:"{Region}"}]},sN={fn:rE,[rp]:[{ref:"ForcePathStyle"},!1]},sA={fn:rE,[rp]:[{ref:"Accelerate"},!1]},sJ={fn:rZ,[rp]:[{ref:"Region"},"aws-global"]},sP={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"us-east-1"}]},sM={fn:"not",[rp]:[sJ]},sR={fn:rE,[rp]:[{ref:"UseGlobalEndpoint"},!0]},sX={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{Region}"}]},[rT]:{}},sH={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{Region}"}]},sB={fn:rE,[rp]:[{ref:"UseGlobalEndpoint"},!1]},sk={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sF={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},s_={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sQ={fn:rE,[rp]:[{fn:rv,[rp]:[sp,"isIp"]},!1]},sI={url:r$,[rm]:sH,[rT]:{}},sO={url:rH,[rm]:sH,[rT]:{}},sG={[rM]:sO,[rg]:rM},sK={url:rW,[rm]:sH,[rT]:{}},s$={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sW={[rY]:"Invalid region: region was not a valid DNS name.",[rg]:rY},sU={ref:rj},sz={ref:rq},sj={fn:rv,[rp]:[sU,"service"]},sq={ref:r1},sV={[rd]:[sa],[rY]:"S3 Object Lambda does not support Dual-stack",[rg]:rY},s0={[rd]:[si],[rY]:"S3 Object Lambda does not support S3 Accelerate",[rg]:rY},s1={[rd]:[{fn:rL,[rp]:[{ref:"DisableAccessPoints"}]},{fn:rE,[rp]:[{ref:"DisableAccessPoints"},!0]}],[rY]:"Access points are not supported for this operation",[rg]:rY},s3={[rd]:[{fn:rL,[rp]:[{ref:"UseArnRegion"}]},{fn:rE,[rp]:[{ref:"UseArnRegion"},!1]},{fn:"not",[rp]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[sU,"region"]},"{Region}"]}]}],[rY]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[rg]:rY},s2={fn:rv,[rp]:[{ref:"bucketPartition"},rN]},s4={fn:rv,[rp]:[sU,"accountId"]},s6={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:rV,[rw]:"{bucketArn#region}"}]},s8={[rY]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[rg]:rY},s5={[rY]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[rg]:rY},s7={[rY]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[rg]:rY},s9={[rY]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[rg]:rY},le={[rY]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[rg]:rY},ln={[rY]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[rg]:rY},li={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{bucketArn#region}"}]},lt={[rS]:[{[rb]:!0,[rN]:rG,[rC]:rK,[rx]:["*"]},{[rb]:!0,[rN]:"sigv4",[rC]:rK,[rw]:"{bucketArn#region}"}]},la={fn:rz,[rp]:[sl]},lu={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lo={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lr={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},ls={url:r8,[rm]:sH,[rT]:{}},ll={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lh={ref:"UseObjectLambdaEndpoint"},lg={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:rV,[rw]:"{Region}"}]},lc={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},ld={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},lp={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},lf={url:rk,[rm]:sH,[rT]:{}},lm={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},ly=[{ref:"Region"}],lS=[si],lb=[su,sc],lC=[{fn:rL,[rp]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rE,[rp]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],lw=[sS],lT=[so],lx=[st,sa],lL=[st,sx],lE=[sL,sa],lY=[sL,sx],lD=[{fn:rA,[rp]:[sl,6,14,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,14,16,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lZ=[{[rd]:[st,sa],[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lL,[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lE,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lY,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM}],lv=[{fn:rA,[rp]:[sl,6,15,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,15,17,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lN=[{fn:rA,[rp]:[sl,6,19,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,19,21,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lA=[{fn:rA,[rp]:[sl,6,20,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,20,22,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lJ=[{fn:rA,[rp]:[sl,6,26,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,26,28,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lP=[{[rd]:[st,sa],[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lL,[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lE,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lY,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],lM=[sl,0,7,!0],lR=[{fn:rA,[rp]:[sl,7,15,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,15,17,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lX=[{fn:rA,[rp]:[sl,7,16,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,16,18,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lH=[{fn:rA,[rp]:[sl,7,20,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,20,22,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lB=[{fn:rA,[rp]:[sl,7,21,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,21,23,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lk=[{fn:rA,[rp]:[sl,7,27,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,27,29,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lF=[{fn:rO,[rp]:[{ref:rI},!1]}],l_=[{fn:rZ,[rp]:[{ref:r_},"beta"]}],lQ=[{fn:rO,[rp]:[{ref:"Region"},!1]}],lI=[{fn:rZ,[rp]:[{ref:"Region"},"us-east-1"]}],lO=[{fn:rZ,[rp]:[sz,r0]}],lG=[{fn:rv,[rp]:[sU,"resourceId[1]"],[rf]:r1},{fn:"not",[rp]:[{fn:rZ,[rp]:[sq,""]}]}],lK=[sa],l$=[{fn:"not",[rp]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[sU,"region"]},""]}]}],lW=[{fn:"not",[rp]:[{fn:rL,[rp]:[{fn:rv,[rp]:[sU,"resourceId[2]"]}]}]}],lU=[{fn:rD,[rp]:[{fn:rv,[rp]:[sU,"region"]}],[rf]:"bucketPartition"}],lz=[{fn:rZ,[rp]:[s2,{fn:rv,[rp]:[{ref:"partitionResult"},rN]}]}],lj=[{fn:rO,[rp]:[{fn:rv,[rp]:[sU,"region"]},!0]}],lq=[{fn:rO,[rp]:[s4,!1]}],lV=[{fn:rO,[rp]:[sq,!1]}],l0=[st],l1=[{fn:rO,[rp]:[{ref:"Region"},!0]}],l3={version:"1.0",parameters:{Bucket:r9,Region:r9,UseFIPS:se,UseDualStack:se,Endpoint:r9,ForcePathStyle:se,Accelerate:se,UseGlobalEndpoint:se,UseObjectLambdaEndpoint:sn,Key:r9,Prefix:r9,CopySource:r9,DisableAccessPoints:sn,DisableMultiRegionAccessPoints:se,UseArnRegion:sn,UseS3ExpressControlEndpoint:sn,DisableS3ExpressSessionAuth:sn},[rc]:[{[rd]:[{fn:rL,[rp]:ly}],[rc]:[{[rd]:[si,st],error:"Accelerate cannot be used with FIPS",[rg]:rY},{[rd]:[sa,su],error:"Cannot set dual-stack in combination with a custom endpoint.",[rg]:rY},{[rd]:[su,st],error:"A custom endpoint cannot be combined with FIPS",[rg]:rY},{[rd]:[su,si],error:"A custom endpoint cannot be combined with S3 Accelerate",[rg]:rY},{[rd]:[st,so,sr],error:"Partition does not support FIPS",[rg]:rY},{[rd]:[ss,{fn:rA,[rp]:[sl,0,6,!0],[rf]:rJ},{fn:rZ,[rp]:[{ref:rJ},"--x-s3"]}],[rc]:[sh,sg,{[rd]:[sC,sw],[rc]:[{[rd]:lT,[rc]:[{[rd]:[sf,sT],[rc]:[{[rd]:lx,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM}],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:lw,[rc]:[{[rd]:lT,[rc]:[{[rd]:lC,[rc]:[{[rd]:lD,[rc]:lZ,[rg]:rR},{[rd]:lv,[rc]:lZ,[rg]:rR},{[rd]:lN,[rc]:lZ,[rg]:rR},{[rd]:lA,[rc]:lZ,[rg]:rR},{[rd]:lJ,[rc]:lZ,[rg]:rR},sE],[rg]:rR},{[rd]:lD,[rc]:lP,[rg]:rR},{[rd]:lv,[rc]:lP,[rg]:rR},{[rd]:lN,[rc]:lP,[rg]:rR},{[rd]:lA,[rc]:lP,[rg]:rR},{[rd]:lJ,[rc]:lP,[rg]:rR},sE],[rg]:rR}],[rg]:rR},sb],[rg]:rR},{[rd]:[ss,{fn:rA,[rp]:lM,[rf]:rB},{fn:rZ,[rp]:[{ref:rB},"--xa-s3"]}],[rc]:[sh,sg,{[rd]:lw,[rc]:[{[rd]:lT,[rc]:[{[rd]:lC,[rc]:[{[rd]:lR,[rc]:lZ,[rg]:rR},{[rd]:lX,[rc]:lZ,[rg]:rR},{[rd]:lH,[rc]:lZ,[rg]:rR},{[rd]:lB,[rc]:lZ,[rg]:rR},{[rd]:lk,[rc]:lZ,[rg]:rR},sE],[rg]:rR},{[rd]:lR,[rc]:lP,[rg]:rR},{[rd]:lX,[rc]:lP,[rg]:rR},{[rd]:lH,[rc]:lP,[rg]:rR},{[rd]:lB,[rc]:lP,[rg]:rR},{[rd]:lk,[rc]:lP,[rg]:rR},sE],[rg]:rR}],[rg]:rR},sb],[rg]:rR},{[rd]:[sY,sC,sw],[rc]:[{[rd]:lT,[rc]:[{[rd]:lb,endpoint:{url:rk,[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lx,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[ss,{fn:rA,[rp]:[sl,49,50,!0],[rf]:rF},{fn:rA,[rp]:[sl,8,12,!0],[rf]:r_},{fn:rA,[rp]:lM,[rf]:rQ},{fn:rA,[rp]:[sl,32,49,!0],[rf]:rI},{fn:rD,[rp]:ly,[rf]:"regionPartition"},{fn:rZ,[rp]:[{ref:rQ},"--op-s3"]}],[rc]:[{[rd]:lF,[rc]:[{[rd]:lw,[rc]:[{[rd]:[{fn:rZ,[rp]:[sD,"e"]}],[rc]:[{[rd]:l_,[rc]:[sZ,{[rd]:lb,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{[rd]:[{fn:rZ,[rp]:[sD,"o"]}],[rc]:[{[rd]:l_,[rc]:[sZ,{[rd]:lb,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[rg]:rY}],[rg]:rR},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[rg]:rY}],[rg]:rR},{[rd]:[ss],[rc]:[{[rd]:[su,{fn:"not",[rp]:[{fn:rL,[rp]:[{fn:rP,[rp]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[rg]:rY},{[rd]:[sN,sS],[rc]:[{[rd]:lT,[rc]:[{[rd]:lQ,[rc]:[{[rd]:[si,sr],error:"S3 Accelerate cannot be used in this region",[rg]:rY},{[rd]:[sa,st,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,st,sA,sT,sM,sR],[rc]:[{endpoint:sX,[rg]:rM}],[rg]:rR},{[rd]:[sa,st,sA,sT,sM,sB],endpoint:sX,[rg]:rM},{[rd]:[sx,st,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,st,sA,sT,sM,sR],[rc]:[{endpoint:sk,[rg]:rM}],[rg]:rR},{[rd]:[sx,st,sA,sT,sM,sB],endpoint:sk,[rg]:rM},{[rd]:[sa,sL,si,sT,sJ],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sL,si,sT,sM,sR],[rc]:[{endpoint:sF,[rg]:rM}],[rg]:rR},{[rd]:[sa,sL,si,sT,sM,sB],endpoint:sF,[rg]:rM},{[rd]:[sa,sL,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sL,sA,sT,sM,sR],[rc]:[{endpoint:s_,[rg]:rM}],[rg]:rR},{[rd]:[sa,sL,sA,sT,sM,sB],endpoint:s_,[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sd,sJ],endpoint:{url:r$,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sQ,sJ],endpoint:{url:rH,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sd,sM,sR],[rc]:[{[rd]:lI,endpoint:sI,[rg]:rM},{endpoint:sI,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,sA,su,sc,sQ,sM,sR],[rc]:[{[rd]:lI,endpoint:sO,[rg]:rM},sG],[rg]:rR},{[rd]:[sx,sL,sA,su,sc,sd,sM,sB],endpoint:sI,[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sQ,sM,sB],endpoint:sO,[rg]:rM},{[rd]:[sx,sL,si,sT,sJ],endpoint:{url:rW,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,si,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:sK,[rg]:rM},{endpoint:sK,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,si,sT,sM,sB],endpoint:sK,[rg]:rM},{[rd]:[sx,sL,sA,sT,sJ],endpoint:{url:rU,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:rU,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:s$,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,sA,sT,sM,sB],endpoint:s$,[rg]:rM}],[rg]:rR},sW],[rg]:rR}],[rg]:rR},{[rd]:[su,sc,{fn:rZ,[rp]:[{fn:rv,[rp]:[sp,"scheme"]},"http"]},{fn:rX,[rp]:[sl,!0]},sN,sL,sx,sA],[rc]:[{[rd]:lT,[rc]:[{[rd]:lQ,[rc]:[sG],[rg]:rR},sW],[rg]:rR}],[rg]:rR},{[rd]:[sN,{fn:rz,[rp]:[sl],[rf]:rj}],[rc]:[{[rd]:[{fn:rv,[rp]:[sU,"resourceId[0]"],[rf]:rq},{fn:"not",[rp]:[{fn:rZ,[rp]:[sz,""]}]}],[rc]:[{[rd]:[{fn:rZ,[rp]:[sj,rV]}],[rc]:[{[rd]:lO,[rc]:[{[rd]:lG,[rc]:[sV,s0,{[rd]:l$,[rc]:[s1,{[rd]:lW,[rc]:[s3,{[rd]:lU,[rc]:[{[rd]:lT,[rc]:[{[rd]:lz,[rc]:[{[rd]:lj,[rc]:[{[rd]:[{fn:rZ,[rp]:[s4,""]}],error:"Invalid ARN: Missing account id",[rg]:rY},{[rd]:lq,[rc]:[{[rd]:lV,[rc]:[{[rd]:lb,endpoint:{url:r3,[rm]:s6,[rT]:sy},[rg]:rM},{[rd]:l0,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:s6,[rT]:sy},[rg]:rM},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:s6,[rT]:sy},[rg]:rM}],[rg]:rR},s8],[rg]:rR},s5],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},le],[rg]:rR},{error:"Invalid ARN: bucket ARN is missing a region",[rg]:rY}],[rg]:rR},ln],[rg]:rR},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[rg]:rY}],[rg]:rR},{[rd]:lO,[rc]:[{[rd]:lG,[rc]:[{[rd]:l$,[rc]:[{[rd]:lO,[rc]:[{[rd]:l$,[rc]:[s1,{[rd]:lW,[rc]:[s3,{[rd]:lU,[rc]:[{[rd]:lT,[rc]:[{[rd]:[{fn:rZ,[rp]:[s2,"{partitionResult#name}"]}],[rc]:[{[rd]:lj,[rc]:[{[rd]:[{fn:rZ,[rp]:[sj,"s3"]}],[rc]:[{[rd]:lq,[rc]:[{[rd]:lV,[rc]:[{[rd]:lS,error:"Access Points do not support S3 Accelerate",[rg]:rY},{[rd]:lx,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,su,sc],endpoint:{url:r3,[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM}],[rg]:rR},s8],[rg]:rR},s5],[rg]:rR},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[rg]:rY}],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},le],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rO,[rp]:[sq,!0]}],[rc]:[{[rd]:lK,error:"S3 MRAP does not support dual-stack",[rg]:rY},{[rd]:l0,error:"S3 MRAP does not support FIPS",[rg]:rY},{[rd]:lS,error:"S3 MRAP does not support S3 Accelerate",[rg]:rY},{[rd]:[{fn:rE,[rp]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[rg]:rY},{[rd]:[{fn:rD,[rp]:ly,[rf]:r2}],[rc]:[{[rd]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[{ref:r2},rN]},{fn:rv,[rp]:[sU,"partition"]}]}],[rc]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[rm]:{[rS]:[{[rb]:!0,name:rG,[rC]:"s3",[rx]:["*"]}]},[rT]:sy},[rg]:rM}],[rg]:rR},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[rg]:rY}],[rg]:rR}],[rg]:rR},{error:"Invalid Access Point Name",[rg]:rY}],[rg]:rR},ln],[rg]:rR},{[rd]:[{fn:rZ,[rp]:[sj,rK]}],[rc]:[{[rd]:lK,error:"S3 Outposts does not support Dual-stack",[rg]:rY},{[rd]:l0,error:"S3 Outposts does not support FIPS",[rg]:rY},{[rd]:lS,error:"S3 Outposts does not support S3 Accelerate",[rg]:rY},{[rd]:[{fn:rL,[rp]:[{fn:rv,[rp]:[sU,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[rg]:rY},{[rd]:[{fn:rv,[rp]:[sU,"resourceId[1]"],[rf]:rI}],[rc]:[{[rd]:lF,[rc]:[s3,{[rd]:lU,[rc]:[{[rd]:lT,[rc]:[{[rd]:lz,[rc]:[{[rd]:lj,[rc]:[{[rd]:lq,[rc]:[{[rd]:[{fn:rv,[rp]:[sU,"resourceId[2]"],[rf]:r4}],[rc]:[{[rd]:[{fn:rv,[rp]:[sU,"resourceId[3]"],[rf]:r1}],[rc]:[{[rd]:[{fn:rZ,[rp]:[{ref:r4},r0]}],[rc]:[{[rd]:lb,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[rm]:lt,[rT]:sy},[rg]:rM},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:lt,[rT]:sy},[rg]:rM}],[rg]:rR},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: expected an access point name",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: Expected a 4-component resource",[rg]:rY}],[rg]:rR},s5],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: The Outpost Id was not set",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: No ARN type specified",[rg]:rY}],[rg]:rR},{[rd]:[{fn:rA,[rp]:[sl,0,4,!1],[rf]:r6},{fn:rZ,[rp]:[{ref:r6},"arn:"]},{fn:"not",[rp]:[{fn:rL,[rp]:[la]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[rg]:rY},{[rd]:[{fn:rE,[rp]:[{ref:"ForcePathStyle"},!0]},la],error:"Path-style addressing cannot be used with ARN buckets",[rg]:rY},{[rd]:[sf],[rc]:[{[rd]:lT,[rc]:[{[rd]:[sA],[rc]:[{[rd]:[sa,sT,st,sJ],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sT,st,sM,sR],[rc]:[{endpoint:lu,[rg]:rM}],[rg]:rR},{[rd]:[sa,sT,st,sM,sB],endpoint:lu,[rg]:rM},{[rd]:[sx,sT,st,sJ],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sT,st,sM,sR],[rc]:[{endpoint:lo,[rg]:rM}],[rg]:rR},{[rd]:[sx,sT,st,sM,sB],endpoint:lo,[rg]:rM},{[rd]:[sa,sT,sL,sJ],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sT,sL,sM,sR],[rc]:[{endpoint:lr,[rg]:rM}],[rg]:rR},{[rd]:[sa,sT,sL,sM,sB],endpoint:lr,[rg]:rM},{[rd]:[sx,su,sc,sL,sJ],endpoint:{url:r8,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,su,sc,sL,sM,sR],[rc]:[{[rd]:lI,endpoint:ls,[rg]:rM},{endpoint:ls,[rg]:rM}],[rg]:rR},{[rd]:[sx,su,sc,sL,sM,sB],endpoint:ls,[rg]:rM},{[rd]:[sx,sT,sL,sJ],endpoint:{url:r5,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sT,sL,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:r5,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:ll,[rg]:rM}],[rg]:rR},{[rd]:[sx,sT,sL,sM,sB],endpoint:ll,[rg]:rM}],[rg]:rR},{error:"Path-style addressing cannot be used with S3 Accelerate",[rg]:rY}],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rL,[rp]:[lh]},{fn:rE,[rp]:[lh,!0]}],[rc]:[{[rd]:lT,[rc]:[{[rd]:l1,[rc]:[sV,s0,{[rd]:lb,endpoint:{url:rk,[rm]:lg,[rT]:sy},[rg]:rM},{[rd]:l0,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:lg,[rT]:sy},[rg]:rM},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[rm]:lg,[rT]:sy},[rg]:rM}],[rg]:rR},sW],[rg]:rR}],[rg]:rR},{[rd]:[sY],[rc]:[{[rd]:lT,[rc]:[{[rd]:l1,[rc]:[{[rd]:[st,sa,sT,sJ],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[st,sa,sT,sM,sR],[rc]:[{endpoint:lc,[rg]:rM}],[rg]:rR},{[rd]:[st,sa,sT,sM,sB],endpoint:lc,[rg]:rM},{[rd]:[st,sx,sT,sJ],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[st,sx,sT,sM,sR],[rc]:[{endpoint:ld,[rg]:rM}],[rg]:rR},{[rd]:[st,sx,sT,sM,sB],endpoint:ld,[rg]:rM},{[rd]:[sL,sa,sT,sJ],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sa,sT,sM,sR],[rc]:[{endpoint:lp,[rg]:rM}],[rg]:rR},{[rd]:[sL,sa,sT,sM,sB],endpoint:lp,[rg]:rM},{[rd]:[sL,sx,su,sc,sJ],endpoint:{url:rk,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,su,sc,sM,sR],[rc]:[{[rd]:lI,endpoint:lf,[rg]:rM},{endpoint:lf,[rg]:rM}],[rg]:rR},{[rd]:[sL,sx,su,sc,sM,sB],endpoint:lf,[rg]:rM},{[rd]:[sL,sx,sT,sJ],endpoint:{url:r7,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:r7,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:lm,[rg]:rM}],[rg]:rR},{[rd]:[sL,sx,sT,sM,sB],endpoint:lm,[rg]:rM}],[rg]:rR},sW],[rg]:rR}],[rg]:rR}],[rg]:rR},{error:"A region must be set when sending requests to S3.",[rg]:rY}]},l2=new oV({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),l4=(e,n={})=>l2.get(e,()=>rl(l3,{endpointParams:e,logger:n.logger}));aA.aws=aB;let l6=(d=async(e,n,i)=>({operation:aL(n).operation,region:await t1(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,n,i)=>{if(!i)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,n,i),a=aL(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);return Object.assign(t,await oq(i,{getEndpointParameterInstructions:a},e))});function l8(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}function l5(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}let l7=(V=e=>{let n=[];return e.operation,n.push(l8(e)),n.push(l5(e)),n},ee={"aws.auth#sigv4":l8,"aws.auth#sigv4a":l5},e=>{let n=l4(e),i=n.properties?.authSchemes;if(!i)return V(e);let t=[];for(let n of i){let a,{name:u,properties:o={},...r}=n,s=u.toLowerCase();if(u!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${u}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=i.find(e=>{let n=e.name.toLowerCase();return"sigv4a"!==n&&n.startsWith("sigv4")});if("none"===oI.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=ee[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...r,...o},t.push(h)}return t});async function l9(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let he=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function hn(e){if(he(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return l9(e);let n=new N,i=new N;return e.pipe(n),e.pipe(i),[n,i]}async function hi(e,n){let i=0,t=[],a=e.getReader(),u=!1;for(;!u;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),i+=o?.byteLength??0),i>=n)break;u=e}a.releaseLock();let o=new Uint8Array(Math.min(n,i)),r=0;for(let e of t){if(e.byteLength>o.byteLength-r){o.set(e.subarray(0,o.byteLength-r),r);break}o.set(e,r),r+=e.length}return o}class ht extends J{buffers=[];limit=1/0;bytesBuffered=0;_write(e,n,i){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,n=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=n.subarray(0,n.byteLength-e),this.emit("finish")}i()}}let ha={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},hu={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},ho=e=>({applyToStack:n=>{n.addRelativeTo((n,i)=>async t=>{let a=await n(t),{response:u}=a;if(!a0.isInstance(u))return a;let{statusCode:o,body:r}=u;if(o<200||o>=300||"function"!=typeof r?.stream&&"function"!=typeof r?.pipe&&"function"!=typeof r?.tee)return a;let s=r,l=r;!r||"object"!=typeof r||r instanceof Uint8Array||([s,l]=await hn(r)),u.body=l;let h=await ((e=new Uint8Array,n)=>e instanceof Uint8Array?Promise.resolve(e):n.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>he(e)?hi(e,3e3):new Promise((n,i)=>{let t=new ht;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(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&&ha[i.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(u.statusCode=400),a},hu)}}),hr={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},hs=(e,n)=>({applyToStack:i=>{i.addRelativeTo((({config:e,instructions:n})=>(i,t)=>async a=>{e.isCustomEndpoint&&(t.__smithy_context?t.__smithy_context.features||(t.__smithy_context.features={}):t.__smithy_context={features:{}},t.__smithy_context.features.ENDPOINT_OVERRIDE="N");let u=await oj(a.input,{getEndpointParameterInstructions:()=>n},{...e},t);t.endpointV2=u,t.authSchemes=u.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=aL(t),n=e?.selectedHttpAuthScheme?.httpAuthOption;n&&(n.signingProperties=Object.assign(n.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return i({...a})})({config:e,instructions:n}),hr)}}),hl=e=>"function"==typeof e?e():e;function hh(e){if("object"==typeof e)return e;e|=0;let n={},i=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>i++&1)==1&&(n[t]=1);return n}class hg{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=hg.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,n){this.ref=e,this.memberName=n;let i=[],t=e,a=e;for(this._isMemberSchema=!1;hd(t);)i.push(t[1]),a=hl(t=t[0]),this._isMemberSchema=!0;if(i.length>0){this.memberTraits={};for(let e=i.length-1;e>=0;--e){let n=i[e];Object.assign(this.memberTraits,hh(n))}}else this.memberTraits=0;if(a instanceof hg){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=n??a.memberName;return}if(this.schema=hl(a),hp(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&&!n)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let n=this.prototype.isPrototypeOf(e);return n||"object"!=typeof e||null===e?n:e.symbol===this.symbol}static of(e){let n=hl(e);if(n instanceof hg)return n;if(hd(n)){let[i,t]=n;if(i instanceof hg)return Object.assign(i.getMergedTraits(),hh(t)),i;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new hg(n)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:n}=this;return!e&&n&&n.includes("#")?n.split("#")[1]:n||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 e=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:n,traits:i,memberTraits:t}=this;return e(n)||e(i)||e(t)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return hh(this.memberTraits)}getOwnTraits(){return hh(this.traits)}getKeySchema(){let[e,n]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!n)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let i=this.getSchema();return hc([e?15:i[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[n,i,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(i||t)?e[3+e[0]]:n?15:void 0;if(null!=a)return hc([a,0],i?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let n=this.getSchema();if(this.isStructSchema()&&n[4].includes(e)){let i=n[4].indexOf(e),t=n[5][i];return hc(hd(t)?t:[t,0],e)}if(this.isDocumentSchema())return hc([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[n,i]of this.structIterator())e[n]=i}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,n]of this.structIterator())if(n.isStreaming()&&n.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 n=0;n<e[4].length;++n)yield[e[4][n],hc([e[5][n],0],e[4][n])]}}function hc(e,n){return e instanceof hg?Object.assign(e,{memberName:n,_isMemberSchema:!0}):new hg(e,n)}let hd=e=>Array.isArray(e)&&2===e.length,hp=e=>Array.isArray(e)&&e.length>=5,hf="***SensitiveInformation***";function hm(e,n){if(null==n)return n;let i=hg.of(e);if(i.getMergedTraits().sensitive)return hf;if(i.isListSchema()){if(i.getValueSchema().getMergedTraits().sensitive)return hf}else if(i.isMapSchema()){if(i.getKeySchema().getMergedTraits().sensitive||i.getValueSchema().getMergedTraits().sensitive)return hf}else if(i.isStructSchema()&&"object"==typeof n){let e={};for(let[t,a]of i.structIterator())null!=n[t]&&(e[t]=hm(a,n[t]));return e}return n}class hy{middlewareStack=u3();schema;static classBuilder(){return new hS}resolveMiddlewareWithContext(e,n,i,{middlewareFn:t,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,n,i))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=n,d={logger:c,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,[ax]:{commandInstance:this,...s},...l},{requestHandler:p}=n;return g.resolve(e=>p.handle(e.request,i||{}),d)}}class hS{_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,n,i={}){return this._smithyContext={service:e,operation:n,...i},this}c(e={}){return this._additionalContext=e,this}n(e,n){return this._clientName=e,this._commandName=n,this}f(e=e=>e,n=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=n,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,n=this;return e=class extends hy{input;static getEndpointParameterInstructions(){return n._ep}constructor(...[e]){super(),this.input=e??{},n._init(this),this.schema=n._operationSchema}resolveMiddleware(i,t,a){let u=n._operationSchema,o=u?.[4]??u?.input,r=u?.[5]??u?.output;return this.resolveMiddlewareWithContext(i,t,a,{CommandCtor:e,middlewareFn:n._middlewareFn,clientName:n._clientName,commandName:n._commandName,inputFilterSensitiveLog:n._inputFilterSensitiveLog??(u?hm.bind(null,o):e=>e),outputFilterSensitiveLog:n._outputFilterSensitiveLog??(u?hm.bind(null,r):e=>e),smithyContext:n._smithyContext,additionalContext:n._additionalContext})}serialize=n._serializer;deserialize=n._deserializer}}}let hb={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 hC{namespace;schemas;exceptions;static registries=new Map;constructor(e,n=new Map,i=new Map){this.namespace=e,this.schemas=n,this.exceptions=i}static for(e){return hC.registries.has(e)||hC.registries.set(e,new hC(e)),hC.registries.get(e)}register(e,n){let i=this.normalizeShapeId(e);hC.for(i.split("#")[0]).schemas.set(i,n)}getSchema(e){let n=this.normalizeShapeId(e);if(!this.schemas.has(n))throw Error(`@smithy/core/schema - schema not found for ${n}`);return this.schemas.get(n)}registerError(e,n){let i=hC.for(e[1]);i.schemas.set(e[1]+"#"+e[2],e),i.exceptions.set(e,n)}getErrorCtor(e){return hC.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,n,i]=e,t=n+"#"+i;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 hw 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&&(hw.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===hw?hw.isInstance(e):!!hw.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let hT=(e,n={})=>{Object.entries(n).filter(([,e])=>void 0!==e).forEach(([n,i])=>{(void 0==e[n]||""===e[n])&&(e[n]=i)});let i=e.message||e.Message||"UnknownError";return e.message=i,delete e.Message,e};class hx extends hw{constructor(e){super(e),Object.setPrototypeOf(this,hx.prototype)}}class hL extends hx{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,hL.prototype)}}class hE extends hx{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hE.prototype)}}class hY extends hx{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,hY.prototype)}}class hD extends hx{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,hD.prototype)}}class hZ extends hx{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,hZ.prototype)}}class hv extends hx{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,hv.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class hN extends hx{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,hN.prototype)}}class hA extends hx{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,hA.prototype)}}class hJ extends hx{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hJ.prototype)}}class hP extends hx{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,hP.prototype)}}class hM extends hx{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,hM.prototype)}}class hR extends hx{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,hR.prototype)}}class hX extends hx{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hX.prototype)}}class hH extends hx{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hH.prototype)}}let hB="AccessControlTranslation",hk="AbortIncompleteMultipartUpload",hF="AccessKeyId",h_="AccessPointArn",hQ="AcceptRanges",hI="AccessTier",hO="Bucket",hG="BlockedEncryptionTypes",hK="BucketKeyEnabled",h$="Body",hW="ChecksumAlgorithm",hU="CacheControl",hz="ChecksumCRC32",hj="ChecksumCRC32C",hq="ChecksumCRC64NVME",hV="Cache-Control",h0="Content-Disposition",h1="ContentDisposition",h3="Content-Encoding",h2="ContentEncoding",h4="ContentLanguage",h6="Content-Language",h8="Content-Length",h5="ContentLength",h7="Content-MD5",h9="ContentMD5",ge="CompleteMultipartUpload",gn="ChecksumMode",gi="ContentRange",gt="Content-Range",ga="ChecksumSHA1",gu="ChecksumSHA256",go="ChecksumType",gr="Content-Type",gs="ContentType",gl="ContinuationToken",gh="Condition",gg="Credentials",gc="Days",gd="DeleteMarker",gp="DeleteMarkerReplication",gf="DisplayName",gm="DefaultRetention",gy="Date",gS="Delimiter",gb="Destination",gC="Expiration",gw="ExpectedBucketOwner",gT="EncryptionConfiguration",gx="ExistingObjectReplication",gL="ExpiresString",gE="EncryptionType",gY="ETag",gD="EncodingType",gZ="Encryption",gv="Events",gN="Event",gA="Expires",gJ="Filter",gP="FieldDelimiter",gM="FilterRule",gR="Format",gX="GrantFullControl",gH="GrantRead",gB="GrantReadACP",gk="GrantWriteACP",gF="Grant",g_="Grantee",gQ="HostName",gI="IfMatch",gO="If-Modified-Since",gG="IfModifiedSince",gK="If-Match",g$="IfNoneMatch",gW="If-None-Match",gU="InputSerialization",gz="IfUnmodifiedSince",gj="If-Unmodified-Since",gq="Initiator",gV="JSON",g0="LastModified",g1="Last-Modified",g3="Metadata",g2="MetadataEntry",g4="MaxKeys",g6="MissingMeta",g8="MultipartUpload",g5="Metrics",g7="Name",g9="NoncurrentDays",ce="NewerNoncurrentVersions",cn="NoncurrentVersionExpiration",ci="NoncurrentVersionTransition",ct="Owner",ca="ObjectLockLegalHoldStatus",cu="ObjectLockMode",co="ObjectLockRetainUntilDate",cr="ObjectSizeGreaterThan",cs="ObjectSizeLessThan",cl="OutputSerialization",ch="Prefix",cg="PartsCount",cc="PartNumber",cd="PartitionedPrefix",cp="Part",cf="Permission",cm="Protocol",cy="QuoteCharacter",cS="QuoteEscapeCharacter",cb="RequestCharged",cC="ResponseCacheControl",cw="ResponseContentDisposition",cT="ResponseContentEncoding",cx="ResponseContentLanguage",cL="ResponseContentType",cE="RecordDelimiter",cY="ResponseExpires",cD="RecordExpiration",cZ="ReplicaModifications",cv="RequestPayer",cN="RoutingRule",cA="ReplicationStatus",cJ="RestoreStatus",cP="ReplicationTime",cM="Range",cR="Restore",cX="Redirect",cH="Status",cB="StartAfter",ck="SecretAccessKey",cF="S3BucketDestination",c_="StorageClass",cQ="StorageClassAnalysis",cI="SSE-KMS",cO="SseKmsEncryptedObjects",cG="SimplePrefix",cK="SSE-S3",c$="SourceSelectionCriteria",cW="ServerSideEncryption",cU="SSECustomerAlgorithm",cz="SSECustomerKey",cj="SSECustomerKeyMD5",cq="SSEKMS",cV="SSEKMSEncryptionContext",c0="SSEKMSKeyId",c1="SSES3",c3="SessionToken",c2="Size",c4="Tags",c6="TagCount",c8="TargetGrants",c5="TargetObjectKeyFormat",c7="TagSet",c9="Tagging",de="Tiering",dn="Transition",di="Type",dt="UploadId",da="UserMetadata",du="Value",dr="VersionId",ds="WebsiteRedirectLocation",dl="accept-ranges",dh="client",dg="error",dc="http",dd="httpChecksum",dp="httpError",df="httpHeader",dm="httpPayload",dy="httpPrefixHeaders",dS="httpQuery",db="http://www.w3.org/2001/XMLSchema-instance",dC="partNumber",dw="response-cache-control",dT="response-content-disposition",dx="response-content-encoding",dL="response-content-language",dE="response-content-type",dY="response-expires",dD="smithy.ts.sdk.synthetic.com.amazonaws.s3",dZ="uploadId",dv="versionId",dN="xmlFlattened",dA="xmlName",dJ="xmlNamespace",dP="x-amz-acl",dM="x-amz-checksum-algorithm",dR="x-amz-checksum-crc32",dX="x-amz-checksum-crc32c",dH="x-amz-checksum-crc64nvme",dB="x-amz-checksum-mode",dk="x-amz-checksum-sha1",dF="x-amz-checksum-sha256",d_="x-amz-checksum-type",dQ="x-amz-delete-marker",dI="x-amz-expiration",dO="x-amz-expected-bucket-owner",dG="x-amz-grant-full-control",dK="x-amz-grant-read",d$="x-amz-grant-read-acp",dW="x-amz-grant-write-acp",dU="x-amz-meta-",dz="x-amz-missing-meta",dj="x-amz-mp-parts-count",dq="x-amz-object-lock-legal-hold",dV="x-amz-object-lock-mode",d0="x-amz-object-lock-retain-until-date",d1="x-amz-restore",d3="x-amz-request-charged",d2="x-amz-request-payer",d4="x-amz-replication-status",d6="x-amz-storage-class",d8="x-amz-sdk-checksum-algorithm",d5="x-amz-server-side-encryption",d7="x-amz-server-side-encryption-aws-kms-key-id",d9="x-amz-server-side-encryption-bucket-key-enabled",pe="x-amz-server-side-encryption-context",pn="x-amz-server-side-encryption-customer-algorithm",pi="x-amz-server-side-encryption-customer-key",pt="x-amz-server-side-encryption-customer-key-MD5",pa="x-amz-tagging",pu="x-amz-tagging-count",po="x-amz-version-id",pr="x-amz-website-redirect-location",ps="com.amazonaws.s3";var pl=[0,ps,"SessionCredentialValue",8,0],ph=[0,ps,cz,8,0],pg=[0,ps,cV,8,0],pc=[0,ps,c0,8,0],pd=[0,ps,"StreamingBlob",{streaming:1},42],pp=[3,ps,hk,0,["DaysAfterInitiation"],[1]],pf=[3,ps,"AbortMultipartUploadOutput",0,[cb],[[0,{[df]:d3}]]],pm=[3,ps,"AbortMultipartUploadRequest",0,[hO,"Key",dt,cv,gw,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[dS]:dZ}],[0,{[df]:d2}],[0,{[df]:dO}],[6,{[df]:"x-amz-if-match-initiated-time"}]]],py=[3,ps,hB,0,[ct],[0]],pS=[3,ps,"AnalyticsAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],pb=[3,ps,"AnalyticsExportDestination",0,[cF],[()=>pC]],pC=[3,ps,"AnalyticsS3BucketDestination",0,[gR,"BucketAccountId",hO,ch],[0,0,0,0]],pw=[3,ps,hG,0,[gE],[[()=>ms,{[dN]:1}]]],pT=[-3,ps,"BucketAlreadyExists",{[dg]:dh,[dp]:409},[],[]];hC.for(ps).registerError(pT,hY);var px=[-3,ps,"BucketAlreadyOwnedByYou",{[dg]:dh,[dp]:409},[],[]];hC.for(ps).registerError(px,hD);var pL=[3,ps,"CommonPrefix",0,[ch],[0]],pE=[3,ps,"CompletedMultipartUpload",0,["Parts"],[[()=>mr,{[dN]:1,[dA]:cp}]]],pY=[3,ps,"CompletedPart",0,[gY,hz,hj,hq,ga,gu,cc],[0,0,0,0,0,0,1]],pD=[3,ps,"CompleteMultipartUploadOutput",{[dA]:"CompleteMultipartUploadResult"},["Location",hO,"Key",gC,gY,hz,hj,hq,ga,gu,go,cW,dr,c0,hK,cb],[0,0,0,[0,{[df]:dI}],0,0,0,0,0,0,0,[0,{[df]:d5}],[0,{[df]:po}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d3}]]],pZ=[3,ps,"CompleteMultipartUploadRequest",0,[hO,"Key",g8,dt,hz,hj,hq,ga,gu,go,"MpuObjectSize",cv,gw,gI,g$,cU,cz,cj],[[0,1],[0,1],[()=>pE,{[dm]:1,[dA]:ge}],[0,{[dS]:dZ}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,{[df]:d_}],[1,{[df]:"x-amz-mp-object-size"}],[0,{[df]:d2}],[0,{[df]:dO}],[0,{[df]:gK}],[0,{[df]:gW}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}]]],pv=[3,ps,gh,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],pN=[3,ps,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[dN]:1,[dA]:"AllowedHeader"}],[64,{[dN]:1,[dA]:"AllowedMethod"}],[64,{[dN]:1,[dA]:"AllowedOrigin"}],[64,{[dN]:1,[dA]:"ExposeHeader"}],1]],pA=[3,ps,"CreateMultipartUploadOutput",{[dA]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",hO,"Key",dt,cW,cU,cj,c0,cV,hK,cb,hW,go],[[4,{[df]:"x-amz-abort-date"}],[0,{[df]:"x-amz-abort-rule-id"}],[0,{[dA]:hO}],0,0,[0,{[df]:d5}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d3}],[0,{[df]:dM}],[0,{[df]:d_}]]],pJ=[3,ps,"CreateMultipartUploadRequest",0,["ACL",hO,hU,h1,h2,h4,gs,gA,gX,gH,gB,gk,"Key",g3,cW,c_,ds,cU,cz,cj,c0,cV,hK,cv,c9,cu,co,ca,gw,hW,go],[[0,{[df]:dP}],[0,1],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gr}],[4,{[df]:gA}],[0,{[df]:dG}],[0,{[df]:dK}],[0,{[df]:d$}],[0,{[df]:dW}],[0,1],[128,{[dy]:dU}],[0,{[df]:d5}],[0,{[df]:d6}],[0,{[df]:pr}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d2}],[0,{[df]:pa}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}],[0,{[df]:dO}],[0,{[df]:dM}],[0,{[df]:d_}]]],pP=[3,ps,"CreateSessionOutput",{[dA]:"CreateSessionResult"},[cW,c0,cV,hK,gg],[[0,{[df]:d5}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[()=>fj,{[dA]:gg}]]],pM=[3,ps,"CreateSessionRequest",0,["SessionMode",hO,cW,c0,cV,hK],[[0,{[df]:"x-amz-create-session-mode"}],[0,1],[0,{[df]:d5}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}]]],pR=[3,ps,"CSVInput",0,["FileHeaderInfo","Comments",cS,cE,gP,cy,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],pX=[3,ps,"CSVOutput",0,["QuoteFields",cS,cE,gP,cy],[0,0,0,0,0]],pH=[3,ps,gm,0,["Mode",gc,"Years"],[0,1,1]],pB=[3,ps,gp,0,[cH],[0]],pk=[3,ps,"DeleteObjectOutput",0,[gd,dr,cb],[[2,{[df]:dQ}],[0,{[df]:po}],[0,{[df]:d3}]]],pF=[3,ps,"DeleteObjectRequest",0,[hO,"Key","MFA",dr,cv,"BypassGovernanceRetention",gw,gI,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[df]:"x-amz-mfa"}],[0,{[dS]:dv}],[0,{[df]:d2}],[2,{[df]:"x-amz-bypass-governance-retention"}],[0,{[df]:dO}],[0,{[df]:gK}],[6,{[df]:"x-amz-if-match-last-modified-time"}],[1,{[df]:"x-amz-if-match-size"}]]],p_=[3,ps,gb,0,[hO,"Account",c_,hB,gT,cP,g5],[0,0,0,()=>py,()=>pI,()=>fI,()=>fd]],pQ=[3,ps,gZ,0,[gE,"KMSKeyId","KMSContext"],[0,[()=>pc,0],0]],pI=[3,ps,gT,0,["ReplicaKmsKeyID"],[0]],pO=[-3,ps,"EncryptionTypeMismatch",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(pO,hJ);var pG=[3,ps,gx,0,[cH],[0]],pK=[3,ps,gM,0,[g7,du],[0,0]],p$=[3,ps,"GetObjectOutput",0,[h$,gd,hQ,gC,cR,g0,h5,gY,hz,hj,hq,ga,gu,go,g6,dr,hU,h1,h2,h4,gi,gs,gA,gL,ds,cW,g3,cU,cj,c0,hK,c_,cb,cA,cg,c6,cu,co,ca],[[()=>pd,16],[2,{[df]:dQ}],[0,{[df]:dl}],[0,{[df]:dI}],[0,{[df]:d1}],[4,{[df]:g1}],[1,{[df]:h8}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,{[df]:d_}],[1,{[df]:dz}],[0,{[df]:po}],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gt}],[0,{[df]:gr}],[4,{[df]:gA}],[0,{[df]:gL}],[0,{[df]:pr}],[0,{[df]:d5}],[128,{[dy]:dU}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d6}],[0,{[df]:d3}],[0,{[df]:d4}],[1,{[df]:dj}],[1,{[df]:pu}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}]]],pW=[3,ps,"GetObjectRequest",0,[hO,gI,gG,g$,gz,"Key",cM,cC,cw,cT,cx,cL,cY,dr,cU,cz,cj,cv,cc,gw,gn],[[0,1],[0,{[df]:gK}],[4,{[df]:gO}],[0,{[df]:gW}],[4,{[df]:gj}],[0,1],[0,{[df]:cM}],[0,{[dS]:dw}],[0,{[dS]:dT}],[0,{[dS]:dx}],[0,{[dS]:dL}],[0,{[dS]:dE}],[6,{[dS]:dY}],[0,{[dS]:dv}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[1,{[dS]:dC}],[0,{[df]:dO}],[0,{[df]:dB}]]],pU=[3,ps,gF,0,[g_,cf],[[()=>pz,{[dJ]:["xsi",db]}],0]],pz=[3,ps,g_,0,[gf,"EmailAddress","ID","URI",di],[0,0,0,0,[0,{xmlAttribute:1,[dA]:"xsi:type"}]]],pj=[3,ps,"HeadObjectOutput",0,[gd,hQ,gC,cR,"ArchiveStatus",g0,h5,hz,hj,hq,ga,gu,go,gY,g6,dr,hU,h1,h2,h4,gs,gi,gA,gL,ds,cW,g3,cU,cj,c0,hK,c_,cb,cA,cg,c6,cu,co,ca],[[2,{[df]:dQ}],[0,{[df]:dl}],[0,{[df]:dI}],[0,{[df]:d1}],[0,{[df]:"x-amz-archive-status"}],[4,{[df]:g1}],[1,{[df]:h8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,{[df]:d_}],[0,{[df]:gY}],[1,{[df]:dz}],[0,{[df]:po}],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gr}],[0,{[df]:gt}],[4,{[df]:gA}],[0,{[df]:gL}],[0,{[df]:pr}],[0,{[df]:d5}],[128,{[dy]:dU}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d6}],[0,{[df]:d3}],[0,{[df]:d4}],[1,{[df]:dj}],[1,{[df]:pu}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}]]],pq=[3,ps,"HeadObjectRequest",0,[hO,gI,gG,g$,gz,"Key",cM,cC,cw,cT,cx,cL,cY,dr,cU,cz,cj,cv,cc,gw,gn],[[0,1],[0,{[df]:gK}],[4,{[df]:gO}],[0,{[df]:gW}],[4,{[df]:gj}],[0,1],[0,{[df]:cM}],[0,{[dS]:dw}],[0,{[dS]:dT}],[0,{[dS]:dx}],[0,{[dS]:dL}],[0,{[dS]:dE}],[6,{[dS]:dY}],[0,{[dS]:dv}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[1,{[dS]:dC}],[0,{[df]:dO}],[0,{[df]:dB}]]],pV=[-3,ps,"IdempotencyParameterMismatch",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(pV,hX);var p0=[3,ps,gq,0,["ID",gf],[0,0]],p1=[3,ps,gU,0,["CSV","CompressionType",gV,"Parquet"],[()=>pR,0,()=>fi,()=>fN]],p3=[3,ps,"IntelligentTieringAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],p2=[3,ps,"IntelligentTieringFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>p3,0]]],p4=[-3,ps,"InvalidObjectState",{[dg]:dh,[dp]:403},[c_,hI],[0,0]];hC.for(ps).registerError(p4,hv);var p6=[-3,ps,"InvalidRequest",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(p6,hP);var p8=[-3,ps,"InvalidWriteOffset",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(p8,hM);var p5=[3,ps,"InventoryDestination",0,[cF],[[()=>fe,0]]],p7=[3,ps,"InventoryEncryption",0,[c1,cq],[[()=>f3,{[dA]:cK}],[()=>f0,{[dA]:cI}]]],p9=[3,ps,"InventoryFilter",0,[ch],[0]],fe=[3,ps,"InventoryS3BucketDestination",0,["AccountId",hO,gR,ch,gZ],[0,0,0,0,[()=>p7,0]]],fn=[3,ps,"InventorySchedule",0,["Frequency"],[0]],fi=[3,ps,"JSONInput",0,[di],[0]],ft=[3,ps,"JSONOutput",0,[cE],[0]],fa=[3,ps,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",gv,gJ],[0,[0,{[dA]:"CloudFunction"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],fu=[3,ps,"LifecycleExpiration",0,[gy,gc,"ExpiredObjectDeleteMarker"],[5,1,2]],fo=[3,ps,"LifecycleRule",0,[gC,"ID",ch,gJ,cH,"Transitions","NoncurrentVersionTransitions",cn,hk],[()=>fu,0,0,[()=>fs,0],0,[()=>mm,{[dN]:1,[dA]:dn}],[()=>mc,{[dN]:1,[dA]:ci}],()=>ff,()=>pp]],fr=[3,ps,"LifecycleRuleAndOperator",0,[ch,c4,cr,cs],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}],1,1]],fs=[3,ps,"LifecycleRuleFilter",0,[ch,"Tag",cr,cs,"And"],[0,()=>f6,1,1,[()=>fr,0]]],fl=[3,ps,"ListObjectsV2Output",{[dA]:"ListBucketResult"},["IsTruncated","Contents",g7,ch,gS,g4,"CommonPrefixes",gD,"KeyCount",gl,"NextContinuationToken",cB,cb],[2,[()=>md,{[dN]:1}],0,0,0,1,[()=>mo,{[dN]:1}],0,1,0,0,0,[0,{[df]:d3}]]],fh=[3,ps,"ListObjectsV2Request",0,[hO,gS,gD,g4,ch,gl,"FetchOwner",cB,cv,gw,"OptionalObjectAttributes"],[[0,1],[0,{[dS]:"delimiter"}],[0,{[dS]:"encoding-type"}],[1,{[dS]:"max-keys"}],[0,{[dS]:"prefix"}],[0,{[dS]:"continuation-token"}],[2,{[dS]:"fetch-owner"}],[0,{[dS]:"start-after"}],[0,{[df]:d2}],[0,{[df]:dO}],[64,{[df]:"x-amz-optional-object-attributes"}]]],fg=[3,ps,g2,0,[g7,du],[0,0]],fc=[3,ps,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],fd=[3,ps,g5,0,[cH,"EventThreshold"],[0,()=>fO]],fp=[3,ps,"MetricsAndOperator",0,[ch,c4,h_],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}],0]],ff=[3,ps,cn,0,[g9,ce],[1,1]],fm=[3,ps,ci,0,[g9,c_,ce],[1,0,1]],fy=[-3,ps,"NoSuchBucket",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fy,hZ);var fS=[-3,ps,"NoSuchKey",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fS,hN);var fb=[-3,ps,"NoSuchUpload",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fb,hL);var fC=[-3,ps,"NotFound",{[dg]:dh},[],[]];hC.for(ps).registerError(fC,hA);var fw=[3,ps,"NotificationConfigurationFilter",0,["Key"],[[()=>f$,{[dA]:"S3Key"}]]],fT=[3,ps,"Object",0,["Key",g0,gY,hW,go,c2,c_,ct,cJ],[0,4,0,[64,{[dN]:1}],0,1,0,()=>fZ,()=>fG]],fx=[-3,ps,"ObjectAlreadyInActiveTierError",{[dg]:dh,[dp]:403},[],[]];hC.for(ps).registerError(fx,hH);var fL=[3,ps,"ObjectIdentifier",0,["Key",dr,gY,"LastModifiedTime",c2],[0,0,0,6,1]],fE=[-3,ps,"ObjectNotInActiveTierError",{[dg]:dh,[dp]:403},[],[]];hC.for(ps).registerError(fE,hE);var fY=[3,ps,"ObjectPart",0,[cc,c2,hz,hj,hq,ga,gu],[1,1,0,0,0,0,0]],fD=[3,ps,cl,0,["CSV",gV],[()=>pX,()=>ft]],fZ=[3,ps,ct,0,[gf,"ID"],[0,0]],fv=[3,ps,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],fN=[3,ps,"ParquetInput",0,[],[]],fA=[3,ps,cd,{[dA]:cd},["PartitionDateSource"],[0]],fJ=[3,ps,"PutObjectOutput",0,[gC,gY,hz,hj,hq,ga,gu,go,cW,dr,cU,cj,c0,cV,hK,c2,cb],[[0,{[df]:dI}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,{[df]:d_}],[0,{[df]:d5}],[0,{[df]:po}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[1,{[df]:"x-amz-object-size"}],[0,{[df]:d3}]]],fP=[3,ps,"PutObjectRequest",0,["ACL",h$,hO,hU,h1,h2,h4,h5,h9,gs,hW,hz,hj,hq,ga,gu,gA,gI,g$,gX,gH,gB,gk,"Key","WriteOffsetBytes",g3,cW,c_,ds,cU,cz,cj,c0,cV,hK,cv,c9,cu,co,ca,gw],[[0,{[df]:dP}],[()=>pd,16],[0,1],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[1,{[df]:h8}],[0,{[df]:h7}],[0,{[df]:gr}],[0,{[df]:d8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[4,{[df]:gA}],[0,{[df]:gK}],[0,{[df]:gW}],[0,{[df]:dG}],[0,{[df]:dK}],[0,{[df]:d$}],[0,{[df]:dW}],[0,1],[1,{[df]:"x-amz-write-offset-bytes"}],[128,{[dy]:dU}],[0,{[df]:d5}],[0,{[df]:d6}],[0,{[df]:pr}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d2}],[0,{[df]:pa}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}],[0,{[df]:dO}]]],fM=[3,ps,"PutObjectTaggingOutput",0,[dr],[[0,{[df]:po}]]],fR=[3,ps,"PutObjectTaggingRequest",0,[hO,"Key",dr,h9,hW,c9,gw,cv],[[0,1],[0,1],[0,{[dS]:dv}],[0,{[df]:h7}],[0,{[df]:d8}],[()=>f8,{[dm]:1,[dA]:c9}],[0,{[df]:dO}],[0,{[df]:d2}]]],fX=[3,ps,"QueueConfiguration",0,["Id","QueueArn",gv,gJ],[0,[0,{[dA]:"Queue"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],fH=[3,ps,cD,0,[gC,gc],[0,1]],fB=[3,ps,cX,0,[gQ,"HttpRedirectCode",cm,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],fk=[3,ps,cZ,0,[cH],[0]],fF=[3,ps,"ReplicationRule",0,["ID","Priority",ch,gJ,cH,c$,gx,gb,gp],[0,1,0,[()=>fQ,0],0,()=>fV,()=>pG,()=>p_,()=>pB]],f_=[3,ps,"ReplicationRuleAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],fQ=[3,ps,"ReplicationRuleFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>f_,0]]],fI=[3,ps,cP,0,[cH,"Time"],[0,()=>fO]],fO=[3,ps,"ReplicationTimeValue",0,["Minutes"],[1]],fG=[3,ps,cJ,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],fK=[3,ps,cN,0,[gh,cX],[()=>pv,()=>fB]],f$=[3,ps,"S3KeyFilter",0,["FilterRules"],[[()=>ml,{[dN]:1,[dA]:gM}]]],fW=[3,ps,"S3Location",0,["BucketName",ch,gZ,"CannedACL","AccessControlList",c9,da,c_],[0,0,[()=>pQ,0],0,[()=>mh,0],[()=>f8,0],[()=>my,0],0]],fU=[3,ps,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>pc,0]]],fz=[3,ps,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",hK,hG],[[()=>fU,0],2,[()=>pw,0]]],fj=[3,ps,"SessionCredentials",0,[hF,ck,c3,gC],[[0,{[dA]:hF}],[()=>pl,{[dA]:ck}],[()=>pl,{[dA]:c3}],[4,{[dA]:gC}]]],fq=[3,ps,cG,{[dA]:cG},[],[]],fV=[3,ps,c$,0,[cO,cZ],[()=>f1,()=>fk]],f0=[3,ps,cq,{[dA]:cI},["KeyId"],[[()=>pc,0]]],f1=[3,ps,cO,0,[cH],[0]],f3=[3,ps,c1,{[dA]:cK},[],[]],f2=[3,ps,cQ,0,["DataExport"],[()=>f4]],f4=[3,ps,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",gb],[0,()=>pb]],f6=[3,ps,"Tag",0,["Key",du],[0,0]],f8=[3,ps,c9,0,[c7],[[()=>mp,0]]],f5=[3,ps,"TargetGrant",0,[g_,cf],[[()=>pz,{[dJ]:["xsi",db]}],0]],f7=[3,ps,c5,0,[cG,cd],[[()=>fq,{[dA]:cG}],[()=>fA,{[dA]:cd}]]],f9=[3,ps,de,0,[gc,hI],[1,0]],me=[-3,ps,"TooManyParts",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(me,hR);var mn=[3,ps,"TopicConfiguration",0,["Id","TopicArn",gv,gJ],[0,[0,{[dA]:"Topic"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],mi=[3,ps,dn,0,[gy,gc,c_],[5,1,0]],mt=[3,ps,"UploadPartOutput",0,[cW,gY,hz,hj,hq,ga,gu,cU,cj,c0,hK,cb],[[0,{[df]:d5}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d3}]]],ma=[3,ps,"UploadPartRequest",0,[h$,hO,h5,h9,hW,hz,hj,hq,ga,gu,"Key",cc,dt,cU,cz,cj,cv,gw],[[()=>pd,16],[0,1],[1,{[df]:h8}],[0,{[df]:h7}],[0,{[df]:d8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:dF}],[0,1],[1,{[dS]:dC}],[0,{[dS]:dZ}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[0,{[df]:dO}]]],mu=[-3,dD,"S3ServiceException",0,[],[]];hC.for(dD).registerError(mu,hx);var mo=[1,ps,"CommonPrefixList",0,()=>pL],mr=[1,ps,"CompletedPartList",0,()=>pY],ms=[1,ps,"EncryptionTypeList",0,[0,{[dA]:gE}]],ml=[1,ps,"FilterRuleList",0,()=>pK],mh=[1,ps,"Grants",0,[()=>pU,{[dA]:gF}]],mg=[1,ps,"InventoryOptionalFields",0,[0,{[dA]:"Field"}]],mc=[1,ps,"NoncurrentVersionTransitionList",0,()=>fm],md=[1,ps,"ObjectList",0,[()=>fT,0]],mp=[1,ps,c7,0,[()=>f6,{[dA]:"Tag"}]],mf=[1,ps,c8,0,[()=>f5,{[dA]:gF}]],mm=[1,ps,"TransitionList",0,()=>mi],my=[1,ps,da,0,[()=>fg,{[dA]:g2}]],mS=[4,ps,"AnalyticsFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>pS,0]]],mb=[4,ps,"MetricsFilter",0,[ch,"Tag",h_,"And"],[0,()=>f6,0,[()=>fp,0]]],mC=[9,ps,"AbortMultipartUpload",{[dc]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>pm,()=>pf],mw=[9,ps,ge,{[dc]:["POST","/{Key+}",200]},()=>pZ,()=>pD],mT=[9,ps,"CreateMultipartUpload",{[dc]:["POST","/{Key+}?uploads",200]},()=>pJ,()=>pA],mx=[9,ps,"CreateSession",{[dc]:["GET","/?session",200]},()=>pM,()=>pP],mL=[9,ps,"DeleteObject",{[dc]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>pF,()=>pk],mE=[9,ps,"GetObject",{[dd]:"-",[dc]:["GET","/{Key+}?x-id=GetObject",200]},()=>pW,()=>p$],mY=[9,ps,"HeadObject",{[dc]:["HEAD","/{Key+}",200]},()=>pq,()=>pj],mD=[9,ps,"ListObjectsV2",{[dc]:["GET","/?list-type=2",200]},()=>fh,()=>fl],mZ=[9,ps,"PutObject",{[dd]:"-",[dc]:["PUT","/{Key+}?x-id=PutObject",200]},()=>fP,()=>fJ],mv=[9,ps,"PutObjectTagging",{[dd]:"-",[dc]:["PUT","/{Key+}?tagging",200]},()=>fR,()=>fM],mN=[9,ps,"UploadPart",{[dd]:"-",[dc]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>ma,()=>mt];class mA extends hy.classBuilder().ep({...hb,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(mx).build(){}let mJ={warningEmitted:!1},mP=e=>{e&&!mJ.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(mJ.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
53
+ ${oi(u)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){let n=[];for(let i of e.split("/"))i?.length!==0&&"."!==i&&(".."===i?n.pop():n.push(i));return oM(`${e?.startsWith("/")?"/":""}${n.join("/")}${n.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 n;let i=("number"==typeof(n=e)?new Date(1e3*n):"string"==typeof n?new Date(Number(n)?1e3*Number(n):n):n).toISOString().replace(/\.\d{3}Z$/,"Z").replace(/[\-:]/g,"");return{longDate:i,shortDate:i.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}class oH extends oX{headerFormatter=new ov;constructor({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u=!0}){super({applyChecksum:e,credentials:n,region:i,service:t,sha256:a,uriEscapePath:u})}async presign(e,n={}){let{signingDate:i=new Date,expiresIn:t=3600,unsignableHeaders:a,unhoistableHeaders:u,signableHeaders:o,hoistableHeaders:r,signingRegion:s,signingService:l}=n,h=await this.credentialProvider();this.validateResolvedCredentials(h);let g=s??await this.regionProvider(),{longDate:c,shortDate:d}=this.formatDate(i);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=oL(d,g,l??this.service),f=((e,n={})=>{let{headers:i,query:t={}}=tV.clone(e);for(let e of Object.keys(i)){let a=e.toLowerCase();("x-amz-"===a.slice(0,6)&&!n.unhoistableHeaders?.has(a)||n.hoistableHeaders?.has(a))&&(t[e]=i[e],delete i[e])}return{...e,headers:i,query:t}})(oP(e),{unhoistableHeaders:u,hoistableHeaders:r});h.sessionToken&&(f.query[oh]=h.sessionToken),f.query["X-Amz-Algorithm"]=oC,f.query["X-Amz-Credential"]=`${h.accessKeyId}/${p}`,f.query[os]=c,f.query["X-Amz-Expires"]=t.toString(10);let m=oD(f,a,o);return f.query["X-Amz-SignedHeaders"]=this.getCanonicalHeaderList(m),f.query[ol]=await this.getSignature(c,p,this.getSigningKey(h,g,d,l),this.createCanonicalRequest(f,m,await oZ(e,this.sha256))),f}async sign(e,n){return"string"==typeof e?this.signString(e,n):e.headers&&e.payload?this.signEvent(e,n):e.message?this.signMessage(e,n):this.signRequest(e,n)}async signEvent({headers:e,payload:n},{signingDate:i=new Date,priorSignature:t,signingRegion:a,signingService:u}){let o=a??await this.regionProvider(),{shortDate:r,longDate:s}=this.formatDate(i),l=oL(r,o,u??this.service),h=await oZ({headers:{},body:n},this.sha256),g=new this.sha256;g.update(e);let c=["AWS4-HMAC-SHA256-PAYLOAD",s,l,t,oi(await g.digest()),h].join("\n");return this.signString(c,{signingDate:i,signingRegion:o,signingService:u})}async signMessage(e,{signingDate:n=new Date,signingRegion:i,signingService:t}){return this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:n,signingRegion:i,signingService:t,priorSignature:e.priorSignature}).then(n=>({message:e.message,signature:n}))}async signString(e,{signingDate:n=new Date,signingRegion:i,signingService:t}={}){let a=await this.credentialProvider();this.validateResolvedCredentials(a);let u=i??await this.regionProvider(),{shortDate:o}=this.formatDate(n),r=new this.sha256(await this.getSigningKey(a,u,o,t));return r.update(or(e)),oi(await r.digest())}async signRequest(e,{signingDate:n=new Date,signableHeaders:i,unsignableHeaders:t,signingRegion:a,signingService:u}={}){let o=await this.credentialProvider();this.validateResolvedCredentials(o);let r=a??await this.regionProvider(),s=oP(e),{longDate:l,shortDate:h}=this.formatDate(n),g=oL(h,r,u??this.service);s.headers[oc]=l,o.sessionToken&&(s.headers[om]=o.sessionToken);let c=await oZ(s,this.sha256);!((e,n)=>{for(let i of(e=e.toLowerCase(),Object.keys(n)))if(e===i.toLowerCase())return!0;return!1})(of,s.headers)&&this.applyChecksum&&(s.headers[of]=c);let d=oD(s,t,i),p=await this.getSignature(l,g,this.getSigningKey(o,r,h,u),this.createCanonicalRequest(s,d,c));return s.headers[og]=`${oC} Credential=${o.accessKeyId}/${g}, SignedHeaders=${this.getCanonicalHeaderList(d)}, Signature=${p}`,s}async getSignature(e,n,i,t){let a=await this.createStringToSign(e,n,t,oC),u=new this.sha256(await i);return u.update(or(a)),oi(await u.digest())}getSigningKey(e,n,i,t){return oE(this.sha256,e,i,n,t||this.service)}}let oB=e=>{let n,i,t=e.credentials,a=!!e.credentials;Object.defineProperty(e,"credentials",{set(i){i&&i!==t&&i!==n&&(a=!0);let u=function(e,{credentials:n,credentialDefaultProvider:i}){let t;return(t=n?n?.memoized?n:((e,n,i)=>{let t,a,u;if(void 0===e)return;let o="function"!=typeof e?async()=>Promise.resolve(e):e,r=!1,s=async e=>{a||(a=o(e));try{t=await a,u=!0,r=!1}finally{a=void 0}return t};return void 0===n?async e=>((!u||e?.forceRefresh)&&(t=await s(e)),t):async e=>((!u||e?.forceRefresh)&&(t=await s(e)),r||(i(t)?n(t)&&await s(e):r=!0),t)})(n,u5,u7):i?aZ(i(Object.assign({},e,{parentClientConfig:e}))):async()=>{throw Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}).memoized=!0,t}(e,{credentials:t=i,credentialDefaultProvider:e.credentialDefaultProvider}),o=function(e,n){if(n.configBound)return n;let i=async i=>n({...i,callerClientConfig:e});return i.memoized=n.memoized,i.configBound=!0,i}(e,u);if(a&&!o.attributed){let e="object"==typeof t&&null!==t;(n=async n=>{let i=await o(n);return e&&(!i.$source||0===Object.keys(i.$source).length)?u8(i,"CREDENTIALS_CODE","e"):i}).memoized=o.memoized,n.configBound=o.configBound,n.attributed=!0}else n=o},get:()=>n,enumerable:!0,configurable:!0}),e.credentials=t;let{signingEscapePath:u=!0,systemClockOffset:o=e.systemClockOffset||0,sha256:r}=e;return i=e.signer?aZ(e.signer):e.regionInfoProvider?()=>aZ(e.region)().then(async n=>[await e.regionInfoProvider(n,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},n]).then(([n,i])=>{let{signingRegion:t,signingService:a}=n;e.signingRegion=e.signingRegion||t||i,e.signingName=e.signingName||a||e.serviceId;let o={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oH)(o)}):async n=>{let i=(n=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await aZ(e.region)(),properties:{}},n)).signingRegion,t=n.signingName;e.signingRegion=e.signingRegion||i,e.signingName=e.signingName||t||e.serviceId;let a={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:r,uriEscapePath:u};return new(e.signerConstructor||oH)(a)},Object.assign(e,{systemClockOffset:o,signingEscapePath:u,signer:i})},ok={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET)return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map(e=>e.trim());throw new ue("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 ue("sigv4a_signing_region_set not set in profile.",{tryNextLink:!0})},default:void 0};class o_ extends oH{async signWithCredentials(e,n,i){let t=oF(n);return e.headers[aC]=n.sessionToken,oQ(this,t),this.signRequest(e,i??{})}async presignWithCredentials(e,n,i){let t=oF(n);return delete e.headers[aC],e.headers[ab]=n.sessionToken,e.query=e.query??{},e.query[ab]=n.sessionToken,oQ(this,t),this.presign(e,i)}}function oF(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,expiration:e.expiration}}function oQ(e,n){let i=setTimeout(()=>{throw Error("SignatureV4S3Express credential override was created but not called.")},10),t=e.credentialProvider;e.credentialProvider=()=>(clearTimeout(i),e.credentialProvider=t,Promise.resolve(n))}class oI{sigv4aSigner;sigv4Signer;signerOptions;static sigv4aDependency(){return"none"}constructor(e){this.sigv4Signer=new o_(e),this.signerOptions=e}async sign(e,n={}){return"*"===n.signingRegion?this.getSigv4aSigner().sign(e,n):this.sigv4Signer.sign(e,n)}async signWithCredentials(e,n,i={}){if("*"===i.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,n,i)}async presign(e,n={}){if("*"===n.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,n)}async presignWithCredentials(e,n,i={}){if("*"===i.signingRegion)throw Error("Method presignWithCredentials is not supported for [signingRegion=*].");return this.sigv4Signer.presignWithCredentials(e,n,i)}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 oO=async e=>{let n=e?.Bucket||"";if("string"==typeof e.Bucket&&(e.Bucket=n.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),oW(n)){if(!0===e.ForcePathStyle)throw Error("Path-style addressing cannot be used with ARN buckets")}else oU(n)&&(-1===n.indexOf(".")||String(e.Endpoint).startsWith("http:"))&&n.toLowerCase()===n&&!(n.length<3)||(e.ForcePathStyle=!0);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0),e},oG=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,oK=/(\d+\.){3}\d+/,o$=/\.\./,oU=e=>oG.test(e)&&!oK.test(e)&&!o$.test(e),oW=e=>{let[n,i,t,,,a]=e.split(":"),u="arn"===n&&e.split(":").length>=6,o=!!(u&&i&&t&&a);if(u&&!o)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return o},oz=(e,n,i,t=!1)=>{let a=async()=>{let a;if(t){let t=i.clientContextParams;a=t?.[e]??i[e]??i[n]}else a=i[e]??i[n];return"function"==typeof a?a():a};return"credentialScope"===e||"CredentialScope"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.credentialScope??e?.CredentialScope}:"accountId"===e||"AccountId"===n?async()=>{let e="function"==typeof i.credentials?await i.credentials():i.credentials;return e?.accountId??e?.AccountId}:"endpoint"===e||"endpoint"===n?async()=>{if(!1===i.isCustomEndpoint)return;let e=await a();if(e&&"object"==typeof e){if("url"in e)return e.url.href;if("hostname"in e){let{protocol:n,hostname:i,port:t,path:a}=e;return`${n}//${i}${t?":"+t:""}${a}`}}return e}:a},oj=async(e,n,i,t)=>{if(!i.isCustomEndpoint){let e;(e=i.serviceConfiguredEndpoint?await i.serviceConfiguredEndpoint():await uw(i.serviceId))&&(i.endpoint=()=>Promise.resolve(ux(e)),i.isCustomEndpoint=!0)}let a=await oq(e,n,i);if("function"!=typeof i.endpointProvider)throw Error("config.endpointProvider is not set.");return i.endpointProvider(a,t)},oq=async(e,n,i)=>{let t={},a=n?.getEndpointParameterInstructions?.()||{};for(let[n,u]of Object.entries(a))switch(u.type){case"staticContextParams":t[n]=u.value;break;case"contextParams":t[n]=e[u.name];break;case"clientContextParams":case"builtInParams":t[n]=await oz(u.name,n,i,"builtInParams"!==u.type)();break;case"operationContextParams":t[n]=u.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(u))}return 0===Object.keys(a).length&&Object.assign(t,i),"s3"===String(i.serviceId).toLowerCase()&&await oO(t),t};class oV{capacity;data=new Map;parameters=[];constructor({size:e,params:n}){this.capacity=e??50,n&&(this.parameters=n)}get(e,n){let i=this.hash(e);if(!1===i)return n();if(!this.data.has(i)){if(this.data.size>this.capacity+10){let e=this.data.keys(),n=0;for(;;){let{value:i,done:t}=e.next();if(this.data.delete(i),t||++n>10)break}}this.data.set(i,n())}return this.data.get(i)}size(){return this.data.size}hash(e){let n="",{parameters:i}=this;if(0===i.length)return!1;for(let t of i){let i=String(e[t]??"");if(i.includes("|;"))return!1;n+=i+"|;"}return n}}let o0="endpoints";function o1(e){return"object"!=typeof e||null==e?e:"ref"in e?`$${o1(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(o1).join(", ")})`:JSON.stringify(e,null,2)}class o3 extends Error{constructor(e){super(e),this.name="EndpointError"}}let o2=(e,n)=>(e=>{let n=e.split("."),i=[];for(let t of n){let n=t.indexOf("[");if(-1!==n){if(t.indexOf("]")!==t.length-1)throw new o3(`Path: '${e}' does not end with ']'`);let a=t.slice(n+1,-1);if(Number.isNaN(parseInt(a)))throw new o3(`Invalid array index: '${a}' in path: '${e}'`);0!==n&&i.push(t.slice(0,n)),i.push(a)}else i.push(t)}return i})(n).reduce((i,t)=>{if("object"!=typeof i)throw new o3(`Index '${t}' in '${n}' not found in '${JSON.stringify(e)}'`);return Array.isArray(i)?i[parseInt(t)]:i[t]},e);(q=ec||(ec={})).HTTP="http",q.HTTPS="https";let o4={[ec.HTTP]:80,[ec.HTTPS]:443},o6={booleanEquals:(e,n)=>e===n,getAttr:o2,isSet:e=>null!=e,isValidHostLabel:aP,not:e=>!e,parseURL:e=>{let n=(()=>{try{if(e instanceof URL)return e;if("object"==typeof e&&"hostname"in e){let{hostname:n,port:i,protocol:t="",path:a="",query:u={}}=e,o=new URL(`${t}//${n}${i?`:${i}`:""}${a}`);return o.search=Object.entries(u).map(([e,n])=>`${e}=${n}`).join("&"),o}return new URL(e)}catch(e){return null}})();if(!n)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let i=n.href,{host:t,hostname:a,pathname:u,protocol:o,search:r}=n;if(r)return null;let s=o.slice(0,-1);if(!Object.values(ec).includes(s))return null;let l=aR(a),h=i.includes(`${t}:${o4[s]}`)||"string"==typeof e&&e.includes(`${t}:${o4[s]}`),g=`${t}${h?`:${o4[s]}`:""}`;return{scheme:s,authority:g,path:u,normalizedPath:u.endsWith("/")?u:`${u}/`,isIp:l}},stringEquals:(e,n)=>e===n,substring:(e,n,i,t)=>n>=i||e.length<i?null:t?e.substring(e.length-i,e.length-n):e.substring(n,i),uriEncode:e=>encodeURIComponent(e).replace(/[!*'()]/g,e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)},o8=(e,n)=>{let i=[],t={...n.endpointParams,...n.referenceRecord},a=0;for(;a<e.length;){let n=e.indexOf("{",a);if(-1===n){i.push(e.slice(a));break}i.push(e.slice(a,n));let u=e.indexOf("}",n);if(-1===u){i.push(e.slice(n));break}"{"===e[n+1]&&"}"===e[u+1]&&(i.push(e.slice(n+1,u)),a=u+2);let o=e.substring(n+1,u);if(o.includes("#")){let[e,n]=o.split("#");i.push(o2(t[e],n))}else i.push(t[o]);a=u+1}return i.join("")},o5=(e,n,i)=>{if("string"==typeof e)return o8(e,i);if(e.fn)return o9.callFunction(e,i);if(e.ref)return(({ref:e},n)=>({...n.endpointParams,...n.referenceRecord})[e])(e,i);throw new o3(`'${n}': ${String(e)} is not a string, function or reference.`)},o7=({fn:e,argv:n},i)=>{let t=n.map(e=>["boolean","number"].includes(typeof e)?e:o9.evaluateExpression(e,"arg",i)),a=e.split(".");return a[0]in aA&&null!=a[1]?aA[a[0]][a[1]](...t):o6[e](...t)},o9={evaluateExpression:o5,callFunction:o7},re=({assign:e,...n},i)=>{if(e&&e in i.referenceRecord)throw new o3(`'${e}' is already defined in Reference Record.`);let t=o7(n,i);return i.logger?.debug?.(`${o0} evaluateCondition: ${o1(n)} = ${o1(t)}`),{result:""===t||!!t,...null!=e&&{toAssign:{name:e,value:t}}}},rn=(e=[],n)=>{let i={};for(let t of e){let{result:e,toAssign:a}=re(t,{...n,referenceRecord:{...n.referenceRecord,...i}});if(!e)return{result:e};a&&(i[a.name]=a.value,n.logger?.debug?.(`${o0} assign: ${a.name} := ${o1(a.value)}`))}return{result:!0,referenceRecord:i}},ri=(e,n)=>Object.entries(e).reduce((e,[i,t])=>({...e,[i]:ra.getEndpointProperty(t,n)}),{}),rt=(e,n)=>{if(Array.isArray(e))return e.map(e=>rt(e,n));switch(typeof e){case"string":return o8(e,n);case"object":if(null===e)throw new o3(`Unexpected endpoint property: ${e}`);return ra.getEndpointProperties(e,n);case"boolean":return e;default:throw new o3(`Unexpected endpoint property type: ${typeof e}`)}},ra={getEndpointProperty:rt,getEndpointProperties:ri},ru=(e,n)=>{let{conditions:i,endpoint:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(!a)return;let o={...n,referenceRecord:{...n.referenceRecord,...u}},{url:r,properties:s,headers:l}=t;return n.logger?.debug?.(`${o0} Resolving endpoint from template: ${o1(t)}`),{...void 0!=l&&{headers:Object.entries(l).reduce((e,[n,i])=>({...e,[n]:i.map(e=>{let i=o5(e,"Header value entry",o);if("string"!=typeof i)throw new o3(`Header '${n}' value '${i}' is not a string`);return i})}),{})},...void 0!=s&&{properties:ri(s,o)},url:((e,n)=>{let i=o5(e,"Endpoint URL",n);if("string"==typeof i)try{return new URL(i)}catch(e){throw console.error(`Failed to construct URL with ${i}`,e),e}throw new o3(`Endpoint URL must be a string, got ${typeof i}`)})(r,o)}},ro=(e,n)=>{let{conditions:i,error:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(a)throw new o3(o5(t,"Error",{...n,referenceRecord:{...n.referenceRecord,...u}}))},rr=(e,n)=>{for(let i of e)if("endpoint"===i.type){let e=ru(i,n);if(e)return e}else if("error"===i.type)ro(i,n);else if("tree"===i.type){let e=rs.evaluateTreeRule(i,n);if(e)return e}else throw new o3(`Unknown endpoint rule: ${i}`);throw new o3("Rules evaluation failed")},rs={evaluateRules:rr,evaluateTreeRule:(e,n)=>{let{conditions:i,rules:t}=e,{result:a,referenceRecord:u}=rn(i,n);if(a)return rs.evaluateRules(t,{...n,referenceRecord:{...n.referenceRecord,...u}})}},rl=(e,n)=>{let{endpointParams:i,logger:t}=n,{parameters:a,rules:u}=e;n.logger?.debug?.(`${o0} Initial EndpointParams: ${o1(i)}`);let o=Object.entries(a).filter(([,e])=>null!=e.default).map(([e,n])=>[e,n.default]);if(o.length>0)for(let[e,n]of o)i[e]=i[e]??n;for(let e of Object.entries(a).filter(([,e])=>e.required).map(([e])=>e))if(null==i[e])throw new o3(`Missing required parameter: '${e}'`);let r=rr(u,{endpointParams:i,logger:t,referenceRecord:{}});return n.logger?.debug?.(`${o0} Resolved endpoint: ${o1(r)}`),r},rh="required",rg="type",rc="rules",rd="conditions",rp="argv",rf="assign",rm="properties",ry="backend",rS="authSchemes",rb="disableDoubleEncoding",rC="signingName",rw="signingRegion",rT="headers",rx="signingRegionSet",rL="isSet",rE="booleanEquals",rY="error",rD="aws.partition",rZ="stringEquals",rv="getAttr",rN="name",rA="substring",rJ="bucketSuffix",rP="parseURL",rM="endpoint",rR="tree",rX="aws.isVirtualHostableS3Bucket",rH="{url#scheme}://{Bucket}.{url#authority}{url#path}",rB="accessPointSuffix",rk="{url#scheme}://{url#authority}{url#path}",r_="hardwareType",rF="regionPrefix",rQ="bucketAliasSuffix",rI="outpostId",rO="isValidHostLabel",rG="sigv4a",rK="s3-outposts",r$="{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",rU="https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",rW="https://{Bucket}.s3.{partitionResult#dnsSuffix}",rz="aws.parseArn",rj="bucketArn",rq="arnType",rV="s3-object-lambda",r0="accesspoint",r1="accessPointName",r3="{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",r2="mrapPartition",r4="outpostType",r6="arnPrefix",r8="{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",r5="https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",r7="https://s3.{partitionResult#dnsSuffix}",r9={[rh]:!1,[rg]:"string"},se={[rh]:!0,default:!1,[rg]:"boolean"},sn={[rh]:!1,[rg]:"boolean"},si={fn:rE,[rp]:[{ref:"Accelerate"},!0]},st={fn:rE,[rp]:[{ref:"UseFIPS"},!0]},sa={fn:rE,[rp]:[{ref:"UseDualStack"},!0]},su={fn:rL,[rp]:[{ref:"Endpoint"}]},so={fn:rD,[rp]:[{ref:"Region"}],[rf]:"partitionResult"},sr={fn:rZ,[rp]:[{fn:rv,[rp]:[{ref:"partitionResult"},rN]},"aws-cn"]},ss={fn:rL,[rp]:[{ref:"Bucket"}]},sl={ref:"Bucket"},sh={[rd]:[si],[rY]:"S3Express does not support S3 Accelerate.",[rg]:rY},sg={[rd]:[su,{fn:rP,[rp]:[{ref:"Endpoint"}],[rf]:"url"}],[rc]:[{[rd]:[{fn:rL,[rp]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rE,[rp]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],[rc]:[{[rd]:[{fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]}],[rc]:[{[rd]:[{fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"}],[rc]:[{[rM]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rX,[rp]:[sl,!1]}],[rc]:[{[rM]:{url:rH,[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR},{[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY}],[rg]:rR},{[rd]:[{fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]}],[rc]:[{[rd]:[{fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"}],[rc]:[{[rM]:{url:"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rX,[rp]:[sl,!1]}],[rc]:[{[rM]:{url:rH,[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],[rg]:rR},{[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY}],[rg]:rR},sc={fn:rP,[rp]:[{ref:"Endpoint"}],[rf]:"url"},sd={fn:rE,[rp]:[{fn:rv,[rp]:[{ref:"url"},"isIp"]},!0]},sp={ref:"url"},sf={fn:"uriEncode",[rp]:[sl],[rf]:"uri_encoded_bucket"},sm={[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3express",[rw]:"{Region}"}]},sy={},sS={fn:rX,[rp]:[sl,!1]},sb={[rY]:"S3Express bucket name is not a valid virtual hostable name.",[rg]:rY},sC={fn:rL,[rp]:[{ref:"UseS3ExpressControlEndpoint"}]},sw={fn:rE,[rp]:[{ref:"UseS3ExpressControlEndpoint"},!0]},sT={fn:"not",[rp]:[su]},sx={fn:rE,[rp]:[{ref:"UseDualStack"},!1]},sL={fn:rE,[rp]:[{ref:"UseFIPS"},!1]},sE={[rY]:"Unrecognized S3Express bucket name format.",[rg]:rY},sY={fn:"not",[rp]:[ss]},sD={ref:r_},sZ={[rd]:[sT],[rY]:"Expected a endpoint to be specified but no endpoint was found",[rg]:rY},sv={[rS]:[{[rb]:!0,[rN]:rG,[rC]:rK,[rx]:["*"]},{[rb]:!0,[rN]:"sigv4",[rC]:rK,[rw]:"{Region}"}]},sN={fn:rE,[rp]:[{ref:"ForcePathStyle"},!1]},sA={fn:rE,[rp]:[{ref:"Accelerate"},!1]},sJ={fn:rZ,[rp]:[{ref:"Region"},"aws-global"]},sP={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"us-east-1"}]},sM={fn:"not",[rp]:[sJ]},sR={fn:rE,[rp]:[{ref:"UseGlobalEndpoint"},!0]},sX={url:"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{Region}"}]},[rT]:{}},sH={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{Region}"}]},sB={fn:rE,[rp]:[{ref:"UseGlobalEndpoint"},!1]},sk={url:"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},s_={url:"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sF={url:"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sQ={fn:rE,[rp]:[{fn:rv,[rp]:[sp,"isIp"]},!1]},sI={url:r$,[rm]:sH,[rT]:{}},sO={url:rH,[rm]:sH,[rT]:{}},sG={[rM]:sO,[rg]:rM},sK={url:rU,[rm]:sH,[rT]:{}},s$={url:"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},sU={[rY]:"Invalid region: region was not a valid DNS name.",[rg]:rY},sW={ref:rj},sz={ref:rq},sj={fn:rv,[rp]:[sW,"service"]},sq={ref:r1},sV={[rd]:[sa],[rY]:"S3 Object Lambda does not support Dual-stack",[rg]:rY},s0={[rd]:[si],[rY]:"S3 Object Lambda does not support S3 Accelerate",[rg]:rY},s1={[rd]:[{fn:rL,[rp]:[{ref:"DisableAccessPoints"}]},{fn:rE,[rp]:[{ref:"DisableAccessPoints"},!0]}],[rY]:"Access points are not supported for this operation",[rg]:rY},s3={[rd]:[{fn:rL,[rp]:[{ref:"UseArnRegion"}]},{fn:rE,[rp]:[{ref:"UseArnRegion"},!1]},{fn:"not",[rp]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[sW,"region"]},"{Region}"]}]}],[rY]:"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",[rg]:rY},s2={fn:rv,[rp]:[{ref:"bucketPartition"},rN]},s4={fn:rv,[rp]:[sW,"accountId"]},s6={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:rV,[rw]:"{bucketArn#region}"}]},s8={[rY]:"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",[rg]:rY},s5={[rY]:"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",[rg]:rY},s7={[rY]:"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",[rg]:rY},s9={[rY]:"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",[rg]:rY},le={[rY]:"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",[rg]:rY},ln={[rY]:"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",[rg]:rY},li={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:"s3",[rw]:"{bucketArn#region}"}]},lt={[rS]:[{[rb]:!0,[rN]:rG,[rC]:rK,[rx]:["*"]},{[rb]:!0,[rN]:"sigv4",[rC]:rK,[rw]:"{bucketArn#region}"}]},la={fn:rz,[rp]:[sl]},lu={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lo={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lr={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},ls={url:r8,[rm]:sH,[rT]:{}},ll={url:"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sH,[rT]:{}},lh={ref:"UseObjectLambdaEndpoint"},lg={[rS]:[{[rb]:!0,[rN]:"sigv4",[rC]:rV,[rw]:"{Region}"}]},lc={url:"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},ld={url:"https://s3-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},lp={url:"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},lf={url:rk,[rm]:sH,[rT]:{}},lm={url:"https://s3.{Region}.{partitionResult#dnsSuffix}",[rm]:sH,[rT]:{}},ly=[{ref:"Region"}],lS=[si],lb=[su,sc],lC=[{fn:rL,[rp]:[{ref:"DisableS3ExpressSessionAuth"}]},{fn:rE,[rp]:[{ref:"DisableS3ExpressSessionAuth"},!0]}],lw=[sS],lT=[so],lx=[st,sa],lL=[st,sx],lE=[sL,sa],lY=[sL,sx],lD=[{fn:rA,[rp]:[sl,6,14,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,14,16,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lZ=[{[rd]:[st,sa],[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lL,[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lE,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM},{[rd]:lY,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:{}},[rg]:rM}],lv=[{fn:rA,[rp]:[sl,6,15,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,15,17,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lN=[{fn:rA,[rp]:[sl,6,19,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,19,21,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lA=[{fn:rA,[rp]:[sl,6,20,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,20,22,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lJ=[{fn:rA,[rp]:[sl,6,26,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,26,28,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lP=[{[rd]:[st,sa],[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lL,[rM]:{url:"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lE,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM},{[rd]:lY,[rM]:{url:"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}",[rm]:{[ry]:"S3Express",[rS]:[{[rb]:!0,[rN]:"sigv4-s3express",[rC]:"s3express",[rw]:"{Region}"}]},[rT]:{}},[rg]:rM}],lM=[sl,0,7,!0],lR=[{fn:rA,[rp]:[sl,7,15,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,15,17,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lX=[{fn:rA,[rp]:[sl,7,16,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,16,18,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lH=[{fn:rA,[rp]:[sl,7,20,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,20,22,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lB=[{fn:rA,[rp]:[sl,7,21,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,21,23,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],lk=[{fn:rA,[rp]:[sl,7,27,!0],[rf]:"s3expressAvailabilityZoneId"},{fn:rA,[rp]:[sl,27,29,!0],[rf]:"s3expressAvailabilityZoneDelim"},{fn:rZ,[rp]:[{ref:"s3expressAvailabilityZoneDelim"},"--"]}],l_=[{fn:rO,[rp]:[{ref:rI},!1]}],lF=[{fn:rZ,[rp]:[{ref:rF},"beta"]}],lQ=[{fn:rO,[rp]:[{ref:"Region"},!1]}],lI=[{fn:rZ,[rp]:[{ref:"Region"},"us-east-1"]}],lO=[{fn:rZ,[rp]:[sz,r0]}],lG=[{fn:rv,[rp]:[sW,"resourceId[1]"],[rf]:r1},{fn:"not",[rp]:[{fn:rZ,[rp]:[sq,""]}]}],lK=[sa],l$=[{fn:"not",[rp]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[sW,"region"]},""]}]}],lU=[{fn:"not",[rp]:[{fn:rL,[rp]:[{fn:rv,[rp]:[sW,"resourceId[2]"]}]}]}],lW=[{fn:rD,[rp]:[{fn:rv,[rp]:[sW,"region"]}],[rf]:"bucketPartition"}],lz=[{fn:rZ,[rp]:[s2,{fn:rv,[rp]:[{ref:"partitionResult"},rN]}]}],lj=[{fn:rO,[rp]:[{fn:rv,[rp]:[sW,"region"]},!0]}],lq=[{fn:rO,[rp]:[s4,!1]}],lV=[{fn:rO,[rp]:[sq,!1]}],l0=[st],l1=[{fn:rO,[rp]:[{ref:"Region"},!0]}],l3={version:"1.0",parameters:{Bucket:r9,Region:r9,UseFIPS:se,UseDualStack:se,Endpoint:r9,ForcePathStyle:se,Accelerate:se,UseGlobalEndpoint:se,UseObjectLambdaEndpoint:sn,Key:r9,Prefix:r9,CopySource:r9,DisableAccessPoints:sn,DisableMultiRegionAccessPoints:se,UseArnRegion:sn,UseS3ExpressControlEndpoint:sn,DisableS3ExpressSessionAuth:sn},[rc]:[{[rd]:[{fn:rL,[rp]:ly}],[rc]:[{[rd]:[si,st],error:"Accelerate cannot be used with FIPS",[rg]:rY},{[rd]:[sa,su],error:"Cannot set dual-stack in combination with a custom endpoint.",[rg]:rY},{[rd]:[su,st],error:"A custom endpoint cannot be combined with FIPS",[rg]:rY},{[rd]:[su,si],error:"A custom endpoint cannot be combined with S3 Accelerate",[rg]:rY},{[rd]:[st,so,sr],error:"Partition does not support FIPS",[rg]:rY},{[rd]:[ss,{fn:rA,[rp]:[sl,0,6,!0],[rf]:rJ},{fn:rZ,[rp]:[{ref:rJ},"--x-s3"]}],[rc]:[sh,sg,{[rd]:[sC,sw],[rc]:[{[rd]:lT,[rc]:[{[rd]:[sf,sT],[rc]:[{[rd]:lx,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sm,[rT]:sy},[rg]:rM}],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:lw,[rc]:[{[rd]:lT,[rc]:[{[rd]:lC,[rc]:[{[rd]:lD,[rc]:lZ,[rg]:rR},{[rd]:lv,[rc]:lZ,[rg]:rR},{[rd]:lN,[rc]:lZ,[rg]:rR},{[rd]:lA,[rc]:lZ,[rg]:rR},{[rd]:lJ,[rc]:lZ,[rg]:rR},sE],[rg]:rR},{[rd]:lD,[rc]:lP,[rg]:rR},{[rd]:lv,[rc]:lP,[rg]:rR},{[rd]:lN,[rc]:lP,[rg]:rR},{[rd]:lA,[rc]:lP,[rg]:rR},{[rd]:lJ,[rc]:lP,[rg]:rR},sE],[rg]:rR}],[rg]:rR},sb],[rg]:rR},{[rd]:[ss,{fn:rA,[rp]:lM,[rf]:rB},{fn:rZ,[rp]:[{ref:rB},"--xa-s3"]}],[rc]:[sh,sg,{[rd]:lw,[rc]:[{[rd]:lT,[rc]:[{[rd]:lC,[rc]:[{[rd]:lR,[rc]:lZ,[rg]:rR},{[rd]:lX,[rc]:lZ,[rg]:rR},{[rd]:lH,[rc]:lZ,[rg]:rR},{[rd]:lB,[rc]:lZ,[rg]:rR},{[rd]:lk,[rc]:lZ,[rg]:rR},sE],[rg]:rR},{[rd]:lR,[rc]:lP,[rg]:rR},{[rd]:lX,[rc]:lP,[rg]:rR},{[rd]:lH,[rc]:lP,[rg]:rR},{[rd]:lB,[rc]:lP,[rg]:rR},{[rd]:lk,[rc]:lP,[rg]:rR},sE],[rg]:rR}],[rg]:rR},sb],[rg]:rR},{[rd]:[sY,sC,sw],[rc]:[{[rd]:lT,[rc]:[{[rd]:lb,endpoint:{url:rk,[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lx,endpoint:{url:"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://s3express-control.{Region}.{partitionResult#dnsSuffix}",[rm]:sm,[rT]:sy},[rg]:rM}],[rg]:rR}],[rg]:rR},{[rd]:[ss,{fn:rA,[rp]:[sl,49,50,!0],[rf]:r_},{fn:rA,[rp]:[sl,8,12,!0],[rf]:rF},{fn:rA,[rp]:lM,[rf]:rQ},{fn:rA,[rp]:[sl,32,49,!0],[rf]:rI},{fn:rD,[rp]:ly,[rf]:"regionPartition"},{fn:rZ,[rp]:[{ref:rQ},"--op-s3"]}],[rc]:[{[rd]:l_,[rc]:[{[rd]:lw,[rc]:[{[rd]:[{fn:rZ,[rp]:[sD,"e"]}],[rc]:[{[rd]:lF,[rc]:[sZ,{[rd]:lb,endpoint:{url:"https://{Bucket}.ec2.{url#authority}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{endpoint:{url:"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{[rd]:[{fn:rZ,[rp]:[sD,"o"]}],[rc]:[{[rd]:lF,[rc]:[sZ,{[rd]:lb,endpoint:{url:"https://{Bucket}.op-{outpostId}.{url#authority}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{endpoint:{url:"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",[rm]:sv,[rT]:sy},[rg]:rM}],[rg]:rR},{error:'Unrecognized hardware type: "Expected hardware type o or e but got {hardwareType}"',[rg]:rY}],[rg]:rR},{error:"Invalid Outposts Bucket alias - it must be a valid bucket name.",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",[rg]:rY}],[rg]:rR},{[rd]:[ss],[rc]:[{[rd]:[su,{fn:"not",[rp]:[{fn:rL,[rp]:[{fn:rP,[rp]:[{ref:"Endpoint"}]}]}]}],error:"Custom endpoint `{Endpoint}` was not a valid URI",[rg]:rY},{[rd]:[sN,sS],[rc]:[{[rd]:lT,[rc]:[{[rd]:lQ,[rc]:[{[rd]:[si,sr],error:"S3 Accelerate cannot be used in this region",[rg]:rY},{[rd]:[sa,st,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,st,sA,sT,sM,sR],[rc]:[{endpoint:sX,[rg]:rM}],[rg]:rR},{[rd]:[sa,st,sA,sT,sM,sB],endpoint:sX,[rg]:rM},{[rd]:[sx,st,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,st,sA,sT,sM,sR],[rc]:[{endpoint:sk,[rg]:rM}],[rg]:rR},{[rd]:[sx,st,sA,sT,sM,sB],endpoint:sk,[rg]:rM},{[rd]:[sa,sL,si,sT,sJ],endpoint:{url:"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sL,si,sT,sM,sR],[rc]:[{endpoint:s_,[rg]:rM}],[rg]:rR},{[rd]:[sa,sL,si,sT,sM,sB],endpoint:s_,[rg]:rM},{[rd]:[sa,sL,sA,sT,sJ],endpoint:{url:"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sL,sA,sT,sM,sR],[rc]:[{endpoint:sF,[rg]:rM}],[rg]:rR},{[rd]:[sa,sL,sA,sT,sM,sB],endpoint:sF,[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sd,sJ],endpoint:{url:r$,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sQ,sJ],endpoint:{url:rH,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sd,sM,sR],[rc]:[{[rd]:lI,endpoint:sI,[rg]:rM},{endpoint:sI,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,sA,su,sc,sQ,sM,sR],[rc]:[{[rd]:lI,endpoint:sO,[rg]:rM},sG],[rg]:rR},{[rd]:[sx,sL,sA,su,sc,sd,sM,sB],endpoint:sI,[rg]:rM},{[rd]:[sx,sL,sA,su,sc,sQ,sM,sB],endpoint:sO,[rg]:rM},{[rd]:[sx,sL,si,sT,sJ],endpoint:{url:rU,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,si,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:sK,[rg]:rM},{endpoint:sK,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,si,sT,sM,sB],endpoint:sK,[rg]:rM},{[rd]:[sx,sL,sA,sT,sJ],endpoint:{url:rW,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sL,sA,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:rW,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:s$,[rg]:rM}],[rg]:rR},{[rd]:[sx,sL,sA,sT,sM,sB],endpoint:s$,[rg]:rM}],[rg]:rR},sU],[rg]:rR}],[rg]:rR},{[rd]:[su,sc,{fn:rZ,[rp]:[{fn:rv,[rp]:[sp,"scheme"]},"http"]},{fn:rX,[rp]:[sl,!0]},sN,sL,sx,sA],[rc]:[{[rd]:lT,[rc]:[{[rd]:lQ,[rc]:[sG],[rg]:rR},sU],[rg]:rR}],[rg]:rR},{[rd]:[sN,{fn:rz,[rp]:[sl],[rf]:rj}],[rc]:[{[rd]:[{fn:rv,[rp]:[sW,"resourceId[0]"],[rf]:rq},{fn:"not",[rp]:[{fn:rZ,[rp]:[sz,""]}]}],[rc]:[{[rd]:[{fn:rZ,[rp]:[sj,rV]}],[rc]:[{[rd]:lO,[rc]:[{[rd]:lG,[rc]:[sV,s0,{[rd]:l$,[rc]:[s1,{[rd]:lU,[rc]:[s3,{[rd]:lW,[rc]:[{[rd]:lT,[rc]:[{[rd]:lz,[rc]:[{[rd]:lj,[rc]:[{[rd]:[{fn:rZ,[rp]:[s4,""]}],error:"Invalid ARN: Missing account id",[rg]:rY},{[rd]:lq,[rc]:[{[rd]:lV,[rc]:[{[rd]:lb,endpoint:{url:r3,[rm]:s6,[rT]:sy},[rg]:rM},{[rd]:l0,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:s6,[rT]:sy},[rg]:rM},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:s6,[rT]:sy},[rg]:rM}],[rg]:rR},s8],[rg]:rR},s5],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},le],[rg]:rR},{error:"Invalid ARN: bucket ARN is missing a region",[rg]:rY}],[rg]:rR},ln],[rg]:rR},{error:"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",[rg]:rY}],[rg]:rR},{[rd]:lO,[rc]:[{[rd]:lG,[rc]:[{[rd]:l$,[rc]:[{[rd]:lO,[rc]:[{[rd]:l$,[rc]:[s1,{[rd]:lU,[rc]:[s3,{[rd]:lW,[rc]:[{[rd]:lT,[rc]:[{[rd]:[{fn:rZ,[rp]:[s2,"{partitionResult#name}"]}],[rc]:[{[rd]:lj,[rc]:[{[rd]:[{fn:rZ,[rp]:[sj,"s3"]}],[rc]:[{[rd]:lq,[rc]:[{[rd]:lV,[rc]:[{[rd]:lS,error:"Access Points do not support S3 Accelerate",[rg]:rY},{[rd]:lx,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lL,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lE,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,su,sc],endpoint:{url:r3,[rm]:li,[rT]:sy},[rg]:rM},{[rd]:lY,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:li,[rT]:sy},[rg]:rM}],[rg]:rR},s8],[rg]:rR},s5],[rg]:rR},{error:"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",[rg]:rY}],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},le],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rO,[rp]:[sq,!0]}],[rc]:[{[rd]:lK,error:"S3 MRAP does not support dual-stack",[rg]:rY},{[rd]:l0,error:"S3 MRAP does not support FIPS",[rg]:rY},{[rd]:lS,error:"S3 MRAP does not support S3 Accelerate",[rg]:rY},{[rd]:[{fn:rE,[rp]:[{ref:"DisableMultiRegionAccessPoints"},!0]}],error:"Invalid configuration: Multi-Region Access Point ARNs are disabled.",[rg]:rY},{[rd]:[{fn:rD,[rp]:ly,[rf]:r2}],[rc]:[{[rd]:[{fn:rZ,[rp]:[{fn:rv,[rp]:[{ref:r2},rN]},{fn:rv,[rp]:[sW,"partition"]}]}],[rc]:[{endpoint:{url:"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",[rm]:{[rS]:[{[rb]:!0,name:rG,[rC]:"s3",[rx]:["*"]}]},[rT]:sy},[rg]:rM}],[rg]:rR},{error:"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",[rg]:rY}],[rg]:rR}],[rg]:rR},{error:"Invalid Access Point Name",[rg]:rY}],[rg]:rR},ln],[rg]:rR},{[rd]:[{fn:rZ,[rp]:[sj,rK]}],[rc]:[{[rd]:lK,error:"S3 Outposts does not support Dual-stack",[rg]:rY},{[rd]:l0,error:"S3 Outposts does not support FIPS",[rg]:rY},{[rd]:lS,error:"S3 Outposts does not support S3 Accelerate",[rg]:rY},{[rd]:[{fn:rL,[rp]:[{fn:rv,[rp]:[sW,"resourceId[4]"]}]}],error:"Invalid Arn: Outpost Access Point ARN contains sub resources",[rg]:rY},{[rd]:[{fn:rv,[rp]:[sW,"resourceId[1]"],[rf]:rI}],[rc]:[{[rd]:l_,[rc]:[s3,{[rd]:lW,[rc]:[{[rd]:lT,[rc]:[{[rd]:lz,[rc]:[{[rd]:lj,[rc]:[{[rd]:lq,[rc]:[{[rd]:[{fn:rv,[rp]:[sW,"resourceId[2]"],[rf]:r4}],[rc]:[{[rd]:[{fn:rv,[rp]:[sW,"resourceId[3]"],[rf]:r1}],[rc]:[{[rd]:[{fn:rZ,[rp]:[{ref:r4},r0]}],[rc]:[{[rd]:lb,endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",[rm]:lt,[rT]:sy},[rg]:rM},{endpoint:{url:"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",[rm]:lt,[rT]:sy},[rg]:rM}],[rg]:rR},{error:"Expected an outpost type `accesspoint`, found {outpostType}",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: expected an access point name",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: Expected a 4-component resource",[rg]:rY}],[rg]:rR},s5],[rg]:rR},s7],[rg]:rR},s9],[rg]:rR}],[rg]:rR}],[rg]:rR},{error:"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: The Outpost Id was not set",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",[rg]:rY}],[rg]:rR},{error:"Invalid ARN: No ARN type specified",[rg]:rY}],[rg]:rR},{[rd]:[{fn:rA,[rp]:[sl,0,4,!1],[rf]:r6},{fn:rZ,[rp]:[{ref:r6},"arn:"]},{fn:"not",[rp]:[{fn:rL,[rp]:[la]}]}],error:"Invalid ARN: `{Bucket}` was not a valid ARN",[rg]:rY},{[rd]:[{fn:rE,[rp]:[{ref:"ForcePathStyle"},!0]},la],error:"Path-style addressing cannot be used with ARN buckets",[rg]:rY},{[rd]:[sf],[rc]:[{[rd]:lT,[rc]:[{[rd]:[sA],[rc]:[{[rd]:[sa,sT,st,sJ],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sT,st,sM,sR],[rc]:[{endpoint:lu,[rg]:rM}],[rg]:rR},{[rd]:[sa,sT,st,sM,sB],endpoint:lu,[rg]:rM},{[rd]:[sx,sT,st,sJ],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sT,st,sM,sR],[rc]:[{endpoint:lo,[rg]:rM}],[rg]:rR},{[rd]:[sx,sT,st,sM,sB],endpoint:lo,[rg]:rM},{[rd]:[sa,sT,sL,sJ],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sa,sT,sL,sM,sR],[rc]:[{endpoint:lr,[rg]:rM}],[rg]:rR},{[rd]:[sa,sT,sL,sM,sB],endpoint:lr,[rg]:rM},{[rd]:[sx,su,sc,sL,sJ],endpoint:{url:r8,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,su,sc,sL,sM,sR],[rc]:[{[rd]:lI,endpoint:ls,[rg]:rM},{endpoint:ls,[rg]:rM}],[rg]:rR},{[rd]:[sx,su,sc,sL,sM,sB],endpoint:ls,[rg]:rM},{[rd]:[sx,sT,sL,sJ],endpoint:{url:r5,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sx,sT,sL,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:r5,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:ll,[rg]:rM}],[rg]:rR},{[rd]:[sx,sT,sL,sM,sB],endpoint:ll,[rg]:rM}],[rg]:rR},{error:"Path-style addressing cannot be used with S3 Accelerate",[rg]:rY}],[rg]:rR}],[rg]:rR}],[rg]:rR},{[rd]:[{fn:rL,[rp]:[lh]},{fn:rE,[rp]:[lh,!0]}],[rc]:[{[rd]:lT,[rc]:[{[rd]:l1,[rc]:[sV,s0,{[rd]:lb,endpoint:{url:rk,[rm]:lg,[rT]:sy},[rg]:rM},{[rd]:l0,endpoint:{url:"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",[rm]:lg,[rT]:sy},[rg]:rM},{endpoint:{url:"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",[rm]:lg,[rT]:sy},[rg]:rM}],[rg]:rR},sU],[rg]:rR}],[rg]:rR},{[rd]:[sY],[rc]:[{[rd]:lT,[rc]:[{[rd]:l1,[rc]:[{[rd]:[st,sa,sT,sJ],endpoint:{url:"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[st,sa,sT,sM,sR],[rc]:[{endpoint:lc,[rg]:rM}],[rg]:rR},{[rd]:[st,sa,sT,sM,sB],endpoint:lc,[rg]:rM},{[rd]:[st,sx,sT,sJ],endpoint:{url:"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[st,sx,sT,sM,sR],[rc]:[{endpoint:ld,[rg]:rM}],[rg]:rR},{[rd]:[st,sx,sT,sM,sB],endpoint:ld,[rg]:rM},{[rd]:[sL,sa,sT,sJ],endpoint:{url:"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sa,sT,sM,sR],[rc]:[{endpoint:lp,[rg]:rM}],[rg]:rR},{[rd]:[sL,sa,sT,sM,sB],endpoint:lp,[rg]:rM},{[rd]:[sL,sx,su,sc,sJ],endpoint:{url:rk,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,su,sc,sM,sR],[rc]:[{[rd]:lI,endpoint:lf,[rg]:rM},{endpoint:lf,[rg]:rM}],[rg]:rR},{[rd]:[sL,sx,su,sc,sM,sB],endpoint:lf,[rg]:rM},{[rd]:[sL,sx,sT,sJ],endpoint:{url:r7,[rm]:sP,[rT]:sy},[rg]:rM},{[rd]:[sL,sx,sT,sM,sR],[rc]:[{[rd]:lI,endpoint:{url:r7,[rm]:sH,[rT]:sy},[rg]:rM},{endpoint:lm,[rg]:rM}],[rg]:rR},{[rd]:[sL,sx,sT,sM,sB],endpoint:lm,[rg]:rM}],[rg]:rR},sU],[rg]:rR}],[rg]:rR}],[rg]:rR},{error:"A region must be set when sending requests to S3.",[rg]:rY}]},l2=new oV({size:50,params:["Accelerate","Bucket","DisableAccessPoints","DisableMultiRegionAccessPoints","DisableS3ExpressSessionAuth","Endpoint","ForcePathStyle","Region","UseArnRegion","UseDualStack","UseFIPS","UseGlobalEndpoint","UseObjectLambdaEndpoint","UseS3ExpressControlEndpoint"]}),l4=(e,n={})=>l2.get(e,()=>rl(l3,{endpointParams:e,logger:n.logger}));aA.aws=aB;let l6=(d=async(e,n,i)=>({operation:aL(n).operation,region:await t1(e.region)()||(()=>{throw Error("expected `region` to be configured for `aws.auth#sigv4`")})()}),async(e,n,i)=>{if(!i)throw Error("Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`");let t=await d(e,n,i),a=aL(n)?.commandInstance?.constructor?.getEndpointParameterInstructions;if(!a)throw Error(`getEndpointParameterInstructions() is not defined on '${n.commandName}'`);return Object.assign(t,await oq(i,{getEndpointParameterInstructions:a},e))});function l8(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}function l5(e){return{schemeId:"aws.auth#sigv4a",signingProperties:{name:"s3",region:e.region},propertiesExtractor:(e,n)=>({signingProperties:{config:e,context:n}})}}let l7=(V=e=>{let n=[];return e.operation,n.push(l8(e)),n.push(l5(e)),n},ee={"aws.auth#sigv4":l8,"aws.auth#sigv4a":l5},e=>{let n=l4(e),i=n.properties?.authSchemes;if(!i)return V(e);let t=[];for(let n of i){let a,{name:u,properties:o={},...r}=n,s=u.toLowerCase();if(u!==s&&console.warn(`HttpAuthScheme has been normalized with lowercasing: '${u}' to '${s}'`),"sigv4a"===s){a="aws.auth#sigv4a";let e=i.find(e=>{let n=e.name.toLowerCase();return"sigv4a"!==n&&n.startsWith("sigv4")});if("none"===oI.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=ee[a];if(!l)throw Error(`Could not find HttpAuthOption create function for '${a}'`);let h=l(e);h.schemeId=a,h.signingProperties={...h.signingProperties||{},...r,...o},t.push(h)}return t});async function l9(e){return"function"==typeof e.stream&&(e=e.stream()),e.tee()}let he=e=>"function"==typeof ReadableStream&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);async function hn(e){if(he(e)||"function"==typeof Blob&&(e?.constructor?.name===Blob.name||e instanceof Blob))return l9(e);let n=new N,i=new N;return e.pipe(n),e.pipe(i),[n,i]}async function hi(e,n){let i=0,t=[],a=e.getReader(),u=!1;for(;!u;){let{done:e,value:o}=await a.read();if(o&&(t.push(o),i+=o?.byteLength??0),i>=n)break;u=e}a.releaseLock();let o=new Uint8Array(Math.min(n,i)),r=0;for(let e of t){if(e.byteLength>o.byteLength-r){o.set(e.subarray(0,o.byteLength-r),r);break}o.set(e,r),r+=e.length}return o}class ht extends J{buffers=[];limit=1/0;bytesBuffered=0;_write(e,n,i){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let e=this.bytesBuffered-this.limit,n=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=n.subarray(0,n.byteLength-e),this.emit("finish")}i()}}let ha={CopyObjectCommand:!0,UploadPartCopyCommand:!0,CompleteMultipartUploadCommand:!0},hu={relation:"after",toMiddleware:"deserializerMiddleware",tags:["THROW_200_EXCEPTIONS","S3"],name:"throw200ExceptionsMiddleware",override:!0},ho=e=>({applyToStack:n=>{n.addRelativeTo((n,i)=>async t=>{let a=await n(t),{response:u}=a;if(!a0.isInstance(u))return a;let{statusCode:o,body:r}=u;if(o<200||o>=300||"function"!=typeof r?.stream&&"function"!=typeof r?.pipe&&"function"!=typeof r?.tee)return a;let s=r,l=r;!r||"object"!=typeof r||r instanceof Uint8Array||([s,l]=await hn(r)),u.body=l;let h=await ((e=new Uint8Array,n)=>e instanceof Uint8Array?Promise.resolve(e):n.streamCollector(e)||Promise.resolve(new Uint8Array))(s,{streamCollector:async e=>he(e)?hi(e,3e3):new Promise((n,i)=>{let t=new ht;t.limit=3e3,e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(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&&ha[i.commandName]){let e=Error("S3 aborted request");throw e.name="InternalError",e}return g&&g.endsWith("</Error>")&&(u.statusCode=400),a},hu)}}),hr={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:"serializerMiddleware"},hs=(e,n)=>({applyToStack:i=>{i.addRelativeTo((({config:e,instructions:n})=>(i,t)=>async a=>{e.isCustomEndpoint&&(t.__smithy_context?t.__smithy_context.features||(t.__smithy_context.features={}):t.__smithy_context={features:{}},t.__smithy_context.features.ENDPOINT_OVERRIDE="N");let u=await oj(a.input,{getEndpointParameterInstructions:()=>n},{...e},t);t.endpointV2=u,t.authSchemes=u.properties?.authSchemes;let o=t.authSchemes?.[0];if(o){t.signing_region=o.signingRegion,t.signing_service=o.signingName;let e=aL(t),n=e?.selectedHttpAuthScheme?.httpAuthOption;n&&(n.signingProperties=Object.assign(n.signingProperties||{},{signing_region:o.signingRegion,signingRegion:o.signingRegion,signing_service:o.signingName,signingName:o.signingName,signingRegionSet:o.signingRegionSet},o.properties))}return i({...a})})({config:e,instructions:n}),hr)}}),hl=e=>"function"==typeof e?e():e;function hh(e){if("object"==typeof e)return e;e|=0;let n={},i=0;for(let t of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"])(e>>i++&1)==1&&(n[t]=1);return n}class hg{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=hg.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,n){this.ref=e,this.memberName=n;let i=[],t=e,a=e;for(this._isMemberSchema=!1;hd(t);)i.push(t[1]),a=hl(t=t[0]),this._isMemberSchema=!0;if(i.length>0){this.memberTraits={};for(let e=i.length-1;e>=0;--e){let n=i[e];Object.assign(this.memberTraits,hh(n))}}else this.memberTraits=0;if(a instanceof hg){let e=this.memberTraits;Object.assign(this,a),this.memberTraits=Object.assign({},e,a.getMemberTraits(),this.getMemberTraits()),this.normalizedTraits=void 0,this.memberName=n??a.memberName;return}if(this.schema=hl(a),hp(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&&!n)throw Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(!0)} missing member name.`)}static[Symbol.hasInstance](e){let n=this.prototype.isPrototypeOf(e);return n||"object"!=typeof e||null===e?n:e.symbol===this.symbol}static of(e){let n=hl(e);if(n instanceof hg)return n;if(hd(n)){let[i,t]=n;if(i instanceof hg)return Object.assign(i.getMergedTraits(),hh(t)),i;throw Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}return new hg(n)}getSchema(){let e=this.schema;return 0===e[0]?e[4]:e}getName(e=!1){let{name:n}=this;return!e&&n&&n.includes("#")?n.split("#")[1]:n||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 e=e=>(4&e)==4||!!e?.idempotencyToken,{normalizedTraits:n,traits:i,memberTraits:t}=this;return e(n)||e(i)||e(t)}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return hh(this.memberTraits)}getOwnTraits(){return hh(this.traits)}getKeySchema(){let[e,n]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!n)throw Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(!0)}`);let i=this.getSchema();return hc([e?15:i[4]??0,0],"key")}getValueSchema(){let e=this.getSchema(),[n,i,t]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()],a="number"==typeof e?63&e:e&&"object"==typeof e&&(i||t)?e[3+e[0]]:n?15:void 0;if(null!=a)return hc([a,0],i?"value":"member");throw Error(`@smithy/core/schema - ${this.getName(!0)} has no value member.`)}getMemberSchema(e){let n=this.getSchema();if(this.isStructSchema()&&n[4].includes(e)){let i=n[4].indexOf(e),t=n[5][i];return hc(hd(t)?t:[t,0],e)}if(this.isDocumentSchema())return hc([15,0],e);throw Error(`@smithy/core/schema - ${this.getName(!0)} has no no member=${e}.`)}getMemberSchemas(){let e={};try{for(let[n,i]of this.structIterator())e[n]=i}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(let[e,n]of this.structIterator())if(n.isStreaming()&&n.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 n=0;n<e[4].length;++n)yield[e[4][n],hc([e[5][n],0],e[4][n])]}}function hc(e,n){return e instanceof hg?Object.assign(e,{memberName:n,_isMemberSchema:!0}):new hg(e,n)}let hd=e=>Array.isArray(e)&&2===e.length,hp=e=>Array.isArray(e)&&e.length>=5,hf="***SensitiveInformation***";function hm(e,n){if(null==n)return n;let i=hg.of(e);if(i.getMergedTraits().sensitive)return hf;if(i.isListSchema()){if(i.getValueSchema().getMergedTraits().sensitive)return hf}else if(i.isMapSchema()){if(i.getKeySchema().getMergedTraits().sensitive||i.getValueSchema().getMergedTraits().sensitive)return hf}else if(i.isStructSchema()&&"object"==typeof n){let e={};for(let[t,a]of i.structIterator())null!=n[t]&&(e[t]=hm(a,n[t]));return e}return n}class hy{middlewareStack=u3();schema;static classBuilder(){return new hS}resolveMiddlewareWithContext(e,n,i,{middlewareFn:t,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,smithyContext:s,additionalContext:l,CommandCtor:h}){for(let a of t.bind(this)(h,e,n,i))this.middlewareStack.use(a);let g=e.concat(this.middlewareStack),{logger:c}=n,d={logger:c,clientName:a,commandName:u,inputFilterSensitiveLog:o,outputFilterSensitiveLog:r,[ax]:{commandInstance:this,...s},...l},{requestHandler:p}=n;return g.resolve(e=>p.handle(e.request,i||{}),d)}}class hS{_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,n,i={}){return this._smithyContext={service:e,operation:n,...i},this}c(e={}){return this._additionalContext=e,this}n(e,n){return this._clientName=e,this._commandName=n,this}f(e=e=>e,n=e=>e){return this._inputFilterSensitiveLog=e,this._outputFilterSensitiveLog=n,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,n=this;return e=class extends hy{input;static getEndpointParameterInstructions(){return n._ep}constructor(...[e]){super(),this.input=e??{},n._init(this),this.schema=n._operationSchema}resolveMiddleware(i,t,a){let u=n._operationSchema,o=u?.[4]??u?.input,r=u?.[5]??u?.output;return this.resolveMiddlewareWithContext(i,t,a,{CommandCtor:e,middlewareFn:n._middlewareFn,clientName:n._clientName,commandName:n._commandName,inputFilterSensitiveLog:n._inputFilterSensitiveLog??(u?hm.bind(null,o):e=>e),outputFilterSensitiveLog:n._outputFilterSensitiveLog??(u?hm.bind(null,r):e=>e),smithyContext:n._smithyContext,additionalContext:n._additionalContext})}serialize=n._serializer;deserialize=n._deserializer}}}let hb={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 hC{namespace;schemas;exceptions;static registries=new Map;constructor(e,n=new Map,i=new Map){this.namespace=e,this.schemas=n,this.exceptions=i}static for(e){return hC.registries.has(e)||hC.registries.set(e,new hC(e)),hC.registries.get(e)}register(e,n){let i=this.normalizeShapeId(e);hC.for(i.split("#")[0]).schemas.set(i,n)}getSchema(e){let n=this.normalizeShapeId(e);if(!this.schemas.has(n))throw Error(`@smithy/core/schema - schema not found for ${n}`);return this.schemas.get(n)}registerError(e,n){let i=hC.for(e[1]);i.schemas.set(e[1]+"#"+e[2],e),i.exceptions.set(e,n)}getErrorCtor(e){return hC.for(e[1]).exceptions.get(e)}getBaseException(){for(let e of this.exceptions.keys())if(Array.isArray(e)){let[,n,i]=e,t=n+"#"+i;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 hw 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&&(hw.prototype.isPrototypeOf(e)||!!e.$fault&&!!e.$metadata&&("client"===e.$fault||"server"===e.$fault))}static[Symbol.hasInstance](e){return!!e&&(this===hw?hw.isInstance(e):!!hw.isInstance(e)&&(e.name&&this.name?this.prototype.isPrototypeOf(e)||e.name===this.name:this.prototype.isPrototypeOf(e)))}}let hT=(e,n={})=>{Object.entries(n).filter(([,e])=>void 0!==e).forEach(([n,i])=>{(void 0==e[n]||""===e[n])&&(e[n]=i)});let i=e.message||e.Message||"UnknownError";return e.message=i,delete e.Message,e};class hx extends hw{constructor(e){super(e),Object.setPrototypeOf(this,hx.prototype)}}class hL extends hx{name="NoSuchUpload";$fault="client";constructor(e){super({name:"NoSuchUpload",$fault:"client",...e}),Object.setPrototypeOf(this,hL.prototype)}}class hE extends hx{name="ObjectNotInActiveTierError";$fault="client";constructor(e){super({name:"ObjectNotInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hE.prototype)}}class hY extends hx{name="BucketAlreadyExists";$fault="client";constructor(e){super({name:"BucketAlreadyExists",$fault:"client",...e}),Object.setPrototypeOf(this,hY.prototype)}}class hD extends hx{name="BucketAlreadyOwnedByYou";$fault="client";constructor(e){super({name:"BucketAlreadyOwnedByYou",$fault:"client",...e}),Object.setPrototypeOf(this,hD.prototype)}}class hZ extends hx{name="NoSuchBucket";$fault="client";constructor(e){super({name:"NoSuchBucket",$fault:"client",...e}),Object.setPrototypeOf(this,hZ.prototype)}}class hv extends hx{name="InvalidObjectState";$fault="client";StorageClass;AccessTier;constructor(e){super({name:"InvalidObjectState",$fault:"client",...e}),Object.setPrototypeOf(this,hv.prototype),this.StorageClass=e.StorageClass,this.AccessTier=e.AccessTier}}class hN extends hx{name="NoSuchKey";$fault="client";constructor(e){super({name:"NoSuchKey",$fault:"client",...e}),Object.setPrototypeOf(this,hN.prototype)}}class hA extends hx{name="NotFound";$fault="client";constructor(e){super({name:"NotFound",$fault:"client",...e}),Object.setPrototypeOf(this,hA.prototype)}}class hJ extends hx{name="EncryptionTypeMismatch";$fault="client";constructor(e){super({name:"EncryptionTypeMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hJ.prototype)}}class hP extends hx{name="InvalidRequest";$fault="client";constructor(e){super({name:"InvalidRequest",$fault:"client",...e}),Object.setPrototypeOf(this,hP.prototype)}}class hM extends hx{name="InvalidWriteOffset";$fault="client";constructor(e){super({name:"InvalidWriteOffset",$fault:"client",...e}),Object.setPrototypeOf(this,hM.prototype)}}class hR extends hx{name="TooManyParts";$fault="client";constructor(e){super({name:"TooManyParts",$fault:"client",...e}),Object.setPrototypeOf(this,hR.prototype)}}class hX extends hx{name="IdempotencyParameterMismatch";$fault="client";constructor(e){super({name:"IdempotencyParameterMismatch",$fault:"client",...e}),Object.setPrototypeOf(this,hX.prototype)}}class hH extends hx{name="ObjectAlreadyInActiveTierError";$fault="client";constructor(e){super({name:"ObjectAlreadyInActiveTierError",$fault:"client",...e}),Object.setPrototypeOf(this,hH.prototype)}}let hB="AccessControlTranslation",hk="AbortIncompleteMultipartUpload",h_="AccessKeyId",hF="AccessPointArn",hQ="AcceptRanges",hI="AccessTier",hO="Bucket",hG="BlockedEncryptionTypes",hK="BucketKeyEnabled",h$="Body",hU="ChecksumAlgorithm",hW="CacheControl",hz="ChecksumCRC32",hj="ChecksumCRC32C",hq="ChecksumCRC64NVME",hV="Cache-Control",h0="Content-Disposition",h1="ContentDisposition",h3="Content-Encoding",h2="ContentEncoding",h4="ContentLanguage",h6="Content-Language",h8="Content-Length",h5="ContentLength",h7="Content-MD5",h9="ContentMD5",ge="CompleteMultipartUpload",gn="ChecksumMode",gi="ContentRange",gt="Content-Range",ga="ChecksumSHA1",gu="ChecksumSHA256",go="ChecksumType",gr="Content-Type",gs="ContentType",gl="ContinuationToken",gh="Condition",gg="Credentials",gc="Days",gd="DeleteMarker",gp="DeleteMarkerReplication",gf="DisplayName",gm="DefaultRetention",gy="Date",gS="Delimiter",gb="Destination",gC="Expiration",gw="ExpectedBucketOwner",gT="EncryptionConfiguration",gx="ExistingObjectReplication",gL="ExpiresString",gE="EncryptionType",gY="ETag",gD="EncodingType",gZ="Encryption",gv="Events",gN="Event",gA="Expires",gJ="Filter",gP="FieldDelimiter",gM="FilterRule",gR="Format",gX="GrantFullControl",gH="GrantRead",gB="GrantReadACP",gk="GrantWriteACP",g_="Grant",gF="Grantee",gQ="HostName",gI="IfMatch",gO="If-Modified-Since",gG="IfModifiedSince",gK="If-Match",g$="IfNoneMatch",gU="If-None-Match",gW="InputSerialization",gz="IfUnmodifiedSince",gj="If-Unmodified-Since",gq="Initiator",gV="JSON",g0="LastModified",g1="Last-Modified",g3="Metadata",g2="MetadataEntry",g4="MaxKeys",g6="MissingMeta",g8="MultipartUpload",g5="Metrics",g7="Name",g9="NoncurrentDays",ce="NewerNoncurrentVersions",cn="NoncurrentVersionExpiration",ci="NoncurrentVersionTransition",ct="Owner",ca="ObjectLockLegalHoldStatus",cu="ObjectLockMode",co="ObjectLockRetainUntilDate",cr="ObjectSizeGreaterThan",cs="ObjectSizeLessThan",cl="OutputSerialization",ch="Prefix",cg="PartsCount",cc="PartNumber",cd="PartitionedPrefix",cp="Part",cf="Permission",cm="Protocol",cy="QuoteCharacter",cS="QuoteEscapeCharacter",cb="RequestCharged",cC="ResponseCacheControl",cw="ResponseContentDisposition",cT="ResponseContentEncoding",cx="ResponseContentLanguage",cL="ResponseContentType",cE="RecordDelimiter",cY="ResponseExpires",cD="RecordExpiration",cZ="ReplicaModifications",cv="RequestPayer",cN="RoutingRule",cA="ReplicationStatus",cJ="RestoreStatus",cP="ReplicationTime",cM="Range",cR="Restore",cX="Redirect",cH="Status",cB="StartAfter",ck="SecretAccessKey",c_="S3BucketDestination",cF="StorageClass",cQ="StorageClassAnalysis",cI="SSE-KMS",cO="SseKmsEncryptedObjects",cG="SimplePrefix",cK="SSE-S3",c$="SourceSelectionCriteria",cU="ServerSideEncryption",cW="SSECustomerAlgorithm",cz="SSECustomerKey",cj="SSECustomerKeyMD5",cq="SSEKMS",cV="SSEKMSEncryptionContext",c0="SSEKMSKeyId",c1="SSES3",c3="SessionToken",c2="Size",c4="Tags",c6="TagCount",c8="TargetGrants",c5="TargetObjectKeyFormat",c7="TagSet",c9="Tagging",de="Tiering",dn="Transition",di="Type",dt="UploadId",da="UserMetadata",du="Value",dr="VersionId",ds="WebsiteRedirectLocation",dl="accept-ranges",dh="client",dg="error",dc="http",dd="httpChecksum",dp="httpError",df="httpHeader",dm="httpPayload",dy="httpPrefixHeaders",dS="httpQuery",db="http://www.w3.org/2001/XMLSchema-instance",dC="partNumber",dw="response-cache-control",dT="response-content-disposition",dx="response-content-encoding",dL="response-content-language",dE="response-content-type",dY="response-expires",dD="smithy.ts.sdk.synthetic.com.amazonaws.s3",dZ="uploadId",dv="versionId",dN="xmlFlattened",dA="xmlName",dJ="xmlNamespace",dP="x-amz-acl",dM="x-amz-checksum-algorithm",dR="x-amz-checksum-crc32",dX="x-amz-checksum-crc32c",dH="x-amz-checksum-crc64nvme",dB="x-amz-checksum-mode",dk="x-amz-checksum-sha1",d_="x-amz-checksum-sha256",dF="x-amz-checksum-type",dQ="x-amz-delete-marker",dI="x-amz-expiration",dO="x-amz-expected-bucket-owner",dG="x-amz-grant-full-control",dK="x-amz-grant-read",d$="x-amz-grant-read-acp",dU="x-amz-grant-write-acp",dW="x-amz-meta-",dz="x-amz-missing-meta",dj="x-amz-mp-parts-count",dq="x-amz-object-lock-legal-hold",dV="x-amz-object-lock-mode",d0="x-amz-object-lock-retain-until-date",d1="x-amz-restore",d3="x-amz-request-charged",d2="x-amz-request-payer",d4="x-amz-replication-status",d6="x-amz-storage-class",d8="x-amz-sdk-checksum-algorithm",d5="x-amz-server-side-encryption",d7="x-amz-server-side-encryption-aws-kms-key-id",d9="x-amz-server-side-encryption-bucket-key-enabled",pe="x-amz-server-side-encryption-context",pn="x-amz-server-side-encryption-customer-algorithm",pi="x-amz-server-side-encryption-customer-key",pt="x-amz-server-side-encryption-customer-key-MD5",pa="x-amz-tagging",pu="x-amz-tagging-count",po="x-amz-version-id",pr="x-amz-website-redirect-location",ps="com.amazonaws.s3";var pl=[0,ps,"SessionCredentialValue",8,0],ph=[0,ps,cz,8,0],pg=[0,ps,cV,8,0],pc=[0,ps,c0,8,0],pd=[0,ps,"StreamingBlob",{streaming:1},42],pp=[3,ps,hk,0,["DaysAfterInitiation"],[1]],pf=[3,ps,"AbortMultipartUploadOutput",0,[cb],[[0,{[df]:d3}]]],pm=[3,ps,"AbortMultipartUploadRequest",0,[hO,"Key",dt,cv,gw,"IfMatchInitiatedTime"],[[0,1],[0,1],[0,{[dS]:dZ}],[0,{[df]:d2}],[0,{[df]:dO}],[6,{[df]:"x-amz-if-match-initiated-time"}]]],py=[3,ps,hB,0,[ct],[0]],pS=[3,ps,"AnalyticsAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],pb=[3,ps,"AnalyticsExportDestination",0,[c_],[()=>pC]],pC=[3,ps,"AnalyticsS3BucketDestination",0,[gR,"BucketAccountId",hO,ch],[0,0,0,0]],pw=[3,ps,hG,0,[gE],[[()=>ms,{[dN]:1}]]],pT=[-3,ps,"BucketAlreadyExists",{[dg]:dh,[dp]:409},[],[]];hC.for(ps).registerError(pT,hY);var px=[-3,ps,"BucketAlreadyOwnedByYou",{[dg]:dh,[dp]:409},[],[]];hC.for(ps).registerError(px,hD);var pL=[3,ps,"CommonPrefix",0,[ch],[0]],pE=[3,ps,"CompletedMultipartUpload",0,["Parts"],[[()=>mr,{[dN]:1,[dA]:cp}]]],pY=[3,ps,"CompletedPart",0,[gY,hz,hj,hq,ga,gu,cc],[0,0,0,0,0,0,1]],pD=[3,ps,"CompleteMultipartUploadOutput",{[dA]:"CompleteMultipartUploadResult"},["Location",hO,"Key",gC,gY,hz,hj,hq,ga,gu,go,cU,dr,c0,hK,cb],[0,0,0,[0,{[df]:dI}],0,0,0,0,0,0,0,[0,{[df]:d5}],[0,{[df]:po}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d3}]]],pZ=[3,ps,"CompleteMultipartUploadRequest",0,[hO,"Key",g8,dt,hz,hj,hq,ga,gu,go,"MpuObjectSize",cv,gw,gI,g$,cW,cz,cj],[[0,1],[0,1],[()=>pE,{[dm]:1,[dA]:ge}],[0,{[dS]:dZ}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,{[df]:dF}],[1,{[df]:"x-amz-mp-object-size"}],[0,{[df]:d2}],[0,{[df]:dO}],[0,{[df]:gK}],[0,{[df]:gU}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}]]],pv=[3,ps,gh,0,["HttpErrorCodeReturnedEquals","KeyPrefixEquals"],[0,0]],pN=[3,ps,"CORSRule",0,["ID","AllowedHeaders","AllowedMethods","AllowedOrigins","ExposeHeaders","MaxAgeSeconds"],[0,[64,{[dN]:1,[dA]:"AllowedHeader"}],[64,{[dN]:1,[dA]:"AllowedMethod"}],[64,{[dN]:1,[dA]:"AllowedOrigin"}],[64,{[dN]:1,[dA]:"ExposeHeader"}],1]],pA=[3,ps,"CreateMultipartUploadOutput",{[dA]:"InitiateMultipartUploadResult"},["AbortDate","AbortRuleId",hO,"Key",dt,cU,cW,cj,c0,cV,hK,cb,hU,go],[[4,{[df]:"x-amz-abort-date"}],[0,{[df]:"x-amz-abort-rule-id"}],[0,{[dA]:hO}],0,0,[0,{[df]:d5}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d3}],[0,{[df]:dM}],[0,{[df]:dF}]]],pJ=[3,ps,"CreateMultipartUploadRequest",0,["ACL",hO,hW,h1,h2,h4,gs,gA,gX,gH,gB,gk,"Key",g3,cU,cF,ds,cW,cz,cj,c0,cV,hK,cv,c9,cu,co,ca,gw,hU,go],[[0,{[df]:dP}],[0,1],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gr}],[4,{[df]:gA}],[0,{[df]:dG}],[0,{[df]:dK}],[0,{[df]:d$}],[0,{[df]:dU}],[0,1],[128,{[dy]:dW}],[0,{[df]:d5}],[0,{[df]:d6}],[0,{[df]:pr}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d2}],[0,{[df]:pa}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}],[0,{[df]:dO}],[0,{[df]:dM}],[0,{[df]:dF}]]],pP=[3,ps,"CreateSessionOutput",{[dA]:"CreateSessionResult"},[cU,c0,cV,hK,gg],[[0,{[df]:d5}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[()=>fj,{[dA]:gg}]]],pM=[3,ps,"CreateSessionRequest",0,["SessionMode",hO,cU,c0,cV,hK],[[0,{[df]:"x-amz-create-session-mode"}],[0,1],[0,{[df]:d5}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}]]],pR=[3,ps,"CSVInput",0,["FileHeaderInfo","Comments",cS,cE,gP,cy,"AllowQuotedRecordDelimiter"],[0,0,0,0,0,0,2]],pX=[3,ps,"CSVOutput",0,["QuoteFields",cS,cE,gP,cy],[0,0,0,0,0]],pH=[3,ps,gm,0,["Mode",gc,"Years"],[0,1,1]],pB=[3,ps,gp,0,[cH],[0]],pk=[3,ps,"DeleteObjectOutput",0,[gd,dr,cb],[[2,{[df]:dQ}],[0,{[df]:po}],[0,{[df]:d3}]]],p_=[3,ps,"DeleteObjectRequest",0,[hO,"Key","MFA",dr,cv,"BypassGovernanceRetention",gw,gI,"IfMatchLastModifiedTime","IfMatchSize"],[[0,1],[0,1],[0,{[df]:"x-amz-mfa"}],[0,{[dS]:dv}],[0,{[df]:d2}],[2,{[df]:"x-amz-bypass-governance-retention"}],[0,{[df]:dO}],[0,{[df]:gK}],[6,{[df]:"x-amz-if-match-last-modified-time"}],[1,{[df]:"x-amz-if-match-size"}]]],pF=[3,ps,gb,0,[hO,"Account",cF,hB,gT,cP,g5],[0,0,0,()=>py,()=>pI,()=>fI,()=>fd]],pQ=[3,ps,gZ,0,[gE,"KMSKeyId","KMSContext"],[0,[()=>pc,0],0]],pI=[3,ps,gT,0,["ReplicaKmsKeyID"],[0]],pO=[-3,ps,"EncryptionTypeMismatch",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(pO,hJ);var pG=[3,ps,gx,0,[cH],[0]],pK=[3,ps,gM,0,[g7,du],[0,0]],p$=[3,ps,"GetObjectOutput",0,[h$,gd,hQ,gC,cR,g0,h5,gY,hz,hj,hq,ga,gu,go,g6,dr,hW,h1,h2,h4,gi,gs,gA,gL,ds,cU,g3,cW,cj,c0,hK,cF,cb,cA,cg,c6,cu,co,ca],[[()=>pd,16],[2,{[df]:dQ}],[0,{[df]:dl}],[0,{[df]:dI}],[0,{[df]:d1}],[4,{[df]:g1}],[1,{[df]:h8}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,{[df]:dF}],[1,{[df]:dz}],[0,{[df]:po}],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gt}],[0,{[df]:gr}],[4,{[df]:gA}],[0,{[df]:gL}],[0,{[df]:pr}],[0,{[df]:d5}],[128,{[dy]:dW}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d6}],[0,{[df]:d3}],[0,{[df]:d4}],[1,{[df]:dj}],[1,{[df]:pu}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}]]],pU=[3,ps,"GetObjectRequest",0,[hO,gI,gG,g$,gz,"Key",cM,cC,cw,cT,cx,cL,cY,dr,cW,cz,cj,cv,cc,gw,gn],[[0,1],[0,{[df]:gK}],[4,{[df]:gO}],[0,{[df]:gU}],[4,{[df]:gj}],[0,1],[0,{[df]:cM}],[0,{[dS]:dw}],[0,{[dS]:dT}],[0,{[dS]:dx}],[0,{[dS]:dL}],[0,{[dS]:dE}],[6,{[dS]:dY}],[0,{[dS]:dv}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[1,{[dS]:dC}],[0,{[df]:dO}],[0,{[df]:dB}]]],pW=[3,ps,g_,0,[gF,cf],[[()=>pz,{[dJ]:["xsi",db]}],0]],pz=[3,ps,gF,0,[gf,"EmailAddress","ID","URI",di],[0,0,0,0,[0,{xmlAttribute:1,[dA]:"xsi:type"}]]],pj=[3,ps,"HeadObjectOutput",0,[gd,hQ,gC,cR,"ArchiveStatus",g0,h5,hz,hj,hq,ga,gu,go,gY,g6,dr,hW,h1,h2,h4,gs,gi,gA,gL,ds,cU,g3,cW,cj,c0,hK,cF,cb,cA,cg,c6,cu,co,ca],[[2,{[df]:dQ}],[0,{[df]:dl}],[0,{[df]:dI}],[0,{[df]:d1}],[0,{[df]:"x-amz-archive-status"}],[4,{[df]:g1}],[1,{[df]:h8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,{[df]:dF}],[0,{[df]:gY}],[1,{[df]:dz}],[0,{[df]:po}],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[0,{[df]:gr}],[0,{[df]:gt}],[4,{[df]:gA}],[0,{[df]:gL}],[0,{[df]:pr}],[0,{[df]:d5}],[128,{[dy]:dW}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d6}],[0,{[df]:d3}],[0,{[df]:d4}],[1,{[df]:dj}],[1,{[df]:pu}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}]]],pq=[3,ps,"HeadObjectRequest",0,[hO,gI,gG,g$,gz,"Key",cM,cC,cw,cT,cx,cL,cY,dr,cW,cz,cj,cv,cc,gw,gn],[[0,1],[0,{[df]:gK}],[4,{[df]:gO}],[0,{[df]:gU}],[4,{[df]:gj}],[0,1],[0,{[df]:cM}],[0,{[dS]:dw}],[0,{[dS]:dT}],[0,{[dS]:dx}],[0,{[dS]:dL}],[0,{[dS]:dE}],[6,{[dS]:dY}],[0,{[dS]:dv}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[1,{[dS]:dC}],[0,{[df]:dO}],[0,{[df]:dB}]]],pV=[-3,ps,"IdempotencyParameterMismatch",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(pV,hX);var p0=[3,ps,gq,0,["ID",gf],[0,0]],p1=[3,ps,gW,0,["CSV","CompressionType",gV,"Parquet"],[()=>pR,0,()=>fi,()=>fN]],p3=[3,ps,"IntelligentTieringAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],p2=[3,ps,"IntelligentTieringFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>p3,0]]],p4=[-3,ps,"InvalidObjectState",{[dg]:dh,[dp]:403},[cF,hI],[0,0]];hC.for(ps).registerError(p4,hv);var p6=[-3,ps,"InvalidRequest",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(p6,hP);var p8=[-3,ps,"InvalidWriteOffset",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(p8,hM);var p5=[3,ps,"InventoryDestination",0,[c_],[[()=>fe,0]]],p7=[3,ps,"InventoryEncryption",0,[c1,cq],[[()=>f3,{[dA]:cK}],[()=>f0,{[dA]:cI}]]],p9=[3,ps,"InventoryFilter",0,[ch],[0]],fe=[3,ps,"InventoryS3BucketDestination",0,["AccountId",hO,gR,ch,gZ],[0,0,0,0,[()=>p7,0]]],fn=[3,ps,"InventorySchedule",0,["Frequency"],[0]],fi=[3,ps,"JSONInput",0,[di],[0]],ft=[3,ps,"JSONOutput",0,[cE],[0]],fa=[3,ps,"LambdaFunctionConfiguration",0,["Id","LambdaFunctionArn",gv,gJ],[0,[0,{[dA]:"CloudFunction"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],fu=[3,ps,"LifecycleExpiration",0,[gy,gc,"ExpiredObjectDeleteMarker"],[5,1,2]],fo=[3,ps,"LifecycleRule",0,[gC,"ID",ch,gJ,cH,"Transitions","NoncurrentVersionTransitions",cn,hk],[()=>fu,0,0,[()=>fs,0],0,[()=>mm,{[dN]:1,[dA]:dn}],[()=>mc,{[dN]:1,[dA]:ci}],()=>ff,()=>pp]],fr=[3,ps,"LifecycleRuleAndOperator",0,[ch,c4,cr,cs],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}],1,1]],fs=[3,ps,"LifecycleRuleFilter",0,[ch,"Tag",cr,cs,"And"],[0,()=>f6,1,1,[()=>fr,0]]],fl=[3,ps,"ListObjectsV2Output",{[dA]:"ListBucketResult"},["IsTruncated","Contents",g7,ch,gS,g4,"CommonPrefixes",gD,"KeyCount",gl,"NextContinuationToken",cB,cb],[2,[()=>md,{[dN]:1}],0,0,0,1,[()=>mo,{[dN]:1}],0,1,0,0,0,[0,{[df]:d3}]]],fh=[3,ps,"ListObjectsV2Request",0,[hO,gS,gD,g4,ch,gl,"FetchOwner",cB,cv,gw,"OptionalObjectAttributes"],[[0,1],[0,{[dS]:"delimiter"}],[0,{[dS]:"encoding-type"}],[1,{[dS]:"max-keys"}],[0,{[dS]:"prefix"}],[0,{[dS]:"continuation-token"}],[2,{[dS]:"fetch-owner"}],[0,{[dS]:"start-after"}],[0,{[df]:d2}],[0,{[df]:dO}],[64,{[df]:"x-amz-optional-object-attributes"}]]],fg=[3,ps,g2,0,[g7,du],[0,0]],fc=[3,ps,"MetadataTableEncryptionConfiguration",0,["SseAlgorithm","KmsKeyArn"],[0,0]],fd=[3,ps,g5,0,[cH,"EventThreshold"],[0,()=>fO]],fp=[3,ps,"MetricsAndOperator",0,[ch,c4,hF],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}],0]],ff=[3,ps,cn,0,[g9,ce],[1,1]],fm=[3,ps,ci,0,[g9,cF,ce],[1,0,1]],fy=[-3,ps,"NoSuchBucket",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fy,hZ);var fS=[-3,ps,"NoSuchKey",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fS,hN);var fb=[-3,ps,"NoSuchUpload",{[dg]:dh,[dp]:404},[],[]];hC.for(ps).registerError(fb,hL);var fC=[-3,ps,"NotFound",{[dg]:dh},[],[]];hC.for(ps).registerError(fC,hA);var fw=[3,ps,"NotificationConfigurationFilter",0,["Key"],[[()=>f$,{[dA]:"S3Key"}]]],fT=[3,ps,"Object",0,["Key",g0,gY,hU,go,c2,cF,ct,cJ],[0,4,0,[64,{[dN]:1}],0,1,0,()=>fZ,()=>fG]],fx=[-3,ps,"ObjectAlreadyInActiveTierError",{[dg]:dh,[dp]:403},[],[]];hC.for(ps).registerError(fx,hH);var fL=[3,ps,"ObjectIdentifier",0,["Key",dr,gY,"LastModifiedTime",c2],[0,0,0,6,1]],fE=[-3,ps,"ObjectNotInActiveTierError",{[dg]:dh,[dp]:403},[],[]];hC.for(ps).registerError(fE,hE);var fY=[3,ps,"ObjectPart",0,[cc,c2,hz,hj,hq,ga,gu],[1,1,0,0,0,0,0]],fD=[3,ps,cl,0,["CSV",gV],[()=>pX,()=>ft]],fZ=[3,ps,ct,0,[gf,"ID"],[0,0]],fv=[3,ps,"OwnershipControlsRule",0,["ObjectOwnership"],[0]],fN=[3,ps,"ParquetInput",0,[],[]],fA=[3,ps,cd,{[dA]:cd},["PartitionDateSource"],[0]],fJ=[3,ps,"PutObjectOutput",0,[gC,gY,hz,hj,hq,ga,gu,go,cU,dr,cW,cj,c0,cV,hK,c2,cb],[[0,{[df]:dI}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,{[df]:dF}],[0,{[df]:d5}],[0,{[df]:po}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[1,{[df]:"x-amz-object-size"}],[0,{[df]:d3}]]],fP=[3,ps,"PutObjectRequest",0,["ACL",h$,hO,hW,h1,h2,h4,h5,h9,gs,hU,hz,hj,hq,ga,gu,gA,gI,g$,gX,gH,gB,gk,"Key","WriteOffsetBytes",g3,cU,cF,ds,cW,cz,cj,c0,cV,hK,cv,c9,cu,co,ca,gw],[[0,{[df]:dP}],[()=>pd,16],[0,1],[0,{[df]:hV}],[0,{[df]:h0}],[0,{[df]:h3}],[0,{[df]:h6}],[1,{[df]:h8}],[0,{[df]:h7}],[0,{[df]:gr}],[0,{[df]:d8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[4,{[df]:gA}],[0,{[df]:gK}],[0,{[df]:gU}],[0,{[df]:dG}],[0,{[df]:dK}],[0,{[df]:d$}],[0,{[df]:dU}],[0,1],[1,{[df]:"x-amz-write-offset-bytes"}],[128,{[dy]:dW}],[0,{[df]:d5}],[0,{[df]:d6}],[0,{[df]:pr}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[()=>pg,{[df]:pe}],[2,{[df]:d9}],[0,{[df]:d2}],[0,{[df]:pa}],[0,{[df]:dV}],[5,{[df]:d0}],[0,{[df]:dq}],[0,{[df]:dO}]]],fM=[3,ps,"PutObjectTaggingOutput",0,[dr],[[0,{[df]:po}]]],fR=[3,ps,"PutObjectTaggingRequest",0,[hO,"Key",dr,h9,hU,c9,gw,cv],[[0,1],[0,1],[0,{[dS]:dv}],[0,{[df]:h7}],[0,{[df]:d8}],[()=>f8,{[dm]:1,[dA]:c9}],[0,{[df]:dO}],[0,{[df]:d2}]]],fX=[3,ps,"QueueConfiguration",0,["Id","QueueArn",gv,gJ],[0,[0,{[dA]:"Queue"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],fH=[3,ps,cD,0,[gC,gc],[0,1]],fB=[3,ps,cX,0,[gQ,"HttpRedirectCode",cm,"ReplaceKeyPrefixWith","ReplaceKeyWith"],[0,0,0,0,0]],fk=[3,ps,cZ,0,[cH],[0]],f_=[3,ps,"ReplicationRule",0,["ID","Priority",ch,gJ,cH,c$,gx,gb,gp],[0,1,0,[()=>fQ,0],0,()=>fV,()=>pG,()=>pF,()=>pB]],fF=[3,ps,"ReplicationRuleAndOperator",0,[ch,c4],[0,[()=>mp,{[dN]:1,[dA]:"Tag"}]]],fQ=[3,ps,"ReplicationRuleFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>fF,0]]],fI=[3,ps,cP,0,[cH,"Time"],[0,()=>fO]],fO=[3,ps,"ReplicationTimeValue",0,["Minutes"],[1]],fG=[3,ps,cJ,0,["IsRestoreInProgress","RestoreExpiryDate"],[2,4]],fK=[3,ps,cN,0,[gh,cX],[()=>pv,()=>fB]],f$=[3,ps,"S3KeyFilter",0,["FilterRules"],[[()=>ml,{[dN]:1,[dA]:gM}]]],fU=[3,ps,"S3Location",0,["BucketName",ch,gZ,"CannedACL","AccessControlList",c9,da,cF],[0,0,[()=>pQ,0],0,[()=>mh,0],[()=>f8,0],[()=>my,0],0]],fW=[3,ps,"ServerSideEncryptionByDefault",0,["SSEAlgorithm","KMSMasterKeyID"],[0,[()=>pc,0]]],fz=[3,ps,"ServerSideEncryptionRule",0,["ApplyServerSideEncryptionByDefault",hK,hG],[[()=>fW,0],2,[()=>pw,0]]],fj=[3,ps,"SessionCredentials",0,[h_,ck,c3,gC],[[0,{[dA]:h_}],[()=>pl,{[dA]:ck}],[()=>pl,{[dA]:c3}],[4,{[dA]:gC}]]],fq=[3,ps,cG,{[dA]:cG},[],[]],fV=[3,ps,c$,0,[cO,cZ],[()=>f1,()=>fk]],f0=[3,ps,cq,{[dA]:cI},["KeyId"],[[()=>pc,0]]],f1=[3,ps,cO,0,[cH],[0]],f3=[3,ps,c1,{[dA]:cK},[],[]],f2=[3,ps,cQ,0,["DataExport"],[()=>f4]],f4=[3,ps,"StorageClassAnalysisDataExport",0,["OutputSchemaVersion",gb],[0,()=>pb]],f6=[3,ps,"Tag",0,["Key",du],[0,0]],f8=[3,ps,c9,0,[c7],[[()=>mp,0]]],f5=[3,ps,"TargetGrant",0,[gF,cf],[[()=>pz,{[dJ]:["xsi",db]}],0]],f7=[3,ps,c5,0,[cG,cd],[[()=>fq,{[dA]:cG}],[()=>fA,{[dA]:cd}]]],f9=[3,ps,de,0,[gc,hI],[1,0]],me=[-3,ps,"TooManyParts",{[dg]:dh,[dp]:400},[],[]];hC.for(ps).registerError(me,hR);var mn=[3,ps,"TopicConfiguration",0,["Id","TopicArn",gv,gJ],[0,[0,{[dA]:"Topic"}],[64,{[dN]:1,[dA]:gN}],[()=>fw,0]]],mi=[3,ps,dn,0,[gy,gc,cF],[5,1,0]],mt=[3,ps,"UploadPartOutput",0,[cU,gY,hz,hj,hq,ga,gu,cW,cj,c0,hK,cb],[[0,{[df]:d5}],[0,{[df]:gY}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,{[df]:pn}],[0,{[df]:pt}],[()=>pc,{[df]:d7}],[2,{[df]:d9}],[0,{[df]:d3}]]],ma=[3,ps,"UploadPartRequest",0,[h$,hO,h5,h9,hU,hz,hj,hq,ga,gu,"Key",cc,dt,cW,cz,cj,cv,gw],[[()=>pd,16],[0,1],[1,{[df]:h8}],[0,{[df]:h7}],[0,{[df]:d8}],[0,{[df]:dR}],[0,{[df]:dX}],[0,{[df]:dH}],[0,{[df]:dk}],[0,{[df]:d_}],[0,1],[1,{[dS]:dC}],[0,{[dS]:dZ}],[0,{[df]:pn}],[()=>ph,{[df]:pi}],[0,{[df]:pt}],[0,{[df]:d2}],[0,{[df]:dO}]]],mu=[-3,dD,"S3ServiceException",0,[],[]];hC.for(dD).registerError(mu,hx);var mo=[1,ps,"CommonPrefixList",0,()=>pL],mr=[1,ps,"CompletedPartList",0,()=>pY],ms=[1,ps,"EncryptionTypeList",0,[0,{[dA]:gE}]],ml=[1,ps,"FilterRuleList",0,()=>pK],mh=[1,ps,"Grants",0,[()=>pW,{[dA]:g_}]],mg=[1,ps,"InventoryOptionalFields",0,[0,{[dA]:"Field"}]],mc=[1,ps,"NoncurrentVersionTransitionList",0,()=>fm],md=[1,ps,"ObjectList",0,[()=>fT,0]],mp=[1,ps,c7,0,[()=>f6,{[dA]:"Tag"}]],mf=[1,ps,c8,0,[()=>f5,{[dA]:g_}]],mm=[1,ps,"TransitionList",0,()=>mi],my=[1,ps,da,0,[()=>fg,{[dA]:g2}]],mS=[4,ps,"AnalyticsFilter",0,[ch,"Tag","And"],[0,()=>f6,[()=>pS,0]]],mb=[4,ps,"MetricsFilter",0,[ch,"Tag",hF,"And"],[0,()=>f6,0,[()=>fp,0]]],mC=[9,ps,"AbortMultipartUpload",{[dc]:["DELETE","/{Key+}?x-id=AbortMultipartUpload",204]},()=>pm,()=>pf],mw=[9,ps,ge,{[dc]:["POST","/{Key+}",200]},()=>pZ,()=>pD],mT=[9,ps,"CreateMultipartUpload",{[dc]:["POST","/{Key+}?uploads",200]},()=>pJ,()=>pA],mx=[9,ps,"CreateSession",{[dc]:["GET","/?session",200]},()=>pM,()=>pP],mL=[9,ps,"DeleteObject",{[dc]:["DELETE","/{Key+}?x-id=DeleteObject",204]},()=>p_,()=>pk],mE=[9,ps,"GetObject",{[dd]:"-",[dc]:["GET","/{Key+}?x-id=GetObject",200]},()=>pU,()=>p$],mY=[9,ps,"HeadObject",{[dc]:["HEAD","/{Key+}",200]},()=>pq,()=>pj],mD=[9,ps,"ListObjectsV2",{[dc]:["GET","/?list-type=2",200]},()=>fh,()=>fl],mZ=[9,ps,"PutObject",{[dd]:"-",[dc]:["PUT","/{Key+}?x-id=PutObject",200]},()=>fP,()=>fJ],mv=[9,ps,"PutObjectTagging",{[dd]:"-",[dc]:["PUT","/{Key+}?tagging",200]},()=>fR,()=>fM],mN=[9,ps,"UploadPart",{[dd]:"-",[dc]:["PUT","/{Key+}?x-id=UploadPart",200]},()=>ma,()=>mt];class mA extends hy.classBuilder().ep({...hb,DisableS3ExpressSessionAuth:{type:"staticContextParams",value:!0},Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","CreateSession",{}).n("S3Client","CreateSessionCommand").sc(mx).build(){}let mJ={warningEmitted:!1},mP=e=>{e&&!mJ.warningEmitted&&20>parseInt(e.substring(1,e.indexOf(".")))&&(mJ.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`))},mM=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],mR="AWS_AUTH_SCHEME_PREFERENCE",mX="auth_scheme_preference",mH={environmentVariableSelector:(e,n)=>{if(n?.signingName){let i;if(i=n.signingName,`AWS_BEARER_TOKEN_${i.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(mR in e)return mM(e[mR])},configFileSelector:e=>{if(mX in e)return mM(e[mX])},default:[]},mB="AWS_ACCESS_KEY_ID",mk="AWS_SECRET_ACCESS_KEY",mF=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let n=process.env[mB],i=process.env[mk],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,u=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(n&&i){let e={accessKeyId:n,secretAccessKey:i,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...u&&{credentialScope:u},...o&&{accountId:o}};return u8(e,"CREDENTIALS_ENV_VARS","g"),e}throw new ui("Unable to find environment variable credentials.",{logger:e?.logger})},m_="AWS_EC2_METADATA_DISABLED",mQ=async e=>{let{ENV_CMDS_FULL_URI:n,ENV_CMDS_RELATIVE_URI:i,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[i]||process.env[n]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:n}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return un(n(e),t(e))}return process.env[m_]&&"false"!==process.env[m_]?async()=>{throw new ui("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))},mI=!1,mO=(e={})=>{let n,i,t,a,u,o;return o=[async()=>{if(e.profile??process.env[ua])throw process.env[mB]&&process.env[mk]&&!mI&&((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`))},mM=e=>"string"==typeof e&&e.length>0?e.split(",").map(e=>e.trim()):[],mR="AWS_AUTH_SCHEME_PREFERENCE",mX="auth_scheme_preference",mH={environmentVariableSelector:(e,n)=>{if(n?.signingName){let i;if(i=n.signingName,`AWS_BEARER_TOKEN_${i.replace(/[\s-]/g,"_").toUpperCase()}`in e)return["httpBearerAuth"]}if(mR in e)return mM(e[mR])},configFileSelector:e=>{if(mX in e)return mM(e[mX])},default:[]},mB="AWS_ACCESS_KEY_ID",mk="AWS_SECRET_ACCESS_KEY",m_=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");let n=process.env[mB],i=process.env[mk],t=process.env.AWS_SESSION_TOKEN,a=process.env.AWS_CREDENTIAL_EXPIRATION,u=process.env.AWS_CREDENTIAL_SCOPE,o=process.env.AWS_ACCOUNT_ID;if(n&&i){let e={accessKeyId:n,secretAccessKey:i,...t&&{sessionToken:t},...a&&{expiration:new Date(a)},...u&&{credentialScope:u},...o&&{accountId:o}};return u8(e,"CREDENTIALS_ENV_VARS","g"),e}throw new ui("Unable to find environment variable credentials.",{logger:e?.logger})},mF="AWS_EC2_METADATA_DISABLED",mQ=async e=>{let{ENV_CMDS_FULL_URI:n,ENV_CMDS_RELATIVE_URI:i,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[i]||process.env[n]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");let{fromHttp:n}=await import("./1~35.mjs").then(e=>({fromHttp:e.fromHttp}));return un(n(e),t(e))}return process.env[mF]&&"false"!==process.env[mF]?async()=>{throw new ui("EC2 Instance Metadata Service access disabled",{logger:e.logger})}:(e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata"),a(e))},mI=!1,mO=(e={})=>{let n,i,t,a,u,o;return o=[async()=>{if(e.profile??process.env[ua])throw process.env[mB]&&process.env[mk]&&!mI&&((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,19 +64,19 @@ More information can be found at: https://a.co/c895JFp`))},mM=e=>"string"==typeo
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
- `),mI=!0),new ui("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),mF(e)()},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:i,ssoAccountId:t,ssoRegion:a,ssoRoleName:u,ssoSession:o}=e;if(!i&&!t&&!a&&!u&&!o)throw new ui("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:r}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return r(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:i}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:i}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:i}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return i(e)(n)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await mQ(e))()),async()=>{throw new ui("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],a=async e=>{let n;for(let i of o)try{return await i(e)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},u=async e=>{if(e?.forceRefresh)return await a(e);if(t?.expiration&&t?.expiration?.getTime()<Date.now()&&(t=void 0),n)await n;else if(!t||mG?.(t))if(!t)return n=a(e).then(e=>{t=e,n=void 0}),u(e);else i||(i=a(e).then(e=>{t=e,i=void 0}));return t}},mG=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,mK={environmentVariableSelector:e=>aS(e,"AWS_S3_USE_ARN_REGION",es.ENV),configFileSelector:e=>aS(e,"s3_use_arn_region",es.CONFIG),default:void 0};(en=ed||(ed={})).ENV="env",en.CONFIG="shared config entry";let m$=(e,n,i,t)=>{if(!(n in e))return;let a=e[n].toUpperCase();if(!Object.values(i).includes(a))throw TypeError(`Cannot load ${t} '${n}'. Expected one of ${Object.values(i)}, got '${e[n]}'.`);return a},mW={environmentVariableSelector:e=>m$(e,"AWS_REQUEST_CHECKSUM_CALCULATION",t3,ed.ENV),configFileSelector:e=>m$(e,"request_checksum_calculation",t3,ed.CONFIG),default:t2},mU={environmentVariableSelector:e=>m$(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",t4,ed.ENV),configFileSelector:e=>m$(e,"response_checksum_validation",t4,ed.CONFIG),default:t6},mz=({serviceId:e,clientVersion:n})=>async i=>{let t=[["aws-sdk-js",n],["ua","2.1"],[`os/${(0,tz.platform)()}`,(0,tz.release)()],["lang/js"],["md/nodejs",`${R.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,n]),M.AWS_EXECUTION_ENV&&t.push([`exec-env/${M.AWS_EXECUTION_ENV}`]);let u=await i?.userAgentAppId?.();return u?[...t,[`app/${u}`]]:[...t]},mj={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:av},mq={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},mV={preferredFile:"credentials"},m0={environmentVariableSelector:e=>aS(e,"AWS_USE_DUALSTACK_ENDPOINT",es.ENV),configFileSelector:e=>aS(e,"use_dualstack_endpoint",es.CONFIG),default:!1},m1={environmentVariableSelector:e=>aS(e,"AWS_USE_FIPS_ENDPOINT",es.ENV),configFileSelector:e=>aS(e,"use_fips_endpoint",es.CONFIG),default:!1};function m3(e,n,i,t){return new(i||(i=Promise))(function(a,u){function o(e){try{s(t.next(e))}catch(e){u(e)}}function r(e){try{s(t.throw(e))}catch(e){u(e)}}function s(e){var n;e.done?a(e.value):((n=e.value)instanceof i?n:new i(function(e){e(n)})).then(o,r)}s((t=t.apply(e,n||[])).next())})}function m2(e,n){var i,t,a,u={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=r(0),o.throw=r(1),o.return=r(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(r){return function(s){var l=[r,s];if(i)throw TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(u=0)),u;)try{if(i=1,t&&(a=2&l[0]?t.return:l[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,l[1])).done)return a;switch(t=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return u.label++,{value:l[1],done:!1};case 5:u.label++,t=l[1],l=[0];continue;case 7:l=u.ops.pop(),u.trys.pop();continue;default:if(!(a=(a=u.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){u=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){u.label=l[1];break}if(6===l[0]&&u.label<a[1]){u.label=a[1],a=l;break}if(a&&u.label<a[2]){u.label=a[2],u.ops.push(l);break}a[2]&&u.ops.pop(),u.trys.pop();continue}l=n.call(e,u)}catch(e){l=[6,e],t=0}finally{i=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function m4(e){var n="function"==typeof Symbol&&Symbol.iterator,i=n&&e[n],t=0;if(i)return i.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(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var m6="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let n=((e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?P.from(e,n):P.from(e)})(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function m8(e){return e instanceof Uint8Array?e:"string"==typeof e?m6(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function m5(e){return"string"==typeof e?0===e.length:0===e.byteLength}function m7(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function m9(e){if(!Uint32Array.from){for(var n=new Uint32Array(e.length),i=0;i<e.length;)n[i]=e[i],i+=1;return n}return Uint32Array.from(e)}var ye=function(){function e(){this.crc32=new yn}return e.prototype.update=function(e){m5(e)||this.crc32.update(m8(e))},e.prototype.digest=function(){return m3(this,void 0,void 0,function(){return m2(this,function(e){return[2,m7(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new yn},e}(),yn=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m4(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^yi[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),yi=m9([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 yt{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&ya(n),new yt(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&ya(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function ya(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}class yu{toUtf8;fromUtf8;constructor(e,n){this.toUtf8=e,this.fromUtf8=n}format(e){let n=[];for(let i of Object.keys(e)){let t=this.fromUtf8(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=this.fromUtf8(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(yt.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!yf.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}parse(e){let n={},i=0;for(;i<e.byteLength;){let t=e.getUint8(i++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,t));switch(i+=t,e.getUint8(i++)){case 0:n[a]={type:yo,value:!0};break;case 1:n[a]={type:yo,value:!1};break;case 2:n[a]={type:yr,value:e.getInt8(i++)};break;case 3:n[a]={type:ys,value:e.getInt16(i,!1)},i+=2;break;case 4:n[a]={type:yl,value:e.getInt32(i,!1)},i+=4;break;case 5:n[a]={type:yh,value:new yt(new Uint8Array(e.buffer,e.byteOffset+i,8))},i+=8;break;case 6:let u=e.getUint16(i,!1);i+=2,n[a]={type:yg,value:new Uint8Array(e.buffer,e.byteOffset+i,u)},i+=u;break;case 7:let o=e.getUint16(i,!1);i+=2,n[a]={type:yc,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,o))},i+=o;break;case 8:n[a]={type:yd,value:new Date(new yt(new Uint8Array(e.buffer,e.byteOffset+i,8)).valueOf())},i+=8;break;case 9:let r=new Uint8Array(e.buffer,e.byteOffset+i,16);i+=16,n[a]={type:yp,value:`${oi(r.subarray(0,4))}-${oi(r.subarray(4,6))}-${oi(r.subarray(6,8))}-${oi(r.subarray(8,10))}-${oi(r.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return n}}(ei=ep||(ep={}))[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 yo="boolean",yr="byte",ys="short",yl="integer",yh="long",yg="binary",yc="string",yd="timestamp",yp="uuid",yf=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,ym=16;class yy{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,n){this.headerMarshaller=new yu(e,n),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),n=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>n}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let n=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>n}}encode({headers:e,body:n}){let i=this.headerMarshaller.format(e),t=i.byteLength+n.byteLength+16,a=new Uint8Array(t),u=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new yn;return u.setUint32(0,t,!1),u.setUint32(4,i.byteLength,!1),u.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(i,12),a.set(n,i.byteLength+12),u.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:n,body:i}=function({byteLength:e,byteOffset:n,buffer:i}){if(e<ym)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(i,n,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let u=t.getUint32(4,!1),o=t.getUint32(8,!1),r=t.getUint32(e-4,!1),s=new yn().update(new Uint8Array(i,n,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(i,n+8,e-12)),r!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${r}`);return{headers:new DataView(i,n+8+4,u),body:new Uint8Array(i,n+8+4+u,a-u-16)}}(e);return{headers:this.headerMarshaller.parse(n),body:i}}formatHeaders(e){return this.headerMarshaller.format(e)}}class yS{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=await this.options.deserializer(e);void 0!==n&&(yield n)}}}class yb{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.decoder.decode(e);yield n}}}class yC{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=this.options.encoder.encode(e);yield n}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class yw{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.serializer(e);yield n}}}class yT{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:n}){this.eventStreamCodec=new yy(e,n),this.utfEncoder=e}deserialize(e,n){var i;let t,a,u,o,r;return new yS({messageStream:new yb({inputStream:(t=0,a=0,u=null,o=null,r=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);t=e,a=4,new DataView((u=new Uint8Array(e)).buffer).setUint32(0,e,!1)},{[Symbol.asyncIterator]:async function*(){let n=e[Symbol.asyncIterator]();for(;;){let{value:e,done:i}=await n.next();if(i){if(t)if(t===a)yield u;else throw Error("Truncated event message received.");return}let s=e.length,l=0;for(;l<s;){if(!u){let n=s-l;o||(o=new Uint8Array(4));let i=Math.min(4-a,n);if(o.set(e.slice(l,l+i),a),a+=i,l+=i,a<4)break;r(new DataView(o.buffer).getUint32(0,!1)),o=null}let n=Math.min(t-a,s-l);u.set(e.slice(l,l+n),a),a+=n,l+=n,t&&t===a&&(yield u,u=null,t=0,a=0)}}}}),decoder:this.eventStreamCodec}),deserializer:(i=this.utfEncoder,async function(e){let{value:t}=e.headers[":message-type"];if("error"===t){let n=Error(e.headers[":error-message"].value||"UnknownError");throw n.name=e.headers[":error-code"].value,n}if("exception"===t){let t=e.headers[":exception-type"].value,a=await n({[t]:e});if(a.$unknown){let n=Error(i(e.body));throw n.name=t,n}throw a[t]}if("event"===t){let i={[e.headers[":event-type"].value]:e},t=await n(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)})})}serialize(e,n){return new yC({messageStream:new yw({inputStream:e,serializer:n}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*yx(e){let n=!1,i=!1,t=[];for(e.on("error",e=>{if(n||(n=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{n=!0});!i;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),i=n&&0===t.length}}class yL{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:n}){this.universalMarshaller=new yT({utf8Decoder:n,utf8Encoder:e})}deserialize(e,n){let i="function"==typeof e[Symbol.asyncIterator]?e:yx(e);return this.universalMarshaller.deserialize(i,n)}serialize(e,n){return A.from(this.universalMarshaller.serialize(e,n))}}let yE=e=>new yL(e);class yY{algorithmIdentifier;secret;hash;constructor(e,n){this.algorithmIdentifier=e,this.secret=n,this.reset()}update(e,n){this.hash.update(or(yD(e,n)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,uI.createHmac)(this.algorithmIdentifier,yD(this.secret)):(0,uI.createHash)(this.algorithmIdentifier)}}function yD(e,n){return P.isBuffer(e)?e:"string"==typeof e?ou(e,n):ArrayBuffer.isView(e)?oa(e.buffer,e.byteOffset,e.byteLength):oa(e)}class yZ extends J{hash;constructor(e,n){super(n),this.hash=e}_write(e,n,i){try{this.hash.update(or(e))}catch(e){return i(e)}i()}}let yv=(e,n)=>{if(null!==n.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let i=new e,t=new yZ(i);return n.pipe(t),new Promise((e,a)=>{n.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{i.digest().then(e).catch(a)})})},yN=["ECONNRESET","EPIPE","ETIMEDOUT"],yA=e=>clearTimeout(e),yJ=3e3;async function yP(e,n,i=6e3,t=!1){var a,u;let o=n.headers??{},r=o.Expect||o.expect,s=-1,l=!0;t||"100-continue"!==r||(l=await Promise.race([new Promise(e=>{s=Number(setTimeout(()=>e(!0),Math.max(6e3,i)))}),new Promise(n=>{e.on("continue",()=>{yA(s),n(!0)}),e.on("response",()=>{yA(s),n(!1)}),e.on("error",()=>{yA(s),n(!1)})})])),l&&(a=e,(u=n.body)instanceof A?u.pipe(a):u?Buffer.isBuffer(u)||"string"==typeof u?a.end(u):"object"==typeof u&&u.buffer&&"number"==typeof u.byteOffset&&"number"==typeof u.byteLength?a.end(Buffer.from(u.buffer,u.byteOffset,u.byteLength)):a.end(Buffer.from(u)):a.end())}class yM{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new yM(e)}static checkSocketUsage(e,n,i=console){let{sockets:t,requests:a,maxSockets:u}=e;if("number"!=typeof u||u===1/0||Date.now()-15e3<n)return n;if(t&&a)for(let e in t){let n=t[e]?.length??0,o=a[e]?.length??0;if(n>=u&&o>=2*u)return i?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${n} and ${o} additional requests are enqueued.
67
+ `),mI=!0),new ui("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:!0});return e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv"),m_(e)()},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");let{ssoStartUrl:i,ssoAccountId:t,ssoRegion:a,ssoRoleName:u,ssoSession:o}=e;if(!i&&!t&&!a&&!u&&!o)throw new ui("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger});let{fromSSO:r}=await import("./1~390.mjs").then(e=>({fromSSO:e.fromSSO}));return r(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");let{fromIni:i}=await import("./1~113.mjs").then(e=>({fromIni:e.fromIni}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");let{fromProcess:i}=await import("./1~844.mjs").then(e=>({fromProcess:e.fromProcess}));return i(e)(n)},async n=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");let{fromTokenFile:i}=await import("./1~622.mjs").then(e=>({fromTokenFile:e.fromTokenFile}));return i(e)(n)},async()=>(e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider"),(await mQ(e))()),async()=>{throw new ui("Could not load credentials from any providers",{tryNextLink:!1,logger:e.logger})}],a=async e=>{let n;for(let i of o)try{return await i(e)}catch(e){if(n=e,e?.tryNextLink)continue;throw e}throw n},u=async e=>{if(e?.forceRefresh)return await a(e);if(t?.expiration&&t?.expiration?.getTime()<Date.now()&&(t=void 0),n)await n;else if(!t||mG?.(t))if(!t)return n=a(e).then(e=>{t=e,n=void 0}),u(e);else i||(i=a(e).then(e=>{t=e,i=void 0}));return t}},mG=e=>e?.expiration!==void 0&&e.expiration.getTime()-Date.now()<3e5,mK={environmentVariableSelector:e=>aS(e,"AWS_S3_USE_ARN_REGION",es.ENV),configFileSelector:e=>aS(e,"s3_use_arn_region",es.CONFIG),default:void 0};(en=ed||(ed={})).ENV="env",en.CONFIG="shared config entry";let m$=(e,n,i,t)=>{if(!(n in e))return;let a=e[n].toUpperCase();if(!Object.values(i).includes(a))throw TypeError(`Cannot load ${t} '${n}'. Expected one of ${Object.values(i)}, got '${e[n]}'.`);return a},mU={environmentVariableSelector:e=>m$(e,"AWS_REQUEST_CHECKSUM_CALCULATION",t3,ed.ENV),configFileSelector:e=>m$(e,"request_checksum_calculation",t3,ed.CONFIG),default:t2},mW={environmentVariableSelector:e=>m$(e,"AWS_RESPONSE_CHECKSUM_VALIDATION",t4,ed.ENV),configFileSelector:e=>m$(e,"response_checksum_validation",t4,ed.CONFIG),default:t6},mz=({serviceId:e,clientVersion:n})=>async i=>{let t=[["aws-sdk-js",n],["ua","2.1"],[`os/${(0,tz.platform)()}`,(0,tz.release)()],["lang/js"],["md/nodejs",`${R.node}`]],a=null;a&&t.push(a),e&&t.push([`api/${e}`,n]),M.AWS_EXECUTION_ENV&&t.push([`exec-env/${M.AWS_EXECUTION_ENV}`]);let u=await i?.userAgentAppId?.();return u?[...t,[`app/${u}`]]:[...t]},mj={environmentVariableSelector:e=>e.AWS_SDK_UA_APP_ID,configFileSelector:e=>e.sdk_ua_app_id??e["sdk-ua-app-id"],default:av},mq={environmentVariableSelector:e=>e.AWS_REGION,configFileSelector:e=>e.region,default:()=>{throw Error("Region is missing")}},mV={preferredFile:"credentials"},m0={environmentVariableSelector:e=>aS(e,"AWS_USE_DUALSTACK_ENDPOINT",es.ENV),configFileSelector:e=>aS(e,"use_dualstack_endpoint",es.CONFIG),default:!1},m1={environmentVariableSelector:e=>aS(e,"AWS_USE_FIPS_ENDPOINT",es.ENV),configFileSelector:e=>aS(e,"use_fips_endpoint",es.CONFIG),default:!1};function m3(e,n,i,t){return new(i||(i=Promise))(function(a,u){function o(e){try{s(t.next(e))}catch(e){u(e)}}function r(e){try{s(t.throw(e))}catch(e){u(e)}}function s(e){var n;e.done?a(e.value):((n=e.value)instanceof i?n:new i(function(e){e(n)})).then(o,r)}s((t=t.apply(e,n||[])).next())})}function m2(e,n){var i,t,a,u={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=r(0),o.throw=r(1),o.return=r(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(r){return function(s){var l=[r,s];if(i)throw TypeError("Generator is already executing.");for(;o&&(o=0,l[0]&&(u=0)),u;)try{if(i=1,t&&(a=2&l[0]?t.return:l[0]?t.throw||((a=t.return)&&a.call(t),0):t.next)&&!(a=a.call(t,l[1])).done)return a;switch(t=0,a&&(l=[2&l[0],a.value]),l[0]){case 0:case 1:a=l;break;case 4:return u.label++,{value:l[1],done:!1};case 5:u.label++,t=l[1],l=[0];continue;case 7:l=u.ops.pop(),u.trys.pop();continue;default:if(!(a=(a=u.trys).length>0&&a[a.length-1])&&(6===l[0]||2===l[0])){u=0;continue}if(3===l[0]&&(!a||l[1]>a[0]&&l[1]<a[3])){u.label=l[1];break}if(6===l[0]&&u.label<a[1]){u.label=a[1],a=l;break}if(a&&u.label<a[2]){u.label=a[2],u.ops.push(l);break}a[2]&&u.ops.pop(),u.trys.pop();continue}l=n.call(e,u)}catch(e){l=[6,e],t=0}finally{i=a=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function m4(e){var n="function"==typeof Symbol&&Symbol.iterator,i=n&&e[n],t=0;if(i)return i.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(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var m6="u">typeof Buffer&&Buffer.from?function(e){return Buffer.from(e,"utf8")}:e=>{let n=((e,n)=>{if("string"!=typeof e)throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return n?P.from(e,n):P.from(e)})(e,"utf8");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength/Uint8Array.BYTES_PER_ELEMENT)};function m8(e){return e instanceof Uint8Array?e:"string"==typeof e?m6(e):ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT):new Uint8Array(e)}function m5(e){return"string"==typeof e?0===e.length:0===e.byteLength}function m7(e){return new Uint8Array([(0xff000000&e)>>24,(0xff0000&e)>>16,(65280&e)>>8,255&e])}function m9(e){if(!Uint32Array.from){for(var n=new Uint32Array(e.length),i=0;i<e.length;)n[i]=e[i],i+=1;return n}return Uint32Array.from(e)}var ye=function(){function e(){this.crc32=new yn}return e.prototype.update=function(e){m5(e)||this.crc32.update(m8(e))},e.prototype.digest=function(){return m3(this,void 0,void 0,function(){return m2(this,function(e){return[2,m7(this.crc32.digest())]})})},e.prototype.reset=function(){this.crc32=new yn},e}(),yn=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m4(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^yi[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),yi=m9([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 yt{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 n=new Uint8Array(8);for(let i=7,t=Math.abs(Math.round(e));i>-1&&t>0;i--,t/=256)n[i]=t;return e<0&&ya(n),new yt(n)}valueOf(){let e=this.bytes.slice(0),n=128&e[0];return n&&ya(e),parseInt(oi(e),16)*(n?-1:1)}toString(){return String(this.valueOf())}}function ya(e){for(let n=0;n<8;n++)e[n]^=255;for(let n=7;n>-1&&(e[n]++,0===e[n]);n--);}class yu{toUtf8;fromUtf8;constructor(e,n){this.toUtf8=e,this.fromUtf8=n}format(e){let n=[];for(let i of Object.keys(e)){let t=this.fromUtf8(i);n.push(Uint8Array.from([t.byteLength]),t,this.formatHeaderValue(e[i]))}let i=new Uint8Array(n.reduce((e,n)=>e+n.byteLength,0)),t=0;for(let e of n)i.set(e,t),t+=e.byteLength;return i}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([+!e.value]);case"byte":return Uint8Array.from([2,e.value]);case"short":let n=new DataView(new ArrayBuffer(3));return n.setUint8(0,3),n.setInt16(1,e.value,!1),new Uint8Array(n.buffer);case"integer":let i=new DataView(new ArrayBuffer(5));return i.setUint8(0,4),i.setInt32(1,e.value,!1),new Uint8Array(i.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 u=new Uint8Array(a.buffer);return u.set(e.value,3),u;case"string":let o=this.fromUtf8(e.value),r=new DataView(new ArrayBuffer(3+o.byteLength));r.setUint8(0,7),r.setUint16(1,o.byteLength,!1);let s=new Uint8Array(r.buffer);return s.set(o,3),s;case"timestamp":let l=new Uint8Array(9);return l[0]=8,l.set(yt.fromNumber(e.value.valueOf()).bytes,1),l;case"uuid":if(!yf.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let h=new Uint8Array(17);return h[0]=9,h.set(on(e.value.replace(/\-/g,"")),1),h}}parse(e){let n={},i=0;for(;i<e.byteLength;){let t=e.getUint8(i++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,t));switch(i+=t,e.getUint8(i++)){case 0:n[a]={type:yo,value:!0};break;case 1:n[a]={type:yo,value:!1};break;case 2:n[a]={type:yr,value:e.getInt8(i++)};break;case 3:n[a]={type:ys,value:e.getInt16(i,!1)},i+=2;break;case 4:n[a]={type:yl,value:e.getInt32(i,!1)},i+=4;break;case 5:n[a]={type:yh,value:new yt(new Uint8Array(e.buffer,e.byteOffset+i,8))},i+=8;break;case 6:let u=e.getUint16(i,!1);i+=2,n[a]={type:yg,value:new Uint8Array(e.buffer,e.byteOffset+i,u)},i+=u;break;case 7:let o=e.getUint16(i,!1);i+=2,n[a]={type:yc,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+i,o))},i+=o;break;case 8:n[a]={type:yd,value:new Date(new yt(new Uint8Array(e.buffer,e.byteOffset+i,8)).valueOf())},i+=8;break;case 9:let r=new Uint8Array(e.buffer,e.byteOffset+i,16);i+=16,n[a]={type:yp,value:`${oi(r.subarray(0,4))}-${oi(r.subarray(4,6))}-${oi(r.subarray(6,8))}-${oi(r.subarray(8,10))}-${oi(r.subarray(10))}`};break;default:throw Error("Unrecognized header type tag")}}return n}}(ei=ep||(ep={}))[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 yo="boolean",yr="byte",ys="short",yl="integer",yh="long",yg="binary",yc="string",yd="timestamp",yp="uuid",yf=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,ym=16;class yy{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,n){this.headerMarshaller=new yu(e,n),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),n=this.isEndOfStream;return{getMessage:()=>e,isEndOfStream:()=>n}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let n=this.isEndOfStream;return{getMessages:()=>e,isEndOfStream:()=>n}}encode({headers:e,body:n}){let i=this.headerMarshaller.format(e),t=i.byteLength+n.byteLength+16,a=new Uint8Array(t),u=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new yn;return u.setUint32(0,t,!1),u.setUint32(4,i.byteLength,!1),u.setUint32(8,o.update(a.subarray(0,8)).digest(),!1),a.set(i,12),a.set(n,i.byteLength+12),u.setUint32(t-4,o.update(a.subarray(8,t-4)).digest(),!1),a}decode(e){let{headers:n,body:i}=function({byteLength:e,byteOffset:n,buffer:i}){if(e<ym)throw Error("Provided message too short to accommodate event stream message overhead");let t=new DataView(i,n,e),a=t.getUint32(0,!1);if(e!==a)throw Error("Reported message length does not match received message length");let u=t.getUint32(4,!1),o=t.getUint32(8,!1),r=t.getUint32(e-4,!1),s=new yn().update(new Uint8Array(i,n,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(i,n+8,e-12)),r!==s.digest())throw Error(`The message checksum (${s.digest()}) did not match the expected value of ${r}`);return{headers:new DataView(i,n+8+4,u),body:new Uint8Array(i,n+8+4+u,a-u-16)}}(e);return{headers:this.headerMarshaller.parse(n),body:i}}formatHeaders(e){return this.headerMarshaller.format(e)}}class yS{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=await this.options.deserializer(e);void 0!==n&&(yield n)}}}class yb{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.decoder.decode(e);yield n}}}class yC{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.messageStream){let n=this.options.encoder.encode(e);yield n}this.options.includeEndFrame&&(yield new Uint8Array(0))}}class yw{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async *asyncIterator(){for await(let e of this.options.inputStream){let n=this.options.serializer(e);yield n}}}class yT{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:n}){this.eventStreamCodec=new yy(e,n),this.utfEncoder=e}deserialize(e,n){var i;let t,a,u,o,r;return new yS({messageStream:new yb({inputStream:(t=0,a=0,u=null,o=null,r=e=>{if("number"!=typeof e)throw Error("Attempted to allocate an event message where size was not a number: "+e);t=e,a=4,new DataView((u=new Uint8Array(e)).buffer).setUint32(0,e,!1)},{[Symbol.asyncIterator]:async function*(){let n=e[Symbol.asyncIterator]();for(;;){let{value:e,done:i}=await n.next();if(i){if(t)if(t===a)yield u;else throw Error("Truncated event message received.");return}let s=e.length,l=0;for(;l<s;){if(!u){let n=s-l;o||(o=new Uint8Array(4));let i=Math.min(4-a,n);if(o.set(e.slice(l,l+i),a),a+=i,l+=i,a<4)break;r(new DataView(o.buffer).getUint32(0,!1)),o=null}let n=Math.min(t-a,s-l);u.set(e.slice(l,l+n),a),a+=n,l+=n,t&&t===a&&(yield u,u=null,t=0,a=0)}}}}),decoder:this.eventStreamCodec}),deserializer:(i=this.utfEncoder,async function(e){let{value:t}=e.headers[":message-type"];if("error"===t){let n=Error(e.headers[":error-message"].value||"UnknownError");throw n.name=e.headers[":error-code"].value,n}if("exception"===t){let t=e.headers[":exception-type"].value,a=await n({[t]:e});if(a.$unknown){let n=Error(i(e.body));throw n.name=t,n}throw a[t]}if("event"===t){let i={[e.headers[":event-type"].value]:e},t=await n(i);if(t.$unknown)return;return t}throw Error(`Unrecognizable event type: ${e.headers[":event-type"].value}`)})})}serialize(e,n){return new yC({messageStream:new yw({inputStream:e,serializer:n}),encoder:this.eventStreamCodec,includeEndFrame:!0})}}async function*yx(e){let n=!1,i=!1,t=[];for(e.on("error",e=>{if(n||(n=!0),e)throw e}),e.on("data",e=>{t.push(e)}),e.on("end",()=>{n=!0});!i;){let e=await new Promise(e=>setTimeout(()=>e(t.shift()),0));e&&(yield e),i=n&&0===t.length}}class yL{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:n}){this.universalMarshaller=new yT({utf8Decoder:n,utf8Encoder:e})}deserialize(e,n){let i="function"==typeof e[Symbol.asyncIterator]?e:yx(e);return this.universalMarshaller.deserialize(i,n)}serialize(e,n){return A.from(this.universalMarshaller.serialize(e,n))}}let yE=e=>new yL(e);class yY{algorithmIdentifier;secret;hash;constructor(e,n){this.algorithmIdentifier=e,this.secret=n,this.reset()}update(e,n){this.hash.update(or(yD(e,n)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?(0,uI.createHmac)(this.algorithmIdentifier,yD(this.secret)):(0,uI.createHash)(this.algorithmIdentifier)}}function yD(e,n){return P.isBuffer(e)?e:"string"==typeof e?ou(e,n):ArrayBuffer.isView(e)?oa(e.buffer,e.byteOffset,e.byteLength):oa(e)}class yZ extends J{hash;constructor(e,n){super(n),this.hash=e}_write(e,n,i){try{this.hash.update(or(e))}catch(e){return i(e)}i()}}let yv=(e,n)=>{if(null!==n.readableFlowing)throw Error("Unable to calculate hash for flowing readable stream");let i=new e,t=new yZ(i);return n.pipe(t),new Promise((e,a)=>{n.on("error",e=>{t.end(),a(e)}),t.on("error",a),t.on("finish",()=>{i.digest().then(e).catch(a)})})},yN=["ECONNRESET","EPIPE","ETIMEDOUT"],yA=e=>clearTimeout(e),yJ=3e3;async function yP(e,n,i=6e3,t=!1){var a,u;let o=n.headers??{},r=o.Expect||o.expect,s=-1,l=!0;t||"100-continue"!==r||(l=await Promise.race([new Promise(e=>{s=Number(setTimeout(()=>e(!0),Math.max(6e3,i)))}),new Promise(n=>{e.on("continue",()=>{yA(s),n(!0)}),e.on("response",()=>{yA(s),n(!1)}),e.on("error",()=>{yA(s),n(!1)})})])),l&&(a=e,(u=n.body)instanceof A?u.pipe(a):u?Buffer.isBuffer(u)||"string"==typeof u?a.end(u):"object"==typeof u&&u.buffer&&"number"==typeof u.byteOffset&&"number"==typeof u.byteLength?a.end(Buffer.from(u.buffer,u.byteOffset,u.byteLength)):a.end(Buffer.from(u)):a.end())}class yM{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return"function"==typeof e?.handle?e:new yM(e)}static checkSocketUsage(e,n,i=console){let{sockets:t,requests:a,maxSockets:u}=e;if("number"!=typeof u||u===1/0||Date.now()-15e3<n)return n;if(t&&a)for(let e in t){let n=t[e]?.length??0,o=a[e]?.length??0;if(n>=u&&o>=2*u)return i?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${n} 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 n}constructor(e){this.configProvider=new Promise((n,i)=>{"function"==typeof e?e().then(e=>{n(this.resolveDefaultConfig(e))}).catch(i):n(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:n,connectionTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:u,httpsAgent:o,throwOnRequestTimeout:r}=e||{};return{connectionTimeout:i,requestTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:r,httpAgent:u instanceof X||"function"==typeof u?.destroy?(this.externalAgent=!0,u):new X({keepAlive:!0,maxSockets:50,...u}),httpsAgent:o instanceof B||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new B({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:n,requestTimeout:i}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let u,o,r=this.config,s=[],l=async e=>{await u,s.forEach(yA),t(e)},h=async e=>{await u,s.forEach(yA),a(e)};if(n?.aborted){let e=Error("Request aborted");e.name="AbortError",h(e);return}let g="https:"===e.protocol,c=e.headers??{},d=(c.Expect??c.expect)==="100-continue",p=g?r.httpsAgent:r.httpAgent;d&&!this.externalAgent&&(p=new(g?B:X)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=yM.checkSocketUsage(p,this.socketWarningTimestamp,r.logger)},r.socketAcquisitionWarningTimeout??(r.requestTimeout??2e3)+(r.connectionTimeout??1e3)));let f=function(e){let n=[];for(let i of Object.keys(e).sort()){let t=e[i];if(i=oM(i),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)n.push(`${i}=${oM(t[e])}`);else{let e=i;(t||"string"==typeof t)&&(e+=`=${oM(t)}`),n.push(e)}}return n.join("&")}(e.query||{});if(null!=e.username||null!=e.password){let n=e.username??"",i=e.password??"";o=`${n}:${i}`}let m=e.path;f&&(m+=`?${f}`),e.fragment&&(m+=`#${e.fragment}`);let y=e.hostname??"";y="["===y[0]&&y.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let S={headers:e.headers,host:y,method:e.method,path:m,port:e.port,agent:p,auth:o},b=(g?k:H)(S,e=>{l({response:new a0({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let n={};for(let i of Object.keys(e)){let t=e[i];n[i]=Array.isArray(t)?t.join(","):t}return n})(e.headers),body:e})})});if(b.on("error",e=>{yN.includes(e.code)?h(Object.assign(e,{name:"TimeoutError"})):h(e)}),n){let e=()=>{b.destroy();let e=Error("Request aborted");e.name="AbortError",h(e)};"function"==typeof n.addEventListener?(n.addEventListener("abort",e,{once:!0}),b.once("close",()=>n.removeEventListener("abort",e))):n.onabort=e}let C=i??r.requestTimeout;s.push(((e,n,i=0)=>{if(!i)return -1;let t=t=>{let a=setTimeout(()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${i} ms.`),{name:"TimeoutError"}))},i-t),u=e=>{e?.connecting?e.on("connect",()=>{yA(a)}):yA(a)};e.socket?u(e.socket):e.on("socket",u)};return i<2e3?(t(0),0):setTimeout(t.bind(null,1e3),1e3)})(b,h,r.connectionTimeout)),s.push(((e,n,i=0,t,a)=>i?setTimeout(()=>{let u=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${i} ms requestTimeout.`;if(t){let i=Object.assign(Error(u),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(i),n(i)}else u+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(u)},i):-1)(b,h,C,r.throwOnRequestTimeout,r.logger??console)),s.push(((e,n,i=0)=>{let t=t=>{let a=i-t,u=()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${i} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,u),e.on("close",()=>e.socket?.removeListener("timeout",u))):e.setTimeout(a,u)};return 0<i&&i<6e3?(t(0),0):setTimeout(t.bind(null,3e3*(0!==i)),3e3)})(b,h,r.socketTimeout));let w=S.agent;"object"==typeof w&&"keepAlive"in w&&s.push(((e,{keepAlive:n,keepAliveMsecs:i},t=yJ)=>{if(!0!==n)return -1;let a=()=>{e.socket?e.socket.setKeepAlive(n,i||0):e.on("socket",e=>{e.setKeepAlive(n,i||0)})};return 0===t?(a(),0):setTimeout(a,t)})(b,{keepAlive:w.keepAlive,keepAliveMsecs:w.keepAliveMsecs})),u=yP(b,e,C,this.externalAgent).catch(e=>(s.forEach(yA),a(e)))})}updateHttpClientConfig(e,n){this.config=void 0,this.configProvider=this.configProvider.then(i=>({...i,[e]:n}))}httpHandlerConfigs(){return this.config??{}}}class yR extends J{bufferedBytes=[];_write(e,n,i){this.bufferedBytes.push(e),i()}}let yX=e=>yH(e)?yB(e):new Promise((n,i)=>{let t=new yR;e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),yH=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function yB(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let yk=!1,yF=e=>{e&&!yk&&16>parseInt(e.substring(1,e.indexOf(".")))&&(yk=!0)},y_=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{}}},yQ=b("node:fs"),yI=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 yQ.ReadStream){if(null!=e.path)return(0,yQ.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,yQ.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},yO="AWS_REGION",yG="AWS_DEFAULT_REGION",yK=["in-region","cross-region","mobile","standard","legacy"],y$={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},yW=({region:e=uS(mq),defaultsMode:n=uS(y$)}={})=>a9(async()=>{let i="function"==typeof n?await n():n;switch(i?.toLowerCase()){case"auto":return yU(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(i?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${yK.join(", ")}, got ${i}`)}}),yU=async e=>{if(e){let n="function"==typeof e?await e():e,i=await yz();return i?n===i?"in-region":"cross-region":"standard"}return"standard"},yz=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[yO]||process.env[yG]))return process.env[yO]??process.env[yG];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:n}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),i=await e();return(await n({...i,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},yj=e=>new Date(Date.now()+e),yq=e=>a0.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,yV=(e,n)=>{let i=Date.parse(e);return Math.abs(yj(n).getTime()-i)>=3e5?i-Date.now():n},y0=(e,n)=>{if(!n)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return n},y1=async e=>{let n=y0("context",e.context),i=y0("config",e.config),t=n.endpointV2?.properties?.authSchemes?.[0],a=y0("signer",i.signer),u=await a(t),o=e?.signingRegion;return{config:i,signer:u,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class y3{async sign(e,n,i){if(!tV.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await y1(i),{config:a,signer:u}=t,{signingRegion:o,signingName:r}=t,s=i.context;if(s?.authSchemes?.length){let[e,n]=s.authSchemes;e?.name==="sigv4a"&&n?.name==="sigv4"&&(o=n?.signingRegion??o,r=n?.signingName??r)}return await u.sign(e,{signingDate:yj(a.systemClockOffset),signingRegion:o,signingService:r})}errorHandler(e){return n=>{let i=n.ServerTime??yq(n.$response);if(i){let t=y0("config",e.config),a=t.systemClockOffset;t.systemClockOffset=yV(i,t.systemClockOffset),t.systemClockOffset!==a&&n.$metadata&&(n.$metadata.clockSkewCorrected=!0)}throw n}}successHandler(e,n){let i=yq(e);if(i){let e=y0("config",n.config);e.systemClockOffset=yV(i,e.systemClockOffset)}}}class y2 extends y3{async sign(e,n,i){if(!tV.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:u,signingRegionSet:o,signingName:r}=await y1(i),s=(await t.sigv4aSigningRegionSet?.()??o??[u]).join(",");return await a.sign(e,{signingDate:yj(t.systemClockOffset),signingRegion:s,signingService:r})}}let y4=e=>{let n,i=e.length,t=[],a=!1,u=0;for(let o=0;o<i;++o){let i=e[o];switch(i){case'"':"\\"!==n&&(a=!a);break;case",":a||(t.push(e.slice(u,o)),u=o+1)}n=i}return t.push(e.slice(u)),t.map(e=>{let n=(e=e.trim()).length;return n<2?e:('"'===e[0]&&'"'===e[n-1]&&(e=e.slice(1,n-1)),e.replace(/\\"/g,'"'))})},y6=/^[A-Za-z0-9+/]*={0,2}$/,y8=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!y6.exec(e))throw TypeError("Invalid base64 string.");let n=ou(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)},y5=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):y7(e):y9(e);async function y7(e){var n;return new Uint8Array(y8(await (n=e,new Promise((e,i)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return i(Error("Reader aborted too early"));let n=t.result??"",a=n.indexOf(","),u=a>-1?a+1:n.length;e(n.substring(u))},t.onabort=()=>i(Error("Read aborted")),t.onerror=()=>i(t.error),t.readAsDataURL(n)}))))}async function y9(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let Se=e=>{let n;if("object"!=typeof(n="string"==typeof e?oo(e):e)||"number"!=typeof n.byteOffset||"number"!=typeof n.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return oa(n.buffer,n.byteOffset,n.byteLength).toString("base64")},Sn=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 oa(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},Si="The stream has already been transformed.",St=e=>"function"==typeof Blob&&e instanceof Blob,Sa="The stream has already been transformed.",Su=e=>{if(!(e instanceof A))try{if(!St(e)&&!he(e)){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(Si);return n=!0,await y5(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();if("base64"===e)return Se(n);if("hex"===e)return oi(n);if(void 0===e||"utf8"===e||"utf-8"===e)return Sn(n);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(n);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(n)throw Error(Si);if(n=!0,St(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(he(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(i){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(Sa);return n=!0,await yX(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();return void 0===e||Buffer.isEncoding(e)?oa(n.buffer,n.byteOffset,n.byteLength).toString(e):new TextDecoder(e).decode(n)},transformToWebStream:()=>{if(n)throw Error(Sa);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof A.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return n=!0,A.toWeb(e)}})};class So extends Uint8Array{static fromString(e,n="utf-8"){if("string"==typeof e)return"base64"===n?So.mutate(y8(e)):So.mutate(oo(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,So.prototype),e}transformToString(e="utf-8"){return"base64"===e?Se(this):Sn(this)}}let Sr=async(e=new Uint8Array,n)=>{if(e instanceof Uint8Array)return So.mutate(e);if(!e)return So.mutate(new Uint8Array);let i=n.streamCollector(e);return So.mutate(await i)};function Ss(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class Sl{serdeContext;setSerdeContext(e){this.serdeContext=e}}class Sh extends Sl{options;constructor(e){super(),this.options=e}getRequestType(){return tV}getResponseType(){return a0}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,n){if(!("url"in n))return e.protocol=n.protocol,e.hostname=n.hostname,e.port=n.port?Number(n.port):void 0,e.path=n.path,e.query={...n.query},e;for(let[i,t]of(e.protocol=n.url.protocol,e.hostname=n.url.hostname,e.port=n.url.port?Number(n.url.port):void 0,e.path=n.url.pathname,e.fragment=n.url.hash||void 0,e.username=n.url.username||void 0,e.password=n.url.password||void 0,e.query||(e.query={}),n.url.searchParams.entries()))e.query[i]=t;return e}setHostPrefix(e,n,i){let t=hg.of(n.input),a=hh(n.traits??{});if(a.endpoint){let n=a.endpoint?.[0];if("string"==typeof n){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=i[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);n=n.replace(`{${e}}`,t)}e.hostname=n+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:n,initialRequest:i}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:n,initialRequest:i})}async deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i})}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,n,i,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class Sg extends Sh{async serializeRequest(e,n,i){let t,a={...n??{}},u=this.serializer,o={},r={},s=await i.endpoint(),l=hg.of(e?.input),h=l.getSchema(),g=!1,c=new tV({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:r,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let n=hh(e.traits);if(n.http){c.method=n.http[0];let[e,i]=n.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(i??"")))}}for(let[e,n]of l.structIterator()){let i=n.getMergedTraits()??{},s=a[e];if(null!=s||n.isIdempotencyToken())if(i.httpPayload)n.isStreaming()?n.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(u.write(n,s),t=u.flush()),delete a[e];else if(i.httpLabel){u.write(n,s);let i=u.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,i.split("/").map(Ss).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,Ss(i))),delete a[e]}else if(i.httpHeader)u.write(n,s),r[i.httpHeader.toLowerCase()]=String(u.flush()),delete a[e];else if("string"==typeof i.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=i.httpPrefixHeaders+e;u.write([n.getValueSchema(),{httpHeader:a}],t),r[a.toLowerCase()]=u.flush()}delete a[e]}else i.httpQuery||i.httpQueryParams?(this.serializeQuery(n,s,o),delete a[e]):g=!0}return g&&a&&(u.write(h,a),t=u.flush()),c.headers=r,c.query=o,c.body=t,c}serializeQuery(e,n,i){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,u]of Object.entries(n))if(!(t in i)){let n=e.getValueSchema();Object.assign(n.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(n,u,i)}return}if(e.isListSchema()){let u=!!e.getMergedTraits().sparse,o=[];for(let i of n){t.write([e.getValueSchema(),a],i);let n=t.flush();(u||void 0!==n)&&o.push(n)}i[a.httpQuery]=o}else t.write([e,a],n),i[a.httpQuery]=t.flush()}async deserializeResponse(e,n,i){let t=this.deserializer,a=hg.of(e.output),u={};if(i.statusCode>=300){let a=await Sr(i.body,n);throw a.byteLength>0&&Object.assign(u,await t.read(15,a)),await this.handleError(e,n,i,u,this.deserializeMetadata(i)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in i.headers){let n=i.headers[e];delete i.headers[e],i.headers[e.toLowerCase()]=n}let o=await this.deserializeHttpMessage(a,n,i,u);if(o.length){let e=await Sr(i.body,n);if(e.byteLength>0){let n=await t.read(a,e);for(let e of o)u[e]=n[e]}}else o.discardResponseBody&&await Sr(i.body,n);return u.$metadata=this.deserializeMetadata(i),u}async deserializeHttpMessage(e,n,i,t,a){let u;u=t instanceof Set?a:t;let o=!0,r=this.deserializer,s=hg.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?u[e]=await this.deserializeEventStream({response:i,responseSchema:s}):u[e]=Su(i.body);else if(i.body){let a=await Sr(i.body,n);a.byteLength>0&&(u[e]=await r.read(t,a))}}else if(a.httpHeader){let n=String(a.httpHeader).toLowerCase(),o=i.headers[n];if(null!=o)if(t.isListSchema()){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n;let a=[];for(let e of i.isTimestampSchema()&&4===i.getSchema()?function(e,n,i){if(!Number.isInteger(2))throw Error("Invalid number of delimiters (2) for splitEvery.");let t=e.split(","),a=[],u="";for(let e=0;e<t.length;e++)""===u?u=t[e]:u+=","+t[e],(e+1)%2==0&&(a.push(u),u="");return""!==u&&a.push(u),a}(o,0,0):y4(o))a.push(await r.read(i,e.trim()));u[e]=a}else u[e]=await r.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[n,o]of(u[e]={},Object.entries(i.headers)))if(n.startsWith(a.httpPrefixHeaders)){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n,u[e][n.slice(a.httpPrefixHeaders.length)]=await r.read(i,o)}}else a.httpResponseCode?u[e]=i.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let Sc=e=>{if(null!=e){if("string"==typeof e){let n=parseFloat(e);if(!Number.isNaN(n))return String(n)!==String(e)&&Sw.warn(SC(`Expected number but observed string: ${e}`)),n}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Sd=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),Sp=e=>{let n=Sc(e);if(void 0!==n&&!Number.isNaN(n)&&n!==1/0&&n!==-1/0&&Math.abs(n)>Sd)throw TypeError(`Expected 32-bit float, got ${e}`);return n},Sf=(e,n)=>{let i=(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!==i&&Sm(i,n)!==i)throw TypeError(`Expected ${n}-bit integer, got ${e}`);return i},Sm=(e,n)=>{switch(n){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},Sy=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,SS=e=>{let n=e.match(Sy);if(null===n||n[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},Sb=e=>"string"==typeof e?Sf(SS(e),16):Sf(e,16),SC=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),Sw={warn:console.warn},ST=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Sx=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function SL(e){let n=e.getUTCFullYear(),i=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),u=e.getUTCHours(),o=e.getUTCMinutes(),r=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=u<10?`0${u}`:`${u}`,h=o<10?`0${o}`:`${o}`,g=r<10?`0${r}`:`${r}`;return`${ST[t]}, ${s} ${Sx[i]} ${n} ${l}:${h}:${g} GMT`}let SE=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),SY=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=SE.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l]=n;return SM(Sb(SO(t)),S_(a,"month",1,12),S_(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l})},SD=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),SZ=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=SD.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l,h]=n,g=SM(Sb(SO(t)),S_(a,"month",1,12),S_(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-SI(h)),g},Sv=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$/),SN=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$/),SA=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})$/),SJ=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let n=Sv.exec(e);if(n){let[e,i,t,a,u,o,r,s]=n;return SM(Sb(SO(a)),SH(t),S_(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s})}if(n=SN.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SX(SM(SR(a),SH(t),S_(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s}))}if(n=SA.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SM(Sb(SO(s)),SH(i),S_(t.trimLeft(),"day",1,31),{hours:a,minutes:u,seconds:o,fractionalMilliseconds:r})}throw TypeError("Invalid RFC-7231 date-time value")},SP=e=>{let n;if(null!=e){if("number"==typeof e)n=e;else if("string"==typeof e)n="string"==typeof e?Sc(SS(e)):Sc(e);else if("object"==typeof e&&1===e.tag)n=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(n)||n===1/0||n===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*n))}},SM=(e,n,i,t)=>{let a=n-1;return Sk(e,a,i),new Date(Date.UTC(e,a,i,S_(t.hours,"hour",0,23),S_(t.minutes,"minute",0,59),S_(t.seconds,"seconds",0,60),SQ(t.fractionalMilliseconds)))},SR=e=>{let n=new Date().getUTCFullYear(),i=100*Math.floor(n/100)+Sb(SO(e));return i<n?i+100:i},SX=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,SH=e=>{let n=Sx.indexOf(e);if(n<0)throw TypeError(`Invalid month: ${e}`);return n+1},SB=[31,28,31,30,31,30,31,31,30,31,30,31],Sk=(e,n,i)=>{let t=SB[n];if(1===n&&SF(e)&&(t=29),i>t)throw TypeError(`Invalid day for ${Sx[n]} in ${e}: ${i}`)},SF=e=>e%4==0&&(e%100!=0||e%400==0),S_=(e,n,i,t)=>{var a;let u="string"==typeof(a=SO(e))?Sf(SS(a),8):Sf(a,8);if(u<i||u>t)throw TypeError(`${n} must be between ${i} and ${t}, inclusive`);return u},SQ=e=>{var n;return null==e?0:1e3*("string"==typeof(n="0."+e)?Sp(SS(n)):Sp(n))},SI=e=>{let n=e[0],i=1;if("+"==n)i=1;else if("-"==n)i=-1;else throw TypeError(`Offset direction, ${n}, must be "+" or "-"`);return i*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},SO=e=>{let n=0;for(;n<e.length-1&&"0"===e.charAt(n);)n++;return 0===n?e:e.slice(n)},SG=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function SK(e,n){if(n.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:i,httpPrefixHeaders:t,httpHeader:a,httpQuery:u}=e.getMergedTraits();return(n.httpBindings?"string"==typeof t||a?6:u||i?5:void 0:void 0)??n.timestampFormat.default}SG.from=e=>e&&"object"==typeof e&&(e instanceof SG||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?SG(String(e)):SG(JSON.stringify(e)),SG.fromObject=SG.from;class S$ extends Sl{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,n){let i=hg.of(e);switch(typeof n){case"object":if(null===n){this.stringBuffer="null";return}if(i.isTimestampSchema()){if(!(n instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${n} when schema expected Date in ${i.getName(!0)}`);switch(SK(i,this.settings)){case 5:this.stringBuffer=n.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=SL(n);break;case 7:this.stringBuffer=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",n),this.stringBuffer=String(n.getTime()/1e3)}return}if(i.isBlobSchema()&&"byteLength"in n){this.stringBuffer=(this.serdeContext?.base64Encoder??Se)(n);return}if(i.isListSchema()&&Array.isArray(n)){let e="";for(let a of n){var t;this.write([i.getValueSchema(),i.getMergedTraits()],a);let n=this.flush();""!==e&&(e+=", "),e+=i.getValueSchema().isTimestampSchema()?n:(((t=n).includes(",")||t.includes('"'))&&(t=`"${t.replace(/"/g,'\\"')}"`),t)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(n,null,2);break;case"string":let a=i.getMergedTraits().mediaType,u=n;if(a&&(("application/json"===a||a.endsWith("+json"))&&(u=SG.from(u)),i.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??Se)(u.toString());return}this.stringBuffer=n;break;default:i.isIdempotencyToken()?this.stringBuffer=uK():this.stringBuffer=String(n)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class SW{codecSerializer;stringSerializer;buffer;constructor(e,n,i=new S$(n)){this.codecSerializer=e,this.stringSerializer=i}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,n){let i=hg.of(e),t=i.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(i,n),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(i,n)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let SU="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",Sz="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",Sj="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",Sq="(\\d?\\d)",SV="(\\d{4})",S0=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),S1=RegExp(`^${SU}, ${Sq} ${Sz} ${SV} ${Sj} GMT$`),S3=RegExp(`^${SU}, ${Sq}-${Sz}-(\\d\\d) ${Sj} GMT$`),S2=RegExp(`^${SU} ${Sz} ( [1-9]|\\d\\d) ${Sj} ${SV}$`),S4=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S6(e,n,i){let t=Number(e);if(t<n||t>i)throw Error(`Value ${t} out of range [${n}, ${i}]`)}let S8=/^-?\d*(\.\d+)?$/;class S5{string;type;constructor(e,n){if(this.string=e,this.type=n,!S8.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&&(S5.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&S8.test(e.string))}}class S7 extends Sl{settings;constructor(e){super(),this.settings=e}read(e,n){let i=hg.of(e);if(i.isListSchema())return y4(n).map(e=>this.read(i.getValueSchema(),e));if(i.isBlobSchema())return(this.serdeContext?.base64Decoder??y8)(n);if(i.isTimestampSchema())switch(SK(i,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let n=S0.exec(e);if(!n)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,i,t,a,u,o,r,,s,l]=n;S6(t,1,12),S6(a,1,31),S6(u,0,23),S6(o,0,59),S6(r,0,60);let h=new Date(Date.UTC(Number(i),Number(t)-1,Number(a),Number(u),Number(o),Number(r),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(i)),"Z"!=l.toUpperCase()){let[,e,n,i]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(n)*6e4+60*Number(i)*1e3))}return h})(n);case 6:return(e=>{let n,i,t,a,u,o,r,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=S1.exec(e))?[,n,i,t,a,u,o,r]=s:(s=S3.exec(e))?([,n,i,t,a,u,o,r]=s,t=(Number(t)+1900).toString()):(s=S2.exec(e))&&([,i,n,a,u,o,r,t]=s),t&&o){let e=Date.UTC(Number(t),S4.indexOf(i),Number(n),Number(a),Number(u),Number(o),r?Math.round(1e3*parseFloat(`0.${r}`)):0);S6(n,1,31),S6(a,0,23),S6(u,0,59),S6(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(n);case 7:if(null==n)return;let t=NaN;if("number"==typeof n)t=n;else if("string"==typeof n){if(!/^-?\d*\.?\d+$/.test(n))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(n)}else"object"==typeof n&&1===n.tag&&(t=n.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:",n),new Date(n)}if(i.isStringSchema()){let e=i.getMergedTraits().mediaType,t=n;if(e)return i.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=SG.from(t)),t}return i.isNumericSchema()?Number(n):i.isBigIntegerSchema()?BigInt(n):i.isBigDecimalSchema()?new S5(n,"bigDecimal"):i.isBooleanSchema()?"true"===String(n).toLowerCase():n}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??Sn)((this.serdeContext?.base64Decoder??y8)(e))}}class S9 extends Sl{codecDeserializer;stringDeserializer;constructor(e,n){super(),this.codecDeserializer=e,this.stringDeserializer=new S7(n)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,n){let i=hg.of(e),t=i.getMergedTraits(),a=this.serdeContext?.utf8Encoder??Sn;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(i,a(n));if(t.httpPayload){if(i.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??oo;return"string"==typeof n?e(n):n}else if(i.isStringSchema())return"byteLength"in n?a(n):n}return this.codecDeserializer.read(i,n)}}class be{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,n){let i=n.getMemberSchemas(),t=Object.values(i).find(e=>!!e.getMergedTraits().httpPayload);if(t){let n=t.getMergedTraits().mediaType;return n?n:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!n.isUnitSchema()&&Object.values(i).find(e=>{let{httpQuery:n,httpQueryParams:i,httpHeader:t,httpLabel:a,httpPrefixHeaders:u}=e.getMergedTraits();return!n&&!i&&!t&&!a&&void 0===u}))return e}async getErrorSchemaOrThrowBaseException(e,n,i,t,a,u){let o=n,r=e;e.includes("#")&&([o,r]=e.split("#"));let s={$metadata:a,$fault:i.statusCode<500?"client":"server"},l=hC.for(o);try{return{errorSchema:u?.(l,r)??l.getSchema(e),errorMetadata:s}}catch(i){t.message=t.message??t.Message??"UnknownError";let e=hC.for("smithy.ts.sdk.synthetic."+o),n=e.getBaseException();if(n){let i=e.getErrorCtor(n)??Error;throw this.decorateServiceException(Object.assign(new i({name:r}),s),t)}throw this.decorateServiceException(Object.assign(Error(r),s),t)}}decorateServiceException(e,n={}){if(this.queryCompat){let i=e.Message??n.Message,t=hT(e,n);i&&(t.message=i),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??i};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return hT(e,n)}setQueryCompatError(e,n){let i=n.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=i){let[n,t]=i.split(";"),a=Object.entries(e),u={Code:n,Type:t};for(let[n,i]of(Object.assign(e,u),a))u["message"===n?"Message":n]=i;delete u.__type,e.Error=u}}queryCompatOutput(e,n){e.Error&&(n.Error=e.Error),e.Type&&(n.Type=e.Type),e.Code&&(n.Code=e.Code)}findQueryCompatibleError(e,n){try{return e.getSchema(n)}catch(i){return e.find(e=>hg.of(e).getMergedTraits().awsQueryError?.[0]===n)}}}class bn{serdeContext;setSerdeContext(e){this.serdeContext=e}}let bi={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,n){return n},attributeValueProcessor:function(e,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,n,i){return e},captureMetaData:!1},bt=":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",ba=RegExp("^"+("["+bt+"]["+bt)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function bu(e,n){let i=[],t=n.exec(e);for(;t;){let a=[];a.startIndex=n.lastIndex-t[0].length;let u=t.length;for(let e=0;e<u;e++)a.push(t[e]);i.push(a),t=n.exec(e)}return i}let bo=function(e){return null!=ba.exec(e)};i="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class br{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e,n){"__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!==n&&(this.child[this.child.length-1][i]={startIndex:n})}static getMetaDataSymbol(){return i}}let bs=(e,n)=>{for(;n<e.length&&/\s/.test(e[n]);)n++;return n};function bl(e,n,i){let t="",a=e[n];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(n++;n<e.length&&e[n]!==a;)t+=e[n],n++;if(e[n]!==a)throw Error(`Unterminated ${i} value`);return[++n,t]}function bh(e,n,i){for(let t=0;t<n.length;t++)if(n[t]!==e[i+t+1])return!1;return!0}function bg(e){if(bo(e))return e;throw Error(`Invalid entity name ${e}`)}let bc=/^[-+]?0x[a-fA-F0-9]+$/,bd=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,bp={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0},bf=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class bm{constructor(e){var n;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,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=by,this.parseXml=bT,this.parseTextData=bS,this.resolveNameSpace=bb,this.buildAttributesMap=bw,this.isItStopNode=bY,this.replaceEntitiesValue=bL,this.readStopNodeData=bv,this.saveTextToParentTag=bE,this.addChild=bx,this.ignoreAttributesFn="function"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?e=>{for(let i of n)if("string"==typeof i&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}}function by(e){let n=Object.keys(e);for(let i=0;i<n.length;i++){let t=n[i];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function bS(e,n,i,t,a,u,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(n,e,i,a,u);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?bN(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function bb(e){if(this.options.removeNSPrefix){let n=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===n[0])return"";2===n.length&&(e=i+n[1])}return e}let bC=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function bw(e,n,i){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let i=bu(e,bC),t=i.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(i[e][1]);if(this.ignoreAttributesFn(t,n))continue;let u=i[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!==u){this.options.trimValues&&(u=u.trim()),u=this.replaceEntitiesValue(u);let e=this.options.attributeValueProcessor(t,u,n);null==e?a[o]=u:typeof e!=typeof u||e!==u?a[o]=e:a[o]=bN(u,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 bT=function(e){e=e.replace(/\r\n?/g,"\n");let n=new br("!xml"),i=n,t="",a="";for(let u=0;u<e.length;u++)if("<"===e[u])if("/"===e[u+1]){let n=bD(e,">",u,"Closing Tag is not closed."),o=e.substring(u+2,n).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(t=this.saveTextToParentTag(t,i,a));let r=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;r&&-1!==this.options.unpairedTags.indexOf(r)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),i=this.tagsNodeStack.pop(),t="",u=n}else if("?"===e[u+1]){let n=bZ(e,u,!1,"?>");if(!n)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,i,a),this.options.ignoreDeclaration&&"?xml"===n.tagName||this.options.ignorePiTags);else{let e=new br(n.tagName);e.add(this.options.textNodeName,""),n.tagName!==n.tagExp&&n.attrExpPresent&&(e[":@"]=this.buildAttributesMap(n.tagExp,a,n.tagName)),this.addChild(i,e,a,u)}u=n.closeIndex+1}else if("!--"===e.substr(u+1,3)){let n=bD(e,"--\x3e",u+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(u+4,n-2);t=this.saveTextToParentTag(t,i,a),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}u=n}else if("!D"===e.substr(u+1,2)){let n=function(e,n){let i={};if("O"===e[n+3]&&"C"===e[n+4]&&"T"===e[n+5]&&"Y"===e[n+6]&&"P"===e[n+7]&&"E"===e[n+8]){n+=9;let t=1,a=!1,u=!1;for(;n<e.length;n++)if("<"!==e[n]||u)if(">"===e[n]){if(u?"-"===e[n-1]&&"-"===e[n-2]&&(u=!1,t--):t--,0===t)break}else"["===e[n]?a=!0:e[n];else{if(a&&bh(e,"!ENTITY",n)){let t,a;n+=7,[t,a,n]=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n])&&'"'!==e[n]&&"'"!==e[n];)i+=e[n],n++;if(bg(i),n=bs(e,n),"SYSTEM"===e.substring(n,n+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[n])throw Error("Parameter entities are not supported");let t="";return[n,t]=bl(e,n,"entity"),[i,t,--n]}(e,n+1),-1===a.indexOf("&")&&(i[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&bh(e,"!ELEMENT",n)){let{index:i}=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;if(!bg(i))throw Error(`Invalid element name: "${i}"`);n=bs(e,n);let t="";if("E"===e[n]&&bh(e,"MPTY",n))n+=4;else if("A"===e[n]&&bh(e,"NY",n))n+=2;else if("("===e[n]){for(n++;n<e.length&&")"!==e[n];)t+=e[n],n++;if(")"!==e[n])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[n]}"`);return{elementName:i,contentModel:t.trim(),index:n}}(e,(n+=8)+1);n=i}else if(a&&bh(e,"!ATTLIST",n))n+=8;else if(a&&bh(e,"!NOTATION",n)){let{index:i}=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;bg(i),n=bs(e,n);let t=e.substring(n,n+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);n+=t.length,n=bs(e,n);let a=null,u=null;if("PUBLIC"===t)[n,a]=bl(e,n,"publicIdentifier"),n=bs(e,n),('"'===e[n]||"'"===e[n])&&([n,u]=bl(e,n,"systemIdentifier"));else if("SYSTEM"===t&&([n,u]=bl(e,n,"systemIdentifier"),!u))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:a,systemIdentifier:u,index:--n}}(e,(n+=9)+1);n=i}else if(bh(e,"!--",n))u=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:n}}(e,u);this.docTypeEntities=n.entities,u=n.i}else if("!["===e.substr(u+1,2)){let n=bD(e,"]]>",u,"CDATA is not closed.")-2,o=e.substring(u+9,n);t=this.saveTextToParentTag(t,i,a);let r=this.parseTextData(o,i.tagname,a,!0,!1,!0,!0);void 0==r&&(r=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,r),u=n+2}else{let o=bZ(e,u,this.options.removeNSPrefix),r=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&t&&"!xml"!==i.tagname&&(t=this.saveTextToParentTag(t,i,a,!1));let c=i;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(i=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),r!==n.tagname&&(a+=a?"."+r:r);let d=u;if(this.isItStopNode(this.options.stopNodes,a,r)){let n="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),u=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(r))u=o.closeIndex;else{let i=this.readStopNodeData(e,s,g+1);if(!i)throw Error(`Unexpected end of ${s}`);u=i.i,n=i.tagContent}let t=new br(r);r!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,r)),n&&(n=this.parseTextData(n,r,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,n),this.addChild(i,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),this.options.transformTagName&&(r=this.options.transformTagName(r));let e=new br(r);r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new br(r);this.tagsNodeStack.push(i),r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),i=e}t="",u=g}}else t+=e[u];return n.child};function bx(e,n,i,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(n.tagname,i,n[":@"]);!1===a||("string"==typeof a&&(n.tagname=a),e.addChild(n,t))}let bL=function(e){if(this.options.processEntities){for(let n in this.docTypeEntities){let i=this.docTypeEntities[n];e=e.replace(i.regx,i.val)}for(let n in this.lastEntities){let i=this.lastEntities[n];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let i=this.htmlEntities[n];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function bE(e,n,i,t){return e&&(void 0===t&&(t=0===n.child.length),void 0!==(e=this.parseTextData(e,n.tagname,i,!1,!!n[":@"]&&0!==Object.keys(n[":@"]).length,t))&&""!==e&&n.add(this.options.textNodeName,e),e=""),e}function bY(e,n,i){let t="*."+i;for(let i in e){let a=e[i];if(t===a||n===a)return!0}return!1}function bD(e,n,i,t){let a=e.indexOf(n,i);if(-1!==a)return a+n.length-1;throw Error(t)}function bZ(e,n,i,t=">"){let a=function(e,n,i=">"){let t,a="";for(let u=n;u<e.length;u++){let n=e[u];if(t)n===t&&(t="");else if('"'===n||"'"===n)t=n;else if(n===i[0]){if(!i[1])return{data:a,index:u};else if(e[u+1]===i[1])return{data:a,index:u}}else" "===n&&(n=" ");a+=n}}(e,n+1,t);if(!a)return;let u=a.data,o=a.index,r=u.search(/\s/),s=u,l=!0;-1!==r&&(s=u.substring(0,r),u=u.substring(r+1).trimStart());let h=s;if(i){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:u,closeIndex:o,attrExpPresent:l,rawTagName:h}}function bv(e,n,i){let t=i,a=1;for(;i<e.length;i++)if("<"===e[i])if("/"===e[i+1]){let u=bD(e,">",i,`${n} is not closed`);if(e.substring(i+2,u).trim()===n&&0==--a)return{tagContent:e.substring(t,i),i:u};i=u}else if("?"===e[i+1])i=bD(e,"?>",i+1,"StopNode is not closed.");else if("!--"===e.substr(i+1,3))i=bD(e,"--\x3e",i+3,"StopNode is not closed.");else if("!["===e.substr(i+1,2))i=bD(e,"]]>",i,"StopNode is not closed.")-2;else{let t=bZ(e,i,">");t&&((t&&t.tagName)===n&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,i=t.closeIndex)}}function bN(e,n,i){if(n&&"string"==typeof e){let n=e.trim();return"true"===n||"false"!==n&&function(e,n={}){if(n=Object.assign({},bp,n),!e||"string"!=typeof e)return e;let i=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(i))return e;{if("0"===e)return 0;if(n.hex&&bc.test(i)){var t,a=i;if(parseInt)return parseInt(a,16);if(Number.parseInt)return Number.parseInt(a,16);if(window&&window.parseInt)return window.parseInt(a,16);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}if(i.includes("e")||i.includes("E"))return function(e,n,i){if(!i.eNotation)return e;let t=n.match(bf);if(!t)return e;{let a=t[1]||"",u=-1===t[3].indexOf("e")?"E":"e",o=t[2],r=a?e[o.length+1]===u:e[o.length]===u;return o.length>1&&r?e:1===o.length&&(t[3].startsWith(`.${u}`)||t[3][0]===u)?Number(n):i.leadingZeros&&!r?Number(n=(t[1]||"")+t[3]):e}}(e,i,n);let u=bd.exec(i);if(!u)return e;{let a=u[1]||"",o=u[2],r=((t=u[3])&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substring(0,t.length-1))),t),s=a?"."===e[o.length+1]:"."===e[o.length];if(!n.leadingZeros&&(o.length>1||1===o.length&&!s))return e;{let t=Number(i),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(n.eNotation)return t;else return e;if(-1!==i.indexOf("."))if("0"===u)return t;else if(u===r)return t;else if(u===`${a}${r}`)return t;else return e;let s=o?r:i;return o?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}(e,i)}return void 0!==e?e:""}let bA=br.getMetaDataSymbol(),bJ={allowBooleanAttributes:!1,unpairedTags:[]};function bP(e){return" "===e||" "===e||"\n"===e||"\r"===e}function bM(e,n){let i=n;for(;n<e.length;n++)if("?"==e[n]||" "==e[n]){let t=e.substr(i,n-i);if(n>5&&"xml"===t)return bB("InvalidXml","XML declaration allowed only at the start of the document.",bk(e,n));if("?"!=e[n]||">"!=e[n+1])continue;n++;break}return n}function bR(e,n){if(e.length>n+5&&"-"===e[n+1]&&"-"===e[n+2]){for(n+=3;n<e.length;n++)if("-"===e[n]&&"-"===e[n+1]&&">"===e[n+2]){n+=2;break}}else if(e.length>n+8&&"D"===e[n+1]&&"O"===e[n+2]&&"C"===e[n+3]&&"T"===e[n+4]&&"Y"===e[n+5]&&"P"===e[n+6]&&"E"===e[n+7]){let i=1;for(n+=8;n<e.length;n++)if("<"===e[n])i++;else if(">"===e[n]&&0==--i)break}else if(e.length>n+9&&"["===e[n+1]&&"C"===e[n+2]&&"D"===e[n+3]&&"A"===e[n+4]&&"T"===e[n+5]&&"A"===e[n+6]&&"["===e[n+7]){for(n+=8;n<e.length;n++)if("]"===e[n]&&"]"===e[n+1]&&">"===e[n+2]){n+=2;break}}return n}let bX=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function bH(e,n){let i=bu(e,bX),t={};for(let e=0;e<i.length;e++){if(0===i[e][1].length)return bB("InvalidAttr","Attribute '"+i[e][2]+"' has no space in starting.",bF(i[e]));if(void 0!==i[e][3]&&void 0===i[e][4])return bB("InvalidAttr","Attribute '"+i[e][2]+"' is without value.",bF(i[e]));if(void 0===i[e][3]&&!n.allowBooleanAttributes)return bB("InvalidAttr","boolean attribute '"+i[e][2]+"' is not allowed.",bF(i[e]));let a=i[e][2];if(!bo(a))return bB("InvalidAttr","Attribute '"+a+"' is an invalid name.",bF(i[e]));if(t.hasOwnProperty(a))return bB("InvalidAttr","Attribute '"+a+"' is repeated.",bF(i[e]));t[a]=1}return!0}function bB(e,n,i){return{err:{code:e,msg:n,line:i.line||i,col:i.col}}}function bk(e,n){let i=e.substring(0,n).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function bF(e){return e.startIndex+e[1].length}let b_=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},bi,e)}parse(e,n){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(n){!0===n&&(n={});let i=function(e,n){n=Object.assign({},bJ,n);let i=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let u=0;u<e.length;u++)if("<"===e[u]&&"?"===e[u+1]){if(u+=2,(u=bM(e,u)).err)return u}else if("<"===e[u]){let o=u;if("!"===e[++u]){u=bR(e,u);continue}{let r=!1;"/"===e[u]&&(r=!0,u++);let s="";for(;u<e.length&&">"!==e[u]&&" "!==e[u]&&" "!==e[u]&&"\n"!==e[u]&&"\r"!==e[u];u++)s+=e[u];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),u--),!bo(s))return bB("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",bk(e,u));let l=function(e,n){let i="",t="",a=!1;for(;n<e.length;n++){if('"'===e[n]||"'"===e[n])""===t?t=e[n]:t!==e[n]||(t="");else if(">"===e[n]&&""===t){a=!0;break}i+=e[n]}return""===t&&{value:i,index:n,tagClosed:a}}(e,u);if(!1===l)return bB("InvalidAttr","Attributes for '"+s+"' have open quote.",bk(e,u));let h=l.value;if(u=l.index,"/"===h[h.length-1]){let i=u-h.length,a=bH(h=h.substring(0,h.length-1),n);if(!0!==a)return bB(a.err.code,a.err.msg,bk(e,i+a.err.line));t=!0}else if(r)if(!l.tagClosed)return bB("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",bk(e,u));else{if(h.trim().length>0)return bB("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",bk(e,o));if(0===i.length)return bB("InvalidTag","Closing tag '"+s+"' has not been opened.",bk(e,o));let n=i.pop();if(s!==n.tagName){let i=bk(e,n.tagStartPos);return bB("InvalidTag","Expected closing tag '"+n.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+s+"'.",bk(e,o))}0==i.length&&(a=!0)}else{let r=bH(h,n);if(!0!==r)return bB(r.err.code,r.err.msg,bk(e,u-h.length+r.err.line));if(!0===a)return bB("InvalidXml","Multiple possible root nodes found.",bk(e,u));-1!==n.unpairedTags.indexOf(s)||i.push({tagName:s,tagStartPos:o}),t=!0}for(u++;u<e.length;u++)if("<"===e[u])if("!"===e[u+1]){u=bR(e,++u);continue}else if("?"===e[u+1]){if((u=bM(e,++u)).err)return u}else break;else if("&"===e[u]){let n=function(e,n){if(";"===e[++n])return -1;if("#"===e[n]){var i=++n;let t=/\d/;for("x"===e[i]&&(i++,t=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(t))break}return -1}let t=0;for(;n<e.length;n++,t++)if(!e[n].match(/\w/)||!(t<20)){if(";"===e[n])break;return -1}return n}(e,u);if(-1==n)return bB("InvalidChar","char '&' is not expected.",bk(e,u));u=n}else if(!0===a&&!bP(e[u]))return bB("InvalidXml","Extra text at the end",bk(e,u));"<"===e[u]&&u--}}else{if(bP(e[u]))continue;return bB("InvalidChar","char '"+e[u]+"' is not expected.",bk(e,u))}return t?1==i.length?bB("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",bk(e,i[0].tagStartPos)):!(i.length>0)||bB("InvalidXml","Invalid '"+JSON.stringify(i.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):bB("InvalidXml","Start tag expected.",1)}(e,n);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let i=new bm(this.options);i.addExternalEntities(this.externalEntities);let t=i.parseXml(e);return this.options.preserveOrder||void 0===t?t:function e(n,i,t){let a,u={};for(let o=0;o<n.length;o++){let r=n[o],s=function(e){let n=Object.keys(e);for(let e=0;e<n.length;e++){let i=n[e];if(":@"!==i)return i}}(r),l="";if(l=void 0===t?s:t+"."+s,s===i.textNodeName)void 0===a?a=r[s]:a+=""+r[s];else if(void 0===s)continue;else if(r[s]){let n=e(r[s],i,l),t=function(e,n){let{textNodeName:i}=n,t=Object.keys(e).length;return 0===t||1===t&&(!!e[i]||"boolean"==typeof e[i]||0===e[i])}(n,i);void 0!==r[bA]&&(n[bA]=r[bA]),r[":@"]?function(e,n,i,t){if(n){let a=Object.keys(n),u=a.length;for(let o=0;o<u;o++){let u=a[o];t.isArray(u,i+"."+u,!0,!0)?e[u]=[n[u]]:e[u]=n[u]}}}(n,r[":@"],l,i):1!==Object.keys(n).length||void 0===n[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(n).length&&(i.alwaysCreateTextNode?n[i.textNodeName]="":n=""):n=n[i.textNodeName],void 0!==u[s]&&u.hasOwnProperty(s)?(Array.isArray(u[s])||(u[s]=[u[s]]),u[s].push(n)):i.isArray(s,l,t)?u[s]=[n]:u[s]=n}}return"string"==typeof a?a.length>0&&(u[i.textNodeName]=a):void 0!==a&&(u[i.textNodeName]=a),u}(t,this.options)}addEntity(e,n){if(-1!==n.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("&"===n)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}static getMetaDataSymbol(){return br.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,n)=>""===n.trim()&&n.includes("\n")?"":void 0});b_.addEntity("#xD","\r"),b_.addEntity("#10","\n");let bQ=e=>{let n="#text";for(let i in e)e.hasOwnProperty(i)&&void 0!==e[i][n]?e[i]=e[i][n]:"object"==typeof e[i]&&null!==e[i]&&(e[i]=bQ(e[i]));return e};class bI{from;to;keys;constructor(e,n){this.from=e,this.to=n,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,n=this.from[e];this.to.$unknown=[e,n]}}}class bO extends bn{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new S7(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,n,i){let t=hg.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},i=Object.keys(a)[0];return a[i].isBlobSchema()?e[i]=n:e[i]=this.read(a[i],n),e}let u=(this.serdeContext?.utf8Encoder??Sn)(n),o=this.parseXml(u);return this.readSchema(e,i?o[i]:o)}readSchema(e,n){let i=hg.of(e);if(i.isUnitSchema())return;let t=i.getMergedTraits();if(i.isListSchema()&&!Array.isArray(n))return this.readSchema(i,[n]);if(null==n)return n;if("object"==typeof n){let e=!!t.sparse,a=!!t.xmlFlattened;if(i.isListSchema()){let t=i.getValueSchema(),u=[],o=t.getMergedTraits().xmlName??"member",r=a?n:(n[0]??n)[o];for(let n of Array.isArray(r)?r:[r])(null!=n||e)&&u.push(this.readSchema(t,n));return u}let u={};if(i.isMapSchema()){let t,o=i.getKeySchema(),r=i.getValueSchema();t=a?Array.isArray(n)?n:[n]:Array.isArray(n.entry)?n.entry:[n.entry];let s=o.getMergedTraits().xmlName??"key",l=r.getMergedTraits().xmlName??"value";for(let n of t){let i=n[s],t=n[l];(null!=t||e)&&(u[i]=this.readSchema(r,t))}return u}if(i.isStructSchema()){let e,t=i.isUnionSchema();for(let[a,o]of(t&&(e=new bI(n,u)),i.structIterator())){let i=o.getMergedTraits(),r=i.httpPayload?i.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(r),null!=n[r]&&(u[a]=this.readSchema(o,n[r]))}return t&&e.writeUnknown(),u}if(i.isDocumentSchema())return n;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${i.getName(!0)}`)}return i.isListSchema()?[]:i.isMapSchema()||i.isStructSchema()?{}:this.stringDeserializer.read(i,n)}parseXml(e){if(e.length){let n;try{n=b_.parse(e,!0)}catch(n){throw n&&"object"==typeof n&&Object.defineProperty(n,"$responseBodyText",{value:e}),n}let i="#text",t=Object.keys(n)[0],a=n[t];return a[i]&&(a[t]=a[i],delete a[i]),bQ(a)}return{}}}class bG{value;constructor(e){this.value=e}toString(){return(""+this.value).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 bK{name;children;attributes={};static of(e,n,i){let t=new bK(e);return void 0!==n&&t.addChildNode(new bG(n)),void 0!==i&&t.withName(i),t}constructor(e,n=[]){this.name=e,this.children=n}withName(e){return this.name=e,this}addAttribute(e,n){return this.attributes[e]=n,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,n){return null!=n&&(this.attributes[e]=n),this}cc(e,n,i=n){if(null!=e[n]){let t=bK.of(n,e[n]).withName(i);this.c(t)}}l(e,n,i,t){null!=e[n]&&t().map(e=>{e.withName(i),this.c(e)})}lc(e,n,i,t){if(null!=e[n]){let e=t(),n=new bK(i);e.map(e=>{n.c(e)}),this.c(n)}}toString(){let e=!!this.children.length,n=`<${this.name}`,i=this.attributes;for(let e of Object.keys(i)){let t=i[e];null!=t&&(n+=` ${e}="${(""+t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}"`)}return n+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*b$(e,n){if(e.isUnitSchema())return;let i=e.getSchema();for(let e=0;e<i[4].length;++e){let t=i[4][e],a=new hg([i[5][e],0],t);(t in n||a.isIdempotencyToken())&&(yield[t,a])}}function*bW(e,n,i){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(n).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let u=t[4][e],o=new hg([t[5][e],0],u),r=u;i&&(r=o.getMergedTraits()[i]??u),r in n&&(yield[u,o],a-=1)}}class bU extends bn{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,n){let i=hg.of(e);if(i.isStringSchema()&&"string"==typeof n)this.stringBuffer=n;else if(i.isBlobSchema())this.byteBuffer="byteLength"in n?n:(this.serdeContext?.base64Decoder??y8)(n);else{this.buffer=this.writeStruct(i,n,void 0);let e=i.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(i.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,n,i){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 u=bK.of(a),[o,r]=this.getXmlnsAttribute(e,i);for(let[i,t]of b$(e,n)){let e=n[i];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){u.addAttribute(t.getMergedTraits().xmlName??i,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,u,r);else if(t.isMapSchema())this.writeMap(t,e,u,r);else if(t.isStructSchema())u.addChildNode(this.writeStruct(t,e,r));else{let n=bK.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,n,r),u.addChildNode(n)}}}let{$unknown:s}=n;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(n).length){let[e,i]=s,t=bK.of(e);if("string"!=typeof i)if(n instanceof bK||n instanceof bG)u.addChildNode(n);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,i,t,r),u.addChildNode(t)}return r&&u.addAttribute(o,r),u}writeList(e,n,i,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),u=e.getValueSchema(),o=u.getMergedTraits(),r=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),g=(n,i)=>{if(u.isListSchema())this.writeList(u,Array.isArray(i)?i:[i],n,h);else if(u.isMapSchema())this.writeMap(u,i,n,h);else if(u.isStructSchema()){let t=this.writeStruct(u,i,h);n.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=bK.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(u,i,t,h),n.addChildNode(t)}};if(s)for(let e of n)(r||null!=e)&&g(i,e);else{let t=bK.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),n))(r||null!=e)&&g(t,e);i.addChildNode(t)}}writeMap(e,n,i,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let u=e.getMergedTraits(),o=e.getKeySchema(),r=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!u.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),f=(e,n,i)=>{let t=bK.of(r,n),[a,u]=this.getXmlnsAttribute(o,p);u&&t.addAttribute(a,u),e.addChildNode(t);let l=bK.of(h);s.isListSchema()?this.writeList(s,i,l,p):s.isMapSchema()?this.writeMap(s,i,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,i,p):this.writeSimpleInto(s,i,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(n))if(g||null!=a){let n=bK.of(u.xmlName??e.getMemberName());f(n,t,a),i.addChildNode(n)}}else{let t;for(let[o,r]of(a||(t=bK.of(u.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),i.addChildNode(t)),Object.entries(n)))if(g||null!=r){let e=bK.of("entry");f(e,o,r),(a?i:t).addChildNode(e)}}}writeSimple(e,n){if(null===n)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let i=hg.of(e),t=null;if(n&&"object"==typeof n)if(i.isBlobSchema())t=(this.serdeContext?.base64Encoder??Se)(n);else if(i.isTimestampSchema()&&n instanceof Date)switch(SK(i,this.settings)){case 5:t=n.toISOString().replace(".000Z","Z");break;case 6:t=SL(n);break;case 7:t=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",n),t=SL(n)}else if(i.isBigDecimalSchema()&&n)return n instanceof S5?n.string:String(n);else if(i.isMapSchema()||i.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: ${i.getName(!0)}`);if((i.isBooleanSchema()||i.isNumericSchema()||i.isBigIntegerSchema()||i.isBigDecimalSchema())&&(t=String(n)),i.isStringSchema()&&(t=void 0===n&&i.isIdempotencyToken()?uK():String(n)),null===t)throw Error(`Unhandled schema-value pair ${i.getName(!0)}=${n}`);return t}writeSimpleInto(e,n,i,t){let a=this.writeSimple(e,n),u=hg.of(e),o=new bG(a),[r,s]=this.getXmlnsAttribute(u,t);s&&i.addAttribute(r,s),i.addChildNode(o)}getXmlnsAttribute(e,n){let[i,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==n?[i?`xmlns:${i}`:"xmlns",t]:[void 0,void 0]}}class bz extends bn{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new bU(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new bO(this.settings);return e.setSerdeContext(this.serdeContext),e}}class bj extends Sg{codec;serializer;deserializer;mixin=new be;constructor(e){super(e);let n={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new bz(n),this.serializer=new SW(this.codec.createSerializer(),n),this.deserializer=new S9(this.codec.createDeserializer(),n)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,n,i){let t=await super.serializeRequest(e,n,i),a=hg.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,n,i){return super.deserializeResponse(e,n,i)}async handleError(e,n,i,t,a){let u=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==i.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:r}=await this.mixin.getErrorSchemaOrThrowBaseException(u,this.options.defaultNamespace,i,t,a),s=hg.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(hC.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,n,i,t);let g={};for(let[e,n]of s.structIterator()){let i=n.getMergedTraits().xmlName??e,a=t.Error?.[i]??t[i];g[e]=this.codec.createDeserializer().readSchema(n,a)}throw this.mixin.decorateServiceException(Object.assign(h,r,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,n]of e.structIterator())if(n.getMergedTraits().httpPayload)return!(n.isStructSchema()||n.isMapSchema()||n.isListSchema());return!1}}let bq=(e,n)=>{let{base64Encoder:i,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:u,streamHasher:o}=n,r=void 0!==i&&void 0!==a&&void 0!==u&&void 0!==o,s=r?o(a,e):void 0,l=new A({read:()=>{}});return e.on("data",e=>{let n=t(e)||0;l.push(`${n.toString(16)}\r
69
+ or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return n}constructor(e){this.configProvider=new Promise((n,i)=>{"function"==typeof e?e().then(e=>{n(this.resolveDefaultConfig(e))}).catch(i):n(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){let{requestTimeout:n,connectionTimeout:i,socketTimeout:t,socketAcquisitionWarningTimeout:a,httpAgent:u,httpsAgent:o,throwOnRequestTimeout:r}=e||{};return{connectionTimeout:i,requestTimeout:n,socketTimeout:t,socketAcquisitionWarningTimeout:a,throwOnRequestTimeout:r,httpAgent:u instanceof X||"function"==typeof u?.destroy?(this.externalAgent=!0,u):new X({keepAlive:!0,maxSockets:50,...u}),httpsAgent:o instanceof B||"function"==typeof o?.destroy?(this.externalAgent=!0,o):new B({keepAlive:!0,maxSockets:50,...o}),logger:console}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:n,requestTimeout:i}={}){return this.config||(this.config=await this.configProvider),new Promise((t,a)=>{let u,o,r=this.config,s=[],l=async e=>{await u,s.forEach(yA),t(e)},h=async e=>{await u,s.forEach(yA),a(e)};if(n?.aborted){let e=Error("Request aborted");e.name="AbortError",h(e);return}let g="https:"===e.protocol,c=e.headers??{},d=(c.Expect??c.expect)==="100-continue",p=g?r.httpsAgent:r.httpAgent;d&&!this.externalAgent&&(p=new(g?B:X)({keepAlive:!1,maxSockets:1/0})),s.push(setTimeout(()=>{this.socketWarningTimestamp=yM.checkSocketUsage(p,this.socketWarningTimestamp,r.logger)},r.socketAcquisitionWarningTimeout??(r.requestTimeout??2e3)+(r.connectionTimeout??1e3)));let f=function(e){let n=[];for(let i of Object.keys(e).sort()){let t=e[i];if(i=oM(i),Array.isArray(t))for(let e=0,a=t.length;e<a;e++)n.push(`${i}=${oM(t[e])}`);else{let e=i;(t||"string"==typeof t)&&(e+=`=${oM(t)}`),n.push(e)}}return n.join("&")}(e.query||{});if(null!=e.username||null!=e.password){let n=e.username??"",i=e.password??"";o=`${n}:${i}`}let m=e.path;f&&(m+=`?${f}`),e.fragment&&(m+=`#${e.fragment}`);let y=e.hostname??"";y="["===y[0]&&y.endsWith("]")?e.hostname.slice(1,-1):e.hostname;let S={headers:e.headers,host:y,method:e.method,path:m,port:e.port,agent:p,auth:o},b=(g?k:H)(S,e=>{l({response:new a0({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:(e=>{let n={};for(let i of Object.keys(e)){let t=e[i];n[i]=Array.isArray(t)?t.join(","):t}return n})(e.headers),body:e})})});if(b.on("error",e=>{yN.includes(e.code)?h(Object.assign(e,{name:"TimeoutError"})):h(e)}),n){let e=()=>{b.destroy();let e=Error("Request aborted");e.name="AbortError",h(e)};"function"==typeof n.addEventListener?(n.addEventListener("abort",e,{once:!0}),b.once("close",()=>n.removeEventListener("abort",e))):n.onabort=e}let C=i??r.requestTimeout;s.push(((e,n,i=0)=>{if(!i)return -1;let t=t=>{let a=setTimeout(()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${i} ms.`),{name:"TimeoutError"}))},i-t),u=e=>{e?.connecting?e.on("connect",()=>{yA(a)}):yA(a)};e.socket?u(e.socket):e.on("socket",u)};return i<2e3?(t(0),0):setTimeout(t.bind(null,1e3),1e3)})(b,h,r.connectionTimeout)),s.push(((e,n,i=0,t,a)=>i?setTimeout(()=>{let u=`@smithy/node-http-handler - [${t?"ERROR":"WARN"}] a request has exceeded the configured ${i} ms requestTimeout.`;if(t){let i=Object.assign(Error(u),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(i),n(i)}else u+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(u)},i):-1)(b,h,C,r.throwOnRequestTimeout,r.logger??console)),s.push(((e,n,i=0)=>{let t=t=>{let a=i-t,u=()=>{e.destroy(),n(Object.assign(Error(`@smithy/node-http-handler - the request socket timed out after ${i} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};e.socket?(e.socket.setTimeout(a,u),e.on("close",()=>e.socket?.removeListener("timeout",u))):e.setTimeout(a,u)};return 0<i&&i<6e3?(t(0),0):setTimeout(t.bind(null,3e3*(0!==i)),3e3)})(b,h,r.socketTimeout));let w=S.agent;"object"==typeof w&&"keepAlive"in w&&s.push(((e,{keepAlive:n,keepAliveMsecs:i},t=yJ)=>{if(!0!==n)return -1;let a=()=>{e.socket?e.socket.setKeepAlive(n,i||0):e.on("socket",e=>{e.setKeepAlive(n,i||0)})};return 0===t?(a(),0):setTimeout(a,t)})(b,{keepAlive:w.keepAlive,keepAliveMsecs:w.keepAliveMsecs})),u=yP(b,e,C,this.externalAgent).catch(e=>(s.forEach(yA),a(e)))})}updateHttpClientConfig(e,n){this.config=void 0,this.configProvider=this.configProvider.then(i=>({...i,[e]:n}))}httpHandlerConfigs(){return this.config??{}}}class yR extends J{bufferedBytes=[];_write(e,n,i){this.bufferedBytes.push(e),i()}}let yX=e=>yH(e)?yB(e):new Promise((n,i)=>{let t=new yR;e.pipe(t),e.on("error",e=>{t.end(),i(e)}),t.on("error",i),t.on("finish",function(){n(new Uint8Array(Buffer.concat(this.bufferedBytes)))})}),yH=e=>"function"==typeof ReadableStream&&e instanceof ReadableStream;async function yB(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let yk=!1,y_=e=>{e&&!yk&&16>parseInt(e.substring(1,e.indexOf(".")))&&(yk=!0)},yF=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{}}},yQ=b("node:fs"),yI=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 yQ.ReadStream){if(null!=e.path)return(0,yQ.lstatSync)(e.path).size;else if("number"==typeof e.fd)return(0,yQ.fstatSync)(e.fd).size}throw Error(`Body Length computation failed for ${e}`)},yO="AWS_REGION",yG="AWS_DEFAULT_REGION",yK=["in-region","cross-region","mobile","standard","legacy"],y$={environmentVariableSelector:e=>e.AWS_DEFAULTS_MODE,configFileSelector:e=>e.defaults_mode,default:"legacy"},yU=({region:e=uS(mq),defaultsMode:n=uS(y$)}={})=>a9(async()=>{let i="function"==typeof n?await n():n;switch(i?.toLowerCase()){case"auto":return yW(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(i?.toLocaleLowerCase());case void 0:return Promise.resolve("legacy");default:throw Error(`Invalid parameter for "defaultsMode", expect ${yK.join(", ")}, got ${i}`)}}),yW=async e=>{if(e){let n="function"==typeof e?await e():e,i=await yz();return i?n===i?"in-region":"cross-region":"standard"}return"standard"},yz=async()=>{if(process.env.AWS_EXECUTION_ENV&&(process.env[yO]||process.env[yG]))return process.env[yO]??process.env[yG];if(!process.env.AWS_EC2_METADATA_DISABLED)try{let{getInstanceMetadataEndpoint:e,httpRequest:n}=await import("./1~398.mjs").then(e=>({getInstanceMetadataEndpoint:e.getInstanceMetadataEndpoint,httpRequest:e.httpRequest})),i=await e();return(await n({...i,path:"/latest/meta-data/placement/region"})).toString()}catch(e){}},yj=e=>new Date(Date.now()+e),yq=e=>a0.isInstance(e)?e.headers?.date??e.headers?.Date:void 0,yV=(e,n)=>{let i=Date.parse(e);return Math.abs(yj(n).getTime()-i)>=3e5?i-Date.now():n},y0=(e,n)=>{if(!n)throw Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`);return n},y1=async e=>{let n=y0("context",e.context),i=y0("config",e.config),t=n.endpointV2?.properties?.authSchemes?.[0],a=y0("signer",i.signer),u=await a(t),o=e?.signingRegion;return{config:i,signer:u,signingRegion:o,signingRegionSet:e?.signingRegionSet,signingName:e?.signingName}};class y3{async sign(e,n,i){if(!tV.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let t=await y1(i),{config:a,signer:u}=t,{signingRegion:o,signingName:r}=t,s=i.context;if(s?.authSchemes?.length){let[e,n]=s.authSchemes;e?.name==="sigv4a"&&n?.name==="sigv4"&&(o=n?.signingRegion??o,r=n?.signingName??r)}return await u.sign(e,{signingDate:yj(a.systemClockOffset),signingRegion:o,signingService:r})}errorHandler(e){return n=>{let i=n.ServerTime??yq(n.$response);if(i){let t=y0("config",e.config),a=t.systemClockOffset;t.systemClockOffset=yV(i,t.systemClockOffset),t.systemClockOffset!==a&&n.$metadata&&(n.$metadata.clockSkewCorrected=!0)}throw n}}successHandler(e,n){let i=yq(e);if(i){let e=y0("config",n.config);e.systemClockOffset=yV(i,e.systemClockOffset)}}}class y2 extends y3{async sign(e,n,i){if(!tV.isInstance(e))throw Error("The request is not an instance of `HttpRequest` and cannot be signed");let{config:t,signer:a,signingRegion:u,signingRegionSet:o,signingName:r}=await y1(i),s=(await t.sigv4aSigningRegionSet?.()??o??[u]).join(",");return await a.sign(e,{signingDate:yj(t.systemClockOffset),signingRegion:s,signingService:r})}}let y4=e=>{let n,i=e.length,t=[],a=!1,u=0;for(let o=0;o<i;++o){let i=e[o];switch(i){case'"':"\\"!==n&&(a=!a);break;case",":a||(t.push(e.slice(u,o)),u=o+1)}n=i}return t.push(e.slice(u)),t.map(e=>{let n=(e=e.trim()).length;return n<2?e:('"'===e[0]&&'"'===e[n-1]&&(e=e.slice(1,n-1)),e.replace(/\\"/g,'"'))})},y6=/^[A-Za-z0-9+/]*={0,2}$/,y8=e=>{if(3*e.length%4!=0)throw TypeError("Incorrect padding on base64 string.");if(!y6.exec(e))throw TypeError("Invalid base64 string.");let n=ou(e,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)},y5=async e=>"function"==typeof Blob&&e instanceof Blob||e.constructor?.name==="Blob"?void 0!==Blob.prototype.arrayBuffer?new Uint8Array(await e.arrayBuffer()):y7(e):y9(e);async function y7(e){var n;return new Uint8Array(y8(await (n=e,new Promise((e,i)=>{let t=new FileReader;t.onloadend=()=>{if(2!==t.readyState)return i(Error("Reader aborted too early"));let n=t.result??"",a=n.indexOf(","),u=a>-1?a+1:n.length;e(n.substring(u))},t.onabort=()=>i(Error("Read aborted")),t.onerror=()=>i(t.error),t.readAsDataURL(n)}))))}async function y9(e){let n=[],i=e.getReader(),t=!1,a=0;for(;!t;){let{done:e,value:u}=await i.read();u&&(n.push(u),a+=u.length),t=e}let u=new Uint8Array(a),o=0;for(let e of n)u.set(e,o),o+=e.length;return u}let Se=e=>{let n;if("object"!=typeof(n="string"==typeof e?oo(e):e)||"number"!=typeof n.byteOffset||"number"!=typeof n.byteLength)throw Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.");return oa(n.buffer,n.byteOffset,n.byteLength).toString("base64")},Sn=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 oa(e.buffer,e.byteOffset,e.byteLength).toString("utf8")},Si="The stream has already been transformed.",St=e=>"function"==typeof Blob&&e instanceof Blob,Sa="The stream has already been transformed.",Su=e=>{if(!(e instanceof A))try{if(!St(e)&&!he(e)){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(Si);return n=!0,await y5(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();if("base64"===e)return Se(n);if("hex"===e)return oi(n);if(void 0===e||"utf8"===e||"utf-8"===e)return Sn(n);if("function"==typeof TextDecoder)return new TextDecoder(e).decode(n);throw Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(n)throw Error(Si);if(n=!0,St(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(he(e))return e;throw Error(`Cannot transform payload to web stream, got ${e}`)}})}catch(i){let n=e?.__proto__?.constructor?.name||e;throw Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${n}`)}let n=!1,i=async()=>{if(n)throw Error(Sa);return n=!0,await yX(e)};return Object.assign(e,{transformToByteArray:i,transformToString:async e=>{let n=await i();return void 0===e||Buffer.isEncoding(e)?oa(n.buffer,n.byteOffset,n.byteLength).toString(e):new TextDecoder(e).decode(n)},transformToWebStream:()=>{if(n)throw Error(Sa);if(null!==e.readableFlowing)throw Error("The stream has been consumed by other callbacks.");if("function"!=typeof A.toWeb)throw Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return n=!0,A.toWeb(e)}})};class So extends Uint8Array{static fromString(e,n="utf-8"){if("string"==typeof e)return"base64"===n?So.mutate(y8(e)):So.mutate(oo(e));throw Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){return Object.setPrototypeOf(e,So.prototype),e}transformToString(e="utf-8"){return"base64"===e?Se(this):Sn(this)}}let Sr=async(e=new Uint8Array,n)=>{if(e instanceof Uint8Array)return So.mutate(e);if(!e)return So.mutate(new Uint8Array);let i=n.streamCollector(e);return So.mutate(await i)};function Ss(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}class Sl{serdeContext;setSerdeContext(e){this.serdeContext=e}}class Sh extends Sl{options;constructor(e){super(),this.options=e}getRequestType(){return tV}getResponseType(){return a0}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,n){if(!("url"in n))return e.protocol=n.protocol,e.hostname=n.hostname,e.port=n.port?Number(n.port):void 0,e.path=n.path,e.query={...n.query},e;for(let[i,t]of(e.protocol=n.url.protocol,e.hostname=n.url.hostname,e.port=n.url.port?Number(n.url.port):void 0,e.path=n.url.pathname,e.fragment=n.url.hash||void 0,e.username=n.url.username||void 0,e.password=n.url.password||void 0,e.query||(e.query={}),n.url.searchParams.entries()))e.query[i]=t;return e}setHostPrefix(e,n,i){let t=hg.of(n.input),a=hh(n.traits??{});if(a.endpoint){let n=a.endpoint?.[0];if("string"==typeof n){for(let[e]of[...t.structIterator()].filter(([,e])=>e.getMergedTraits().hostLabel)){let t=i[e];if("string"!=typeof t)throw Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`);n=n.replace(`{${e}}`,t)}e.hostname=n+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:n,initialRequest:i}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:n,initialRequest:i})}async deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:n,initialResponseContainer:i})}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,n,i,t,a){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}}class Sg extends Sh{async serializeRequest(e,n,i){let t,a={...n??{}},u=this.serializer,o={},r={},s=await i.endpoint(),l=hg.of(e?.input),h=l.getSchema(),g=!1,c=new tV({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:o,headers:r,body:void 0});if(s){this.updateServiceEndpoint(c,s),this.setHostPrefix(c,e,a);let n=hh(e.traits);if(n.http){c.method=n.http[0];let[e,i]=n.http[1].split("?");"/"==c.path?c.path=e:c.path+=e,Object.assign(o,Object.fromEntries(new URLSearchParams(i??"")))}}for(let[e,n]of l.structIterator()){let i=n.getMergedTraits()??{},s=a[e];if(null!=s||n.isIdempotencyToken())if(i.httpPayload)n.isStreaming()?n.isStructSchema()?a[e]&&(t=await this.serializeEventStream({eventStream:a[e],requestSchema:l})):t=s:(u.write(n,s),t=u.flush()),delete a[e];else if(i.httpLabel){u.write(n,s);let i=u.flush();c.path.includes(`{${e}+}`)?c.path=c.path.replace(`{${e}+}`,i.split("/").map(Ss).join("/")):c.path.includes(`{${e}}`)&&(c.path=c.path.replace(`{${e}}`,Ss(i))),delete a[e]}else if(i.httpHeader)u.write(n,s),r[i.httpHeader.toLowerCase()]=String(u.flush()),delete a[e];else if("string"==typeof i.httpPrefixHeaders){for(let[e,t]of Object.entries(s)){let a=i.httpPrefixHeaders+e;u.write([n.getValueSchema(),{httpHeader:a}],t),r[a.toLowerCase()]=u.flush()}delete a[e]}else i.httpQuery||i.httpQueryParams?(this.serializeQuery(n,s,o),delete a[e]):g=!0}return g&&a&&(u.write(h,a),t=u.flush()),c.headers=r,c.query=o,c.body=t,c}serializeQuery(e,n,i){let t=this.serializer,a=e.getMergedTraits();if(a.httpQueryParams){for(let[t,u]of Object.entries(n))if(!(t in i)){let n=e.getValueSchema();Object.assign(n.getMergedTraits(),{...a,httpQuery:t,httpQueryParams:void 0}),this.serializeQuery(n,u,i)}return}if(e.isListSchema()){let u=!!e.getMergedTraits().sparse,o=[];for(let i of n){t.write([e.getValueSchema(),a],i);let n=t.flush();(u||void 0!==n)&&o.push(n)}i[a.httpQuery]=o}else t.write([e,a],n),i[a.httpQuery]=t.flush()}async deserializeResponse(e,n,i){let t=this.deserializer,a=hg.of(e.output),u={};if(i.statusCode>=300){let a=await Sr(i.body,n);throw a.byteLength>0&&Object.assign(u,await t.read(15,a)),await this.handleError(e,n,i,u,this.deserializeMetadata(i)),Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let e in i.headers){let n=i.headers[e];delete i.headers[e],i.headers[e.toLowerCase()]=n}let o=await this.deserializeHttpMessage(a,n,i,u);if(o.length){let e=await Sr(i.body,n);if(e.byteLength>0){let n=await t.read(a,e);for(let e of o)u[e]=n[e]}}else o.discardResponseBody&&await Sr(i.body,n);return u.$metadata=this.deserializeMetadata(i),u}async deserializeHttpMessage(e,n,i,t,a){let u;u=t instanceof Set?a:t;let o=!0,r=this.deserializer,s=hg.of(e),l=[];for(let[e,t]of s.structIterator()){let a=t.getMemberTraits();if(a.httpPayload){if(o=!1,t.isStreaming())t.isStructSchema()?u[e]=await this.deserializeEventStream({response:i,responseSchema:s}):u[e]=Su(i.body);else if(i.body){let a=await Sr(i.body,n);a.byteLength>0&&(u[e]=await r.read(t,a))}}else if(a.httpHeader){let n=String(a.httpHeader).toLowerCase(),o=i.headers[n];if(null!=o)if(t.isListSchema()){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n;let a=[];for(let e of i.isTimestampSchema()&&4===i.getSchema()?function(e,n,i){if(!Number.isInteger(2))throw Error("Invalid number of delimiters (2) for splitEvery.");let t=e.split(","),a=[],u="";for(let e=0;e<t.length;e++)""===u?u=t[e]:u+=","+t[e],(e+1)%2==0&&(a.push(u),u="");return""!==u&&a.push(u),a}(o,0,0):y4(o))a.push(await r.read(i,e.trim()));u[e]=a}else u[e]=await r.read(t,o)}else if(void 0!==a.httpPrefixHeaders){for(let[n,o]of(u[e]={},Object.entries(i.headers)))if(n.startsWith(a.httpPrefixHeaders)){let i=t.getValueSchema();i.getMergedTraits().httpHeader=n,u[e][n.slice(a.httpPrefixHeaders.length)]=await r.read(i,o)}}else a.httpResponseCode?u[e]=i.statusCode:l.push(e)}return l.discardResponseBody=o,l}}let Sc=e=>{if(null!=e){if("string"==typeof e){let n=parseFloat(e);if(!Number.isNaN(n))return String(n)!==String(e)&&Sw.warn(SC(`Expected number but observed string: ${e}`)),n}if("number"==typeof e)return e;throw TypeError(`Expected number, got ${typeof e}: ${e}`)}},Sd=Math.ceil(17014118346046923e22*(2-11920928955078125e-23)),Sp=e=>{let n=Sc(e);if(void 0!==n&&!Number.isNaN(n)&&n!==1/0&&n!==-1/0&&Math.abs(n)>Sd)throw TypeError(`Expected 32-bit float, got ${e}`);return n},Sf=(e,n)=>{let i=(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!==i&&Sm(i,n)!==i)throw TypeError(`Expected ${n}-bit integer, got ${e}`);return i},Sm=(e,n)=>{switch(n){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}},Sy=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g,SS=e=>{let n=e.match(Sy);if(null===n||n[0].length!==e.length)throw TypeError("Expected real number, got implicit NaN");return parseFloat(e)},Sb=e=>"string"==typeof e?Sf(SS(e),16):Sf(e,16),SC=e=>String(TypeError(e).stack||e).split("\n").slice(0,5).filter(e=>!e.includes("stackTraceWarning")).join("\n"),Sw={warn:console.warn},ST=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Sx=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function SL(e){let n=e.getUTCFullYear(),i=e.getUTCMonth(),t=e.getUTCDay(),a=e.getUTCDate(),u=e.getUTCHours(),o=e.getUTCMinutes(),r=e.getUTCSeconds(),s=a<10?`0${a}`:`${a}`,l=u<10?`0${u}`:`${u}`,h=o<10?`0${o}`:`${o}`,g=r<10?`0${r}`:`${r}`;return`${ST[t]}, ${s} ${Sx[i]} ${n} ${l}:${h}:${g} GMT`}let SE=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/),SY=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=SE.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l]=n;return SM(Sb(SO(t)),SF(a,"month",1,12),SF(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l})},SD=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/),SZ=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-3339 date-times must be expressed as strings");let n=SD.exec(e);if(!n)throw TypeError("Invalid RFC-3339 date-time value");let[i,t,a,u,o,r,s,l,h]=n,g=SM(Sb(SO(t)),SF(a,"month",1,12),SF(u,"day",1,31),{hours:o,minutes:r,seconds:s,fractionalMilliseconds:l});return"Z"!=h.toUpperCase()&&g.setTime(g.getTime()-SI(h)),g},Sv=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$/),SN=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$/),SA=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})$/),SJ=e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC-7231 date-times must be expressed as strings");let n=Sv.exec(e);if(n){let[e,i,t,a,u,o,r,s]=n;return SM(Sb(SO(a)),SH(t),SF(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s})}if(n=SN.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SX(SM(SR(a),SH(t),SF(i,"day",1,31),{hours:u,minutes:o,seconds:r,fractionalMilliseconds:s}))}if(n=SA.exec(e)){let[e,i,t,a,u,o,r,s]=n;return SM(Sb(SO(s)),SH(i),SF(t.trimLeft(),"day",1,31),{hours:a,minutes:u,seconds:o,fractionalMilliseconds:r})}throw TypeError("Invalid RFC-7231 date-time value")},SP=e=>{let n;if(null!=e){if("number"==typeof e)n=e;else if("string"==typeof e)n="string"==typeof e?Sc(SS(e)):Sc(e);else if("object"==typeof e&&1===e.tag)n=e.value;else throw TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation");if(Number.isNaN(n)||n===1/0||n===-1/0)throw TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics");return new Date(Math.round(1e3*n))}},SM=(e,n,i,t)=>{let a=n-1;return Sk(e,a,i),new Date(Date.UTC(e,a,i,SF(t.hours,"hour",0,23),SF(t.minutes,"minute",0,59),SF(t.seconds,"seconds",0,60),SQ(t.fractionalMilliseconds)))},SR=e=>{let n=new Date().getUTCFullYear(),i=100*Math.floor(n/100)+Sb(SO(e));return i<n?i+100:i},SX=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,SH=e=>{let n=Sx.indexOf(e);if(n<0)throw TypeError(`Invalid month: ${e}`);return n+1},SB=[31,28,31,30,31,30,31,31,30,31,30,31],Sk=(e,n,i)=>{let t=SB[n];if(1===n&&S_(e)&&(t=29),i>t)throw TypeError(`Invalid day for ${Sx[n]} in ${e}: ${i}`)},S_=e=>e%4==0&&(e%100!=0||e%400==0),SF=(e,n,i,t)=>{var a;let u="string"==typeof(a=SO(e))?Sf(SS(a),8):Sf(a,8);if(u<i||u>t)throw TypeError(`${n} must be between ${i} and ${t}, inclusive`);return u},SQ=e=>{var n;return null==e?0:1e3*("string"==typeof(n="0."+e)?Sp(SS(n)):Sp(n))},SI=e=>{let n=e[0],i=1;if("+"==n)i=1;else if("-"==n)i=-1;else throw TypeError(`Offset direction, ${n}, must be "+" or "-"`);return i*(60*Number(e.substring(1,3))+Number(e.substring(4,6)))*6e4},SO=e=>{let n=0;for(;n<e.length-1&&"0"===e.charAt(n);)n++;return 0===n?e:e.slice(n)},SG=function(e){return Object.assign(new String(e),{deserializeJSON:()=>JSON.parse(String(e)),toString:()=>String(e),toJSON:()=>String(e)})};function SK(e,n){if(n.timestampFormat.useTrait&&e.isTimestampSchema()&&(5===e.getSchema()||6===e.getSchema()||7===e.getSchema()))return e.getSchema();let{httpLabel:i,httpPrefixHeaders:t,httpHeader:a,httpQuery:u}=e.getMergedTraits();return(n.httpBindings?"string"==typeof t||a?6:u||i?5:void 0:void 0)??n.timestampFormat.default}SG.from=e=>e&&"object"==typeof e&&(e instanceof SG||"deserializeJSON"in e)?e:"string"==typeof e||Object.getPrototypeOf(e)===String.prototype?SG(String(e)):SG(JSON.stringify(e)),SG.fromObject=SG.from;class S$ extends Sl{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,n){let i=hg.of(e);switch(typeof n){case"object":if(null===n){this.stringBuffer="null";return}if(i.isTimestampSchema()){if(!(n instanceof Date))throw Error(`@smithy/core/protocols - received non-Date value ${n} when schema expected Date in ${i.getName(!0)}`);switch(SK(i,this.settings)){case 5:this.stringBuffer=n.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=SL(n);break;case 7:this.stringBuffer=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",n),this.stringBuffer=String(n.getTime()/1e3)}return}if(i.isBlobSchema()&&"byteLength"in n){this.stringBuffer=(this.serdeContext?.base64Encoder??Se)(n);return}if(i.isListSchema()&&Array.isArray(n)){let e="";for(let a of n){var t;this.write([i.getValueSchema(),i.getMergedTraits()],a);let n=this.flush();""!==e&&(e+=", "),e+=i.getValueSchema().isTimestampSchema()?n:(((t=n).includes(",")||t.includes('"'))&&(t=`"${t.replace(/"/g,'\\"')}"`),t)}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(n,null,2);break;case"string":let a=i.getMergedTraits().mediaType,u=n;if(a&&(("application/json"===a||a.endsWith("+json"))&&(u=SG.from(u)),i.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??Se)(u.toString());return}this.stringBuffer=n;break;default:i.isIdempotencyToken()?this.stringBuffer=uK():this.stringBuffer=String(n)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}}class SU{codecSerializer;stringSerializer;buffer;constructor(e,n,i=new S$(n)){this.codecSerializer=e,this.stringSerializer=i}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,n){let i=hg.of(e),t=i.getMergedTraits();if(t.httpHeader||t.httpLabel||t.httpQuery){this.stringSerializer.write(i,n),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(i,n)}flush(){if(void 0!==this.buffer){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}}let SW="(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?",Sz="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",Sj="(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?",Sq="(\\d?\\d)",SV="(\\d{4})",S0=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/),S1=RegExp(`^${SW}, ${Sq} ${Sz} ${SV} ${Sj} GMT$`),S3=RegExp(`^${SW}, ${Sq}-${Sz}-(\\d\\d) ${Sj} GMT$`),S2=RegExp(`^${SW} ${Sz} ( [1-9]|\\d\\d) ${Sj} ${SV}$`),S4=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S6(e,n,i){let t=Number(e);if(t<n||t>i)throw Error(`Value ${t} out of range [${n}, ${i}]`)}let S8=/^-?\d*(\.\d+)?$/;class S5{string;type;constructor(e,n){if(this.string=e,this.type=n,!S8.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&&(S5.prototype.isPrototypeOf(e)||"bigDecimal"===e.type&&S8.test(e.string))}}class S7 extends Sl{settings;constructor(e){super(),this.settings=e}read(e,n){let i=hg.of(e);if(i.isListSchema())return y4(n).map(e=>this.read(i.getValueSchema(),e));if(i.isBlobSchema())return(this.serdeContext?.base64Decoder??y8)(n);if(i.isTimestampSchema())switch(SK(i,this.settings)){case 5:return(e=>{if(null==e)return;if("string"!=typeof e)throw TypeError("RFC3339 timestamps must be strings");let n=S0.exec(e);if(!n)throw TypeError(`Invalid RFC3339 timestamp format ${e}`);let[,i,t,a,u,o,r,,s,l]=n;S6(t,1,12),S6(a,1,31),S6(u,0,23),S6(o,0,59),S6(r,0,60);let h=new Date(Date.UTC(Number(i),Number(t)-1,Number(a),Number(u),Number(o),Number(r),Number(s)?Math.round(1e3*parseFloat(`0.${s}`)):0));if(h.setUTCFullYear(Number(i)),"Z"!=l.toUpperCase()){let[,e,n,i]=/([+-])(\d\d):(\d\d)/.exec(l)||[void 0,"+",0,0];h.setTime(h.getTime()+("-"===e?1:-1)*(60*Number(n)*6e4+60*Number(i)*1e3))}return h})(n);case 6:return(e=>{let n,i,t,a,u,o,r,s;if(null!=e){if("string"!=typeof e)throw TypeError("RFC7231 timestamps must be strings.");if((s=S1.exec(e))?[,n,i,t,a,u,o,r]=s:(s=S3.exec(e))?([,n,i,t,a,u,o,r]=s,t=(Number(t)+1900).toString()):(s=S2.exec(e))&&([,i,n,a,u,o,r,t]=s),t&&o){let e=Date.UTC(Number(t),S4.indexOf(i),Number(n),Number(a),Number(u),Number(o),r?Math.round(1e3*parseFloat(`0.${r}`)):0);S6(n,1,31),S6(a,0,23),S6(u,0,59),S6(o,0,60);let s=new Date(e);return s.setUTCFullYear(Number(t)),s}throw TypeError(`Invalid RFC7231 date-time value ${e}.`)}})(n);case 7:if(null==n)return;let t=NaN;if("number"==typeof n)t=n;else if("string"==typeof n){if(!/^-?\d*\.?\d+$/.test(n))throw TypeError("parseEpochTimestamp - numeric string invalid.");t=Number.parseFloat(n)}else"object"==typeof n&&1===n.tag&&(t=n.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:",n),new Date(n)}if(i.isStringSchema()){let e=i.getMergedTraits().mediaType,t=n;if(e)return i.getMergedTraits().httpHeader&&(t=this.base64ToUtf8(t)),("application/json"===e||e.endsWith("+json"))&&(t=SG.from(t)),t}return i.isNumericSchema()?Number(n):i.isBigIntegerSchema()?BigInt(n):i.isBigDecimalSchema()?new S5(n,"bigDecimal"):i.isBooleanSchema()?"true"===String(n).toLowerCase():n}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??Sn)((this.serdeContext?.base64Decoder??y8)(e))}}class S9 extends Sl{codecDeserializer;stringDeserializer;constructor(e,n){super(),this.codecDeserializer=e,this.stringDeserializer=new S7(n)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,n){let i=hg.of(e),t=i.getMergedTraits(),a=this.serdeContext?.utf8Encoder??Sn;if(t.httpHeader||t.httpResponseCode)return this.stringDeserializer.read(i,a(n));if(t.httpPayload){if(i.isBlobSchema()){let e=this.serdeContext?.utf8Decoder??oo;return"string"==typeof n?e(n):n}else if(i.isStringSchema())return"byteLength"in n?a(n):n}return this.codecDeserializer.read(i,n)}}class be{queryCompat;constructor(e=!1){this.queryCompat=e}resolveRestContentType(e,n){let i=n.getMemberSchemas(),t=Object.values(i).find(e=>!!e.getMergedTraits().httpPayload);if(t){let n=t.getMergedTraits().mediaType;return n?n:t.isStringSchema()?"text/plain":t.isBlobSchema()?"application/octet-stream":e}if(!n.isUnitSchema()&&Object.values(i).find(e=>{let{httpQuery:n,httpQueryParams:i,httpHeader:t,httpLabel:a,httpPrefixHeaders:u}=e.getMergedTraits();return!n&&!i&&!t&&!a&&void 0===u}))return e}async getErrorSchemaOrThrowBaseException(e,n,i,t,a,u){let o=n,r=e;e.includes("#")&&([o,r]=e.split("#"));let s={$metadata:a,$fault:i.statusCode<500?"client":"server"},l=hC.for(o);try{return{errorSchema:u?.(l,r)??l.getSchema(e),errorMetadata:s}}catch(i){t.message=t.message??t.Message??"UnknownError";let e=hC.for("smithy.ts.sdk.synthetic."+o),n=e.getBaseException();if(n){let i=e.getErrorCtor(n)??Error;throw this.decorateServiceException(Object.assign(new i({name:r}),s),t)}throw this.decorateServiceException(Object.assign(Error(r),s),t)}}decorateServiceException(e,n={}){if(this.queryCompat){let i=e.Message??n.Message,t=hT(e,n);i&&(t.message=i),t.Error={...t.Error,Type:t.Error.Type,Code:t.Error.Code,Message:t.Error.message??t.Error.Message??i};let a=t.$metadata.requestId;return a&&(t.RequestId=a),t}return hT(e,n)}setQueryCompatError(e,n){let i=n.headers?.["x-amzn-query-error"];if(void 0!==e&&null!=i){let[n,t]=i.split(";"),a=Object.entries(e),u={Code:n,Type:t};for(let[n,i]of(Object.assign(e,u),a))u["message"===n?"Message":n]=i;delete u.__type,e.Error=u}}queryCompatOutput(e,n){e.Error&&(n.Error=e.Error),e.Type&&(n.Type=e.Type),e.Code&&(n.Code=e.Code)}findQueryCompatibleError(e,n){try{return e.getSchema(n)}catch(i){return e.find(e=>hg.of(e).getMergedTraits().awsQueryError?.[0]===n)}}}class bn{serdeContext;setSerdeContext(e){this.serdeContext=e}}let bi={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,n){return n},attributeValueProcessor:function(e,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,n,i){return e},captureMetaData:!1},bt=":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",ba=RegExp("^"+("["+bt+"]["+bt)+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function bu(e,n){let i=[],t=n.exec(e);for(;t;){let a=[];a.startIndex=n.lastIndex-t[0].length;let u=t.length;for(let e=0;e<u;e++)a.push(t[e]);i.push(a),t=n.exec(e)}return i}let bo=function(e){return null!=ba.exec(e)};i="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class br{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,n){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:n})}addChild(e,n){"__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!==n&&(this.child[this.child.length-1][i]={startIndex:n})}static getMetaDataSymbol(){return i}}let bs=(e,n)=>{for(;n<e.length&&/\s/.test(e[n]);)n++;return n};function bl(e,n,i){let t="",a=e[n];if('"'!==a&&"'"!==a)throw Error(`Expected quoted string, found "${a}"`);for(n++;n<e.length&&e[n]!==a;)t+=e[n],n++;if(e[n]!==a)throw Error(`Unterminated ${i} value`);return[++n,t]}function bh(e,n,i){for(let t=0;t<n.length;t++)if(n[t]!==e[i+t+1])return!1;return!0}function bg(e){if(bo(e))return e;throw Error(`Invalid entity name ${e}`)}let bc=/^[-+]?0x[a-fA-F0-9]+$/,bd=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,bp={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0},bf=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class bm{constructor(e){var n;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,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(e,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=by,this.parseXml=bT,this.parseTextData=bS,this.resolveNameSpace=bb,this.buildAttributesMap=bw,this.isItStopNode=bY,this.replaceEntitiesValue=bL,this.readStopNodeData=bv,this.saveTextToParentTag=bE,this.addChild=bx,this.ignoreAttributesFn="function"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?e=>{for(let i of n)if("string"==typeof i&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}}function by(e){let n=Object.keys(e);for(let i=0;i<n.length;i++){let t=n[i];this.lastEntities[t]={regex:RegExp("&"+t+";","g"),val:e[t]}}}function bS(e,n,i,t,a,u,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(n,e,i,a,u);return null==t?e:typeof t!=typeof e||t!==e?t:this.options.trimValues||e.trim()===e?bN(e,this.options.parseTagValue,this.options.numberParseOptions):e}}function bb(e){if(this.options.removeNSPrefix){let n=e.split(":"),i="/"===e.charAt(0)?"/":"";if("xmlns"===n[0])return"";2===n.length&&(e=i+n[1])}return e}let bC=RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function bw(e,n,i){if(!0!==this.options.ignoreAttributes&&"string"==typeof e){let i=bu(e,bC),t=i.length,a={};for(let e=0;e<t;e++){let t=this.resolveNameSpace(i[e][1]);if(this.ignoreAttributesFn(t,n))continue;let u=i[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!==u){this.options.trimValues&&(u=u.trim()),u=this.replaceEntitiesValue(u);let e=this.options.attributeValueProcessor(t,u,n);null==e?a[o]=u:typeof e!=typeof u||e!==u?a[o]=e:a[o]=bN(u,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 bT=function(e){e=e.replace(/\r\n?/g,"\n");let n=new br("!xml"),i=n,t="",a="";for(let u=0;u<e.length;u++)if("<"===e[u])if("/"===e[u+1]){let n=bD(e,">",u,"Closing Tag is not closed."),o=e.substring(u+2,n).trim();if(this.options.removeNSPrefix){let e=o.indexOf(":");-1!==e&&(o=o.substr(e+1))}this.options.transformTagName&&(o=this.options.transformTagName(o)),i&&(t=this.saveTextToParentTag(t,i,a));let r=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;r&&-1!==this.options.unpairedTags.indexOf(r)?(s=a.lastIndexOf(".",a.lastIndexOf(".")-1),this.tagsNodeStack.pop()):s=a.lastIndexOf("."),a=a.substring(0,s),i=this.tagsNodeStack.pop(),t="",u=n}else if("?"===e[u+1]){let n=bZ(e,u,!1,"?>");if(!n)throw Error("Pi Tag is not closed.");if(t=this.saveTextToParentTag(t,i,a),this.options.ignoreDeclaration&&"?xml"===n.tagName||this.options.ignorePiTags);else{let e=new br(n.tagName);e.add(this.options.textNodeName,""),n.tagName!==n.tagExp&&n.attrExpPresent&&(e[":@"]=this.buildAttributesMap(n.tagExp,a,n.tagName)),this.addChild(i,e,a,u)}u=n.closeIndex+1}else if("!--"===e.substr(u+1,3)){let n=bD(e,"--\x3e",u+4,"Comment is not closed.");if(this.options.commentPropName){let o=e.substring(u+4,n-2);t=this.saveTextToParentTag(t,i,a),i.add(this.options.commentPropName,[{[this.options.textNodeName]:o}])}u=n}else if("!D"===e.substr(u+1,2)){let n=function(e,n){let i={};if("O"===e[n+3]&&"C"===e[n+4]&&"T"===e[n+5]&&"Y"===e[n+6]&&"P"===e[n+7]&&"E"===e[n+8]){n+=9;let t=1,a=!1,u=!1;for(;n<e.length;n++)if("<"!==e[n]||u)if(">"===e[n]){if(u?"-"===e[n-1]&&"-"===e[n-2]&&(u=!1,t--):t--,0===t)break}else"["===e[n]?a=!0:e[n];else{if(a&&bh(e,"!ENTITY",n)){let t,a;n+=7,[t,a,n]=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n])&&'"'!==e[n]&&"'"!==e[n];)i+=e[n],n++;if(bg(i),n=bs(e,n),"SYSTEM"===e.substring(n,n+6).toUpperCase())throw Error("External entities are not supported");if("%"===e[n])throw Error("Parameter entities are not supported");let t="";return[n,t]=bl(e,n,"entity"),[i,t,--n]}(e,n+1),-1===a.indexOf("&")&&(i[t]={regx:RegExp(`&${t};`,"g"),val:a})}else if(a&&bh(e,"!ELEMENT",n)){let{index:i}=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;if(!bg(i))throw Error(`Invalid element name: "${i}"`);n=bs(e,n);let t="";if("E"===e[n]&&bh(e,"MPTY",n))n+=4;else if("A"===e[n]&&bh(e,"NY",n))n+=2;else if("("===e[n]){for(n++;n<e.length&&")"!==e[n];)t+=e[n],n++;if(")"!==e[n])throw Error("Unterminated content model")}else throw Error(`Invalid Element Expression, found "${e[n]}"`);return{elementName:i,contentModel:t.trim(),index:n}}(e,(n+=8)+1);n=i}else if(a&&bh(e,"!ATTLIST",n))n+=8;else if(a&&bh(e,"!NOTATION",n)){let{index:i}=function(e,n){n=bs(e,n);let i="";for(;n<e.length&&!/\s/.test(e[n]);)i+=e[n],n++;bg(i),n=bs(e,n);let t=e.substring(n,n+6).toUpperCase();if("SYSTEM"!==t&&"PUBLIC"!==t)throw Error(`Expected SYSTEM or PUBLIC, found "${t}"`);n+=t.length,n=bs(e,n);let a=null,u=null;if("PUBLIC"===t)[n,a]=bl(e,n,"publicIdentifier"),n=bs(e,n),('"'===e[n]||"'"===e[n])&&([n,u]=bl(e,n,"systemIdentifier"));else if("SYSTEM"===t&&([n,u]=bl(e,n,"systemIdentifier"),!u))throw Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:a,systemIdentifier:u,index:--n}}(e,(n+=9)+1);n=i}else if(bh(e,"!--",n))u=!0;else throw Error("Invalid DOCTYPE");t++}if(0!==t)throw Error("Unclosed DOCTYPE")}else throw Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:n}}(e,u);this.docTypeEntities=n.entities,u=n.i}else if("!["===e.substr(u+1,2)){let n=bD(e,"]]>",u,"CDATA is not closed.")-2,o=e.substring(u+9,n);t=this.saveTextToParentTag(t,i,a);let r=this.parseTextData(o,i.tagname,a,!0,!1,!0,!0);void 0==r&&(r=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:o}]):i.add(this.options.textNodeName,r),u=n+2}else{let o=bZ(e,u,this.options.removeNSPrefix),r=o.tagName,s=o.rawTagName,l=o.tagExp,h=o.attrExpPresent,g=o.closeIndex;this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&t&&"!xml"!==i.tagname&&(t=this.saveTextToParentTag(t,i,a,!1));let c=i;c&&-1!==this.options.unpairedTags.indexOf(c.tagname)&&(i=this.tagsNodeStack.pop(),a=a.substring(0,a.lastIndexOf("."))),r!==n.tagname&&(a+=a?"."+r:r);let d=u;if(this.isItStopNode(this.options.stopNodes,a,r)){let n="";if(l.length>0&&l.lastIndexOf("/")===l.length-1)"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),u=o.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(r))u=o.closeIndex;else{let i=this.readStopNodeData(e,s,g+1);if(!i)throw Error(`Unexpected end of ${s}`);u=i.i,n=i.tagContent}let t=new br(r);r!==l&&h&&(t[":@"]=this.buildAttributesMap(l,a,r)),n&&(n=this.parseTextData(n,r,a,!0,h,!0,!0)),a=a.substr(0,a.lastIndexOf(".")),t.add(this.options.textNodeName,n),this.addChild(i,t,a,d)}else{if(l.length>0&&l.lastIndexOf("/")===l.length-1){"/"===r[r.length-1]?(r=r.substr(0,r.length-1),a=a.substr(0,a.length-1),l=r):l=l.substr(0,l.length-1),this.options.transformTagName&&(r=this.options.transformTagName(r));let e=new br(r);r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),a=a.substr(0,a.lastIndexOf("."))}else{let e=new br(r);this.tagsNodeStack.push(i),r!==l&&h&&(e[":@"]=this.buildAttributesMap(l,a,r)),this.addChild(i,e,a,d),i=e}t="",u=g}}else t+=e[u];return n.child};function bx(e,n,i,t){this.options.captureMetaData||(t=void 0);let a=this.options.updateTag(n.tagname,i,n[":@"]);!1===a||("string"==typeof a&&(n.tagname=a),e.addChild(n,t))}let bL=function(e){if(this.options.processEntities){for(let n in this.docTypeEntities){let i=this.docTypeEntities[n];e=e.replace(i.regx,i.val)}for(let n in this.lastEntities){let i=this.lastEntities[n];e=e.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let i=this.htmlEntities[n];e=e.replace(i.regex,i.val)}e=e.replace(this.ampEntity.regex,this.ampEntity.val)}return e};function bE(e,n,i,t){return e&&(void 0===t&&(t=0===n.child.length),void 0!==(e=this.parseTextData(e,n.tagname,i,!1,!!n[":@"]&&0!==Object.keys(n[":@"]).length,t))&&""!==e&&n.add(this.options.textNodeName,e),e=""),e}function bY(e,n,i){let t="*."+i;for(let i in e){let a=e[i];if(t===a||n===a)return!0}return!1}function bD(e,n,i,t){let a=e.indexOf(n,i);if(-1!==a)return a+n.length-1;throw Error(t)}function bZ(e,n,i,t=">"){let a=function(e,n,i=">"){let t,a="";for(let u=n;u<e.length;u++){let n=e[u];if(t)n===t&&(t="");else if('"'===n||"'"===n)t=n;else if(n===i[0]){if(!i[1])return{data:a,index:u};else if(e[u+1]===i[1])return{data:a,index:u}}else" "===n&&(n=" ");a+=n}}(e,n+1,t);if(!a)return;let u=a.data,o=a.index,r=u.search(/\s/),s=u,l=!0;-1!==r&&(s=u.substring(0,r),u=u.substring(r+1).trimStart());let h=s;if(i){let e=s.indexOf(":");-1!==e&&(l=(s=s.substr(e+1))!==a.data.substr(e+1))}return{tagName:s,tagExp:u,closeIndex:o,attrExpPresent:l,rawTagName:h}}function bv(e,n,i){let t=i,a=1;for(;i<e.length;i++)if("<"===e[i])if("/"===e[i+1]){let u=bD(e,">",i,`${n} is not closed`);if(e.substring(i+2,u).trim()===n&&0==--a)return{tagContent:e.substring(t,i),i:u};i=u}else if("?"===e[i+1])i=bD(e,"?>",i+1,"StopNode is not closed.");else if("!--"===e.substr(i+1,3))i=bD(e,"--\x3e",i+3,"StopNode is not closed.");else if("!["===e.substr(i+1,2))i=bD(e,"]]>",i,"StopNode is not closed.")-2;else{let t=bZ(e,i,">");t&&((t&&t.tagName)===n&&"/"!==t.tagExp[t.tagExp.length-1]&&a++,i=t.closeIndex)}}function bN(e,n,i){if(n&&"string"==typeof e){let n=e.trim();return"true"===n||"false"!==n&&function(e,n={}){if(n=Object.assign({},bp,n),!e||"string"!=typeof e)return e;let i=e.trim();if(void 0!==n.skipLike&&n.skipLike.test(i))return e;{if("0"===e)return 0;if(n.hex&&bc.test(i)){var t,a=i;if(parseInt)return parseInt(a,16);if(Number.parseInt)return Number.parseInt(a,16);if(window&&window.parseInt)return window.parseInt(a,16);throw Error("parseInt, Number.parseInt, window.parseInt are not supported")}if(i.includes("e")||i.includes("E"))return function(e,n,i){if(!i.eNotation)return e;let t=n.match(bf);if(!t)return e;{let a=t[1]||"",u=-1===t[3].indexOf("e")?"E":"e",o=t[2],r=a?e[o.length+1]===u:e[o.length]===u;return o.length>1&&r?e:1===o.length&&(t[3].startsWith(`.${u}`)||t[3][0]===u)?Number(n):i.leadingZeros&&!r?Number(n=(t[1]||"")+t[3]):e}}(e,i,n);let u=bd.exec(i);if(!u)return e;{let a=u[1]||"",o=u[2],r=((t=u[3])&&-1!==t.indexOf(".")&&("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substring(0,t.length-1))),t),s=a?"."===e[o.length+1]:"."===e[o.length];if(!n.leadingZeros&&(o.length>1||1===o.length&&!s))return e;{let t=Number(i),u=String(t);if(0===t)return t;if(-1!==u.search(/[eE]/))if(n.eNotation)return t;else return e;if(-1!==i.indexOf("."))if("0"===u)return t;else if(u===r)return t;else if(u===`${a}${r}`)return t;else return e;let s=o?r:i;return o?s===u||a+s===u?t:e:s===u||s===a+u?t:e}}}}(e,i)}return void 0!==e?e:""}let bA=br.getMetaDataSymbol(),bJ={allowBooleanAttributes:!1,unpairedTags:[]};function bP(e){return" "===e||" "===e||"\n"===e||"\r"===e}function bM(e,n){let i=n;for(;n<e.length;n++)if("?"==e[n]||" "==e[n]){let t=e.substr(i,n-i);if(n>5&&"xml"===t)return bB("InvalidXml","XML declaration allowed only at the start of the document.",bk(e,n));if("?"!=e[n]||">"!=e[n+1])continue;n++;break}return n}function bR(e,n){if(e.length>n+5&&"-"===e[n+1]&&"-"===e[n+2]){for(n+=3;n<e.length;n++)if("-"===e[n]&&"-"===e[n+1]&&">"===e[n+2]){n+=2;break}}else if(e.length>n+8&&"D"===e[n+1]&&"O"===e[n+2]&&"C"===e[n+3]&&"T"===e[n+4]&&"Y"===e[n+5]&&"P"===e[n+6]&&"E"===e[n+7]){let i=1;for(n+=8;n<e.length;n++)if("<"===e[n])i++;else if(">"===e[n]&&0==--i)break}else if(e.length>n+9&&"["===e[n+1]&&"C"===e[n+2]&&"D"===e[n+3]&&"A"===e[n+4]&&"T"===e[n+5]&&"A"===e[n+6]&&"["===e[n+7]){for(n+=8;n<e.length;n++)if("]"===e[n]&&"]"===e[n+1]&&">"===e[n+2]){n+=2;break}}return n}let bX=RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function bH(e,n){let i=bu(e,bX),t={};for(let e=0;e<i.length;e++){if(0===i[e][1].length)return bB("InvalidAttr","Attribute '"+i[e][2]+"' has no space in starting.",b_(i[e]));if(void 0!==i[e][3]&&void 0===i[e][4])return bB("InvalidAttr","Attribute '"+i[e][2]+"' is without value.",b_(i[e]));if(void 0===i[e][3]&&!n.allowBooleanAttributes)return bB("InvalidAttr","boolean attribute '"+i[e][2]+"' is not allowed.",b_(i[e]));let a=i[e][2];if(!bo(a))return bB("InvalidAttr","Attribute '"+a+"' is an invalid name.",b_(i[e]));if(t.hasOwnProperty(a))return bB("InvalidAttr","Attribute '"+a+"' is repeated.",b_(i[e]));t[a]=1}return!0}function bB(e,n,i){return{err:{code:e,msg:n,line:i.line||i,col:i.col}}}function bk(e,n){let i=e.substring(0,n).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function b_(e){return e.startIndex+e[1].length}let bF=new class{constructor(e){this.externalEntities={},this.options=Object.assign({},bi,e)}parse(e,n){if("string"==typeof e);else if(e.toString)e=e.toString();else throw Error("XML data is accepted in String or Bytes[] form.");if(n){!0===n&&(n={});let i=function(e,n){n=Object.assign({},bJ,n);let i=[],t=!1,a=!1;"\uFEFF"===e[0]&&(e=e.substr(1));for(let u=0;u<e.length;u++)if("<"===e[u]&&"?"===e[u+1]){if(u+=2,(u=bM(e,u)).err)return u}else if("<"===e[u]){let o=u;if("!"===e[++u]){u=bR(e,u);continue}{let r=!1;"/"===e[u]&&(r=!0,u++);let s="";for(;u<e.length&&">"!==e[u]&&" "!==e[u]&&" "!==e[u]&&"\n"!==e[u]&&"\r"!==e[u];u++)s+=e[u];if("/"===(s=s.trim())[s.length-1]&&(s=s.substring(0,s.length-1),u--),!bo(s))return bB("InvalidTag",0===s.trim().length?"Invalid space after '<'.":"Tag '"+s+"' is an invalid name.",bk(e,u));let l=function(e,n){let i="",t="",a=!1;for(;n<e.length;n++){if('"'===e[n]||"'"===e[n])""===t?t=e[n]:t!==e[n]||(t="");else if(">"===e[n]&&""===t){a=!0;break}i+=e[n]}return""===t&&{value:i,index:n,tagClosed:a}}(e,u);if(!1===l)return bB("InvalidAttr","Attributes for '"+s+"' have open quote.",bk(e,u));let h=l.value;if(u=l.index,"/"===h[h.length-1]){let i=u-h.length,a=bH(h=h.substring(0,h.length-1),n);if(!0!==a)return bB(a.err.code,a.err.msg,bk(e,i+a.err.line));t=!0}else if(r)if(!l.tagClosed)return bB("InvalidTag","Closing tag '"+s+"' doesn't have proper closing.",bk(e,u));else{if(h.trim().length>0)return bB("InvalidTag","Closing tag '"+s+"' can't have attributes or invalid starting.",bk(e,o));if(0===i.length)return bB("InvalidTag","Closing tag '"+s+"' has not been opened.",bk(e,o));let n=i.pop();if(s!==n.tagName){let i=bk(e,n.tagStartPos);return bB("InvalidTag","Expected closing tag '"+n.tagName+"' (opened in line "+i.line+", col "+i.col+") instead of closing tag '"+s+"'.",bk(e,o))}0==i.length&&(a=!0)}else{let r=bH(h,n);if(!0!==r)return bB(r.err.code,r.err.msg,bk(e,u-h.length+r.err.line));if(!0===a)return bB("InvalidXml","Multiple possible root nodes found.",bk(e,u));-1!==n.unpairedTags.indexOf(s)||i.push({tagName:s,tagStartPos:o}),t=!0}for(u++;u<e.length;u++)if("<"===e[u])if("!"===e[u+1]){u=bR(e,++u);continue}else if("?"===e[u+1]){if((u=bM(e,++u)).err)return u}else break;else if("&"===e[u]){let n=function(e,n){if(";"===e[++n])return -1;if("#"===e[n]){var i=++n;let t=/\d/;for("x"===e[i]&&(i++,t=/[\da-fA-F]/);i<e.length;i++){if(";"===e[i])return i;if(!e[i].match(t))break}return -1}let t=0;for(;n<e.length;n++,t++)if(!e[n].match(/\w/)||!(t<20)){if(";"===e[n])break;return -1}return n}(e,u);if(-1==n)return bB("InvalidChar","char '&' is not expected.",bk(e,u));u=n}else if(!0===a&&!bP(e[u]))return bB("InvalidXml","Extra text at the end",bk(e,u));"<"===e[u]&&u--}}else{if(bP(e[u]))continue;return bB("InvalidChar","char '"+e[u]+"' is not expected.",bk(e,u))}return t?1==i.length?bB("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",bk(e,i[0].tagStartPos)):!(i.length>0)||bB("InvalidXml","Invalid '"+JSON.stringify(i.map(e=>e.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):bB("InvalidXml","Start tag expected.",1)}(e,n);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}let i=new bm(this.options);i.addExternalEntities(this.externalEntities);let t=i.parseXml(e);return this.options.preserveOrder||void 0===t?t:function e(n,i,t){let a,u={};for(let o=0;o<n.length;o++){let r=n[o],s=function(e){let n=Object.keys(e);for(let e=0;e<n.length;e++){let i=n[e];if(":@"!==i)return i}}(r),l="";if(l=void 0===t?s:t+"."+s,s===i.textNodeName)void 0===a?a=r[s]:a+=""+r[s];else if(void 0===s)continue;else if(r[s]){let n=e(r[s],i,l),t=function(e,n){let{textNodeName:i}=n,t=Object.keys(e).length;return 0===t||1===t&&(!!e[i]||"boolean"==typeof e[i]||0===e[i])}(n,i);void 0!==r[bA]&&(n[bA]=r[bA]),r[":@"]?function(e,n,i,t){if(n){let a=Object.keys(n),u=a.length;for(let o=0;o<u;o++){let u=a[o];t.isArray(u,i+"."+u,!0,!0)?e[u]=[n[u]]:e[u]=n[u]}}}(n,r[":@"],l,i):1!==Object.keys(n).length||void 0===n[i.textNodeName]||i.alwaysCreateTextNode?0===Object.keys(n).length&&(i.alwaysCreateTextNode?n[i.textNodeName]="":n=""):n=n[i.textNodeName],void 0!==u[s]&&u.hasOwnProperty(s)?(Array.isArray(u[s])||(u[s]=[u[s]]),u[s].push(n)):i.isArray(s,l,t)?u[s]=[n]:u[s]=n}}return"string"==typeof a?a.length>0&&(u[i.textNodeName]=a):void 0!==a&&(u[i.textNodeName]=a),u}(t,this.options)}addEntity(e,n){if(-1!==n.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("&"===n)throw Error("An entity with value '&' is not permitted");this.externalEntities[e]=n}static getMetaDataSymbol(){return br.getMetaDataSymbol()}}({attributeNamePrefix:"",htmlEntities:!0,ignoreAttributes:!1,ignoreDeclaration:!0,parseTagValue:!1,trimValues:!1,tagValueProcessor:(e,n)=>""===n.trim()&&n.includes("\n")?"":void 0});bF.addEntity("#xD","\r"),bF.addEntity("#10","\n");let bQ=e=>{let n="#text";for(let i in e)e.hasOwnProperty(i)&&void 0!==e[i][n]?e[i]=e[i][n]:"object"==typeof e[i]&&null!==e[i]&&(e[i]=bQ(e[i]));return e};class bI{from;to;keys;constructor(e,n){this.from=e,this.to=n,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,n=this.from[e];this.to.$unknown=[e,n]}}}class bO extends bn{settings;stringDeserializer;constructor(e){super(),this.settings=e,this.stringDeserializer=new S7(e)}setSerdeContext(e){this.serdeContext=e,this.stringDeserializer.setSerdeContext(e)}read(e,n,i){let t=hg.of(e),a=t.getMemberSchemas();if(t.isStructSchema()&&t.isMemberSchema()&&Object.values(a).find(e=>!!e.getMemberTraits().eventPayload)){let e={},i=Object.keys(a)[0];return a[i].isBlobSchema()?e[i]=n:e[i]=this.read(a[i],n),e}let u=(this.serdeContext?.utf8Encoder??Sn)(n),o=this.parseXml(u);return this.readSchema(e,i?o[i]:o)}readSchema(e,n){let i=hg.of(e);if(i.isUnitSchema())return;let t=i.getMergedTraits();if(i.isListSchema()&&!Array.isArray(n))return this.readSchema(i,[n]);if(null==n)return n;if("object"==typeof n){let e=!!t.sparse,a=!!t.xmlFlattened;if(i.isListSchema()){let t=i.getValueSchema(),u=[],o=t.getMergedTraits().xmlName??"member",r=a?n:(n[0]??n)[o];for(let n of Array.isArray(r)?r:[r])(null!=n||e)&&u.push(this.readSchema(t,n));return u}let u={};if(i.isMapSchema()){let t,o=i.getKeySchema(),r=i.getValueSchema();t=a?Array.isArray(n)?n:[n]:Array.isArray(n.entry)?n.entry:[n.entry];let s=o.getMergedTraits().xmlName??"key",l=r.getMergedTraits().xmlName??"value";for(let n of t){let i=n[s],t=n[l];(null!=t||e)&&(u[i]=this.readSchema(r,t))}return u}if(i.isStructSchema()){let e,t=i.isUnionSchema();for(let[a,o]of(t&&(e=new bI(n,u)),i.structIterator())){let i=o.getMergedTraits(),r=i.httpPayload?i.xmlName??o.getName():o.getMemberTraits().xmlName??a;t&&e.mark(r),null!=n[r]&&(u[a]=this.readSchema(o,n[r]))}return t&&e.writeUnknown(),u}if(i.isDocumentSchema())return n;throw Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${i.getName(!0)}`)}return i.isListSchema()?[]:i.isMapSchema()||i.isStructSchema()?{}:this.stringDeserializer.read(i,n)}parseXml(e){if(e.length){let n;try{n=bF.parse(e,!0)}catch(n){throw n&&"object"==typeof n&&Object.defineProperty(n,"$responseBodyText",{value:e}),n}let i="#text",t=Object.keys(n)[0],a=n[t];return a[i]&&(a[t]=a[i],delete a[i]),bQ(a)}return{}}}class bG{value;constructor(e){this.value=e}toString(){return(""+this.value).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 bK{name;children;attributes={};static of(e,n,i){let t=new bK(e);return void 0!==n&&t.addChildNode(new bG(n)),void 0!==i&&t.withName(i),t}constructor(e,n=[]){this.name=e,this.children=n}withName(e){return this.name=e,this}addAttribute(e,n){return this.attributes[e]=n,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,n){return null!=n&&(this.attributes[e]=n),this}cc(e,n,i=n){if(null!=e[n]){let t=bK.of(n,e[n]).withName(i);this.c(t)}}l(e,n,i,t){null!=e[n]&&t().map(e=>{e.withName(i),this.c(e)})}lc(e,n,i,t){if(null!=e[n]){let e=t(),n=new bK(i);e.map(e=>{n.c(e)}),this.c(n)}}toString(){let e=!!this.children.length,n=`<${this.name}`,i=this.attributes;for(let e of Object.keys(i)){let t=i[e];null!=t&&(n+=` ${e}="${(""+t).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}"`)}return n+(e?`>${this.children.map(e=>e.toString()).join("")}</${this.name}>`:"/>")}}function*b$(e,n){if(e.isUnitSchema())return;let i=e.getSchema();for(let e=0;e<i[4].length;++e){let t=i[4][e],a=new hg([i[5][e],0],t);(t in n||a.isIdempotencyToken())&&(yield[t,a])}}function*bU(e,n,i){if(e.isUnitSchema())return;let t=e.getSchema(),a=Object.keys(n).filter(e=>"__type"!==e).length;for(let e=0;e<t[4].length&&0!==a;++e){let u=t[4][e],o=new hg([t[5][e],0],u),r=u;i&&(r=o.getMergedTraits()[i]??u),r in n&&(yield[u,o],a-=1)}}class bW extends bn{settings;stringBuffer;byteBuffer;buffer;constructor(e){super(),this.settings=e}write(e,n){let i=hg.of(e);if(i.isStringSchema()&&"string"==typeof n)this.stringBuffer=n;else if(i.isBlobSchema())this.byteBuffer="byteLength"in n?n:(this.serdeContext?.base64Decoder??y8)(n);else{this.buffer=this.writeStruct(i,n,void 0);let e=i.getMergedTraits();e.httpPayload&&!e.xmlName&&this.buffer.withName(i.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,n,i){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 u=bK.of(a),[o,r]=this.getXmlnsAttribute(e,i);for(let[i,t]of b$(e,n)){let e=n[i];if(null!=e||t.isIdempotencyToken()){if(t.getMergedTraits().xmlAttribute){u.addAttribute(t.getMergedTraits().xmlName??i,this.writeSimple(t,e));continue}if(t.isListSchema())this.writeList(t,e,u,r);else if(t.isMapSchema())this.writeMap(t,e,u,r);else if(t.isStructSchema())u.addChildNode(this.writeStruct(t,e,r));else{let n=bK.of(t.getMergedTraits().xmlName??t.getMemberName());this.writeSimpleInto(t,e,n,r),u.addChildNode(n)}}}let{$unknown:s}=n;if(s&&e.isUnionSchema()&&Array.isArray(s)&&1===Object.keys(n).length){let[e,i]=s,t=bK.of(e);if("string"!=typeof i)if(n instanceof bK||n instanceof bG)u.addChildNode(n);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,i,t,r),u.addChildNode(t)}return r&&u.addAttribute(o,r),u}writeList(e,n,i,t){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(!0)}`);let a=e.getMergedTraits(),u=e.getValueSchema(),o=u.getMergedTraits(),r=!!o.sparse,s=!!a.xmlFlattened,[l,h]=this.getXmlnsAttribute(e,t),g=(n,i)=>{if(u.isListSchema())this.writeList(u,Array.isArray(i)?i:[i],n,h);else if(u.isMapSchema())this.writeMap(u,i,n,h);else if(u.isStructSchema()){let t=this.writeStruct(u,i,h);n.addChildNode(t.withName(s?a.xmlName??e.getMemberName():o.xmlName??"member"))}else{let t=bK.of(s?a.xmlName??e.getMemberName():o.xmlName??"member");this.writeSimpleInto(u,i,t,h),n.addChildNode(t)}};if(s)for(let e of n)(r||null!=e)&&g(i,e);else{let t=bK.of(a.xmlName??e.getMemberName());for(let e of(h&&t.addAttribute(l,h),n))(r||null!=e)&&g(t,e);i.addChildNode(t)}}writeMap(e,n,i,t,a=!1){if(!e.isMemberSchema())throw Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(!0)}`);let u=e.getMergedTraits(),o=e.getKeySchema(),r=o.getMergedTraits().xmlName??"key",s=e.getValueSchema(),l=s.getMergedTraits(),h=l.xmlName??"value",g=!!l.sparse,c=!!u.xmlFlattened,[d,p]=this.getXmlnsAttribute(e,t),f=(e,n,i)=>{let t=bK.of(r,n),[a,u]=this.getXmlnsAttribute(o,p);u&&t.addAttribute(a,u),e.addChildNode(t);let l=bK.of(h);s.isListSchema()?this.writeList(s,i,l,p):s.isMapSchema()?this.writeMap(s,i,l,p,!0):s.isStructSchema()?l=this.writeStruct(s,i,p):this.writeSimpleInto(s,i,l,p),e.addChildNode(l)};if(c){for(let[t,a]of Object.entries(n))if(g||null!=a){let n=bK.of(u.xmlName??e.getMemberName());f(n,t,a),i.addChildNode(n)}}else{let t;for(let[o,r]of(a||(t=bK.of(u.xmlName??e.getMemberName()),p&&t.addAttribute(d,p),i.addChildNode(t)),Object.entries(n)))if(g||null!=r){let e=bK.of("entry");f(e,o,r),(a?i:t).addChildNode(e)}}}writeSimple(e,n){if(null===n)throw Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");let i=hg.of(e),t=null;if(n&&"object"==typeof n)if(i.isBlobSchema())t=(this.serdeContext?.base64Encoder??Se)(n);else if(i.isTimestampSchema()&&n instanceof Date)switch(SK(i,this.settings)){case 5:t=n.toISOString().replace(".000Z","Z");break;case 6:t=SL(n);break;case 7:t=String(n.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",n),t=SL(n)}else if(i.isBigDecimalSchema()&&n)return n instanceof S5?n.string:String(n);else if(i.isMapSchema()||i.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: ${i.getName(!0)}`);if((i.isBooleanSchema()||i.isNumericSchema()||i.isBigIntegerSchema()||i.isBigDecimalSchema())&&(t=String(n)),i.isStringSchema()&&(t=void 0===n&&i.isIdempotencyToken()?uK():String(n)),null===t)throw Error(`Unhandled schema-value pair ${i.getName(!0)}=${n}`);return t}writeSimpleInto(e,n,i,t){let a=this.writeSimple(e,n),u=hg.of(e),o=new bG(a),[r,s]=this.getXmlnsAttribute(u,t);s&&i.addAttribute(r,s),i.addChildNode(o)}getXmlnsAttribute(e,n){let[i,t]=e.getMergedTraits().xmlNamespace??[];return t&&t!==n?[i?`xmlns:${i}`:"xmlns",t]:[void 0,void 0]}}class bz extends bn{settings;constructor(e){super(),this.settings=e}createSerializer(){let e=new bW(this.settings);return e.setSerdeContext(this.serdeContext),e}createDeserializer(){let e=new bO(this.settings);return e.setSerdeContext(this.serdeContext),e}}class bj extends Sg{codec;serializer;deserializer;mixin=new be;constructor(e){super(e);let n={timestampFormat:{useTrait:!0,default:5},httpBindings:!0,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new bz(n),this.serializer=new SU(this.codec.createSerializer(),n),this.deserializer=new S9(this.codec.createDeserializer(),n)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,n,i){let t=await super.serializeRequest(e,n,i),a=hg.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,n,i){return super.deserializeResponse(e,n,i)}async handleError(e,n,i,t,a){let u=(t?.Error?.Code!==void 0?t.Error.Code:t?.Code!==void 0?t.Code:404==i.statusCode?"NotFound":void 0)??"Unknown",{errorSchema:o,errorMetadata:r}=await this.mixin.getErrorSchemaOrThrowBaseException(u,this.options.defaultNamespace,i,t,a),s=hg.of(o),l=t.Error?.message??t.Error?.Message??t.message??t.Message??"Unknown",h=new(hC.for(o[1]).getErrorCtor(o)??Error)(l);await this.deserializeHttpMessage(o,n,i,t);let g={};for(let[e,n]of s.structIterator()){let i=n.getMergedTraits().xmlName??e,a=t.Error?.[i]??t[i];g[e]=this.codec.createDeserializer().readSchema(n,a)}throw this.mixin.decorateServiceException(Object.assign(h,r,{$fault:s.getMergedTraits().error,message:l},g),t)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(let[,n]of e.structIterator())if(n.getMergedTraits().httpPayload)return!(n.isStructSchema()||n.isMapSchema()||n.isListSchema());return!1}}let bq=(e,n)=>{let{base64Encoder:i,bodyLengthChecker:t,checksumAlgorithmFn:a,checksumLocationName:u,streamHasher:o}=n,r=void 0!==i&&void 0!==a&&void 0!==u&&void 0!==o,s=r?o(a,e):void 0,l=new A({read:()=>{}});return e.on("data",e=>{let n=t(e)||0;l.push(`${n.toString(16)}\r
70
70
  `),l.push(e),l.push("\r\n")}),e.on("end",async()=>{if(l.push(`0\r
71
71
  `),r){let e=i(await s);l.push(`${u}:${e}\r
72
72
  `),l.push(`\r
73
- `)}l.push(null)}),l},bV=e=>({setRegion(n){e.region=n},region:()=>e.region}),b0=e=>({region:e.region()}),b1=e=>({setHttpHandler(n){e.httpHandler=n},httpHandler:()=>e.httpHandler,updateHttpClientConfig(n,i){e.httpHandler?.updateHttpClientConfig(n,i)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),b3=e=>({httpHandler:e.httpHandler()});(et=ef||(ef={})).MD5="md5",et.CRC32="crc32",et.CRC32C="crc32c",et.SHA1="sha1",et.SHA256="sha256";let b2=e=>Object.assign((e=>{let n=[];for(let i in ef){let t=ef[i];void 0!==e[t]&&n.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){n.push(e)},checksumAlgorithms:()=>n}})(e),{setRetryStrategy(n){e.retryStrategy=n},retryStrategy:()=>e.retryStrategy}),b4=e=>{let n,i;return Object.assign((n={},e.checksumAlgorithms().forEach(e=>{n[e.algorithmId()]=e.checksumConstructor()}),n),((i={}).retryStrategy=e.retryStrategy(),i))};class b6 extends u6{config;constructor(...[e]){var n,i,t,a,u;let o,r,s,l,h,g,c,d,p,f,m,y,S,b,C=(n=e||{},yF(process.version),o=yW(n),r=()=>o().then(y_),s={apiVersion:"2006-03-01",base64Decoder:n?.base64Decoder??y8,base64Encoder:n?.base64Encoder??Se,disableHostPrefix:n?.disableHostPrefix??!1,endpointProvider:n?.endpointProvider??l4,extensions:n?.extensions??[],getAwsChunkedEncodingStream:n?.getAwsChunkedEncodingStream??bq,httpAuthSchemeProvider:n?.httpAuthSchemeProvider??l7,httpAuthSchemes:n?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new y3},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new y2}],logger:n?.logger??new uQ,protocol:n?.protocol??bj,protocolSettings:n?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:n?.sdkStreamMixin??Su,serviceId:n?.serviceId??"S3",signerConstructor:n?.signerConstructor??oI,signingEscapePath:n?.signingEscapePath??!1,urlParser:n?.urlParser??uT,useArnRegion:n?.useArnRegion??void 0,utf8Decoder:n?.utf8Decoder??oo,utf8Encoder:n?.utf8Encoder??Sn},mP(process.version),l={profile:n?.profile,logger:s.logger},{...s,...n,runtime:"node",defaultsMode:o,authSchemePreference:n?.authSchemePreference??uS(mH,l),bodyLengthChecker:n?.bodyLengthChecker??yI,credentialDefaultProvider:n?.credentialDefaultProvider??mO,defaultUserAgentProvider:n?.defaultUserAgentProvider??mz({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:n?.disableS3ExpressSessionAuth??uS(aw,l),eventStreamSerdeProvider:n?.eventStreamSerdeProvider??yE,maxAttempts:n?.maxAttempts??uS(uk,n),md5:n?.md5??yY.bind(null,"md5"),region:n?.region??uS(mq,{...mV,...l}),requestChecksumCalculation:n?.requestChecksumCalculation??uS(mW,l),requestHandler:yM.create(n?.requestHandler??r),responseChecksumValidation:n?.responseChecksumValidation??uS(mU,l),retryMode:n?.retryMode??uS({...u_,default:async()=>(await r()).retryMode||uE},n),sha1:n?.sha1??yY.bind(null,"sha1"),sha256:n?.sha256??yY.bind(null,"sha256"),sigv4aSigningRegionSet:n?.sigv4aSigningRegionSet??uS(ok,l),streamCollector:n?.streamCollector??yX,streamHasher:n?.streamHasher??yv,useArnRegion:n?.useArnRegion??uS(mK,l),useDualstackEndpoint:n?.useDualstackEndpoint??uS(m0,l),useFipsEndpoint:n?.useFipsEndpoint??uS(m1,l),userAgentAppId:n?.userAgentAppId??uS(mj,l)});super(C),this.initConfig=C;let w=(a=((e,{session:n})=>{let[i,t]=n,{forcePathStyle:a,useAccelerateEndpoint:u,disableMultiregionAccessPoints:o,followRegionRedirects:r,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:u??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:r??!1,s3ExpressIdentityProvider:s??new ac(async e=>i().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=oB(i=Object.assign(h=uL(t5(az(uF((e=>{let{requestChecksumCalculation:n,responseChecksumValidation:i,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:t1(n??t2),responseChecksumValidation:t1(i??t6),requestStreamBufferSize:Number(t??0)})})(aN(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=aZ(t.sigv4aSigningRegionSet),t),{authSchemePreference:t1(i.authSchemePreference??[])}),{session:[()=>this,mA]}),u=e?.extensions||[],p=Object.assign(bV(a),b2(a),b1(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let n=g.findIndex(n=>n.schemeId===e.schemeId);-1===n?g.push(e):g.splice(n,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),u.forEach(e=>e.configure(p)),Object.assign(a,b0(p),b4(p),b3(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(a6(this.config)),this.middlewareStack.use(a$(this.config)),this.middlewareStack.use(uq(this.config)),this.middlewareStack.use(a7(this.config)),this.middlewareStack.use(t9(this.config)),this.middlewareStack.use(an(this.config)),this.middlewareStack.use(al(this.config)),this.middlewareStack.use(aq(this.config,{httpAuthSchemeParametersProvider:l6,identityProviderConfigProvider:async e=>new aV({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(aY(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(function({bucketEndpoint:e}){return n=>async i=>{let{input:{Bucket:t}}=i;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 n({...i})}}(f),ap),e.addRelativeTo((e,n)=>async i=>{if(f.bucketEndpoint){let e=n.endpointV2;if(e){let t=i.input.Bucket;if("string"==typeof t)try{let i=new URL(t);n.endpointV2={...e,url:i}}catch(i){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${t} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),i}}}return e(i)},ad)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!1!==m.expectContinueHeader&&tV.isInstance(i)&&i.body&&"node"===m.runtime&&m.requestHandler?.constructor?.name!=="FetchHttpHandler"){let e=!0;if("number"==typeof m.expectContinueHeader)try{e=(Number(i.headers?.["content-length"])??m.bodyLengthChecker?.(i.body)??1/0)>=m.expectContinueHeader}catch(e){}else e=!!m.expectContinueHeader;e&&(i.headers.Expect="100-continue")}return e({...n,request:i})},t0)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{try{return await e(i)}catch(t){if(y.followRegionRedirects){let a=t?.$metadata?.httpStatusCode,u="HeadBucketCommand"===n.commandName,o=t?.$response?.headers?.["x-amz-bucket-region"];if(o&&(301===a||400===a&&(t?.name==="IllegalLocationConstraintException"||u))){try{n.logger?.debug(`Redirecting from ${await y.region()} to ${o}`),n.__s3RegionRedirect=o}catch(e){throw Error("Region redirect failed: "+e)}return e(i)}}throw t}},am),e.addRelativeTo((e,n)=>async i=>{let t=await y.region(),a=y.region,u=()=>{};n.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>n.__s3RegionRedirect}),u=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(i);if(n.__s3RegionRedirect){u();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw u(),e}},af)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{if(n.endpointV2){let e=n.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(ay(n,"S3_EXPRESS_BUCKET","J"),n.isS3ExpressBucket=!0),t){let e=i.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});n.s3ExpressIdentity=t,tV.isInstance(i.request)&&t.sessionToken&&(i.request.headers[aC]=t.sessionToken)}}}return e(i)},aT)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t;if(!tV.isInstance(i.request))return e(i);let a=aL(n).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:u={}},identity:o,signer:r}=a;t=n.s3ExpressIdentity?await aD(n.s3ExpressIdentity,u,i.request,await b.signer()):await r.sign(i.request,o,u);let s=await e({...i,request:t}).catch((r.errorHandler||(e=>e=>{throw e}))(u));return(r.successHandler||((e,n)=>{}))(s.response,u),s},aE)}}))}destroy(){super.destroy()}}let b8={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class b5{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),n=0;for(let i=0;i<this.byteArrays.length;++i){let t=this.byteArrays[i];e.set(t,n),n+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function b7(e,n,i){switch(n){case 0:return e[0]+=i,Ce(e[0]);case 1:case 2:return e[n].push(i),Ce(e[n])}}function b9(e,n){switch(n){case 0:let i=e[0];return e[0]="",i;case 1:case 2:return e[n].flush()}throw Error(`@smithy/util-stream - invalid index ${n} given to flush()`)}function Ce(e){return e?.byteLength??e?.length??0}function Cn(e,n=!0){return n&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let Ci=[eu.CRC32,eu.CRC32C,eu.CRC64NVME,eu.SHA1,eu.SHA256],Ct=[eu.SHA256,eu.SHA1,eu.CRC32,eu.CRC32C,eu.CRC64NVME],Ca=e=>e===eu.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,Cu=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!ot(e);var Co=function(){function e(){this.crc32c=new Cr}return e.prototype.update=function(e){m5(e)||this.crc32c.update(m8(e))},e.prototype.digest=function(){return m3(this,void 0,void 0,function(){return m2(this,function(e){return[2,m7(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new Cr},e}(),Cr=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m4(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^Cs[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),Cs=m9([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 Cl{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let n=0;n<8;n++){let i=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(n+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;i[2*e]=Number(t>>32n&4294967295n),i[2*e+1]=Number(4294967295n&t)}e[n]=new Uint32Array(i)}return e})(),[a,u,o,r,s,l,h,g]=t),this.reset()}update(e){let n=e.length,i=0,t=this.c1,c=this.c2;for(;i+8<=n;){let n=((c^e[i++])&255)<<1,d=((c>>>8^e[i++])&255)<<1,p=((c>>>16^e[i++])&255)<<1,f=((c>>>24^e[i++])&255)<<1,m=((t^e[i++])&255)<<1,y=((t>>>8^e[i++])&255)<<1,S=((t>>>16^e[i++])&255)<<1,b=((t>>>24^e[i++])&255)<<1;t=g[n]^h[d]^l[p]^s[f]^r[m]^o[y]^u[S]^a[b],c=g[n+1]^h[d+1]^l[p+1]^s[f+1]^r[m+1]^o[y+1]^u[S+1]^a[b+1]}for(;i<n;){let n=((c^e[i])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[n],c^=a[n+1],i++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,n=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,n>>>24,n>>>16&255,n>>>8&255,255&n])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}class Ch{checksum=0;update(e){this.checksum=_(e,this.checksum)}async digest(){return m7(this.checksum)}reset(){this.checksum=0}}let Cg=(e,n)=>{switch(e){case eu.MD5:return n.md5;case eu.CRC32:return void 0===_?ye:Ch;case eu.CRC32C:return Co;case eu.CRC64NVME:!0;return Cl;case eu.SHA1:return n.sha1;case eu.SHA256:return n.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},Cc=(e,n)=>{let i=new e;return i.update(or(n||"")),i.digest()},Cd={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},Cp=(e=[])=>{let n=[];for(let i of Ct)e.includes(i)&&Ci.includes(i)&&n.push(i);return n};class Cf extends v{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof i.pipe)this.source=i;else throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);this.base64Encoder=a??Se,this.expectedChecksum=e,this.checksum=n,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,n,i){try{this.checksum.update(e),this.push(e)}catch(e){return i(e)}return i()}async _final(e){try{let n=await this.checksum.digest(),i=this.base64Encoder(n);if(this.expectedChecksum!==i)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${i}" in response header "${this.checksumSourceLocation}".`))}catch(n){return e(n)}return this.push(null),e()}}let Cm="function"==typeof ReadableStream?ReadableStream:function(){};class Cy extends Cm{}let CS=async(e,{checksumAlgorithmFn:n,base64Encoder:i})=>i(await Cc(n,e)),Cb=async(e,{config:n,responseAlgorithms:i,logger:t})=>{let a=Cp(i),{body:u,headers:o}=e;for(let i of a){let a=Ca(i),s=o[a];if(s){let o;try{o=Cg(i,n)}catch(e){if(i===eu.CRC64NVME){t?.warn(`Skipping ${eu.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:l}=n;if(Cu(u)){var r;r={expectedChecksum:s,checksumSourceLocation:a,checksum:new o,source:u,base64Encoder:l},e.body="function"==typeof ReadableStream&&he(r.source)?(({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a})=>{if(!he(i))throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);let u=a??Se;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,i){n.update(e),i.enqueue(e)},async flush(i){let a=u(await n.digest());if(e!==a){let n=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);i.error(n)}else i.terminate()}});i.pipeThrough(o);let r=o.readable;return Object.setPrototypeOf(r,Cy.prototype),r})(r):new Cf(r);return}let h=await CS(u,{checksumAlgorithmFn:o,base64Encoder:l});if(h===s)break;throw Error(`Checksum mismatch: expected "${h}" but received "${s}" in response header "${a}".`)}}},CC={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},Cw=(e,n)=>({applyToStack:i=>{i.add((i,t)=>async a=>{if(!tV.isInstance(a.request)||((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(e.toLowerCase().startsWith(i))return!0;return!1})("x-amz-checksum-",a.request.headers))return i(a);let{request:u,input:o}=a,{body:r,headers:s}=u,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=n,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===t3.WHEN_SUPPORTED||g)&&(o[p]=t8,f&&(s[f]=t8));let m=((e,{requestChecksumRequired:n,requestAlgorithmMember:i,requestChecksumCalculation:t})=>{if(!i)return t===t3.WHEN_SUPPORTED||n?t8:void 0;if(!e[i])return;let a=e[i];if(!Ci.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${Ci}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=r,S=s;if(m){switch(m){case eu.CRC32:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case eu.CRC32C:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case eu.CRC64NVME:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case eu.SHA1:ay(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case eu.SHA256:ay(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let n=Ca(m),i=Cg(m,e);if(Cu(r)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:u}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?function(e,n,i){if(he(e)){let t,a,u,o,r,s;return t=e.getReader(),a=!1,u=0,o=["",new b5(e=>new Uint8Array(e))],r=-1,new ReadableStream({pull:s=async e=>{let{value:l,done:h}=await t.read();if(h){if(-1!==r){let n=b9(o,r);Ce(n)>0&&e.enqueue(n)}e.close()}else{let t=Cn(l,!1);if(r!==t&&(r>=0&&e.enqueue(b9(o,r)),r=t),-1===r)return void e.enqueue(l);let h=Ce(l);u+=h;let g=Ce(o[r]);if(h>=n&&0===g)e.enqueue(l);else{let t=b7(o,r,l);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${h} is below threshold of ${n}, automatically buffering.`)),t>=n?e.enqueue(b9(o,r)):await s(e)}}}})}let t=new F({read(){}}),a=!1,u=0,o=["",new b5(e=>new Uint8Array(e)),new b5(e=>Buffer.from(new Uint8Array(e)))],r=-1;return e.on("data",e=>{let s=Cn(e,!0);if(r!==s&&(r>=0&&t.push(b9(o,r)),r=s),-1===r)return void t.push(e);let l=Ce(e);u+=l;let h=Ce(o[r]);if(l>=n&&0===h)t.push(e);else{let s=b7(o,r,e);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${n}, automatically buffering.`)),s>=n&&t.push(b9(o,r))}}),e.on("end",()=>{if(-1!==r){let e=b9(o,r);Ce(e)>0&&t.push(e)}t.push(null)}),t}(r,e.requestStreamBufferSize,t.logger):r,{base64Encoder:l,bodyLengthChecker:u,checksumLocationName:n,checksumAlgorithmFn:i,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":n},delete S["content-length"]}else if(!((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(i===e.toLowerCase())return!0;return!1})(n,s)){let e=await Cc(i,r);S={...s,[n]:l(e)}}}try{return await i({...a,request:{...u,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}},Cd),i.addRelativeTo((i,t)=>async a=>{let u=a.input,{requestValidationModeMember:o}=n,r=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(r){case t3.WHEN_REQUIRED:ay(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case t3.WHEN_SUPPORTED:ay(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case t4.WHEN_REQUIRED:ay(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case t4.WHEN_SUPPORTED:ay(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!u[o]&&s===t4.WHEN_SUPPORTED&&(u[o]="ENABLED"),i(a)},b8),i.addRelativeTo((i,t)=>async a=>{if(!tV.isInstance(a.request))return i(a);let u=a.input,o=await i(a),r=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=n;if(s&&"ENABLED"===u[s]){let{clientName:n,commandName:i}=t;if("S3Client"===n&&"GetObjectCommand"===i&&Cp(l).every(e=>{let n=Ca(e),i=r.headers[n];return!i||(e=>{let n=e.lastIndexOf("-");if(-1!==n){let i=e.slice(n+1);if(!i.startsWith("0")){let e=parseInt(i,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(i)}))return o;await Cb(r,{config:e,responseAlgorithms:l,logger:t.logger})}return o},CC)}}),CT={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Cx=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{let{request:t}=i;if(tV.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 n?.logger?.warn||n.logger instanceof uQ?console.warn(e):n.logger.warn(e)}return e({...i})},CT)}}),CL={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},CE=e=>({applyToStack:n=>{n.add(n=>async i=>{let t={...i.input};for(let n of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let i=t[n.target];if(i){let a;"string"==typeof i?function(e,n){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let i=n.base64Decoder(e);return 32===i.length}catch{return!1}}(i,e)?a=e.base64Decoder(i):(a=e.utf8Decoder(i),t[n.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(i)?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i),t[n.target]=e.base64Encoder(a));let u=new e.md5;u.update(a),t[n.hash]=e.base64Encoder(await u.digest())}}return n({...i,input:t})},CL)}});class CY extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),Cx(i),ho(i),CE(i)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(mZ).build(){}let CD={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},CZ=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t=await e(i),{response:a}=t;if(a0.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{SJ(a.headers.expires)}catch(e){n.logger?.warn(`AWS SDK Warning for ${n.clientName}::${n.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},CD)}});class Cv extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),CE(i),CZ(i)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(mE).build(){}class CN extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(mL).build(){}class CA extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i),CZ(i)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(mY).build(){}class CJ extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(mD).build(){}class CP extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(mT).build(){}class CM extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(mC).build(){}class CR extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),ho(i),CE(i)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(mN).build(){}class CX extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(mw).build(){}class CH extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ho(i)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(mv).build(){}class CB{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 Ck{signal=new CB;abort(){this.signal.abort()}}let CF={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:tW.lstatSync,isFileReadStream:e=>e instanceof tW.ReadStream},C_=e=>{if(null==e)return 0;if("string"==typeof e)return P.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(CF.isFileReadStream(e))try{return CF.lstatSync(e.path).size}catch(e){}};async function*CQ(e,n,i){let t=1,a={chunks:[],length:0};for await(let u of i(e))for(a.chunks.push(u),a.length+=u.byteLength;a.length>n;){let e=a.chunks.length>1?P.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,n)},a.chunks=[e.subarray(n)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?P.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*CI(e,n){let i=1,t=0,a=n;for(;a<e.byteLength;)yield{partNumber:i,data:e.subarray(t,a)},i+=1,a=(t=a)+n;yield{partNumber:i,data:e.subarray(t),lastPart:!0}}async function*CO(e){for await(let n of e)P.isBuffer(n)||n instanceof Uint8Array?yield n:yield P.from(n)}async function*CG(e){let n=e.getReader();try{for(;;){let{done:e,value:i}=await n.read();if(e)return;P.isBuffer(i)||i instanceof Uint8Array?yield i:yield P.from(i)}}catch(e){throw e}finally{n.releaseLock()}}(ea=em||(em={})).EMPTY_INPUT="a null or undefined Body",ea.CONTENT_LENGTH="the ContentLength property of the params set by the caller",ea.STRING_LENGTH="the encoded byte length of the Body string",ea.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",ea.LENGTH="the value of Body.length",ea.SIZE="the value of Body.size",ea.START_END_DIFF="the numeric difference between Body.start and Body.end",ea.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";class CK extends Q{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??C_(this.params.Body),this.totalBytesSource=((e,n)=>{if(null!=n)return em.CONTENT_LENGTH;if(null==e)return em.EMPTY_INPUT;if("string"==typeof e)return em.STRING_LENGTH;if("number"==typeof e.byteLength)return em.TYPED_ARRAY;if("number"==typeof e.length)return em.LENGTH;if("number"==typeof e.size)return em.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return em.START_END_DIFF;if(CF.isFileReadStream(e))try{return CF.lstatSync(e.path).size,em.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new Ck,this.partSize=e.partSize||Math.max(CK.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,n){return this.uploadEvent=e,super.on(e,n)}async __uploadUsingPut(e){let n,i,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},u=this.client.config,o=u.requestHandler,r=o instanceof Q?o:null,s=n=>{this.bytesUploadedSoFar=n.loaded,this.totalBytes=n.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==r&&r.on("xhr.upload.progress",s);let l=await Promise.all([this.client.send(new CY(a)),u?.endpoint?.()]),h=l[0],g=l[1];if(g||(g=ux(await oj(a,CY,{...u}))),!g)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==r&&r.off("xhr.upload.progress",s);let c=this.params.Key.split("/").map(e=>Ss(e)).join("/"),d=Ss(this.params.Bucket),p=(n=g.hostname.startsWith(`${d}.`),i=this.client.config.forcePathStyle,t=g.port?`:${g.port}`:"",i?`${g.protocol}//${g.hostname}${t}/${d}/${c}`:n?`${g.protocol}//${g.hostname}${t}/${c}`:`${g.protocol}//${d}.${g.hostname}${t}/${c}`);this.singleUploadResult={...h,Bucket:this.params.Bucket,Key:this.params.Key,Location:p};let f=C_(e.data);this.__notifyProgress({loaded:f,total:f,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let n={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(n.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new CP(n)).then(e=>(this.abortMultipartUploadCommand=new CM({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let n 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===n.partNumber&&n.lastPart)return await this.__uploadUsingPut(n);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=C_(n.data)||0,i=this.client.config.requestHandler,t=i instanceof Q?i:null,a=0,u=(i,t)=>{(Number(t.query.partNumber)||-1)===n.partNumber&&(i.total&&e&&(this.bytesUploadedSoFar+=i.loaded-a,a=i.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",u),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(n);let o=await this.client.send(new CR({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:n.data,PartNumber:n.partNumber}));if(null!==t&&t.off("xhr.upload.progress",u),this.abortController.signal.aborted)return;if(!o.ETag)throw Error(`Part ${n.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:n.partNumber,ETag:o.ETag,...o.ChecksumCRC32&&{ChecksumCRC32:o.ChecksumCRC32},...o.ChecksumCRC32C&&{ChecksumCRC32C:o.ChecksumCRC32C},...o.ChecksumSHA1&&{ChecksumSHA1:o.ChecksumSHA1},...o.ChecksumSHA256&&{ChecksumSHA256:o.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,n=((e,n)=>{if(e instanceof Uint8Array)return CI(e,n);if(e instanceof A)return CQ(e,n,CO);if(e instanceof String||"string"==typeof e)return CI(P.from(e),n);if("function"==typeof e.stream)return CQ(e.stream(),n,CG);if(e instanceof ReadableStream)return CQ(e,n,CG);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),i=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(n).catch(e=>{i.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),i.length>=1)throw await this.markUploadAsAborted(),i[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:n,uploadedParts:i,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==n&&i.length!==n)throw Error(`Expected ${n} part(s) but uploaded ${i.length} part(s).
73
+ `)}l.push(null)}),l},bV=e=>({setRegion(n){e.region=n},region:()=>e.region}),b0=e=>({region:e.region()}),b1=e=>({setHttpHandler(n){e.httpHandler=n},httpHandler:()=>e.httpHandler,updateHttpClientConfig(n,i){e.httpHandler?.updateHttpClientConfig(n,i)},httpHandlerConfigs:()=>e.httpHandler.httpHandlerConfigs()}),b3=e=>({httpHandler:e.httpHandler()});(et=ef||(ef={})).MD5="md5",et.CRC32="crc32",et.CRC32C="crc32c",et.SHA1="sha1",et.SHA256="sha256";let b2=e=>Object.assign((e=>{let n=[];for(let i in ef){let t=ef[i];void 0!==e[t]&&n.push({algorithmId:()=>t,checksumConstructor:()=>e[t]})}return{addChecksumAlgorithm(e){n.push(e)},checksumAlgorithms:()=>n}})(e),{setRetryStrategy(n){e.retryStrategy=n},retryStrategy:()=>e.retryStrategy}),b4=e=>{let n,i;return Object.assign((n={},e.checksumAlgorithms().forEach(e=>{n[e.algorithmId()]=e.checksumConstructor()}),n),((i={}).retryStrategy=e.retryStrategy(),i))};class b6 extends u6{config;constructor(...[e]){var n,i,t,a,u;let o,r,s,l,h,g,c,d,p,f,m,y,S,b,C=(n=e||{},y_(process.version),o=yU(n),r=()=>o().then(yF),s={apiVersion:"2006-03-01",base64Decoder:n?.base64Decoder??y8,base64Encoder:n?.base64Encoder??Se,disableHostPrefix:n?.disableHostPrefix??!1,endpointProvider:n?.endpointProvider??l4,extensions:n?.extensions??[],getAwsChunkedEncodingStream:n?.getAwsChunkedEncodingStream??bq,httpAuthSchemeProvider:n?.httpAuthSchemeProvider??l7,httpAuthSchemes:n?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new y3},{schemeId:"aws.auth#sigv4a",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4a"),signer:new y2}],logger:n?.logger??new uQ,protocol:n?.protocol??bj,protocolSettings:n?.protocolSettings??{defaultNamespace:"com.amazonaws.s3",xmlNamespace:"http://s3.amazonaws.com/doc/2006-03-01/",version:"2006-03-01",serviceTarget:"AmazonS3"},sdkStreamMixin:n?.sdkStreamMixin??Su,serviceId:n?.serviceId??"S3",signerConstructor:n?.signerConstructor??oI,signingEscapePath:n?.signingEscapePath??!1,urlParser:n?.urlParser??uT,useArnRegion:n?.useArnRegion??void 0,utf8Decoder:n?.utf8Decoder??oo,utf8Encoder:n?.utf8Encoder??Sn},mP(process.version),l={profile:n?.profile,logger:s.logger},{...s,...n,runtime:"node",defaultsMode:o,authSchemePreference:n?.authSchemePreference??uS(mH,l),bodyLengthChecker:n?.bodyLengthChecker??yI,credentialDefaultProvider:n?.credentialDefaultProvider??mO,defaultUserAgentProvider:n?.defaultUserAgentProvider??mz({serviceId:s.serviceId,clientVersion:"3.964.0"}),disableS3ExpressSessionAuth:n?.disableS3ExpressSessionAuth??uS(aw,l),eventStreamSerdeProvider:n?.eventStreamSerdeProvider??yE,maxAttempts:n?.maxAttempts??uS(uk,n),md5:n?.md5??yY.bind(null,"md5"),region:n?.region??uS(mq,{...mV,...l}),requestChecksumCalculation:n?.requestChecksumCalculation??uS(mU,l),requestHandler:yM.create(n?.requestHandler??r),responseChecksumValidation:n?.responseChecksumValidation??uS(mW,l),retryMode:n?.retryMode??uS({...uF,default:async()=>(await r()).retryMode||uE},n),sha1:n?.sha1??yY.bind(null,"sha1"),sha256:n?.sha256??yY.bind(null,"sha256"),sigv4aSigningRegionSet:n?.sigv4aSigningRegionSet??uS(ok,l),streamCollector:n?.streamCollector??yX,streamHasher:n?.streamHasher??yv,useArnRegion:n?.useArnRegion??uS(mK,l),useDualstackEndpoint:n?.useDualstackEndpoint??uS(m0,l),useFipsEndpoint:n?.useFipsEndpoint??uS(m1,l),userAgentAppId:n?.userAgentAppId??uS(mj,l)});super(C),this.initConfig=C;let w=(a=((e,{session:n})=>{let[i,t]=n,{forcePathStyle:a,useAccelerateEndpoint:u,disableMultiregionAccessPoints:o,followRegionRedirects:r,s3ExpressIdentityProvider:s,bucketEndpoint:l,expectContinueHeader:h}=e;return Object.assign(e,{forcePathStyle:a??!1,useAccelerateEndpoint:u??!1,disableMultiregionAccessPoints:o??!1,followRegionRedirects:r??!1,s3ExpressIdentityProvider:s??new ac(async e=>i().send(new t({Bucket:e}))),bucketEndpoint:l??!1,expectContinueHeader:h??2097152})})(Object.assign(((t=oB(i=Object.assign(h=uL(t5(az(u_((e=>{let{requestChecksumCalculation:n,responseChecksumValidation:i,requestStreamBufferSize:t}=e;return Object.assign(e,{requestChecksumCalculation:t1(n??t2),responseChecksumValidation:t1(i??t6),requestStreamBufferSize:Number(t??0)})})(aN(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=aZ(t.sigv4aSigningRegionSet),t),{authSchemePreference:t1(i.authSchemePreference??[])}),{session:[()=>this,mA]}),u=e?.extensions||[],p=Object.assign(bV(a),b2(a),b1(a),(g=a.httpAuthSchemes,c=a.httpAuthSchemeProvider,d=a.credentials,{setHttpAuthScheme(e){let n=g.findIndex(n=>n.schemeId===e.schemeId);-1===n?g.push(e):g.splice(n,1,e)},httpAuthSchemes:()=>g,setHttpAuthSchemeProvider(e){c=e},httpAuthSchemeProvider:()=>c,setCredentials(e){d=e},credentials:()=>d})),u.forEach(e=>e.configure(p)),Object.assign(a,b0(p),b4(p),b3(p),{httpAuthSchemes:p.httpAuthSchemes(),httpAuthSchemeProvider:p.httpAuthSchemeProvider(),credentials:p.credentials()}));this.config=w,this.middlewareStack.use(a6(this.config)),this.middlewareStack.use(a$(this.config)),this.middlewareStack.use(uq(this.config)),this.middlewareStack.use(a7(this.config)),this.middlewareStack.use(t9(this.config)),this.middlewareStack.use(an(this.config)),this.middlewareStack.use(al(this.config)),this.middlewareStack.use(aq(this.config,{httpAuthSchemeParametersProvider:l6,identityProviderConfigProvider:async e=>new aV({"aws.auth#sigv4":e.credentials,"aws.auth#sigv4a":e.credentials})})),this.middlewareStack.use(aY(this.config)),this.middlewareStack.use((f=this.config,{applyToStack:e=>{e.add(function({bucketEndpoint:e}){return n=>async i=>{let{input:{Bucket:t}}=i;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 n({...i})}}(f),ap),e.addRelativeTo((e,n)=>async i=>{if(f.bucketEndpoint){let e=n.endpointV2;if(e){let t=i.input.Bucket;if("string"==typeof t)try{let i=new URL(t);n.endpointV2={...e,url:i}}catch(i){let e=`@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${t} could not be parsed as URL.`;throw n.logger?.constructor?.name==="NoOpLogger"?console.warn(e):n.logger?.warn?.(e),i}}}return e(i)},ad)}})),this.middlewareStack.use((m=this.config,{applyToStack:e=>{e.add(e=>async n=>{let{request:i}=n;if(!1!==m.expectContinueHeader&&tV.isInstance(i)&&i.body&&"node"===m.runtime&&m.requestHandler?.constructor?.name!=="FetchHttpHandler"){let e=!0;if("number"==typeof m.expectContinueHeader)try{e=(Number(i.headers?.["content-length"])??m.bodyLengthChecker?.(i.body)??1/0)>=m.expectContinueHeader}catch(e){}else e=!!m.expectContinueHeader;e&&(i.headers.Expect="100-continue")}return e({...n,request:i})},t0)}})),this.middlewareStack.use((y=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{try{return await e(i)}catch(t){if(y.followRegionRedirects){let a=t?.$metadata?.httpStatusCode,u="HeadBucketCommand"===n.commandName,o=t?.$response?.headers?.["x-amz-bucket-region"];if(o&&(301===a||400===a&&(t?.name==="IllegalLocationConstraintException"||u))){try{n.logger?.debug(`Redirecting from ${await y.region()} to ${o}`),n.__s3RegionRedirect=o}catch(e){throw Error("Region redirect failed: "+e)}return e(i)}}throw t}},am),e.addRelativeTo((e,n)=>async i=>{let t=await y.region(),a=y.region,u=()=>{};n.__s3RegionRedirect&&(Object.defineProperty(y,"region",{writable:!1,value:async()=>n.__s3RegionRedirect}),u=()=>Object.defineProperty(y,"region",{writable:!0,value:a}));try{let a=await e(i);if(n.__s3RegionRedirect){u();let e=await y.region();if(t!==e)throw Error("Region was not restored following S3 region redirect.")}return a}catch(e){throw u(),e}},af)}})),this.middlewareStack.use((S=this.config,{applyToStack:e=>{e.add((e,n)=>async i=>{if(n.endpointV2){let e=n.endpointV2,t=e.properties?.authSchemes?.[0]?.name==="sigv4-s3express";if((e.properties?.backend==="S3Express"||e.properties?.bucketType==="Directory")&&(ay(n,"S3_EXPRESS_BUCKET","J"),n.isS3ExpressBucket=!0),t){let e=i.input.Bucket;if(e){let t=await S.s3ExpressIdentityProvider.getS3ExpressIdentity(await S.credentials(),{Bucket:e});n.s3ExpressIdentity=t,tV.isInstance(i.request)&&t.sessionToken&&(i.request.headers[aC]=t.sessionToken)}}}return e(i)},aT)}})),this.middlewareStack.use((b=this.config,{applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t;if(!tV.isInstance(i.request))return e(i);let a=aL(n).selectedHttpAuthScheme;if(!a)throw Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:u={}},identity:o,signer:r}=a;t=n.s3ExpressIdentity?await aD(n.s3ExpressIdentity,u,i.request,await b.signer()):await r.sign(i.request,o,u);let s=await e({...i,request:t}).catch((r.errorHandler||(e=>e=>{throw e}))(u));return(r.successHandler||((e,n)=>{}))(s.response,u),s},aE)}}))}destroy(){super.destroy()}}let b8={name:"flexibleChecksumsInputMiddleware",toMiddleware:"serializerMiddleware",relation:"before",tags:["BODY_CHECKSUM"],override:!0};class b5{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),n=0;for(let i=0;i<this.byteArrays.length;++i){let t=this.byteArrays[i];e.set(t,n),n+=t.byteLength}return this.reset(),e}reset(){this.byteArrays=[],this.byteLength=0}}function b7(e,n,i){switch(n){case 0:return e[0]+=i,Ce(e[0]);case 1:case 2:return e[n].push(i),Ce(e[n])}}function b9(e,n){switch(n){case 0:let i=e[0];return e[0]="",i;case 1:case 2:return e[n].flush()}throw Error(`@smithy/util-stream - invalid index ${n} given to flush()`)}function Ce(e){return e?.byteLength??e?.length??0}function Cn(e,n=!0){return n&&"u">typeof Buffer&&e instanceof Buffer?2:e instanceof Uint8Array?1:"string"==typeof e?0:-1}let Ci=[eu.CRC32,eu.CRC32C,eu.CRC64NVME,eu.SHA1,eu.SHA256],Ct=[eu.SHA256,eu.SHA1,eu.CRC32,eu.CRC32C,eu.CRC64NVME],Ca=e=>e===eu.MD5?"content-md5":`x-amz-checksum-${e.toLowerCase()}`,Cu=e=>void 0!==e&&"string"!=typeof e&&!ArrayBuffer.isView(e)&&!ot(e);var Co=function(){function e(){this.crc32c=new Cr}return e.prototype.update=function(e){m5(e)||this.crc32c.update(m8(e))},e.prototype.digest=function(){return m3(this,void 0,void 0,function(){return m2(this,function(e){return[2,m7(this.crc32c.digest())]})})},e.prototype.reset=function(){this.crc32c=new Cr},e}(),Cr=function(){function e(){this.checksum=0xffffffff}return e.prototype.update=function(e){var n,i;try{for(var t=m4(e),a=t.next();!a.done;a=t.next()){var u=a.value;this.checksum=this.checksum>>>8^Cs[(this.checksum^u)&255]}}catch(e){n={error:e}}finally{try{a&&!a.done&&(i=t.return)&&i.call(t)}finally{if(n)throw n.error}}return this},e.prototype.digest=function(){return(0xffffffff^this.checksum)>>>0},e}(),Cs=m9([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 Cl{c1=0;c2=0;constructor(){t||(t=(()=>{let e=Array(8);for(let n=0;n<8;n++){let i=Array(512);for(let e=0;e<256;e++){let t=BigInt(e);for(let e=0;e<8*(n+1);e++)1n&t?t=t>>1n^0x9a6c9329ac4bc9b5n:t>>=1n;i[2*e]=Number(t>>32n&4294967295n),i[2*e+1]=Number(4294967295n&t)}e[n]=new Uint32Array(i)}return e})(),[a,u,o,r,s,l,h,g]=t),this.reset()}update(e){let n=e.length,i=0,t=this.c1,c=this.c2;for(;i+8<=n;){let n=((c^e[i++])&255)<<1,d=((c>>>8^e[i++])&255)<<1,p=((c>>>16^e[i++])&255)<<1,f=((c>>>24^e[i++])&255)<<1,m=((t^e[i++])&255)<<1,y=((t>>>8^e[i++])&255)<<1,S=((t>>>16^e[i++])&255)<<1,b=((t>>>24^e[i++])&255)<<1;t=g[n]^h[d]^l[p]^s[f]^r[m]^o[y]^u[S]^a[b],c=g[n+1]^h[d+1]^l[p+1]^s[f+1]^r[m+1]^o[y+1]^u[S+1]^a[b+1]}for(;i<n;){let n=((c^e[i])&255)<<1;c=(c>>>8|(255&t)<<24)>>>0,t=t>>>8^a[n],c^=a[n+1],i++}this.c1=t,this.c2=c}async digest(){let e=0xffffffff^this.c1,n=0xffffffff^this.c2;return new Uint8Array([e>>>24,e>>>16&255,e>>>8&255,255&e,n>>>24,n>>>16&255,n>>>8&255,255&n])}reset(){this.c1=0xffffffff,this.c2=0xffffffff}}class Ch{checksum=0;update(e){this.checksum=F(e,this.checksum)}async digest(){return m7(this.checksum)}reset(){this.checksum=0}}let Cg=(e,n)=>{switch(e){case eu.MD5:return n.md5;case eu.CRC32:return void 0===F?ye:Ch;case eu.CRC32C:return Co;case eu.CRC64NVME:!0;return Cl;case eu.SHA1:return n.sha1;case eu.SHA256:return n.sha256;default:throw Error(`Unsupported checksum algorithm: ${e}`)}},Cc=(e,n)=>{let i=new e;return i.update(or(n||"")),i.digest()},Cd={name:"flexibleChecksumsMiddleware",step:"build",tags:["BODY_CHECKSUM"],override:!0},Cp=(e=[])=>{let n=[];for(let i of Ct)e.includes(i)&&Ci.includes(i)&&n.push(i);return n};class Cf extends v{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;constructor({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a}){if(super(),"function"==typeof i.pipe)this.source=i;else throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);this.base64Encoder=a??Se,this.expectedChecksum=e,this.checksum=n,this.checksumSourceLocation=t,this.source.pipe(this)}_read(e){}_write(e,n,i){try{this.checksum.update(e),this.push(e)}catch(e){return i(e)}return i()}async _final(e){try{let n=await this.checksum.digest(),i=this.base64Encoder(n);if(this.expectedChecksum!==i)return e(Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${i}" in response header "${this.checksumSourceLocation}".`))}catch(n){return e(n)}return this.push(null),e()}}let Cm="function"==typeof ReadableStream?ReadableStream:function(){};class Cy extends Cm{}let CS=async(e,{checksumAlgorithmFn:n,base64Encoder:i})=>i(await Cc(n,e)),Cb=async(e,{config:n,responseAlgorithms:i,logger:t})=>{let a=Cp(i),{body:u,headers:o}=e;for(let i of a){let a=Ca(i),s=o[a];if(s){let o;try{o=Cg(i,n)}catch(e){if(i===eu.CRC64NVME){t?.warn(`Skipping ${eu.CRC64NVME} checksum validation: ${e.message}`);continue}throw e}let{base64Encoder:l}=n;if(Cu(u)){var r;r={expectedChecksum:s,checksumSourceLocation:a,checksum:new o,source:u,base64Encoder:l},e.body="function"==typeof ReadableStream&&he(r.source)?(({expectedChecksum:e,checksum:n,source:i,checksumSourceLocation:t,base64Encoder:a})=>{if(!he(i))throw Error(`@smithy/util-stream: unsupported source type ${i?.constructor?.name??i} in ChecksumStream.`);let u=a??Se;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,i){n.update(e),i.enqueue(e)},async flush(i){let a=u(await n.digest());if(e!==a){let n=Error(`Checksum mismatch: expected "${e}" but received "${a}" in response header "${t}".`);i.error(n)}else i.terminate()}});i.pipeThrough(o);let r=o.readable;return Object.setPrototypeOf(r,Cy.prototype),r})(r):new Cf(r);return}let h=await CS(u,{checksumAlgorithmFn:o,base64Encoder:l});if(h===s)break;throw Error(`Checksum mismatch: expected "${h}" but received "${s}" in response header "${a}".`)}}},CC={name:"flexibleChecksumsResponseMiddleware",toMiddleware:"deserializerMiddleware",relation:"after",tags:["BODY_CHECKSUM"],override:!0},Cw=(e,n)=>({applyToStack:i=>{i.add((i,t)=>async a=>{if(!tV.isInstance(a.request)||((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(e.toLowerCase().startsWith(i))return!0;return!1})("x-amz-checksum-",a.request.headers))return i(a);let{request:u,input:o}=a,{body:r,headers:s}=u,{base64Encoder:l,streamHasher:h}=e,{requestChecksumRequired:g,requestAlgorithmMember:c}=n,d=await e.requestChecksumCalculation(),p=c?.name,f=c?.httpHeader;p&&!o[p]&&(d===t3.WHEN_SUPPORTED||g)&&(o[p]=t8,f&&(s[f]=t8));let m=((e,{requestChecksumRequired:n,requestAlgorithmMember:i,requestChecksumCalculation:t})=>{if(!i)return t===t3.WHEN_SUPPORTED||n?t8:void 0;if(!e[i])return;let a=e[i];if(!Ci.includes(a))throw Error(`The checksum algorithm "${a}" is not supported by the client. Select one of ${Ci}.`);return a})(o,{requestChecksumRequired:g,requestAlgorithmMember:c?.name,requestChecksumCalculation:d}),y=r,S=s;if(m){switch(m){case eu.CRC32:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32","U");break;case eu.CRC32C:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC32C","V");break;case eu.CRC64NVME:ay(t,"FLEXIBLE_CHECKSUMS_REQ_CRC64","W");break;case eu.SHA1:ay(t,"FLEXIBLE_CHECKSUMS_REQ_SHA1","X");break;case eu.SHA256:ay(t,"FLEXIBLE_CHECKSUMS_REQ_SHA256","Y")}let n=Ca(m),i=Cg(m,e);if(Cu(r)){let{getAwsChunkedEncodingStream:a,bodyLengthChecker:u}=e;y=a("number"==typeof e.requestStreamBufferSize&&e.requestStreamBufferSize>=8192?function(e,n,i){if(he(e)){let t,a,u,o,r,s;return t=e.getReader(),a=!1,u=0,o=["",new b5(e=>new Uint8Array(e))],r=-1,new ReadableStream({pull:s=async e=>{let{value:l,done:h}=await t.read();if(h){if(-1!==r){let n=b9(o,r);Ce(n)>0&&e.enqueue(n)}e.close()}else{let t=Cn(l,!1);if(r!==t&&(r>=0&&e.enqueue(b9(o,r)),r=t),-1===r)return void e.enqueue(l);let h=Ce(l);u+=h;let g=Ce(o[r]);if(h>=n&&0===g)e.enqueue(l);else{let t=b7(o,r,l);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${h} is below threshold of ${n}, automatically buffering.`)),t>=n?e.enqueue(b9(o,r)):await s(e)}}}})}let t=new _({read(){}}),a=!1,u=0,o=["",new b5(e=>new Uint8Array(e)),new b5(e=>Buffer.from(new Uint8Array(e)))],r=-1;return e.on("data",e=>{let s=Cn(e,!0);if(r!==s&&(r>=0&&t.push(b9(o,r)),r=s),-1===r)return void t.push(e);let l=Ce(e);u+=l;let h=Ce(o[r]);if(l>=n&&0===h)t.push(e);else{let s=b7(o,r,e);!a&&u>2*n&&(a=!0,i?.warn(`@smithy/util-stream - stream chunk size ${l} is below threshold of ${n}, automatically buffering.`)),s>=n&&t.push(b9(o,r))}}),e.on("end",()=>{if(-1!==r){let e=b9(o,r);Ce(e)>0&&t.push(e)}t.push(null)}),t}(r,e.requestStreamBufferSize,t.logger):r,{base64Encoder:l,bodyLengthChecker:u,checksumLocationName:n,checksumAlgorithmFn:i,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":n},delete S["content-length"]}else if(!((e,n)=>{let i=e.toLowerCase();for(let e of Object.keys(n))if(i===e.toLowerCase())return!0;return!1})(n,s)){let e=await Cc(i,r);S={...s,[n]:l(e)}}}try{return await i({...a,request:{...u,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}},Cd),i.addRelativeTo((i,t)=>async a=>{let u=a.input,{requestValidationModeMember:o}=n,r=await e.requestChecksumCalculation(),s=await e.responseChecksumValidation();switch(r){case t3.WHEN_REQUIRED:ay(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED","a");break;case t3.WHEN_SUPPORTED:ay(t,"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED","Z")}switch(s){case t4.WHEN_REQUIRED:ay(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED","c");break;case t4.WHEN_SUPPORTED:ay(t,"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED","b")}return o&&!u[o]&&s===t4.WHEN_SUPPORTED&&(u[o]="ENABLED"),i(a)},b8),i.addRelativeTo((i,t)=>async a=>{if(!tV.isInstance(a.request))return i(a);let u=a.input,o=await i(a),r=o.response,{requestValidationModeMember:s,responseAlgorithms:l}=n;if(s&&"ENABLED"===u[s]){let{clientName:n,commandName:i}=t;if("S3Client"===n&&"GetObjectCommand"===i&&Cp(l).every(e=>{let n=Ca(e),i=r.headers[n];return!i||(e=>{let n=e.lastIndexOf("-");if(-1!==n){let i=e.slice(n+1);if(!i.startsWith("0")){let e=parseInt(i,10);if(!isNaN(e)&&e>=1&&e<=1e4)return!0}}return!1})(i)}))return o;await Cb(r,{config:e,responseAlgorithms:l,logger:t.logger})}return o},CC)}}),CT={step:"finalizeRequest",tags:["CHECK_CONTENT_LENGTH_HEADER"],name:"getCheckContentLengthHeaderPlugin",override:!0},Cx=e=>({applyToStack:e=>{e.add((e,n)=>async i=>{let{request:t}=i;if(tV.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 n?.logger?.warn||n.logger instanceof uQ?console.warn(e):n.logger.warn(e)}return e({...i})},CT)}}),CL={name:"ssecMiddleware",step:"initialize",tags:["SSE"],override:!0},CE=e=>({applyToStack:n=>{n.add(n=>async i=>{let t={...i.input};for(let n of[{target:"SSECustomerKey",hash:"SSECustomerKeyMD5"},{target:"CopySourceSSECustomerKey",hash:"CopySourceSSECustomerKeyMD5"}]){let i=t[n.target];if(i){let a;"string"==typeof i?function(e,n){if(!/^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e))return!1;try{let i=n.base64Decoder(e);return 32===i.length}catch{return!1}}(i,e)?a=e.base64Decoder(i):(a=e.utf8Decoder(i),t[n.target]=e.base64Encoder(a)):(a=ArrayBuffer.isView(i)?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i),t[n.target]=e.base64Encoder(a));let u=new e.md5;u.update(a),t[n.hash]=e.base64Encoder(await u.digest())}}return n({...i,input:t})},CL)}});class CY extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),Cx(i),ho(i),CE(i)]}).s("AmazonS3","PutObject",{}).n("S3Client","PutObjectCommand").sc(mZ).build(){}let CD={tags:["S3"],name:"s3ExpiresMiddleware",override:!0,relation:"after",toMiddleware:"deserializerMiddleware"},CZ=e=>({applyToStack:e=>{e.addRelativeTo((e,n)=>async i=>{let t=await e(i),{response:a}=t;if(a0.isInstance(a)&&a.headers.expires){a.headers.expiresstring=a.headers.expires;try{SJ(a.headers.expires)}catch(e){n.logger?.warn(`AWS SDK Warning for ${n.clientName}::${n.commandName} response parsing (${a.headers.expires}): ${e}`),delete a.headers.expires}}return t},CD)}});class Cv extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestChecksumRequired:!1,requestValidationModeMember:"ChecksumMode",responseAlgorithms:["CRC64NVME","CRC32","CRC32C","SHA256","SHA1"]}),CE(i),CZ(i)]}).s("AmazonS3","GetObject",{}).n("S3Client","GetObjectCommand").sc(mE).build(){}class CN extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","DeleteObject",{}).n("S3Client","DeleteObjectCommand").sc(mL).build(){}class CA extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i),CZ(i)]}).s("AmazonS3","HeadObject",{}).n("S3Client","HeadObjectCommand").sc(mY).build(){}class CJ extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Prefix:{type:"contextParams",name:"Prefix"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","ListObjectsV2",{}).n("S3Client","ListObjectsV2Command").sc(mD).build(){}class CP extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i)]}).s("AmazonS3","CreateMultipartUpload",{}).n("S3Client","CreateMultipartUploadCommand").sc(mT).build(){}class CM extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i)]}).s("AmazonS3","AbortMultipartUpload",{}).n("S3Client","AbortMultipartUploadCommand").sc(mC).build(){}class CR extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!1}),ho(i),CE(i)]}).s("AmazonS3","UploadPart",{}).n("S3Client","UploadPartCommand").sc(mN).build(){}class CX extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"},Key:{type:"contextParams",name:"Key"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),ho(i),CE(i)]}).s("AmazonS3","CompleteMultipartUpload",{}).n("S3Client","CompleteMultipartUploadCommand").sc(mw).build(){}class CH extends hy.classBuilder().ep({...hb,Bucket:{type:"contextParams",name:"Bucket"}}).m(function(e,n,i,t){return[hs(i,e.getEndpointParameterInstructions()),Cw(i,{requestAlgorithmMember:{httpHeader:"x-amz-sdk-checksum-algorithm",name:"ChecksumAlgorithm"},requestChecksumRequired:!0}),ho(i)]}).s("AmazonS3","PutObjectTagging",{}).n("S3Client","PutObjectTaggingCommand").sc(mv).build(){}class CB{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 Ck{signal=new CB;abort(){this.signal.abort()}}let C_={...{lstatSync:()=>{},isFileReadStream:e=>!1},runtime:"node",lstatSync:tU.lstatSync,isFileReadStream:e=>e instanceof tU.ReadStream},CF=e=>{if(null==e)return 0;if("string"==typeof e)return P.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(C_.isFileReadStream(e))try{return C_.lstatSync(e.path).size}catch(e){}};async function*CQ(e,n,i){let t=1,a={chunks:[],length:0};for await(let u of i(e))for(a.chunks.push(u),a.length+=u.byteLength;a.length>n;){let e=a.chunks.length>1?P.concat(a.chunks):a.chunks[0];yield{partNumber:t,data:e.subarray(0,n)},a.chunks=[e.subarray(n)],a.length=a.chunks[0].byteLength,t+=1}yield{partNumber:t,data:1!==a.chunks.length?P.concat(a.chunks):a.chunks[0],lastPart:!0}}async function*CI(e,n){let i=1,t=0,a=n;for(;a<e.byteLength;)yield{partNumber:i,data:e.subarray(t,a)},i+=1,a=(t=a)+n;yield{partNumber:i,data:e.subarray(t),lastPart:!0}}async function*CO(e){for await(let n of e)P.isBuffer(n)||n instanceof Uint8Array?yield n:yield P.from(n)}async function*CG(e){let n=e.getReader();try{for(;;){let{done:e,value:i}=await n.read();if(e)return;P.isBuffer(i)||i instanceof Uint8Array?yield i:yield P.from(i)}}catch(e){throw e}finally{n.releaseLock()}}(ea=em||(em={})).EMPTY_INPUT="a null or undefined Body",ea.CONTENT_LENGTH="the ContentLength property of the params set by the caller",ea.STRING_LENGTH="the encoded byte length of the Body string",ea.TYPED_ARRAY="the byteLength of a typed byte array such as Uint8Array",ea.LENGTH="the value of Body.length",ea.SIZE="the value of Body.size",ea.START_END_DIFF="the numeric difference between Body.start and Body.end",ea.LSTAT="the size of the file given by Body.path on disk as reported by lstatSync";class CK extends Q{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??CF(this.params.Body),this.totalBytesSource=((e,n)=>{if(null!=n)return em.CONTENT_LENGTH;if(null==e)return em.EMPTY_INPUT;if("string"==typeof e)return em.STRING_LENGTH;if("number"==typeof e.byteLength)return em.TYPED_ARRAY;if("number"==typeof e.length)return em.LENGTH;if("number"==typeof e.size)return em.SIZE;if("number"==typeof e.start&&"number"==typeof e.end)return em.START_END_DIFF;if(C_.isFileReadStream(e))try{return C_.lstatSync(e.path).size,em.LSTAT}catch(e){}})(this.params.Body,this.params.ContentLength),this.bytesUploadedSoFar=0,this.abortController=e.abortController??new Ck,this.partSize=e.partSize||Math.max(CK.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,n){return this.uploadEvent=e,super.on(e,n)}async __uploadUsingPut(e){let n,i,t;this.isMultiPart=!1;let a={...this.params,Body:e.data},u=this.client.config,o=u.requestHandler,r=o instanceof Q?o:null,s=n=>{this.bytesUploadedSoFar=n.loaded,this.totalBytes=n.total,this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:e.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})};null!==r&&r.on("xhr.upload.progress",s);let l=await Promise.all([this.client.send(new CY(a)),u?.endpoint?.()]),h=l[0],g=l[1];if(g||(g=ux(await oj(a,CY,{...u}))),!g)throw Error('Could not resolve endpoint from S3 "client.config.endpoint()" nor EndpointsV2.');null!==r&&r.off("xhr.upload.progress",s);let c=this.params.Key.split("/").map(e=>Ss(e)).join("/"),d=Ss(this.params.Bucket),p=(n=g.hostname.startsWith(`${d}.`),i=this.client.config.forcePathStyle,t=g.port?`:${g.port}`:"",i?`${g.protocol}//${g.hostname}${t}/${d}/${c}`:n?`${g.protocol}//${g.hostname}${t}/${c}`:`${g.protocol}//${d}.${g.hostname}${t}/${c}`);this.singleUploadResult={...h,Bucket:this.params.Bucket,Key:this.params.Key,Location:p};let f=CF(e.data);this.__notifyProgress({loaded:f,total:f,part:1,Key:this.params.Key,Bucket:this.params.Bucket})}async __createMultipartUpload(){let e=await this.client.config.requestChecksumCalculation();if(!this.createMultiPartPromise){let n={...this.params,Body:void 0};"WHEN_SUPPORTED"===e&&(n.ChecksumAlgorithm=this.params.ChecksumAlgorithm||"CRC32"),this.createMultiPartPromise=this.client.send(new CP(n)).then(e=>(this.abortMultipartUploadCommand=new CM({Bucket:this.params.Bucket,Key:this.params.Key,UploadId:e.UploadId}),e))}return this.createMultiPartPromise}async __doConcurrentUpload(e){for await(let n 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===n.partNumber&&n.lastPart)return await this.__uploadUsingPut(n);if(!this.uploadId){let{UploadId:e}=await this.__createMultipartUpload();if(this.uploadId=e,this.abortController.signal.aborted)return}let e=CF(n.data)||0,i=this.client.config.requestHandler,t=i instanceof Q?i:null,a=0,u=(i,t)=>{(Number(t.query.partNumber)||-1)===n.partNumber&&(i.total&&e&&(this.bytesUploadedSoFar+=i.loaded-a,a=i.loaded),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket}))};null!==t&&t.on("xhr.upload.progress",u),this.uploadEnqueuedPartsCount+=1,this.__validateUploadPart(n);let o=await this.client.send(new CR({...this.params,ContentLength:void 0,UploadId:this.uploadId,Body:n.data,PartNumber:n.partNumber}));if(null!==t&&t.off("xhr.upload.progress",u),this.abortController.signal.aborted)return;if(!o.ETag)throw Error(`Part ${n.partNumber} is missing ETag in UploadPart response. Missing Bucket CORS configuration for ETag header?`);this.uploadedParts.push({PartNumber:n.partNumber,ETag:o.ETag,...o.ChecksumCRC32&&{ChecksumCRC32:o.ChecksumCRC32},...o.ChecksumCRC32C&&{ChecksumCRC32C:o.ChecksumCRC32C},...o.ChecksumSHA1&&{ChecksumSHA1:o.ChecksumSHA1},...o.ChecksumSHA256&&{ChecksumSHA256:o.ChecksumSHA256}}),null===t&&(this.bytesUploadedSoFar+=e),this.__notifyProgress({loaded:this.bytesUploadedSoFar,total:this.totalBytes,part:n.partNumber,Key:this.params.Key,Bucket:this.params.Bucket})}}async __doMultipartUpload(){let e,n=((e,n)=>{if(e instanceof Uint8Array)return CI(e,n);if(e instanceof A)return CQ(e,n,CO);if(e instanceof String||"string"==typeof e)return CI(P.from(e),n);if("function"==typeof e.stream)return CQ(e.stream(),n,CG);if(e instanceof ReadableStream)return CQ(e,n,CG);throw Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.")})(this.params.Body,this.partSize),i=[];for(let e=0;e<this.queueSize;e++){let e=this.__doConcurrentUpload(n).catch(e=>{i.push(e)});this.concurrentUploaders.push(e)}if(await Promise.all(this.concurrentUploaders),i.length>=1)throw await this.markUploadAsAborted(),i[0];if(this.abortController.signal.aborted)throw await this.markUploadAsAborted(),Object.assign(Error("Upload aborted."),{name:"AbortError"});if(this.isMultiPart){let{expectedPartsCount:n,uploadedParts:i,totalBytes:t,totalBytesSource:a}=this;if(void 0!==t&&void 0!==n&&i.length!==n)throw Error(`Expected ${n} part(s) but uploaded ${i.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,n)=>e.PartNumber-n.PartNumber);let u={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new CX(u)),"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 CH({...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((n,i)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",i(e)}})}__validateUploadPart(e){let n=C_(e.data);if(void 0===n)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&&n!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${n} 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<CK.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${CK.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var C$=["\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"],CW=[" "," "," "," "," "," "," "," "," "," "," "," ",null,null,null,null,"-","-","-","-","--","--","||","_","'","'",",","'",'"','"',",,",'"',"+","++","*","*>",".","..","...",".",`
78
+ `);this.uploadedParts.sort((e,n)=>e.PartNumber-n.PartNumber);let u={...this.params,Body:void 0,UploadId:this.uploadId,MultipartUpload:{Parts:this.uploadedParts}};e=await this.client.send(new CX(u)),"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 CH({...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((n,i)=>{e.onabort=()=>{let e=Error("Upload aborted.");e.name="AbortError",i(e)}})}__validateUploadPart(e){let n=CF(e.data);if(void 0===n)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&&n!==this.partSize)throw Error(`The byte size for part number ${e.partNumber}, size ${n} 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<CK.MIN_PART_SIZE)throw Error(`EntityTooSmall: Your proposed upload part size [${this.partSize}] is smaller than the minimum allowed size [${CK.MIN_PART_SIZE}] (5MB)`);if(this.queueSize<1)throw Error("Queue size: Must have at least one uploading queue.")}}var C$=["\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"],CU=[" "," "," "," "," "," "," "," "," "," "," "," ",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"],CU=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],Cz=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],Cj=["","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"],Cq=[];Cq[0]=C$,Cq[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"],Cq[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","=",'"'],Cq[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"],Cq[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"],Cq[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","'",'"'],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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+"],Cq[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"],Cq[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"," . "],Cq[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"],Cq[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) "],Cq[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," // "],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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","'"],Cq[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"],Cq[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","'","`"],Cq[32]=CW,Cq[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","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],Cq[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],Cq[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]"],Cq[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,'"','"'],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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,"\\","$","%","@"],Cq[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 CV={};for(let e=0;e<Cq.length;e++){let n=Cq[e];if(n)for(let i=0;i<n.length;i++){let t=n[i];t&&(CV[String.fromCharCode((e<<8)+i)]=t)}}for(let e=44032;e<=55203;e++){let n=e-44032;CV[String.fromCharCode(e)]=CU[n/588|0]+Cz[n%588/28|0]+Cj[n%28]}var C0=/[-[\]/{}()*+?.\\^$|]/g,C1=/[\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]/,C3=/[\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 C2(e){return(e||"").replace(C0,"\\$&")}function C4(e){if(Array.isArray(e))return e.map(e=>C4(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 n={};for(let i in e)Object.hasOwn(e,i)&&(n[i]=C4(e[i]));return n}return e}function C6(e,n){if(0===n.length)return!1;let i=0,t=n.length-1;for(;i<=t;){var a;let u=i+t>>>1,o=e<(a=n[u])[0]?-1:1*!!(e>a[1]);if(0===o)return!0;-1===o?t=u-1:i=u+1}return!1}function C8(e,n,i,t=[]){let a=t.length?RegExp(t.map(C2).join("|"),"g"):null,u=RegExp(n.source,`${n.flags.replace("g","")}g`),o="",r=0;for(;;){let n=u.exec(e),t="",s=0;if(n){for(;;){let e=a?.exec(n[0]);if(e&&a)t+=e.index>s?i:"",t+=e[0],s=a.lastIndex;else{t+=n[0].length>s?i:"";break}}o+=e.substring(r,n.index)+t,r=u.lastIndex}else{o+=e.substring(r,e.length);break}}return o}var C5=/[\uD800-\uDBFF]/,C7=/[\uDC00-\uDFFF]/,C9=/[^\s\S]/,we={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},wn=class{get options(){return C4({...we,...this.confOptions})}constructor(e=C4(we),n=CV){this.confOptions=e,this.map=n}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C4(e)),this.confOptions}codeMapReplace(e,n,i=[]){var t;let a=0,u="",o=n.fixChineseSpacing&&C1.test(e),r=!1;for(let s=0;s<e.length;s++){let l=C5.test(e[s])&&C7.test(e[s+1])?e[s]+e[s+1]:e[s],h,g=!1;C6(a,i)||2===l.length&&C6(a+1,i)?(h=l,i.find(e=>e[1]>=a&&e[0]===a)||(g=!0)):h=this.map[l]||n.unknown||"",o&&(!r||g||(t=h,C3.test(t))||(h=` ${h}`),r=!!h&&C1.test(l)),u+=h,a+=l.length,s+=l.length-1}return u}formatReplaceOption(e){if(Array.isArray(e))return C4(e);let n=[];for(let i in e)Object.hasOwn(e,i)&&n.push([i,e[i]]);return n}replaceString(e,n,i=[]){let t=C4(n),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(C2(e[0]),"g");break;default:e[0]=C9}a=C8(a,e[0],e[1],i)}return a}setData(e,n=!1){if(n&&(this.map=C4(CV)),e&&"object"==typeof e&&Object.keys(e).length)for(let n in this.map=C4(this.map),e)Object.hasOwn(e,n)&&n.length<3&&n<="\uDBFF\uDFFF"&&(this.map[n]=e[n]);return this.map}transliterate(e,n){let i=C4({...this.options,..."object"==typeof n?n:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(i.replace);a.length&&(t=this.replaceString(t,a,i.ignore));let u=i.ignore&&i.ignore.length>0?function(e,n){let i,t=[];for(let i of n){let n=e.indexOf(i);for(;n>-1;)t.push([n,n+i.length-1]),n=e.indexOf(i,n+1)}let a=t.sort((e,n)=>e[0]-n[0]||e[1]-n[1]);for(let e of(t=[],a))!i||e[0]>i[1]+1?(i=e,t.push(i)):e[1]>i[1]&&(i[1]=e[1]);return t}(t,i.ignore):[];t=this.codeMapReplace(t,i,u),i.trim&&(t=t.trim());let o=this.formatReplaceOption(i.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},wi={...C4(we),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},wt=class extends wn{get options(){return C4({...wi,...this.confOptions})}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C4(e)),this.confOptions}slugify(e,n){let i=C4({...this.options,..."object"==typeof n?n:{}}),t=i.separator?C2(i.separator):"",a=this.transliterate(e,i);return a=C8(a,RegExp(`[^${i.allowedChars}]+`,"g"),i.separator??"-",i.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),i.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),i.lowercase&&(a=a.toLowerCase()),i.uppercase&&(a=a.toUpperCase()),a}},wa=new wn,wu=wa.transliterate.bind(wa);wu.config=wa.config.bind(wa),wu.setData=wa.setData.bind(wa);var wo=new wt,wr=wo.slugify.bind(wo);wr.config=wo.config.bind(wo),wr.setData=wo.setData.bind(wo);class ws{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let wl=/^[A-Za-z0-9._\-/]+$/;function wh(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class wg{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||ws.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new b6({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async n=>{let i=wh();return i&&n.request?.headers&&(n.request.headers["x-storage-token"]=i),e(n)},{step:"build",name:"injectStorageToken"})}return this.client}generateObjectKey(e){let n=tU.default.extname(e).toLowerCase(),i=tU.default.basename(e,n),t=(0,uI.randomUUID)().replace(/-/g,"").slice(0,8);return tU.default.join(tU.default.dirname(e),`${i}_${t}${n}`)}resolveBucket(e){let n=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!n)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return n}sanitizeFileName(e){if(!e||!e.trim())return"file";let n=e.split("/").filter(e=>e.trim()).map(e=>{let n=e.lastIndexOf("."),i=n>0,t=i?e.slice(n):"",a=wu(i?e.slice(0,n):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(n,"utf-8")>1024&&(n=n.slice(0,1e3)),n}async uploadFile(e){let{fileContent:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=this.resolveBucket(a);return await o.send(new CY({Bucket:s,Key:r,Body:n,ContentType:t})),r}async readFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i),u=await t.send(new Cv({Bucket:a,Key:n}));if(!u.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of u.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);return await t.send(new CN({Bucket:a,Key:n})),!0}async fileExists(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);try{return await t.send(new CA({Bucket:a,Key:n})),!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:n,bucket:i,maxKeys:t=ws.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let u=this.getClient(),o=this.resolveBucket(i),r=await u.send(new CJ({Bucket:o,MaxKeys:t,Prefix:n,ContinuationToken:a}));return{keys:(r.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:r.IsTruncated||!1,nextContinuationToken:r.NextContinuationToken}}async generatePresignedUrl(e){let{key:n,bucket:i,expireTime:t=ws.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=wh();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let u=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!u)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=u.replace(/\/$/,"")+"/sign-url",r=this.resolveBucket(i),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:r,path:n,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:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new CK({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:n,ContentType:t}});return await s.done(),r}async uploadFromUrl(e){let{url:n,bucket:i,timeout:t=ws.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,u=setTimeout(()=>a.abort(),t);try{let e=await fetch(n,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(n),u=tU.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",r=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:r,fileName:u,contentType:o,bucket:i})}finally{clearTimeout(u)}}async chunkUploadFile(e){let{chunks:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new CK({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:A.from(n),ContentType:t}});return await s.done(),r}}let wc={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class wd extends eY{model;constructor(e,n,i=!1){super(e,n,i),this.model=wc.defaultModel}validateInputs(e,n,i){let t=e&&e.length>0,a=n&&n.length>0,u=i&&i.length>0;if(!t&&!a&&!u)throw new eE("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(n?.length||0)+(i?.length||0);if(o>wc.maxBatchSize)throw new eE(`Total inputs (${o}) exceed maximum batch size of ${wc.maxBatchSize}`)}buildInputItems(e,n,i){let t=[];if(e)for(let n of e)n&&n.trim()&&t.push({type:"text",text:n});if(n)for(let e of n)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(i)for(let e of i)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,n,i,t){this.validateInputs(e,n,i);let a=this.buildInputItems(e,n,i);if(0===a.length)throw new eE("No valid input provided");let u={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(u.dimensions=t.dimensions),t?.encodingFormat&&(u.encoding_format=t.encodingFormat),t?.instructions&&(u.instructions=t.instructions),t?.multiEmbedding&&(u.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(u.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,u);if(o.error)throw new ex(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,n){let i=await this.embed([e],void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedTexts(e,n){let i=await this.embed(e,void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedImage(e,n){let i=await this.embed(void 0,[e],void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedImages(e,n){let i=await this.embed(void 0,e,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedVideo(e,n){let i=await this.embed(void 0,void 0,[e],n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedVideos(e,n){let i=await this.embed(void 0,void 0,e,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedMultimodal(e,n,i,t){return this.embed(e,n,i,t)}async embedWithMultiVectors(e,n,i,t){let a=await this.embed(e,n,i,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,n,i,t){let a=await this.embed(e,n,i,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,n,i=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,i).map(e=>this.embed(e,void 0,void 0,n)),u=await Promise.all(e);t.push(...u)}return t}}var wp=eC.ContentPart,wf=ey.CozeConfig,wm=eb.EmbedOptions,wy=eb.EmbeddingConfig,wS=eb.EmbeddingData,wb=eb.EmbeddingInputImageURL,wC=eb.EmbeddingInputItem,ww=eb.EmbeddingInputVideoURL,wT=eb.EmbeddingRequest,wx=eb.EmbeddingResponse,wL=eb.EmbeddingUsage,wE=eS.ForwardHeaderKey,wY=eC.LLMConfig,wD=eC.LLMResponse,wZ=eC.Message,wv=eb.MultiEmbeddingConfig,wN=eb.PromptTokensDetails,wA=eb.SparseEmbeddingConfig,wJ=eb.SparseEmbeddingItem;export{ex as APIError,eQ as ASRClient,y3 as AwsSdkSigV4Signer,eY as BaseClient,u6 as Client,ew as Config,eT as ConfigurationError,wp as ContentPart,wf as CozeConfig,ui as CredentialsProviderError,wc as DEFAULT_EMBEDDING_CONFIG,uE as DEFAULT_RETRY_MODE,tH as DatabaseConfig,aV as DefaultIdentityProviderConfig,wm as EmbedOptions,wd as EmbeddingClient,wy as EmbeddingConfig,wS as EmbeddingData,wb as EmbeddingInputImageURL,wC as EmbeddingInputItem,ww as EmbeddingInputVideoURL,wT as EmbeddingRequest,wx as EmbeddingResponse,wL as EmbeddingUsage,oV as EndpointCache,wl as FILE_NAME_ALLOWED_RE,eD as FORWARD_HEADER_KEYS,wE as ForwardHeaderKey,eK as FrameExtractorClient,yY as Hash,eZ as HeaderUtils,Sg as HttpBindingProtocol,S9 as HttpInterceptingShapeDeserializer,SW as HttpInterceptingShapeSerializer,Sh as HttpProtocol,tV as HttpRequest,ev as ImageConfig,eM as ImageGenerationClient,eJ as ImageGenerationResponseHelper,ej as KnowledgeClient,eU as LLMClient,wY as LLMConfig,eW as LLMDefaults,wD as LLMResponse,wZ as Message,wv as MultiEmbeddingConfig,mj as NODE_APP_ID_CONFIG_OPTIONS,mH as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,uk as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,mV as NODE_REGION_CONFIG_FILE_OPTIONS,mq as NODE_REGION_CONFIG_OPTIONS,u_ as NODE_RETRY_MODE_CONFIG_OPTIONS,m0 as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,m1 as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,eL as NetworkError,uQ as NoOpLogger,yM as NodeHttpHandler,hg as NormalizedSchema,S5 as NumericValue,wN as PromptTokensDetails,be as ProtocolLib,ue as ProviderError,ws as S3Config,wg as S3Storage,eH as SearchClient,bn as SerdeContextConfig,hw as ServiceException,wA as SparseEmbeddingConfig,wJ as SparseEmbeddingItem,e_ as TTSClient,eB as TTSConfig,hC as TypeRegistry,bI as UnionSerde,eE as ValidationError,eI as VideoConfig,e$ as VideoEditClient,eG as VideoEditConfig,eO as VideoGenerationClient,bO as XmlShapeDeserializer,aB as awsEndpointFunctions,C as axios,eF as buildASRApiRequest,eP as buildImageGenerationApiRequest,ek as buildTTSApiRequest,yI as calculateBodyLength,un as chain_chain,t$ as closePool,Sr as collect_stream_body_collectBody,hy as command_Command,eX as convertFromApiFormat,eR as convertToApiFormat,mz as createDefaultUserAgentProvider,aA as customEndpointFunctions,SL as dateToUtcString,hl as deref,bW as deserializingStructIterator,SK as determineTimestampFormat,uT as dist_es_parseUrl,Sn as dist_es_toUtf8_toUtf8,mP as emitWarningIfUnsupportedVersion,yF as emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,Y as exec,Ss as extendedEncodeURIComponent,P as external_buffer_Buffer,H as external_http_request,up as fileIntercept,y8 as fromBase64,mF as fromEnv_fromEnv,oo as fromUtf8_fromUtf8,tj as generateModels,bV as getAwsRegionExtensionConfiguration,tK as getClient,ul as getConfigFilepath,a7 as getContentLengthPlugin,tG as getDb,tF as getDbUrl,b2 as getDefaultExtensionConfiguration,hs as getEndpointPlugin,us as getHomeDir,t9 as getHostHeaderPlugin,aq as getHttpAuthSchemeEndpointRuleSetPlugin,b1 as getHttpHandlerExtensionConfiguration,aY as getHttpSigningPlugin,an as getLoggerPlugin,tO as getPool,uu as getProfileName,al as getRecursionDetectionPlugin,uq as getRetryPlugin,a6 as getSchemaSerdePlugin,aL as getSmithyContext,a$ as getUserAgentPlugin,SG as lazy_json_LazyJsonString,uS as loadConfig,y_ as loadConfigsForDefaultMode,tk as loadEnv,uy as loadSharedConfigFiles,ez as DataSourceType,t1 as normalizeProvider,SP as parseEpochTimestamp,uc as parseIni,SY as parseRfc3339DateTime,SZ as parseRfc3339DateTimeWithOffset,SJ as parseRfc7231DateTime,el as profile_IniSectionType,uf as readFile_readFile,b0 as resolveAwsRegionExtensionConfiguration,oB as resolveAwsSdkSigV4Config,b4 as resolveDefaultRuntimeConfig,yW as resolveDefaultsModeConfig,rl as resolveEndpoint,uL as resolveEndpointConfig,t5 as resolveHostHeaderConfig,b3 as resolveHttpHandlerRuntimeConfig,az as resolveRegionConfig,uF as resolveRetryConfig,aN as resolveUserAgentConfig,Su as sdk_stream_mixin_sdkStreamMixin,b$ as serializingStructIterator,u8 as setCredentialFeature,yX as streamCollector,Se as toBase64,tq as upgrade,uK as v4,eN as validateImageSize,eA as validateImageSizeOrDefault};
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"],CW=["g","gg","n","d","dd","r","m","b","bb","s","ss","","j","jj","c","k","t","p","h"],Cz=["a","ae","ya","yae","eo","e","yeo","ye","o","wa","wae","oe","yo","u","weo","we","wi","yu","eu","yi","i"],Cj=["","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"],Cq=[];Cq[0]=C$,Cq[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"],Cq[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","=",'"'],Cq[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"],Cq[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"],Cq[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","'",'"'],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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+"],Cq[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"],Cq[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"," . "],Cq[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"],Cq[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) "],Cq[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," // "],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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","'"],Cq[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"],Cq[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","'","`"],Cq[32]=CU,Cq[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","^","-","-","|","|","-","-","|","|","=","|","=","=","|","=","|","=","=","=","=","=","=","|","=","|","=","|","\\","/","\\","/","=","=","~","~","|","|","-","|","-","|","-","-","-","|","-","|","|","|","|","|","|","|","-","\\","\\","|"],Cq[37]=["-","-","|","|","-","-","|","|","-","-","|","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","-","-","|","|","-","|","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","+","/","\\","X","-","|","-","|","-","|","-","|","-","|","-","|","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","-","|",null,null,null,null,null,null,null,null,null,null,"#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","^","^","^","^",">",">",">",">",">",">","V","V","V","V","<","<","<","<","<","<","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","*","#","#","#","#","#","^","^","^","O","#","#","#","#","#","#","#","#"],Cq[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]"],Cq[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,'"','"'],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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"],Cq[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,"\\","$","%","@"],Cq[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 CV={};for(let e=0;e<Cq.length;e++){let n=Cq[e];if(n)for(let i=0;i<n.length;i++){let t=n[i];t&&(CV[String.fromCharCode((e<<8)+i)]=t)}}for(let e=44032;e<=55203;e++){let n=e-44032;CV[String.fromCharCode(e)]=CW[n/588|0]+Cz[n%588/28|0]+Cj[n%28]}var C0=/[-[\]/{}()*+?.\\^$|]/g,C1=/[\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]/,C3=/[\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 C2(e){return(e||"").replace(C0,"\\$&")}function C4(e){if(Array.isArray(e))return e.map(e=>C4(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 n={};for(let i in e)Object.hasOwn(e,i)&&(n[i]=C4(e[i]));return n}return e}function C6(e,n){if(0===n.length)return!1;let i=0,t=n.length-1;for(;i<=t;){var a;let u=i+t>>>1,o=e<(a=n[u])[0]?-1:1*!!(e>a[1]);if(0===o)return!0;-1===o?t=u-1:i=u+1}return!1}function C8(e,n,i,t=[]){let a=t.length?RegExp(t.map(C2).join("|"),"g"):null,u=RegExp(n.source,`${n.flags.replace("g","")}g`),o="",r=0;for(;;){let n=u.exec(e),t="",s=0;if(n){for(;;){let e=a?.exec(n[0]);if(e&&a)t+=e.index>s?i:"",t+=e[0],s=a.lastIndex;else{t+=n[0].length>s?i:"";break}}o+=e.substring(r,n.index)+t,r=u.lastIndex}else{o+=e.substring(r,e.length);break}}return o}var C5=/[\uD800-\uDBFF]/,C7=/[\uDC00-\uDFFF]/,C9=/[^\s\S]/,we={ignore:[],replace:[],replaceAfter:[],trim:!1,unknown:"",fixChineseSpacing:!0},wn=class{get options(){return C4({...we,...this.confOptions})}constructor(e=C4(we),n=CV){this.confOptions=e,this.map=n}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C4(e)),this.confOptions}codeMapReplace(e,n,i=[]){var t;let a=0,u="",o=n.fixChineseSpacing&&C1.test(e),r=!1;for(let s=0;s<e.length;s++){let l=C5.test(e[s])&&C7.test(e[s+1])?e[s]+e[s+1]:e[s],h,g=!1;C6(a,i)||2===l.length&&C6(a+1,i)?(h=l,i.find(e=>e[1]>=a&&e[0]===a)||(g=!0)):h=this.map[l]||n.unknown||"",o&&(!r||g||(t=h,C3.test(t))||(h=` ${h}`),r=!!h&&C1.test(l)),u+=h,a+=l.length,s+=l.length-1}return u}formatReplaceOption(e){if(Array.isArray(e))return C4(e);let n=[];for(let i in e)Object.hasOwn(e,i)&&n.push([i,e[i]]);return n}replaceString(e,n,i=[]){let t=C4(n),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(C2(e[0]),"g");break;default:e[0]=C9}a=C8(a,e[0],e[1],i)}return a}setData(e,n=!1){if(n&&(this.map=C4(CV)),e&&"object"==typeof e&&Object.keys(e).length)for(let n in this.map=C4(this.map),e)Object.hasOwn(e,n)&&n.length<3&&n<="\uDBFF\uDFFF"&&(this.map[n]=e[n]);return this.map}transliterate(e,n){let i=C4({...this.options,..."object"==typeof n?n:{}}),t="string"==typeof e?e:String(e),a=this.formatReplaceOption(i.replace);a.length&&(t=this.replaceString(t,a,i.ignore));let u=i.ignore&&i.ignore.length>0?function(e,n){let i,t=[];for(let i of n){let n=e.indexOf(i);for(;n>-1;)t.push([n,n+i.length-1]),n=e.indexOf(i,n+1)}let a=t.sort((e,n)=>e[0]-n[0]||e[1]-n[1]);for(let e of(t=[],a))!i||e[0]>i[1]+1?(i=e,t.push(i)):e[1]>i[1]&&(i[1]=e[1]);return t}(t,i.ignore):[];t=this.codeMapReplace(t,i,u),i.trim&&(t=t.trim());let o=this.formatReplaceOption(i.replaceAfter);return o.length&&(t=this.replaceString(t,o)),t}},wi={...C4(we),allowedChars:"a-zA-Z0-9-_.~",lowercase:!0,separator:"-",uppercase:!1,fixChineseSpacing:!0},wt=class extends wn{get options(){return C4({...wi,...this.confOptions})}config(e,n=!1){return n&&(this.confOptions={}),e&&"object"==typeof e&&(this.confOptions=C4(e)),this.confOptions}slugify(e,n){let i=C4({...this.options,..."object"==typeof n?n:{}}),t=i.separator?C2(i.separator):"",a=this.transliterate(e,i);return a=C8(a,RegExp(`[^${i.allowedChars}]+`,"g"),i.separator??"-",i.ignore??[]),t&&(a=(a=a.replace(RegExp(`${t}+`,"g"),i.separator)).replace(RegExp(`^${t}+|${t}+$`,"g"),"")),i.lowercase&&(a=a.toLowerCase()),i.uppercase&&(a=a.toUpperCase()),a}},wa=new wn,wu=wa.transliterate.bind(wa);wu.config=wa.config.bind(wa),wu.setData=wa.setData.bind(wa);var wo=new wt,wr=wo.slugify.bind(wo);wr.config=wo.config.bind(wo),wr.setData=wo.setData.bind(wo);class ws{static DEFAULT_REGION="cn-beijing";static DEFAULT_MAX_KEYS=1e3;static DEFAULT_PRESIGNED_EXPIRE_TIME=86400;static DEFAULT_UPLOAD_TIMEOUT=3e4}let wl=/^[A-Za-z0-9._\-/]+$/;function wh(){return process.env.COZE_WORKLOAD_IDENTITY_API_KEY||null}class wg{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||ws.DEFAULT_REGION}getClient(){if(!this.client){if(!this.endpointUrl)throw Error("Storage endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");this.client=new b6({endpoint:this.endpointUrl,region:this.region,credentials:{accessKeyId:this.accessKey,secretAccessKey:this.secretKey},forcePathStyle:!0}),this.client.middlewareStack.add(e=>async n=>{let i=wh();return i&&n.request?.headers&&(n.request.headers["x-storage-token"]=i),e(n)},{step:"build",name:"injectStorageToken"})}return this.client}generateObjectKey(e){let n=tW.default.extname(e).toLowerCase(),i=tW.default.basename(e,n),t=(0,uI.randomUUID)().replace(/-/g,"").slice(0,8);return tW.default.join(tW.default.dirname(e),`${i}_${t}${n}`)}resolveBucket(e){let n=e||process.env.COZE_BUCKET_NAME||this.bucketName;if(!n)throw Error("Bucket not configured: Provide bucket or set COZE_BUCKET_NAME");return n}sanitizeFileName(e){if(!e||!e.trim())return"file";let n=e.split("/").filter(e=>e.trim()).map(e=>{let n=e.lastIndexOf("."),i=n>0,t=i?e.slice(n):"",a=wu(i?e.slice(0,n):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(n,"utf-8")>1024&&(n=n.slice(0,1e3)),n}async uploadFile(e){let{fileContent:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=this.resolveBucket(a);return await o.send(new CY({Bucket:s,Key:r,Body:n,ContentType:t})),r}async readFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i),u=await t.send(new Cv({Bucket:a,Key:n}));if(!u.Body)throw Error("S3 GetObject returned no Body");let o=[];for await(let e of u.Body)o.push(Buffer.from(e));return Buffer.concat(o)}async deleteFile(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);return await t.send(new CN({Bucket:a,Key:n})),!0}async fileExists(e){let{fileKey:n,bucket:i}=e,t=this.getClient(),a=this.resolveBucket(i);try{return await t.send(new CA({Bucket:a,Key:n})),!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:n,bucket:i,maxKeys:t=ws.DEFAULT_MAX_KEYS,continuationToken:a}=e;if(t<=0||t>1e3)throw Error("maxKeys must be between 1 and 1000");let u=this.getClient(),o=this.resolveBucket(i),r=await u.send(new CJ({Bucket:o,MaxKeys:t,Prefix:n,ContinuationToken:a}));return{keys:(r.Contents||[]).filter(e=>e.Key).map(e=>e.Key),isTruncated:r.IsTruncated||!1,nextContinuationToken:r.NextContinuationToken}}async generatePresignedUrl(e){let{key:n,bucket:i,expireTime:t=ws.DEFAULT_PRESIGNED_EXPIRE_TIME}=e,a=wh();if(!a)throw Error("Failed to get x-storage-token: Set COZE_WORKLOAD_IDENTITY_API_KEY");let u=process.env.COZE_BUCKET_ENDPOINT_URL||this.endpointUrl;if(!u)throw Error("Sign endpoint not configured: Set COZE_BUCKET_ENDPOINT_URL");let o=u.replace(/\/$/,"")+"/sign-url",r=this.resolveBucket(i),s=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","x-storage-token":a},body:JSON.stringify({bucket_name:r,path:n,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:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new CK({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:n,ContentType:t}});return await s.done(),r}async uploadFromUrl(e){let{url:n,bucket:i,timeout:t=ws.DEFAULT_UPLOAD_TIMEOUT}=e,a=new AbortController,u=setTimeout(()=>a.abort(),t);try{let e=await fetch(n,{signal:a.signal});if(!e.ok)throw Error(`Failed to fetch URL: ${e.status}`);let t=new URL(n),u=tW.default.basename(decodeURIComponent(t.pathname))||"file",o=e.headers.get("content-type")||"application/octet-stream",r=Buffer.from(await e.arrayBuffer());return this.uploadFile({fileContent:r,fileName:u,contentType:o,bucket:i})}finally{clearTimeout(u)}}async chunkUploadFile(e){let{chunks:n,fileName:i,contentType:t="application/octet-stream",bucket:a}=e,u=this.sanitizeFileName(i),o=this.getClient(),r=this.generateObjectKey(u),s=new CK({client:o,params:{Bucket:this.resolveBucket(a),Key:r,Body:A.from(n),ContentType:t}});return await s.done(),r}}let wc={defaultModel:"doubao-embedding-vision-251215",defaultEncodingFormat:"float",maxBatchSize:100};class wd extends eY{model;constructor(e,n,i=!1){super(e,n,i),this.model=wc.defaultModel}validateInputs(e,n,i){let t=e&&e.length>0,a=n&&n.length>0,u=i&&i.length>0;if(!t&&!a&&!u)throw new eE("At least one of texts, imageUrls, or videoUrls must be provided");let o=(e?.length||0)+(n?.length||0)+(i?.length||0);if(o>wc.maxBatchSize)throw new eE(`Total inputs (${o}) exceed maximum batch size of ${wc.maxBatchSize}`)}buildInputItems(e,n,i){let t=[];if(e)for(let n of e)n&&n.trim()&&t.push({type:"text",text:n});if(n)for(let e of n)e&&e.trim()&&t.push({type:"image_url",image_url:{url:e}});if(i)for(let e of i)e&&e.trim()&&t.push({type:"video_url",video_url:{url:e}});return t}async embed(e,n,i,t){this.validateInputs(e,n,i);let a=this.buildInputItems(e,n,i);if(0===a.length)throw new eE("No valid input provided");let u={model:t?.model||this.model,input:a};t?.dimensions!==void 0&&(u.dimensions=t.dimensions),t?.encodingFormat&&(u.encoding_format=t.encodingFormat),t?.instructions&&(u.instructions=t.instructions),t?.multiEmbedding&&(u.multi_embedding={type:"enabled"}),t?.sparseEmbedding&&(u.sparse_embedding={type:"enabled"});let o=await this.request("POST",`${this.config.baseUrl}/api/v3/embeddings/multimodal`,u);if(o.error)throw new ex(o.error.message||"Unknown error",void 0,o.error);return o}async embedText(e,n){let i=await this.embed([e],void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedTexts(e,n){let i=await this.embed(e,void 0,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedImage(e,n){let i=await this.embed(void 0,[e],void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedImages(e,n){let i=await this.embed(void 0,e,void 0,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedVideo(e,n){let i=await this.embed(void 0,void 0,[e],n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedVideos(e,n){let i=await this.embed(void 0,void 0,e,n);if(i.data?.embedding)return i.data.embedding;throw new ex("No embedding returned")}async embedMultimodal(e,n,i,t){return this.embed(e,n,i,t)}async embedWithMultiVectors(e,n,i,t){let a=await this.embed(e,n,i,{...t,multiEmbedding:!0});return a.data?.multi_embedding}async embedWithSparse(e,n,i,t){let a=await this.embed(e,n,i,{...t,sparseEmbedding:!0});return a.data?.sparse_embedding}async batchEmbed(e,n,i=5){let t=[],a=[...e];for(;a.length>0;){let e=a.splice(0,i).map(e=>this.embed(e,void 0,void 0,n)),u=await Promise.all(e);t.push(...u)}return t}}function wp(e){let n;return e.image&&(n={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:n}}function wf(e){return{no_display:e.no_display,no_display_reason:e.no_display_reason}}class wm extends eY{constructor(e,n,i=!1){super(e,n,i)}async fetch(e){let n,i=await this.request("POST",`${this.config.baseUrl}/api/v1/integration/fetch_tool`,{url:e});if(i.code&&0!==i.code)throw new ex(`Fetch failed: ${i.message||"Unknown error"}`,i.code,i.message);let t=i.data||i,a=[];if(t.content)for(let e of t.content)a.push(wp(e));return t.display_info&&(n=wf(t.display_info)),{fetch_id:t.fetch_id,status_code:t.status_code,status_message:t.status_message,url:t.url,doc_id:t.doc_id,title:t.title,publish_time:t.publish_time,filetype:t.filetype,content:a,display_info:n}}}var wy=eC.ContentPart,wS=ey.CozeConfig,wb=eb.EmbedOptions,wC=eb.EmbeddingConfig,ww=eb.EmbeddingData,wT=eb.EmbeddingInputImageURL,wx=eb.EmbeddingInputItem,wL=eb.EmbeddingInputVideoURL,wE=eb.EmbeddingRequest,wY=eb.EmbeddingResponse,wD=eb.EmbeddingUsage,wZ=eS.ForwardHeaderKey,wv=eC.LLMConfig,wN=eC.LLMResponse,wA=eC.Message,wJ=eb.MultiEmbeddingConfig,wP=eb.PromptTokensDetails,wM=eb.SparseEmbeddingConfig,wR=eb.SparseEmbeddingItem;export{ex as APIError,eQ as ASRClient,y3 as AwsSdkSigV4Signer,eY as BaseClient,u6 as Client,ew as Config,eT as ConfigurationError,wy as ContentPart,wS as CozeConfig,ui as CredentialsProviderError,wc as DEFAULT_EMBEDDING_CONFIG,uE as DEFAULT_RETRY_MODE,tH as DatabaseConfig,aV as DefaultIdentityProviderConfig,wb as EmbedOptions,wd as EmbeddingClient,wC as EmbeddingConfig,ww as EmbeddingData,wT as EmbeddingInputImageURL,wx as EmbeddingInputItem,wL as EmbeddingInputVideoURL,wE as EmbeddingRequest,wY as EmbeddingResponse,wD as EmbeddingUsage,oV as EndpointCache,wl as FILE_NAME_ALLOWED_RE,eD as FORWARD_HEADER_KEYS,wm as FetchClient,wZ as ForwardHeaderKey,eK as FrameExtractorClient,yY as Hash,eZ as HeaderUtils,Sg as HttpBindingProtocol,S9 as HttpInterceptingShapeDeserializer,SU as HttpInterceptingShapeSerializer,Sh as HttpProtocol,tV as HttpRequest,ev as ImageConfig,eM as ImageGenerationClient,eJ as ImageGenerationResponseHelper,ej as KnowledgeClient,eW as LLMClient,wv as LLMConfig,eU as LLMDefaults,wN as LLMResponse,wA as Message,wJ as MultiEmbeddingConfig,mj as NODE_APP_ID_CONFIG_OPTIONS,mH as NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,uk as NODE_MAX_ATTEMPT_CONFIG_OPTIONS,mV as NODE_REGION_CONFIG_FILE_OPTIONS,mq as NODE_REGION_CONFIG_OPTIONS,uF as NODE_RETRY_MODE_CONFIG_OPTIONS,m0 as NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,m1 as NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,eL as NetworkError,uQ as NoOpLogger,yM as NodeHttpHandler,hg as NormalizedSchema,S5 as NumericValue,wP as PromptTokensDetails,be as ProtocolLib,ue as ProviderError,ws as S3Config,wg as S3Storage,eH as SearchClient,bn as SerdeContextConfig,hw as ServiceException,wM as SparseEmbeddingConfig,wR as SparseEmbeddingItem,eF as TTSClient,eB as TTSConfig,hC as TypeRegistry,bI as UnionSerde,eE as ValidationError,eI as VideoConfig,e$ as VideoEditClient,eG as VideoEditConfig,eO as VideoGenerationClient,bO as XmlShapeDeserializer,aB as awsEndpointFunctions,C as axios,e_ as buildASRApiRequest,eP as buildImageGenerationApiRequest,ek as buildTTSApiRequest,yI as calculateBodyLength,un as chain_chain,t$ as closePool,Sr as collect_stream_body_collectBody,hy as command_Command,wp as convertContentItem,wf as convertDisplayInfo,eX as convertFromApiFormat,eR as convertToApiFormat,mz as createDefaultUserAgentProvider,aA as customEndpointFunctions,SL as dateToUtcString,hl as deref,bU as deserializingStructIterator,SK as determineTimestampFormat,uT as dist_es_parseUrl,Sn as dist_es_toUtf8_toUtf8,mP as emitWarningIfUnsupportedVersion,y_ as emitWarningIfUnsupportedVersion_emitWarningIfUnsupportedVersion,Y as exec,Ss as extendedEncodeURIComponent,P as external_buffer_Buffer,H as external_http_request,up as fileIntercept,y8 as fromBase64,m_ as fromEnv_fromEnv,oo as fromUtf8_fromUtf8,tj as generateModels,bV as getAwsRegionExtensionConfiguration,tK as getClient,ul as getConfigFilepath,a7 as getContentLengthPlugin,tG as getDb,t_ as getDbUrl,b2 as getDefaultExtensionConfiguration,hs as getEndpointPlugin,us as getHomeDir,t9 as getHostHeaderPlugin,aq as getHttpAuthSchemeEndpointRuleSetPlugin,b1 as getHttpHandlerExtensionConfiguration,aY as getHttpSigningPlugin,an as getLoggerPlugin,tO as getPool,uu as getProfileName,al as getRecursionDetectionPlugin,uq as getRetryPlugin,a6 as getSchemaSerdePlugin,aL as getSmithyContext,a$ as getUserAgentPlugin,SG as lazy_json_LazyJsonString,uS as loadConfig,yF as loadConfigsForDefaultMode,tk as loadEnv,uy as loadSharedConfigFiles,ez as DataSourceType,t1 as normalizeProvider,SP as parseEpochTimestamp,uc as parseIni,SY as parseRfc3339DateTime,SZ as parseRfc3339DateTimeWithOffset,SJ as parseRfc7231DateTime,el as profile_IniSectionType,uf as readFile_readFile,b0 as resolveAwsRegionExtensionConfiguration,oB as resolveAwsSdkSigV4Config,b4 as resolveDefaultRuntimeConfig,yU as resolveDefaultsModeConfig,rl as resolveEndpoint,uL as resolveEndpointConfig,t5 as resolveHostHeaderConfig,b3 as resolveHttpHandlerRuntimeConfig,az as resolveRegionConfig,u_ as resolveRetryConfig,aN as resolveUserAgentConfig,Su as sdk_stream_mixin_sdkStreamMixin,b$ as serializingStructIterator,u8 as setCredentialFeature,yX as streamCollector,Se as toBase64,tq as upgrade,uK as v4,eN as validateImageSize,eA as validateImageSizeOrDefault};