cdk-cost-analyzer 0.1.52 → 0.1.53
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/.cdk-cost-analyzer-cache/metadata.json +8 -8
- package/dist/action/index.js +1 -1
- package/dist/action/utils/suppressNodeWarnings.d.ts +8 -0
- package/dist/cli/index.js +3 -1
- package/dist/releasetag.txt +1 -1
- package/dist/utils/suppressNodeWarnings.d.ts +8 -0
- package/dist/utils/suppressNodeWarnings.js +22 -0
- package/package.json +1 -1
package/dist/action/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
(()=>{var e={4914:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const d=a(n(857));const h=n(302);function issueCommand(e,t,n){const o=new Command(e,t,n);process.stdout.write(o.toString()+d.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const m="::";class Command{constructor(e,t,n){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=n}toString(){let e=m+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const n in this.properties){if(this.properties.hasOwnProperty(n)){const o=this.properties[n];if(o){if(t){t=false}else{e+=","}e+=`${n}=${escapeProperty(o)}`}}}}e+=`${m}${escapeData(this.message)}`;return e}}function escapeData(e){return(0,h.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return(0,h.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},7484:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.platform=t.toPlatformPath=t.toWin32Path=t.toPosixPath=t.markdownSummary=t.summary=t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const h=n(4914);const m=n(4753);const Q=n(302);const k=a(n(857));const _=a(n(6928));const L=n(5306);var U;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(U||(t.ExitCode=U={}));function exportVariable(e,t){const n=(0,Q.toCommandValue)(t);process.env[e]=n;const o=process.env["GITHUB_ENV"]||"";if(o){return(0,m.issueFileCommand)("ENV",(0,m.prepareKeyValueMessage)(e,t))}(0,h.issueCommand)("set-env",{name:e},n)}t.exportVariable=exportVariable;function setSecret(e){(0,h.issueCommand)("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){(0,m.issueFileCommand)("PATH",e)}else{(0,h.issueCommand)("add-path",{},e)}process.env["PATH"]=`${e}${_.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const n=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!n){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return n}return n.trim()}t.getInput=getInput;function getMultilineInput(e,t){const n=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return n}return n.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const n=["true","True","TRUE"];const o=["false","False","FALSE"];const i=getInput(e,t);if(n.includes(i))return true;if(o.includes(i))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const n=process.env["GITHUB_OUTPUT"]||"";if(n){return(0,m.issueFileCommand)("OUTPUT",(0,m.prepareKeyValueMessage)(e,t))}process.stdout.write(k.EOL);(0,h.issueCommand)("set-output",{name:e},(0,Q.toCommandValue)(t))}t.setOutput=setOutput;function setCommandEcho(e){(0,h.issue)("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=U.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){(0,h.issueCommand)("debug",{},e)}t.debug=debug;function error(e,t={}){(0,h.issueCommand)("error",(0,Q.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){(0,h.issueCommand)("warning",(0,Q.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){(0,h.issueCommand)("notice",(0,Q.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+k.EOL)}t.info=info;function startGroup(e){(0,h.issue)("group",e)}t.startGroup=startGroup;function endGroup(){(0,h.issue)("endgroup")}t.endGroup=endGroup;function group(e,t){return d(this,void 0,void 0,(function*(){startGroup(e);let n;try{n=yield t()}finally{endGroup()}return n}))}t.group=group;function saveState(e,t){const n=process.env["GITHUB_STATE"]||"";if(n){return(0,m.issueFileCommand)("STATE",(0,m.prepareKeyValueMessage)(e,t))}(0,h.issueCommand)("save-state",{name:e},(0,Q.toCommandValue)(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return d(this,void 0,void 0,(function*(){return yield L.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var P=n(1847);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return P.summary}});var H=n(1847);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return H.markdownSummary}});var Y=n(1976);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return Y.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return Y.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return Y.toPlatformPath}});t.platform=a(n(8968))},4753:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const d=a(n(6982));const h=a(n(9896));const m=a(n(857));const Q=n(302);function issueFileCommand(e,t){const n=process.env[`GITHUB_${e}`];if(!n){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!h.existsSync(n)){throw new Error(`Missing file at path: ${n}`)}h.appendFileSync(n,`${(0,Q.toCommandValue)(t)}${m.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const n=`ghadelimiter_${d.randomUUID()}`;const o=(0,Q.toCommandValue)(t);if(e.includes(n)){throw new Error(`Unexpected input: name should not contain the delimiter "${n}"`)}if(o.includes(n)){throw new Error(`Unexpected input: value should not contain the delimiter "${n}"`)}return`${e}<<${n}${m.EOL}${o}${m.EOL}${n}`}t.prepareKeyValueMessage=prepareKeyValueMessage},5306:function(e,t,n){"use strict";var o=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const i=n(4844);const a=n(4552);const d=n(7484);class OidcClient{static createHttpClient(e=true,t=10){const n={allowRetries:e,maxRetries:t};return new i.HttpClient("actions/oidc-client",[new a.BearerCredentialHandler(OidcClient.getRequestToken())],n)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return o(this,void 0,void 0,(function*(){const n=OidcClient.createHttpClient();const o=yield n.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)}));const i=(t=o.result)===null||t===void 0?void 0:t.value;if(!i){throw new Error("Response json body do not have ID Token field")}return i}))}static getIDToken(e){return o(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const n=encodeURIComponent(e);t=`${t}&audience=${n}`}(0,d.debug)(`ID token url is ${t}`);const n=yield OidcClient.getCall(t);(0,d.setSecret)(n);return n}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},1976:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const d=a(n(6928));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,d.sep)}t.toPlatformPath=toPlatformPath},8968:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};var h=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.getDetails=t.isLinux=t.isMacOS=t.isWindows=t.arch=t.platform=void 0;const m=h(n(857));const Q=a(n(5236));const getWindowsInfo=()=>d(void 0,void 0,void 0,(function*(){const{stdout:e}=yield Q.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield Q.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}}));const getMacOsInfo=()=>d(void 0,void 0,void 0,(function*(){var e,t,n,o;const{stdout:i}=yield Q.getExecOutput("sw_vers",undefined,{silent:true});const a=(t=(e=i.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const d=(o=(n=i.match(/ProductName:\s*(.+)/))===null||n===void 0?void 0:n[1])!==null&&o!==void 0?o:"";return{name:d,version:a}}));const getLinuxInfo=()=>d(void 0,void 0,void 0,(function*(){const{stdout:e}=yield Q.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,n]=e.trim().split("\n");return{name:t,version:n}}));t.platform=m.default.platform();t.arch=m.default.arch();t.isWindows=t.platform==="win32";t.isMacOS=t.platform==="darwin";t.isLinux=t.platform==="linux";function getDetails(){return d(this,void 0,void 0,(function*(){return Object.assign(Object.assign({},yield t.isWindows?getWindowsInfo():t.isMacOS?getMacOsInfo():getLinuxInfo()),{platform:t.platform,arch:t.arch,isWindows:t.isWindows,isMacOS:t.isMacOS,isLinux:t.isLinux})}))}t.getDetails=getDetails},1847:function(e,t,n){"use strict";var o=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const i=n(857);const a=n(9896);const{access:d,appendFile:h,writeFile:m}=a.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return o(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield d(e,a.constants.R_OK|a.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,n={}){const o=Object.entries(n).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${o}>`}return`<${e}${o}>${t}</${e}>`}write(e){return o(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const n=yield this.filePath();const o=t?m:h;yield o(n,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return o(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(i.EOL)}addCodeBlock(e,t){const n=Object.assign({},t&&{lang:t});const o=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(o).addEOL()}addList(e,t=false){const n=t?"ol":"ul";const o=e.map((e=>this.wrap("li",e))).join("");const i=this.wrap(n,o);return this.addRaw(i).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:n,colspan:o,rowspan:i}=e;const a=t?"th":"td";const d=Object.assign(Object.assign({},o&&{colspan:o}),i&&{rowspan:i});return this.wrap(a,n,d)})).join("");return this.wrap("tr",t)})).join("");const n=this.wrap("table",t);return this.addRaw(n).addEOL()}addDetails(e,t){const n=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(n).addEOL()}addImage(e,t,n){const{width:o,height:i}=n||{};const a=Object.assign(Object.assign({},o&&{width:o}),i&&{height:i});const d=this.wrap("img",null,Object.assign({src:e,alt:t},a));return this.addRaw(d).addEOL()}addHeading(e,t){const n=`h${t}`;const o=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1";const i=this.wrap(o,e);return this.addRaw(i).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const n=Object.assign({},t&&{cite:t});const o=this.wrap("blockquote",e,n);return this.addRaw(o).addEOL()}addLink(e,t){const n=this.wrap("a",e,{href:t});return this.addRaw(n).addEOL()}}const Q=new Summary;t.markdownSummary=Q;t.summary=Q},302:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},5236:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;Object.defineProperty(e,o,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getExecOutput=t.exec=void 0;const h=n(3193);const m=a(n(6665));function exec(e,t,n){return d(this,void 0,void 0,(function*(){const o=m.argStringToArray(e);if(o.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const i=o[0];t=o.slice(1).concat(t||[]);const a=new m.ToolRunner(i,t,n);return a.exec()}))}t.exec=exec;function getExecOutput(e,t,n){var o,i;return d(this,void 0,void 0,(function*(){let a="";let d="";const m=new h.StringDecoder("utf8");const Q=new h.StringDecoder("utf8");const k=(o=n===null||n===void 0?void 0:n.listeners)===null||o===void 0?void 0:o.stdout;const _=(i=n===null||n===void 0?void 0:n.listeners)===null||i===void 0?void 0:i.stderr;const stdErrListener=e=>{d+=Q.write(e);if(_){_(e)}};const stdOutListener=e=>{a+=m.write(e);if(k){k(e)}};const L=Object.assign(Object.assign({},n===null||n===void 0?void 0:n.listeners),{stdout:stdOutListener,stderr:stdErrListener});const U=yield exec(e,t,Object.assign(Object.assign({},n),{listeners:L}));a+=m.end();d+=Q.end();return{exitCode:U,stdout:a,stderr:d}}))}t.getExecOutput=getExecOutput},6665:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;Object.defineProperty(e,o,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.argStringToArray=t.ToolRunner=void 0;const h=a(n(857));const m=a(n(4434));const Q=a(n(5317));const k=a(n(6928));const _=a(n(4994));const L=a(n(5207));const U=n(3557);const P=process.platform==="win32";class ToolRunner extends m.EventEmitter{constructor(e,t,n){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=n||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const n=this._getSpawnFileName();const o=this._getSpawnArgs(e);let i=t?"":"[command]";if(P){if(this._isCmdFile()){i+=n;for(const e of o){i+=` ${e}`}}else if(e.windowsVerbatimArguments){i+=`"${n}"`;for(const e of o){i+=` ${e}`}}else{i+=this._windowsQuoteCmdArg(n);for(const e of o){i+=` ${this._windowsQuoteCmdArg(e)}`}}}else{i+=n;for(const e of o){i+=` ${e}`}}return i}_processLineBuffer(e,t,n){try{let o=t+e.toString();let i=o.indexOf(h.EOL);while(i>-1){const e=o.substring(0,i);n(e);o=o.substring(i+h.EOL.length);i=o.indexOf(h.EOL)}return o}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(P){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(P){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const n of this.args){t+=" ";t+=e.windowsVerbatimArguments?n:this._windowsQuoteCmdArg(n)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let n=false;for(const o of e){if(t.some((e=>e===o))){n=true;break}}if(!n){return e}let o='"';let i=true;for(let t=e.length;t>0;t--){o+=e[t-1];if(i&&e[t-1]==="\\"){o+="\\"}else if(e[t-1]==='"'){i=true;o+='"'}else{i=false}}o+='"';return o.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let n=true;for(let o=e.length;o>0;o--){t+=e[o-1];if(n&&e[o-1]==="\\"){t+="\\"}else if(e[o-1]==='"'){n=true;t+="\\"}else{n=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const n={};n.cwd=e.cwd;n.env=e.env;n["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){n.argv0=`"${t}"`}return n}exec(){return d(this,void 0,void 0,(function*(){if(!L.isRooted(this.toolPath)&&(this.toolPath.includes("/")||P&&this.toolPath.includes("\\"))){this.toolPath=k.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield _.which(this.toolPath,true);return new Promise(((e,t)=>d(this,void 0,void 0,(function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const n=this._cloneExecOptions(this.options);if(!n.silent&&n.outStream){n.outStream.write(this._getCommandString(n)+h.EOL)}const o=new ExecState(n,this.toolPath);o.on("debug",(e=>{this._debug(e)}));if(this.options.cwd&&!(yield L.exists(this.options.cwd))){return t(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const i=this._getSpawnFileName();const a=Q.spawn(i,this._getSpawnArgs(n),this._getSpawnOptions(this.options,i));let d="";if(a.stdout){a.stdout.on("data",(e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!n.silent&&n.outStream){n.outStream.write(e)}d=this._processLineBuffer(e,d,(e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}}))}))}let m="";if(a.stderr){a.stderr.on("data",(e=>{o.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!n.silent&&n.errStream&&n.outStream){const t=n.failOnStdErr?n.errStream:n.outStream;t.write(e)}m=this._processLineBuffer(e,m,(e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}}))}))}a.on("error",(e=>{o.processError=e.message;o.processExited=true;o.processClosed=true;o.CheckComplete()}));a.on("exit",(e=>{o.processExitCode=e;o.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);o.CheckComplete()}));a.on("close",(e=>{o.processExitCode=e;o.processExited=true;o.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);o.CheckComplete()}));o.on("done",((n,o)=>{if(d.length>0){this.emit("stdline",d)}if(m.length>0){this.emit("errline",m)}a.removeAllListeners();if(n){t(n)}else{e(o)}}));if(this.options.input){if(!a.stdin){throw new Error("child process missing stdin")}a.stdin.end(this.options.input)}}))))}))}}t.ToolRunner=ToolRunner;function argStringToArray(e){const t=[];let n=false;let o=false;let i="";function append(e){if(o&&e!=='"'){i+="\\"}i+=e;o=false}for(let a=0;a<e.length;a++){const d=e.charAt(a);if(d==='"'){if(!o){n=!n}else{append(d)}continue}if(d==="\\"&&o){append(d);continue}if(d==="\\"&&n){o=true;continue}if(d===" "&&!n){if(i.length>0){t.push(i);i=""}continue}append(d)}if(i.length>0){t.push(i.trim())}return t}t.argStringToArray=argStringToArray;class ExecState extends m.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=U.setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}},1648:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const o=n(9896);const i=n(857);class Context{constructor(){var e,t,n;this.payload={};if(process.env.GITHUB_EVENT_PATH){if((0,o.existsSync)(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse((0,o.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${i.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10);this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(n=process.env.GITHUB_GRAPHQL_URL)!==null&&n!==void 0?n:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},3228:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const d=a(n(1648));const h=n(8006);t.context=new d.Context;function getOctokit(e,t,...n){const o=h.GitHub.plugin(...n);return new o((0,h.getOctokitOptions)(e,t))}t.getOctokit=getOctokit},5156:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyFetch=t.getProxyAgentDispatcher=t.getProxyAgent=t.getAuthString=void 0;const h=a(n(4844));const m=n(6752);function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new h.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getProxyAgentDispatcher(e){const t=new h.HttpClient;return t.getAgentDispatcher(e)}t.getProxyAgentDispatcher=getProxyAgentDispatcher;function getProxyFetch(e){const t=getProxyAgentDispatcher(e);const proxyFetch=(e,n)=>d(this,void 0,void 0,(function*(){return(0,m.fetch)(e,Object.assign(Object.assign({},n),{dispatcher:t}))}));return proxyFetch}t.getProxyFetch=getProxyFetch;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},8006:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const d=a(n(1648));const h=a(n(5156));const m=n(1897);const Q=n(4935);const k=n(8082);t.context=new d.Context;const _=h.getApiBaseUrl();t.defaults={baseUrl:_,request:{agent:h.getProxyAgent(_),fetch:h.getProxyFetch(_)}};t.GitHub=m.Octokit.plugin(Q.restEndpointMethods,k.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const n=Object.assign({},t||{});const o=h.getAuthString(e,n);if(o){n.auth=o}return n}t.getOctokitOptions=getOctokitOptions},4552:function(e,t){"use strict";var n=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return n(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return n(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return n(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},4844:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.prototype.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const h=a(n(8611));const m=a(n(5692));const Q=a(n(4988));const k=a(n(770));const _=n(6752);var L;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(L||(t.HttpCodes=L={}));var U;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(U||(t.Headers=U={}));var P;(function(e){e["ApplicationJson"]="application/json"})(P||(t.MediaTypes=P={}));function getProxyUrl(e){const t=Q.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const H=[L.MovedPermanently,L.ResourceMoved,L.SeeOther,L.TemporaryRedirect,L.PermanentRedirect];const Y=[L.BadGateway,L.ServiceUnavailable,L.GatewayTimeout];const V=["OPTIONS","GET","DELETE","HEAD"];const J=10;const W=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return d(this,void 0,void 0,(function*(){return new Promise((e=>d(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}readBodyBuffer(){return d(this,void 0,void 0,(function*(){return new Promise((e=>d(this,void 0,void 0,(function*(){const t=[];this.message.on("data",(e=>{t.push(e)}));this.message.on("end",(()=>{e(Buffer.concat(t))}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,n){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=n;if(n){if(n.ignoreSslError!=null){this._ignoreSslError=n.ignoreSslError}this._socketTimeout=n.socketTimeout;if(n.allowRedirects!=null){this._allowRedirects=n.allowRedirects}if(n.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=n.allowRedirectDowngrade}if(n.maxRedirects!=null){this._maxRedirects=Math.max(n.maxRedirects,0)}if(n.keepAlive!=null){this._keepAlive=n.keepAlive}if(n.allowRetries!=null){this._allowRetries=n.allowRetries}if(n.maxRetries!=null){this._maxRetries=n.maxRetries}}}options(e,t){return d(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return d(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return d(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,n){return d(this,void 0,void 0,(function*(){return this.request("POST",e,t,n||{})}))}patch(e,t,n){return d(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,n||{})}))}put(e,t,n){return d(this,void 0,void 0,(function*(){return this.request("PUT",e,t,n||{})}))}head(e,t){return d(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,n,o){return d(this,void 0,void 0,(function*(){return this.request(e,t,n,o)}))}getJson(e,t={}){return d(this,void 0,void 0,(function*(){t[U.Accept]=this._getExistingOrDefaultHeader(t,U.Accept,P.ApplicationJson);const n=yield this.get(e,t);return this._processResponse(n,this.requestOptions)}))}postJson(e,t,n={}){return d(this,void 0,void 0,(function*(){const o=JSON.stringify(t,null,2);n[U.Accept]=this._getExistingOrDefaultHeader(n,U.Accept,P.ApplicationJson);n[U.ContentType]=this._getExistingOrDefaultHeader(n,U.ContentType,P.ApplicationJson);const i=yield this.post(e,o,n);return this._processResponse(i,this.requestOptions)}))}putJson(e,t,n={}){return d(this,void 0,void 0,(function*(){const o=JSON.stringify(t,null,2);n[U.Accept]=this._getExistingOrDefaultHeader(n,U.Accept,P.ApplicationJson);n[U.ContentType]=this._getExistingOrDefaultHeader(n,U.ContentType,P.ApplicationJson);const i=yield this.put(e,o,n);return this._processResponse(i,this.requestOptions)}))}patchJson(e,t,n={}){return d(this,void 0,void 0,(function*(){const o=JSON.stringify(t,null,2);n[U.Accept]=this._getExistingOrDefaultHeader(n,U.Accept,P.ApplicationJson);n[U.ContentType]=this._getExistingOrDefaultHeader(n,U.ContentType,P.ApplicationJson);const i=yield this.patch(e,o,n);return this._processResponse(i,this.requestOptions)}))}request(e,t,n,o){return d(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const i=new URL(t);let a=this._prepareRequest(e,i,o);const d=this._allowRetries&&V.includes(e)?this._maxRetries+1:1;let h=0;let m;do{m=yield this.requestRaw(a,n);if(m&&m.message&&m.message.statusCode===L.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(m)){e=t;break}}if(e){return e.handleAuthentication(this,a,n)}else{return m}}let t=this._maxRedirects;while(m.message.statusCode&&H.includes(m.message.statusCode)&&this._allowRedirects&&t>0){const d=m.message.headers["location"];if(!d){break}const h=new URL(d);if(i.protocol==="https:"&&i.protocol!==h.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield m.readBody();if(h.hostname!==i.hostname){for(const e in o){if(e.toLowerCase()==="authorization"){delete o[e]}}}a=this._prepareRequest(e,h,o);m=yield this.requestRaw(a,n);t--}if(!m.message.statusCode||!Y.includes(m.message.statusCode)){return m}h+=1;if(h<d){yield m.readBody();yield this._performExponentialBackoff(h)}}while(h<d);return m}))}dispose(){if(this._agent){this._agent.destroy()}this._disposed=true}requestRaw(e,t){return d(this,void 0,void 0,(function*(){return new Promise(((n,o)=>{function callbackForResult(e,t){if(e){o(e)}else if(!t){o(new Error("Unknown error"))}else{n(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,n){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let o=false;function handleResult(e,t){if(!o){o=true;n(e,t)}}const i=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let a;i.on("socket",(e=>{a=e}));i.setTimeout(this._socketTimeout||3*6e4,(()=>{if(a){a.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));i.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){i.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){i.end()}));t.pipe(i)}else{i.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const n=Q.getProxyUrl(t);const o=n&&n.hostname;if(!o){return}return this._getProxyAgentDispatcher(t,n)}_prepareRequest(e,t,n){const o={};o.parsedUrl=t;const i=o.parsedUrl.protocol==="https:";o.httpModule=i?m:h;const a=i?443:80;o.options={};o.options.host=o.parsedUrl.hostname;o.options.port=o.parsedUrl.port?parseInt(o.parsedUrl.port):a;o.options.path=(o.parsedUrl.pathname||"")+(o.parsedUrl.search||"");o.options.method=e;o.options.headers=this._mergeHeaders(n);if(this.userAgent!=null){o.options.headers["user-agent"]=this.userAgent}o.options.agent=this._getAgent(o.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(o.options)}}return o}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,n){let o;if(this.requestOptions&&this.requestOptions.headers){o=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||o||n}_getAgent(e){let t;const n=Q.getProxyUrl(e);const o=n&&n.hostname;if(this._keepAlive&&o){t=this._proxyAgent}if(!o){t=this._agent}if(t){return t}const i=e.protocol==="https:";let a=100;if(this.requestOptions){a=this.requestOptions.maxSockets||h.globalAgent.maxSockets}if(n&&n.hostname){const e={maxSockets:a,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(n.username||n.password)&&{proxyAuth:`${n.username}:${n.password}`}),{host:n.hostname,port:n.port})};let o;const d=n.protocol==="https:";if(i){o=d?k.httpsOverHttps:k.httpsOverHttp}else{o=d?k.httpOverHttps:k.httpOverHttp}t=o(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:a};t=i?new m.Agent(e):new h.Agent(e);this._agent=t}if(i&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let n;if(this._keepAlive){n=this._proxyAgentDispatcher}if(n){return n}const o=e.protocol==="https:";n=new _.ProxyAgent(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`}));this._proxyAgentDispatcher=n;if(o&&this._ignoreSslError){n.options=Object.assign(n.options.requestTls||{},{rejectUnauthorized:false})}return n}_performExponentialBackoff(e){return d(this,void 0,void 0,(function*(){e=Math.min(J,e);const t=W*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return d(this,void 0,void 0,(function*(){return new Promise(((n,o)=>d(this,void 0,void 0,(function*(){const i=e.message.statusCode||0;const a={statusCode:i,result:null,headers:{}};if(i===L.NotFound){n(a)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let d;let h;try{h=yield e.readBody();if(h&&h.length>0){if(t&&t.deserializeDates){d=JSON.parse(h,dateTimeDeserializer)}else{d=JSON.parse(h)}a.result=d}a.headers=e.message.headers}catch(e){}if(i>299){let e;if(d&&d.message){e=d.message}else if(h&&h.length>0){e=h}else{e=`Failed request: (${i})`}const t=new HttpClientError(e,i);t.result=a.result;o(t)}else{n(a)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,n)=>(t[n.toLowerCase()]=e[n],t)),{})},4988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const n=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(n){try{return new DecodedURL(n)}catch(e){if(!n.startsWith("http://")&&!n.startsWith("https://"))return new DecodedURL(`http://${n}`)}}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const n=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!n){return false}let o;if(e.port){o=Number(e.port)}else if(e.protocol==="http:"){o=80}else if(e.protocol==="https:"){o=443}const i=[e.hostname.toUpperCase()];if(typeof o==="number"){i.push(`${i[0]}:${o}`)}for(const e of n.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||i.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}class DecodedURL extends URL{constructor(e,t){super(e,t);this._decodedUsername=decodeURIComponent(super.username);this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}},5207:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;Object.defineProperty(e,o,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};var h;Object.defineProperty(t,"__esModule",{value:true});t.getCmdPath=t.tryGetExecutablePath=t.isRooted=t.isDirectory=t.exists=t.READONLY=t.UV_FS_O_EXLOCK=t.IS_WINDOWS=t.unlink=t.symlink=t.stat=t.rmdir=t.rm=t.rename=t.readlink=t.readdir=t.open=t.mkdir=t.lstat=t.copyFile=t.chmod=void 0;const m=a(n(9896));const Q=a(n(6928));h=m.promises,t.chmod=h.chmod,t.copyFile=h.copyFile,t.lstat=h.lstat,t.mkdir=h.mkdir,t.open=h.open,t.readdir=h.readdir,t.readlink=h.readlink,t.rename=h.rename,t.rm=h.rm,t.rmdir=h.rmdir,t.stat=h.stat,t.symlink=h.symlink,t.unlink=h.unlink;t.IS_WINDOWS=process.platform==="win32";t.UV_FS_O_EXLOCK=268435456;t.READONLY=m.constants.O_RDONLY;function exists(e){return d(this,void 0,void 0,(function*(){try{yield t.stat(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true}))}t.exists=exists;function isDirectory(e,n=false){return d(this,void 0,void 0,(function*(){const o=n?yield t.stat(e):yield t.lstat(e);return o.isDirectory()}))}t.isDirectory=isDirectory;function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(t.IS_WINDOWS){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}t.isRooted=isRooted;function tryGetExecutablePath(e,n){return d(this,void 0,void 0,(function*(){let o=undefined;try{o=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(o&&o.isFile()){if(t.IS_WINDOWS){const t=Q.extname(e).toUpperCase();if(n.some((e=>e.toUpperCase()===t))){return e}}else{if(isUnixExecutable(o)){return e}}}const i=e;for(const a of n){e=i+a;o=undefined;try{o=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(o&&o.isFile()){if(t.IS_WINDOWS){try{const n=Q.dirname(e);const o=Q.basename(e).toUpperCase();for(const i of yield t.readdir(n)){if(o===i.toUpperCase()){e=Q.join(n,i);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(o)){return e}}}}return""}))}t.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(e){e=e||"";if(t.IS_WINDOWS){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&e.gid===process.getgid()||(e.mode&64)>0&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}t.getCmdPath=getCmdPath},4994:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;Object.defineProperty(e,o,{enumerable:true,get:function(){return t[n]}})}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)if(n!=="default"&&Object.hasOwnProperty.call(e,n))o(t,e,n);i(t,e);return t};var d=this&&this.__awaiter||function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.findInPath=t.which=t.mkdirP=t.rmRF=t.mv=t.cp=void 0;const h=n(2613);const m=a(n(6928));const Q=a(n(5207));function cp(e,t,n={}){return d(this,void 0,void 0,(function*(){const{force:o,recursive:i,copySourceDirectory:a}=readCopyOptions(n);const d=(yield Q.exists(t))?yield Q.stat(t):null;if(d&&d.isFile()&&!o){return}const h=d&&d.isDirectory()&&a?m.join(t,m.basename(e)):t;if(!(yield Q.exists(e))){throw new Error(`no such file or directory: ${e}`)}const k=yield Q.stat(e);if(k.isDirectory()){if(!i){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,h,0,o)}}else{if(m.relative(e,h)===""){throw new Error(`'${h}' and '${e}' are the same file`)}yield copyFile(e,h,o)}}))}t.cp=cp;function mv(e,t,n={}){return d(this,void 0,void 0,(function*(){if(yield Q.exists(t)){let o=true;if(yield Q.isDirectory(t)){t=m.join(t,m.basename(e));o=yield Q.exists(t)}if(o){if(n.force==null||n.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(m.dirname(t));yield Q.rename(e,t)}))}t.mv=mv;function rmRF(e){return d(this,void 0,void 0,(function*(){if(Q.IS_WINDOWS){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield Q.rm(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}}))}t.rmRF=rmRF;function mkdirP(e){return d(this,void 0,void 0,(function*(){h.ok(e,"a path argument must be provided");yield Q.mkdir(e,{recursive:true})}))}t.mkdirP=mkdirP;function which(e,t){return d(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(Q.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return t}const n=yield findInPath(e);if(n&&n.length>0){return n[0]}return""}))}t.which=which;function findInPath(e){return d(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}const t=[];if(Q.IS_WINDOWS&&process.env["PATHEXT"]){for(const e of process.env["PATHEXT"].split(m.delimiter)){if(e){t.push(e)}}}if(Q.isRooted(e)){const n=yield Q.tryGetExecutablePath(e,t);if(n){return[n]}return[]}if(e.includes(m.sep)){return[]}const n=[];if(process.env.PATH){for(const e of process.env.PATH.split(m.delimiter)){if(e){n.push(e)}}}const o=[];for(const i of n){const n=yield Q.tryGetExecutablePath(m.join(i,e),t);if(n){o.push(n)}}return o}))}t.findInPath=findInPath;function readCopyOptions(e){const t=e.force==null?true:e.force;const n=Boolean(e.recursive);const o=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:n,copySourceDirectory:o}}function cpDirRecursive(e,t,n,o){return d(this,void 0,void 0,(function*(){if(n>=255)return;n++;yield mkdirP(t);const i=yield Q.readdir(e);for(const a of i){const i=`${e}/${a}`;const d=`${t}/${a}`;const h=yield Q.lstat(i);if(h.isDirectory()){yield cpDirRecursive(i,d,n,o)}else{yield copyFile(i,d,o)}}yield Q.chmod(t,(yield Q.stat(e)).mode)}))}function copyFile(e,t,n){return d(this,void 0,void 0,(function*(){if((yield Q.lstat(e)).isSymbolicLink()){try{yield Q.lstat(t);yield Q.unlink(t)}catch(e){if(e.code==="EPERM"){yield Q.chmod(t,"0666");yield Q.unlink(t)}}const n=yield Q.readlink(e);yield Q.symlink(n,t,Q.IS_WINDOWS?"junction":null)}else if(!(yield Q.exists(t))||n){yield Q.copyFile(e,t)}}))}},5782:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.resolveHttpAuthSchemeConfig=t.defaultPricingHttpAuthSchemeProvider=t.defaultPricingHttpAuthSchemeParametersProvider=void 0;const o=n(7523);const i=n(2658);const defaultPricingHttpAuthSchemeParametersProvider=async(e,t,n)=>({operation:(0,i.getSmithyContext)(t).operation,region:await(0,i.normalizeProvider)(e.region)()||(()=>{throw new Error("expected `region` to be configured for `aws.auth#sigv4`")})()});t.defaultPricingHttpAuthSchemeParametersProvider=defaultPricingHttpAuthSchemeParametersProvider;function createAwsAuthSigv4HttpAuthOption(e){return{schemeId:"aws.auth#sigv4",signingProperties:{name:"pricing",region:e.region},propertiesExtractor:(e,t)=>({signingProperties:{config:e,context:t}})}}const defaultPricingHttpAuthSchemeProvider=e=>{const t=[];switch(e.operation){default:{t.push(createAwsAuthSigv4HttpAuthOption(e))}}return t};t.defaultPricingHttpAuthSchemeProvider=defaultPricingHttpAuthSchemeProvider;const resolveHttpAuthSchemeConfig=e=>{const t=(0,o.resolveAwsSdkSigV4Config)(e);return Object.assign(t,{authSchemePreference:(0,i.normalizeProvider)(e.authSchemePreference??[])})};t.resolveHttpAuthSchemeConfig=resolveHttpAuthSchemeConfig},5437:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.bdd=void 0;const o=n(2085);const i="ref";const a=-1,d=true,h="isSet",m="PartitionResult",Q="booleanEquals",k="getAttr",_={[i]:"Endpoint"},L={[i]:m},U={},P=[{[i]:"Region"}];const H={conditions:[[h,[_]],[h,P],["aws.partition",P,m],[Q,[{[i]:"UseFIPS"},d]],[Q,[{[i]:"UseDualStack"},d]],[Q,[{fn:k,argv:[L,"supportsDualStack"]},d]],[Q,[{fn:k,argv:[L,"supportsFIPS"]},d]],["stringEquals",[{fn:k,argv:[L,"name"]},"aws"]]],results:[[a],[a,"Invalid Configuration: FIPS and custom endpoint are not supported"],[a,"Invalid Configuration: Dualstack and custom endpoint are not supported"],[_,U],["https://api.pricing-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",U],[a,"FIPS and DualStack are enabled, but this partition does not support one or both"],["https://api.pricing-fips.{Region}.{PartitionResult#dnsSuffix}",U],[a,"FIPS is enabled but this partition does not support FIPS"],["https://api.pricing.{Region}.{PartitionResult#dualStackDnsSuffix}",U],[a,"DualStack is enabled but this partition does not support DualStack"],["https://api.pricing.{Region}.amazonaws.com",U],["https://api.pricing.{Region}.{PartitionResult#dnsSuffix}",U],[a,"Invalid Configuration: Missing Region"]]};const Y=2;const V=1e8;const J=new Int32Array([-1,1,-1,0,13,3,1,4,V+12,2,5,V+12,3,9,6,4,8,7,7,V+10,V+11,5,V+8,V+9,4,11,10,6,V+6,V+7,5,12,V+5,6,V+4,V+5,3,V+1,14,4,V+2,V+3]);t.bdd=o.BinaryDecisionDiagram.from(J,Y,H.conditions,H.results)},8080:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.defaultEndpointResolver=void 0;const o=n(5152);const i=n(2085);const a=n(5437);const d=new i.EndpointCache({size:50,params:["Endpoint","Region","UseDualStack","UseFIPS"]});const defaultEndpointResolver=(e,t={})=>d.get(e,(()=>(0,i.decideEndpoint)(a.bdd,{endpointParams:e,logger:t.logger})));t.defaultEndpointResolver=defaultEndpointResolver;i.customEndpointFunctions.aws=o.awsEndpointFunctions},4453:(e,t,n)=>{"use strict";var o=n(5152);var i=n(402);var a=n(2658);var d=n(7291);var h=n(2085);var m=n(3422);var Q=n(3609);var k=n(6890);var _=n(5782);var L=n(9071);var U=n(9861);var P=n(5193);var H=n(3166);const resolveClientEndpointParameters=e=>Object.assign(e,{useDualstackEndpoint:e.useDualstackEndpoint??false,useFipsEndpoint:e.useFipsEndpoint??false,defaultSigningName:"pricing"});const Y={UseFIPS:{type:"builtInParams",name:"useFipsEndpoint"},Endpoint:{type:"builtInParams",name:"endpoint"},Region:{type:"builtInParams",name:"region"},UseDualStack:{type:"builtInParams",name:"useDualstackEndpoint"}};const getHttpAuthExtensionConfiguration=e=>{const t=e.httpAuthSchemes;let n=e.httpAuthSchemeProvider;let o=e.credentials;return{setHttpAuthScheme(e){const n=t.findIndex((t=>t.schemeId===e.schemeId));if(n===-1){t.push(e)}else{t.splice(n,1,e)}},httpAuthSchemes(){return t},setHttpAuthSchemeProvider(e){n=e},httpAuthSchemeProvider(){return n},setCredentials(e){o=e},credentials(){return o}}};const resolveHttpAuthRuntimeConfig=e=>({httpAuthSchemes:e.httpAuthSchemes(),httpAuthSchemeProvider:e.httpAuthSchemeProvider(),credentials:e.credentials()});const resolveRuntimeExtensions=(e,t)=>{const n=Object.assign(o.getAwsRegionExtensionConfiguration(e),a.getDefaultExtensionConfiguration(e),m.getHttpHandlerExtensionConfiguration(e),getHttpAuthExtensionConfiguration(e));t.forEach((e=>e.configure(n)));return Object.assign(e,o.resolveAwsRegionExtensionConfiguration(n),a.resolveDefaultRuntimeConfig(n),m.resolveHttpHandlerRuntimeConfig(n),resolveHttpAuthRuntimeConfig(n))};class PricingClient extends a.Client{config;constructor(...[e]){const t=L.getRuntimeConfig(e||{});super(t);this.initConfig=t;const n=resolveClientEndpointParameters(t);const a=o.resolveUserAgentConfig(n);const U=Q.resolveRetryConfig(a);const P=d.resolveRegionConfig(U);const H=o.resolveHostHeaderConfig(P);const Y=h.resolveEndpointConfig(H);const V=_.resolveHttpAuthSchemeConfig(Y);const J=resolveRuntimeExtensions(V,e?.extensions||[]);this.config=J;this.middlewareStack.use(k.getSchemaSerdePlugin(this.config));this.middlewareStack.use(o.getUserAgentPlugin(this.config));this.middlewareStack.use(Q.getRetryPlugin(this.config));this.middlewareStack.use(m.getContentLengthPlugin(this.config));this.middlewareStack.use(o.getHostHeaderPlugin(this.config));this.middlewareStack.use(o.getLoggerPlugin(this.config));this.middlewareStack.use(o.getRecursionDetectionPlugin(this.config));this.middlewareStack.use(i.getHttpAuthSchemeEndpointRuleSetPlugin(this.config,{httpAuthSchemeParametersProvider:_.defaultPricingHttpAuthSchemeParametersProvider,identityProviderConfigProvider:async e=>new i.DefaultIdentityProviderConfig({"aws.auth#sigv4":e.credentials})}));this.middlewareStack.use(i.getHttpSigningPlugin(this.config))}destroy(){super.destroy()}}class DescribeServicesCommand extends(a.Command.classBuilder().ep(Y).m((function(e,t,n,o){return[h.getEndpointPlugin(n,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","DescribeServices",{}).n("PricingClient","DescribeServicesCommand").sc(U.DescribeServices$).build()){}class GetAttributeValuesCommand extends(a.Command.classBuilder().ep(Y).m((function(e,t,n,o){return[h.getEndpointPlugin(n,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetAttributeValues",{}).n("PricingClient","GetAttributeValuesCommand").sc(U.GetAttributeValues$).build()){}class GetPriceListFileUrlCommand extends(a.Command.classBuilder().ep(Y).m((function(e,t,n,o){return[h.getEndpointPlugin(n,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetPriceListFileUrl",{}).n("PricingClient","GetPriceListFileUrlCommand").sc(U.GetPriceListFileUrl$).build()){}class GetProductsCommand extends(a.Command.classBuilder().ep(Y).m((function(e,t,n,o){return[h.getEndpointPlugin(n,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","GetProducts",{}).n("PricingClient","GetProductsCommand").sc(U.GetProducts$).build()){}class ListPriceListsCommand extends(a.Command.classBuilder().ep(Y).m((function(e,t,n,o){return[h.getEndpointPlugin(n,e.getEndpointParameterInstructions())]})).s("AWSPriceListService","ListPriceLists",{}).n("PricingClient","ListPriceListsCommand").sc(U.ListPriceLists$).build()){}const V=i.createPaginator(PricingClient,DescribeServicesCommand,"NextToken","NextToken","MaxResults");const J=i.createPaginator(PricingClient,GetAttributeValuesCommand,"NextToken","NextToken","MaxResults");const W=i.createPaginator(PricingClient,GetProductsCommand,"NextToken","NextToken","MaxResults");const j=i.createPaginator(PricingClient,ListPriceListsCommand,"NextToken","NextToken","MaxResults");const K={DescribeServicesCommand:DescribeServicesCommand,GetAttributeValuesCommand:GetAttributeValuesCommand,GetPriceListFileUrlCommand:GetPriceListFileUrlCommand,GetProductsCommand:GetProductsCommand,ListPriceListsCommand:ListPriceListsCommand};const X={paginateDescribeServices:V,paginateGetAttributeValues:J,paginateGetProducts:W,paginateListPriceLists:j};class Pricing extends PricingClient{}a.createAggregatedClient(K,Pricing,{paginators:X});const Z={ANY_OF:"ANY_OF",CONTAINS:"CONTAINS",EQUALS:"EQUALS",NONE_OF:"NONE_OF",TERM_MATCH:"TERM_MATCH"};t.$Command=a.Command;t.__Client=a.Client;t.PricingServiceException=H.PricingServiceException;t.DescribeServicesCommand=DescribeServicesCommand;t.FilterType=Z;t.GetAttributeValuesCommand=GetAttributeValuesCommand;t.GetPriceListFileUrlCommand=GetPriceListFileUrlCommand;t.GetProductsCommand=GetProductsCommand;t.ListPriceListsCommand=ListPriceListsCommand;t.Pricing=Pricing;t.PricingClient=PricingClient;t.paginateDescribeServices=V;t.paginateGetAttributeValues=J;t.paginateGetProducts=W;t.paginateListPriceLists=j;Object.prototype.hasOwnProperty.call(U,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:U["__proto__"]});Object.keys(U).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=U[e]}));Object.prototype.hasOwnProperty.call(P,"__proto__")&&!Object.prototype.hasOwnProperty.call(t,"__proto__")&&Object.defineProperty(t,"__proto__",{enumerable:true,value:P["__proto__"]});Object.keys(P).forEach((function(e){if(e!=="default"&&!Object.prototype.hasOwnProperty.call(t,e))t[e]=P[e]}))},3166:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingServiceException=t.__ServiceException=void 0;const o=n(2658);Object.defineProperty(t,"__ServiceException",{enumerable:true,get:function(){return o.ServiceException}});class PricingServiceException extends o.ServiceException{constructor(e){super(e);Object.setPrototypeOf(this,PricingServiceException.prototype)}}t.PricingServiceException=PricingServiceException},5193:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ResourceNotFoundException=t.ThrottlingException=t.NotFoundException=t.InvalidParameterException=t.InvalidNextTokenException=t.InternalErrorException=t.ExpiredNextTokenException=t.AccessDeniedException=void 0;const o=n(3166);class AccessDeniedException extends o.PricingServiceException{name="AccessDeniedException";$fault="client";Message;constructor(e){super({name:"AccessDeniedException",$fault:"client",...e});Object.setPrototypeOf(this,AccessDeniedException.prototype);this.Message=e.Message}}t.AccessDeniedException=AccessDeniedException;class ExpiredNextTokenException extends o.PricingServiceException{name="ExpiredNextTokenException";$fault="client";Message;constructor(e){super({name:"ExpiredNextTokenException",$fault:"client",...e});Object.setPrototypeOf(this,ExpiredNextTokenException.prototype);this.Message=e.Message}}t.ExpiredNextTokenException=ExpiredNextTokenException;class InternalErrorException extends o.PricingServiceException{name="InternalErrorException";$fault="server";$retryable={};Message;constructor(e){super({name:"InternalErrorException",$fault:"server",...e});Object.setPrototypeOf(this,InternalErrorException.prototype);this.Message=e.Message}}t.InternalErrorException=InternalErrorException;class InvalidNextTokenException extends o.PricingServiceException{name="InvalidNextTokenException";$fault="client";Message;constructor(e){super({name:"InvalidNextTokenException",$fault:"client",...e});Object.setPrototypeOf(this,InvalidNextTokenException.prototype);this.Message=e.Message}}t.InvalidNextTokenException=InvalidNextTokenException;class InvalidParameterException extends o.PricingServiceException{name="InvalidParameterException";$fault="client";Message;constructor(e){super({name:"InvalidParameterException",$fault:"client",...e});Object.setPrototypeOf(this,InvalidParameterException.prototype);this.Message=e.Message}}t.InvalidParameterException=InvalidParameterException;class NotFoundException extends o.PricingServiceException{name="NotFoundException";$fault="client";Message;constructor(e){super({name:"NotFoundException",$fault:"client",...e});Object.setPrototypeOf(this,NotFoundException.prototype);this.Message=e.Message}}t.NotFoundException=NotFoundException;class ThrottlingException extends o.PricingServiceException{name="ThrottlingException";$fault="client";$retryable={throttling:true};Message;constructor(e){super({name:"ThrottlingException",$fault:"client",...e});Object.setPrototypeOf(this,ThrottlingException.prototype);this.Message=e.Message}}t.ThrottlingException=ThrottlingException;class ResourceNotFoundException extends o.PricingServiceException{name="ResourceNotFoundException";$fault="client";Message;constructor(e){super({name:"ResourceNotFoundException",$fault:"client",...e});Object.setPrototypeOf(this,ResourceNotFoundException.prototype);this.Message=e.Message}}t.ResourceNotFoundException=ResourceNotFoundException},9071:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getRuntimeConfig=void 0;const o=n(1860);const i=o.__importDefault(n(245));const a=n(5152);const d=n(7523);const h=n(5861);const m=n(2658);const Q=n(7291);const k=n(3609);const _=n(2430);const L=n(1279);const U=n(4348);const getRuntimeConfig=e=>{(0,m.emitWarningIfUnsupportedVersion)(process.version);const t=(0,Q.resolveDefaultsModeConfig)(e);const defaultConfigProvider=()=>t().then(m.loadConfigsForDefaultMode);const n=(0,U.getRuntimeConfig)(e);(0,a.emitWarningIfUnsupportedVersion)(process.version);const o={profile:e?.profile,logger:n.logger};return{...n,...e,runtime:"node",defaultsMode:t,authSchemePreference:e?.authSchemePreference??(0,Q.loadConfig)(d.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS,o),bodyLengthChecker:e?.bodyLengthChecker??_.calculateBodyLength,credentialDefaultProvider:e?.credentialDefaultProvider??h.defaultProvider,defaultUserAgentProvider:e?.defaultUserAgentProvider??(0,a.createDefaultUserAgentProvider)({serviceId:n.serviceId,clientVersion:i.default.version}),maxAttempts:e?.maxAttempts??(0,Q.loadConfig)(k.NODE_MAX_ATTEMPT_CONFIG_OPTIONS,e),region:e?.region??(0,Q.loadConfig)(Q.NODE_REGION_CONFIG_OPTIONS,{...Q.NODE_REGION_CONFIG_FILE_OPTIONS,...o}),requestHandler:L.NodeHttpHandler.create(e?.requestHandler??defaultConfigProvider),retryMode:e?.retryMode??(0,Q.loadConfig)({...k.NODE_RETRY_MODE_CONFIG_OPTIONS,default:async()=>(await defaultConfigProvider()).retryMode||k.DEFAULT_RETRY_MODE},e),sha256:e?.sha256??_.Hash.bind(null,"sha256"),streamCollector:e?.streamCollector??L.streamCollector,useDualstackEndpoint:e?.useDualstackEndpoint??(0,Q.loadConfig)(Q.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS,o),useFipsEndpoint:e?.useFipsEndpoint??(0,Q.loadConfig)(Q.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS,o),userAgentAppId:e?.userAgentAppId??(0,Q.loadConfig)(a.NODE_APP_ID_CONFIG_OPTIONS,o)}};t.getRuntimeConfig=getRuntimeConfig},4348:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getRuntimeConfig=void 0;const o=n(7523);const i=n(7288);const a=n(2658);const d=n(3422);const h=n(2430);const m=n(5782);const Q=n(8080);const k=n(9861);const getRuntimeConfig=e=>({apiVersion:"2017-10-15",base64Decoder:e?.base64Decoder??h.fromBase64,base64Encoder:e?.base64Encoder??h.toBase64,disableHostPrefix:e?.disableHostPrefix??false,endpointProvider:e?.endpointProvider??Q.defaultEndpointResolver,extensions:e?.extensions??[],httpAuthSchemeProvider:e?.httpAuthSchemeProvider??m.defaultPricingHttpAuthSchemeProvider,httpAuthSchemes:e?.httpAuthSchemes??[{schemeId:"aws.auth#sigv4",identityProvider:e=>e.getIdentityProvider("aws.auth#sigv4"),signer:new o.AwsSdkSigV4Signer}],logger:e?.logger??new a.NoOpLogger,protocol:e?.protocol??i.AwsJson1_1Protocol,protocolSettings:e?.protocolSettings??{defaultNamespace:"com.amazonaws.pricing",errorTypeRegistries:k.errorTypeRegistries,version:"2017-10-15",serviceTarget:"AWSPriceListService"},serviceId:e?.serviceId??"Pricing",urlParser:e?.urlParser??d.parseUrl,utf8Decoder:e?.utf8Decoder??h.fromUtf8,utf8Encoder:e?.utf8Encoder??h.toUtf8});t.getRuntimeConfig=getRuntimeConfig},9861:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ListPriceLists$=t.GetProducts$=t.GetPriceListFileUrl$=t.GetAttributeValues$=t.DescribeServices$=t.Service$=t.PriceList$=t.ListPriceListsResponse$=t.ListPriceListsRequest$=t.GetProductsResponse$=t.GetProductsRequest$=t.GetPriceListFileUrlResponse$=t.GetPriceListFileUrlRequest$=t.GetAttributeValuesResponse$=t.GetAttributeValuesRequest$=t.Filter$=t.DescribeServicesResponse$=t.DescribeServicesRequest$=t.AttributeValue$=t.errorTypeRegistries=t.ThrottlingException$=t.ResourceNotFoundException$=t.NotFoundException$=t.InvalidParameterException$=t.InvalidNextTokenException$=t.InternalErrorException$=t.ExpiredNextTokenException$=t.AccessDeniedException$=t.PricingServiceException$=void 0;const o="AccessDeniedException";const i="AttributeName";const a="AttributeNames";const d="AttributeValue";const h="AttributeValueList";const m="AttributeValues";const Q="CurrencyCode";const k="DescribeServices";const _="DescribeServicesRequest";const L="DescribeServicesResponse";const U="EffectiveDate";const P="ExpiredNextTokenException";const H="Filter";const Y="FileFormat";const V="FileFormats";const J="FormatVersion";const W="Field";const j="Filters";const K="GetAttributeValues";const X="GetAttributeValuesRequest";const Z="GetAttributeValuesResponse";const ee="GetProducts";const te="GetPriceListFileUrl";const re="GetPriceListFileUrlRequest";const se="GetPriceListFileUrlResponse";const ne="GetProductsRequest";const oe="GetProductsResponse";const ie="InternalErrorException";const Ae="InvalidNextTokenException";const ae="InvalidParameterException";const ce="ListPriceLists";const le="ListPriceListsRequest";const ue="ListPriceListsResponse";const ge="Message";const de="MaxResults";const he="NotFoundException";const pe="NextToken";const fe="PriceList";const Ee="PriceListArn";const Ce="PriceListJsonItems";const me="PriceLists";const Ie="RegionCode";const Be="ResourceNotFoundException";const Qe="Services";const ye="ServiceCode";const we="SynthesizedJsonPriceListJsonItem";const be="ServiceList";const Se="Service";const Re="Type";const De="ThrottlingException";const Te="Url";const ke="Value";const ve="application/json";const Ne="client";const Fe="error";const _e="httpError";const Le="mediaType";const Ue="smithy.ts.sdk.synthetic.com.amazonaws.pricing";const Pe="server";const Me="com.amazonaws.pricing";const xe=n(6890);const Oe=n(5193);const Ge=n(3166);const He=xe.TypeRegistry.for(Ue);t.PricingServiceException$=[-3,Ue,"PricingServiceException",0,[],[]];He.registerError(t.PricingServiceException$,Ge.PricingServiceException);const Ye=xe.TypeRegistry.for(Me);t.AccessDeniedException$=[-3,Me,o,{[Fe]:Ne,[_e]:401},[ge],[0]];Ye.registerError(t.AccessDeniedException$,Oe.AccessDeniedException);t.ExpiredNextTokenException$=[-3,Me,P,{[Fe]:Ne,[_e]:400},[ge],[0]];Ye.registerError(t.ExpiredNextTokenException$,Oe.ExpiredNextTokenException);t.InternalErrorException$=[-3,Me,ie,{[Fe]:Pe,[_e]:500},[ge],[0]];Ye.registerError(t.InternalErrorException$,Oe.InternalErrorException);t.InvalidNextTokenException$=[-3,Me,Ae,{[Fe]:Ne,[_e]:400},[ge],[0]];Ye.registerError(t.InvalidNextTokenException$,Oe.InvalidNextTokenException);t.InvalidParameterException$=[-3,Me,ae,{[Fe]:Ne,[_e]:400},[ge],[0]];Ye.registerError(t.InvalidParameterException$,Oe.InvalidParameterException);t.NotFoundException$=[-3,Me,he,{[Fe]:Ne,[_e]:400},[ge],[0]];Ye.registerError(t.NotFoundException$,Oe.NotFoundException);t.ResourceNotFoundException$=[-3,Me,Be,{[Fe]:Ne,[_e]:404},[ge],[0]];Ye.registerError(t.ResourceNotFoundException$,Oe.ResourceNotFoundException);t.ThrottlingException$=[-3,Me,De,{[Fe]:Ne,[_e]:429},[ge],[0]];Ye.registerError(t.ThrottlingException$,Oe.ThrottlingException);t.errorTypeRegistries=[He,Ye];var Ve=[0,Me,we,{[Le]:ve},0];t.AttributeValue$=[3,Me,d,0,[ke],[0]];t.DescribeServicesRequest$=[3,Me,_,0,[ye,J,pe,de],[0,0,0,1]];t.DescribeServicesResponse$=[3,Me,L,0,[Qe,J,pe],[()=>Ke,0,0]];t.Filter$=[3,Me,H,0,[Re,W,ke],[0,0,0],3];t.GetAttributeValuesRequest$=[3,Me,X,0,[ye,i,pe,de],[0,0,0,1],2];t.GetAttributeValuesResponse$=[3,Me,Z,0,[m,pe],[()=>qe,0]];t.GetPriceListFileUrlRequest$=[3,Me,re,0,[Ee,Y],[0,0],2];t.GetPriceListFileUrlResponse$=[3,Me,se,0,[Te],[0]];t.GetProductsRequest$=[3,Me,ne,0,[ye,j,J,pe,de],[0,()=>$e,0,0,1],1];t.GetProductsResponse$=[3,Me,oe,0,[J,fe,pe],[0,[()=>je,0],0]];t.ListPriceListsRequest$=[3,Me,le,0,[ye,U,Q,Ie,pe,de],[0,4,0,0,0,1],3];t.ListPriceListsResponse$=[3,Me,ue,0,[me,pe],[()=>ze,0]];t.PriceList$=[3,Me,fe,0,[Ee,Ie,Q,V],[0,0,0,64|0]];t.Service$=[3,Me,Se,0,[ye,a],[0,64|0],1];var Je=null&&64|0;var qe=[1,Me,h,0,()=>t.AttributeValue$];var We=null&&64|0;var $e=[1,Me,j,0,()=>t.Filter$];var je=[1,Me,Ce,0,[()=>Ve,0]];var ze=[1,Me,me,0,()=>t.PriceList$];var Ke=[1,Me,be,0,()=>t.Service$];t.DescribeServices$=[9,Me,k,0,()=>t.DescribeServicesRequest$,()=>t.DescribeServicesResponse$];t.GetAttributeValues$=[9,Me,K,0,()=>t.GetAttributeValuesRequest$,()=>t.GetAttributeValuesResponse$];t.GetPriceListFileUrl$=[9,Me,te,0,()=>t.GetPriceListFileUrlRequest$,()=>t.GetPriceListFileUrlResponse$];t.GetProducts$=[9,Me,ee,0,()=>t.GetProductsRequest$,()=>t.GetProductsResponse$];t.ListPriceLists$=[9,Me,ce,0,()=>t.ListPriceListsRequest$,()=>t.ListPriceListsResponse$]},5152:(e,t,n)=>{"use strict";var o=n(3609);var i=n(3422);var a=n(9320);var d=n(402);var h=n(8161);var m=n(1708);var Q=n(7291);var k=n(1455);var _=n(6760);var L=n(2085);const U={warningEmitted:false};const emitWarningIfUnsupportedVersion=e=>{if(e&&!U.warningEmitted){if(process.env.AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED==="true"){U.warningEmitted=true;return}const t=parseInt(e.substring(1,e.indexOf(".")));const n=22;if(t<n){U.warningEmitted=true;process.emitWarning(`NodeVersionSupportWarning: The AWS SDK for JavaScript (v3)\nversions published after the first week of January 2027\nwill require node >=${n}. You are running node ${e}.\n\nTo continue receiving updates to AWS services, bug fixes,\nand security updates please upgrade to node >=${n}.\n\nMore information can be found at: https://a.co/c895JFp`)}}};const longPollMiddleware=()=>(e,t)=>async n=>{t.__retryLongPoll=true;return e(n)};const P={name:"longPollMiddleware",tags:["RETRY"],step:"initialize",override:true};const getLongPollPlugin=e=>({applyToStack:e=>{e.add(longPollMiddleware(),P)}});function setCredentialFeature(e,t,n){if(!e.$source){e.$source={}}e.$source[t]=n;return e}o.Retry.v2026||=typeof process==="object"&&process.env?.AWS_NEW_RETRIES_2026==="true";function setFeature(e,t,n){if(!e.__aws_sdk_context){e.__aws_sdk_context={features:{}}}else if(!e.__aws_sdk_context.features){e.__aws_sdk_context.features={}}e.__aws_sdk_context.features[t]=n}function setTokenFeature(e,t,n){if(!e.$source){e.$source={}}e.$source[t]=n;return e}function resolveHostHeaderConfig(e){return e}const hostHeaderMiddleware=e=>t=>async n=>{if(!i.HttpRequest.isInstance(n.request))return t(n);const{request:o}=n;const{handlerProtocol:a=""}=e.requestHandler.metadata||{};if(a.indexOf("h2")>=0&&!o.headers[":authority"]){delete o.headers["host"];o.headers[":authority"]=o.hostname+(o.port?":"+o.port:"")}else if(!o.headers["host"]){let e=o.hostname;if(o.port!=null)e+=`:${o.port}`;o.headers["host"]=e}return t(n)};const H={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:true};const getHostHeaderPlugin=e=>({applyToStack:t=>{t.add(hostHeaderMiddleware(e),H)}});const loggerMiddleware=()=>(e,t)=>async n=>{try{const o=await e(n);const{clientName:i,commandName:a,logger:d,dynamoDbDocumentClientOptions:h={}}=t;const{overrideInputFilterSensitiveLog:m,overrideOutputFilterSensitiveLog:Q}=h;const k=m??t.inputFilterSensitiveLog;const _=Q??t.outputFilterSensitiveLog;const{$metadata:L,...U}=o.output;d?.info?.({clientName:i,commandName:a,input:k(n.input),output:_(U),metadata:L});return o}catch(e){const{clientName:o,commandName:i,logger:a,dynamoDbDocumentClientOptions:d={}}=t;const{overrideInputFilterSensitiveLog:h}=d;const m=h??t.inputFilterSensitiveLog;a?.error?.({clientName:o,commandName:i,input:m(n.input),error:e,metadata:e.$metadata});throw e}};const Y={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:true};const getLoggerPlugin=e=>({applyToStack:e=>{e.add(loggerMiddleware(),Y)}});const V={step:"build",tags:["RECURSION_DETECTION"],name:"recursionDetectionMiddleware",override:true,priority:"low"};const J="X-Amzn-Trace-Id";const W="AWS_LAMBDA_FUNCTION_NAME";const j="_X_AMZN_TRACE_ID";const recursionDetectionMiddleware=()=>e=>async t=>{const{request:n}=t;if(!i.HttpRequest.isInstance(n)){return e(t)}const o=Object.keys(n.headers??{}).find((e=>e.toLowerCase()===J.toLowerCase()))??J;if(n.headers.hasOwnProperty(o)){return e(t)}const d=process.env[W];const h=process.env[j];const m=await a.InvokeStore.getInstanceAsync();const Q=m?.getXRayTraceId();const k=Q??h;const nonEmptyString=e=>typeof e==="string"&&e.length>0;if(nonEmptyString(d)&&nonEmptyString(k)){n.headers[J]=k}return e({...t,request:n})};const getRecursionDetectionPlugin=e=>({applyToStack:e=>{e.add(recursionDetectionMiddleware(),V)}});const K=undefined;function isValidUserAgentAppId(e){if(e===undefined){return true}return typeof e==="string"&&e.length<=50}function resolveUserAgentConfig(e){const t=d.normalizeProvider(e.userAgentAppId??K);const{customUserAgent:n}=e;return Object.assign(e,{customUserAgent:typeof n==="string"?[[n]]:n,userAgentAppId:async()=>{const n=await t();if(!isValidUserAgentAppId(n)){const t=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?console:e.logger;if(typeof n!=="string"){t?.warn("userAgentAppId must be a string or undefined.")}else if(n.length>50){t?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.")}}return n}})}const X={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:"AWS European Sovereign Cloud (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 Z=X;let ee="";const partition=e=>{const{partitions:t}=Z;for(const n of t){const{regions:t,outputs:o}=n;for(const[n,i]of Object.entries(t)){if(n===e){return{...o,...i}}}}for(const n of t){const{regionRegex:t,outputs:o}=n;if(new RegExp(t).test(e)){return{...o}}}const n=t.find((e=>e.id==="aws"));if(!n){throw new Error("Provided region was not found in the partition array or regex,"+" and default partition with id 'aws' doesn't exist.")}return{...n.outputs}};const setPartitionInfo=(e,t="")=>{Z=e;ee=t};const useDefaultPartitionInfo=()=>{setPartitionInfo(X,"")};const getUserAgentPrefix=()=>ee;const te=/\d{12}\.ddb/;async function checkFeatures(e,t,n){const i=n.request;if(i?.headers?.["smithy-protocol"]==="rpc-v2-cbor"){setFeature(e,"PROTOCOL_RPC_V2_CBOR","M")}if(typeof t.retryStrategy==="function"){const n=await t.retryStrategy();if(typeof n.mode==="string"){switch(n.mode){case o.RETRY_MODES.ADAPTIVE:setFeature(e,"RETRY_MODE_ADAPTIVE","F");break;case o.RETRY_MODES.STANDARD:setFeature(e,"RETRY_MODE_STANDARD","E");break}}}if(typeof t.accountIdEndpointMode==="function"){const n=e.endpointV2;if(String(n?.url?.hostname).match(te)){setFeature(e,"ACCOUNT_ID_ENDPOINT","O")}switch(await(t.accountIdEndpointMode?.())){case"disabled":setFeature(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case"preferred":setFeature(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case"required":setFeature(e,"ACCOUNT_ID_MODE_REQUIRED","R");break}}const a=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(a?.$source){const t=a;if(t.accountId){setFeature(e,"RESOLVED_ACCOUNT_ID","T")}for(const[n,o]of Object.entries(t.$source??{})){setFeature(e,n,o)}}}const re="user-agent";const se="x-amz-user-agent";const ne=" ";const oe="/";const ie=/[^!$%&'*+\-.^_`|~\w]/g;const Ae=/[^!$%&'*+\-.^_`|~\w#]/g;const ae="-";const ce=1024;function encodeFeatures(e){let t="";for(const n in e){const o=e[n];if(t.length+o.length+1<=ce){if(t.length){t+=","+o}else{t+=o}continue}break}return t}const userAgentMiddleware=e=>(t,n)=>async o=>{const{request:a}=o;if(!i.HttpRequest.isInstance(a)){return t(o)}const{headers:d}=a;const h=n?.userAgent?.map(escapeUserAgent)||[];const m=(await e.defaultUserAgentProvider()).map(escapeUserAgent);await checkFeatures(n,e,o);const Q=n;m.push(`m/${encodeFeatures(Object.assign({},n.__smithy_context?.features,Q.__aws_sdk_context?.features))}`);const k=e?.customUserAgent?.map(escapeUserAgent)||[];const _=await e.userAgentAppId();if(_){m.push(escapeUserAgent([`app`,`${_}`]))}const L=getUserAgentPrefix();const U=(L?[L]:[]).concat([...m,...h,...k]).join(ne);const P=[...m.filter((e=>e.startsWith("aws-sdk-"))),...k].join(ne);if(e.runtime!=="browser"){if(P){d[se]=d[se]?`${d[re]} ${P}`:P}d[re]=U}else{d[se]=U}return t({...o,request:a})};const escapeUserAgent=e=>{const t=e[0].split(oe).map((e=>e.replace(ie,ae))).join(oe);const n=e[1]?.replace(Ae,ae);const o=t.indexOf(oe);const i=t.substring(0,o);let a=t.substring(o+1);if(i==="api"){a=a.toLowerCase()}return[i,a,n].filter((e=>e&&e.length>0)).reduce(((e,t,n)=>{switch(n){case 0:return t;case 1:return`${e}/${t}`;default:return`${e}#${t}`}}),"")};const le={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:true};const getUserAgentPlugin=e=>({applyToStack:t=>{t.add(userAgentMiddleware(e),le)}});const getRuntimeUserAgentPair=()=>{const e=["deno","bun","llrt"];for(const t of e){if(m.versions[t]){return[`md/${t}`,m.versions[t]]}}return["md/nodejs",m.versions.node]};const getNodeModulesParentDirs=e=>{const t=process.cwd();if(!e){return[t]}const n=_.normalize(e);const o=n.split(_.sep);const i=o.indexOf("node_modules");const a=i!==-1?o.slice(0,i).join(_.sep):n;if(t===a){return[t]}return[a,t]};const ue=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/;const getSanitizedTypeScriptVersion=(e="")=>{const t=e.match(ue);if(!t){return undefined}const[n,o,i,a]=[t[1],t[2],t[3],t[4]];return a?`${n}.${o}.${i}-${a}`:`${n}.${o}.${i}`};const ge=["^","~",">=","<=",">","<"];const de=["latest","beta","dev","rc","insiders","next"];const getSanitizedDevTypeScriptVersion=(e="")=>{if(de.includes(e)){return e}const t=ge.find((t=>e.startsWith(t)))??"";const n=getSanitizedTypeScriptVersion(e.slice(t.length));if(!n){return undefined}return`${t}${n}`};let he;const pe=_.join("node_modules","typescript","package.json");const getTypeScriptUserAgentPair=async()=>{if(he===null){return undefined}else if(typeof he==="string"){return["md/tsc",he]}let e=false;try{e=Q.booleanSelector(process.env,"AWS_SDK_JS_TYPESCRIPT_DETECTION_DISABLED",Q.SelectorType.ENV)||false}catch{}if(e){he=null;return undefined}const t=typeof __dirname!=="undefined"?__dirname:undefined;const n=getNodeModulesParentDirs(t);let o;for(const e of n){try{const t=_.join(e,"package.json");const n=await k.readFile(t,"utf-8");const{dependencies:i,devDependencies:a}=JSON.parse(n);const d=a?.typescript??i?.typescript;if(typeof d!=="string"){continue}o=d;break}catch{}}if(!o){he=null;return undefined}let i;for(const e of n){try{const t=_.join(e,pe);const n=await k.readFile(t,"utf-8");const{version:o}=JSON.parse(n);const a=getSanitizedTypeScriptVersion(o);if(typeof a!=="string"){continue}i=a;break}catch{}}if(i){he=i;return["md/tsc",he]}const a=getSanitizedDevTypeScriptVersion(o);if(typeof a!=="string"){he=null;return undefined}he=`dev_${a}`;return["md/tsc",he]};const fe={isCrtAvailable:false};const isCrtAvailable=()=>{if(fe.isCrtAvailable){return["md/crt-avail"]}return null};const createDefaultUserAgentProvider=({serviceId:e,clientVersion:t})=>{const n=getRuntimeUserAgentPair();return async o=>{const i=[["aws-sdk-js",t],["ua","2.1"],[`os/${h.platform()}`,h.release()],["lang/js"],n];const a=await getTypeScriptUserAgentPair();if(a){i.push(a)}const d=isCrtAvailable();if(d){i.push(d)}if(e){i.push([`api/${e}`,t])}if(m.env.AWS_EXECUTION_ENV){i.push([`exec-env/${m.env.AWS_EXECUTION_ENV}`])}const Q=await(o?.userAgentAppId?.());const k=Q?[...i,[`app/${Q}`]]:[...i];return k}};const Ee=createDefaultUserAgentProvider;const Ce="AWS_SDK_UA_APP_ID";const me="sdk_ua_app_id";const Ie="sdk-ua-app-id";const Be={environmentVariableSelector:e=>e[Ce],configFileSelector:e=>e[me]??e[Ie],default:K};const createUserAgentStringParsingProvider=({serviceId:e,clientVersion:t})=>async o=>{const i=await n.e(449).then(n.t.bind(n,9449,23));const a=i.parse??i.default.parse??(()=>"");const d=typeof window!=="undefined"&&window?.navigator?.userAgent?a(window.navigator.userAgent):undefined;const h=[["aws-sdk-js",t],["ua","2.1"],[`os/${d?.os?.name||"other"}`,d?.os?.version],["lang/js"],["md/browser",`${d?.browser?.name??"unknown"}_${d?.browser?.version??"unknown"}`]];if(e){h.push([`api/${e}`,t])}const m=await(o?.userAgentAppId?.());if(m){h.push([`app/${m}`])}return h};const Qe={os(e){if(/iPhone|iPad|iPod/.test(e))return"iOS";if(/Macintosh|Mac OS X/.test(e))return"macOS";if(/Windows NT/.test(e))return"Windows";if(/Android/.test(e))return"Android";if(/Linux/.test(e))return"Linux";return undefined},browser(e){if(/EdgiOS|EdgA|Edg\//.test(e))return"Microsoft Edge";if(/Firefox\//.test(e))return"Firefox";if(/Chrome\//.test(e))return"Chrome";if(/Safari\//.test(e))return"Safari";return undefined}};const isVirtualHostableS3Bucket=(e,t=false)=>{if(t){for(const t of e.split(".")){if(!isVirtualHostableS3Bucket(t)){return false}}return true}if(!L.isValidHostLabel(e)){return false}if(e.length<3||e.length>63){return false}if(e!==e.toLowerCase()){return false}if(L.isIpAddress(e)){return false}return true};const ye=":";const we="/";const parseArn=e=>{const t=e.split(ye);if(t.length<6)return null;const[n,o,i,a,d,...h]=t;if(n!=="arn"||o===""||i===""||h.join(ye)==="")return null;const m=h.map((e=>e.split(we))).flat();return{partition:o,service:i,region:a,accountId:d,resourceId:m}};const be={isVirtualHostableS3Bucket:isVirtualHostableS3Bucket,parseArn:parseArn,partition:partition};L.customEndpointFunctions.aws=be;const resolveDefaultAwsRegionalEndpointsConfig=e=>{if(typeof e.endpointProvider!=="function"){throw new Error("@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.")}const{endpoint:t}=e;if(t===undefined){e.endpoint=async()=>toEndpointV1(e.endpointProvider({Region:typeof e.region==="function"?await e.region():e.region,UseDualStack:typeof e.useDualstackEndpoint==="function"?await e.useDualstackEndpoint():e.useDualstackEndpoint,UseFIPS:typeof e.useFipsEndpoint==="function"?await e.useFipsEndpoint():e.useFipsEndpoint,Endpoint:undefined},{logger:e.logger}))}return e};const toEndpointV1=e=>i.parseUrl(e.url);function stsRegionDefaultResolver(e={}){return Q.loadConfig({...Q.NODE_REGION_CONFIG_OPTIONS,async default(){if(!Se.silence){console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.")}return"us-east-1"}},{...Q.NODE_REGION_CONFIG_FILE_OPTIONS,...e})}const Se={silence:false};const getAwsRegionExtensionConfiguration=e=>({setRegion(t){e.region=t},region(){return e.region}});const resolveAwsRegionExtensionConfiguration=e=>({region:e.region()});t.NODE_REGION_CONFIG_FILE_OPTIONS=Q.NODE_REGION_CONFIG_FILE_OPTIONS;t.NODE_REGION_CONFIG_OPTIONS=Q.NODE_REGION_CONFIG_OPTIONS;t.REGION_ENV_NAME=Q.REGION_ENV_NAME;t.REGION_INI_NAME=Q.REGION_INI_NAME;t.resolveRegionConfig=Q.resolveRegionConfig;t.EndpointError=L.EndpointError;t.isIpAddress=L.isIpAddress;t.resolveEndpoint=L.resolveEndpoint;t.DEFAULT_UA_APP_ID=K;t.NODE_APP_ID_CONFIG_OPTIONS=Be;t.UA_APP_ID_ENV_NAME=Ce;t.UA_APP_ID_INI_NAME=me;t.awsEndpointFunctions=be;t.createDefaultUserAgentProvider=createDefaultUserAgentProvider;t.createUserAgentStringParsingProvider=createUserAgentStringParsingProvider;t.crtAvailability=fe;t.defaultUserAgent=Ee;t.emitWarningIfUnsupportedVersion=emitWarningIfUnsupportedVersion;t.fallback=Qe;t.getAwsRegionExtensionConfiguration=getAwsRegionExtensionConfiguration;t.getHostHeaderPlugin=getHostHeaderPlugin;t.getLoggerPlugin=getLoggerPlugin;t.getLongPollPlugin=getLongPollPlugin;t.getRecursionDetectionPlugin=getRecursionDetectionPlugin;t.getUserAgentMiddlewareOptions=le;t.getUserAgentPlugin=getUserAgentPlugin;t.getUserAgentPrefix=getUserAgentPrefix;t.hostHeaderMiddleware=hostHeaderMiddleware;t.hostHeaderMiddlewareOptions=H;t.isVirtualHostableS3Bucket=isVirtualHostableS3Bucket;t.loggerMiddleware=loggerMiddleware;t.loggerMiddlewareOptions=Y;t.parseArn=parseArn;t.partition=partition;t.recursionDetectionMiddleware=recursionDetectionMiddleware;t.recursionDetectionMiddlewareOptions=V;t.resolveAwsRegionExtensionConfiguration=resolveAwsRegionExtensionConfiguration;t.resolveDefaultAwsRegionalEndpointsConfig=resolveDefaultAwsRegionalEndpointsConfig;t.resolveHostHeaderConfig=resolveHostHeaderConfig;t.resolveUserAgentConfig=resolveUserAgentConfig;t.setCredentialFeature=setCredentialFeature;t.setFeature=setFeature;t.setPartitionInfo=setPartitionInfo;t.setTokenFeature=setTokenFeature;t.state=U;t.stsRegionDefaultResolver=stsRegionDefaultResolver;t.stsRegionWarning=Se;t.toEndpointV1=toEndpointV1;t.useDefaultPartitionInfo=useDefaultPartitionInfo;t.userAgentMiddleware=userAgentMiddleware},7523:(e,t,n)=>{"use strict";var o=n(3422);var i=n(402);var a=n(7291);var d=n(5152);var h=n(5118);const getDateHeader=e=>o.HttpResponse.isInstance(e)?e.headers?.date??e.headers?.Date:undefined;const getSkewCorrectedDate=e=>new Date(Date.now()+e);const isClockSkewed=(e,t)=>Math.abs(getSkewCorrectedDate(t).getTime()-e)>=3e5;const getUpdatedSystemClockOffset=(e,t)=>{const n=Date.parse(e);if(isClockSkewed(n,t)){return n-Date.now()}return t};const throwSigningPropertyError=(e,t)=>{if(!t){throw new Error(`Property \`${e}\` is not resolved for AWS SDK SigV4Auth`)}return t};const validateSigningProperties=async e=>{const t=throwSigningPropertyError("context",e.context);const n=throwSigningPropertyError("config",e.config);const o=t.endpointV2?.properties?.authSchemes?.[0];const i=throwSigningPropertyError("signer",n.signer);const a=await i(o);const d=e?.signingRegion;const h=e?.signingRegionSet;const m=e?.signingName;return{config:n,signer:a,signingRegion:d,signingRegionSet:h,signingName:m}};class AwsSdkSigV4Signer{async sign(e,t,n){if(!o.HttpRequest.isInstance(e)){throw new Error("The request is not an instance of `HttpRequest` and cannot be signed")}const i=await validateSigningProperties(n);const{config:a,signer:d}=i;let{signingRegion:h,signingName:m}=i;const Q=n.context;if(Q?.authSchemes?.length??0>1){const[e,t]=Q.authSchemes;if(e?.name==="sigv4a"&&t?.name==="sigv4"){h=t?.signingRegion??h;m=t?.signingName??m}}const k=await d.sign(e,{signingDate:getSkewCorrectedDate(a.systemClockOffset),signingRegion:h,signingService:m});return k}errorHandler(e){return t=>{const n=t.ServerTime??getDateHeader(t.$response);if(n){const o=throwSigningPropertyError("config",e.config);const i=o.systemClockOffset;o.systemClockOffset=getUpdatedSystemClockOffset(n,o.systemClockOffset);const a=o.systemClockOffset!==i;if(a&&t.$metadata){t.$metadata.clockSkewCorrected=true}}throw t}}successHandler(e,t){const n=getDateHeader(e);if(n){const e=throwSigningPropertyError("config",t.config);e.systemClockOffset=getUpdatedSystemClockOffset(n,e.systemClockOffset)}}}const m=AwsSdkSigV4Signer;class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer{async sign(e,t,n){if(!o.HttpRequest.isInstance(e)){throw new Error("The request is not an instance of `HttpRequest` and cannot be signed")}const{config:i,signer:a,signingRegion:d,signingRegionSet:h,signingName:m}=await validateSigningProperties(n);const Q=await(i.sigv4aSigningRegionSet?.());const k=(Q??h??[d]).join(",");const _=await a.sign(e,{signingDate:getSkewCorrectedDate(i.systemClockOffset),signingRegion:k,signingService:m});return _}}const getArrayForCommaSeparatedString=e=>typeof e==="string"&&e.length>0?e.split(",").map((e=>e.trim())):[];const getBearerTokenEnvKey=e=>`AWS_BEARER_TOKEN_${e.replace(/[\s-]/g,"_").toUpperCase()}`;const Q="AWS_AUTH_SCHEME_PREFERENCE";const k="auth_scheme_preference";const _={environmentVariableSelector:(e,t)=>{if(t?.signingName){const n=getBearerTokenEnvKey(t.signingName);if(n in e)return["httpBearerAuth"]}if(!(Q in e))return undefined;return getArrayForCommaSeparatedString(e[Q])},configFileSelector:e=>{if(!(k in e))return undefined;return getArrayForCommaSeparatedString(e[k])},default:[]};const resolveAwsSdkSigV4AConfig=e=>{e.sigv4aSigningRegionSet=i.normalizeProvider(e.sigv4aSigningRegionSet);return e};const L={environmentVariableSelector(e){if(e.AWS_SIGV4A_SIGNING_REGION_SET){return e.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((e=>e.trim()))}throw new a.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.",{tryNextLink:true})},configFileSelector(e){if(e.sigv4a_signing_region_set){return(e.sigv4a_signing_region_set??"").split(",").map((e=>e.trim()))}throw new a.ProviderError("sigv4a_signing_region_set not set in profile.",{tryNextLink:true})},default:undefined};const resolveAwsSdkSigV4Config=e=>{let t=e.credentials;let n=!!e.credentials;let o=undefined;Object.defineProperty(e,"credentials",{set(i){if(i&&i!==t&&i!==o){n=true}t=i;const a=normalizeCredentialProvider(e,{credentials:t,credentialDefaultProvider:e.credentialDefaultProvider});const h=bindCallerConfig(e,a);if(n&&!h.attributed){const e=typeof t==="object"&&t!==null;o=async t=>{const n=await h(t);const o=n;if(e&&(!o.$source||Object.keys(o.$source).length===0)){return d.setCredentialFeature(o,"CREDENTIALS_CODE","e")}return o};o.memoized=h.memoized;o.configBound=h.configBound;o.attributed=true}else{o=h}},get(){return o},enumerable:true,configurable:true});e.credentials=t;const{signingEscapePath:a=true,systemClockOffset:m=e.systemClockOffset||0,sha256:Q}=e;let k;if(e.signer){k=i.normalizeProvider(e.signer)}else if(e.regionInfoProvider){k=()=>i.normalizeProvider(e.region)().then((async t=>[await e.regionInfoProvider(t,{useFipsEndpoint:await e.useFipsEndpoint(),useDualstackEndpoint:await e.useDualstackEndpoint()})||{},t])).then((([t,n])=>{const{signingRegion:o,signingService:i}=t;e.signingRegion=e.signingRegion||o||n;e.signingName=e.signingName||i||e.serviceId;const d={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:Q,uriEscapePath:a};const m=e.signerConstructor||h.SignatureV4;return new m(d)}))}else{k=async t=>{t=Object.assign({},{name:"sigv4",signingName:e.signingName||e.defaultSigningName,signingRegion:await i.normalizeProvider(e.region)(),properties:{}},t);const n=t.signingRegion;const o=t.signingName;e.signingRegion=e.signingRegion||n;e.signingName=e.signingName||o||e.serviceId;const d={...e,credentials:e.credentials,region:e.signingRegion,service:e.signingName,sha256:Q,uriEscapePath:a};const m=e.signerConstructor||h.SignatureV4;return new m(d)}}const _=Object.assign(e,{systemClockOffset:m,signingEscapePath:a,signer:k});return _};const U=resolveAwsSdkSigV4Config;function normalizeCredentialProvider(e,{credentials:t,credentialDefaultProvider:n}){let o;if(t){if(!t?.memoized){o=i.memoizeIdentityProvider(t,i.isIdentityExpired,i.doesIdentityRequireRefresh)}else{o=t}}else{if(n){o=i.normalizeProvider(n(Object.assign({},e,{parentClientConfig:e})))}else{o=async()=>{throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.")}}}o.memoized=true;return o}function bindCallerConfig(e,t){if(t.configBound){return t}const fn=async n=>t({...n,callerClientConfig:e});fn.memoized=t.memoized;fn.configBound=true;return fn}t.AWSSDKSigV4Signer=m;t.AwsSdkSigV4ASigner=AwsSdkSigV4ASigner;t.AwsSdkSigV4Signer=AwsSdkSigV4Signer;t.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS=_;t.NODE_SIGV4A_CONFIG_OPTIONS=L;t.getBearerTokenEnvKey=getBearerTokenEnvKey;t.resolveAWSSDKSigV4Config=U;t.resolveAwsSdkSigV4AConfig=resolveAwsSdkSigV4AConfig;t.resolveAwsSdkSigV4Config=resolveAwsSdkSigV4Config;t.validateSigningProperties=validateSigningProperties},7288:(e,t,n)=>{"use strict";var o=n(4645);var i=n(6890);var a=n(2658);var d=n(3422);var h=n(2430);var m=n(4274);class ProtocolLib{queryCompat;errorRegistry;constructor(e=false){this.queryCompat=e}resolveRestContentType(e,t){const n=t.getMemberSchemas();const o=Object.values(n).find((e=>!!e.getMergedTraits().httpPayload));if(o){const t=o.getMergedTraits().mediaType;if(t){return t}else if(o.isStringSchema()){return"text/plain"}else if(o.isBlobSchema()){return"application/octet-stream"}else{return e}}else if(!t.isUnitSchema()){const t=Object.values(n).find((e=>{const{httpQuery:t,httpQueryParams:n,httpHeader:o,httpLabel:i,httpPrefixHeaders:a}=e.getMergedTraits();const d=a===void 0;return!t&&!n&&!o&&!i&&d}));if(t){return e}}}async getErrorSchemaOrThrowBaseException(e,t,n,o,i,a){let d=e;if(e.includes("#")){[,d]=e.split("#")}const h={$metadata:i,$fault:n.statusCode<500?"client":"server"};if(!this.errorRegistry){throw new Error("@aws-sdk/core/protocols - error handler not initialized.")}try{const t=a?.(this.errorRegistry,d)??this.errorRegistry.getSchema(e);return{errorSchema:t,errorMetadata:h}}catch(e){o.message=o.message??o.Message??"UnknownError";const t=this.errorRegistry;const n=t.getBaseException();if(n){const e=t.getErrorCtor(n)??Error;throw this.decorateServiceException(Object.assign(new e({name:d}),h),o)}const i=o;const a=i?.message??i?.Message??i?.Error?.Message??i?.Error?.message;throw this.decorateServiceException(Object.assign(new Error(a),{name:d},h),o)}}compose(e,t,n){let o=n;if(t.includes("#")){[o]=t.split("#")}const a=i.TypeRegistry.for(o);const d=i.TypeRegistry.for("smithy.ts.sdk.synthetic."+n);e.copyFrom(a);e.copyFrom(d);this.errorRegistry=e}decorateServiceException(e,t={}){if(this.queryCompat){const n=e.Message??t.Message;const o=a.decorateServiceException(e,t);if(n){o.message=n}const i=o.Error??{};i.Type=o.Error?.Type;i.Code=o.Error?.Code;i.Message=o.Error?.message??o.Error?.Message??n;o.Error=i;const d=o.$metadata.requestId;if(d){o.RequestId=d}return o}return a.decorateServiceException(e,t)}setQueryCompatError(e,t){const n=t.headers?.["x-amzn-query-error"];if(e!==undefined&&n!=null){const[t,o]=n.split(";");const i=Object.keys(e);const a={Code:t,Type:o};e.Code=t;e.Type=o;for(let t=0;t<i.length;t++){const n=i[t];a[n==="message"?"Message":n]=e[n]}delete a.__type;e.Error=a}}queryCompatOutput(e,t){if(e.Error){t.Error=e.Error}if(e.Type){t.Type=e.Type}if(e.Code){t.Code=e.Code}}findQueryCompatibleError(e,t){try{return e.getSchema(t)}catch(n){return e.find((e=>i.NormalizedSchema.of(e).getMergedTraits().awsQueryError?.[0]===t))}}}class AwsSmithyRpcV2CborProtocol extends o.SmithyRpcV2CborProtocol{awsQueryCompatible;mixin;constructor({defaultNamespace:e,errorTypeRegistries:t,awsQueryCompatible:n}){super({defaultNamespace:e,errorTypeRegistries:t});this.awsQueryCompatible=!!n;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);if(this.awsQueryCompatible){o.headers["x-amzn-query-mode"]="true"}return o}async handleError(e,t,n,a,d){if(this.awsQueryCompatible){this.mixin.setQueryCompatError(a,n)}const h=(()=>{const e=n.headers["x-amzn-query-error"];if(e&&this.awsQueryCompatible){return e.split(";")[0]}return o.loadSmithyRpcV2CborErrorCode(n,a)??"Unknown"})();this.mixin.compose(this.compositeErrorRegistry,h,this.options.defaultNamespace);const{errorSchema:m,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,n,a,d,this.awsQueryCompatible?this.mixin.findQueryCompatibleError:undefined);const k=i.NormalizedSchema.of(m);const _=a.message??a.Message??"UnknownError";const L=this.compositeErrorRegistry.getErrorCtor(m)??Error;const U=new L({});const P={};for(const[e,t]of k.structIterator()){if(a[e]!=null){P[e]=this.deserializer.readValue(t,a[e])}}if(this.awsQueryCompatible){this.mixin.queryCompatOutput(a,P)}throw this.mixin.decorateServiceException(Object.assign(U,Q,{$fault:k.getMergedTraits().error,message:_},P),a)}}const _toStr=e=>{if(e==null){return e}if(typeof e==="number"||typeof e==="bigint"){const t=new Error(`Received number ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}if(typeof e==="boolean"){const t=new Error(`Received boolean ${e} where a string was expected.`);t.name="Warning";console.warn(t);return String(e)}return e};const _toBool=e=>{if(e==null){return e}if(typeof e==="string"){const t=e.toLowerCase();if(e!==""&&t!=="false"&&t!=="true"){const t=new Error(`Received string "${e}" where a boolean was expected.`);t.name="Warning";console.warn(t)}return e!==""&&t!=="false"}return e};const _toNum=e=>{if(e==null){return e}if(typeof e==="string"){const t=Number(e);if(t.toString()!==e){const t=new Error(`Received string "${e}" where a number was expected.`);t.name="Warning";console.warn(t);return e}return t}return e};class SerdeContextConfig{serdeContext;setSerdeContext(e){this.serdeContext=e}}class UnionSerde{from;to;keys;constructor(e,t){this.from=e;this.to=t;const n=Object.keys(this.from);const o=new Set(n);o.delete("__type");this.keys=o}mark(e){this.keys.delete(e)}hasUnknown(){return this.keys.size===1&&Object.keys(this.to).length===0}writeUnknown(){if(this.hasUnknown()){const e=this.keys.values().next().value;const t=this.from[e];this.to.$unknown=[e,t]}}}function jsonReviver(e,t,n){if(n?.source){const e=n.source;if(typeof t==="number"){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER||e!==String(t)){const t=e.includes(".");if(t){return new h.NumericValue(e,"bigDecimal")}else{return BigInt(e)}}}}return t}const collectBodyString=(e,t)=>d.collectBody(e,t).then((e=>(t?.utf8Encoder??h.toUtf8)(e)));const parseJsonBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){try{return JSON.parse(e)}catch(t){if(t?.name==="SyntaxError"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}}return{}}));const parseJsonErrorBody=async(e,t)=>{const n=await parseJsonBody(e,t);n.message=n.message??n.Message;return n};const findKey=(e,t)=>Object.keys(e).find((e=>e.toLowerCase()===t.toLowerCase()));const sanitizeErrorCode=(e,t=true)=>{let n=e;if(typeof n==="number"){n=n.toString()}if(n.indexOf(",")>=0){n=n.split(",")[0]}if(n.indexOf(":")>=0){n=n.split(":")[0]}if(t&&n.indexOf("#")>=0){n=n.split("#")[1]}return n};const loadRestJsonErrorCode=(e,t)=>loadErrorCode(e,t,true,["header","code","type"]);const loadJsonRpcErrorCode=(e,t,n,o=false)=>loadErrorCode(e,t,n,o?["code","header","type"]:["type","code","header"]);const loadErrorCode=({headers:e},t,n,o)=>{while(o.length>0){const i=o.shift();switch(i){case"header":const o=findKey(e??{},"x-amzn-errortype");if(o!==undefined){return sanitizeErrorCode(e[o],n)}break;case"code":const i=findKey(t??{},"code");if(i&&t[i]!==undefined){return sanitizeErrorCode(t[i],n)}break;case"type":if(t?.__type!==undefined){return sanitizeErrorCode(t.__type,n)}break}}};class JsonShapeDeserializer extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}async read(e,t){return this._read(e,typeof t==="string"?JSON.parse(t,jsonReviver):await parseJsonBody(t,this.serdeContext))}readObject(e,t){return this._read(e,t)}_read(e,t){const n=t!==null&&typeof t==="object";const o=i.NormalizedSchema.of(e);if(n){if(o.isStructSchema()){const e=t;const n=o.isUnionSchema();const i={};let a=void 0;const{jsonName:d}=this.settings;if(d){a={}}let h;if(n){h=new UnionSerde(e,i)}for(const[t,m]of o.structIterator()){let o=t;if(d){o=m.getMergedTraits().jsonName??o;a[o]=t}if(n){h.mark(o)}if(e[o]!=null){i[t]=this._read(m,e[o])}}if(n){h.writeUnknown()}else if(typeof e.__type==="string"){for(const t in e){const n=e[t];const o=d?a[t]??t:t;if(!(o in i)){i[o]=n}}}return i}if(Array.isArray(t)&&o.isListSchema()){const e=o.getValueSchema();const n=[];for(const o of t){n.push(this._read(e,o))}return n}if(o.isMapSchema()){const e=o.getValueSchema();const n={};for(const o in t){n[o]=this._read(e,t[o])}return n}}if(o.isBlobSchema()&&typeof t==="string"){return h.fromBase64(t)}const a=o.getMergedTraits().mediaType;if(o.isStringSchema()&&typeof t==="string"&&a){const e=a==="application/json"||a.endsWith("+json");if(e){return h.LazyJsonString.from(t)}return t}if(o.isTimestampSchema()&&t!=null){const e=d.determineTimestampFormat(o,this.settings);switch(e){case 5:return h.parseRfc3339DateTimeWithOffset(t);case 6:return h.parseRfc7231DateTime(t);case 7:return h.parseEpochTimestamp(t);default:console.warn("Missing timestamp format, parsing value with Date constructor:",t);return new Date(t)}}if(o.isBigIntegerSchema()&&(typeof t==="number"||typeof t==="string")){return BigInt(t)}if(o.isBigDecimalSchema()&&t!=undefined){if(t instanceof h.NumericValue){return t}const e=t;if(e.type==="bigDecimal"&&"string"in e){return new h.NumericValue(e.string,e.type)}return new h.NumericValue(String(t),"bigDecimal")}if(o.isNumericSchema()&&typeof t==="string"){switch(t){case"Infinity":return Infinity;case"-Infinity":return-Infinity;case"NaN":return NaN}return t}if(o.isDocumentSchema()){if(n){const e=Array.isArray(t)?[]:{};for(const n in t){const i=t[n];if(i instanceof h.NumericValue){e[n]=i}else{e[n]=this._read(o,i)}}return e}else{return structuredClone(t)}}return t}}const Q=String.fromCharCode(925);class JsonReplacer{values=new Map;counter=0;stage=0;createReplacer(){if(this.stage===1){throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=1;return(e,t)=>{if(t instanceof h.NumericValue){const e=`${Q+"nv"+this.counter++}_`+t.string;this.values.set(`"${e}"`,t.string);return e}if(typeof t==="bigint"){const e=t.toString();const n=`${Q+"b"+this.counter++}_`+e;this.values.set(`"${n}"`,e);return n}return t}}replaceInJson(e){if(this.stage===0){throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.")}if(this.stage===2){throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.")}this.stage=2;if(this.counter===0){return e}for(const[t,n]of this.values){e=e.replace(t,n)}return e}}class JsonShapeSerializer extends SerdeContextConfig{settings;buffer;useReplacer=false;rootSchema;constructor(e){super();this.settings=e}write(e,t){this.rootSchema=i.NormalizedSchema.of(e);this.buffer=this._write(this.rootSchema,t)}flush(){const{rootSchema:e,useReplacer:t}=this;this.rootSchema=undefined;this.useReplacer=false;if(e?.isStructSchema()||e?.isDocumentSchema()){if(!t){return JSON.stringify(this.buffer)}const e=new JsonReplacer;return e.replaceInJson(JSON.stringify(this.buffer,e.createReplacer(),0))}return this.buffer}writeDiscriminatedDocument(e,t){this.write(e,t);if(typeof this.buffer==="object"){this.buffer.__type=i.NormalizedSchema.of(e).getName(true)}}_write(e,t,n){const o=t!==null&&typeof t==="object";const a=i.NormalizedSchema.of(e);if(o){if(a.isStructSchema()){const e=t;const n={};const{jsonName:o}=this.settings;let i=void 0;if(o){i={}}let d=0;for(const[t,h]of a.structIterator()){const m=this._write(h,e[t],a);if(m!==undefined){let e=t;if(o){e=h.getMergedTraits().jsonName??t;i[t]=e}n[e]=m;d++}}if(a.isUnionSchema()&&d===0){const{$unknown:t}=e;if(Array.isArray(t)){const[e,o]=t;n[e]=this._write(15,o)}}else if(typeof e.__type==="string"){for(const t in e){const a=e[t];const d=o?i[t]??t:t;if(!(d in n)){n[d]=this._write(15,a)}}}return n}if(Array.isArray(t)&&a.isListSchema()){const e=a.getValueSchema();const n=[];const o=!!a.getMergedTraits().sparse;for(const i of t){if(o||i!=null){n.push(this._write(e,i))}}return n}if(a.isMapSchema()){const e=a.getValueSchema();const n={};const o=!!a.getMergedTraits().sparse;for(const i in t){const a=t[i];if(o||a!=null){n[i]=this._write(e,a)}}return n}if(t instanceof Uint8Array&&(a.isBlobSchema()||a.isDocumentSchema())){if(a===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??h.toBase64)(t)}if(t instanceof Date&&(a.isTimestampSchema()||a.isDocumentSchema())){const e=d.determineTimestampFormat(a,this.settings);switch(e){case 5:return t.toISOString().replace(".000Z","Z");case 6:return h.dateToUtcString(t);case 7:return t.getTime()/1e3;default:console.warn("Missing timestamp format, using epoch seconds",t);return t.getTime()/1e3}}if(t instanceof h.NumericValue){this.useReplacer=true}}if(t===null&&n?.isStructSchema()){return void 0}if(a.isStringSchema()){if(typeof t==="undefined"&&a.isIdempotencyToken()){return h.generateIdempotencyToken()}const e=a.getMergedTraits().mediaType;if(t!=null&&e){const n=e==="application/json"||e.endsWith("+json");if(n){return h.LazyJsonString.from(t)}}return t}if(typeof t==="number"&&a.isNumericSchema()){if(Math.abs(t)===Infinity||isNaN(t)){return String(t)}return t}if(typeof t==="string"&&a.isBlobSchema()){if(a===this.rootSchema){return t}return(this.serdeContext?.base64Encoder??h.toBase64)(t)}if(typeof t==="bigint"){this.useReplacer=true}if(a.isDocumentSchema()){if(o){const e=Array.isArray(t)?[]:{};for(const n in t){const o=t[n];if(o instanceof h.NumericValue){this.useReplacer=true;e[n]=o}else{e[n]=this._write(a,o)}}return e}else{return structuredClone(t)}}return t}}class JsonCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new JsonShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new JsonShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsJsonRpcProtocol extends d.RpcProtocol{serializer;deserializer;serviceTarget;codec;mixin;awsQueryCompatible;constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:o,jsonCodec:i}){super({defaultNamespace:e,errorTypeRegistries:t});this.serviceTarget=n;this.codec=i??new JsonCodec({timestampFormat:{useTrait:true,default:7},jsonName:false});this.serializer=this.codec.createSerializer();this.deserializer=this.codec.createDeserializer();this.awsQueryCompatible=!!o;this.mixin=new ProtocolLib(this.awsQueryCompatible)}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);if(!o.path.endsWith("/")){o.path+="/"}o.headers["content-type"]=`application/x-amz-json-${this.getJsonRpcVersion()}`;o.headers["x-amz-target"]=`${this.serviceTarget}.${e.name}`;if(this.awsQueryCompatible){o.headers["x-amzn-query-mode"]="true"}if(i.deref(e.input)==="unit"||!o.body){o.body="{}"}return o}getPayloadCodec(){return this.codec}async handleError(e,t,n,o,a){const{awsQueryCompatible:d}=this;if(d){this.mixin.setQueryCompatError(o,n)}const h=loadJsonRpcErrorCode(n,o,this.getJsonRpcVersion()==="1.1",d)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,h,this.options.defaultNamespace);const{errorSchema:m,errorMetadata:Q}=await this.mixin.getErrorSchemaOrThrowBaseException(h,this.options.defaultNamespace,n,o,a,d?this.mixin.findQueryCompatibleError:undefined);const k=i.NormalizedSchema.of(m);const _=o.message??o.Message??"UnknownError";const L=this.compositeErrorRegistry.getErrorCtor(m)??Error;const U=new L({});const P={};const H=this.codec.createDeserializer();for(const[e,t]of k.structIterator()){if(o[e]!=null){P[e]=H.readObject(t,o[e])}}if(d){this.mixin.queryCompatOutput(o,P)}throw this.mixin.decorateServiceException(Object.assign(U,Q,{$fault:k.getMergedTraits().error,message:_},P),o)}}class AwsJson1_0Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:o,jsonCodec:i}){super({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:o,jsonCodec:i})}getShapeId(){return"aws.protocols#awsJson1_0"}getJsonRpcVersion(){return"1.0"}getDefaultContentType(){return"application/x-amz-json-1.0"}}class AwsJson1_1Protocol extends AwsJsonRpcProtocol{constructor({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:o,jsonCodec:i}){super({defaultNamespace:e,errorTypeRegistries:t,serviceTarget:n,awsQueryCompatible:o,jsonCodec:i})}getShapeId(){return"aws.protocols#awsJson1_1"}getJsonRpcVersion(){return"1.1"}getDefaultContentType(){return"application/x-amz-json-1.1"}}class AwsRestJsonProtocol extends d.HttpBindingProtocol{serializer;deserializer;codec;mixin=new ProtocolLib;constructor({defaultNamespace:e,errorTypeRegistries:t}){super({defaultNamespace:e,errorTypeRegistries:t});const n={timestampFormat:{useTrait:true,default:7},httpBindings:true,jsonName:true};this.codec=new JsonCodec(n);this.serializer=new d.HttpInterceptingShapeSerializer(this.codec.createSerializer(),n);this.deserializer=new d.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),n)}getShapeId(){return"aws.protocols#restJson1"}getPayloadCodec(){return this.codec}setSerdeContext(e){this.codec.setSerdeContext(e);super.setSerdeContext(e)}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);const a=i.NormalizedSchema.of(e.input);if(!o.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);if(e){o.headers["content-type"]=e}}if(o.body==null&&o.headers["content-type"]===this.getDefaultContentType()){o.body="{}"}return o}async deserializeResponse(e,t,n){const o=await super.deserializeResponse(e,t,n);const a=i.NormalizedSchema.of(e.output);for(const[e,t]of a.structIterator()){if(t.getMemberTraits().httpPayload&&!(e in o)){o[e]=null}}return o}async handleError(e,t,n,o,a){const d=loadRestJsonErrorCode(n,o)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,d,this.options.defaultNamespace);const{errorSchema:h,errorMetadata:m}=await this.mixin.getErrorSchemaOrThrowBaseException(d,this.options.defaultNamespace,n,o,a);const Q=i.NormalizedSchema.of(h);const k=o.message??o.Message??"UnknownError";const _=this.compositeErrorRegistry.getErrorCtor(h)??Error;const L=new _({});await this.deserializeHttpMessage(h,t,n,o);const U={};const P=this.codec.createDeserializer();for(const[e,t]of Q.structIterator()){const n=t.getMergedTraits().jsonName??e;U[e]=P.readObject(t,o[n])}throw this.mixin.decorateServiceException(Object.assign(L,m,{$fault:Q.getMergedTraits().error,message:k},U),o)}getDefaultContentType(){return"application/json"}}const awsExpectUnion=e=>{if(e==null){return undefined}if(typeof e==="object"&&"__type"in e){delete e.__type}return h.expectUnion(e)};class XmlShapeDeserializer extends SerdeContextConfig{settings;stringDeserializer;constructor(e){super();this.settings=e;this.stringDeserializer=new d.FromStringShapeDeserializer(e)}setSerdeContext(e){this.serdeContext=e;this.stringDeserializer.setSerdeContext(e)}read(e,t,n){const o=i.NormalizedSchema.of(e);const a=o.getMemberSchemas();const d=o.isStructSchema()&&o.isMemberSchema()&&!!Object.values(a).find((e=>!!e.getMemberTraits().eventPayload));if(d){const e={};const n=Object.keys(a)[0];const o=a[n];if(o.isBlobSchema()){e[n]=t}else{e[n]=this.read(a[n],t)}return e}const m=(this.serdeContext?.utf8Encoder??h.toUtf8)(t);const Q=this.parseXml(m);return this.readSchema(e,n?Q[n]:Q)}readSchema(e,t){const n=i.NormalizedSchema.of(e);if(n.isUnitSchema()){return}const o=n.getMergedTraits();if(n.isListSchema()&&!Array.isArray(t)){return this.readSchema(n,[t])}if(t==null){return t}if(typeof t==="object"){const e=!!o.xmlFlattened;if(n.isListSchema()){const o=n.getValueSchema();const i=[];const a=o.getMergedTraits().xmlName??"member";const d=e?t:(t[0]??t)[a];if(d==null){return i}const h=Array.isArray(d)?d:[d];for(const e of h){i.push(this.readSchema(o,e))}return i}const i={};if(n.isMapSchema()){const o=n.getKeySchema();const a=n.getValueSchema();let d;if(e){d=Array.isArray(t)?t:[t]}else{d=Array.isArray(t.entry)?t.entry:[t.entry]}const h=o.getMergedTraits().xmlName??"key";const m=a.getMergedTraits().xmlName??"value";for(const e of d){const t=e[h];const n=e[m];i[t]=this.readSchema(a,n)}return i}if(n.isStructSchema()){const e=n.isUnionSchema();let o;if(e){o=new UnionSerde(t,i)}for(const[a,d]of n.structIterator()){const n=d.getMergedTraits();const h=!n.httpPayload?d.getMemberTraits().xmlName??a:n.xmlName??d.getName();if(e){o.mark(h)}if(t[h]!=null){i[a]=this.readSchema(d,t[h])}}if(e){o.writeUnknown()}return i}if(n.isDocumentSchema()){return t}throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${n.getName(true)}`)}if(n.isListSchema()){return[]}if(n.isMapSchema()||n.isStructSchema()){return{}}return this.stringDeserializer.read(n,t)}parseXml(e){if(e.length){let t;try{t=m.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const n="#text";const o=Object.keys(t)[0];const i=t[o];if(i[n]){i[o]=i[n];delete i[n]}return a.getValueFromTextNode(i)}return{}}}class QueryShapeSerializer extends SerdeContextConfig{settings;buffer;constructor(e){super();this.settings=e}write(e,t,n=""){if(this.buffer===undefined){this.buffer=""}const o=i.NormalizedSchema.of(e);if(n&&!n.endsWith(".")){n+="."}if(o.isBlobSchema()){if(typeof t==="string"||t instanceof Uint8Array){this.writeKey(n);this.writeValue((this.serdeContext?.base64Encoder??h.toBase64)(t))}}else if(o.isBooleanSchema()||o.isNumericSchema()||o.isStringSchema()){if(t!=null){this.writeKey(n);this.writeValue(String(t))}else if(o.isIdempotencyToken()){this.writeKey(n);this.writeValue(h.generateIdempotencyToken())}}else if(o.isBigIntegerSchema()){if(t!=null){this.writeKey(n);this.writeValue(String(t))}}else if(o.isBigDecimalSchema()){if(t!=null){this.writeKey(n);this.writeValue(t instanceof h.NumericValue?t.string:String(t))}}else if(o.isTimestampSchema()){if(t instanceof Date){this.writeKey(n);const e=d.determineTimestampFormat(o,this.settings);switch(e){case 5:this.writeValue(t.toISOString().replace(".000Z","Z"));break;case 6:this.writeValue(h.dateToUtcString(t));break;case 7:this.writeValue(String(t.getTime()/1e3));break}}}else if(o.isDocumentSchema()){if(Array.isArray(t)){this.write(64|15,t,n)}else if(t instanceof Date){this.write(4,t,n)}else if(t instanceof Uint8Array){this.write(21,t,n)}else if(t&&typeof t==="object"){this.write(128|15,t,n)}else{this.writeKey(n);this.writeValue(String(t))}}else if(o.isListSchema()){if(Array.isArray(t)){if(t.length===0){if(this.settings.serializeEmptyLists){this.writeKey(n);this.writeValue("")}}else{const e=o.getValueSchema();const i=this.settings.flattenLists||o.getMergedTraits().xmlFlattened;let a=1;for(const o of t){if(o==null){continue}const t=e.getMergedTraits();const d=this.getKey("member",t.xmlName,t.ec2QueryName);const h=i?`${n}${a}`:`${n}${d}.${a}`;this.write(e,o,h);++a}}}}else if(o.isMapSchema()){if(t&&typeof t==="object"){const e=o.getKeySchema();const i=o.getValueSchema();const a=o.getMergedTraits().xmlFlattened;let d=1;for(const o in t){const h=t[o];if(h==null){continue}const m=e.getMergedTraits();const Q=this.getKey("key",m.xmlName,m.ec2QueryName);const k=a?`${n}${d}.${Q}`:`${n}entry.${d}.${Q}`;const _=i.getMergedTraits();const L=this.getKey("value",_.xmlName,_.ec2QueryName);const U=a?`${n}${d}.${L}`:`${n}entry.${d}.${L}`;this.write(e,o,k);this.write(i,h,U);++d}}}else if(o.isStructSchema()){if(t&&typeof t==="object"){let e=false;for(const[i,a]of o.structIterator()){if(t[i]==null&&!a.isIdempotencyToken()){continue}const o=a.getMergedTraits();const d=this.getKey(i,o.xmlName,o.ec2QueryName,"struct");const h=`${n}${d}`;this.write(a,t[i],h);e=true}if(!e&&o.isUnionSchema()){const{$unknown:e}=t;if(Array.isArray(e)){const[t,o]=e;const i=`${n}${t}`;this.write(15,o,i)}}}}else if(o.isUnitSchema());else{throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${o.getName(true)}`)}}flush(){if(this.buffer===undefined){throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.")}const e=this.buffer;delete this.buffer;return e}getKey(e,t,n,o){const{ec2:i,capitalizeKeys:a}=this.settings;if(i&&n){return n}const d=t??e;if(a&&o==="struct"){return d[0].toUpperCase()+d.slice(1)}return d}writeKey(e){if(e.endsWith(".")){e=e.slice(0,e.length-1)}this.buffer+=`&${d.extendedEncodeURIComponent(e)}=`}writeValue(e){this.buffer+=d.extendedEncodeURIComponent(e)}}class AwsQueryProtocol extends d.RpcProtocol{options;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super({defaultNamespace:e.defaultNamespace,errorTypeRegistries:e.errorTypeRegistries});this.options=e;const t={timestampFormat:{useTrait:true,default:5},httpBindings:false,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace,serializeEmptyLists:true};this.serializer=new QueryShapeSerializer(t);this.deserializer=new XmlShapeDeserializer(t)}getShapeId(){return"aws.protocols#awsQuery"}setSerdeContext(e){this.serializer.setSerdeContext(e);this.deserializer.setSerdeContext(e)}getPayloadCodec(){throw new Error("AWSQuery protocol has no payload codec.")}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);if(!o.path.endsWith("/")){o.path+="/"}o.headers["content-type"]="application/x-www-form-urlencoded";if(i.deref(e.input)==="unit"||!o.body){o.body=""}const a=e.name.split("#")[1]??e.name;o.body=`Action=${a}&Version=${this.options.version}`+o.body;if(o.body.endsWith("&")){o.body=o.body.slice(-1)}return o}async deserializeResponse(e,t,n){const o=this.deserializer;const a=i.NormalizedSchema.of(e.output);const h={};if(n.statusCode>=300){const i=await d.collectBody(n.body,t);if(i.byteLength>0){Object.assign(h,await o.read(15,i))}await this.handleError(e,t,n,h,this.deserializeMetadata(n))}for(const e in n.headers){const t=n.headers[e];delete n.headers[e];n.headers[e.toLowerCase()]=t}const m=e.name.split("#")[1]??e.name;const Q=a.isStructSchema()&&this.useNestedResult()?m+"Result":undefined;const k=await d.collectBody(n.body,t);if(k.byteLength>0){Object.assign(h,await o.read(a,k,Q))}h.$metadata=this.deserializeMetadata(n);return h}useNestedResult(){return true}async handleError(e,t,n,o,a){const d=this.loadQueryErrorCode(n,o)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,d,this.options.defaultNamespace);const h=this.loadQueryError(o)??{};const m=this.loadQueryErrorMessage(o);h.message=m;h.Error={Type:h.Type,Code:h.Code,Message:m};const{errorSchema:Q,errorMetadata:k}=await this.mixin.getErrorSchemaOrThrowBaseException(d,this.options.defaultNamespace,n,h,a,this.mixin.findQueryCompatibleError);const _=i.NormalizedSchema.of(Q);const L=this.compositeErrorRegistry.getErrorCtor(Q)??Error;const U=new L({});const P={Type:h.Error.Type,Code:h.Error.Code,Error:h.Error};for(const[e,t]of _.structIterator()){const n=t.getMergedTraits().xmlName??e;const i=h[n]??o[n];P[e]=this.deserializer.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(U,k,{$fault:_.getMergedTraits().error,message:m},P),o)}loadQueryErrorCode(e,t){const n=(t.Errors?.[0]?.Error??t.Errors?.Error??t.Error)?.Code;if(n!==undefined){return n}if(e.statusCode==404){return"NotFound"}}loadQueryError(e){return e.Errors?.[0]?.Error??e.Errors?.Error??e.Error}loadQueryErrorMessage(e){const t=this.loadQueryError(e);return t?.message??t?.Message??e.message??e.Message??"Unknown"}getDefaultContentType(){return"application/x-www-form-urlencoded"}}class AwsEc2QueryProtocol extends AwsQueryProtocol{options;constructor(e){super(e);this.options=e;const t={capitalizeKeys:true,flattenLists:true,serializeEmptyLists:false,ec2:true};Object.assign(this.serializer.settings,t)}getShapeId(){return"aws.protocols#ec2Query"}useNestedResult(){return false}}const parseXmlBody=(e,t)=>collectBodyString(e,t).then((e=>{if(e.length){let t;try{t=m.parseXML(e)}catch(t){if(t&&typeof t==="object"){Object.defineProperty(t,"$responseBodyText",{value:e})}throw t}const n="#text";const o=Object.keys(t)[0];const i=t[o];if(i[n]){i[o]=i[n];delete i[n]}return a.getValueFromTextNode(i)}return{}}));const parseXmlErrorBody=async(e,t)=>{const n=await parseXmlBody(e,t);if(n.Error){n.Error.message=n.Error.message??n.Error.Message}return n};const loadRestXmlErrorCode=(e,t)=>{if(t?.Error?.Code!==undefined){return t.Error.Code}if(t?.Code!==undefined){return t.Code}if(e.statusCode==404){return"NotFound"}};class XmlShapeSerializer extends SerdeContextConfig{settings;stringBuffer;byteBuffer;buffer;constructor(e){super();this.settings=e}write(e,t){const n=i.NormalizedSchema.of(e);if(n.isStringSchema()&&typeof t==="string"){this.stringBuffer=t}else if(n.isBlobSchema()){this.byteBuffer="byteLength"in t?t:(this.serdeContext?.base64Decoder??h.fromBase64)(t)}else{this.buffer=this.writeStruct(n,t,undefined);const e=n.getMergedTraits();if(e.httpPayload&&!e.xmlName){this.buffer.withName(n.getName())}}}flush(){if(this.byteBuffer!==undefined){const e=this.byteBuffer;delete this.byteBuffer;return e}if(this.stringBuffer!==undefined){const e=this.stringBuffer;delete this.stringBuffer;return e}const e=this.buffer;if(this.settings.xmlNamespace){if(!e?.attributes?.["xmlns"]){e.addAttribute("xmlns",this.settings.xmlNamespace)}}delete this.buffer;return e.toString()}writeStruct(e,t,n){const o=e.getMergedTraits();const i=e.isMemberSchema()&&!o.httpPayload?e.getMemberTraits().xmlName??e.getMemberName():o.xmlName??e.getName();if(!i||!e.isStructSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${e.getName(true)}.`)}const a=m.XmlNode.of(i);const[d,h]=this.getXmlnsAttribute(e,n);for(const[n,o]of e.structIterator()){const e=t[n];if(e!=null||o.isIdempotencyToken()){if(o.getMergedTraits().xmlAttribute){a.addAttribute(o.getMergedTraits().xmlName??n,this.writeSimple(o,e));continue}if(o.isListSchema()){this.writeList(o,e,a,h)}else if(o.isMapSchema()){this.writeMap(o,e,a,h)}else if(o.isStructSchema()){a.addChildNode(this.writeStruct(o,e,h))}else{const t=m.XmlNode.of(o.getMergedTraits().xmlName??o.getMemberName());this.writeSimpleInto(o,e,t,h);a.addChildNode(t)}}}const{$unknown:Q}=t;if(Q&&e.isUnionSchema()&&Array.isArray(Q)&&Object.keys(t).length===1){const[e,n]=Q;const o=m.XmlNode.of(e);if(typeof n!=="string"){if(t instanceof m.XmlNode||t instanceof m.XmlText){a.addChildNode(t)}else{throw new Error(`@aws-sdk - $unknown union member in XML requires `+`value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`)}}this.writeSimpleInto(0,n,o,h);a.addChildNode(o)}if(h){a.addAttribute(d,h)}return a}writeList(e,t,n,o){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${e.getName(true)}`)}const i=e.getMergedTraits();const a=e.getValueSchema();const d=a.getMergedTraits();const h=!!d.sparse;const Q=!!i.xmlFlattened;const[k,_]=this.getXmlnsAttribute(e,o);const writeItem=(t,n)=>{if(a.isListSchema()){this.writeList(a,Array.isArray(n)?n:[n],t,_)}else if(a.isMapSchema()){this.writeMap(a,n,t,_)}else if(a.isStructSchema()){const o=this.writeStruct(a,n,_);t.addChildNode(o.withName(Q?i.xmlName??e.getMemberName():d.xmlName??"member"))}else{const o=m.XmlNode.of(Q?i.xmlName??e.getMemberName():d.xmlName??"member");this.writeSimpleInto(a,n,o,_);t.addChildNode(o)}};if(Q){for(const e of t){if(h||e!=null){writeItem(n,e)}}}else{const o=m.XmlNode.of(i.xmlName??e.getMemberName());if(_){o.addAttribute(k,_)}for(const e of t){if(h||e!=null){writeItem(o,e)}}n.addChildNode(o)}}writeMap(e,t,n,o,i=false){if(!e.isMemberSchema()){throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${e.getName(true)}`)}const a=e.getMergedTraits();const d=e.getKeySchema();const h=d.getMergedTraits();const Q=h.xmlName??"key";const k=e.getValueSchema();const _=k.getMergedTraits();const L=_.xmlName??"value";const U=!!_.sparse;const P=!!a.xmlFlattened;const[H,Y]=this.getXmlnsAttribute(e,o);const addKeyValue=(e,t,n)=>{const o=m.XmlNode.of(Q,t);const[i,a]=this.getXmlnsAttribute(d,Y);if(a){o.addAttribute(i,a)}e.addChildNode(o);let h=m.XmlNode.of(L);if(k.isListSchema()){this.writeList(k,n,h,Y)}else if(k.isMapSchema()){this.writeMap(k,n,h,Y,true)}else if(k.isStructSchema()){h=this.writeStruct(k,n,Y)}else{this.writeSimpleInto(k,n,h,Y)}e.addChildNode(h)};if(P){for(const o in t){const i=t[o];if(U||i!=null){const t=m.XmlNode.of(a.xmlName??e.getMemberName());addKeyValue(t,o,i);n.addChildNode(t)}}}else{let o;if(!i){o=m.XmlNode.of(a.xmlName??e.getMemberName());if(Y){o.addAttribute(H,Y)}n.addChildNode(o)}for(const e in t){const a=t[e];if(U||a!=null){const t=m.XmlNode.of("entry");addKeyValue(t,e,a);(i?n:o).addChildNode(t)}}}}writeSimple(e,t){if(null===t){throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.")}const n=i.NormalizedSchema.of(e);let o=null;if(t&&typeof t==="object"){if(n.isBlobSchema()){o=(this.serdeContext?.base64Encoder??h.toBase64)(t)}else if(n.isTimestampSchema()&&t instanceof Date){const e=d.determineTimestampFormat(n,this.settings);switch(e){case 5:o=t.toISOString().replace(".000Z","Z");break;case 6:o=h.dateToUtcString(t);break;case 7:o=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using http date",t);o=h.dateToUtcString(t);break}}else if(n.isBigDecimalSchema()&&t){if(t instanceof h.NumericValue){return t.string}return String(t)}else if(n.isMapSchema()||n.isListSchema()){throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.")}else{throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${n.getName(true)}`)}}if(n.isBooleanSchema()||n.isNumericSchema()||n.isBigIntegerSchema()||n.isBigDecimalSchema()){o=String(t)}if(n.isStringSchema()){if(t===undefined&&n.isIdempotencyToken()){o=h.generateIdempotencyToken()}else{o=String(t)}}if(o===null){throw new Error(`Unhandled schema-value pair ${n.getName(true)}=${t}`)}return o}writeSimpleInto(e,t,n,o){const a=this.writeSimple(e,t);const d=i.NormalizedSchema.of(e);const h=new m.XmlText(a);const[Q,k]=this.getXmlnsAttribute(d,o);if(k){n.addAttribute(Q,k)}n.addChildNode(h)}getXmlnsAttribute(e,t){const n=e.getMergedTraits();const[o,i]=n.xmlNamespace??[];if(i&&i!==t){return[o?`xmlns:${o}`:"xmlns",i]}return[void 0,void 0]}}class XmlCodec extends SerdeContextConfig{settings;constructor(e){super();this.settings=e}createSerializer(){const e=new XmlShapeSerializer(this.settings);e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new XmlShapeDeserializer(this.settings);e.setSerdeContext(this.serdeContext);return e}}class AwsRestXmlProtocol extends d.HttpBindingProtocol{codec;serializer;deserializer;mixin=new ProtocolLib;constructor(e){super(e);const t={timestampFormat:{useTrait:true,default:5},httpBindings:true,xmlNamespace:e.xmlNamespace,serviceNamespace:e.defaultNamespace};this.codec=new XmlCodec(t);this.serializer=new d.HttpInterceptingShapeSerializer(this.codec.createSerializer(),t);this.deserializer=new d.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(),t)}getPayloadCodec(){return this.codec}getShapeId(){return"aws.protocols#restXml"}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);const a=i.NormalizedSchema.of(e.input);if(!o.headers["content-type"]){const e=this.mixin.resolveRestContentType(this.getDefaultContentType(),a);if(e){o.headers["content-type"]=e}}if(typeof o.body==="string"&&o.headers["content-type"]===this.getDefaultContentType()&&!o.body.startsWith("<?xml ")&&!this.hasUnstructuredPayloadBinding(a)){o.body='<?xml version="1.0" encoding="UTF-8"?>'+o.body}return o}async deserializeResponse(e,t,n){return super.deserializeResponse(e,t,n)}async handleError(e,t,n,o,a){const d=loadRestXmlErrorCode(n,o)??"Unknown";this.mixin.compose(this.compositeErrorRegistry,d,this.options.defaultNamespace);if(o.Error&&typeof o.Error==="object"){for(const e of Object.keys(o.Error)){o[e]=o.Error[e];if(e.toLowerCase()==="message"){o.message=o.Error[e]}}}if(o.RequestId&&!a.requestId){a.requestId=o.RequestId}const{errorSchema:h,errorMetadata:m}=await this.mixin.getErrorSchemaOrThrowBaseException(d,this.options.defaultNamespace,n,o,a);const Q=i.NormalizedSchema.of(h);const k=o.Error?.message??o.Error?.Message??o.message??o.Message??"UnknownError";const _=this.compositeErrorRegistry.getErrorCtor(h)??Error;const L=new _({});await this.deserializeHttpMessage(h,t,n,o);const U={};const P=this.codec.createDeserializer();for(const[e,t]of Q.structIterator()){const n=t.getMergedTraits().xmlName??e;const i=o.Error?.[n]??o[n];U[e]=P.readSchema(t,i)}throw this.mixin.decorateServiceException(Object.assign(L,m,{$fault:Q.getMergedTraits().error,message:k},U),o)}getDefaultContentType(){return"application/xml"}hasUnstructuredPayloadBinding(e){for(const[,t]of e.structIterator()){if(t.getMergedTraits().httpPayload){return!(t.isStructSchema()||t.isMapSchema()||t.isListSchema())}}return false}}t.AwsEc2QueryProtocol=AwsEc2QueryProtocol;t.AwsJson1_0Protocol=AwsJson1_0Protocol;t.AwsJson1_1Protocol=AwsJson1_1Protocol;t.AwsJsonRpcProtocol=AwsJsonRpcProtocol;t.AwsQueryProtocol=AwsQueryProtocol;t.AwsRestJsonProtocol=AwsRestJsonProtocol;t.AwsRestXmlProtocol=AwsRestXmlProtocol;t.AwsSmithyRpcV2CborProtocol=AwsSmithyRpcV2CborProtocol;t.JsonCodec=JsonCodec;t.JsonShapeDeserializer=JsonShapeDeserializer;t.JsonShapeSerializer=JsonShapeSerializer;t.QueryShapeSerializer=QueryShapeSerializer;t.XmlCodec=XmlCodec;t.XmlShapeDeserializer=XmlShapeDeserializer;t.XmlShapeSerializer=XmlShapeSerializer;t._toBool=_toBool;t._toNum=_toNum;t._toStr=_toStr;t.awsExpectUnion=awsExpectUnion;t.loadJsonRpcErrorCode=loadJsonRpcErrorCode;t.loadRestJsonErrorCode=loadRestJsonErrorCode;t.loadRestXmlErrorCode=loadRestXmlErrorCode;t.parseJsonBody=parseJsonBody;t.parseJsonErrorBody=parseJsonErrorBody;t.parseXmlBody=parseXmlBody;t.parseXmlErrorBody=parseXmlErrorBody},5606:(e,t,n)=>{"use strict";var o=n(5152);var i=n(7291);const a="AWS_ACCESS_KEY_ID";const d="AWS_SECRET_ACCESS_KEY";const h="AWS_SESSION_TOKEN";const m="AWS_CREDENTIAL_EXPIRATION";const Q="AWS_CREDENTIAL_SCOPE";const k="AWS_ACCOUNT_ID";const fromEnv=e=>async()=>{e?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");const t=process.env[a];const n=process.env[d];const _=process.env[h];const L=process.env[m];const U=process.env[Q];const P=process.env[k];if(t&&n){const e={accessKeyId:t,secretAccessKey:n,..._&&{sessionToken:_},...L&&{expiration:new Date(L)},...U&&{credentialScope:U},...P&&{accountId:P}};o.setCredentialFeature(e,"CREDENTIALS_ENV_VARS","g");return e}throw new i.CredentialsProviderError("Unable to find environment variable credentials.",{logger:e?.logger})};t.ENV_ACCOUNT_ID=k;t.ENV_CREDENTIAL_SCOPE=Q;t.ENV_EXPIRATION=m;t.ENV_KEY=a;t.ENV_SECRET=d;t.ENV_SESSION=h;t.fromEnv=fromEnv},5861:(e,t,n)=>{"use strict";var o=n(5606);var i=n(7291);const a="AWS_EC2_METADATA_DISABLED";const remoteProvider=async e=>{const{ENV_CMDS_FULL_URI:t,ENV_CMDS_RELATIVE_URI:o,fromContainerMetadata:d,fromInstanceMetadata:h}=await n.e(566).then(n.t.bind(n,566,19));if(process.env[o]||process.env[t]){e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata");const{fromHttp:t}=await n.e(605).then(n.t.bind(n,8605,19));return i.chain(t(e),d(e))}if(process.env[a]&&process.env[a]!=="false"){return async()=>{throw new i.CredentialsProviderError("EC2 Instance Metadata Service access disabled",{logger:e.logger})}}e.logger?.debug("@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata");return h(e)};function memoizeChain(e,t){const n=internalCreateChain(e);let o;let i;let a;const provider=async e=>{if(e?.forceRefresh){return await n(e)}if(a?.expiration){if(a?.expiration?.getTime()<Date.now()){a=undefined}}if(o){await o}else if(!a||t?.(a)){if(a){if(!i){i=n(e).then((e=>{a=e})).finally((()=>{i=undefined}))}}else{o=n(e).then((e=>{a=e})).finally((()=>{o=undefined}));return provider(e)}}return a};return provider}const internalCreateChain=e=>async t=>{let n;for(const o of e){try{return await o(t)}catch(e){n=e;if(e?.tryNextLink){continue}throw e}}throw n};let d=false;const defaultProvider=(e={})=>memoizeChain([async()=>{const t=e.profile??process.env[i.ENV_PROFILE];if(t){const t=process.env[o.ENV_KEY]&&process.env[o.ENV_SECRET];if(t){if(!d){const t=e.logger?.warn&&e.logger?.constructor?.name!=="NoOpLogger"?e.logger.warn.bind(e.logger):console.warn;t(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);d=true}}throw new i.CredentialsProviderError("AWS_PROFILE is set, skipping fromEnv provider.",{logger:e.logger,tryNextLink:true})}e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromEnv");return o.fromEnv(e)()},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromSSO");const{ssoStartUrl:o,ssoAccountId:a,ssoRegion:d,ssoRoleName:h,ssoSession:m}=e;if(!o&&!a&&!d&&!h&&!m){throw new i.CredentialsProviderError("Skipping SSO provider in default chain (inputs do not include SSO fields).",{logger:e.logger})}const{fromSSO:Q}=await n.e(998).then(n.t.bind(n,998,19));return Q(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromIni");const{fromIni:o}=await n.e(869).then(n.t.bind(n,5869,19));return o(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromProcess");const{fromProcess:o}=await n.e(360).then(n.t.bind(n,5360,19));return o(e)(t)},async t=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile");const{fromTokenFile:o}=await n.e(956).then(n.t.bind(n,9956,23));return o(e)(t)},async()=>{e.logger?.debug("@aws-sdk/credential-provider-node - defaultProvider::remoteProvider");return(await remoteProvider(e))()},async()=>{throw new i.CredentialsProviderError("Could not load credentials from any providers",{tryNextLink:false,logger:e.logger})}],credentialsTreatedAsExpired);const credentialsWillNeedRefresh=e=>e?.expiration!==undefined;const credentialsTreatedAsExpired=e=>e?.expiration!==undefined&&e.expiration.getTime()-Date.now()<3e5;t.credentialsTreatedAsExpired=credentialsTreatedAsExpired;t.credentialsWillNeedRefresh=credentialsWillNeedRefresh;t.defaultProvider=defaultProvider},4274:(e,t,n)=>{"use strict";var o=n(3343);const i=/[&<>"]/g;const a={"&":"&","<":"<",">":">",'"':"""};function escapeAttribute(e){return e.replace(i,(e=>a[e]))}const d=/[&"'<>\r\n\u0085\u2028]/g;const h={"&":"&",'"':""","'":"'","<":"<",">":">","\r":"
","\n":"
","
":"…","\u2028":"
"};function escapeElement(e){return e.replace(d,(e=>h[e]))}class XmlText{value;constructor(e){this.value=e}toString(){return escapeElement(""+this.value)}}class XmlNode{name;children;attributes={};static of(e,t,n){const o=new XmlNode(e);if(t!==undefined){o.addChildNode(new XmlText(t))}if(n!==undefined){o.withName(n)}return o}constructor(e,t=[]){this.name=e;this.children=t}withName(e){this.name=e;return this}addAttribute(e,t){this.attributes[e]=t;return this}addChildNode(e){this.children.push(e);return this}removeAttribute(e){delete this.attributes[e];return this}n(e){this.name=e;return this}c(e){this.children.push(e);return this}a(e,t){if(t!=null){this.attributes[e]=t}return this}cc(e,t,n=t){if(e[t]!=null){const o=XmlNode.of(t,e[t]).withName(n);this.c(o)}}l(e,t,n,o){if(e[t]!=null){const e=o();e.map((e=>{e.withName(n);this.c(e)}))}}lc(e,t,n,o){if(e[t]!=null){const e=o();const t=new XmlNode(n);e.map((e=>{t.c(e)}));this.c(t)}}toString(){const e=Boolean(this.children.length);let t=`<${this.name}`;const n=this.attributes;for(const e of Object.keys(n)){const o=n[e];if(o!=null){t+=` ${e}="${escapeAttribute(""+o)}"`}}return t+=!e?"/>":`>${this.children.map((e=>e.toString())).join("")}</${this.name}>`}}t.parseXML=o.parseXML;t.XmlNode=XmlNode;t.XmlText=XmlText},7051:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EntityDecoderImpl=t.CURRENCY=t.COMMON_HTML=t.XML=void 0;t.XML={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};t.COMMON_HTML={nbsp:" ",copy:"©",reg:"®",trade:"™",mdash:"—",ndash:"–",hellip:"…",laquo:"«",raquo:"»",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",para:"¶",sect:"§",deg:"°",frac12:"½",frac14:"¼",frac34:"¾"};t.CURRENCY={cent:"¢",pound:"£",curren:"¤",yen:"¥",euro:"€",dollar:"$",fnof:"ƒ",inr:"₹",af:"؋",birr:"ብር",peso:"₱",rub:"₽",won:"₩",yuan:"¥",cedil:"¸"};const n=new Set("!?\\/[]$%{}^&*()<>|+");function validateEntityName(e){if(e[0]==="#"){throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${e}"`)}for(const t of e){if(n.has(t)){throw new Error(`[EntityReplacer] Invalid character '${t}' in entity name: "${e}"`)}}return e}function mergeEntityMaps(...e){const t=Object.create(null);for(const n of e){if(!n){continue}for(const e of Object.keys(n)){const o=n[e];if(typeof o==="string"){t[e]=o}else if(o&&typeof o==="object"&&o.val!==undefined){const n=o.val;if(typeof n==="string"){t[e]=n}}}}return t}const o="external";const i="base";const a="all";function parseLimitTiers(e){if(!e||e===o){return new Set([o])}if(e===a){return new Set([a])}if(e===i){return new Set([i])}if(Array.isArray(e)){return new Set(e)}return new Set([o])}const d=Object.freeze({allow:0,leave:1,remove:2,throw:3});const h=new Set([9,10,13]);function parseNCRConfig(e){if(!e){return{xmlVersion:1,onLevel:d.allow,nullLevel:d.remove}}const t=e.xmlVersion===1.1?1.1:1;const n=d[e.onNCR??"allow"]??d.allow;const o=d[e.nullNCR??"remove"]??d.remove;const i=Math.max(o,d.remove);return{xmlVersion:t,onLevel:n,nullLevel:i}}const m=class EntityDecoderImpl{_limit;_maxTotalExpansions;_maxExpandedLength;_postCheck;_limitTiers;_numericAllowed;_baseMap;_externalMap;_inputMap;_totalExpansions;_expandedLength;_removeSet;_leaveSet;_ncrXmlVersion;_ncrOnLevel;_ncrNullLevel;constructor(e={}){this._limit=e.limit||{};this._maxTotalExpansions=this._limit.maxTotalExpansions||0;this._maxExpandedLength=this._limit.maxExpandedLength||0;this._postCheck=typeof e.postCheck==="function"?e.postCheck:e=>e;this._limitTiers=parseLimitTiers(this._limit.applyLimitsTo??o);this._numericAllowed=e.numericAllowed??true;this._baseMap=mergeEntityMaps(t.XML,e.namedEntities||null);this._externalMap=Object.create(null);this._inputMap=Object.create(null);this._totalExpansions=0;this._expandedLength=0;this._removeSet=new Set(e.remove&&Array.isArray(e.remove)?e.remove:[]);this._leaveSet=new Set(e.leave&&Array.isArray(e.leave)?e.leave:[]);const n=parseNCRConfig(e.ncr);this._ncrXmlVersion=n.xmlVersion;this._ncrOnLevel=n.onLevel;this._ncrNullLevel=n.nullLevel}setExternalEntities(e){if(e){for(const t of Object.keys(e)){validateEntityName(t)}}this._externalMap=mergeEntityMaps(e)}addExternalEntity(e,t){validateEntityName(e);if(typeof t==="string"&&t.indexOf("&")===-1){this._externalMap[e]=t}}addInputEntities(e){this._totalExpansions=0;this._expandedLength=0;this._inputMap=mergeEntityMaps(e)}reset(){this._inputMap=Object.create(null);this._totalExpansions=0;this._expandedLength=0;return this}setXmlVersion(e){this._ncrXmlVersion=e==="1.1"||e===1.1?1.1:1}decode(e){if(typeof e!=="string"||e.length===0){return e}const t=e;const n=[];const a=e.length;let d=0;let h=0;const m=this._maxTotalExpansions>0;const Q=this._maxExpandedLength>0;const k=m||Q;while(h<a){if(e.charCodeAt(h)!==38){h++;continue}let t=h+1;while(t<a&&e.charCodeAt(t)!==59&&t-h<=32){t++}if(t>=a||e.charCodeAt(t)!==59){h++;continue}const _=e.slice(h+1,t);if(_.length===0){h++;continue}let L;let U;if(this._removeSet.has(_)){L="";if(U===undefined){U=o}}else if(this._leaveSet.has(_)){h++;continue}else if(_.charCodeAt(0)===35){const e=this._resolveNCR(_);if(e===undefined){h++;continue}L=e;U=i}else{const e=this._resolveName(_);L=e?.value;U=e?.tier}if(L===undefined){h++;continue}if(h>d){n.push(e.slice(d,h))}n.push(L);d=t+1;h=d;if(k&&this._tierCounts(U)){if(m){this._totalExpansions++;if(this._totalExpansions>this._maxTotalExpansions){throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: `+`${this._totalExpansions} > ${this._maxTotalExpansions}`)}}if(Q){const e=L.length-(_.length+2);if(e>0){this._expandedLength+=e;if(this._expandedLength>this._maxExpandedLength){throw new Error(`[EntityReplacer] Expanded content length limit exceeded: `+`${this._expandedLength} > ${this._maxExpandedLength}`)}}}}}if(d<a){n.push(e.slice(d))}const _=n.length===0?e:n.join("");return this._postCheck(_,t)}_tierCounts(e){if(this._limitTiers.has(a)){return true}return this._limitTiers.has(e)}_resolveName(e){if(e in this._inputMap){return{value:this._inputMap[e],tier:o}}if(e in this._externalMap){return{value:this._externalMap[e],tier:o}}if(e in this._baseMap){return{value:this._baseMap[e],tier:i}}return undefined}_classifyNCR(e){if(e===0){return this._ncrNullLevel}if(e>=55296&&e<=57343){return d.remove}if(this._ncrXmlVersion===1){if(e>=1&&e<=31&&!h.has(e)){return d.remove}}return-1}_applyNCRAction(e,t,n){switch(e){case d.allow:return String.fromCodePoint(n);case d.remove:return"";case d.leave:return undefined;case d.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference `+`&${t}; (U+${n.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(n)}}_resolveNCR(e){const t=e.charCodeAt(1);let n;if(t===120||t===88){n=parseInt(e.slice(2),16)}else{n=parseInt(e.slice(1),10)}if(Number.isNaN(n)||n<0||n>1114111){return undefined}const o=this._classifyNCR(n);if(!this._numericAllowed&&o<d.remove){return undefined}const i=o===-1?this._ncrOnLevel:Math.max(this._ncrOnLevel,o);return this._applyNCRAction(i,e,n)}};t.EntityDecoderImpl=m},3343:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseXML=parseXML;const o=n(591);const i=n(7051);const a=new i.EntityDecoderImpl({namedEntities:{...i.XML,...i.COMMON_HTML,...i.CURRENCY},numericAllowed:true,limit:{maxTotalExpansions:Infinity},ncr:{xmlVersion:1.1}});const d=new o.XMLParser({attributeNamePrefix:"",processEntities:{enabled:true,maxTotalExpansions:Infinity},htmlEntities:true,entityDecoder:{setExternalEntities:e=>{a.setExternalEntities(e)},addInputEntities:e=>{a.addInputEntities(e)},reset:()=>{a.reset()},decode:e=>a.decode(e),setXmlVersion:e=>void{}},ignoreAttributes:false,ignoreDeclaration:true,parseTagValue:false,trimValues:false,tagValueProcessor:(e,t)=>t.trim()===""&&t.includes("\n")?"":undefined,maxNestedTags:Infinity});function parseXML(e){return d.parse(e,true)}},9320:(e,t,n)=>{"use strict";const o={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")};const i=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");if(!i){globalThis.awslambda=globalThis.awslambda||{}}class InvokeStoreBase{static PROTECTED_KEYS=o;isProtectedKey(e){return Object.values(o).includes(e)}getRequestId(){return this.get(o.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(o.X_RAY_TRACE_ID)}getTenantId(){return this.get(o.TENANT_ID)}}class InvokeStoreSingle extends InvokeStoreBase{currentContext;getContext(){return this.currentContext}hasContext(){return this.currentContext!==undefined}get(e){return this.currentContext?.[e]}set(e,t){if(this.isProtectedKey(e)){throw new Error(`Cannot modify protected Lambda context field: ${String(e)}`)}this.currentContext=this.currentContext||{};this.currentContext[e]=t}run(e,t){this.currentContext=e;return t()}}class InvokeStoreMulti extends InvokeStoreBase{als;static async create(){const e=new InvokeStoreMulti;const t=await Promise.resolve().then(n.t.bind(n,6698,23));e.als=new t.AsyncLocalStorage;return e}getContext(){return this.als.getStore()}hasContext(){return this.als.getStore()!==undefined}get(e){return this.als.getStore()?.[e]}set(e,t){if(this.isProtectedKey(e)){throw new Error(`Cannot modify protected Lambda context field: ${String(e)}`)}const n=this.als.getStore();if(!n){throw new Error("No context available")}n[e]=t}run(e,t){return this.als.run(e,t)}}t.InvokeStore=void 0;(function(e){let t=null;async function getInstanceAsync(e){if(!t){t=(async()=>{const t=e===true||"AWS_LAMBDA_MAX_CONCURRENCY"in process.env;const n=t?await InvokeStoreMulti.create():new InvokeStoreSingle;if(!i&&globalThis.awslambda?.InvokeStore){return globalThis.awslambda.InvokeStore}else if(!i&&globalThis.awslambda){globalThis.awslambda.InvokeStore=n;return n}else{return n}})()}return t}e.getInstanceAsync=getInstanceAsync;e._testing=process.env.AWS_LAMBDA_BENCHMARK_MODE==="1"?{reset:()=>{t=null;if(globalThis.awslambda?.InvokeStore){delete globalThis.awslambda.InvokeStore}globalThis.awslambda={InvokeStore:undefined}}}:undefined})(t.InvokeStore||(t.InvokeStore={}));t.InvokeStoreBase=InvokeStoreBase},7864:e=>{"use strict";var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:true})};var __copyProps=(e,a,d,h)=>{if(a&&typeof a==="object"||typeof a==="function"){for(let m of o(a))if(!i.call(e,m)&&m!==d)t(e,m,{get:()=>a[m],enumerable:!(h=n(a,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var a={};__export(a,{createTokenAuth:()=>Q});e.exports=__toCommonJS(a);var d=/^v1\./;var h=/^ghs_/;var m=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const n=d.test(e)||h.test(e);const o=m.test(e);const i=t?"app":n?"installation":o?"user-to-server":"oauth";return{type:"token",token:e,tokenType:i}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,n,o){const i=t.endpoint.merge(n,o);i.headers.authorization=withAuthorizationPrefix(e);return t(i)}var Q=function createTokenAuth2(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};0&&0},1897:(e,t,n)=>{"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:true})};var __copyProps=(e,t,n,h)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let m of a(t))if(!d.call(e,m)&&m!==n)o(e,m,{get:()=>t[m],enumerable:!(h=i(t,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(o({},"__esModule",{value:true}),e);var h={};__export(h,{Octokit:()=>V});e.exports=__toCommonJS(h);var m=n(3843);var Q=n(2732);var k=n(8636);var _=n(7);var L=n(7864);var U="5.2.2";var noop=()=>{};var P=console.warn.bind(console);var H=console.error.bind(console);function createLogger(e={}){if(typeof e.debug!=="function"){e.debug=noop}if(typeof e.info!=="function"){e.info=noop}if(typeof e.warn!=="function"){e.warn=P}if(typeof e.error!=="function"){e.error=H}return e}var Y=`octokit-core.js/${U} ${(0,m.getUserAgent)()}`;var V=class{static{this.VERSION=U}static defaults(e){const t=class extends(this){constructor(...t){const n=t[0]||{};if(typeof e==="function"){super(e(n));return}super(Object.assign({},e,n,n.userAgent&&e.userAgent?{userAgent:`${n.userAgent} ${e.userAgent}`}:null))}};return t}static{this.plugins=[]}static plugin(...e){const t=this.plugins;const n=class extends(this){static{this.plugins=t.concat(e.filter((e=>!t.includes(e))))}};return n}constructor(e={}){const t=new Q.Collection;const n={baseUrl:k.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${Y}`:Y;if(e.baseUrl){n.baseUrl=e.baseUrl}if(e.previews){n.mediaType.previews=e.previews}if(e.timeZone){n.headers["time-zone"]=e.timeZone}this.request=k.request.defaults(n);this.graphql=(0,_.withCustomRequest)(this.request).defaults(n);this.log=createLogger(e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const n=(0,L.createTokenAuth)(e.auth);t.wrap("request",n.hook);this.auth=n}}else{const{authStrategy:n,...o}=e;const i=n(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:o},e.auth));t.wrap("request",i.hook);this.auth=i}const o=this.constructor;for(let t=0;t<o.plugins.length;++t){Object.assign(this,o.plugins[t](this,e))}}};0&&0},4471:(e,t,n)=>{"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:true})};var __copyProps=(e,t,n,h)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let m of a(t))if(!d.call(e,m)&&m!==n)o(e,m,{get:()=>t[m],enumerable:!(h=i(t,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(o({},"__esModule",{value:true}),e);var h={};__export(h,{endpoint:()=>U});e.exports=__toCommonJS(h);var m=n(3843);var Q="9.0.6";var k=`octokit-endpoint.js/${Q} ${(0,m.getUserAgent)()}`;var _={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":k},mediaType:{format:""}};function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,n)=>{t[n.toLowerCase()]=e[n];return t}),{})}function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const n=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof n==="function"&&n instanceof n&&Function.prototype.call(n)===Function.prototype.call(e)}function mergeDeep(e,t){const n=Object.assign({},e);Object.keys(t).forEach((o=>{if(isPlainObject(t[o])){if(!(o in e))Object.assign(n,{[o]:t[o]});else n[o]=mergeDeep(e[o],t[o])}else{Object.assign(n,{[o]:t[o]})}}));return n}function removeUndefinedProperties(e){for(const t in e){if(e[t]===void 0){delete e[t]}}return e}function merge(e,t,n){if(typeof t==="string"){let[e,o]=t.split(" ");n=Object.assign(o?{method:e,url:o}:{url:e},n)}else{n=Object.assign({},t)}n.headers=lowercaseKeys(n.headers);removeUndefinedProperties(n);removeUndefinedProperties(n.headers);const o=mergeDeep(e||{},n);if(n.url==="/graphql"){if(e&&e.mediaType.previews?.length){o.mediaType.previews=e.mediaType.previews.filter((e=>!o.mediaType.previews.includes(e))).concat(o.mediaType.previews)}o.mediaType.previews=(o.mediaType.previews||[]).map((e=>e.replace(/-preview/,"")))}return o}function addQueryParameters(e,t){const n=/\?/.test(e)?"&":"?";const o=Object.keys(t);if(o.length===0){return e}return e+n+o.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}var L=/\{[^{}}]+\}/g;function removeNonChars(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(L);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){const n={__proto__:null};for(const o of Object.keys(e)){if(t.indexOf(o)===-1){n[o]=e[o]}}return n}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,n){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(n){return encodeUnreserved(n)+"="+t}else{return t}}function isDefined(e){return e!==void 0&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,n,o){var i=e[n],a=[];if(isDefined(i)&&i!==""){if(typeof i==="string"||typeof i==="number"||typeof i==="boolean"){i=i.toString();if(o&&o!=="*"){i=i.substring(0,parseInt(o,10))}a.push(encodeValue(t,i,isKeyOperator(t)?n:""))}else{if(o==="*"){if(Array.isArray(i)){i.filter(isDefined).forEach((function(e){a.push(encodeValue(t,e,isKeyOperator(t)?n:""))}))}else{Object.keys(i).forEach((function(e){if(isDefined(i[e])){a.push(encodeValue(t,i[e],e))}}))}}else{const e=[];if(Array.isArray(i)){i.filter(isDefined).forEach((function(n){e.push(encodeValue(t,n))}))}else{Object.keys(i).forEach((function(n){if(isDefined(i[n])){e.push(encodeUnreserved(n));e.push(encodeValue(t,i[n].toString()))}}))}if(isKeyOperator(t)){a.push(encodeUnreserved(n)+"="+e.join(","))}else if(e.length!==0){a.push(e.join(","))}}}}else{if(t===";"){if(isDefined(i)){a.push(encodeUnreserved(n))}}else if(i===""&&(t==="&"||t==="?")){a.push(encodeUnreserved(n)+"=")}else if(i===""){a.push("")}}return a}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var n=["+","#",".","/",";","?","&"];e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,o,i){if(o){let e="";const i=[];if(n.indexOf(o.charAt(0))!==-1){e=o.charAt(0);o=o.substr(1)}o.split(/,/g).forEach((function(n){var o=/([^:\*]*)(?::(\d+)|(\*))?/.exec(n);i.push(getValues(t,e,o[1],o[2]||o[3]))}));if(e&&e!=="+"){var a=",";if(e==="?"){a="&"}else if(e!=="#"){a=e}return(i.length!==0?e:"")+i.join(a)}else{return i.join(",")}}else{return encodeReserved(i)}}));if(e==="/"){return e}else{return e.replace(/\/$/,"")}}function parse(e){let t=e.method.toUpperCase();let n=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let o=Object.assign({},e.headers);let i;let a=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const d=extractUrlVariableNames(n);n=parseUrl(n).expand(a);if(!/^http/.test(n)){n=e.baseUrl+n}const h=Object.keys(e).filter((e=>d.includes(e))).concat("baseUrl");const m=omit(a,h);const Q=/application\/octet-stream/i.test(o.accept);if(!Q){if(e.mediaType.format){o.accept=o.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(n.endsWith("/graphql")){if(e.mediaType.previews?.length){const t=o.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[];o.accept=t.concat(e.mediaType.previews).map((t=>{const n=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${n}`})).join(",")}}}if(["GET","HEAD"].includes(t)){n=addQueryParameters(n,m)}else{if("data"in m){i=m.data}else{if(Object.keys(m).length){i=m}}}if(!o["content-type"]&&typeof i!=="undefined"){o["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof i==="undefined"){i=""}return Object.assign({method:t,url:n,headers:o},typeof i!=="undefined"?{body:i}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,n){return parse(merge(e,t,n))}function withDefaults(e,t){const n=merge(e,t);const o=endpointWithDefaults.bind(null,n);return Object.assign(o,{DEFAULTS:n,defaults:withDefaults.bind(null,n),merge:merge.bind(null,n),parse:parse})}var U=withDefaults(null,_);0&&0},7:(e,t,n)=>{"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:true})};var __copyProps=(e,t,n,h)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let m of a(t))if(!d.call(e,m)&&m!==n)o(e,m,{get:()=>t[m],enumerable:!(h=i(t,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(o({},"__esModule",{value:true}),e);var h={};__export(h,{GraphqlResponseError:()=>U,graphql:()=>V,withCustomRequest:()=>withCustomRequest});e.exports=__toCommonJS(h);var m=n(8636);var Q=n(3843);var k="7.1.1";var _=n(8636);var L=n(8636);function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}var U=class extends Error{constructor(e,t,n){super(_buildMessageForResponseErrors(n));this.request=e;this.headers=t;this.response=n;this.name="GraphqlResponseError";this.errors=n.errors;this.data=n.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var P=["method","baseUrl","url","headers","request","query","mediaType"];var H=["query","method","url"];var Y=/\/api\/v3\/?$/;function graphql(e,t,n){if(n){if(typeof t==="string"&&"query"in n){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in n){if(!H.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const o=typeof t==="string"?Object.assign({query:t},n):t;const i=Object.keys(o).reduce(((e,t)=>{if(P.includes(t)){e[t]=o[t];return e}if(!e.variables){e.variables={}}e.variables[t]=o[t];return e}),{});const a=o.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(Y.test(a)){i.url=a.replace(Y,"/api/graphql")}return e(i).then((e=>{if(e.data.errors){const t={};for(const n of Object.keys(e.headers)){t[n]=e.headers[n]}throw new U(i,t,e.data)}return e.data.data}))}function withDefaults(e,t){const n=e.defaults(t);const newApi=(e,t)=>graphql(n,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,n),endpoint:n.endpoint})}var V=withDefaults(m.request,{headers:{"user-agent":`octokit-graphql.js/${k} ${(0,Q.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}0&&0},8082:e=>{"use strict";var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:true})};var __copyProps=(e,a,d,h)=>{if(a&&typeof a==="object"||typeof a==="function"){for(let m of o(a))if(!i.call(e,m)&&m!==d)t(e,m,{get:()=>a[m],enumerable:!(h=n(a,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var a={};__export(a,{composePaginateRest:()=>h,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>m});e.exports=__toCommonJS(a);var d="9.2.2";function normalizePaginatedListResponse(e){if(!e.data){return{...e,data:[]}}const t="total_count"in e.data&&!("url"in e.data);if(!t)return e;const n=e.data.incomplete_results;const o=e.data.repository_selection;const i=e.data.total_count;delete e.data.incomplete_results;delete e.data.repository_selection;delete e.data.total_count;const a=Object.keys(e.data)[0];const d=e.data[a];e.data=d;if(typeof n!=="undefined"){e.data.incomplete_results=n}if(typeof o!=="undefined"){e.data.repository_selection=o}e.data.total_count=i;return e}function iterator(e,t,n){const o=typeof t==="function"?t.endpoint(n):e.request.endpoint(t,n);const i=typeof t==="function"?t:e.request;const a=o.method;const d=o.headers;let h=o.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!h)return{done:true};try{const e=await i({method:a,url:h,headers:d});const t=normalizePaginatedListResponse(e);h=((t.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;h="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,n,o){if(typeof n==="function"){o=n;n=void 0}return gather(e,[],iterator(e,t,n)[Symbol.asyncIterator](),o)}function gather(e,t,n,o){return n.next().then((i=>{if(i.done){return t}let a=false;function done(){a=true}t=t.concat(o?o(i.value,done):i.value.data);if(a){return t}return gather(e,t,n,o)}))}var h=Object.assign(paginate,{iterator:iterator});var m=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /repositories/{repository_id}/environments/{environment_name}/variables","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return m.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=d;0&&0},4935:e=>{"use strict";var t=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:true})};var __copyProps=(e,a,d,h)=>{if(a&&typeof a==="object"||typeof a==="function"){for(let m of o(a))if(!i.call(e,m)&&m!==d)t(e,m,{get:()=>a[m],enumerable:!(h=n(a,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var a={};__export(a,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});e.exports=__toCommonJS(a);var d="10.4.1";var h={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repositories/{repository_id}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repositories/{repository_id}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import"}],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors",{},{deprecated:"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors"}],getImportStatus:["GET /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status"}],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files",{},{deprecated:"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files"}],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}",{},{deprecated:"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author"}],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs",{},{deprecated:"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference"}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import"}],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"],updateImport:["PATCH /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import"}]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var m=h;var Q=new Map;for(const[e,t]of Object.entries(m)){for(const[n,o]of Object.entries(t)){const[t,i,a]=o;const[d,h]=t.split(/ /);const m=Object.assign({method:d,url:h},i);if(!Q.has(e)){Q.set(e,new Map)}Q.get(e).set(n,{scope:e,methodName:n,endpointDefaults:m,decorations:a})}}var k={has({scope:e},t){return Q.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:true,writable:true,enumerable:true}},defineProperty(e,t,n){Object.defineProperty(e.cache,t,n);return true},deleteProperty(e,t){delete e.cache[t];return true},ownKeys({scope:e}){return[...Q.get(e).keys()]},set(e,t,n){return e.cache[t]=n},get({octokit:e,scope:t,cache:n},o){if(n[o]){return n[o]}const i=Q.get(t).get(o);if(!i){return void 0}const{endpointDefaults:a,decorations:d}=i;if(d){n[o]=decorate(e,t,o,a,d)}else{n[o]=e.request.defaults(a)}return n[o]}};function endpointsToMethods(e){const t={};for(const n of Q.keys()){t[n]=new Proxy({octokit:e,scope:n,cache:{}},k)}return t}function decorate(e,t,n,o,i){const a=e.request.defaults(o);function withDecorations(...o){let d=a.endpoint.merge(...o);if(i.mapToData){d=Object.assign({},d,{data:d[i.mapToData],[i.mapToData]:void 0});return a(d)}if(i.renamed){const[o,a]=i.renamed;e.log.warn(`octokit.${t}.${n}() has been renamed to octokit.${o}.${a}()`)}if(i.deprecated){e.log.warn(i.deprecated)}if(i.renamedParameters){const d=a.endpoint.merge(...o);for(const[o,a]of Object.entries(i.renamedParameters)){if(o in d){e.log.warn(`"${o}" parameter is deprecated for "octokit.${t}.${n}()". Use "${a}" instead`);if(!(a in d)){d[a]=d[o]}delete d[o]}}return a(d)}return a(...o)}return Object.assign(withDecorations,a)}function restEndpointMethods(e){const t=endpointsToMethods(e);return{rest:t}}restEndpointMethods.VERSION=d;function legacyRestEndpointMethods(e){const t=endpointsToMethods(e);return{...t,rest:t}}legacyRestEndpointMethods.VERSION=d;0&&0},3708:(e,t,n)=>{"use strict";var o=Object.create;var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var h=Object.getPrototypeOf;var m=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:true})};var __copyProps=(e,t,n,o)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let h of d(t))if(!m.call(e,h)&&h!==n)i(e,h,{get:()=>t[h],enumerable:!(o=a(t,h))||o.enumerable})}return e};var __toESM=(e,t,n)=>(n=e!=null?o(h(e)):{},__copyProps(t||!e||!e.__esModule?i(n,"default",{value:e,enumerable:true}):n,e));var __toCommonJS=e=>__copyProps(i({},"__esModule",{value:true}),e);var Q={};__export(Q,{RequestError:()=>P});e.exports=__toCommonJS(Q);var k=n(4150);var _=__toESM(n(5560));var L=(0,_.default)((e=>console.warn(e)));var U=(0,_.default)((e=>console.warn(e)));var P=class extends Error{constructor(e,t,n){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let o;if("headers"in n&&typeof n.headers!=="undefined"){o=n.headers}if("response"in n){this.response=n.response;o=n.response.headers}const i=Object.assign({},n.request);if(n.request.headers.authorization){i.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/," [REDACTED]")})}i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=i;Object.defineProperty(this,"code",{get(){L(new k.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){U(new k.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return o||{}}})}};0&&0},8636:(e,t,n)=>{"use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:true})};var __copyProps=(e,t,n,h)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let m of a(t))if(!d.call(e,m)&&m!==n)o(e,m,{get:()=>t[m],enumerable:!(h=i(t,m))||h.enumerable})}return e};var __toCommonJS=e=>__copyProps(o({},"__esModule",{value:true}),e);var h={};__export(h,{request:()=>L});e.exports=__toCommonJS(h);var m=n(4471);var Q=n(3843);var k="8.4.1";function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const n=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof n==="function"&&n instanceof n&&Function.prototype.call(n)===Function.prototype.call(e)}var _=n(3708);function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){var t,n,o,i;const a=e.request&&e.request.log?e.request.log:console;const d=((t=e.request)==null?void 0:t.parseSuccessResponseBody)!==false;if(isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let h={};let m;let Q;let{fetch:k}=globalThis;if((n=e.request)==null?void 0:n.fetch){k=e.request.fetch}if(!k){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return k(e.url,{method:e.method,body:e.body,redirect:(o=e.request)==null?void 0:o.redirect,headers:e.headers,signal:(i=e.request)==null?void 0:i.signal,...e.body&&{duplex:"half"}}).then((async t=>{Q=t.url;m=t.status;for(const e of t.headers){h[e[0]]=e[1]}if("deprecation"in h){const t=h.link&&h.link.match(/<([^<>]+)>; rel="deprecation"/);const n=t&&t.pop();a.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${h.sunset}${n?`. See ${n}`:""}`)}if(m===204||m===205){return}if(e.method==="HEAD"){if(m<400){return}throw new _.RequestError(t.statusText,m,{response:{url:Q,status:m,headers:h,data:void 0},request:e})}if(m===304){throw new _.RequestError("Not modified",m,{response:{url:Q,status:m,headers:h,data:await getResponseData(t)},request:e})}if(m>=400){const n=await getResponseData(t);const o=new _.RequestError(toErrorMessage(n),m,{response:{url:Q,status:m,headers:h,data:n},request:e});throw o}return d?await getResponseData(t):t.body})).then((e=>({status:m,url:Q,headers:h,data:e}))).catch((t=>{if(t instanceof _.RequestError)throw t;else if(t.name==="AbortError")throw t;let n=t.message;if(t.name==="TypeError"&&"cause"in t){if(t.cause instanceof Error){n=t.cause.message}else if(typeof t.cause==="string"){n=t.cause}}throw new _.RequestError(n,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json().catch((()=>e.text())).catch((()=>""))}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;let t;if("documentation_url"in e){t=` - ${e.documentation_url}`}else{t=""}if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${t}`}return`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const n=e.defaults(t);const newApi=function(e,t){const o=n.merge(e,t);if(!o.request||!o.request.hook){return fetchWrapper(n.parse(o))}const request2=(e,t)=>fetchWrapper(n.parse(n.merge(e,t)));Object.assign(request2,{endpoint:n,defaults:withDefaults.bind(null,n)});return o.request.hook(request2,o)};return Object.assign(newApi,{endpoint:n,defaults:withDefaults.bind(null,n)})}var L=withDefaults(m.endpoint,{headers:{"user-agent":`octokit-request.js/${k} ${(0,Q.getUserAgent)()}`}});0&&0},402:(e,t,n)=>{"use strict";var o=n(690);var i=n(3422);var a=n(2658);const getSmithyContext=e=>e[o.SMITHY_CONTEXT_KEY]||(e[o.SMITHY_CONTEXT_KEY]={});const resolveAuthOptions=(e,t)=>{if(!t||t.length===0){return e}const n=[];for(const o of t){for(const t of e){const e=t.schemeId.split("#")[1];if(e===o){n.push(t)}}}for(const t of e){if(!n.find((({schemeId:e})=>e===t.schemeId))){n.push(t)}}return n};function convertHttpAuthSchemesToMap(e){const t=new Map;for(const n of e){t.set(n.schemeId,n)}return t}const httpAuthSchemeMiddleware=(e,t)=>(n,o)=>async i=>{const d=e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,o,i.input));const h=e.authSchemePreference?await e.authSchemePreference():[];const m=resolveAuthOptions(d,h);const Q=convertHttpAuthSchemesToMap(e.httpAuthSchemes);const k=a.getSmithyContext(o);const _=[];for(const n of m){const i=Q.get(n.schemeId);if(!i){_.push(`HttpAuthScheme \`${n.schemeId}\` was not enabled for this service.`);continue}const a=i.identityProvider(await t.identityProviderConfigProvider(e));if(!a){_.push(`HttpAuthScheme \`${n.schemeId}\` did not have an IdentityProvider configured.`);continue}const{identityProperties:d={},signingProperties:h={}}=n.propertiesExtractor?.(e,o)||{};n.identityProperties=Object.assign(n.identityProperties||{},d);n.signingProperties=Object.assign(n.signingProperties||{},h);k.selectedHttpAuthScheme={httpAuthOption:n,identity:await a(n.identityProperties),signer:i.signer};break}if(!k.selectedHttpAuthScheme){throw new Error(_.join("\n"))}return n(i)};const d={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:true,relation:"before",toMiddleware:"endpointV2Middleware"};const getHttpAuthSchemeEndpointRuleSetPlugin=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:o=>{o.addRelativeTo(httpAuthSchemeMiddleware(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),d)}});const h={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:true,relation:"before",toMiddleware:"serializerMiddleware"};const getHttpAuthSchemePlugin=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n})=>({applyToStack:o=>{o.addRelativeTo(httpAuthSchemeMiddleware(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:n}),h)}});const defaultErrorHandler=e=>e=>{throw e};const defaultSuccessHandler=(e,t)=>{};const httpSigningMiddleware=e=>(e,t)=>async n=>{if(!i.HttpRequest.isInstance(n.request)){return e(n)}const o=a.getSmithyContext(t);const d=o.selectedHttpAuthScheme;if(!d){throw new Error(`No HttpAuthScheme was selected: unable to sign request`)}const{httpAuthOption:{signingProperties:h={}},identity:m,signer:Q}=d;const k=await e({...n,request:await Q.sign(n.request,m,h)}).catch((Q.errorHandler||defaultErrorHandler)(h));(Q.successHandler||defaultSuccessHandler)(k.response,h);return k};const m={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:true,relation:"after",toMiddleware:"retryMiddleware"};const getHttpSigningPlugin=e=>({applyToStack:e=>{e.addRelativeTo(httpSigningMiddleware(),m)}});const normalizeProvider=e=>{if(typeof e==="function")return e;const t=Promise.resolve(e);return()=>t};const makePagedClientRequest=async(e,t,n,o=e=>e,...i)=>{let a=new e(n);a=o(a)??a;return await t.send(a,...i)};function createPaginator(e,t,n,o,i){return async function*paginateOperation(a,d,...h){const m=d;let Q=a.startingToken??m[n];let k=true;let _;while(k){m[n]=Q;if(i){m[i]=m[i]??a.pageSize}if(a.client instanceof e){_=await makePagedClientRequest(t,a.client,d,a.withCommand,...h)}else{throw new Error(`Invalid client, expected instance of ${e.name}`)}yield _;const L=Q;Q=get(_,o);k=!!(Q&&(!a.stopOnSameToken||Q!==L))}return undefined}}const get=(e,t)=>{let n=e;const o=t.split(".");for(const e of o){if(!n||typeof n!=="object"){return undefined}n=n[e]}return n};function setFeature(e,t,n){if(!e.__smithy_context){e.__smithy_context={features:{}}}else if(!e.__smithy_context.features){e.__smithy_context.features={}}e.__smithy_context.features[t]=n}class DefaultIdentityProviderConfig{authSchemes=new Map;constructor(e){for(const t in e){const n=e[t];if(n!==undefined){this.authSchemes.set(t,n)}}}getIdentityProvider(e){return this.authSchemes.get(e)}}class HttpApiKeyAuthSigner{async sign(e,t,n){if(!n){throw new Error("request could not be signed with `apiKey` since the `name` and `in` signer properties are missing")}if(!n.name){throw new Error("request could not be signed with `apiKey` since the `name` signer property is missing")}if(!n.in){throw new Error("request could not be signed with `apiKey` since the `in` signer property is missing")}if(!t.apiKey){throw new Error("request could not be signed with `apiKey` since the `apiKey` is not defined")}const a=i.HttpRequest.clone(e);if(n.in===o.HttpApiKeyAuthLocation.QUERY){a.query[n.name]=t.apiKey}else if(n.in===o.HttpApiKeyAuthLocation.HEADER){a.headers[n.name]=n.scheme?`${n.scheme} ${t.apiKey}`:t.apiKey}else{throw new Error("request can only be signed with `apiKey` locations `query` or `header`, "+"but found: `"+n.in+"`")}return a}}class HttpBearerAuthSigner{async sign(e,t,n){const o=i.HttpRequest.clone(e);if(!t.token){throw new Error("request could not be signed with `token` since the `token` is not defined")}o.headers["Authorization"]=`Bearer ${t.token}`;return o}}class NoAuthSigner{async sign(e,t,n){return e}}const createIsIdentityExpiredFunction=e=>function isIdentityExpired(t){return doesIdentityRequireRefresh(t)&&t.expiration.getTime()-Date.now()<e};const Q=3e5;const k=createIsIdentityExpiredFunction(Q);const doesIdentityRequireRefresh=e=>e.expiration!==undefined;const memoizeIdentityProvider=(e,t,n)=>{if(e===undefined){return undefined}const o=typeof e!=="function"?async()=>Promise.resolve(e):e;let i;let a;let d;let h=false;const coalesceProvider=async e=>{if(!a){a=o(e)}try{i=await a;d=true;h=false}finally{a=undefined}return i};if(t===undefined){return async e=>{if(!d||e?.forceRefresh){i=await coalesceProvider(e)}return i}}return async e=>{if(!d||e?.forceRefresh){i=await coalesceProvider(e)}if(h){return i}if(!n(i)){h=true;return i}if(t(i)){await coalesceProvider(e);return i}return i}};t.requestBuilder=i.requestBuilder;t.DefaultIdentityProviderConfig=DefaultIdentityProviderConfig;t.EXPIRATION_MS=Q;t.HttpApiKeyAuthSigner=HttpApiKeyAuthSigner;t.HttpBearerAuthSigner=HttpBearerAuthSigner;t.NoAuthSigner=NoAuthSigner;t.createIsIdentityExpiredFunction=createIsIdentityExpiredFunction;t.createPaginator=createPaginator;t.doesIdentityRequireRefresh=doesIdentityRequireRefresh;t.getHttpAuthSchemeEndpointRuleSetPlugin=getHttpAuthSchemeEndpointRuleSetPlugin;t.getHttpAuthSchemePlugin=getHttpAuthSchemePlugin;t.getHttpSigningPlugin=getHttpSigningPlugin;t.getSmithyContext=getSmithyContext;t.httpAuthSchemeEndpointRuleSetMiddlewareOptions=d;t.httpAuthSchemeMiddleware=httpAuthSchemeMiddleware;t.httpAuthSchemeMiddlewareOptions=h;t.httpSigningMiddleware=httpSigningMiddleware;t.httpSigningMiddlewareOptions=m;t.isIdentityExpired=k;t.memoizeIdentityProvider=memoizeIdentityProvider;t.normalizeProvider=normalizeProvider;t.setFeature=setFeature},4645:(e,t,n)=>{"use strict";var o=n(2430);var i=n(3422);var a=n(2658);var d=n(6890);const h=0;const m=1;const Q=2;const k=3;const _=4;const L=5;const U=6;const P=7;const H=20;const Y=21;const V=22;const J=23;const W=24;const j=25;const K=26;const X=27;const Z=31;function alloc(e){return typeof Buffer!=="undefined"?Buffer.alloc(e):new Uint8Array(e)}const ee=Symbol("@smithy/core/cbor::tagSymbol");function tag(e){e[ee]=true;return e}const te=typeof TextDecoder!=="undefined";const re=typeof Buffer!=="undefined";let se=alloc(0);let ne=new DataView(se.buffer,se.byteOffset,se.byteLength);const oe=te?new TextDecoder:null;let ie=0;function setPayload(e){se=e;ne=new DataView(se.buffer,se.byteOffset,se.byteLength)}function decode(e,t){if(e>=t){throw new Error("unexpected end of (decode) payload.")}const n=(se[e]&224)>>5;const i=se[e]&31;switch(n){case h:case m:case U:let a;let d;if(i<24){a=i;d=1}else{switch(i){case W:case j:case K:case X:const n=Ae[i];const o=n+1;d=o;if(t-e<o){throw new Error(`countLength ${n} greater than remaining buf len.`)}const h=e+1;if(n===1){a=se[h]}else if(n===2){a=ne.getUint16(h)}else if(n===4){a=ne.getUint32(h)}else{a=ne.getBigUint64(h)}break;default:throw new Error(`unexpected minor value ${i}.`)}}if(n===h){ie=d;return castBigInt(a)}else if(n===m){let e;if(typeof a==="bigint"){e=BigInt(-1)-a}else{e=-1-a}ie=d;return castBigInt(e)}else{if(i===2||i===3){const n=decodeCount(e+d,t);let o=BigInt(0);const a=e+d+ie;for(let e=a;e<a+n;++e){o=o<<BigInt(8)|BigInt(se[e])}ie=d+ie+n;return i===3?-o-BigInt(1):o}else if(i===4){const n=decode(e+d,t);const[i,a]=n;const h=a<0?-1:1;const m="0".repeat(Math.abs(i)+1)+String(BigInt(h)*BigInt(a));let Q;const k=a<0?"-":"";Q=i===0?m:m.slice(0,m.length+i)+"."+m.slice(i);Q=Q.replace(/^0+/g,"");if(Q===""){Q="0"}if(Q[0]==="."){Q="0"+Q}Q=k+Q;ie=d+ie;return o.nv(Q)}else{const n=decode(e+d,t);const o=ie;ie=d+o;return tag({tag:castBigInt(a),value:n})}}case k:case L:case _:case Q:if(i===Z){switch(n){case k:return decodeUtf8StringIndefinite(e,t);case L:return decodeMapIndefinite(e,t);case _:return decodeListIndefinite(e,t);case Q:return decodeUnstructuredByteStringIndefinite(e,t)}}else{switch(n){case k:return decodeUtf8String(e,t);case L:return decodeMap(e,t);case _:return decodeList(e,t);case Q:return decodeUnstructuredByteString(e,t)}}default:return decodeSpecial(e,t)}}function bytesToUtf8(e,t,n){if(re&&e.constructor?.name==="Buffer"){return e.toString("utf-8",t,n)}if(oe){return oe.decode(e.subarray(t,n))}return o.toUtf8(e.subarray(t,n))}function demote(e){const t=Number(e);if(t<Number.MIN_SAFE_INTEGER||Number.MAX_SAFE_INTEGER<t){console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${e}) to ${t} with loss of precision.`))}return t}const Ae={[W]:1,[j]:2,[K]:4,[X]:8};function bytesToFloat16(e,t){const n=e>>7;const o=(e&124)>>2;const i=(e&3)<<8|t;const a=n===0?1:-1;let d;let h;if(o===0){if(i===0){return 0}else{d=Math.pow(2,1-15);h=0}}else if(o===31){if(i===0){return a*Infinity}else{return NaN}}else{d=Math.pow(2,o-15);h=1}h+=i/1024;return a*(d*h)}function decodeCount(e,t){const n=se[e]&31;if(n<24){ie=1;return n}if(n===W||n===j||n===K||n===X){const o=Ae[n];ie=o+1;if(t-e<ie){throw new Error(`countLength ${o} greater than remaining buf len.`)}const i=e+1;if(o===1){return se[i]}else if(o===2){return ne.getUint16(i)}else if(o===4){return ne.getUint32(i)}return demote(ne.getBigUint64(i))}throw new Error(`unexpected minor value ${n}.`)}function decodeUtf8String(e,t){const n=decodeCount(e,t);const o=ie;e+=o;if(t-e<n){throw new Error(`string len ${n} greater than remaining buf len.`)}const i=bytesToUtf8(se,e,e+n);ie=o+n;return i}function decodeUtf8StringIndefinite(e,t){e+=1;const n=[];for(const o=e;e<t;){if(se[e]===255){const t=alloc(n.length);t.set(n,0);ie=e-o+2;return bytesToUtf8(t,0,t.length)}const i=(se[e]&224)>>5;const a=se[e]&31;if(i!==k){throw new Error(`unexpected major type ${i} in indefinite string.`)}if(a===Z){throw new Error("nested indefinite string.")}const d=decodeUnstructuredByteString(e,t);const h=ie;e+=h;for(let e=0;e<d.length;++e){n.push(d[e])}}throw new Error("expected break marker.")}function decodeUnstructuredByteString(e,t){const n=decodeCount(e,t);const o=ie;e+=o;if(t-e<n){throw new Error(`unstructured byte string len ${n} greater than remaining buf len.`)}const i=se.subarray(e,e+n);ie=o+n;return i}function decodeUnstructuredByteStringIndefinite(e,t){e+=1;const n=[];for(const o=e;e<t;){if(se[e]===255){const t=alloc(n.length);t.set(n,0);ie=e-o+2;return t}const i=(se[e]&224)>>5;const a=se[e]&31;if(i!==Q){throw new Error(`unexpected major type ${i} in indefinite string.`)}if(a===Z){throw new Error("nested indefinite string.")}const d=decodeUnstructuredByteString(e,t);const h=ie;e+=h;for(let e=0;e<d.length;++e){n.push(d[e])}}throw new Error("expected break marker.")}function decodeList(e,t){const n=decodeCount(e,t);const o=ie;e+=o;const i=e;const a=Array(n);for(let o=0;o<n;++o){const n=decode(e,t);const i=ie;a[o]=n;e+=i}ie=o+(e-i);return a}function decodeListIndefinite(e,t){e+=1;const n=[];for(const o=e;e<t;){if(se[e]===255){ie=e-o+2;return n}const i=decode(e,t);const a=ie;e+=a;n.push(i)}throw new Error("expected break marker.")}function decodeMap(e,t){const n=decodeCount(e,t);const o=ie;e+=o;const i=e;const a={};for(let o=0;o<n;++o){if(e>=t){throw new Error("unexpected end of map payload.")}const n=(se[e]&224)>>5;if(n!==k){throw new Error(`unexpected major type ${n} for map key at index ${e}.`)}const o=decode(e,t);e+=ie;const i=decode(e,t);e+=ie;a[o]=i}ie=o+(e-i);return a}function decodeMapIndefinite(e,t){e+=1;const n=e;const o={};for(;e<t;){if(e>=t){throw new Error("unexpected end of map payload.")}if(se[e]===255){ie=e-n+2;return o}const i=(se[e]&224)>>5;if(i!==k){throw new Error(`unexpected major type ${i} for map key.`)}const a=decode(e,t);e+=ie;const d=decode(e,t);e+=ie;o[a]=d}throw new Error("expected break marker.")}function decodeSpecial(e,t){const n=se[e]&31;switch(n){case Y:case H:ie=1;return n===Y;case V:ie=1;return null;case J:ie=1;return null;case j:if(t-e<3){throw new Error("incomplete float16 at end of buf.")}ie=3;return bytesToFloat16(se[e+1],se[e+2]);case K:if(t-e<5){throw new Error("incomplete float32 at end of buf.")}ie=5;return ne.getFloat32(e+1);case X:if(t-e<9){throw new Error("incomplete float64 at end of buf.")}ie=9;return ne.getFloat64(e+1);default:throw new Error(`unexpected minor value ${n}.`)}}function castBigInt(e){if(typeof e==="number"){return e}const t=Number(e);if(Number.MIN_SAFE_INTEGER<=t&&t<=Number.MAX_SAFE_INTEGER){return t}return e}const ae=typeof Buffer!=="undefined";const ce=2048;let le=alloc(ce);let ue=new DataView(le.buffer,le.byteOffset,le.byteLength);let ge=0;function ensureSpace(e){const t=le.byteLength-ge;if(t<e){if(ge<16e6){resize(Math.max(le.byteLength*4,le.byteLength+e))}else{resize(le.byteLength+e+16e6)}}}function toUint8Array(){const e=alloc(ge);e.set(le.subarray(0,ge),0);ge=0;return e}function resize(e){const t=le;le=alloc(e);if(t){if(t.copy){t.copy(le,0,0,t.byteLength)}else{le.set(t,0)}}ue=new DataView(le.buffer,le.byteOffset,le.byteLength)}function encodeHeader(e,t){if(t<24){le[ge++]=e<<5|t}else if(t<1<<8){le[ge++]=e<<5|24;le[ge++]=t}else if(t<1<<16){le[ge++]=e<<5|j;ue.setUint16(ge,t);ge+=2}else if(t<2**32){le[ge++]=e<<5|K;ue.setUint32(ge,t);ge+=4}else{le[ge++]=e<<5|X;ue.setBigUint64(ge,typeof t==="bigint"?t:BigInt(t));ge+=8}}function encode(e){const t=[e];while(t.length){const e=t.pop();ensureSpace(typeof e==="string"?e.length*4:64);if(typeof e==="string"){if(ae){encodeHeader(k,Buffer.byteLength(e));ge+=le.write(e,ge)}else{const t=o.fromUtf8(e);encodeHeader(k,t.byteLength);le.set(t,ge);ge+=t.byteLength}continue}else if(typeof e==="number"){if(Number.isInteger(e)){const t=e>=0;const n=t?h:m;const o=t?e:-e-1;if(o<24){le[ge++]=n<<5|o}else if(o<256){le[ge++]=n<<5|24;le[ge++]=o}else if(o<65536){le[ge++]=n<<5|j;le[ge++]=o>>8;le[ge++]=o}else if(o<4294967296){le[ge++]=n<<5|K;ue.setUint32(ge,o);ge+=4}else{le[ge++]=n<<5|X;ue.setBigUint64(ge,BigInt(o));ge+=8}continue}le[ge++]=P<<5|X;ue.setFloat64(ge,e);ge+=8;continue}else if(typeof e==="bigint"){const t=e>=0;const n=t?h:m;const o=t?e:-e-BigInt(1);const i=Number(o);if(i<24){le[ge++]=n<<5|i}else if(i<256){le[ge++]=n<<5|24;le[ge++]=i}else if(i<65536){le[ge++]=n<<5|j;le[ge++]=i>>8;le[ge++]=i&255}else if(i<4294967296){le[ge++]=n<<5|K;ue.setUint32(ge,i);ge+=4}else if(o<BigInt("18446744073709551616")){le[ge++]=n<<5|X;ue.setBigUint64(ge,o);ge+=8}else{const e=o.toString(2);const n=new Uint8Array(Math.ceil(e.length/8));let i=o;let a=0;while(n.byteLength-++a>=0){n[n.byteLength-a]=Number(i&BigInt(255));i>>=BigInt(8)}ensureSpace(n.byteLength*2);le[ge++]=t?194:195;if(ae){encodeHeader(Q,Buffer.byteLength(n))}else{encodeHeader(Q,n.byteLength)}le.set(n,ge);ge+=n.byteLength}continue}else if(e===null){le[ge++]=P<<5|V;continue}else if(typeof e==="boolean"){le[ge++]=P<<5|(e?Y:H);continue}else if(typeof e==="undefined"){throw new Error("@smithy/core/cbor: client may not serialize undefined value.")}else if(Array.isArray(e)){for(let n=e.length-1;n>=0;--n){t.push(e[n])}encodeHeader(_,e.length);continue}else if(typeof e.byteLength==="number"){ensureSpace(e.length*2);encodeHeader(Q,e.length);le.set(e,ge);ge+=e.byteLength;continue}else if(typeof e==="object"){if(e instanceof o.NumericValue){const n=e.string.indexOf(".");const o=n===-1?0:n-e.string.length+1;const i=BigInt(e.string.replace(".",""));le[ge++]=196;t.push(i);t.push(o);encodeHeader(_,2);continue}if(e[ee]){if("tag"in e&&"value"in e){t.push(e.value);encodeHeader(U,e.tag);continue}else{throw new Error("tag encountered with missing fields, need 'tag' and 'value', found: "+JSON.stringify(e))}}const n=Object.keys(e);for(let o=n.length-1;o>=0;--o){const i=n[o];t.push(e[i]);t.push(i)}encodeHeader(L,n.length);continue}throw new Error(`data type ${e?.constructor?.name??typeof e} not compatible for encoding.`)}}const de={deserialize(e){setPayload(e);return decode(0,e.length)},serialize(e){try{encode(e);return toUint8Array()}catch(e){toUint8Array();throw e}},resizeEncodingBuffer(e){resize(e)}};const parseCborBody=(e,t)=>i.collectBody(e,t).then((async e=>{if(e.length){try{return de.deserialize(e)}catch(n){Object.defineProperty(n,"$responseBodyText",{value:t.utf8Encoder(e)});throw n}}return{}}));const dateToTag=e=>tag({tag:1,value:e.getTime()/1e3});const parseCborErrorBody=async(e,t)=>{const n=await parseCborBody(e,t);n.message=n.message??n.Message;return n};const loadSmithyRpcV2CborErrorCode=(e,t)=>{const sanitizeErrorCode=e=>{let t=e;if(typeof t==="number"){t=t.toString()}if(t.indexOf(",")>=0){t=t.split(",")[0]}if(t.indexOf(":")>=0){t=t.split(":")[0]}if(t.indexOf("#")>=0){t=t.split("#")[1]}return t};if(t["__type"]!==undefined){return sanitizeErrorCode(t["__type"])}let n;for(const e in t){if(e.toLowerCase()==="code"){n=e;break}}if(n&&t[n]!==undefined){return sanitizeErrorCode(t[n])}};const checkCborResponse=e=>{if(String(e.headers["smithy-protocol"]).toLowerCase()!=="rpc-v2-cbor"){throw new Error("Malformed RPCv2 CBOR response, status: "+e.statusCode)}};const buildHttpRpcRequest=async(e,t,n,a,d)=>{const h=await e.endpoint();const{hostname:m,protocol:Q="https",port:k,path:_}=h;const L={protocol:Q,hostname:m,port:k,method:"POST",path:_.endsWith("/")?_.slice(0,-1)+n:_+n,headers:{...t}};if(a!==undefined){L.hostname=a}if(h.headers){for(const e in h.headers){L.headers[e]=h.headers[e]}}if(d!==undefined){L.body=d;try{L.headers["content-length"]=String(o.calculateBodyLength(d))}catch(e){}}return new i.HttpRequest(L)};class CborCodec extends i.SerdeContext{createSerializer(){const e=new CborShapeSerializer;e.setSerdeContext(this.serdeContext);return e}createDeserializer(){const e=new CborShapeDeserializer;e.setSerdeContext(this.serdeContext);return e}}class CborShapeSerializer extends i.SerdeContext{value;write(e,t){this.value=this.serialize(e,t)}serialize(e,t){const n=d.NormalizedSchema.of(e);if(t==null){if(n.isIdempotencyToken()){return o.generateIdempotencyToken()}return t}if(n.isBlobSchema()){if(typeof t==="string"){return(this.serdeContext?.base64Decoder??o.fromBase64)(t)}return t}if(n.isTimestampSchema()){if(typeof t==="number"||typeof t==="bigint"){return dateToTag(new Date(Number(t)/1e3|0))}return dateToTag(t)}if(typeof t==="function"||typeof t==="object"){const e=t;if(n.isListSchema()&&Array.isArray(e)){const t=!!n.getMergedTraits().sparse;const o=[];let i=0;for(const a of e){const e=this.serialize(n.getValueSchema(),a);if(e!=null||t){o[i++]=e}}return o}if(e instanceof Date){return dateToTag(e)}const o={};if(n.isMapSchema()){const t=!!n.getMergedTraits().sparse;for(const i in e){const a=this.serialize(n.getValueSchema(),e[i]);if(a!=null||t){o[i]=a}}}else if(n.isStructSchema()){for(const[t,i]of n.structIterator()){const n=this.serialize(i,e[t]);if(n!=null){o[t]=n}}const t=n.isUnionSchema();if(t&&Array.isArray(e.$unknown)){const[t,n]=e.$unknown;o[t]=n}else if(typeof e.__type==="string"){for(const t in e){if(!(t in o)){o[t]=this.serialize(15,e[t])}}}}else if(n.isDocumentSchema()){for(const t in e){o[t]=this.serialize(n.getValueSchema(),e[t])}}else if(n.isBigDecimalSchema()){return e}return o}return t}flush(){const e=de.serialize(this.value);this.value=undefined;return e}}class CborShapeDeserializer extends i.SerdeContext{read(e,t){const n=de.deserialize(t);return this.readValue(e,n)}readValue(e,t){const n=d.NormalizedSchema.of(e);if(n.isTimestampSchema()){if(typeof t==="number"){return o._parseEpochTimestamp(t)}if(typeof t==="object"){if(t.tag===1&&"value"in t){return o._parseEpochTimestamp(t.value)}}}if(n.isBlobSchema()){if(typeof t==="string"){return(this.serdeContext?.base64Decoder??o.fromBase64)(t)}return t}if(typeof t==="undefined"||typeof t==="boolean"||typeof t==="number"||typeof t==="string"||typeof t==="bigint"||typeof t==="symbol"){return t}else if(typeof t==="object"){if(t===null){return null}if("byteLength"in t){return t}if(t instanceof Date){return t}if(n.isDocumentSchema()){return t}if(n.isListSchema()){const e=[];const o=n.getValueSchema();for(const n of t){const t=this.readValue(o,n);e.push(t)}return e}const e={};if(n.isMapSchema()){const o=n.getValueSchema();for(const n in t){const i=this.readValue(o,t[n]);e[n]=i}}else if(n.isStructSchema()){const o=n.isUnionSchema();let i;if(o){i=new Set;for(const e in t){if(e!=="__type"){i.add(e)}}}for(const[a,d]of n.structIterator()){if(o){i.delete(a)}if(t[a]!=null){e[a]=this.readValue(d,t[a])}}if(o&&i?.size===1){let n=true;for(const t in e){n=false;break}if(n){const n=i.values().next().value;e.$unknown=[n,t[n]]}}else if(typeof t.__type==="string"){for(const n in t){if(!(n in e)){e[n]=t[n]}}}}else if(t instanceof o.NumericValue){return t}return e}else{return t}}}class SmithyRpcV2CborProtocol extends i.RpcProtocol{codec=new CborCodec;serializer=this.codec.createSerializer();deserializer=this.codec.createDeserializer();constructor({defaultNamespace:e,errorTypeRegistries:t}){super({defaultNamespace:e,errorTypeRegistries:t})}getShapeId(){return"smithy.protocols#rpcv2Cbor"}getPayloadCodec(){return this.codec}async serializeRequest(e,t,n){const o=await super.serializeRequest(e,t,n);Object.assign(o.headers,{"content-type":this.getDefaultContentType(),"smithy-protocol":"rpc-v2-cbor",accept:this.getDefaultContentType()});if(d.deref(e.input)==="unit"){delete o.body;delete o.headers["content-type"]}else{if(!o.body){this.serializer.write(15,{});o.body=this.serializer.flush()}try{o.headers["content-length"]=String(o.body.byteLength)}catch(e){}}const{service:i,operation:h}=a.getSmithyContext(n);const m=`/service/${i}/operation/${h}`;if(o.path.endsWith("/")){o.path+=m.slice(1)}else{o.path+=m}return o}async deserializeResponse(e,t,n){return super.deserializeResponse(e,t,n)}async handleError(e,t,n,o,i){const a=loadSmithyRpcV2CborErrorCode(n,o)??"Unknown";const h={$metadata:i,$fault:n.statusCode<=500?"client":"server"};let m=this.options.defaultNamespace;if(a.includes("#")){[m]=a.split("#")}const Q=this.compositeErrorRegistry;const k=d.TypeRegistry.for(m);Q.copyFrom(k);let _;try{_=Q.getSchema(a)}catch(e){if(o.Message){o.message=o.Message}const t=d.TypeRegistry.for("smithy.ts.sdk.synthetic."+m);Q.copyFrom(t);const n=Q.getBaseException();if(n){const e=Q.getErrorCtor(n);throw Object.assign(new e({name:a}),h,o)}throw Object.assign(new Error(a),h,o)}const L=d.NormalizedSchema.of(_);const U=Q.getErrorCtor(_);const P=o.message??o.Message??"Unknown";const H=new U({});const Y={};for(const[e,t]of L.structIterator()){Y[e]=this.deserializer.readValue(t,o[e])}throw Object.assign(H,h,{$fault:L.getMergedTraits().error,message:P},Y)}getDefaultContentType(){return"application/cbor"}}t.CborCodec=CborCodec;t.CborShapeDeserializer=CborShapeDeserializer;t.CborShapeSerializer=CborShapeSerializer;t.SmithyRpcV2CborProtocol=SmithyRpcV2CborProtocol;t.buildHttpRpcRequest=buildHttpRpcRequest;t.cbor=de;t.checkCborResponse=checkCborResponse;t.dateToTag=dateToTag;t.loadSmithyRpcV2CborErrorCode=loadSmithyRpcV2CborErrorCode;t.parseCborBody=parseCborBody;t.parseCborErrorBody=parseCborErrorBody;t.tag=tag;t.tagSymbol=ee},2658:(e,t,n)=>{"use strict";var o=n(690);var i=n(6890);const getAllAliases=(e,t)=>{const n=[];if(e){n.push(e)}if(t){for(const e of t){n.push(e)}}return n};const getMiddlewareNameWithAliases=(e,t)=>`${e||"anonymous"}${t&&t.length>0?` (a.k.a. ${t.join(",")})`:""}`;const constructStack=()=>{let e=[];let t=[];let n=false;const o=new Set;const sort=e=>e.sort(((e,t)=>a[t.step]-a[e.step]||d[t.priority||"normal"]-d[e.priority||"normal"]));const removeByName=n=>{let i=false;const filterCb=e=>{const t=getAllAliases(e.name,e.aliases);if(t.includes(n)){i=true;for(const e of t){o.delete(e)}return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return i};const removeByReference=n=>{let i=false;const filterCb=e=>{if(e.middleware===n){i=true;for(const t of getAllAliases(e.name,e.aliases)){o.delete(t)}return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return i};const cloneTo=n=>{e.forEach((e=>{n.add(e.middleware,{...e})}));t.forEach((e=>{n.addRelativeTo(e.middleware,{...e})}));n.identifyOnResolve?.(i.identifyOnResolve());return n};const expandRelativeMiddlewareList=e=>{const t=[];e.before.forEach((e=>{if(e.before.length===0&&e.after.length===0){t.push(e)}else{t.push(...expandRelativeMiddlewareList(e))}}));t.push(e);e.after.reverse().forEach((e=>{if(e.before.length===0&&e.after.length===0){t.push(e)}else{t.push(...expandRelativeMiddlewareList(e))}}));return t};const getMiddlewareList=(n=false)=>{const o=[];const i=[];const a={};e.forEach((e=>{const t={...e,before:[],after:[]};for(const e of getAllAliases(t.name,t.aliases)){a[e]=t}o.push(t)}));t.forEach((e=>{const t={...e,before:[],after:[]};for(const e of getAllAliases(t.name,t.aliases)){a[e]=t}i.push(t)}));i.forEach((e=>{if(e.toMiddleware){const t=a[e.toMiddleware];if(t===undefined){if(n){return}throw new Error(`${e.toMiddleware} is not found when adding `+`${getMiddlewareNameWithAliases(e.name,e.aliases)} `+`middleware ${e.relation} ${e.toMiddleware}`)}if(e.relation==="after"){t.after.push(e)}if(e.relation==="before"){t.before.push(e)}}}));const d=sort(o).map(expandRelativeMiddlewareList).reduce(((e,t)=>{e.push(...t);return e}),[]);return d};const i={add:(t,n={})=>{const{name:i,override:a,aliases:d}=n;const h={step:"initialize",priority:"normal",middleware:t,...n};const m=getAllAliases(i,d);if(m.length>0){if(m.some((e=>o.has(e)))){if(!a)throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(i,d)}'`);for(const t of m){const n=e.findIndex((e=>e.name===t||e.aliases?.some((e=>e===t))));if(n===-1){continue}const o=e[n];if(o.step!==h.step||h.priority!==o.priority){throw new Error(`"${getMiddlewareNameWithAliases(o.name,o.aliases)}" middleware with `+`${o.priority} priority in ${o.step} step cannot `+`be overridden by "${getMiddlewareNameWithAliases(i,d)}" middleware with `+`${h.priority} priority in ${h.step} step.`)}e.splice(n,1)}}for(const e of m){o.add(e)}}e.push(h)},addRelativeTo:(e,n)=>{const{name:i,override:a,aliases:d}=n;const h={middleware:e,...n};const m=getAllAliases(i,d);if(m.length>0){if(m.some((e=>o.has(e)))){if(!a)throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(i,d)}'`);for(const e of m){const n=t.findIndex((t=>t.name===e||t.aliases?.some((t=>t===e))));if(n===-1){continue}const o=t[n];if(o.toMiddleware!==h.toMiddleware||o.relation!==h.relation){throw new Error(`"${getMiddlewareNameWithAliases(o.name,o.aliases)}" middleware `+`${o.relation} "${o.toMiddleware}" middleware cannot be overridden `+`by "${getMiddlewareNameWithAliases(i,d)}" middleware ${h.relation} `+`"${h.toMiddleware}" middleware.`)}t.splice(n,1)}}for(const e of m){o.add(e)}}t.push(h)},clone:()=>cloneTo(constructStack()),use:e=>{e.applyToStack(i)},remove:e=>{if(typeof e==="string")return removeByName(e);else return removeByReference(e)},removeByTag:n=>{let i=false;const filterCb=e=>{const{tags:t,name:a,aliases:d}=e;if(t&&t.includes(n)){const e=getAllAliases(a,d);for(const t of e){o.delete(t)}i=true;return false}return true};e=e.filter(filterCb);t=t.filter(filterCb);return i},concat:e=>{const t=cloneTo(constructStack());t.use(e);t.identifyOnResolve(n||t.identifyOnResolve()||(e.identifyOnResolve?.()??false));return t},applyToStack:cloneTo,identify:()=>getMiddlewareList(true).map((e=>{const t=e.step??e.relation+" "+e.toMiddleware;return getMiddlewareNameWithAliases(e.name,e.aliases)+" - "+t})),identifyOnResolve(e){if(typeof e==="boolean")n=e;return n},resolve:(e,t)=>{for(const n of getMiddlewareList().map((e=>e.middleware)).reverse()){e=n(e,t)}if(n){console.log(i.identify())}return e}};return i};const a={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1};const d={high:3,normal:2,low:1};const getSmithyContext=e=>e[o.SMITHY_CONTEXT_KEY]||(e[o.SMITHY_CONTEXT_KEY]={});const normalizeProvider=e=>{if(typeof e==="function")return e;const t=Promise.resolve(e);return()=>t};const invalidFunction=e=>()=>{throw new Error(e)};const invalidProvider=e=>()=>Promise.reject(e);const getCircularReplacer=()=>{const e=new WeakSet;return(t,n)=>{if(typeof n==="object"&&n!==null){if(e.has(n)){return"[Circular]"}e.add(n)}return n}};const sleep=e=>new Promise((t=>setTimeout(t,e*1e3)));const h={minDelay:2,maxDelay:120};t.WaiterState=void 0;(function(e){e["ABORTED"]="ABORTED";e["FAILURE"]="FAILURE";e["SUCCESS"]="SUCCESS";e["RETRY"]="RETRY";e["TIMEOUT"]="TIMEOUT"})(t.WaiterState||(t.WaiterState={}));const checkExceptions=e=>{if(e.state===t.WaiterState.ABORTED){const t=new Error(`${JSON.stringify({...e,reason:"Request was aborted"},getCircularReplacer())}`);t.name="AbortError";throw t}else if(e.state===t.WaiterState.TIMEOUT){const t=new Error(`${JSON.stringify({...e,reason:"Waiter has timed out"},getCircularReplacer())}`);t.name="TimeoutError";throw t}else if(e.state!==t.WaiterState.SUCCESS){throw new Error(`${JSON.stringify(e,getCircularReplacer())}`)}return e};const runPolling=async({minDelay:e,maxDelay:n,maxWaitTime:o,abortController:i,client:a,abortSignal:d},h,m)=>{const Q={};const[k,_]=[e*1e3,n*1e3];let L=0;const U=Date.now()+o*1e3;const P=Date.now()+6e4;let H=false;while(true){if(L>0){const e=exponentialBackoffWithJitter(k,_,L,U);if(i?.signal?.aborted||d?.aborted){const e="AbortController signal aborted.";Q[e]|=0;Q[e]+=1;return{state:t.WaiterState.ABORTED,observedResponses:Q}}if(Date.now()+e>U){return{state:t.WaiterState.TIMEOUT,observedResponses:Q}}await sleep(e/1e3)}const{state:e,reason:n}=await m(a,h);if(n){const e=createMessageFromResponse(n);Q[e]|=0;Q[e]+=1}if(e!==t.WaiterState.RETRY){return{state:e,reason:n,final:n,observedResponses:Q}}L+=1;if(!H&&Date.now()>=P){checkWarn403(Q,a);H=true}}};const checkWarn403=(e={},t)=>{const n=Object.keys(e);let o=0;for(const t of n){const n=e[t]|0;if(t.startsWith("403:")){o+=n}}const i=t?.config?.logger;const a=typeof i?.warn==="function"&&!i.constructor?.name?.includes?.("NoOpLogger")?i:console;if(o>=3||n[n.length-1]?.startsWith("403:")){a.warn(`@smithy/util-waiter WARN - 403 status code encountered during waiter polling.`)}};const createMessageFromResponse=e=>{const t=e?.$response?.statusCode??e?.$metadata?.httpStatusCode;if(e?.$responseBodyText){return`${t?t+": ":""}Deserialization error for body: ${e.$responseBodyText}`}if(t){if(e?.$response||e?.message){return`${t??"Unknown"}: ${e?.message}`}return`${t}: OK`}return String(e?.message??JSON.stringify(e,getCircularReplacer())??"Unknown")};const exponentialBackoffWithJitter=(e,t,n,o)=>{const i=Math.log(t/e)/Math.log(2)+1;if(n>i){return t}const a=e*2**(n-1);const d=Math.min(a,t);const h=randomInRange(e,d);if(Date.now()+h>o){const e=o-Date.now();return Math.max(0,e-500)}return h};const randomInRange=(e,t)=>e+Math.random()*(t-e);const validateWaiterOptions=e=>{if(e.maxWaitTime<=0){throw new Error(`WaiterConfiguration.maxWaitTime must be greater than 0`)}else if(e.minDelay<=0){throw new Error(`WaiterConfiguration.minDelay must be greater than 0`)}else if(e.maxDelay<=0){throw new Error(`WaiterConfiguration.maxDelay must be greater than 0`)}else if(e.maxWaitTime<=e.minDelay){throw new Error(`WaiterConfiguration.maxWaitTime [${e.maxWaitTime}] must be greater than WaiterConfiguration.minDelay [${e.minDelay}] for this waiter`)}else if(e.maxDelay<e.minDelay){throw new Error(`WaiterConfiguration.maxDelay [${e.maxDelay}] must be greater than WaiterConfiguration.minDelay [${e.minDelay}] for this waiter`)}};const abortTimeout=e=>{let n;const o=new Promise((o=>{n=()=>o({state:t.WaiterState.ABORTED});if(typeof e.addEventListener==="function"){e.addEventListener("abort",n)}else{e.onabort=n}}));return{clearListener(){if(typeof e.removeEventListener==="function"){e.removeEventListener("abort",n)}},aborted:o}};const createWaiter=async(e,t,n)=>{const o={...h,...e};validateWaiterOptions(o);const i=[runPolling(o,t,n)];const a=[];if(e.abortSignal){const{aborted:t,clearListener:n}=abortTimeout(e.abortSignal);a.push(n);i.push(t)}if(e.abortController?.signal){const{aborted:t,clearListener:n}=abortTimeout(e.abortController.signal);a.push(n);i.push(t)}return Promise.race(i).then((e=>{for(const e of a){e()}return e}))};class Client{config;middlewareStack=constructStack();initConfig;handlers;constructor(e){this.config=e;const{protocol:t,protocolSettings:n}=e;if(n){if(typeof t==="function"){e.protocol=new t(n)}}}send(e,t,n){const o=typeof t!=="function"?t:undefined;const i=typeof t==="function"?t:n;const a=o===undefined&&this.config.cacheMiddleware===true;let d;if(a){if(!this.handlers){this.handlers=new WeakMap}const t=this.handlers;if(t.has(e.constructor)){d=t.get(e.constructor)}else{d=e.resolveMiddleware(this.middlewareStack,this.config,o);t.set(e.constructor,d)}}else{delete this.handlers;d=e.resolveMiddleware(this.middlewareStack,this.config,o)}if(i){d(e).then((e=>i(null,e.output)),(e=>i(e))).catch((()=>{}))}else{return d(e).then((e=>e.output))}}destroy(){this.config?.requestHandler?.destroy?.();delete this.handlers}}const m="***SensitiveInformation***";function schemaLogFilter(e,t){if(t==null){return t}const n=i.NormalizedSchema.of(e);if(n.getMergedTraits().sensitive){return m}if(n.isListSchema()){const e=!!n.getValueSchema().getMergedTraits().sensitive;if(e){return m}}else if(n.isMapSchema()){const e=!!n.getKeySchema().getMergedTraits().sensitive||!!n.getValueSchema().getMergedTraits().sensitive;if(e){return m}}else if(n.isStructSchema()&&typeof t==="object"){const e=t;const o={};for(const[t,i]of n.structIterator()){if(e[t]!=null){o[t]=schemaLogFilter(i,e[t])}}return o}return t}class Command{middlewareStack=constructStack();schema;static classBuilder(){return new ClassBuilder}resolveMiddlewareWithContext(e,t,n,{middlewareFn:i,clientName:a,commandName:d,inputFilterSensitiveLog:h,outputFilterSensitiveLog:m,smithyContext:Q,additionalContext:k,CommandCtor:_}){for(const o of i.bind(this)(_,e,t,n)){this.middlewareStack.use(o)}const L=e.concat(this.middlewareStack);const{logger:U}=t;const P={logger:U,clientName:a,commandName:d,inputFilterSensitiveLog:h,outputFilterSensitiveLog:m,[o.SMITHY_CONTEXT_KEY]:{commandInstance:this,...Q},...k};const{requestHandler:H}=t;let Y=n??{};if(Q.eventStream){Y={isEventStream:true,...Y}}return L.resolve((e=>H.handle(e.request,Y)),P)}}class ClassBuilder{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=undefined;_outputFilterSensitiveLog=undefined;_serializer=null;_deserializer=null;_operationSchema;init(e){this._init=e}ep(e){this._ep=e;return this}m(e){this._middlewareFn=e;return this}s(e,t,n={}){this._smithyContext={service:e,operation:t,...n};return this}c(e={}){this._additionalContext=e;return this}n(e,t){this._clientName=e;this._commandName=t;return this}f(e=e=>e,t=e=>e){this._inputFilterSensitiveLog=e;this._outputFilterSensitiveLog=t;return this}ser(e){this._serializer=e;return this}de(e){this._deserializer=e;return this}sc(e){this._operationSchema=e;this._smithyContext.operationSchema=e;return this}build(){const e=this;let t;return t=class extends Command{input;static getEndpointParameterInstructions(){return e._ep}constructor(...[t]){super();this.input=t??{};e._init(this);this.schema=e._operationSchema}resolveMiddleware(n,o,i){const a=e._operationSchema;const d=a?.[4]??a?.input;const h=a?.[5]??a?.output;return this.resolveMiddlewareWithContext(n,o,i,{CommandCtor:t,middlewareFn:e._middlewareFn,clientName:e._clientName,commandName:e._commandName,inputFilterSensitiveLog:e._inputFilterSensitiveLog??(a?schemaLogFilter.bind(null,d):e=>e),outputFilterSensitiveLog:e._outputFilterSensitiveLog??(a?schemaLogFilter.bind(null,h):e=>e),smithyContext:e._smithyContext,additionalContext:e._additionalContext})}serialize=e._serializer;deserialize=e._deserializer}}}const Q="***SensitiveInformation***";const createAggregatedClient=(e,t,n)=>{for(const[n,o]of Object.entries(e)){const methodImpl=async function(e,t,n){const i=new o(e);if(typeof t==="function"){this.send(i,t)}else if(typeof n==="function"){if(typeof t!=="object")throw new Error(`Expected http options but got ${typeof t}`);this.send(i,t||{},n)}else{return this.send(i,t)}};const e=(n[0].toLowerCase()+n.slice(1)).replace(/Command$/,"");t.prototype[e]=methodImpl}const{paginators:o={},waiters:i={}}=n??{};for(const[e,n]of Object.entries(o)){if(t.prototype[e]===void 0){t.prototype[e]=function(e={},t,...o){return n({...t,client:this},e,...o)}}}for(const[e,n]of Object.entries(i)){if(t.prototype[e]===void 0){t.prototype[e]=async function(e={},t,...o){let i=t;if(typeof t==="number"){i={maxWaitTime:t}}return n({...i,client:this},e,...o)}}}};class ServiceException 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){if(!e)return false;const t=e;return ServiceException.prototype.isPrototypeOf(t)||Boolean(t.$fault)&&Boolean(t.$metadata)&&(t.$fault==="client"||t.$fault==="server")}static[Symbol.hasInstance](e){if(!e)return false;const t=e;if(this===ServiceException){return ServiceException.isInstance(e)}if(ServiceException.isInstance(e)){if(t.name&&this.name){return this.prototype.isPrototypeOf(e)||t.name===this.name}return this.prototype.isPrototypeOf(e)}return false}}const decorateServiceException=(e,t={})=>{Object.entries(t).filter((([,e])=>e!==undefined)).forEach((([t,n])=>{if(e[t]==undefined||e[t]===""){e[t]=n}}));const n=e.message||e.Message||"UnknownError";e.message=n;delete e.Message;return e};const throwDefaultError=({output:e,parsedBody:t,exceptionCtor:n,errorCode:o})=>{const i=deserializeMetadata(e);const a=i.httpStatusCode?i.httpStatusCode+"":undefined;const d=new n({name:t?.code||t?.Code||o||a||"UnknownError",$fault:"client",$metadata:i});throw decorateServiceException(d,t)};const withBaseException=e=>({output:t,parsedBody:n,errorCode:o})=>{throwDefaultError({output:t,parsedBody:n,exceptionCtor:e,errorCode:o})};const deserializeMetadata=e=>({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"]});const loadConfigsForDefaultMode=e=>{switch(e){case"standard":return{retryMode:"standard",connectionTimeout:3100};case"in-region":return{retryMode:"standard",connectionTimeout:1100};case"cross-region":return{retryMode:"standard",connectionTimeout:3100};case"mobile":return{retryMode:"standard",connectionTimeout:3e4};default:return{}}};let k=false;const emitWarningIfUnsupportedVersion=e=>{if(e&&!k&&parseInt(e.substring(1,e.indexOf(".")))<16){k=true}};const _=Object.values(o.AlgorithmId);const getChecksumConfiguration=e=>{const t=[];for(const n in o.AlgorithmId){const i=o.AlgorithmId[n];if(e[i]===undefined){continue}t.push({algorithmId:()=>i,checksumConstructor:()=>e[i]})}for(const[n,o]of Object.entries(e.checksumAlgorithms??{})){t.push({algorithmId:()=>n,checksumConstructor:()=>o})}return{addChecksumAlgorithm(n){e.checksumAlgorithms=e.checksumAlgorithms??{};const o=n.algorithmId();const i=n.checksumConstructor();if(_.includes(o)){e.checksumAlgorithms[o.toUpperCase()]=i}else{e.checksumAlgorithms[o]=i}t.push(n)},checksumAlgorithms(){return t}}};const resolveChecksumRuntimeConfig=e=>{const t={};e.checksumAlgorithms().forEach((e=>{const n=e.algorithmId();if(_.includes(n)){t[n]=e.checksumConstructor()}}));return t};const getRetryConfiguration=e=>({setRetryStrategy(t){e.retryStrategy=t},retryStrategy(){return e.retryStrategy}});const resolveRetryRuntimeConfig=e=>{const t={};t.retryStrategy=e.retryStrategy();return t};const getDefaultExtensionConfiguration=e=>Object.assign(getChecksumConfiguration(e),getRetryConfiguration(e));const L=getDefaultExtensionConfiguration;const resolveDefaultRuntimeConfig=e=>Object.assign(resolveChecksumRuntimeConfig(e),resolveRetryRuntimeConfig(e));const getArrayIfSingleItem=e=>Array.isArray(e)?e:[e];const getValueFromTextNode=e=>{const t="#text";for(const n in e){if(e.hasOwnProperty(n)&&e[n][t]!==undefined){e[n]=e[n][t]}else if(typeof e[n]==="object"&&e[n]!==null){e[n]=getValueFromTextNode(e[n])}}return e};const isSerializableHeaderValue=e=>e!=null;class NoOpLogger{trace(){}debug(){}info(){}warn(){}error(){}}function map(e,t,n){let o;let i;let a;if(typeof t==="undefined"&&typeof n==="undefined"){o={};a=e}else{o=e;if(typeof t==="function"){i=t;a=n;return mapWithFilter(o,i,a)}else{a=t}}for(const e of Object.keys(a)){if(!Array.isArray(a[e])){o[e]=a[e];continue}applyInstruction(o,null,a,e)}return o}const convertMap=e=>{const t={};for(const[n,o]of Object.entries(e||{})){t[n]=[,o]}return t};const take=(e,t)=>{const n={};for(const o in t){applyInstruction(n,e,t,o)}return n};const mapWithFilter=(e,t,n)=>map(e,Object.entries(n).reduce(((e,[n,o])=>{if(Array.isArray(o)){e[n]=o}else{if(typeof o==="function"){e[n]=[t,o()]}else{e[n]=[t,o]}}return e}),{}));const applyInstruction=(e,t,n,o)=>{if(t!==null){let i=n[o];if(typeof i==="function"){i=[,i]}const[a=nonNullish,d=pass,h=o]=i;if(typeof a==="function"&&a(t[h])||typeof a!=="function"&&!!a){e[o]=d(t[h])}return}let[i,a]=n[o];if(typeof a==="function"){let t;const n=i===undefined&&(t=a())!=null;const d=typeof i==="function"&&!!i(void 0)||typeof i!=="function"&&!!i;if(n){e[o]=t}else if(d){e[o]=a()}}else{const t=i===undefined&&a!=null;const n=typeof i==="function"&&!!i(a)||typeof i!=="function"&&!!i;if(t||n){e[o]=a}}};const nonNullish=e=>e!=null;const pass=e=>e;const serializeFloat=e=>{if(e!==e){return"NaN"}switch(e){case Infinity:return"Infinity";case-Infinity:return"-Infinity";default:return e}};const serializeDateTime=e=>e.toISOString().replace(".000Z","Z");const _json=e=>{if(e==null){return{}}if(Array.isArray(e)){return e.filter((e=>e!=null)).map(_json)}if(typeof e==="object"){const t={};for(const n of Object.keys(e)){if(e[n]==null){continue}t[n]=_json(e[n])}return t}return e};t.AlgorithmId=o.AlgorithmId;t.Client=Client;t.Command=Command;t.NoOpLogger=NoOpLogger;t.SENSITIVE_STRING=Q;t.ServiceException=ServiceException;t._json=_json;t.checkExceptions=checkExceptions;t.constructStack=constructStack;t.convertMap=convertMap;t.createAggregatedClient=createAggregatedClient;t.createWaiter=createWaiter;t.decorateServiceException=decorateServiceException;t.emitWarningIfUnsupportedVersion=emitWarningIfUnsupportedVersion;t.getArrayIfSingleItem=getArrayIfSingleItem;t.getChecksumConfiguration=getChecksumConfiguration;t.getDefaultClientConfiguration=L;t.getDefaultExtensionConfiguration=getDefaultExtensionConfiguration;t.getRetryConfiguration=getRetryConfiguration;t.getSmithyContext=getSmithyContext;t.getValueFromTextNode=getValueFromTextNode;t.invalidFunction=invalidFunction;t.invalidProvider=invalidProvider;t.isSerializableHeaderValue=isSerializableHeaderValue;t.loadConfigsForDefaultMode=loadConfigsForDefaultMode;t.map=map;t.normalizeProvider=normalizeProvider;t.resolveChecksumRuntimeConfig=resolveChecksumRuntimeConfig;t.resolveDefaultRuntimeConfig=resolveDefaultRuntimeConfig;t.resolveRetryRuntimeConfig=resolveRetryRuntimeConfig;t.schemaLogFilter=schemaLogFilter;t.serializeDateTime=serializeDateTime;t.serializeFloat=serializeFloat;t.take=take;t.throwDefaultError=throwDefaultError;t.waiterServiceDefaults=h;t.withBaseException=withBaseException},7291:(e,t,n)=>{"use strict";var o=n(8161);var i=n(6760);var a=n(7598);var d=n(1455);var h=n(690);var m=n(2658);var Q=n(2085);class ProviderError extends Error{name="ProviderError";tryNextLink;constructor(e,t=true){let n;let o=true;if(typeof t==="boolean"){n=undefined;o=t}else if(t!=null&&typeof t==="object"){n=t.logger;o=t.tryNextLink??true}super(e);this.tryNextLink=o;Object.setPrototypeOf(this,ProviderError.prototype);n?.debug?.(`@smithy/property-provider ${o?"->":"(!)"} ${e}`)}static from(e,t=true){return Object.assign(new this(e.message,t),e)}}class CredentialsProviderError extends ProviderError{name="CredentialsProviderError";constructor(e,t=true){super(e,t);Object.setPrototypeOf(this,CredentialsProviderError.prototype)}}class TokenProviderError extends ProviderError{name="TokenProviderError";constructor(e,t=true){super(e,t);Object.setPrototypeOf(this,TokenProviderError.prototype)}}const chain=(...e)=>async()=>{if(e.length===0){throw new ProviderError("No providers in chain")}let t;for(const n of e){try{const e=await n();return e}catch(e){t=e;if(e?.tryNextLink){continue}throw e}}throw t};const fromValue=e=>()=>Promise.resolve(e);const memoize=(e,t,n)=>{let o;let i;let a;let d=false;const coalesceProvider=async()=>{if(!i){i=e()}try{o=await i;a=true;d=false}finally{i=undefined}return o};if(t===undefined){return async e=>{if(!a||e?.forceRefresh){o=await coalesceProvider()}return o}}return async e=>{if(!a||e?.forceRefresh){o=await coalesceProvider()}if(d){return o}if(n&&!n(o)){d=true;return o}if(t(o)){await coalesceProvider();return o}return o}};const booleanSelector=(e,t,n)=>{if(!(t in e))return undefined;if(e[t]==="true")return true;if(e[t]==="false")return false;throw new Error(`Cannot load ${n} "${t}". Expected "true" or "false", got ${e[t]}.`)};const numberSelector=(e,t,n)=>{if(!(t in e))return undefined;const o=parseInt(e[t],10);if(Number.isNaN(o)){throw new TypeError(`Cannot load ${n} '${t}'. Expected number, got '${e[t]}'.`)}return o};t.SelectorType=void 0;(function(e){e["ENV"]="env";e["CONFIG"]="shared config entry"})(t.SelectorType||(t.SelectorType={}));const k={};const getHomeDirCacheKey=()=>{if(process&&process.geteuid){return`${process.geteuid()}`}return"DEFAULT"};const getHomeDir=()=>{const{HOME:e,USERPROFILE:t,HOMEPATH:n,HOMEDRIVE:a=`C:${i.sep}`}=process.env;if(e)return e;if(t)return t;if(n)return`${a}${n}`;const d=getHomeDirCacheKey();if(!k[d])k[d]=o.homedir();return k[d]};const _="AWS_PROFILE";const L="default";const getProfileName=e=>e.profile||process.env[_]||L;const getSSOTokenFilepath=e=>{const t=a.createHash("sha1");const n=t.update(e).digest("hex");return i.join(getHomeDir(),".aws","sso","cache",`${n}.json`)};const U={};const getSSOTokenFromFile=async e=>{if(U[e]){return U[e]}const t=getSSOTokenFilepath(e);const n=await d.readFile(t,"utf8");return JSON.parse(n)};const P=".";const getConfigData=e=>Object.entries(e).filter((([e])=>{const t=e.indexOf(P);if(t===-1){return false}return Object.values(h.IniSectionType).includes(e.substring(0,t))})).reduce(((e,[t,n])=>{const o=t.indexOf(P);const i=t.substring(0,o)===h.IniSectionType.PROFILE?t.substring(o+1):t;e[i]=n;return e}),{...e.default&&{default:e.default}});const H="AWS_CONFIG_FILE";const getConfigFilepath=()=>process.env[H]||i.join(getHomeDir(),".aws","config");const Y="AWS_SHARED_CREDENTIALS_FILE";const getCredentialsFilepath=()=>process.env[Y]||i.join(getHomeDir(),".aws","credentials");const V=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/;const J=["__proto__","profile __proto__"];const parseIni=e=>{const t={};let n;let o;for(const i of e.split(/\r?\n/)){const e=i.split(/(^|\s)[;#]/)[0].trim();const a=e[0]==="["&&e[e.length-1]==="]";if(a){n=undefined;o=undefined;const t=e.substring(1,e.length-1);const i=V.exec(t);if(i){const[,e,,t]=i;if(Object.values(h.IniSectionType).includes(e)){n=[e,t].join(P)}}else{n=t}if(J.includes(t)){throw new Error(`Found invalid profile name "${t}"`)}}else if(n){const a=e.indexOf("=");if(![0,-1].includes(a)){const[d,h]=[e.substring(0,a).trim(),e.substring(a+1).trim()];if(h===""){o=d}else{if(o&&i.trimStart()===i){o=undefined}t[n]=t[n]||{};const e=o?[o,d].join(P):d;t[n][e]=h}}}}return t};const W={};const j={};const readFile=(e,t)=>{if(j[e]!==undefined){return j[e]}if(!W[e]||t?.ignoreCache){W[e]=d.readFile(e,"utf8")}return W[e]};const swallowError$1=()=>({});const loadSharedConfigFiles=async(e={})=>{const{filepath:t=getCredentialsFilepath(),configFilepath:n=getConfigFilepath()}=e;const o=getHomeDir();const a="~/";let d=t;if(t.startsWith(a)){d=i.join(o,t.slice(2))}let h=n;if(n.startsWith(a)){h=i.join(o,n.slice(2))}const m=await Promise.all([readFile(h,{ignoreCache:e.ignoreCache}).then(parseIni).then(getConfigData).catch(swallowError$1),readFile(d,{ignoreCache:e.ignoreCache}).then(parseIni).catch(swallowError$1)]);return{configFile:m[0],credentialsFile:m[1]}};const getSsoSessionData=e=>Object.entries(e).filter((([e])=>e.startsWith(h.IniSectionType.SSO_SESSION+P))).reduce(((e,[t,n])=>({...e,[t.substring(t.indexOf(P)+1)]:n})),{});const swallowError=()=>({});const loadSsoSessionData=async(e={})=>readFile(e.configFilepath??getConfigFilepath()).then(parseIni).then(getSsoSessionData).catch(swallowError);const mergeConfigFiles=(...e)=>{const t={};for(const n of e){for(const[e,o]of Object.entries(n)){if(t[e]!==undefined){Object.assign(t[e],o)}else{t[e]=o}}}return t};const parseKnownFiles=async e=>{const t=await loadSharedConfigFiles(e);return mergeConfigFiles(t.configFile,t.credentialsFile)};const K={getFileRecord(){return j},interceptFile(e,t){j[e]=Promise.resolve(t)},getTokenRecord(){return U},interceptToken(e,t){U[e]=t}};function getSelectorName(e){try{const t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));t.delete("CONFIG");t.delete("CONFIG_PREFIX_SEPARATOR");t.delete("ENV");return[...t].join(", ")}catch(t){return e}}const fromEnv=(e,t)=>async()=>{try{const n=e(process.env,t);if(n===undefined){throw new Error}return n}catch(n){throw new CredentialsProviderError(n.message||`Not found in ENV: ${getSelectorName(e.toString())}`,{logger:t?.logger})}};const fromSharedConfigFiles=(e,{preferredFile:t="config",...n}={})=>async()=>{const o=getProfileName(n);const{configFile:i,credentialsFile:a}=await loadSharedConfigFiles(n);const d=a[o]||{};const h=i[o]||{};const m=t==="config"?{...d,...h}:{...h,...d};try{const n=t==="config"?i:a;const o=e(m,n);if(o===undefined){throw new Error}return o}catch(t){throw new CredentialsProviderError(t.message||`Not found in config files w/ profile [${o}]: ${getSelectorName(e.toString())}`,{logger:n.logger})}};const isFunction=e=>typeof e==="function";const fromStatic=e=>isFunction(e)?async()=>await e():fromValue(e);const loadConfig=({environmentVariableSelector:e,configFileSelector:t,default:n},o={})=>{const{signingName:i,logger:a}=o;const d={signingName:i,logger:a};return memoize(chain(fromEnv(e,d),fromSharedConfigFiles(t,o),fromStatic(n)))};const X="AWS_USE_DUALSTACK_ENDPOINT";const Z="use_dualstack_endpoint";const ee=false;const te={environmentVariableSelector:e=>booleanSelector(e,X,t.SelectorType.ENV),configFileSelector:e=>booleanSelector(e,Z,t.SelectorType.CONFIG),default:false};const re={environmentVariableSelector:e=>booleanSelector(e,X,t.SelectorType.ENV),configFileSelector:e=>booleanSelector(e,Z,t.SelectorType.CONFIG),default:undefined};const se="AWS_USE_FIPS_ENDPOINT";const ne="use_fips_endpoint";const oe=false;const ie={environmentVariableSelector:e=>booleanSelector(e,se,t.SelectorType.ENV),configFileSelector:e=>booleanSelector(e,ne,t.SelectorType.CONFIG),default:false};const Ae={environmentVariableSelector:e=>booleanSelector(e,se,t.SelectorType.ENV),configFileSelector:e=>booleanSelector(e,ne,t.SelectorType.CONFIG),default:undefined};const resolveCustomEndpointsConfig=e=>{const{tls:t,endpoint:n,urlParser:o,useDualstackEndpoint:i}=e;return Object.assign(e,{tls:t??true,endpoint:m.normalizeProvider(typeof n==="string"?o(n):n),isCustomEndpoint:true,useDualstackEndpoint:m.normalizeProvider(i??false)})};const getEndpointFromRegion=async e=>{const{tls:t=true}=e;const n=await e.region();const o=new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);if(!o.test(n)){throw new Error("Invalid region in client config")}const i=await e.useDualstackEndpoint();const a=await e.useFipsEndpoint();const{hostname:d}=await e.regionInfoProvider(n,{useDualstackEndpoint:i,useFipsEndpoint:a})??{};if(!d){throw new Error("Cannot resolve hostname from client config")}return e.urlParser(`${t?"https:":"http:"}//${d}`)};const resolveEndpointsConfig=e=>{const t=m.normalizeProvider(e.useDualstackEndpoint??false);const{endpoint:n,useFipsEndpoint:o,urlParser:i,tls:a}=e;return Object.assign(e,{tls:a??true,endpoint:n?m.normalizeProvider(typeof n==="string"?i(n):n):()=>getEndpointFromRegion({...e,useDualstackEndpoint:t,useFipsEndpoint:o}),isCustomEndpoint:!!n,useDualstackEndpoint:t})};const ae="AWS_REGION";const ce="region";const le={environmentVariableSelector:e=>e[ae],configFileSelector:e=>e[ce],default:()=>{throw new Error("Region is missing")}};const ue={preferredFile:"credentials"};const ge=new Set;const checkRegion=(e,t=Q.isValidHostLabel)=>{if(!ge.has(e)&&!t(e)){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 new Error(`Region not accepted: region="${e}" is not a valid hostname component.`)}}else{ge.add(e)}};const isFipsRegion=e=>typeof e==="string"&&(e.startsWith("fips-")||e.endsWith("-fips"));const getRealRegion=e=>isFipsRegion(e)?["fips-aws-global","aws-fips"].includes(e)?"us-east-1":e.replace(/fips-(dkr-|prod-)?|-fips/,""):e;const resolveRegionConfig=e=>{const{region:t,useFipsEndpoint:n}=e;if(!t){throw new Error("Region is missing")}return Object.assign(e,{region:async()=>{const e=typeof t==="function"?await t():t;const n=getRealRegion(e);checkRegion(n);return n},useFipsEndpoint:async()=>{const e=typeof t==="string"?t:await t();if(isFipsRegion(e)){return true}return typeof n!=="function"?Promise.resolve(!!n):n()}})};const getHostnameFromVariants=(e=[],{useFipsEndpoint:t,useDualstackEndpoint:n})=>e.find((({tags:e})=>t===e.includes("fips")&&n===e.includes("dualstack")))?.hostname;const getResolvedHostname=(e,{regionHostname:t,partitionHostname:n})=>t?t:n?n.replace("{region}",e):undefined;const getResolvedPartition=(e,{partitionHash:t})=>Object.keys(t||{}).find((n=>t[n].regions.includes(e)))??"aws";const getResolvedSigningRegion=(e,{signingRegion:t,regionRegex:n,useFipsEndpoint:o})=>{if(t){return t}else if(o){const t=n.replace("\\\\","\\").replace(/^\^/g,"\\.").replace(/\$$/g,"\\.");const o=e.match(t);if(o){return o[0].slice(1,-1)}}};const getRegionInfo=(e,{useFipsEndpoint:t=false,useDualstackEndpoint:n=false,signingService:o,regionHash:i,partitionHash:a})=>{const d=getResolvedPartition(e,{partitionHash:a});const h=e in i?e:a[d]?.endpoint??e;const m={useFipsEndpoint:t,useDualstackEndpoint:n};const Q=getHostnameFromVariants(i[h]?.variants,m);const k=getHostnameFromVariants(a[d]?.variants,m);const _=getResolvedHostname(h,{regionHostname:Q,partitionHostname:k});if(_===undefined){throw new Error(`Endpoint resolution failed for: ${{resolvedRegion:h,useFipsEndpoint:t,useDualstackEndpoint:n}}`)}const L=getResolvedSigningRegion(_,{signingRegion:i[h]?.signingRegion,regionRegex:a[d].regionRegex,useFipsEndpoint:t});return{partition:d,signingService:o,hostname:_,...L&&{signingRegion:L},...i[h]?.signingService&&{signingService:i[h].signingService}}};const de="AWS_EXECUTION_ENV";const he="AWS_REGION";const pe="AWS_DEFAULT_REGION";const fe="AWS_EC2_METADATA_DISABLED";const Ee=["in-region","cross-region","mobile","standard","legacy"];const Ce="/latest/meta-data/placement/region";const me="AWS_DEFAULTS_MODE";const Ie="defaults_mode";const Be={environmentVariableSelector:e=>e[me],configFileSelector:e=>e[Ie],default:"legacy"};const resolveDefaultsModeConfig=({region:e=loadConfig(le),defaultsMode:t=loadConfig(Be)}={})=>memoize((async()=>{const n=typeof t==="function"?await t():t;switch(n?.toLowerCase()){case"auto":return resolveNodeDefaultsModeAuto(e);case"in-region":case"cross-region":case"mobile":case"standard":case"legacy":return Promise.resolve(n?.toLocaleLowerCase());case undefined:return Promise.resolve("legacy");default:throw new Error(`Invalid parameter for "defaultsMode", expect ${Ee.join(", ")}, got ${n}`)}}));const resolveNodeDefaultsModeAuto=async e=>{if(e){const t=typeof e==="function"?await e():e;const n=await inferPhysicalRegion();if(!n){return"standard"}if(t===n){return"in-region"}else{return"cross-region"}}return"standard"};const inferPhysicalRegion=async()=>{if(process.env[de]&&(process.env[he]||process.env[pe])){return process.env[he]??process.env[pe]}if(!process.env[fe]){try{const e=await getImdsEndpoint();return(await imdsHttpGet({hostname:e.hostname,path:Ce})).toString()}catch(e){}}};const getImdsEndpoint=async()=>{const e=process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT;if(e){const t=new URL(e);return{hostname:t.hostname,path:t.pathname}}const t=process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE;if(t==="IPv6"){return{hostname:"fd00:ec2::254",path:"/"}}return{hostname:"169.254.169.254",path:"/"}};const imdsHttpGet=async({hostname:e,path:t})=>{const{request:o}=await Promise.resolve().then(n.t.bind(n,7067,23));return new Promise(((n,i)=>{const a=o({method:"GET",hostname:e.replace(/^\[(.+)]$/,"$1"),path:t,timeout:1e3,signal:AbortSignal.timeout(1e3)});a.on("error",(e=>{i(e);a.destroy()}));a.on("timeout",(()=>{i(new Error("TimeoutError from instance metadata service"));a.destroy()}));a.on("response",(e=>{const{statusCode:t=400}=e;if(t<200||300<=t){i(Object.assign(new Error("Error response received from instance metadata service"),{statusCode:t}));a.destroy();return}const o=[];e.on("data",(e=>o.push(e)));e.on("end",(()=>{n(Buffer.concat(o));a.destroy()}))}));a.end()}))};t.CONFIG_PREFIX_SEPARATOR=P;t.CONFIG_USE_DUALSTACK_ENDPOINT=Z;t.CONFIG_USE_FIPS_ENDPOINT=ne;t.CredentialsProviderError=CredentialsProviderError;t.DEFAULT_PROFILE=L;t.DEFAULT_USE_DUALSTACK_ENDPOINT=ee;t.DEFAULT_USE_FIPS_ENDPOINT=oe;t.ENV_PROFILE=_;t.ENV_USE_DUALSTACK_ENDPOINT=X;t.ENV_USE_FIPS_ENDPOINT=se;t.NODE_REGION_CONFIG_FILE_OPTIONS=ue;t.NODE_REGION_CONFIG_OPTIONS=le;t.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS=te;t.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS=ie;t.ProviderError=ProviderError;t.REGION_ENV_NAME=ae;t.REGION_INI_NAME=ce;t.TokenProviderError=TokenProviderError;t.booleanSelector=booleanSelector;t.chain=chain;t.externalDataInterceptor=K;t.fromStatic=fromStatic;t.fromValue=fromValue;t.getHomeDir=getHomeDir;t.getProfileName=getProfileName;t.getRegionInfo=getRegionInfo;t.getSSOTokenFilepath=getSSOTokenFilepath;t.getSSOTokenFromFile=getSSOTokenFromFile;t.loadConfig=loadConfig;t.loadSharedConfigFiles=loadSharedConfigFiles;t.loadSsoSessionData=loadSsoSessionData;t.memoize=memoize;t.nodeDualstackConfigSelectors=re;t.nodeFipsConfigSelectors=Ae;t.numberSelector=numberSelector;t.parseKnownFiles=parseKnownFiles;t.readFile=readFile;t.resolveCustomEndpointsConfig=resolveCustomEndpointsConfig;t.resolveDefaultsModeConfig=resolveDefaultsModeConfig;t.resolveEndpointsConfig=resolveEndpointsConfig;t.resolveRegionConfig=resolveRegionConfig},2085:(e,t,n)=>{"use strict";var o=n(7291);var i=n(3422);var a=n(2658);var d=n(690);const h="AWS_ENDPOINT_URL";const m="endpoint_url";const getEndpointUrlConfig=e=>({environmentVariableSelector:t=>{const n=e.split(" ").map((e=>e.toUpperCase()));const o=t[[h,...n].join("_")];if(o)return o;const i=t[h];if(i)return i;return undefined},configFileSelector:(t,n)=>{if(n&&t.services){const i=n[["services",t.services].join(o.CONFIG_PREFIX_SEPARATOR)];if(i){const t=e.split(" ").map((e=>e.toLowerCase()));const n=i[[t.join("_"),m].join(o.CONFIG_PREFIX_SEPARATOR)];if(n)return n}}const i=t[m];if(i)return i;return undefined},default:undefined});const getEndpointFromConfig=async e=>o.loadConfig(getEndpointUrlConfig(e??""))();const resolveParamsForS3=async e=>{const t=e?.Bucket||"";if(typeof e.Bucket==="string"){e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))}if(isArnBucketName(t)){if(e.ForcePathStyle===true){throw new Error("Path-style addressing cannot be used with ARN buckets")}}else if(!isDnsCompatibleBucketName(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3){e.ForcePathStyle=true}if(e.DisableMultiRegionAccessPoints){e.disableMultiRegionAccessPoints=true;e.DisableMRAP=true}return e};const Q=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/;const k=/(\d+\.){3}\d+/;const _=/\.\./;const isDnsCompatibleBucketName=e=>Q.test(e)&&!k.test(e)&&!_.test(e);const isArnBucketName=e=>{const[t,n,o,,,i]=e.split(":");const a=t==="arn"&&e.split(":").length>=6;const d=Boolean(a&&n&&o&&i);if(a&&!d){throw new Error(`Invalid ARN: ${e} was an invalid ARN.`)}return d};const createConfigValueProvider=(e,t,n,o=false)=>{const configProvider=async()=>{let i;if(o){const o=n.clientContextParams;const a=o?.[e];i=a??n[e]??n[t]}else{i=n[e]??n[t]}if(typeof i==="function"){return i()}return i};if(e==="credentialScope"||t==="CredentialScope"){return async()=>{const e=typeof n.credentials==="function"?await n.credentials():n.credentials;const t=e?.credentialScope??e?.CredentialScope;return t}}if(e==="accountId"||t==="AccountId"){return async()=>{const e=typeof n.credentials==="function"?await n.credentials():n.credentials;const t=e?.accountId??e?.AccountId;return t}}if(e==="endpoint"||t==="endpoint"){return async()=>{if(n.isCustomEndpoint===false){return undefined}const e=await configProvider();if(e&&typeof e==="object"){if("url"in e){return e.url.href}if("hostname"in e){const{protocol:t,hostname:n,port:o,path:i}=e;return`${t}//${n}${o?":"+o:""}${i}`}}return e}}return configProvider};const toEndpointV1=e=>{if(typeof e==="object"){if("url"in e){const t=i.parseUrl(e.url);if(e.headers){t.headers={};for(const n in e.headers){t.headers[n.toLowerCase()]=e.headers[n].join(", ")}}return t}return e}return i.parseUrl(e)};function bindGetEndpointFromInstructions(e){return async(t,n,o,i)=>{if(!o.isCustomEndpoint){let t;if(o.serviceConfiguredEndpoint){t=await o.serviceConfiguredEndpoint()}else{t=await e(o.serviceId)}if(t){o.endpoint=()=>Promise.resolve(toEndpointV1(t));o.isCustomEndpoint=true}}const a=await resolveParams(t,n,o);if(typeof o.endpointProvider!=="function"){throw new Error("config.endpointProvider is not set.")}const d=o.endpointProvider(a,i);if(o.isCustomEndpoint&&o.endpoint){const e=await o.endpoint();if(e?.headers){d.headers??={};for(const[t,n]of Object.entries(e.headers)){d.headers[t]=Array.isArray(n)?n:[n]}}}return d}}const resolveParams=async(e,t,n)=>{const o={};const i=t?.getEndpointParameterInstructions?.()||{};for(const[t,a]of Object.entries(i)){switch(a.type){case"staticContextParams":o[t]=a.value;break;case"contextParams":o[t]=e[a.name];break;case"clientContextParams":case"builtInParams":o[t]=await createConfigValueProvider(a.name,t,n,a.type!=="builtInParams")();break;case"operationContextParams":o[t]=a.get(e);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(a))}}if(Object.keys(i).length===0){Object.assign(o,n)}if(String(n.serviceId).toLowerCase()==="s3"){await resolveParamsForS3(o)}return o};function setFeature(e,t,n){if(!e.__smithy_context){e.__smithy_context={features:{}}}else if(!e.__smithy_context.features){e.__smithy_context.features={}}e.__smithy_context.features[t]=n}function bindEndpointMiddleware(e){const t=bindGetEndpointFromInstructions(e);return({config:e,instructions:n})=>(o,i)=>async d=>{if(e.isCustomEndpoint){setFeature(i,"ENDPOINT_OVERRIDE","N")}const h=await t(d.input,{getEndpointParameterInstructions(){return n}},{...e},i);i.endpointV2=h;i.authSchemes=h.properties?.authSchemes;const m=i.authSchemes?.[0];if(m){i["signing_region"]=m.signingRegion;i["signing_service"]=m.signingName;const e=a.getSmithyContext(i);const t=e?.selectedHttpAuthScheme?.httpAuthOption;if(t){t.signingProperties=Object.assign(t.signingProperties||{},{signing_region:m.signingRegion,signingRegion:m.signingRegion,signing_service:m.signingName,signingName:m.signingName,signingRegionSet:m.signingRegionSet},m.properties)}}return o({...d})}}const L={name:"serializerMiddleware"};const U={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:true,relation:"before",toMiddleware:L.name};function bindGetEndpointPlugin(e){const t=bindEndpointMiddleware(e);return(e,n)=>({applyToStack:o=>{o.addRelativeTo(t({config:e,instructions:n}),U)}})}function bindResolveEndpointConfig(e){return t=>{const n=t.tls??true;const{endpoint:o,useDualstackEndpoint:i,useFipsEndpoint:d}=t;const h=o!=null?async()=>toEndpointV1(await a.normalizeProvider(o)()):undefined;const m=!!o;const Q=Object.assign(t,{endpoint:h,tls:n,isCustomEndpoint:m,useDualstackEndpoint:a.normalizeProvider(i??false),useFipsEndpoint:a.normalizeProvider(d??false)});let k=undefined;Q.serviceConfiguredEndpoint=async()=>{if(t.serviceId&&!k){k=e(t.serviceId)}return k};return Q}}class BinaryDecisionDiagram{nodes;root;conditions;results;constructor(e,t,n,o){this.nodes=e;this.root=t;this.conditions=n;this.results=o}static from(e,t,n,o){return new BinaryDecisionDiagram(e,t,n,o)}}class EndpointCache{capacity;data=new Map;parameters=[];constructor({size:e,params:t}){this.capacity=e??50;if(t){this.parameters=t}}get(e,t){const n=this.hash(e);if(n===false){return t()}if(!this.data.has(n)){if(this.data.size>this.capacity+10){const e=this.data.keys();let t=0;while(true){const{value:n,done:o}=e.next();this.data.delete(n);if(o||++t>10){break}}}this.data.set(n,t())}return this.data.get(n)}size(){return this.data.size}hash(e){let t="";const{parameters:n}=this;if(n.length===0){return false}for(const o of n){const n=String(e[o]??"");if(n.includes("|;")){return false}t+=n+"|;"}return t}}class EndpointError extends Error{constructor(e){super(e);this.name="EndpointError"}}const P="endpoints";function toDebugString(e){if(typeof e!=="object"||e==null){return e}if("ref"in e){return`$${toDebugString(e.ref)}`}if("fn"in e){return`${e.fn}(${(e.argv||[]).map(toDebugString).join(", ")})`}return JSON.stringify(e,null,2)}const H={};const booleanEquals=(e,t)=>e===t;function coalesce(...e){for(const t of e){if(t!=null){return t}}return undefined}const getAttrPathList=e=>{const t=e.split(".");const n=[];for(const o of t){const t=o.indexOf("[");if(t!==-1){if(o.indexOf("]")!==o.length-1){throw new EndpointError(`Path: '${e}' does not end with ']'`)}const i=o.slice(t+1,-1);if(Number.isNaN(parseInt(i))){throw new EndpointError(`Invalid array index: '${i}' in path: '${e}'`)}if(t!==0){n.push(o.slice(0,t))}n.push(i)}else{n.push(o)}}return n};const getAttr=(e,t)=>getAttrPathList(t).reduce(((n,o)=>{if(typeof n!=="object"){throw new EndpointError(`Index '${o}' in '${t}' not found in '${JSON.stringify(e)}'`)}else if(Array.isArray(n)){const e=parseInt(o);return n[e<0?n.length+e:e]}return n[o]}),e);const isSet=e=>e!=null;const Y=new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);const isValidHostLabel=(e,t=false)=>{if(!t){return Y.test(e)}const n=e.split(".");for(const e of n){if(!isValidHostLabel(e)){return false}}return true};function ite(e,t,n){return e?t:n}const not=e=>!e;const V=new 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}$`);const isIpAddress=e=>V.test(e)||e.startsWith("[")&&e.endsWith("]");const J={[d.EndpointURLScheme.HTTP]:80,[d.EndpointURLScheme.HTTPS]:443};const parseURL=e=>{const t=(()=>{try{if(e instanceof URL){return e}if(typeof e==="object"&&"hostname"in e){const{hostname:t,port:n,protocol:o="",path:i="",query:a={}}=e;const d=new URL(`${o}//${t}${n?`:${n}`:""}${i}`);d.search=Object.entries(a).map((([e,t])=>`${e}=${t}`)).join("&");return d}return new URL(e)}catch(e){return null}})();if(!t){console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`);return null}const n=t.href;const{host:o,hostname:i,pathname:a,protocol:h,search:m}=t;if(m){return null}const Q=h.slice(0,-1);if(!Object.values(d.EndpointURLScheme).includes(Q)){return null}const k=isIpAddress(i);const _=n.includes(`${o}:${J[Q]}`)||typeof e==="string"&&e.includes(`${o}:${J[Q]}`);const L=`${o}${_?`:${J[Q]}`:``}`;return{scheme:Q,authority:L,path:a,normalizedPath:a.endsWith("/")?a:`${a}/`,isIp:k}};function split(e,t,n){if(n===1){return[e]}if(e===""){return[""]}const o=e.split(t);if(n===0){return o}return o.slice(0,n-1).concat(o.slice(1).join(t))}const stringEquals=(e,t)=>e===t;const substring=(e,t,n,o)=>{if(e==null||t>=n||e.length<n||/[^\u0000-\u007f]/.test(e)){return null}if(!o){return e.substring(t,n)}return e.substring(e.length-n,e.length-t)};const uriEncode=e=>encodeURIComponent(e).replace(/[!*'()]/g,(e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`));const W={booleanEquals:booleanEquals,coalesce:coalesce,getAttr:getAttr,isSet:isSet,isValidHostLabel:isValidHostLabel,ite:ite,not:not,parseURL:parseURL,split:split,stringEquals:stringEquals,substring:substring,uriEncode:uriEncode};const evaluateTemplate=(e,t)=>{const n=[];const{referenceRecord:o,endpointParams:i}=t;let a=0;while(a<e.length){const t=e.indexOf("{",a);if(t===-1){n.push(e.slice(a));break}n.push(e.slice(a,t));const d=e.indexOf("}",t);if(d===-1){n.push(e.slice(t));break}if(e[t+1]==="{"&&e[d+1]==="}"){n.push(e.slice(t+1,d));a=d+2}const h=e.substring(t+1,d);if(h.includes("#")){const[e,t]=h.split("#");n.push(getAttr(o[e]??i[e],t))}else{n.push(o[h]??i[h])}a=d+1}return n.join("")};const getReferenceValue=({ref:e},t)=>t.referenceRecord[e]??t.endpointParams[e];const evaluateExpression=(e,t,n)=>{if(typeof e==="string"){return evaluateTemplate(e,n)}else if(e["fn"]){return j.callFunction(e,n)}else if(e["ref"]){return getReferenceValue(e,n)}throw new EndpointError(`'${t}': ${String(e)} is not a string, function or reference.`)};const callFunction=({fn:e,argv:t},n)=>{const o=Array(t.length);for(let e=0;e<o.length;++e){const i=t[e];if(typeof i==="boolean"||typeof i==="number"){o[e]=i}else{o[e]=j.evaluateExpression(i,"arg",n)}}const i=e.indexOf(".");if(i!==-1){const t=H[e.slice(0,i)];const n=t?.[e.slice(i+1)];if(typeof n==="function"){return n(...o)}}const a=W[e];if(typeof a==="function"){return a(...o)}throw new Error(`function ${e} not loaded in endpointFunctions.`)};const j={evaluateExpression:evaluateExpression,callFunction:callFunction};const evaluateCondition=(e,t)=>{const{assign:n}=e;if(n&&n in t.referenceRecord){throw new EndpointError(`'${n}' is already defined in Reference Record.`)}const o=callFunction(e,t);t.logger?.debug?.(`${P} evaluateCondition: ${toDebugString(e)} = ${toDebugString(o)}`);const i=o===""?true:!!o;if(n!=null){return{result:i,toAssign:{name:n,value:o}}}return{result:i}};const getEndpointHeaders=(e,t)=>Object.entries(e??{}).reduce(((e,[n,o])=>{e[n]=o.map((e=>{const o=evaluateExpression(e,"Header value entry",t);if(typeof o!=="string"){throw new EndpointError(`Header '${n}' value '${o}' is not a string`)}return o}));return e}),{});const getEndpointProperties=(e,t)=>Object.entries(e).reduce(((e,[n,o])=>{e[n]=K.getEndpointProperty(o,t);return e}),{});const getEndpointProperty=(e,t)=>{if(Array.isArray(e)){return e.map((e=>getEndpointProperty(e,t)))}switch(typeof e){case"string":return evaluateTemplate(e,t);case"object":if(e===null){throw new EndpointError(`Unexpected endpoint property: ${e}`)}return K.getEndpointProperties(e,t);case"boolean":return e;default:throw new EndpointError(`Unexpected endpoint property type: ${typeof e}`)}};const K={getEndpointProperty:getEndpointProperty,getEndpointProperties:getEndpointProperties};const getEndpointUrl=(e,t)=>{const n=evaluateExpression(e,"Endpoint URL",t);if(typeof n==="string"){try{return new URL(n)}catch(e){console.error(`Failed to construct URL with ${n}`,e);throw e}}throw new EndpointError(`Endpoint URL must be a string, got ${typeof n}`)};const X=1e8;const decideEndpoint=(e,t)=>{const{nodes:n,root:o,results:i,conditions:a}=e;let d=o;const h={};const m={referenceRecord:h,endpointParams:t.endpointParams,logger:t.logger};while(d!==1&&d!==-1&&d<X){const e=3*(Math.abs(d)-1);const[t,o,i]=[n[e],n[e+1],n[e+2]];const[Q,k,_]=a[t];const L=evaluateCondition({fn:Q,assign:_,argv:k},m);if(L.toAssign){const{name:e,value:t}=L.toAssign;h[e]=t}d=d>=0===L.result?o:i}if(d>=X){const e=i[d-X];if(e[0]===-1){const[,t]=e;throw new EndpointError(evaluateExpression(t,"Error",m))}const[t,n,o]=e;return{url:getEndpointUrl(t,m),properties:getEndpointProperties(n,m),headers:getEndpointHeaders(o??{},m)}}throw new EndpointError(`No matching endpoint.`)};const evaluateConditions=(e=[],t)=>{const n={};const o={...t,referenceRecord:{...t.referenceRecord}};let i=false;for(const a of e){const{result:e,toAssign:d}=evaluateCondition(a,o);if(!e){return{result:e}}if(d){i=true;n[d.name]=d.value;o.referenceRecord[d.name]=d.value;t.logger?.debug?.(`${P} assign: ${d.name} := ${toDebugString(d.value)}`)}}if(i){return{result:true,referenceRecord:n}}return{result:true}};const evaluateEndpointRule=(e,t)=>{const{conditions:n,endpoint:o}=e;const{result:i,referenceRecord:a}=evaluateConditions(n,t);if(!i){return}const d=a?{...t,referenceRecord:{...t.referenceRecord,...a}}:t;const{url:h,properties:m,headers:Q}=o;t.logger?.debug?.(`${P} Resolving endpoint from template: ${toDebugString(o)}`);const k={url:getEndpointUrl(h,d)};if(Q!=null){k.headers=getEndpointHeaders(Q,d)}if(m!=null){k.properties=getEndpointProperties(m,d)}return k};const evaluateErrorRule=(e,t)=>{const{conditions:n,error:o}=e;const{result:i,referenceRecord:a}=evaluateConditions(n,t);if(!i){return}const d=a?{...t,referenceRecord:{...t.referenceRecord,...a}}:t;throw new EndpointError(evaluateExpression(o,"Error",d))};const evaluateRules=(e,t)=>{for(const n of e){if(n.type==="endpoint"){const e=evaluateEndpointRule(n,t);if(e){return e}}else if(n.type==="error"){evaluateErrorRule(n,t)}else if(n.type==="tree"){const e=Z.evaluateTreeRule(n,t);if(e){return e}}else{throw new EndpointError(`Unknown endpoint rule: ${n}`)}}throw new EndpointError(`Rules evaluation failed`)};const evaluateTreeRule=(e,t)=>{const{conditions:n,rules:o}=e;const{result:i,referenceRecord:a}=evaluateConditions(n,t);if(!i){return}const d=a?{...t,referenceRecord:{...t.referenceRecord,...a}}:t;return Z.evaluateRules(o,d)};const Z={evaluateRules:evaluateRules,evaluateTreeRule:evaluateTreeRule};const resolveEndpoint=(e,t)=>{const{endpointParams:n,logger:o}=t;const{parameters:i,rules:a}=e;t.logger?.debug?.(`${P} Initial EndpointParams: ${toDebugString(n)}`);for(const e in i){const t=i[e];const o=n[e];if(o==null&&t.default!=null){n[e]=t.default;continue}if(t.required&&o==null){throw new EndpointError(`Missing required parameter: '${e}'`)}}const d=evaluateRules(a,{endpointParams:n,logger:o,referenceRecord:{}});t.logger?.debug?.(`${P} Resolved endpoint: ${toDebugString(d)}`);return d};const resolveEndpointRequiredConfig=e=>{const{endpoint:t}=e;if(t===undefined){e.endpoint=async()=>{throw new Error("@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.")}}return e};const ee=bindGetEndpointFromInstructions(getEndpointFromConfig);const te=bindResolveEndpointConfig(getEndpointFromConfig);const re=bindEndpointMiddleware(getEndpointFromConfig);const se=bindGetEndpointPlugin(getEndpointFromConfig);t.BinaryDecisionDiagram=BinaryDecisionDiagram;t.EndpointCache=EndpointCache;t.EndpointError=EndpointError;t.customEndpointFunctions=H;t.decideEndpoint=decideEndpoint;t.endpointMiddleware=re;t.endpointMiddlewareOptions=U;t.getEndpointFromInstructions=ee;t.getEndpointPlugin=se;t.isIpAddress=isIpAddress;t.isValidHostLabel=isValidHostLabel;t.middlewareEndpointToEndpointV1=toEndpointV1;t.resolveEndpoint=resolveEndpoint;t.resolveEndpointConfig=te;t.resolveEndpointRequiredConfig=resolveEndpointRequiredConfig;t.resolveParams=resolveParams;t.toEndpointV1=toEndpointV1},3422:(e,t,n)=>{"use strict";var o=n(2430);var i=n(6890);var a=n(690);const collectBody=async(e=new Uint8Array,t)=>{if(e instanceof Uint8Array){return o.Uint8ArrayBlobAdapter.mutate(e)}if(!e){return o.Uint8ArrayBlobAdapter.mutate(new Uint8Array)}const n=t.streamCollector(e);return o.Uint8ArrayBlobAdapter.mutate(await n)};function extendedEncodeURIComponent(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}class SerdeContext{serdeContext;setSerdeContext(e){this.serdeContext=e}}class HttpRequest{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){const t=new HttpRequest({...e,headers:{...e.headers}});if(t.query){t.query=cloneQuery(t.query)}return t}static isInstance(e){if(!e){return false}const t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&typeof t["query"]==="object"&&typeof t["headers"]==="object"}clone(){return HttpRequest.clone(this)}}function cloneQuery(e){return Object.keys(e).reduce(((t,n)=>{const o=e[n];return{...t,[n]:Array.isArray(o)?[...o]:o}}),{})}class HttpResponse{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){if(!e)return false;const t=e;return typeof t.statusCode==="number"&&typeof t.headers==="object"}}class HttpProtocol extends SerdeContext{options;compositeErrorRegistry;constructor(e){super();this.options=e;this.compositeErrorRegistry=i.TypeRegistry.for(e.defaultNamespace);for(const t of e.errorTypeRegistries??[]){this.compositeErrorRegistry.copyFrom(t)}}getRequestType(){return HttpRequest}getResponseType(){return HttpResponse}setSerdeContext(e){this.serdeContext=e;this.serializer.setSerdeContext(e);this.deserializer.setSerdeContext(e);if(this.getPayloadCodec()){this.getPayloadCodec().setSerdeContext(e)}}updateServiceEndpoint(e,t){if("url"in t){e.protocol=t.url.protocol;e.hostname=t.url.hostname;e.port=t.url.port?Number(t.url.port):undefined;e.path=t.url.pathname;e.fragment=t.url.hash||void 0;e.username=t.url.username||void 0;e.password=t.url.password||void 0;if(!e.query){e.query={}}for(const[n,o]of t.url.searchParams.entries()){e.query[n]=o}if(t.headers){for(const n in t.headers){e.headers[n]=t.headers[n].join(", ")}}return e}else{e.protocol=t.protocol;e.hostname=t.hostname;e.port=t.port?Number(t.port):undefined;e.path=t.path;e.query={...t.query};if(t.headers){for(const n in t.headers){e.headers[n]=t.headers[n]}}return e}}setHostPrefix(e,t,n){if(this.serdeContext?.disableHostPrefix){return}const o=i.NormalizedSchema.of(t.input);const a=i.translateTraits(t.traits??{});if(a.endpoint){let t=a.endpoint?.[0];if(typeof t==="string"){for(const[e,i]of o.structIterator()){if(!i.getMergedTraits().hostLabel){continue}const o=n[e];if(typeof o!=="string"){throw new Error(`@smithy/core/schema - ${e} in input must be a string as hostLabel.`)}t=t.replace(`{${e}}`,o)}e.hostname=t+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:t,initialRequest:n}){const o=await this.loadEventStreamCapability();return o.serializeEventStream({eventStream:e,requestSchema:t,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n}){const o=await this.loadEventStreamCapability();return o.deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:n})}async loadEventStreamCapability(){const{EventStreamSerde:e}=await n.e(579).then(n.t.bind(n,6579,19));return new e({marshaller:this.getEventStreamMarshaller(),serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType()})}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,t,n,o,i){return[]}getEventStreamMarshaller(){const e=this.serdeContext;if(!e.eventStreamMarshaller){throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.")}return e.eventStreamMarshaller}}class HttpBindingProtocol extends HttpProtocol{async serializeRequest(e,t,n){const o=t&&typeof t==="object"?t:{};const a=this.serializer;const d={};const h={};const m=await n.endpoint();const Q=i.NormalizedSchema.of(e?.input);const k=[];const _=[];let L=false;let U;const P=new HttpRequest({protocol:"",hostname:"",port:undefined,path:"",fragment:undefined,query:d,headers:h,body:undefined});if(m){this.updateServiceEndpoint(P,m);this.setHostPrefix(P,e,o);const t=i.translateTraits(e.traits);if(t.http){P.method=t.http[0];const[e,n]=t.http[1].split("?");if(P.path=="/"){P.path=e}else{P.path+=e}const o=new URLSearchParams(n??"");for(const[e,t]of o){d[e]=t}}}for(const[e,t]of Q.structIterator()){const n=t.getMergedTraits()??{};const i=o[e];if(i==null&&!t.isIdempotencyToken()){if(n.httpLabel){if(P.path.includes(`{${e}+}`)||P.path.includes(`{${e}}`)){throw new Error(`No value provided for input HTTP label: ${e}.`)}}continue}if(n.httpPayload){const n=t.isStreaming();if(n){const n=t.isStructSchema();if(n){if(o[e]){U=await this.serializeEventStream({eventStream:o[e],requestSchema:Q})}}else{U=i}}else{a.write(t,i);U=a.flush()}}else if(n.httpLabel){a.write(t,i);const n=a.flush();if(P.path.includes(`{${e}+}`)){P.path=P.path.replace(`{${e}+}`,n.split("/").map(extendedEncodeURIComponent).join("/"))}else if(P.path.includes(`{${e}}`)){P.path=P.path.replace(`{${e}}`,extendedEncodeURIComponent(n))}}else if(n.httpHeader){a.write(t,i);h[n.httpHeader.toLowerCase()]=String(a.flush())}else if(typeof n.httpPrefixHeaders==="string"){for(const e in i){const o=i[e];const d=n.httpPrefixHeaders+e;a.write([t.getValueSchema(),{httpHeader:d}],o);h[d.toLowerCase()]=a.flush()}}else if(n.httpQuery||n.httpQueryParams){this.serializeQuery(t,i,d)}else{L=true;k.push(e);_.push(t)}}if(L&&o){const[e,t]=(Q.getName(true)??"#Unknown").split("#");const n=Q.getSchema()[6];const i=[3,e,t,Q.getMergedTraits(),k,_,undefined];if(n){i[6]=n}else{i.pop()}a.write(i,o);U=a.flush()}P.headers=h;P.query=d;P.body=U;return P}serializeQuery(e,t,n){const o=this.serializer;const i=e.getMergedTraits();if(i.httpQueryParams){for(const o in t){if(!(o in n)){const a=t[o];const d=e.getValueSchema();Object.assign(d.getMergedTraits(),{...i,httpQuery:o,httpQueryParams:undefined});this.serializeQuery(d,a,n)}}return}if(e.isListSchema()){const a=!!e.getMergedTraits().sparse;const d=[];for(const n of t){o.write([e.getValueSchema(),i],n);const t=o.flush();if(a||t!==undefined){d.push(t)}}n[i.httpQuery]=d}else{o.write([e,i],t);n[i.httpQuery]=o.flush()}}async deserializeResponse(e,t,n){const o=this.deserializer;const a=i.NormalizedSchema.of(e.output);const d={};if(n.statusCode>=300){const i=await collectBody(n.body,t);if(i.byteLength>0){Object.assign(d,await o.read(15,i))}await this.handleError(e,t,n,d,this.deserializeMetadata(n));throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(const e in n.headers){const t=n.headers[e];delete n.headers[e];n.headers[e.toLowerCase()]=t}const h=await this.deserializeHttpMessage(a,t,n,d);if(h.length){const e=await collectBody(n.body,t);if(e.byteLength>0){const t=await o.read(a,e);for(const e of h){if(t[e]!=null){d[e]=t[e]}}}}else if(h.discardResponseBody){await collectBody(n.body,t)}d.$metadata=this.deserializeMetadata(n);return d}async deserializeHttpMessage(e,t,n,a,d){let h;if(a instanceof Set){h=d}else{h=a}let m=true;const Q=this.deserializer;const k=i.NormalizedSchema.of(e);const _=[];for(const[e,i]of k.structIterator()){const a=i.getMemberTraits();if(a.httpPayload){m=false;const a=i.isStreaming();if(a){const t=i.isStructSchema();if(t){h[e]=await this.deserializeEventStream({response:n,responseSchema:k})}else{h[e]=o.sdkStreamMixin(n.body)}}else if(n.body){const o=await collectBody(n.body,t);if(o.byteLength>0){h[e]=await Q.read(i,o)}}}else if(a.httpHeader){const t=String(a.httpHeader).toLowerCase();const d=n.headers[t];if(null!=d){if(i.isListSchema()){const n=i.getValueSchema();n.getMergedTraits().httpHeader=t;let a;if(n.isTimestampSchema()&&n.getSchema()===4){a=o.splitEvery(d,",",2)}else{a=o.splitHeader(d)}const m=[];for(const e of a){m.push(await Q.read(n,e.trim()))}h[e]=m}else{h[e]=await Q.read(i,d)}}}else if(a.httpPrefixHeaders!==undefined){h[e]={};for(const t in n.headers){if(t.startsWith(a.httpPrefixHeaders)){const o=n.headers[t];const d=i.getValueSchema();d.getMergedTraits().httpHeader=t;h[e][t.slice(a.httpPrefixHeaders.length)]=await Q.read(d,o)}}}else if(a.httpResponseCode){h[e]=n.statusCode}else{_.push(e)}}_.discardResponseBody=m;return _}}class RpcProtocol extends HttpProtocol{async serializeRequest(e,t,n){const o=this.serializer;const a={};const d={};const h=await n.endpoint();const m=i.NormalizedSchema.of(e?.input);const Q=m.getSchema();let k;const _=t&&typeof t==="object"?t:{};const L=new HttpRequest({protocol:"",hostname:"",port:undefined,path:"/",fragment:undefined,query:a,headers:d,body:undefined});if(h){this.updateServiceEndpoint(L,h);this.setHostPrefix(L,e,_)}if(_){const e=m.getEventStreamMember();if(e){if(_[e]){const t={};for(const[n,i]of m.structIterator()){if(n!==e&&_[n]){o.write(i,_[n]);t[n]=o.flush()}}k=await this.serializeEventStream({eventStream:_[e],requestSchema:m,initialRequest:t})}}else{o.write(Q,_);k=o.flush()}}L.headers=Object.assign(L.headers,d);L.query=a;L.body=k;L.method="POST";return L}async deserializeResponse(e,t,n){const o=this.deserializer;const a=i.NormalizedSchema.of(e.output);const d={};if(n.statusCode>=300){const i=await collectBody(n.body,t);if(i.byteLength>0){Object.assign(d,await o.read(15,i))}await this.handleError(e,t,n,d,this.deserializeMetadata(n));throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(const e in n.headers){const t=n.headers[e];delete n.headers[e];n.headers[e.toLowerCase()]=t}const h=a.getEventStreamMember();if(h){d[h]=await this.deserializeEventStream({response:n,responseSchema:a,initialResponseContainer:d})}else{const e=await collectBody(n.body,t);if(e.byteLength>0){Object.assign(d,await o.read(a,e))}}d.$metadata=this.deserializeMetadata(n);return d}}const resolvedPath=(e,t,n,o,i,a)=>{if(t!=null&&t[n]!==undefined){const t=o();if(t==null||t.length<=0){throw new Error("Empty value provided for input HTTP label: "+n+".")}e=e.replace(i,a?t.split("/").map((e=>extendedEncodeURIComponent(e))).join("/"):extendedEncodeURIComponent(t))}else{throw new Error("No value provided for input HTTP label: "+n+".")}return e};function requestBuilder(e,t){return new RequestBuilder(e,t)}class RequestBuilder{input;context;query={};method="";headers={};path="";body=null;hostname="";resolvePathStack=[];constructor(e,t){this.input=e;this.context=t}async build(){const{hostname:e,protocol:t="https",port:n,path:o}=await this.context.endpoint();this.path=o;for(const e of this.resolvePathStack){e(this.path)}return new HttpRequest({protocol:t,hostname:this.hostname||e,port:n,method:this.method,path:this.path,query:this.query,body:this.body,headers:this.headers})}hn(e){this.hostname=e;return this}bp(e){this.resolvePathStack.push((t=>{this.path=`${t?.endsWith("/")?t.slice(0,-1):t||""}`+e}));return this}p(e,t,n,o){this.resolvePathStack.push((i=>{this.path=resolvedPath(i,this.input,e,t,n,o)}));return this}h(e){this.headers=e;return this}q(e){this.query=e;return this}b(e){this.body=e;return this}m(e){this.method=e;return this}}function determineTimestampFormat(e,t){if(t.timestampFormat.useTrait){if(e.isTimestampSchema()&&(e.getSchema()===5||e.getSchema()===6||e.getSchema()===7)){return e.getSchema()}}const{httpLabel:n,httpPrefixHeaders:o,httpHeader:i,httpQuery:a}=e.getMergedTraits();const d=t.httpBindings?typeof o==="string"||Boolean(i)?6:Boolean(a)||Boolean(n)?5:undefined:undefined;return d??t.timestampFormat.default}class FromStringShapeDeserializer extends SerdeContext{settings;constructor(e){super();this.settings=e}read(e,t){const n=i.NormalizedSchema.of(e);if(n.isListSchema()){return o.splitHeader(t).map((e=>this.read(n.getValueSchema(),e)))}if(n.isBlobSchema()){return(this.serdeContext?.base64Decoder??o.fromBase64)(t)}if(n.isTimestampSchema()){const e=determineTimestampFormat(n,this.settings);switch(e){case 5:return o._parseRfc3339DateTimeWithOffset(t);case 6:return o._parseRfc7231DateTime(t);case 7:return o._parseEpochTimestamp(t);default:console.warn("Missing timestamp format, parsing value with Date constructor:",t);return new Date(t)}}if(n.isStringSchema()){const e=n.getMergedTraits().mediaType;let i=t;if(e){if(n.getMergedTraits().httpHeader){i=this.base64ToUtf8(i)}const t=e==="application/json"||e.endsWith("+json");if(t){i=o.LazyJsonString.from(i)}return i}}if(n.isNumericSchema()){return Number(t)}if(n.isBigIntegerSchema()){return BigInt(t)}if(n.isBigDecimalSchema()){return new o.NumericValue(t,"bigDecimal")}if(n.isBooleanSchema()){return String(t).toLowerCase()==="true"}return t}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??o.toUtf8)((this.serdeContext?.base64Decoder??o.fromBase64)(e))}}class HttpInterceptingShapeDeserializer extends SerdeContext{codecDeserializer;stringDeserializer;constructor(e,t){super();this.codecDeserializer=e;this.stringDeserializer=new FromStringShapeDeserializer(t)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e);this.codecDeserializer.setSerdeContext(e);this.serdeContext=e}read(e,t){const n=i.NormalizedSchema.of(e);const a=n.getMergedTraits();const d=this.serdeContext?.utf8Encoder??o.toUtf8;if(a.httpHeader||a.httpResponseCode){return this.stringDeserializer.read(n,d(t))}if(a.httpPayload){if(n.isBlobSchema()){const e=this.serdeContext?.utf8Decoder??o.fromUtf8;if(typeof t==="string"){return e(t)}return t}else if(n.isStringSchema()){if("byteLength"in t){return d(t)}return t}}return this.codecDeserializer.read(n,t)}}class ToStringShapeSerializer extends SerdeContext{settings;stringBuffer="";constructor(e){super();this.settings=e}write(e,t){const n=i.NormalizedSchema.of(e);switch(typeof t){case"object":if(t===null){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(t instanceof Date)){throw new Error(`@smithy/core/protocols - received non-Date value ${t} when schema expected Date in ${n.getName(true)}`)}const e=determineTimestampFormat(n,this.settings);switch(e){case 5:this.stringBuffer=t.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=o.dateToUtcString(t);break;case 7:this.stringBuffer=String(t.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",t);this.stringBuffer=String(t.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in t){this.stringBuffer=(this.serdeContext?.base64Encoder??o.toBase64)(t);return}if(n.isListSchema()&&Array.isArray(t)){let e="";for(const i of t){this.write([n.getValueSchema(),n.getMergedTraits()],i);const t=this.flush();const a=n.getValueSchema().isTimestampSchema()?t:o.quoteHeader(t);if(e!==""){e+=", "}e+=a}this.stringBuffer=e;return}this.stringBuffer=JSON.stringify(t,null,2);break;case"string":const e=n.getMergedTraits().mediaType;let i=t;if(e){const t=e==="application/json"||e.endsWith("+json");if(t){i=o.LazyJsonString.from(i)}if(n.getMergedTraits().httpHeader){this.stringBuffer=(this.serdeContext?.base64Encoder??o.toBase64)(i.toString());return}}this.stringBuffer=t;break;default:if(n.isIdempotencyToken()){this.stringBuffer=o.generateIdempotencyToken()}else{this.stringBuffer=String(t)}}}flush(){const e=this.stringBuffer;this.stringBuffer="";return e}}class HttpInterceptingShapeSerializer{codecSerializer;stringSerializer;buffer;constructor(e,t,n=new ToStringShapeSerializer(t)){this.codecSerializer=e;this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e);this.stringSerializer.setSerdeContext(e)}write(e,t){const n=i.NormalizedSchema.of(e);const o=n.getMergedTraits();if(o.httpHeader||o.httpLabel||o.httpQuery){this.stringSerializer.write(n,t);this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,t)}flush(){if(this.buffer!==undefined){const e=this.buffer;this.buffer=undefined;return e}return this.codecSerializer.flush()}}class Field{name;kind;values;constructor({name:e,kind:t=a.FieldPosition.HEADER,values:n=[]}){this.name=e;this.kind=t;this.values=n}add(e){this.values.push(e)}set(e){this.values=e}remove(e){this.values=this.values.filter((t=>t!==e))}toString(){return this.values.map((e=>e.includes(",")||e.includes(" ")?`"${e}"`:e)).join(", ")}get(){return this.values}}class Fields{entries={};encoding;constructor({fields:e=[],encoding:t="utf-8"}){e.forEach(this.setField.bind(this));this.encoding=t}setField(e){this.entries[e.name.toLowerCase()]=e}getField(e){return this.entries[e.toLowerCase()]}removeField(e){delete this.entries[e.toLowerCase()]}getByType(e){return Object.values(this.entries).filter((t=>t.kind===e))}}function isValidHostname(e){const t=/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/;return t.test(e)}const getHttpHandlerExtensionConfiguration=e=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,n){e.httpHandler?.updateHttpClientConfig(t,n)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}});const resolveHttpHandlerRuntimeConfig=e=>({httpHandler:e.httpHandler()});const d="content-length";function contentLengthMiddleware(e){return t=>async n=>{const o=n.request;if(HttpRequest.isInstance(o)){const{body:t,headers:n}=o;if(t&&Object.keys(n).map((e=>e.toLowerCase())).indexOf(d)===-1){try{const n=e(t);o.headers={...o.headers,[d]:String(n)}}catch(e){}}}return t({...n,request:o})}}const h={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:true};const getContentLengthPlugin=e=>({applyToStack:t=>{t.add(contentLengthMiddleware(e.bodyLengthChecker),h)}});const escapeUri=e=>encodeURIComponent(e).replace(/[!'()*]/g,hexEncode);const hexEncode=e=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`;const escapeUriPath=e=>e.split("/").map(escapeUri).join("/");function buildQueryString(e){const t=[];for(let n of Object.keys(e).sort()){const o=e[n];n=escapeUri(n);if(Array.isArray(o)){for(let e=0,i=o.length;e<i;e++){t.push(`${n}=${escapeUri(o[e])}`)}}else{let e=n;if(o||typeof o==="string"){e+=`=${escapeUri(o)}`}t.push(e)}}return t.join("&")}function parseQueryString(e){const t={};e=e.replace(/^\?/,"");if(e){for(const n of e.split("&")){let[e,o=null]=n.split("=");e=decodeURIComponent(e);if(o){o=decodeURIComponent(o)}if(!(e in t)){t[e]=o}else if(Array.isArray(t[e])){t[e].push(o)}else{t[e]=[t[e],o]}}}return t}const parseUrl=e=>{if(typeof e==="string"){return parseUrl(new URL(e))}const{hostname:t,pathname:n,port:o,protocol:i,search:a}=e;let d;if(a){d=parseQueryString(a)}return{hostname:t,port:o?parseInt(o):undefined,protocol:i,path:n,query:d}};t.Field=Field;t.Fields=Fields;t.FromStringShapeDeserializer=FromStringShapeDeserializer;t.HttpBindingProtocol=HttpBindingProtocol;t.HttpInterceptingShapeDeserializer=HttpInterceptingShapeDeserializer;t.HttpInterceptingShapeSerializer=HttpInterceptingShapeSerializer;t.HttpProtocol=HttpProtocol;t.HttpRequest=HttpRequest;t.HttpResponse=HttpResponse;t.RequestBuilder=RequestBuilder;t.RpcProtocol=RpcProtocol;t.SerdeContext=SerdeContext;t.ToStringShapeSerializer=ToStringShapeSerializer;t.buildQueryString=buildQueryString;t.collectBody=collectBody;t.contentLengthMiddleware=contentLengthMiddleware;t.contentLengthMiddlewareOptions=h;t.determineTimestampFormat=determineTimestampFormat;t.escapeUri=escapeUri;t.escapeUriPath=escapeUriPath;t.extendedEncodeURIComponent=extendedEncodeURIComponent;t.getContentLengthPlugin=getContentLengthPlugin;t.getHttpHandlerExtensionConfiguration=getHttpHandlerExtensionConfiguration;t.isValidHostname=isValidHostname;t.parseQueryString=parseQueryString;t.parseUrl=parseUrl;t.requestBuilder=requestBuilder;t.resolveHttpHandlerRuntimeConfig=resolveHttpHandlerRuntimeConfig;t.resolvedPath=resolvedPath},3609:(e,t,n)=>{"use strict";var o=n(7075);var i=n(2658);var a=n(3422);var d=n(2430);const isStreamingPayload=e=>e?.body instanceof o.Readable||typeof ReadableStream!=="undefined"&&e?.body instanceof ReadableStream;const h=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"];const m=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"];const Q=["TimeoutError","RequestTimeout","RequestTimeoutException"];const k=[500,502,503,504];const _=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"];const L=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"];const isRetryableByTrait=e=>e?.$retryable!==undefined;const isClockSkewError=e=>h.includes(e.name);const isClockSkewCorrectedError=e=>e.$metadata?.clockSkewCorrected;const isBrowserNetworkError=e=>{const t=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);const n=e&&e instanceof TypeError;if(!n){return false}return t.has(e.message)};const isThrottlingError=e=>e.$metadata?.httpStatusCode===429||m.includes(e.name)||e.$retryable?.throttling==true;const isTransientError=(e,t=0)=>isRetryableByTrait(e)||isClockSkewCorrectedError(e)||e.name==="InvalidSignatureException"&&e.message?.includes("Signature expired")||Q.includes(e.name)||_.includes(e?.code||"")||L.includes(e?.code||"")||k.includes(e.$metadata?.httpStatusCode||0)||isBrowserNetworkError(e)||isNodeJsHttp2TransientError(e)||e.cause!==undefined&&t<=10&&isTransientError(e.cause,t+1);const isServerError=e=>{if(e.$metadata?.httpStatusCode!==undefined){const t=e.$metadata.httpStatusCode;if(500<=t&&t<=599&&!isTransientError(e)){return true}return false}return false};function isNodeJsHttp2TransientError(e){return e.code==="ERR_HTTP2_STREAM_ERROR"&&e.message.includes("NGHTTP2_REFUSED_STREAM")}const U=100;const P=20*1e3;const H=500;const Y=500;const V=5;const J=10;const W=1;const j="amz-sdk-invocation-id";const K="amz-sdk-request";function parseRetryAfterHeader(e,t){if(!a.HttpResponse.isInstance(e)){return}for(const n of Object.keys(e.headers)){const o=n.toLowerCase();if(o==="retry-after"){const o=e.headers[n];let i=NaN;if(o.endsWith("GMT")){try{const e=d.parseRfc7231DateTime(o);i=(e.getTime()-Date.now())/1e3}catch(e){t?.trace?.("Failed to parse retry-after header");t?.trace?.(e)}}else if(o.match(/ GMT, ((\d+)|(\d+\.\d+))$/)){i=Number(o.match(/ GMT, ([\d.]+)$/)?.[1])}else if(o.match(/^((\d+)|(\d+\.\d+))$/)){i=Number(o)}else if(Date.parse(o)>=Date.now()){i=(Date.parse(o)-Date.now())/1e3}if(isNaN(i)){return}return new Date(Date.now()+i*1e3)}else if(o==="x-amz-retry-after"){const o=e.headers[n];const i=Number(o);if(isNaN(i)){t?.trace?.(`Failed to parse x-amz-retry-after=${o}`);return}return new Date(Date.now()+i)}}}function getRetryAfterHint(e,t){return parseRetryAfterHeader(e,t)}const asSdkError=e=>{if(e instanceof Error)return e;if(e instanceof Object)return Object.assign(new Error,e);if(typeof e==="string")return new Error(e);return new Error(`AWS SDK error wrapper for ${e}`)};function bindRetryMiddleware(e){return t=>(n,o)=>async h=>{let m=await t.retryStrategy();const Q=await t.maxAttempts();if(isRetryStrategyV2(m)){m=m;let k=await m.acquireInitialRetryToken((o["partition_id"]??"")+(o.__retryLongPoll?":longpoll":""));let _=new Error;let L=0;let U=0;const{request:P}=h;const H=a.HttpRequest.isInstance(P);if(H){P.headers[j]=d.v4()}while(true){try{if(H){P.headers[K]=`attempt=${L+1}; max=${Q}`}const{response:e,output:t}=await n(h);m.recordSuccess(k);t.$metadata.attempts=L+1;t.$metadata.totalRetryDelay=U;return{response:e,output:t}}catch(n){const a=getRetryErrorInfo(n,t.logger);_=asSdkError(n);if(H&&e(P)){(o.logger instanceof i.NoOpLogger?console:o.logger)?.warn("An error was encountered in a non-retryable streaming request.");throw _}try{k=await m.refreshRetryTokenForRetry(k,a)}catch(e){if(typeof e.$backoff==="number"){await cooldown(e.$backoff)}if(!_.$metadata){_.$metadata={}}_.$metadata.attempts=L+1;_.$metadata.totalRetryDelay=U;throw _}L=k.getRetryCount();const d=k.getRetryDelay();U+=d;await cooldown(d)}}}else{m=m;if(m?.mode){o.userAgent=[...o.userAgent||[],["cfg/retry-mode",m.mode]]}return m.retry(n,h)}}}const cooldown=e=>new Promise((t=>setTimeout(t,e)));const isRetryStrategyV2=e=>typeof e.acquireInitialRetryToken!=="undefined"&&typeof e.refreshRetryTokenForRetry!=="undefined"&&typeof e.recordSuccess!=="undefined";const getRetryErrorInfo=(e,t)=>{const n={error:e,errorType:getRetryErrorType(e)};const o=parseRetryAfterHeader(e.$response,t);if(o){n.retryAfterHint=o}return n};const getRetryErrorType=e=>{if(isThrottlingError(e))return"THROTTLING";if(isTransientError(e))return"TRANSIENT";if(isServerError(e))return"SERVER_ERROR";return"CLIENT_ERROR"};const X={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:true};function bindGetRetryPlugin(e){const t=bindRetryMiddleware(e);return e=>({applyToStack:n=>{n.add(t(e),X)}})}class DefaultRateLimiter{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=false;availableTokens=0;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;this.lastThrottleTime=this.getCurrentTimeInSeconds();this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds());this.fillRate=this.minFillRate;this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(e){let t;this.updateMeasuredRate();const n=e;const o=n?.errorType==="THROTTLING"||isThrottlingError(n?.error??e);if(o){const e=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=e;this.calculateTimeWindow();this.lastThrottleTime=this.getCurrentTimeInSeconds();t=this.cubicThrottle(e);this.enableTokenBucket()}else{this.calculateTimeWindow();t=this.cubicSuccess(this.getCurrentTimeInSeconds())}const i=Math.min(t,2*this.measuredTxRate);this.updateTokenBucketRate(i)}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(e){if(!this.enabled){return}this.refillTokenBucket();while(e>this.availableTokens){const t=(e-this.availableTokens)/this.fillRate*1e3;await new Promise((e=>DefaultRateLimiter.setTimeoutFn(e,t)));this.refillTokenBucket()}this.availableTokens=this.availableTokens-e}refillTokenBucket(){const e=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=e;return}const t=(e-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+t);this.lastTimestamp=e}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=true}updateTokenBucketRate(e){this.refillTokenBucket();this.fillRate=Math.max(e,this.minFillRate);this.maxCapacity=Math.max(e,this.minCapacity);this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){const e=this.getCurrentTimeInSeconds();const t=Math.floor(e*2)/2;this.requestCount++;if(t>this.lastTxRateBucket){const e=this.requestCount/(t-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(e*this.smooth+this.measuredTxRate*(1-this.smooth));this.requestCount=0;this.lastTxRateBucket=t}}getPrecise(e){return parseFloat(e.toFixed(8))}}class Retry{static v2026=typeof process!=="undefined"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return Retry.v2026?50:100}static throttlingDelay(){return Retry.v2026?1e3:500}static cost(){return Retry.v2026?14:5}static throttlingCost(){return Retry.v2026?5:10}static modifiedCostType(){return Retry.v2026?"THROTTLING":"TRANSIENT"}}class DefaultRetryBackoffStrategy{x=Retry.delay();computeNextBackoffDelay(e){const t=Math.random();const n=2;const o=t*Math.min(this.x*n**e,P);return Math.floor(o)}setDelayBase(e){this.x=e}}class DefaultRetryToken{delay;count;cost;longPoll;constructor(e,t,n,o){this.delay=e;this.count=t;this.cost=n;this.longPoll=o}getRetryCount(){return this.count}getRetryDelay(){return Math.min(P,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}t.RETRY_MODES=void 0;(function(e){e["STANDARD"]="standard";e["ADAPTIVE"]="adaptive"})(t.RETRY_MODES||(t.RETRY_MODES={}));const Z=3;const ee=t.RETRY_MODES.STANDARD;const te={incompatible:1,attempts:2,capacity:3};let re=class StandardRetryStrategy{mode=t.RETRY_MODES.STANDARD;capacity=Y;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(e){if(typeof e==="number"){this.maxAttemptsProvider=async()=>e}else if(typeof e==="function"){this.maxAttemptsProvider=e}else if(e&&typeof e==="object"){this.maxAttemptsProvider=async()=>e.maxAttempts;this.baseDelay=e.baseDelay;this.retryBackoffStrategy=e.backoff}this.maxAttemptsProvider??=async()=>Z;this.baseDelay??=Retry.delay();this.retryBackoffStrategy??=new DefaultRetryBackoffStrategy}async acquireInitialRetryToken(e){return new DefaultRetryToken(Retry.delay(),0,undefined,Retry.v2026&&e.includes(":longpoll"))}async refreshRetryTokenForRetry(e,t){const n=await this.getMaxAttempts();const o=this.retryCode(e,t,n);const i=o===0;const a=e.isLongPoll?.();if(i||a){const n=t.errorType;this.retryBackoffStrategy.setDelayBase(n==="THROTTLING"?Retry.throttlingDelay():this.baseDelay);const d=this.retryBackoffStrategy.computeNextBackoffDelay(e.getRetryCount());let h=d;if(t.retryAfterHint instanceof Date){h=Math.max(d,Math.min(t.retryAfterHint.getTime()-Date.now(),d+5e3))}if(!i){throw Object.assign(new Error("No retry token available"),{$backoff:Retry.v2026&&o===te.capacity&&a?h:0})}else{const t=this.getCapacityCost(n);this.capacity-=t;return new DefaultRetryToken(h,e.getRetryCount()+1,t,e.isLongPoll?.()??false)}}throw new Error("No retry token available")}recordSuccess(e){this.capacity=Math.min(Y,this.capacity+(e.getRetryCost()??W))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(e){console.warn(`Max attempts provider could not resolve. Using default of ${Z}`);return Z}}retryCode(e,t,n){const o=e.getRetryCount()+1;const i=this.isRetryableError(t.errorType)?0:te.incompatible;const a=o<n?0:te.attempts;const d=this.capacity>=this.getCapacityCost(t.errorType)?0:te.capacity;return i||a||d}getCapacityCost(e){return e===Retry.modifiedCostType()?Retry.throttlingCost():Retry.cost()}isRetryableError(e){return e==="THROTTLING"||e==="TRANSIENT"}};let se=class AdaptiveRetryStrategy{mode=t.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(e,t){const{rateLimiter:n}=t??{};this.rateLimiter=n??new DefaultRateLimiter;this.standardRetryStrategy=t?new re({maxAttempts:typeof e==="number"?e:3,...t}):new re(e)}async acquireInitialRetryToken(e){const t=await this.standardRetryStrategy.acquireInitialRetryToken(e);await this.rateLimiter.getSendToken();return t}async refreshRetryTokenForRetry(e,t){this.rateLimiter.updateClientSendingRate(t);const n=await this.standardRetryStrategy.refreshRetryTokenForRetry(e,t);await this.rateLimiter.getSendToken();return n}recordSuccess(e){this.rateLimiter.updateClientSendingRate({});this.standardRetryStrategy.recordSuccess(e)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}};class ConfiguredRetryStrategy extends re{computeNextBackoffDelay;constructor(e,t=Retry.delay()){super(typeof e==="function"?e:async()=>e);if(typeof t==="number"){this.computeNextBackoffDelay=()=>t}else{this.computeNextBackoffDelay=t}}async refreshRetryTokenForRetry(e,t){const n=await super.refreshRetryTokenForRetry(e,t);n.getRetryDelay=()=>this.computeNextBackoffDelay(n.getRetryCount());return n}}const getDefaultRetryQuota=(e,t)=>{const n=e;const o=W;const i=V;const a=J;let d=e;const getCapacityAmount=e=>e.name==="TimeoutError"?a:i;const hasRetryTokens=e=>getCapacityAmount(e)<=d;const retrieveRetryTokens=e=>{if(!hasRetryTokens(e)){throw new Error("No retry token available")}const t=getCapacityAmount(e);d-=t;return t};const releaseRetryTokens=e=>{d+=e??o;d=Math.min(d,n)};return Object.freeze({hasRetryTokens:hasRetryTokens,retrieveRetryTokens:retrieveRetryTokens,releaseRetryTokens:releaseRetryTokens})};const defaultDelayDecider=(e,t)=>Math.floor(Math.min(P,Math.random()*2**t*e));const defaultRetryDecider=e=>{if(!e){return false}return isRetryableByTrait(e)||isClockSkewError(e)||isThrottlingError(e)||isTransientError(e)};class StandardRetryStrategy{maxAttemptsProvider;retryDecider;delayDecider;retryQuota;mode=t.RETRY_MODES.STANDARD;constructor(e,t){this.maxAttemptsProvider=e;this.retryDecider=t?.retryDecider??defaultRetryDecider;this.delayDecider=t?.delayDecider??defaultDelayDecider;this.retryQuota=t?.retryQuota??getDefaultRetryQuota(Y)}shouldRetry(e,t,n){return t<n&&this.retryDecider(e)&&this.retryQuota.hasRetryTokens(e)}async getMaxAttempts(){let e;try{e=await this.maxAttemptsProvider()}catch(t){e=Z}return e}async retry(e,t,n){let o;let i=0;let h=0;const m=await this.getMaxAttempts();const{request:Q}=t;if(a.HttpRequest.isInstance(Q)){Q.headers[j]=d.v4()}while(true){try{if(a.HttpRequest.isInstance(Q)){Q.headers[K]=`attempt=${i+1}; max=${m}`}if(n?.beforeRequest){await n.beforeRequest()}const{response:d,output:k}=await e(t);if(n?.afterRequest){n.afterRequest(d)}this.retryQuota.releaseRetryTokens(o);k.$metadata.attempts=i+1;k.$metadata.totalRetryDelay=h;return{response:d,output:k}}catch(e){const t=asSdkError(e);i++;if(this.shouldRetry(t,i,m)){o=this.retryQuota.retrieveRetryTokens(t);const e=this.delayDecider(isThrottlingError(t)?H:U,i);const n=getDelayFromRetryAfterHeader(t.$response);const a=Math.max(n||0,e);h+=a;await new Promise((e=>setTimeout(e,a)));continue}if(!t.$metadata){t.$metadata={}}t.$metadata.attempts=i;t.$metadata.totalRetryDelay=h;throw t}}}}const getDelayFromRetryAfterHeader=e=>{if(!a.HttpResponse.isInstance(e))return;const t=Object.keys(e.headers).find((e=>e.toLowerCase()==="retry-after"));if(!t)return;const n=e.headers[t];const o=Number(n);if(!Number.isNaN(o))return o*1e3;const i=new Date(n);return i.getTime()-Date.now()};class AdaptiveRetryStrategy extends StandardRetryStrategy{rateLimiter;constructor(e,n){const{rateLimiter:o,...i}=n??{};super(e,i);this.rateLimiter=o??new DefaultRateLimiter;this.mode=t.RETRY_MODES.ADAPTIVE}async retry(e,t){return super.retry(e,t,{beforeRequest:async()=>this.rateLimiter.getSendToken(),afterRequest:e=>{this.rateLimiter.updateClientSendingRate(e)}})}}const ne="AWS_MAX_ATTEMPTS";const oe="max_attempts";const ie={environmentVariableSelector:e=>{const t=e[ne];if(!t)return undefined;const n=parseInt(t);if(Number.isNaN(n)){throw new Error(`Environment variable ${ne} mast be a number, got "${t}"`)}return n},configFileSelector:e=>{const t=e[oe];if(!t)return undefined;const n=parseInt(t);if(Number.isNaN(n)){throw new Error(`Shared config file entry ${oe} mast be a number, got "${t}"`)}return n},default:Z};const resolveRetryConfig=e=>{const{retryStrategy:n,retryMode:o}=e;const a=i.normalizeProvider(e.maxAttempts??Z);let d=n?Promise.resolve(n):undefined;const getDefault=async()=>await i.normalizeProvider(o)()===t.RETRY_MODES.ADAPTIVE?new se(a):new re(a);return Object.assign(e,{maxAttempts:a,retryStrategy:()=>d??=getDefault()})};const Ae="AWS_RETRY_MODE";const ae="retry_mode";const ce={environmentVariableSelector:e=>e[Ae],configFileSelector:e=>e[ae],default:ee};const omitRetryHeadersMiddleware=()=>e=>async t=>{const{request:n}=t;if(a.HttpRequest.isInstance(n)){delete n.headers[j];delete n.headers[K]}return e(t)};const le={name:"omitRetryHeadersMiddleware",tags:["RETRY","HEADERS","OMIT_RETRY_HEADERS"],relation:"before",toMiddleware:"awsAuthMiddleware",override:true};const getOmitRetryHeadersPlugin=e=>({applyToStack:e=>{e.addRelativeTo(omitRetryHeadersMiddleware(),le)}});const ue=bindRetryMiddleware(isStreamingPayload);const ge=bindGetRetryPlugin(isStreamingPayload);t.AdaptiveRetryStrategy=se;t.CONFIG_MAX_ATTEMPTS=oe;t.CONFIG_RETRY_MODE=ae;t.ConfiguredRetryStrategy=ConfiguredRetryStrategy;t.DEFAULT_MAX_ATTEMPTS=Z;t.DEFAULT_RETRY_DELAY_BASE=U;t.DEFAULT_RETRY_MODE=ee;t.DefaultRateLimiter=DefaultRateLimiter;t.DeprecatedAdaptiveRetryStrategy=AdaptiveRetryStrategy;t.DeprecatedStandardRetryStrategy=StandardRetryStrategy;t.ENV_MAX_ATTEMPTS=ne;t.ENV_RETRY_MODE=Ae;t.INITIAL_RETRY_TOKENS=Y;t.INVOCATION_ID_HEADER=j;t.MAXIMUM_RETRY_DELAY=P;t.NODE_MAX_ATTEMPT_CONFIG_OPTIONS=ie;t.NODE_RETRY_MODE_CONFIG_OPTIONS=ce;t.NO_RETRY_INCREMENT=W;t.REQUEST_HEADER=K;t.RETRY_COST=V;t.Retry=Retry;t.StandardRetryStrategy=re;t.THROTTLING_RETRY_DELAY_BASE=H;t.TIMEOUT_RETRY_COST=J;t.defaultDelayDecider=defaultDelayDecider;t.defaultRetryDecider=defaultRetryDecider;t.getOmitRetryHeadersPlugin=getOmitRetryHeadersPlugin;t.getRetryAfterHint=getRetryAfterHint;t.getRetryPlugin=ge;t.isBrowserNetworkError=isBrowserNetworkError;t.isClockSkewCorrectedError=isClockSkewCorrectedError;t.isClockSkewError=isClockSkewError;t.isNodeJsHttp2TransientError=isNodeJsHttp2TransientError;t.isRetryableByTrait=isRetryableByTrait;t.isServerError=isServerError;t.isThrottlingError=isThrottlingError;t.isTransientError=isTransientError;t.omitRetryHeadersMiddleware=omitRetryHeadersMiddleware;t.omitRetryHeadersMiddlewareOptions=le;t.resolveRetryConfig=resolveRetryConfig;t.retryMiddleware=ue;t.retryMiddlewareOptions=X},6890:(e,t,n)=>{"use strict";var o=n(2658);var i=n(3422);var a=n(2085);const deref=e=>{if(typeof e==="function"){return e()}return e};const operation=(e,t,n,o,i)=>({name:t,namespace:e,traits:n,input:o,output:i});const schemaDeserializationMiddleware=e=>(t,n)=>async a=>{const{response:d}=await t(a);const{operationSchema:h}=o.getSmithyContext(n);const[,m,Q,k,_,L]=h??[];try{const t=await e.protocol.deserializeResponse(operation(m,Q,k,_,L),{...e,...n},d);return{response:d,output:t}}catch(e){Object.defineProperty(e,"$response",{value:d,enumerable:false,writable:false,configurable:false});if(!("$metadata"in e)){const t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+="\n "+t}catch(e){if(!n.logger||n.logger?.constructor?.name==="NoOpLogger"){console.warn(t)}else{n.logger?.warn?.(t)}}if(typeof e.$responseBodyText!=="undefined"){if(e.$response){e.$response.body=e.$responseBodyText}}try{if(i.HttpResponse.isInstance(d)){const{headers:t={}}=d;const n=Object.entries(t);e.$metadata={httpStatusCode:d.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}};const findHeader=(e,t)=>(t.find((([t])=>t.match(e)))||[void 0,void 0])[1];const schemaSerializationMiddleware=e=>(t,n)=>async i=>{const{operationSchema:d}=o.getSmithyContext(n);const[,h,m,Q,k,_]=d??[];const L=n.endpointV2?async()=>a.toEndpointV1(n.endpointV2):e.endpoint;const U=await e.protocol.serializeRequest(operation(h,m,Q,k,_),i.input,{...e,...n,endpoint:L});return t({...i,request:U})};const d={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:true};const h={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:true};function getSchemaSerdePlugin(e){return{applyToStack:t=>{t.add(schemaSerializationMiddleware(e),h);t.add(schemaDeserializationMiddleware(e),d);e.protocol.setSerdeContext(e)}}}class Schema{name;namespace;traits;static assign(e,t){const n=Object.assign(e,t);return n}static[Symbol.hasInstance](e){const t=this.prototype.isPrototypeOf(e);if(!t&&typeof e==="object"&&e!==null){const t=e;return t.symbol===this.symbol}return t}getName(){return this.namespace+"#"+this.name}}class ListSchema extends Schema{static symbol=Symbol.for("@smithy/lis");name;traits;valueSchema;symbol=ListSchema.symbol}const list=(e,t,n,o)=>Schema.assign(new ListSchema,{name:t,namespace:e,traits:n,valueSchema:o});class MapSchema extends Schema{static symbol=Symbol.for("@smithy/map");name;traits;keySchema;valueSchema;symbol=MapSchema.symbol}const map=(e,t,n,o,i)=>Schema.assign(new MapSchema,{name:t,namespace:e,traits:n,keySchema:o,valueSchema:i});class OperationSchema extends Schema{static symbol=Symbol.for("@smithy/ope");name;traits;input;output;symbol=OperationSchema.symbol}const op=(e,t,n,o,i)=>Schema.assign(new OperationSchema,{name:t,namespace:e,traits:n,input:o,output:i});class StructureSchema extends Schema{static symbol=Symbol.for("@smithy/str");name;traits;memberNames;memberList;symbol=StructureSchema.symbol}const struct=(e,t,n,o,i)=>Schema.assign(new StructureSchema,{name:t,namespace:e,traits:n,memberNames:o,memberList:i});class ErrorSchema extends StructureSchema{static symbol=Symbol.for("@smithy/err");ctor;symbol=ErrorSchema.symbol}const error=(e,t,n,o,i,a)=>Schema.assign(new ErrorSchema,{name:t,namespace:e,traits:n,memberNames:o,memberList:i,ctor:null});const m=[];function translateTraits(e){if(typeof e==="object"){return e}e=e|0;if(m[e]){return m[e]}const t={};let n=0;for(const o of["httpLabel","idempotent","idempotencyToken","sensitive","httpPayload","httpResponseCode","httpQueryParams"]){if((e>>n++&1)===1){t[o]=1}}return m[e]=t}const Q={it:Symbol.for("@smithy/nor-struct-it"),ns:Symbol.for("@smithy/ns")};const k=[];const _={};class NormalizedSchema{ref;memberName;static symbol=Symbol.for("@smithy/nor");symbol=NormalizedSchema.symbol;name;schema;_isMemberSchema;traits;memberTraits;normalizedTraits;constructor(e,t){this.ref=e;this.memberName=t;const n=[];let o=e;let i=e;this._isMemberSchema=false;while(isMemberSchema(o)){n.push(o[1]);o=o[0];i=deref(o);this._isMemberSchema=true}if(n.length>0){this.memberTraits={};for(let e=n.length-1;e>=0;--e){const t=n[e];Object.assign(this.memberTraits,translateTraits(t))}}else{this.memberTraits=0}if(i instanceof NormalizedSchema){const e=this.memberTraits;Object.assign(this,i);this.memberTraits=Object.assign({},e,i.getMemberTraits(),this.getMemberTraits());this.normalizedTraits=void 0;this.memberName=t??i.memberName;return}this.schema=deref(i);if(isStaticSchema(this.schema)){this.name=`${this.schema[1]}#${this.schema[2]}`;this.traits=this.schema[3]}else{this.name=this.memberName??String(i);this.traits=0}if(this._isMemberSchema&&!t){throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`)}}static[Symbol.hasInstance](e){const t=this.prototype.isPrototypeOf(e);if(!t&&typeof e==="object"&&e!==null){const t=e;return t.symbol===this.symbol}return t}static of(e){const t=typeof e==="function"||typeof e==="object"&&e!==null;if(typeof e==="number"){if(k[e]){return k[e]}}else if(typeof e==="string"){if(_[e]){return _[e]}}else if(t){if(e[Q.ns]){return e[Q.ns]}}const n=deref(e);if(n instanceof NormalizedSchema){return n}if(isMemberSchema(n)){const[t,o]=n;if(t instanceof NormalizedSchema){Object.assign(t.getMergedTraits(),translateTraits(o));return t}throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(e,null,2)}.`)}const o=new NormalizedSchema(n);if(t){return e[Q.ns]=o}if(typeof n==="string"){return _[n]=o}if(typeof n==="number"){return k[n]=o}return o}getSchema(){const e=this.schema;if(Array.isArray(e)&&e[0]===0){return e[4]}return e}getName(e=false){const{name:t}=this;const n=!e&&t&&t.includes("#");return n?t.split("#")[1]:t||undefined}getMemberName(){return this.memberName}isMemberSchema(){return this._isMemberSchema}isListSchema(){const e=this.getSchema();return typeof e==="number"?e>=64&&e<128:e[0]===1}isMapSchema(){const e=this.getSchema();return typeof e==="number"?e>=128&&e<=255:e[0]===2}isStructSchema(){const e=this.getSchema();if(typeof e!=="object"){return false}const t=e[0];return t===3||t===-3||t===4}isUnionSchema(){const e=this.getSchema();if(typeof e!=="object"){return false}return e[0]===4}isBlobSchema(){const e=this.getSchema();return e===21||e===42}isTimestampSchema(){const e=this.getSchema();return typeof e==="number"&&e>=4&&e<=7}isUnitSchema(){return this.getSchema()==="unit"}isDocumentSchema(){return this.getSchema()===15}isStringSchema(){return this.getSchema()===0}isBooleanSchema(){return this.getSchema()===2}isNumericSchema(){return this.getSchema()===1}isBigIntegerSchema(){return this.getSchema()===17}isBigDecimalSchema(){return this.getSchema()===19}isStreaming(){const{streaming:e}=this.getMergedTraits();return!!e||this.getSchema()===42}isIdempotencyToken(){return!!this.getMergedTraits().idempotencyToken}getMergedTraits(){return this.normalizedTraits??(this.normalizedTraits={...this.getOwnTraits(),...this.getMemberTraits()})}getMemberTraits(){return translateTraits(this.memberTraits)}getOwnTraits(){return translateTraits(this.traits)}getKeySchema(){const[e,t]=[this.isDocumentSchema(),this.isMapSchema()];if(!e&&!t){throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`)}const n=this.getSchema();const o=e?15:n[4]??0;return member([o,0],"key")}getValueSchema(){const e=this.getSchema();const[t,n,o]=[this.isDocumentSchema(),this.isMapSchema(),this.isListSchema()];const i=typeof e==="number"?63&e:e&&typeof e==="object"&&(n||o)?e[3+e[0]]:t?15:void 0;if(i!=null){return member([i,0],n?"value":"member")}throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`)}getMemberSchema(e){const t=this.getSchema();if(this.isStructSchema()&&t[4].includes(e)){const n=t[4].indexOf(e);const o=t[5][n];return member(isMemberSchema(o)?o:[o,0],e)}if(this.isDocumentSchema()){return member([15,0],e)}throw new Error(`@smithy/core/schema - ${this.getName(true)} has no member=${e}.`)}getMemberSchemas(){const e={};try{for(const[t,n]of this.structIterator()){e[t]=n}}catch(e){}return e}getEventStreamMember(){if(this.isStructSchema()){for(const[e,t]of this.structIterator()){if(t.isStreaming()&&t.isStructSchema()){return e}}}return""}*structIterator(){if(this.isUnitSchema()){return}if(!this.isStructSchema()){throw new Error("@smithy/core/schema - cannot iterate non-struct schema.")}const e=this.getSchema();const t=e[4].length;let n=e[Q.it];if(n&&t===n.length){yield*n;return}n=Array(t);for(let o=0;o<t;++o){const t=e[4][o];const i=member([e[5][o],0],t);yield n[o]=[t,i]}e[Q.it]=n}}function member(e,t){if(e instanceof NormalizedSchema){return Object.assign(e,{memberName:t,_isMemberSchema:true})}const n=NormalizedSchema;return new n(e,t)}const isMemberSchema=e=>Array.isArray(e)&&e.length===2;const isStaticSchema=e=>Array.isArray(e)&&e.length>=5;class SimpleSchema extends Schema{static symbol=Symbol.for("@smithy/sim");name;schemaRef;traits;symbol=SimpleSchema.symbol}const sim=(e,t,n,o)=>Schema.assign(new SimpleSchema,{name:t,namespace:e,traits:o,schemaRef:n});const simAdapter=(e,t,n,o)=>Schema.assign(new SimpleSchema,{name:t,namespace:e,traits:n,schemaRef:o});const L={BLOB:21,STREAMING_BLOB:42,BOOLEAN:2,STRING:0,NUMERIC:1,BIG_INTEGER:17,BIG_DECIMAL:19,DOCUMENT:15,TIMESTAMP_DEFAULT:4,TIMESTAMP_DATE_TIME:5,TIMESTAMP_HTTP_DATE:6,TIMESTAMP_EPOCH_SECONDS:7,LIST_MODIFIER:64,MAP_MODIFIER:128};class TypeRegistry{namespace;schemas;exceptions;static registries=new Map;constructor(e,t=new Map,n=new Map){this.namespace=e;this.schemas=t;this.exceptions=n}static for(e){if(!TypeRegistry.registries.has(e)){TypeRegistry.registries.set(e,new TypeRegistry(e))}return TypeRegistry.registries.get(e)}copyFrom(e){const{schemas:t,exceptions:n}=this;for(const[n,o]of e.schemas){if(!t.has(n)){t.set(n,o)}}for(const[t,o]of e.exceptions){if(!n.has(t)){n.set(t,o)}}}register(e,t){const n=this.normalizeShapeId(e);for(const e of[this,TypeRegistry.for(n.split("#")[0])]){e.schemas.set(n,t)}}getSchema(e){const t=this.normalizeShapeId(e);if(!this.schemas.has(t)){if(!e.includes("#")){const t="#"+e;const n=[];for(const[e,o]of this.schemas.entries()){if(e.endsWith(t)){n.push(o)}}if(n.length===1){return n[0]}}throw new Error(`@smithy/core/schema - schema not found for ${t}`)}return this.schemas.get(t)}registerError(e,t){const n=e;const o=n[1];for(const e of[this,TypeRegistry.for(o)]){e.schemas.set(o+"#"+n[2],n);e.exceptions.set(n,t)}}getErrorCtor(e){const t=e;if(this.exceptions.has(t)){return this.exceptions.get(t)}const n=TypeRegistry.for(t[1]);return n.exceptions.get(t)}getBaseException(){for(const e of this.exceptions.keys()){if(Array.isArray(e)){const[,t,n]=e;const o=t+"#"+n;if(o.startsWith("smithy.ts.sdk.synthetic.")&&o.endsWith("ServiceException")){return e}}}return undefined}find(e){for(const t of this.schemas.values()){if(e(t)){return t}}return undefined}clear(){this.schemas.clear();this.exceptions.clear()}normalizeShapeId(e){if(e.includes("#")){return e}return this.namespace+"#"+e}}t.ErrorSchema=ErrorSchema;t.ListSchema=ListSchema;t.MapSchema=MapSchema;t.NormalizedSchema=NormalizedSchema;t.OperationSchema=OperationSchema;t.SCHEMA=L;t.Schema=Schema;t.SimpleSchema=SimpleSchema;t.StructureSchema=StructureSchema;t.TypeRegistry=TypeRegistry;t.deref=deref;t.deserializerMiddlewareOption=d;t.error=error;t.getSchemaSerdePlugin=getSchemaSerdePlugin;t.isStaticSchema=isStaticSchema;t.list=list;t.map=map;t.op=op;t.operation=operation;t.serializerMiddlewareOption=h;t.sim=sim;t.simAdapter=simAdapter;t.simpleSchemaCacheN=k;t.simpleSchemaCacheS=_;t.struct=struct;t.traitsCache=m;t.translateTraits=translateTraits},2430:(e,t,n)=>{"use strict";var o=n(7598);var i=n(3024);var a=n(3422);var d=n(2085);var h=n(7075);const isArrayBuffer=e=>typeof ArrayBuffer==="function"&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]";const fromArrayBuffer=(e,t=0,n=e.byteLength-t)=>{if(!isArrayBuffer(e)){throw new TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`)}return Buffer.from(e,t,n)};const fromString=(e,t)=>{if(typeof e!=="string"){throw new TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`)}return t?Buffer.from(e,t):Buffer.from(e)};const m=/^[A-Za-z0-9+/]*={0,2}$/;const fromBase64$1=e=>{if(e.length*3%4!==0){throw new TypeError(`Incorrect padding on base64 string.`)}if(!m.exec(e)){throw new TypeError(`Invalid base64 string.`)}const t=fromString(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)};const fromUtf8$1=e=>{const t=fromString(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)};const toBase64$1=e=>{let t;if(typeof e==="string"){t=fromUtf8$1(e)}else{t=e}if(typeof t!=="object"||typeof t.byteOffset!=="number"||typeof t.byteLength!=="number"){throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.")}return fromArrayBuffer(t.buffer,t.byteOffset,t.byteLength).toString("base64")};function bindUint8ArrayBlobAdapter(e,t,n,o){return class Uint8ArrayBlobAdapter extends Uint8Array{static fromString(e,n="utf-8"){if(typeof e==="string"){if(n==="base64"){return Uint8ArrayBlobAdapter.mutate(o(e))}return Uint8ArrayBlobAdapter.mutate(t(e))}throw new Error(`Unsupported conversion from ${typeof e} to Uint8ArrayBlobAdapter.`)}static mutate(e){Object.setPrototypeOf(e,Uint8ArrayBlobAdapter.prototype);return e}transformToString(t="utf-8"){if(t==="base64"){return n(this)}return e(this)}}}const toUtf8$1=e=>{if(typeof e==="string"){return e}if(typeof e!=="object"||typeof e.byteOffset!=="number"||typeof e.byteLength!=="number"){throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.")}return fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")};const Q=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function bindV4(e){if(typeof crypto!=="undefined"&&typeof crypto.randomUUID==="function"){return()=>crypto.randomUUID()}return()=>{const t=new Uint8Array(16);e(t);t[6]=t[6]&15|64;t[8]=t[8]&63|128;return Q[t[0]]+Q[t[1]]+Q[t[2]]+Q[t[3]]+"-"+Q[t[4]]+Q[t[5]]+"-"+Q[t[6]]+Q[t[7]]+"-"+Q[t[8]]+Q[t[9]]+"-"+Q[t[10]]+Q[t[11]]+Q[t[12]]+Q[t[13]]+Q[t[14]]+Q[t[15]]}}const copyDocumentWithTransform=(e,t,n=e=>e)=>e;const parseBoolean=e=>{switch(e){case"true":return true;case"false":return false;default:throw new Error(`Unable to parse boolean value "${e}"`)}};const expectBoolean=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="number"){if(e===0||e===1){V.warn(stackTraceWarning(`Expected boolean, got ${typeof e}: ${e}`))}if(e===0){return false}if(e===1){return true}}if(typeof e==="string"){const t=e.toLowerCase();if(t==="false"||t==="true"){V.warn(stackTraceWarning(`Expected boolean, got ${typeof e}: ${e}`))}if(t==="false"){return false}if(t==="true"){return true}}if(typeof e==="boolean"){return e}throw new TypeError(`Expected boolean, got ${typeof e}: ${e}`)};const expectNumber=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="string"){const t=parseFloat(e);if(!Number.isNaN(t)){if(String(t)!==String(e)){V.warn(stackTraceWarning(`Expected number but observed string: ${e}`))}return t}}if(typeof e==="number"){return e}throw new TypeError(`Expected number, got ${typeof e}: ${e}`)};const k=Math.ceil(2**127*(2-2**-23));const expectFloat32=e=>{const t=expectNumber(e);if(t!==undefined&&!Number.isNaN(t)&&t!==Infinity&&t!==-Infinity){if(Math.abs(t)>k){throw new TypeError(`Expected 32-bit float, got ${e}`)}}return t};const expectLong=e=>{if(e===null||e===undefined){return undefined}if(Number.isInteger(e)&&!Number.isNaN(e)){return e}throw new TypeError(`Expected integer, got ${typeof e}: ${e}`)};const _=expectLong;const expectInt32=e=>expectSizedInt(e,32);const expectShort=e=>expectSizedInt(e,16);const expectByte=e=>expectSizedInt(e,8);const expectSizedInt=(e,t)=>{const n=expectLong(e);if(n!==undefined&&castInt(n,t)!==n){throw new TypeError(`Expected ${t}-bit integer, got ${e}`)}return n};const castInt=(e,t)=>{switch(t){case 32:return Int32Array.of(e)[0];case 16:return Int16Array.of(e)[0];case 8:return Int8Array.of(e)[0]}};const expectNonNull=(e,t)=>{if(e===null||e===undefined){if(t){throw new TypeError(`Expected a non-null value for ${t}`)}throw new TypeError("Expected a non-null value")}return e};const expectObject=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="object"&&!Array.isArray(e)){return e}const t=Array.isArray(e)?"array":typeof e;throw new TypeError(`Expected object, got ${t}: ${e}`)};const expectString=e=>{if(e===null||e===undefined){return undefined}if(typeof e==="string"){return e}if(["boolean","number","bigint"].includes(typeof e)){V.warn(stackTraceWarning(`Expected string, got ${typeof e}: ${e}`));return String(e)}throw new TypeError(`Expected string, got ${typeof e}: ${e}`)};const expectUnion=e=>{if(e===null||e===undefined){return undefined}const t=expectObject(e);const n=[];for(const e in t){if(t[e]!=null){n.push(e)}}if(n.length===0){throw new TypeError(`Unions must have exactly one non-null member. None were found.`)}if(n.length>1){throw new TypeError(`Unions must have exactly one non-null member. Keys ${n} were not null.`)}return t};const strictParseDouble=e=>{if(typeof e=="string"){return expectNumber(parseNumber(e))}return expectNumber(e)};const L=strictParseDouble;const strictParseFloat32=e=>{if(typeof e=="string"){return expectFloat32(parseNumber(e))}return expectFloat32(e)};const U=/(-?(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?)|(-?Infinity)|(NaN)/g;const parseNumber=e=>{const t=e.match(U);if(t===null||t[0].length!==e.length){throw new TypeError(`Expected real number, got implicit NaN`)}return parseFloat(e)};const limitedParseDouble=e=>{if(typeof e=="string"){return parseFloatString(e)}return expectNumber(e)};const P=limitedParseDouble;const H=limitedParseDouble;const limitedParseFloat32=e=>{if(typeof e=="string"){return parseFloatString(e)}return expectFloat32(e)};const parseFloatString=e=>{switch(e){case"NaN":return NaN;case"Infinity":return Infinity;case"-Infinity":return-Infinity;default:throw new Error(`Unable to parse float value: ${e}`)}};const strictParseLong=e=>{if(typeof e==="string"){return expectLong(parseNumber(e))}return expectLong(e)};const Y=strictParseLong;const strictParseInt32=e=>{if(typeof e==="string"){return expectInt32(parseNumber(e))}return expectInt32(e)};const strictParseShort=e=>{if(typeof e==="string"){return expectShort(parseNumber(e))}return expectShort(e)};const strictParseByte=e=>{if(typeof e==="string"){return expectByte(parseNumber(e))}return expectByte(e)};const stackTraceWarning=e=>String(new TypeError(e).stack||e).split("\n").slice(0,5).filter((e=>!e.includes("stackTraceWarning"))).join("\n");const V={warn:console.warn};const J=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const W=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function dateToUtcString(e){const t=e.getUTCFullYear();const n=e.getUTCMonth();const o=e.getUTCDay();const i=e.getUTCDate();const a=e.getUTCHours();const d=e.getUTCMinutes();const h=e.getUTCSeconds();const m=i<10?`0${i}`:`${i}`;const Q=a<10?`0${a}`:`${a}`;const k=d<10?`0${d}`:`${d}`;const _=h<10?`0${h}`:`${h}`;return`${J[o]}, ${m} ${W[n]} ${t} ${Q}:${k}:${_} GMT`}const j=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?[zZ]$/);const parseRfc3339DateTime=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-3339 date-times must be expressed as strings")}const t=j.exec(e);if(!t){throw new TypeError("Invalid RFC-3339 date-time value")}const[n,o,i,a,d,h,m,Q]=t;const k=strictParseShort(stripLeadingZeroes(o));const _=parseDateValue(i,"month",1,12);const L=parseDateValue(a,"day",1,31);return buildDate(k,_,L,{hours:d,minutes:h,seconds:m,fractionalMilliseconds:Q})};const K=new RegExp(/^(\d{4})-(\d{2})-(\d{2})[tT](\d{2}):(\d{2}):(\d{2})(?:\.(\d+))?(([-+]\d{2}\:\d{2})|[zZ])$/);const parseRfc3339DateTimeWithOffset=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-3339 date-times must be expressed as strings")}const t=K.exec(e);if(!t){throw new TypeError("Invalid RFC-3339 date-time value")}const[n,o,i,a,d,h,m,Q,k]=t;const _=strictParseShort(stripLeadingZeroes(o));const L=parseDateValue(i,"month",1,12);const U=parseDateValue(a,"day",1,31);const P=buildDate(_,L,U,{hours:d,minutes:h,seconds:m,fractionalMilliseconds:Q});if(k.toUpperCase()!="Z"){P.setTime(P.getTime()-parseOffsetToMilliseconds(k))}return P};const X=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$/);const Z=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$/);const ee=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})$/);const parseRfc7231DateTime=e=>{if(e===null||e===undefined){return undefined}if(typeof e!=="string"){throw new TypeError("RFC-7231 date-times must be expressed as strings")}let t=X.exec(e);if(t){const[e,n,o,i,a,d,h,m]=t;return buildDate(strictParseShort(stripLeadingZeroes(i)),parseMonthByShortName(o),parseDateValue(n,"day",1,31),{hours:a,minutes:d,seconds:h,fractionalMilliseconds:m})}t=Z.exec(e);if(t){const[e,n,o,i,a,d,h,m]=t;return adjustRfc850Year(buildDate(parseTwoDigitYear(i),parseMonthByShortName(o),parseDateValue(n,"day",1,31),{hours:a,minutes:d,seconds:h,fractionalMilliseconds:m}))}t=ee.exec(e);if(t){const[e,n,o,i,a,d,h,m]=t;return buildDate(strictParseShort(stripLeadingZeroes(m)),parseMonthByShortName(n),parseDateValue(o.trimLeft(),"day",1,31),{hours:i,minutes:a,seconds:d,fractionalMilliseconds:h})}throw new TypeError("Invalid RFC-7231 date-time value")};const parseEpochTimestamp=e=>{if(e===null||e===undefined){return undefined}let t;if(typeof e==="number"){t=e}else if(typeof e==="string"){t=strictParseDouble(e)}else if(typeof e==="object"&&e.tag===1){t=e.value}else{throw new TypeError("Epoch timestamps must be expressed as floating point numbers or their string representation")}if(Number.isNaN(t)||t===Infinity||t===-Infinity){throw new TypeError("Epoch timestamps must be valid, non-Infinite, non-NaN numerics")}return new Date(Math.round(t*1e3))};const buildDate=(e,t,n,o)=>{const i=t-1;validateDayOfMonth(e,i,n);return new Date(Date.UTC(e,i,n,parseDateValue(o.hours,"hour",0,23),parseDateValue(o.minutes,"minute",0,59),parseDateValue(o.seconds,"seconds",0,60),parseMilliseconds(o.fractionalMilliseconds)))};const parseTwoDigitYear=e=>{const t=(new Date).getUTCFullYear();const n=Math.floor(t/100)*100+strictParseShort(stripLeadingZeroes(e));if(n<t){return n+100}return n};const te=50*365*24*60*60*1e3;const adjustRfc850Year=e=>{if(e.getTime()-(new Date).getTime()>te){return new Date(Date.UTC(e.getUTCFullYear()-100,e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()))}return e};const parseMonthByShortName=e=>{const t=W.indexOf(e);if(t<0){throw new TypeError(`Invalid month: ${e}`)}return t+1};const re=[31,28,31,30,31,30,31,31,30,31,30,31];const validateDayOfMonth=(e,t,n)=>{let o=re[t];if(t===1&&isLeapYear(e)){o=29}if(n>o){throw new TypeError(`Invalid day for ${W[t]} in ${e}: ${n}`)}};const isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0);const parseDateValue=(e,t,n,o)=>{const i=strictParseByte(stripLeadingZeroes(e));if(i<n||i>o){throw new TypeError(`${t} must be between ${n} and ${o}, inclusive`)}return i};const parseMilliseconds=e=>{if(e===null||e===undefined){return 0}return strictParseFloat32("0."+e)*1e3};const parseOffsetToMilliseconds=e=>{const t=e[0];let n=1;if(t=="+"){n=1}else if(t=="-"){n=-1}else{throw new TypeError(`Offset direction, ${t}, must be "+" or "-"`)}const o=Number(e.substring(1,3));const i=Number(e.substring(4,6));return n*(o*60+i)*60*1e3};const stripLeadingZeroes=e=>{let t=0;while(t<e.length-1&&e.charAt(t)==="0"){t++}if(t===0){return e}return e.slice(t)};const se=function LazyJsonString(e){const t=Object.assign(new String(e),{deserializeJSON(){return JSON.parse(String(e))},toString(){return String(e)},toJSON(){return String(e)}});return t};se.from=e=>{if(e&&typeof e==="object"&&(e instanceof se||"deserializeJSON"in e)){return e}else if(typeof e==="string"||Object.getPrototypeOf(e)===String.prototype){return se(String(e))}return se(JSON.stringify(e))};se.fromObject=se.from;function quoteHeader(e){if(e.includes(",")||e.includes('"')){e=`"${e.replace(/"/g,'\\"')}"`}return e}const ne=`(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;const oe=`(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;const ie=`(\\d?\\d):(\\d{2}):(\\d{2})(?:\\.(\\d+))?`;const Ae=`(\\d?\\d)`;const ae=`(\\d{4})`;const ce=new RegExp(/^(\d{4})-(\d\d)-(\d\d)[tT](\d\d):(\d\d):(\d\d)(\.(\d+))?(([-+]\d\d:\d\d)|[zZ])$/);const le=new RegExp(`^${ne}, ${Ae} ${oe} ${ae} ${ie} GMT$`);const ue=new RegExp(`^${ne}, ${Ae}-${oe}-(\\d\\d) ${ie} GMT$`);const ge=new RegExp(`^${ne} ${oe} ( [1-9]|\\d\\d) ${ie} ${ae}$`);const de=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const _parseEpochTimestamp=e=>{if(e==null){return void 0}let t=NaN;if(typeof e==="number"){t=e}else if(typeof e==="string"){if(!/^-?\d*\.?\d+$/.test(e)){throw new TypeError(`parseEpochTimestamp - numeric string invalid.`)}t=Number.parseFloat(e)}else if(typeof e==="object"&&e.tag===1){t=e.value}if(isNaN(t)||Math.abs(t)===Infinity){throw new TypeError("Epoch timestamps must be valid finite numbers.")}return new Date(Math.round(t*1e3))};const _parseRfc3339DateTimeWithOffset=e=>{if(e==null){return void 0}if(typeof e!=="string"){throw new TypeError("RFC3339 timestamps must be strings")}const t=ce.exec(e);if(!t){throw new TypeError(`Invalid RFC3339 timestamp format ${e}`)}const[,n,o,i,a,d,h,,m,Q]=t;range(o,1,12);range(i,1,31);range(a,0,23);range(d,0,59);range(h,0,60);const k=new Date(Date.UTC(Number(n),Number(o)-1,Number(i),Number(a),Number(d),Number(h),Number(m)?Math.round(parseFloat(`0.${m}`)*1e3):0));k.setUTCFullYear(Number(n));if(Q.toUpperCase()!="Z"){const[,e,t,n]=/([+-])(\d\d):(\d\d)/.exec(Q)||[void 0,"+",0,0];const o=e==="-"?1:-1;k.setTime(k.getTime()+o*(Number(t)*60*60*1e3+Number(n)*60*1e3))}return k};const _parseRfc7231DateTime=e=>{if(e==null){return void 0}if(typeof e!=="string"){throw new TypeError("RFC7231 timestamps must be strings.")}let t;let n;let o;let i;let a;let d;let h;let m;if(m=le.exec(e)){[,t,n,o,i,a,d,h]=m}else if(m=ue.exec(e)){[,t,n,o,i,a,d,h]=m;o=(Number(o)+1900).toString()}else if(m=ge.exec(e)){[,n,t,i,a,d,h,o]=m}if(o&&d){const e=Date.UTC(Number(o),de.indexOf(n),Number(t),Number(i),Number(a),Number(d),h?Math.round(parseFloat(`0.${h}`)*1e3):0);range(t,1,31);range(i,0,23);range(a,0,59);range(d,0,60);const m=new Date(e);m.setUTCFullYear(Number(o));return m}throw new TypeError(`Invalid RFC7231 date-time value ${e}.`)};function range(e,t,n){const o=Number(e);if(o<t||o>n){throw new Error(`Value ${o} out of range [${t}, ${n}]`)}}function splitEvery(e,t,n){if(n<=0||!Number.isInteger(n)){throw new Error("Invalid number of delimiters ("+n+") for splitEvery.")}const o=e.split(t);if(n===1){return o}const i=[];let a="";for(let e=0;e<o.length;e++){if(a===""){a=o[e]}else{a+=t+o[e]}if((e+1)%n===0){i.push(a);a=""}}if(a!==""){i.push(a)}return i}const splitHeader=e=>{const t=e.length;const n=[];let o=false;let i=undefined;let a=0;for(let d=0;d<t;++d){const t=e[d];switch(t){case`"`:if(i!=="\\"){o=!o}break;case",":if(!o){n.push(e.slice(a,d));a=d+1}break}i=t}n.push(e.slice(a));return n.map((e=>{e=e.trim();const t=e.length;if(t<2){return e}if(e[0]===`"`&&e[t-1]===`"`){e=e.slice(1,t-1)}return e.replace(/\\"/g,'"')}))};const he=/^-?\d*(\.\d+)?$/;class NumericValue{string;type;constructor(e,t){this.string=e;this.type=t;if(!he.test(e)){throw new 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){if(!e||typeof e!=="object"){return false}const t=e;return NumericValue.prototype.isPrototypeOf(e)||t.type==="bigDecimal"&&he.test(t.string)}}function nv(e){return new NumericValue(String(e),"bigDecimal")}const pe={};const fe={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();if(t.length===1){t=`0${t}`}pe[e]=t;fe[t]=e}function fromHex(e){if(e.length%2!==0){throw new Error("Hex encoded strings must have an even number length")}const t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2){const o=e.slice(n,n+2).toLowerCase();if(o in fe){t[n/2]=fe[o]}else{throw new Error(`Cannot decode unrecognized sequence ${o} as hexadecimal`)}}return t}function toHex(e){let t="";for(let n=0;n<e.byteLength;n++){t+=pe[e[n]]}return t}const calculateBodyLength=e=>{if(!e){return 0}if(typeof e==="string"){return Buffer.byteLength(e)}else if(typeof e.byteLength==="number"){return e.byteLength}else if(typeof e.size==="number"){return e.size}else if(typeof e.start==="number"&&typeof e.end==="number"){return e.end+1-e.start}else if(e instanceof i.ReadStream){if(e.path!=null){return i.lstatSync(e.path).size}else if(typeof e.fd==="number"){return i.fstatSync(e.fd).size}}throw new Error(`Body Length computation failed for ${e}`)};const toUint8Array=e=>{if(typeof e==="string"){return fromUtf8$1(e)}if(ArrayBuffer.isView(e)){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT)}return new Uint8Array(e)};const deserializerMiddleware=(e,t)=>(n,o)=>async i=>{const{response:d}=await n(i);try{const n=await t(d,e);return{response:d,output:n}}catch(e){Object.defineProperty(e,"$response",{value:d,enumerable:false,writable:false,configurable:false});if(!("$metadata"in e)){const t=`Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;try{e.message+="\n "+t}catch(e){if(!o.logger||o.logger?.constructor?.name==="NoOpLogger"){console.warn(t)}else{o.logger?.warn?.(t)}}if(typeof e.$responseBodyText!=="undefined"){if(e.$response){e.$response.body=e.$responseBodyText}}try{if(a.HttpResponse.isInstance(d)){const{headers:t={}}=d;const n=Object.entries(t);e.$metadata={httpStatusCode:d.statusCode,requestId:findHeader(/^x-[\w-]+-request-?id$/,n),extendedRequestId:findHeader(/^x-[\w-]+-id-2$/,n),cfId:findHeader(/^x-[\w-]+-cf-id$/,n)}}}catch(e){}}throw e}};const findHeader=(e,t)=>(t.find((([t])=>t.match(e)))||[void 0,void 0])[1];const serializerMiddleware=(e,t)=>(n,o)=>async i=>{const a=e;const h=o.endpointV2?async()=>d.toEndpointV1(o.endpointV2):a.endpoint;if(!h){throw new Error("No valid endpoint provider available.")}const m=await t(i.input,{...e,endpoint:h});return n({...i,request:m})};const Ee={name:"deserializerMiddleware",step:"deserialize",tags:["DESERIALIZER"],override:true};const Ce={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:true};function getSerdePlugin(e,t,n){return{applyToStack:o=>{o.add(deserializerMiddleware(e,n),Ee);o.add(serializerMiddleware(e,t),Ce)}}}class Hash{algorithmIdentifier;secret;hash;constructor(e,t){this.algorithmIdentifier=e;this.secret=t;this.reset()}update(e,t){this.hash.update(toUint8Array(castSourceData(e,t)))}digest(){return Promise.resolve(this.hash.digest())}reset(){this.hash=this.secret?o.createHmac(this.algorithmIdentifier,castSourceData(this.secret)):o.createHash(this.algorithmIdentifier)}}function castSourceData(e,t){if(Buffer.isBuffer(e)){return e}if(typeof e==="string"){return fromString(e,t)}if(ArrayBuffer.isView(e)){return fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength)}return fromArrayBuffer(e)}let me=class ChecksumStream extends h.Duplex{expectedChecksum;checksumSourceLocation;checksum;source;base64Encoder;pendingCallback=null;constructor({expectedChecksum:e,checksum:t,source:n,checksumSourceLocation:o,base64Encoder:i}){super();if(typeof n.pipe==="function"){this.source=n}else{throw new Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`)}this.base64Encoder=i??toBase64$1;this.expectedChecksum=e;this.checksum=t;this.checksumSourceLocation=o;this.source.pipe(this)}_read(e){if(this.pendingCallback){const e=this.pendingCallback;this.pendingCallback=null;e()}}_write(e,t,n){try{this.checksum.update(e);const t=this.push(e);if(!t){this.pendingCallback=n;return}}catch(e){return n(e)}return n()}async _final(e){try{const t=await this.checksum.digest();const n=this.base64Encoder(t);if(this.expectedChecksum!==n){return e(new Error(`Checksum mismatch: expected "${this.expectedChecksum}" but received "${n}"`+` in response header "${this.checksumSourceLocation}".`))}}catch(t){return e(t)}this.push(null);return e()}};const isReadableStream=e=>typeof ReadableStream==="function"&&(e?.constructor?.name===ReadableStream.name||e instanceof ReadableStream);const isBlob=e=>typeof Blob==="function"&&(e?.constructor?.name===Blob.name||e instanceof Blob);const fromUtf8=e=>(new TextEncoder).encode(e);const Ie=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;const Be=Object.entries(Ie).reduce(((e,[t,n])=>{e[n]=Number(t);return e}),{});const Qe=Ie.split("");const ye=6;const we=8;const be=63;function toBase64(e){let t;if(typeof e==="string"){t=fromUtf8(e)}else{t=e}const n=typeof t==="object"&&typeof t.length==="number";const o=typeof t==="object"&&typeof t.byteOffset==="number"&&typeof t.byteLength==="number";if(!n&&!o){throw new Error("@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.")}let i="";for(let e=0;e<t.length;e+=3){let n=0;let o=0;for(let i=e,a=Math.min(e+3,t.length);i<a;i++){n|=t[i]<<(a-i-1)*we;o+=we}const a=Math.ceil(o/ye);n<<=a*ye-o;for(let e=1;e<=a;e++){const t=(a-e)*ye;i+=Qe[(n&be<<t)>>t]}i+="==".slice(0,4-a)}return i}const Se=typeof ReadableStream==="function"?ReadableStream:function(){};class ChecksumStream extends Se{}const createChecksumStream$1=({expectedChecksum:e,checksum:t,source:n,checksumSourceLocation:o,base64Encoder:i})=>{if(!isReadableStream(n)){throw new Error(`@smithy/util-stream: unsupported source type ${n?.constructor?.name??n} in ChecksumStream.`)}const a=i??toBase64;if(typeof TransformStream!=="function"){throw new Error("@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.")}const d=new TransformStream({start(){},async transform(e,n){t.update(e);n.enqueue(e)},async flush(n){const i=await t.digest();const d=a(i);if(e!==d){const t=new Error(`Checksum mismatch: expected "${e}" but received "${d}"`+` in response header "${o}".`);n.error(t)}else{n.terminate()}}});n.pipeThrough(d);const h=d.readable;Object.setPrototypeOf(h,ChecksumStream.prototype);return h};function createChecksumStream(e){if(typeof ReadableStream==="function"&&isReadableStream(e.source)){return createChecksumStream$1(e)}return new me(e)}class ByteArrayCollector{allocByteArray;byteLength=0;byteArrays=[];constructor(e){this.allocByteArray=e}push(e){this.byteArrays.push(e);this.byteLength+=e.byteLength}flush(){if(this.byteArrays.length===1){const e=this.byteArrays[0];this.reset();return e}const e=this.allocByteArray(this.byteLength);let t=0;for(let n=0;n<this.byteArrays.length;++n){const o=this.byteArrays[n];e.set(o,t);t+=o.byteLength}this.reset();return e}reset(){this.byteArrays=[];this.byteLength=0}}function createBufferedReadableStream(e,t,n){const o=e.getReader();let i=false;let a=0;const d=["",new ByteArrayCollector((e=>new Uint8Array(e)))];let h=-1;const pull=async e=>{const{value:m,done:Q}=await o.read();const k=m;if(Q){if(h!==-1){const t=flush(d,h);if(sizeOf(t)>0){e.enqueue(t)}}e.close()}else{const o=modeOf(k,false);if(h!==o){if(h>=0){e.enqueue(flush(d,h))}h=o}if(h===-1){e.enqueue(k);return}const m=sizeOf(k);a+=m;const Q=sizeOf(d[h]);if(m>=t&&Q===0){e.enqueue(k)}else{const o=merge(d,h,k);if(!i&&a>t*2){i=true;n?.warn(`@smithy/util-stream - stream chunk size ${m} is below threshold of ${t}, automatically buffering.`)}if(o>=t){e.enqueue(flush(d,h))}else{await pull(e)}}}};return new ReadableStream({pull:pull})}function merge(e,t,n){switch(t){case 0:e[0]+=n;return sizeOf(e[0]);case 1:case 2:e[t].push(n);return sizeOf(e[t])}}function flush(e,t){switch(t){case 0:const n=e[0];e[0]="";return n;case 1:case 2:return e[t].flush()}throw new Error(`@smithy/util-stream - invalid index ${t} given to flush()`)}function sizeOf(e){return e?.byteLength??e?.length??0}function modeOf(e,t=true){if(t&&typeof Buffer!=="undefined"&&e instanceof Buffer){return 2}if(e instanceof Uint8Array){return 1}if(typeof e==="string"){return 0}return-1}function createBufferedReadable(e,t,n){if(isReadableStream(e)){return createBufferedReadableStream(e,t,n)}const o=new h.Readable({read(){}});let i=false;let a=0;const d=["",new ByteArrayCollector((e=>new Uint8Array(e))),new ByteArrayCollector((e=>Buffer.from(new Uint8Array(e))))];let m=-1;e.on("data",(e=>{const h=modeOf(e,true);if(m!==h){if(m>=0){o.push(flush(d,m))}m=h}if(m===-1){o.push(e);return}const Q=sizeOf(e);a+=Q;const k=sizeOf(d[m]);if(Q>=t&&k===0){o.push(e)}else{const h=merge(d,m,e);if(!i&&a>t*2){i=true;n?.warn(`@smithy/util-stream - stream chunk size ${Q} is below threshold of ${t}, automatically buffering.`)}if(h>=t){o.push(flush(d,m))}}}));e.on("end",(()=>{if(m!==-1){const e=flush(d,m);if(sizeOf(e)>0){o.push(e)}}o.push(null)}));return o}const getAwsChunkedEncodingStream$1=(e,t)=>{const{base64Encoder:n,bodyLengthChecker:o,checksumAlgorithmFn:i,checksumLocationName:a,streamHasher:d}=t;const h=n!==undefined&&o!==undefined&&i!==undefined&&a!==undefined&&d!==undefined;const m=h?d(i,e):undefined;const Q=e.getReader();return new ReadableStream({async pull(e){const{value:t,done:i}=await Q.read();if(i){e.enqueue(`0\r\n`);if(h){const t=n(await m);e.enqueue(`${a}:${t}\r\n`);e.enqueue(`\r\n`)}e.close()}else{e.enqueue(`${(o(t)||0).toString(16)}\r\n${t}\r\n`)}}})};function getAwsChunkedEncodingStream(e,t){const n=e;const o=e;if(isReadableStream(o)){return getAwsChunkedEncodingStream$1(o,t)}const{base64Encoder:i,bodyLengthChecker:a,checksumAlgorithmFn:d,checksumLocationName:m,streamHasher:Q}=t;const k=i!==undefined&&d!==undefined&&m!==undefined&&Q!==undefined;const _=k?Q(d,n):undefined;const L=new h.Readable({read:()=>{}});n.on("data",(e=>{const t=a(e)||0;if(t===0){return}L.push(`${t.toString(16)}\r\n`);L.push(e);L.push("\r\n")}));n.on("end",(async()=>{L.push(`0\r\n`);if(k){const e=i(await _);L.push(`${m}:${e}\r\n`);L.push(`\r\n`)}L.push(null)}));return L}async function headStream$1(e,t){let n=0;const o=[];const i=e.getReader();let a=false;while(!a){const{done:e,value:d}=await i.read();if(d){o.push(d);n+=d?.byteLength??0}if(n>=t){break}a=e}i.releaseLock();const d=new Uint8Array(Math.min(t,n));let h=0;for(const e of o){if(e.byteLength>d.byteLength-h){d.set(e.subarray(0,d.byteLength-h),h);break}else{d.set(e,h)}h+=e.length}return d}const headStream=(e,t)=>{if(isReadableStream(e)){return headStream$1(e,t)}return new Promise(((n,o)=>{const i=new Re;i.limit=t;e.pipe(i);e.on("error",(e=>{i.end();o(e)}));i.on("error",o);i.on("finish",(function(){const e=new Uint8Array(Buffer.concat(this.buffers));n(e)}))}))};let Re=class Collector extends h.Writable{buffers=[];limit=Infinity;bytesBuffered=0;_write(e,t,n){this.buffers.push(e);this.bytesBuffered+=e.byteLength??0;if(this.bytesBuffered>=this.limit){const e=this.bytesBuffered-this.limit;const t=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=t.subarray(0,t.byteLength-e);this.emit("finish")}n()}};const toUtf8=e=>{if(typeof e==="string"){return e}if(typeof e!=="object"||typeof e.byteOffset!=="number"||typeof e.byteLength!=="number"){throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.")}return new TextDecoder("utf-8").decode(e)};const fromBase64=e=>{let t=e.length/4*3;if(e.slice(-2)==="=="){t-=2}else if(e.slice(-1)==="="){t--}const n=new ArrayBuffer(t);const o=new DataView(n);for(let t=0;t<e.length;t+=4){let n=0;let i=0;for(let o=t,a=t+3;o<=a;o++){if(e[o]!=="="){if(!(e[o]in Be)){throw new TypeError(`Invalid character ${e[o]} in base64 string.`)}n|=Be[e[o]]<<(a-o)*ye;i+=ye}else{n>>=ye}}const a=t/4*3;n>>=i%we;const d=Math.floor(i/we);for(let e=0;e<d;e++){const t=(d-e-1)*we;o.setUint8(a+e,(n&255<<t)>>t)}}return new Uint8Array(n)};const streamCollector$1=async e=>{if(typeof Blob==="function"&&e instanceof Blob||e.constructor?.name==="Blob"){if(Blob.prototype.arrayBuffer!==undefined){return new Uint8Array(await e.arrayBuffer())}return collectBlob(e)}return collectStream(e)};async function collectBlob(e){const t=await readToBase64(e);const n=fromBase64(t);return new Uint8Array(n)}async function collectStream(e){const t=[];const n=e.getReader();let o=false;let i=0;while(!o){const{done:e,value:a}=await n.read();if(a){t.push(a);i+=a.length}o=e}const a=new Uint8Array(i);let d=0;for(const e of t){a.set(e,d);d+=e.length}return a}function readToBase64(e){return new Promise(((t,n)=>{const o=new FileReader;o.onloadend=()=>{if(o.readyState!==2){return n(new Error("Reader aborted too early"))}const e=o.result??"";const i=e.indexOf(",");const a=i>-1?i+1:e.length;t(e.substring(a))};o.onabort=()=>n(new Error("Read aborted"));o.onerror=()=>n(o.error);o.readAsDataURL(e)}))}const De="The stream has already been transformed.";const sdkStreamMixin$1=e=>{if(!isBlobInstance(e)&&!isReadableStream(e)){const t=e?.__proto__?.constructor?.name||e;throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${t}`)}let t=false;const transformToByteArray=async()=>{if(t){throw new Error(De)}t=true;return await streamCollector$1(e)};const blobToWebStream=e=>{if(typeof e.stream!=="function"){throw new Error("Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\n"+"If 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()};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{const t=await transformToByteArray();if(e==="base64"){return toBase64(t)}else if(e==="hex"){return toHex(t)}else if(e===undefined||e==="utf8"||e==="utf-8"){return toUtf8(t)}else if(typeof TextDecoder==="function"){return new TextDecoder(e).decode(t)}else{throw new Error("TextDecoder is not available, please make sure polyfill is provided.")}},transformToWebStream:()=>{if(t){throw new Error(De)}t=true;if(isBlobInstance(e)){return blobToWebStream(e)}else if(isReadableStream(e)){return e}else{throw new Error(`Cannot transform payload to web stream, got ${e}`)}}})};const isBlobInstance=e=>typeof Blob==="function"&&e instanceof Blob;class Collector extends h.Writable{bufferedBytes=[];_write(e,t,n){this.bufferedBytes.push(e);n()}}const isReadableStreamInstance=e=>typeof ReadableStream==="function"&&e instanceof ReadableStream;async function collectReadableStream(e){const t=[];const n=e.getReader();let o=false;let i=0;while(!o){const{done:e,value:a}=await n.read();if(a){t.push(a);i+=a.length}o=e}const a=new Uint8Array(i);let d=0;for(const e of t){a.set(e,d);d+=e.length}return a}const streamCollector=e=>{if(isReadableStreamInstance(e)){return collectReadableStream(e)}return new Promise(((t,n)=>{const o=new Collector;e.pipe(o);e.on("error",(e=>{o.end();n(e)}));o.on("error",n);o.on("finish",(function(){const e=new Uint8Array(Buffer.concat(this.bufferedBytes));t(e)}))}))};const Te="The stream has already been transformed.";const sdkStreamMixin=e=>{if(!(e instanceof h.Readable)){try{return sdkStreamMixin$1(e)}catch(t){const n=e?.__proto__?.constructor?.name||e;throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${n}`)}}let t=false;const transformToByteArray=async()=>{if(t){throw new Error(Te)}t=true;return await streamCollector(e)};return Object.assign(e,{transformToByteArray:transformToByteArray,transformToString:async e=>{const t=await transformToByteArray();if(e===undefined||Buffer.isEncoding(e)){return fromArrayBuffer(t.buffer,t.byteOffset,t.byteLength).toString(e)}else{const n=new TextDecoder(e);return n.decode(t)}},transformToWebStream:()=>{if(t){throw new Error(Te)}if(e.readableFlowing!==null){throw new Error("The stream has been consumed by other callbacks.")}if(typeof h.Readable.toWeb!=="function"){throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.")}t=true;return h.Readable.toWeb(e)}})};async function splitStream$1(e){if(typeof e.stream==="function"){e=e.stream()}const t=e;return t.tee()}async function splitStream(e){if(isReadableStream(e)||isBlob(e)){return splitStream$1(e)}const t=new h.PassThrough;const n=new h.PassThrough;e.pipe(t);e.pipe(n);return[t,n]}class Uint8ArrayBlobAdapter extends(bindUint8ArrayBlobAdapter(toUtf8$1,fromUtf8$1,toBase64$1,fromBase64$1)){}const ke=o.getRandomValues;const ve=bindV4(ke);const Ne=ve;t.ChecksumStream=me;t.Hash=Hash;t.LazyJsonString=se;t.NumericValue=NumericValue;t.Uint8ArrayBlobAdapter=Uint8ArrayBlobAdapter;t._parseEpochTimestamp=_parseEpochTimestamp;t._parseRfc3339DateTimeWithOffset=_parseRfc3339DateTimeWithOffset;t._parseRfc7231DateTime=_parseRfc7231DateTime;t.calculateBodyLength=calculateBodyLength;t.copyDocumentWithTransform=copyDocumentWithTransform;t.createBufferedReadable=createBufferedReadable;t.createChecksumStream=createChecksumStream;t.dateToUtcString=dateToUtcString;t.deserializerMiddleware=deserializerMiddleware;t.deserializerMiddlewareOption=Ee;t.expectBoolean=expectBoolean;t.expectByte=expectByte;t.expectFloat32=expectFloat32;t.expectInt=_;t.expectInt32=expectInt32;t.expectLong=expectLong;t.expectNonNull=expectNonNull;t.expectNumber=expectNumber;t.expectObject=expectObject;t.expectShort=expectShort;t.expectString=expectString;t.expectUnion=expectUnion;t.fromArrayBuffer=fromArrayBuffer;t.fromBase64=fromBase64$1;t.fromHex=fromHex;t.fromString=fromString;t.fromUtf8=fromUtf8$1;t.generateIdempotencyToken=Ne;t.getAwsChunkedEncodingStream=getAwsChunkedEncodingStream;t.getSerdePlugin=getSerdePlugin;t.handleFloat=P;t.headStream=headStream;t.isArrayBuffer=isArrayBuffer;t.isBlob=isBlob;t.isReadableStream=isReadableStream;t.limitedParseDouble=limitedParseDouble;t.limitedParseFloat=H;t.limitedParseFloat32=limitedParseFloat32;t.logger=V;t.nv=nv;t.parseBoolean=parseBoolean;t.parseEpochTimestamp=parseEpochTimestamp;t.parseRfc3339DateTime=parseRfc3339DateTime;t.parseRfc3339DateTimeWithOffset=parseRfc3339DateTimeWithOffset;t.parseRfc7231DateTime=parseRfc7231DateTime;t.quoteHeader=quoteHeader;t.sdkStreamMixin=sdkStreamMixin;t.serializerMiddleware=serializerMiddleware;t.serializerMiddlewareOption=Ce;t.splitEvery=splitEvery;t.splitHeader=splitHeader;t.splitStream=splitStream;t.strictParseByte=strictParseByte;t.strictParseDouble=strictParseDouble;t.strictParseFloat=L;t.strictParseFloat32=strictParseFloat32;t.strictParseInt=Y;t.strictParseInt32=strictParseInt32;t.strictParseLong=strictParseLong;t.strictParseShort=strictParseShort;t.toBase64=toBase64$1;t.toHex=toHex;t.toUint8Array=toUint8Array;t.toUtf8=toUtf8$1;t.v4=ve},1279:(e,t,n)=>{"use strict";var o=n(4708);var i=n(3422);var a=n(7075);var d=n(2467);function buildAbortError(e){const t=e&&typeof e==="object"&&"reason"in e?e.reason:undefined;if(t){if(t instanceof Error){const e=new Error("Request aborted");e.name="AbortError";e.cause=t;return e}const e=new Error(String(t));e.name="AbortError";return e}const n=new Error("Request aborted");n.name="AbortError";return n}const h=["ECONNRESET","EPIPE","ETIMEDOUT"];const getTransformedHeaders=e=>{const t={};for(const n in e){const o=e[n];t[n]=Array.isArray(o)?o.join(","):o}return t};const m={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e)};const Q=1e3;const setConnectionTimeout=(e,t,n=0)=>{if(!n){return-1}const registerTimeout=o=>{const i=m.setTimeout((()=>{e.destroy();t(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${n} ms.`),{name:"TimeoutError"}))}),n-o);const doWithSocket=e=>{if(e?.connecting){e.on("connect",(()=>{m.clearTimeout(i)}))}else{m.clearTimeout(i)}};if(e.socket){doWithSocket(e.socket)}else{e.on("socket",doWithSocket)}};if(n<2e3){registerTimeout(0);return 0}return m.setTimeout(registerTimeout.bind(null,Q),Q)};const setRequestTimeout=(e,t,n=0,o,i)=>{if(n){return m.setTimeout((()=>{let a=`@smithy/node-http-handler - [${o?"ERROR":"WARN"}] a request has exceeded the configured ${n} ms requestTimeout.`;if(o){const n=Object.assign(new Error(a),{name:"TimeoutError",code:"ETIMEDOUT"});e.destroy(n);t(n)}else{a+=` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;i?.warn?.(a)}}),n)}return-1};const k=3e3;const setSocketKeepAlive=(e,{keepAlive:t,keepAliveMsecs:n},o=k)=>{if(t!==true){return-1}const registerListener=()=>{if(e.socket){e.socket.setKeepAlive(t,n||0)}else{e.on("socket",(e=>{e.setKeepAlive(t,n||0)}))}};if(o===0){registerListener();return 0}return m.setTimeout(registerListener,o)};const _=3e3;const setSocketTimeout=(e,t,n=0)=>{const registerTimeout=o=>{const i=n-o;const onTimeout=()=>{e.destroy();t(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${n} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};if(e.socket){e.socket.setTimeout(i,onTimeout);e.on("close",(()=>e.socket?.removeListener("timeout",onTimeout)))}else{e.setTimeout(i,onTimeout)}};if(0<n&&n<6e3){registerTimeout(0);return 0}return m.setTimeout(registerTimeout.bind(null,n===0?0:_),_)};const L=6e3;async function writeRequestBody(e,t,n=L,o=false){const i=t.headers;const a=i?i.Expect||i.expect:undefined;let d=-1;let h=true;if(!o&&a==="100-continue"){h=await Promise.race([new Promise((e=>{d=Number(m.setTimeout((()=>e(true)),Math.max(L,n)))})),new Promise((t=>{e.on("continue",(()=>{m.clearTimeout(d);t(true)}));e.on("response",(()=>{m.clearTimeout(d);t(false)}));e.on("error",(()=>{m.clearTimeout(d);t(false)}))}))])}if(h){writeBody(e,t.body)}}function writeBody(e,t){if(t instanceof a.Readable){t.pipe(e);return}if(t){const n=Buffer.isBuffer(t);const o=typeof t==="string";if(n||o){if(n&&t.byteLength===0){e.end()}else{e.end(t)}return}const i=t;if(typeof i==="object"&&i.buffer&&typeof i.byteOffset==="number"&&typeof i.byteLength==="number"){e.end(Buffer.from(i.buffer,i.byteOffset,i.byteLength));return}e.end(Buffer.from(t));return}e.end()}const U=0;let P=undefined;let H=undefined;class NodeHttpHandler{config;configProvider;socketWarningTimestamp=0;externalAgent=false;metadata={handlerProtocol:"http/1.1"};static create(e){if(typeof e?.handle==="function"){return e}return new NodeHttpHandler(e)}static checkSocketUsage(e,t,n=console){const{sockets:o,requests:i,maxSockets:a}=e;if(typeof a!=="number"||a===Infinity){return t}const d=15e3;if(Date.now()-d<t){return t}if(o&&i){for(const e in o){const t=o[e]?.length??0;const d=i[e]?.length??0;if(t>=a&&d>=2*a){n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${t} and ${d} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);return Date.now()}}}return t}constructor(e){this.configProvider=new Promise(((t,n)=>{if(typeof e==="function"){e().then((e=>{t(this.resolveDefaultConfig(e))})).catch(n)}else{t(this.resolveDefaultConfig(e))}}))}destroy(){this.config?.httpAgent?.destroy();this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:t,requestTimeout:n}={}){if(!this.config){this.config=await this.configProvider}const a=this.config;const d=e.protocol==="https:";if(!d&&!this.config.httpAgent){this.config.httpAgent=await this.config.httpAgentProvider()}return new Promise(((Q,k)=>{let _=undefined;let L=-1;let U=-1;let Y=-1;let V=-1;let J=-1;const clearTimeouts=()=>{m.clearTimeout(L);m.clearTimeout(U);m.clearTimeout(Y);m.clearTimeout(V);m.clearTimeout(J)};const resolve=async e=>{await _;clearTimeouts();Q(e)};const reject=async e=>{await _;clearTimeouts();k(e)};if(t?.aborted){const e=buildAbortError(t);reject(e);return}const W=e.headers;const j=W?(W.Expect??W.expect)==="100-continue":false;let K=d?a.httpsAgent:a.httpAgent;if(j&&!this.externalAgent){K=new(d?o.Agent:P)({keepAlive:false,maxSockets:Infinity})}L=m.setTimeout((()=>{this.socketWarningTimestamp=NodeHttpHandler.checkSocketUsage(K,this.socketWarningTimestamp,a.logger)}),a.socketAcquisitionWarningTimeout??(a.requestTimeout??2e3)+(a.connectionTimeout??1e3));const X=e.query?i.buildQueryString(e.query):"";let Z=undefined;if(e.username!=null||e.password!=null){const t=e.username??"";const n=e.password??"";Z=`${t}:${n}`}let ee=e.path;if(X){ee+=`?${X}`}if(e.fragment){ee+=`#${e.fragment}`}let te=e.hostname??"";if(te[0]==="["&&te.endsWith("]")){te=e.hostname.slice(1,-1)}else{te=e.hostname}const re={headers:e.headers,host:te,method:e.method,path:ee,port:e.port,agent:K,auth:Z};const se=d?o.request:H;const ne=se(re,(e=>{const t=new i.HttpResponse({statusCode:e.statusCode||-1,reason:e.statusMessage,headers:getTransformedHeaders(e.headers),body:e});resolve({response:t})}));ne.on("error",(e=>{if(h.includes(e.code)){reject(Object.assign(e,{name:"TimeoutError"}))}else{reject(e)}}));if(t){const onAbort=()=>{ne.destroy();const e=buildAbortError(t);reject(e)};if(typeof t.addEventListener==="function"){const e=t;e.addEventListener("abort",onAbort,{once:true});ne.once("close",(()=>e.removeEventListener("abort",onAbort)))}else{t.onabort=onAbort}}const oe=n??a.requestTimeout;U=setConnectionTimeout(ne,reject,a.connectionTimeout);Y=setRequestTimeout(ne,reject,oe,a.throwOnRequestTimeout,a.logger??console);V=setSocketTimeout(ne,reject,a.socketTimeout);const ie=re.agent;if(typeof ie==="object"&&"keepAlive"in ie){J=setSocketKeepAlive(ne,{keepAlive:ie.keepAlive,keepAliveMsecs:ie.keepAliveMsecs})}_=writeRequestBody(ne,e,oe,this.externalAgent).catch((e=>{clearTimeouts();return k(e)}))}))}updateHttpClientConfig(e,t){this.config=undefined;this.configProvider=this.configProvider.then((n=>({...n,[e]:t})))}httpHandlerConfigs(){return this.config??{}}resolveDefaultConfig(e){const{requestTimeout:t,connectionTimeout:i,socketTimeout:a,socketAcquisitionWarningTimeout:d,httpAgent:h,httpsAgent:m,throwOnRequestTimeout:Q,logger:k}=e||{};const _=true;const L=50;return{connectionTimeout:i,requestTimeout:t,socketTimeout:a,socketAcquisitionWarningTimeout:d,throwOnRequestTimeout:Q,httpAgentProvider:async()=>{const{Agent:e,request:t}=await Promise.resolve().then(n.t.bind(n,7067,23));H=t;P=e;if(h instanceof P||typeof h?.destroy==="function"){this.externalAgent=true;return h}return new P({keepAlive:_,maxSockets:L,...h})},httpsAgent:(()=>{if(m instanceof o.Agent||typeof m?.destroy==="function"){this.externalAgent=true;return m}return new o.Agent({keepAlive:_,maxSockets:L,...m})})(),logger:k}}}const Y=new Uint16Array(1);class ClientHttp2SessionRef{id=Y[0]++;total=0;max=0;session;refs=0;constructor(e){e.unref();this.session=e}retain(){if(this.session.destroyed){throw new Error("@smithy/node-http-handler - cannot acquire reference to destroyed session.")}this.refs+=1;this.total+=1;this.max=Math.max(this.refs,this.max);this.session.ref()}free(){if(this.session.destroyed){return}this.refs-=1;if(this.refs===0){this.session.unref()}if(this.refs<0){throw new Error("@smithy/node-http-handler - ClientHttp2Session refcount at zero, cannot decrement.")}}deref(){return this.session}close(){if(!this.session.closed){this.session.close()}}destroy(){this.refs=0;if(!this.session.destroyed){this.session.destroy()}}useCount(){return this.refs}}class NodeHttp2ConnectionPool{sessions=[];maxConcurrency=0;constructor(e){this.sessions=(e??[]).map((e=>new ClientHttp2SessionRef(e)))}poll(){let e=false;for(const t of this.sessions){if(t.deref().destroyed){e=true;continue}if(!this.maxConcurrency||t.useCount()<this.maxConcurrency){return t}}if(e){for(const e of this.sessions){if(e.deref().destroyed){this.remove(e)}}}}offerLast(e){this.sessions.push(e)}remove(e){const t=this.sessions.indexOf(e);if(t>-1){this.sessions.splice(t,1)}}[Symbol.iterator](){return this.sessions[Symbol.iterator]()}setMaxConcurrency(e){this.maxConcurrency=e}destroy(e){this.remove(e);e.destroy()}}class NodeHttp2ConnectionManager{config;connectOptions;connectionPools=new Map;constructor(e){this.config=e;if(this.config.maxConcurrency&&this.config.maxConcurrency<=0){throw new RangeError("maxConcurrency must be greater than zero.")}}lease(e,t){const n=this.getUrlString(e);const o=this.getPool(n);if(!this.config.disableConcurrency&&!t.isEventStream){const e=o.poll();if(e){e.retain();return e}}const i=new ClientHttp2SessionRef(this.connect(n));const a=i.deref();if(this.config.maxConcurrency){a.settings({maxConcurrentStreams:this.config.maxConcurrency},(t=>{if(t){throw new Error("Fail to set maxConcurrentStreams to "+this.config.maxConcurrency+"when creating new session for "+e.destination.toString())}}))}const graceful=()=>{this.removeFromPoolAndClose(n,i)};const ensureDestroyed=()=>{this.removeFromPoolAndCheckedDestroy(n,i)};a.on("goaway",graceful);a.on("error",ensureDestroyed);a.on("frameError",ensureDestroyed);a.on("close",ensureDestroyed);if(t.requestTimeout){a.setTimeout(t.requestTimeout,ensureDestroyed)}o.offerLast(i);i.retain();return i}release(e,t){t.free()}createIsolatedSession(e,t){const n=this.getUrlString(e);const o=new ClientHttp2SessionRef(this.connect(n));const i=o.deref();i.settings({maxConcurrentStreams:1});const ensureDestroyed=()=>{o.destroy()};i.on("error",ensureDestroyed);i.on("frameError",ensureDestroyed);i.on("close",ensureDestroyed);if(t.requestTimeout){i.setTimeout(t.requestTimeout,ensureDestroyed)}o.retain();return o}destroy(){for(const[e,t]of this.connectionPools){for(const e of[...t]){e.destroy()}this.connectionPools.delete(e)}}setMaxConcurrentStreams(e){if(e&&e<=0){throw new RangeError("maxConcurrentStreams must be greater than zero.")}this.config.maxConcurrency=e;for(const t of this.connectionPools.values()){t.setMaxConcurrency(e)}}setDisableConcurrentStreams(e){this.config.disableConcurrency=e}setNodeHttp2ConnectOptions(e){this.connectOptions=e}debug(){const e={};for(const[t,n]of this.connectionPools){const o=[];for(const e of n){o.push({id:e.id,active:e.useCount(),maxConcurrent:e.max,totalRequests:e.total})}e[t]={sessions:o}}return e}removeFromPoolAndClose(e,t){this.connectionPools.get(e)?.remove(t);t.close()}removeFromPoolAndCheckedDestroy(e,t){this.connectionPools.get(e)?.remove(t);t.destroy()}getPool(e){if(!this.connectionPools.has(e)){const t=new NodeHttp2ConnectionPool;if(this.config.maxConcurrency){t.setMaxConcurrency(this.config.maxConcurrency)}this.connectionPools.set(e,t)}return this.connectionPools.get(e)}getUrlString(e){return e.destination.toString()}connect(e){return this.connectOptions===undefined?d.connect(e):d.connect(e,this.connectOptions)}}class NodeHttp2Handler{config;configProvider;metadata={handlerProtocol:"h2"};connectionManager=new NodeHttp2ConnectionManager({});static create(e){if(typeof e?.handle==="function"){return e}return new NodeHttp2Handler(e)}constructor(e){this.configProvider=new Promise(((t,n)=>{if(typeof e==="function"){e().then((e=>{t(e||{})})).catch(n)}else{t(e||{})}}))}destroy(){this.connectionManager.destroy()}async handle(e,{abortSignal:t,requestTimeout:n,isEventStream:o}={}){if(!this.config){this.config=await this.configProvider;const{disableConcurrentStreams:e,maxConcurrentStreams:t,nodeHttp2ConnectOptions:n}=this.config;this.connectionManager.setDisableConcurrentStreams(e??false);if(t){this.connectionManager.setMaxConcurrentStreams(t)}if(n){this.connectionManager.setNodeHttp2ConnectOptions(n)}}const{requestTimeout:a,disableConcurrentStreams:h}=this.config;const m=h||o;const Q=n??a;return new Promise(((n,a)=>{let h=false;let k=undefined;const resolve=async e=>{await k;n(e)};const reject=async e=>{await k;a(e)};if(t?.aborted){h=true;const e=buildAbortError(t);reject(e);return}const{hostname:_,method:L,port:U,protocol:P,query:H}=e;let Y="";if(e.username!=null||e.password!=null){const t=e.username??"";const n=e.password??"";Y=`${t}:${n}@`}const V=`${P}//${Y}${_}${U?`:${U}`:""}`;const J={destination:new URL(V)};const W={requestTimeout:this.config?.sessionTimeout,isEventStream:o};const j=m?this.connectionManager.createIsolatedSession(J,W):this.connectionManager.lease(J,W);const K=j.deref();const rejectWithDestroy=e=>{if(m){j.destroy()}h=true;reject(e)};const X=H?i.buildQueryString(H):"";let Z=e.path;if(X){Z+=`?${X}`}if(e.fragment){Z+=`#${e.fragment}`}const ee=K.request({...e.headers,[d.constants.HTTP2_HEADER_PATH]:Z,[d.constants.HTTP2_HEADER_METHOD]:L});if(Q){ee.setTimeout(Q,(()=>{ee.close();const e=new Error(`Stream timed out because of no activity for ${Q} ms`);e.name="TimeoutError";rejectWithDestroy(e)}))}if(t){const onAbort=()=>{ee.close();const e=buildAbortError(t);rejectWithDestroy(e)};if(typeof t.addEventListener==="function"){const e=t;e.addEventListener("abort",onAbort,{once:true});ee.once("close",(()=>e.removeEventListener("abort",onAbort)))}else{t.onabort=onAbort}}ee.on("frameError",((e,t,n)=>{rejectWithDestroy(new Error(`Frame type id ${e} in stream id ${n} has failed with code ${t}.`))}));ee.on("error",rejectWithDestroy);ee.on("aborted",(()=>{rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${ee.rstCode}.`))}));ee.on("response",(e=>{const t=new i.HttpResponse({statusCode:e[":status"]??-1,headers:getTransformedHeaders(e),body:ee});h=true;resolve({response:t});if(m){K.close()}}));ee.on("close",(()=>{if(m){j.destroy()}else{this.connectionManager.release(J,j)}if(!h){rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"))}}));k=writeRequestBody(ee,e,Q)}))}updateHttpClientConfig(e,t){this.config=undefined;this.configProvider=this.configProvider.then((n=>({...n,[e]:t})))}httpHandlerConfigs(){return this.config??{}}}class Collector extends a.Writable{bufferedBytes=[];_write(e,t,n){this.bufferedBytes.push(e);n()}}const streamCollector=e=>{if(isReadableStreamInstance(e)){return collectReadableStream(e)}return new Promise(((t,n)=>{const o=new Collector;e.pipe(o);e.on("error",(e=>{o.end();n(e)}));o.on("error",n);o.on("finish",(function(){const e=new Uint8Array(Buffer.concat(this.bufferedBytes));t(e)}))}))};const isReadableStreamInstance=e=>typeof ReadableStream==="function"&&e instanceof ReadableStream;async function collectReadableStream(e){const t=[];const n=e.getReader();let o=false;let i=0;while(!o){const{done:e,value:a}=await n.read();if(a){t.push(a);i+=a.length}o=e}const a=new Uint8Array(i);let d=0;for(const e of t){a.set(e,d);d+=e.length}return a}t.DEFAULT_REQUEST_TIMEOUT=U;t.NodeHttp2Handler=NodeHttp2Handler;t.NodeHttpHandler=NodeHttpHandler;t.streamCollector=streamCollector},5118:(e,t,n)=>{"use strict";var o=n(2430);var i=n(2658);var a=n(3422);class HeaderFormatter{format(e){const t=[];for(const n of Object.keys(e)){const i=o.fromUtf8(n);t.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[n]))}const n=new Uint8Array(t.reduce(((e,t)=>e+t.byteLength),0));let i=0;for(const e of t){n.set(e,i);i+=e.byteLength}return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":const t=new DataView(new ArrayBuffer(3));t.setUint8(0,3);t.setInt16(1,e.value,false);return new Uint8Array(t.buffer);case"integer":const n=new DataView(new ArrayBuffer(5));n.setUint8(0,4);n.setInt32(1,e.value,false);return new Uint8Array(n.buffer);case"long":const i=new Uint8Array(9);i[0]=5;i.set(e.value.bytes,1);return i;case"binary":const a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,6);a.setUint16(1,e.value.byteLength,false);const d=new Uint8Array(a.buffer);d.set(e.value,3);return d;case"string":const m=o.fromUtf8(e.value);const Q=new DataView(new ArrayBuffer(3+m.byteLength));Q.setUint8(0,7);Q.setUint16(1,m.byteLength,false);const k=new Uint8Array(Q.buffer);k.set(m,3);return k;case"timestamp":const _=new Uint8Array(9);_[0]=8;_.set(Int64.fromNumber(e.value.valueOf()).bytes,1);return _;case"uuid":if(!h.test(e.value)){throw new Error(`Invalid UUID received: ${e.value}`)}const L=new Uint8Array(17);L[0]=9;L.set(o.fromHex(e.value.replace(/\-/g,"")),1);return L}}}var d;(function(e){e[e["boolTrue"]=0]="boolTrue";e[e["boolFalse"]=1]="boolFalse";e[e["byte"]=2]="byte";e[e["short"]=3]="short";e[e["integer"]=4]="integer";e[e["long"]=5]="long";e[e["byteArray"]=6]="byteArray";e[e["string"]=7]="string";e[e["timestamp"]=8]="timestamp";e[e["uuid"]=9]="uuid"})(d||(d={}));const h=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class Int64{bytes;constructor(e){this.bytes=e;if(e.byteLength!==8){throw new Error("Int64 buffers must be exactly 8 bytes")}}static fromNumber(e){if(e>0x8000000000000000||e<-0x8000000000000000){throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`)}const t=new Uint8Array(8);for(let n=7,o=Math.abs(Math.round(e));n>-1&&o>0;n--,o/=256){t[n]=o}if(e<0){negate(t)}return new Int64(t)}valueOf(){const e=this.bytes.slice(0);const t=e[0]&128;if(t){negate(e)}return parseInt(o.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function negate(e){for(let t=0;t<8;t++){e[t]^=255}for(let t=7;t>-1;t--){e[t]++;if(e[t]!==0)break}}const m="X-Amz-Algorithm";const Q="X-Amz-Credential";const k="X-Amz-Date";const _="X-Amz-SignedHeaders";const L="X-Amz-Expires";const U="X-Amz-Signature";const P="X-Amz-Security-Token";const H="X-Amz-Region-Set";const Y="authorization";const V=k.toLowerCase();const J="date";const W=[Y,V,J];const j=U.toLowerCase();const K="x-amz-content-sha256";const X=P.toLowerCase();const Z="host";const ee={authorization:true,"cache-control":true,connection:true,expect:true,from:true,"keep-alive":true,"max-forwards":true,pragma:true,referer:true,te:true,trailer:true,"transfer-encoding":true,upgrade:true,"user-agent":true,"x-amzn-trace-id":true};const te=/^proxy-/;const re=/^sec-/;const se=[/^proxy-/i,/^sec-/i];const ne="AWS4-HMAC-SHA256";const oe="AWS4-ECDSA-P256-SHA256";const ie="AWS4-HMAC-SHA256-PAYLOAD";const Ae="UNSIGNED-PAYLOAD";const ae=50;const ce="aws4_request";const le=60*60*24*7;const getCanonicalQuery=({query:e={}})=>{const t=[];const n={};for(const o of Object.keys(e)){if(o.toLowerCase()===j){continue}const i=a.escapeUri(o);t.push(i);const d=e[o];if(typeof d==="string"){n[i]=`${i}=${a.escapeUri(d)}`}else if(Array.isArray(d)){n[i]=d.slice(0).reduce(((e,t)=>e.concat([`${i}=${a.escapeUri(t)}`])),[]).sort().join("&")}}return t.sort().map((e=>n[e])).filter((e=>e)).join("&")};const iso8601=e=>toDate(e).toISOString().replace(/\.\d{3}Z$/,"Z");const toDate=e=>{if(typeof e==="number"){return new Date(e*1e3)}if(typeof e==="string"){if(Number(e)){return new Date(Number(e)*1e3)}return new Date(e)}return e};class SignatureV4Base{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:n,service:o,sha256:a,uriEscapePath:d=true}){this.service=o;this.sha256=a;this.uriEscapePath=d;this.applyChecksum=typeof e==="boolean"?e:true;this.regionProvider=i.normalizeProvider(n);this.credentialProvider=i.normalizeProvider(t)}createCanonicalRequest(e,t,n){const o=Object.keys(t).sort();return`${e.method}\n${this.getCanonicalPath(e)}\n${getCanonicalQuery(e)}\n${o.map((e=>`${e}:${t[e]}`)).join("\n")}\n\n${o.join(";")}\n${n}`}async createStringToSign(e,t,n,i){const a=new this.sha256;a.update(o.toUint8Array(n));const d=await a.digest();return`${i}\n${e}\n${t}\n${o.toHex(d)}`}getCanonicalPath({path:e}){if(this.uriEscapePath){const t=[];for(const n of e.split("/")){if(n?.length===0)continue;if(n===".")continue;if(n===".."){t.pop()}else{t.push(n)}}const n=`${e?.startsWith("/")?"/":""}${t.join("/")}${t.length>0&&e?.endsWith("/")?"/":""}`;const o=a.escapeUri(n);return o.replace(/%2F/g,"/")}return e}validateResolvedCredentials(e){if(typeof e!=="object"||typeof e.accessKeyId!=="string"||typeof e.secretAccessKey!=="string"){throw new Error("Resolved credential object is not valid")}}formatDate(e){const t=iso8601(e).replace(/[\-:]/g,"");return{longDate:t,shortDate:t.slice(0,8)}}getCanonicalHeaderList(e){return Object.keys(e).sort().join(";")}}const ue={};const ge=[];const createScope=(e,t,n)=>`${e}/${t}/${n}/${ce}`;const getSigningKey=async(e,t,n,i,a)=>{const d=await hmac(e,t.secretAccessKey,t.accessKeyId);const h=`${n}:${i}:${a}:${o.toHex(d)}:${t.sessionToken}`;if(h in ue){return ue[h]}ge.push(h);while(ge.length>ae){delete ue[ge.shift()]}let m=`AWS4${t.secretAccessKey}`;for(const t of[n,i,a,ce]){m=await hmac(e,m,t)}return ue[h]=m};const clearCredentialCache=()=>{ge.length=0;Object.keys(ue).forEach((e=>{delete ue[e]}))};const hmac=(e,t,n)=>{const i=new e(t);i.update(o.toUint8Array(n));return i.digest()};const getCanonicalHeaders=({headers:e},t,n)=>{const o={};for(const i of Object.keys(e).sort()){if(e[i]==undefined){continue}const a=i.toLowerCase();if(a in ee||t?.has(a)||te.test(a)||re.test(a)){if(!n||n&&!n.has(a)){continue}}o[a]=e[i].trim().replace(/\s+/g," ")}return o};const getPayloadHash=async({headers:e,body:t},n)=>{for(const t of Object.keys(e)){if(t.toLowerCase()===K){return e[t]}}if(t==undefined){return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}else if(typeof t==="string"||ArrayBuffer.isView(t)||o.isArrayBuffer(t)){const e=new n;e.update(o.toUint8Array(t));return o.toHex(await e.digest())}return Ae};const hasHeader=(e,t)=>{e=e.toLowerCase();for(const n of Object.keys(t)){if(e===n.toLowerCase()){return true}}return false};const moveHeadersToQuery=(e,t={})=>{const{headers:n,query:o={}}=a.HttpRequest.clone(e);for(const e of Object.keys(n)){const i=e.toLowerCase();if(i.slice(0,6)==="x-amz-"&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i)){o[e]=n[e];delete n[e]}}return{...e,headers:n,query:o}};const prepareRequest=e=>{e=a.HttpRequest.clone(e);for(const t of Object.keys(e.headers)){if(W.indexOf(t.toLowerCase())>-1){delete e.headers[t]}}return e};class SignatureV4 extends SignatureV4Base{headerFormatter=new HeaderFormatter;constructor({applyChecksum:e,credentials:t,region:n,service:o,sha256:i,uriEscapePath:a=true}){super({applyChecksum:e,credentials:t,region:n,service:o,sha256:i,uriEscapePath:a})}async presign(e,t={}){const{signingDate:n=new Date,expiresIn:o=3600,unsignableHeaders:i,unhoistableHeaders:a,signableHeaders:d,hoistableHeaders:h,signingRegion:H,signingService:Y}=t;const V=await this.credentialProvider();this.validateResolvedCredentials(V);const J=H??await this.regionProvider();const{longDate:W,shortDate:j}=this.formatDate(n);if(o>le){return Promise.reject("Signature version 4 presigned URLs"+" must have an expiration date less than one week in"+" the future")}const K=createScope(j,J,Y??this.service);const X=moveHeadersToQuery(prepareRequest(e),{unhoistableHeaders:a,hoistableHeaders:h});if(V.sessionToken){X.query[P]=V.sessionToken}X.query[m]=ne;X.query[Q]=`${V.accessKeyId}/${K}`;X.query[k]=W;X.query[L]=o.toString(10);const Z=getCanonicalHeaders(X,i,d);X.query[_]=this.getCanonicalHeaderList(Z);X.query[U]=await this.getSignature(W,K,this.getSigningKey(V,J,j,Y),this.createCanonicalRequest(X,Z,await getPayloadHash(e,this.sha256)));return X}async sign(e,t){if(typeof e==="string"){return this.signString(e,t)}else if(e.headers&&e.payload){return this.signEvent(e,t)}else if(e.message){return this.signMessage(e,t)}else{return this.signRequest(e,t)}}async signEvent({headers:e,payload:t},{signingDate:n=new Date,priorSignature:i,signingRegion:a,signingService:d,eventStreamCredentials:h}){const m=a??await this.regionProvider();const{shortDate:Q,longDate:k}=this.formatDate(n);const _=createScope(Q,m,d??this.service);const L=await getPayloadHash({headers:{},body:t},this.sha256);const U=new this.sha256;U.update(e);const P=o.toHex(await U.digest());const H=[ie,k,_,i,P,L].join("\n");return this.signString(H,{signingDate:n,signingRegion:m,signingService:d,eventStreamCredentials:h})}async signMessage(e,{signingDate:t=new Date,signingRegion:n,signingService:o,eventStreamCredentials:i}){const a=this.signEvent({headers:this.headerFormatter.format(e.message.headers),payload:e.message.body},{signingDate:t,signingRegion:n,signingService:o,priorSignature:e.priorSignature,eventStreamCredentials:i});return a.then((t=>({message:e.message,signature:t})))}async signString(e,{signingDate:t=new Date,signingRegion:n,signingService:i,eventStreamCredentials:a}={}){const d=a??await this.credentialProvider();this.validateResolvedCredentials(d);const h=n??await this.regionProvider();const{shortDate:m}=this.formatDate(t);const Q=new this.sha256(await this.getSigningKey(d,h,m,i));Q.update(o.toUint8Array(e));return o.toHex(await Q.digest())}async signRequest(e,{signingDate:t=new Date,signableHeaders:n,unsignableHeaders:o,signingRegion:i,signingService:a}={}){const d=await this.credentialProvider();this.validateResolvedCredentials(d);const h=i??await this.regionProvider();const m=prepareRequest(e);const{longDate:Q,shortDate:k}=this.formatDate(t);const _=createScope(k,h,a??this.service);m.headers[V]=Q;if(d.sessionToken){m.headers[X]=d.sessionToken}const L=await getPayloadHash(m,this.sha256);if(!hasHeader(K,m.headers)&&this.applyChecksum){m.headers[K]=L}const U=getCanonicalHeaders(m,o,n);const P=await this.getSignature(Q,_,this.getSigningKey(d,h,k,a),this.createCanonicalRequest(m,U,L));m.headers[Y]=`${ne} `+`Credential=${d.accessKeyId}/${_}, `+`SignedHeaders=${this.getCanonicalHeaderList(U)}, `+`Signature=${P}`;return m}async getSignature(e,t,n,i){const a=await this.createStringToSign(e,t,i,ne);const d=new this.sha256(await n);d.update(o.toUint8Array(a));return o.toHex(await d.digest())}getSigningKey(e,t,n,o){return getSigningKey(this.sha256,e,n,t,o||this.service)}}const de={SignatureV4a:null};t.ALGORITHM_IDENTIFIER=ne;t.ALGORITHM_IDENTIFIER_V4A=oe;t.ALGORITHM_QUERY_PARAM=m;t.ALWAYS_UNSIGNABLE_HEADERS=ee;t.AMZ_DATE_HEADER=V;t.AMZ_DATE_QUERY_PARAM=k;t.AUTH_HEADER=Y;t.CREDENTIAL_QUERY_PARAM=Q;t.DATE_HEADER=J;t.EVENT_ALGORITHM_IDENTIFIER=ie;t.EXPIRES_QUERY_PARAM=L;t.GENERATED_HEADERS=W;t.HOST_HEADER=Z;t.KEY_TYPE_IDENTIFIER=ce;t.MAX_CACHE_SIZE=ae;t.MAX_PRESIGNED_TTL=le;t.PROXY_HEADER_PATTERN=te;t.REGION_SET_PARAM=H;t.SEC_HEADER_PATTERN=re;t.SHA256_HEADER=K;t.SIGNATURE_HEADER=j;t.SIGNATURE_QUERY_PARAM=U;t.SIGNED_HEADERS_QUERY_PARAM=_;t.SignatureV4=SignatureV4;t.SignatureV4Base=SignatureV4Base;t.TOKEN_HEADER=X;t.TOKEN_QUERY_PARAM=P;t.UNSIGNABLE_PATTERNS=se;t.UNSIGNED_PAYLOAD=Ae;t.clearCredentialCache=clearCredentialCache;t.createScope=createScope;t.getCanonicalHeaders=getCanonicalHeaders;t.getCanonicalQuery=getCanonicalQuery;t.getPayloadHash=getPayloadHash;t.getSigningKey=getSigningKey;t.hasHeader=hasHeader;t.moveHeadersToQuery=moveHeadersToQuery;t.prepareRequest=prepareRequest;t.signatureV4aContainer=de},690:(e,t)=>{"use strict";t.HttpAuthLocation=void 0;(function(e){e["HEADER"]="header";e["QUERY"]="query"})(t.HttpAuthLocation||(t.HttpAuthLocation={}));t.HttpApiKeyAuthLocation=void 0;(function(e){e["HEADER"]="header";e["QUERY"]="query"})(t.HttpApiKeyAuthLocation||(t.HttpApiKeyAuthLocation={}));t.EndpointURLScheme=void 0;(function(e){e["HTTP"]="http";e["HTTPS"]="https"})(t.EndpointURLScheme||(t.EndpointURLScheme={}));t.AlgorithmId=void 0;(function(e){e["MD5"]="md5";e["CRC32"]="crc32";e["CRC32C"]="crc32c";e["SHA1"]="sha1";e["SHA256"]="sha256"})(t.AlgorithmId||(t.AlgorithmId={}));const getChecksumConfiguration=e=>{const n=[];if(e.sha256!==undefined){n.push({algorithmId:()=>t.AlgorithmId.SHA256,checksumConstructor:()=>e.sha256})}if(e.md5!=undefined){n.push({algorithmId:()=>t.AlgorithmId.MD5,checksumConstructor:()=>e.md5})}return{addChecksumAlgorithm(e){n.push(e)},checksumAlgorithms(){return n}}};const resolveChecksumRuntimeConfig=e=>{const t={};e.checksumAlgorithms().forEach((e=>{t[e.algorithmId()]=e.checksumConstructor()}));return t};const getDefaultClientConfiguration=e=>getChecksumConfiguration(e);const resolveDefaultRuntimeConfig=e=>resolveChecksumRuntimeConfig(e);t.FieldPosition=void 0;(function(e){e[e["HEADER"]=0]="HEADER";e[e["TRAILER"]=1]="TRAILER"})(t.FieldPosition||(t.FieldPosition={}));const n="__smithy_context";t.IniSectionType=void 0;(function(e){e["PROFILE"]="profile";e["SSO_SESSION"]="sso-session";e["SERVICES"]="services"})(t.IniSectionType||(t.IniSectionType={}));t.RequestHandlerProtocol=void 0;(function(e){e["HTTP_0_9"]="http/0.9";e["HTTP_1_0"]="http/1.0";e["TDS_8_0"]="tds/8.0"})(t.RequestHandlerProtocol||(t.RequestHandlerProtocol={}));t.SMITHY_CONTEXT_KEY=n;t.getDefaultClientConfiguration=getDefaultClientConfiguration;t.resolveDefaultRuntimeConfig=resolveDefaultRuntimeConfig},2732:(e,t,n)=>{var o=n(1063);var i=n(2027);var a=n(9934);var d=Function.bind;var h=d.bind(d);function bindApi(e,t,n){var o=h(a,null).apply(null,n?[t,n]:[t]);e.api={remove:o};e.remove=o;["before","error","after","wrap"].forEach((function(o){var a=n?[t,o,n]:[t,o];e[o]=e.api[o]=h(i,null).apply(null,a)}))}function HookSingular(){var e="h";var t={registry:{}};var n=o.bind(null,t,e);bindApi(n,t,e);return n}function HookCollection(){var e={registry:{}};var t=o.bind(null,e);bindApi(t,e);return t}var m=false;function Hook(){if(!m){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');m=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},2027:e=>{e.exports=addHook;function addHook(e,t,n,o){var i=o;if(!e.registry[n]){e.registry[n]=[]}if(t==="before"){o=function(e,t){return Promise.resolve().then(i.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){o=function(e,t){var n;return Promise.resolve().then(e.bind(null,t)).then((function(e){n=e;return i(n,t)})).then((function(){return n}))}}if(t==="error"){o=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return i(e,t)}))}}e.registry[n].push({hook:o,orig:i})}},1063:e=>{e.exports=register;function register(e,t,n,o){if(typeof n!=="function"){throw new Error("method for before hook must be a function")}if(!o){o={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,n){return register.bind(null,e,n,t,o)}),n)()}return Promise.resolve().then((function(){if(!e.registry[t]){return n(o)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,o)}),n)()}))}},9934:e=>{e.exports=removeHook;function removeHook(e,t,n){if(!e.registry[t]){return}var o=e.registry[t].map((function(e){return e.orig})).indexOf(n);if(o===-1){return}e.registry[t].splice(o,1)}},4150:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},4281:(e,t,n)=>{"use strict";var o=n(1950);var i=n(9980);function renamed(e,t){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. "+"Use yaml."+t+" instead, which is now safe by default.")}}e.exports.Type=n(9557);e.exports.Schema=n(2046);e.exports.FAILSAFE_SCHEMA=n(9832);e.exports.JSON_SCHEMA=n(8927);e.exports.CORE_SCHEMA=n(5746);e.exports.DEFAULT_SCHEMA=n(7336);e.exports.load=o.load;e.exports.loadAll=o.loadAll;e.exports.dump=i.dump;e.exports.YAMLException=n(1248);e.exports.types={binary:n(8149),float:n(7584),map:n(7316),null:n(4333),pairs:n(6267),set:n(8758),timestamp:n(8966),bool:n(7296),int:n(4652),merge:n(6854),omap:n(8649),seq:n(7161),str:n(3929)};e.exports.safeLoad=renamed("safeLoad","load");e.exports.safeLoadAll=renamed("safeLoadAll","loadAll");e.exports.safeDump=renamed("safeDump","dump")},9816:e=>{"use strict";function isNothing(e){return typeof e==="undefined"||e===null}function isObject(e){return typeof e==="object"&&e!==null}function toArray(e){if(Array.isArray(e))return e;else if(isNothing(e))return[];return[e]}function extend(e,t){var n,o,i,a;if(t){a=Object.keys(t);for(n=0,o=a.length;n<o;n+=1){i=a[n];e[i]=t[i]}}return e}function repeat(e,t){var n="",o;for(o=0;o<t;o+=1){n+=e}return n}function isNegativeZero(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}e.exports.isNothing=isNothing;e.exports.isObject=isObject;e.exports.toArray=toArray;e.exports.repeat=repeat;e.exports.isNegativeZero=isNegativeZero;e.exports.extend=extend},9980:(e,t,n)=>{"use strict";var o=n(9816);var i=n(1248);var a=n(7336);var d=Object.prototype.toString;var h=Object.prototype.hasOwnProperty;var m=65279;var Q=9;var k=10;var _=13;var L=32;var U=33;var P=34;var H=35;var Y=37;var V=38;var J=39;var W=42;var j=44;var K=45;var X=58;var Z=61;var ee=62;var te=63;var re=64;var se=91;var ne=93;var oe=96;var ie=123;var Ae=124;var ae=125;var ce={};ce[0]="\\0";ce[7]="\\a";ce[8]="\\b";ce[9]="\\t";ce[10]="\\n";ce[11]="\\v";ce[12]="\\f";ce[13]="\\r";ce[27]="\\e";ce[34]='\\"';ce[92]="\\\\";ce[133]="\\N";ce[160]="\\_";ce[8232]="\\L";ce[8233]="\\P";var le=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];var ue=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(e,t){var n,o,i,a,d,m,Q;if(t===null)return{};n={};o=Object.keys(t);for(i=0,a=o.length;i<a;i+=1){d=o[i];m=String(t[d]);if(d.slice(0,2)==="!!"){d="tag:yaml.org,2002:"+d.slice(2)}Q=e.compiledTypeMap["fallback"][d];if(Q&&h.call(Q.styleAliases,m)){m=Q.styleAliases[m]}n[d]=m}return n}function encodeHex(e){var t,n,a;t=e.toString(16).toUpperCase();if(e<=255){n="x";a=2}else if(e<=65535){n="u";a=4}else if(e<=4294967295){n="U";a=8}else{throw new i("code point within a string may not be greater than 0xFFFFFFFF")}return"\\"+n+o.repeat("0",a-t.length)+t}var ge=1,de=2;function State(e){this.schema=e["schema"]||a;this.indent=Math.max(1,e["indent"]||2);this.noArrayIndent=e["noArrayIndent"]||false;this.skipInvalid=e["skipInvalid"]||false;this.flowLevel=o.isNothing(e["flowLevel"])?-1:e["flowLevel"];this.styleMap=compileStyleMap(this.schema,e["styles"]||null);this.sortKeys=e["sortKeys"]||false;this.lineWidth=e["lineWidth"]||80;this.noRefs=e["noRefs"]||false;this.noCompatMode=e["noCompatMode"]||false;this.condenseFlow=e["condenseFlow"]||false;this.quotingType=e["quotingType"]==='"'?de:ge;this.forceQuotes=e["forceQuotes"]||false;this.replacer=typeof e["replacer"]==="function"?e["replacer"]:null;this.implicitTypes=this.schema.compiledImplicit;this.explicitTypes=this.schema.compiledExplicit;this.tag=null;this.result="";this.duplicates=[];this.usedDuplicates=null}function indentString(e,t){var n=o.repeat(" ",t),i=0,a=-1,d="",h,m=e.length;while(i<m){a=e.indexOf("\n",i);if(a===-1){h=e.slice(i);i=m}else{h=e.slice(i,a+1);i=a+1}if(h.length&&h!=="\n")d+=n;d+=h}return d}function generateNextLine(e,t){return"\n"+o.repeat(" ",e.indent*t)}function testImplicitResolving(e,t){var n,o,i;for(n=0,o=e.implicitTypes.length;n<o;n+=1){i=e.implicitTypes[n];if(i.resolve(t)){return true}}return false}function isWhitespace(e){return e===L||e===Q}function isPrintable(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==m||65536<=e&&e<=1114111}function isNsCharOrWhitespace(e){return isPrintable(e)&&e!==m&&e!==_&&e!==k}function isPlainSafe(e,t,n){var o=isNsCharOrWhitespace(e);var i=o&&!isWhitespace(e);return(n?o:o&&e!==j&&e!==se&&e!==ne&&e!==ie&&e!==ae)&&e!==H&&!(t===X&&!i)||isNsCharOrWhitespace(t)&&!isWhitespace(t)&&e===H||t===X&&i}function isPlainSafeFirst(e){return isPrintable(e)&&e!==m&&!isWhitespace(e)&&e!==K&&e!==te&&e!==X&&e!==j&&e!==se&&e!==ne&&e!==ie&&e!==ae&&e!==H&&e!==V&&e!==W&&e!==U&&e!==Ae&&e!==Z&&e!==ee&&e!==J&&e!==P&&e!==Y&&e!==re&&e!==oe}function isPlainSafeLast(e){return!isWhitespace(e)&&e!==X}function codePointAt(e,t){var n=e.charCodeAt(t),o;if(n>=55296&&n<=56319&&t+1<e.length){o=e.charCodeAt(t+1);if(o>=56320&&o<=57343){return(n-55296)*1024+o-56320+65536}}return n}function needIndentIndicator(e){var t=/^\n* /;return t.test(e)}var he=1,pe=2,fe=3,Ee=4,Ce=5;function chooseScalarStyle(e,t,n,o,i,a,d,h){var m;var Q=0;var _=null;var L=false;var U=false;var P=o!==-1;var H=-1;var Y=isPlainSafeFirst(codePointAt(e,0))&&isPlainSafeLast(codePointAt(e,e.length-1));if(t||d){for(m=0;m<e.length;Q>=65536?m+=2:m++){Q=codePointAt(e,m);if(!isPrintable(Q)){return Ce}Y=Y&&isPlainSafe(Q,_,h);_=Q}}else{for(m=0;m<e.length;Q>=65536?m+=2:m++){Q=codePointAt(e,m);if(Q===k){L=true;if(P){U=U||m-H-1>o&&e[H+1]!==" ";H=m}}else if(!isPrintable(Q)){return Ce}Y=Y&&isPlainSafe(Q,_,h);_=Q}U=U||P&&(m-H-1>o&&e[H+1]!==" ")}if(!L&&!U){if(Y&&!d&&!i(e)){return he}return a===de?Ce:pe}if(n>9&&needIndentIndicator(e)){return Ce}if(!d){return U?Ee:fe}return a===de?Ce:pe}function writeScalar(e,t,n,o,a){e.dump=function(){if(t.length===0){return e.quotingType===de?'""':"''"}if(!e.noCompatMode){if(le.indexOf(t)!==-1||ue.test(t)){return e.quotingType===de?'"'+t+'"':"'"+t+"'"}}var d=e.indent*Math.max(1,n);var h=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-d);var m=o||e.flowLevel>-1&&n>=e.flowLevel;function testAmbiguity(t){return testImplicitResolving(e,t)}switch(chooseScalarStyle(t,m,e.indent,h,testAmbiguity,e.quotingType,e.forceQuotes&&!o,a)){case he:return t;case pe:return"'"+t.replace(/'/g,"''")+"'";case fe:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,d));case Ee:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,h),d));case Ce:return'"'+escapeString(t,h)+'"';default:throw new i("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var n=needIndentIndicator(e)?String(t):"";var o=e[e.length-1]==="\n";var i=o&&(e[e.length-2]==="\n"||e==="\n");var a=i?"+":o?"":"-";return n+a+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,t){var n=/(\n+)([^\n]*)/g;var o=function(){var o=e.indexOf("\n");o=o!==-1?o:e.length;n.lastIndex=o;return foldLine(e.slice(0,o),t)}();var i=e[0]==="\n"||e[0]===" ";var a;var d;while(d=n.exec(e)){var h=d[1],m=d[2];a=m[0]===" ";o+=h+(!i&&!a&&m!==""?"\n":"")+foldLine(m,t);i=a}return o}function foldLine(e,t){if(e===""||e[0]===" ")return e;var n=/ [^ ]/g;var o;var i=0,a,d=0,h=0;var m="";while(o=n.exec(e)){h=o.index;if(h-i>t){a=d>i?d:h;m+="\n"+e.slice(i,a);i=a+1}d=h}m+="\n";if(e.length-i>t&&d>i){m+=e.slice(i,d)+"\n"+e.slice(d+1)}else{m+=e.slice(i)}return m.slice(1)}function escapeString(e){var t="";var n=0;var o;for(var i=0;i<e.length;n>=65536?i+=2:i++){n=codePointAt(e,i);o=ce[n];if(!o&&isPrintable(n)){t+=e[i];if(n>=65536)t+=e[i+1]}else{t+=o||encodeHex(n)}}return t}function writeFlowSequence(e,t,n){var o="",i=e.tag,a,d,h;for(a=0,d=n.length;a<d;a+=1){h=n[a];if(e.replacer){h=e.replacer.call(n,String(a),h)}if(writeNode(e,t,h,false,false)||typeof h==="undefined"&&writeNode(e,t,null,false,false)){if(o!=="")o+=","+(!e.condenseFlow?" ":"");o+=e.dump}}e.tag=i;e.dump="["+o+"]"}function writeBlockSequence(e,t,n,o){var i="",a=e.tag,d,h,m;for(d=0,h=n.length;d<h;d+=1){m=n[d];if(e.replacer){m=e.replacer.call(n,String(d),m)}if(writeNode(e,t+1,m,true,true,false,true)||typeof m==="undefined"&&writeNode(e,t+1,null,true,true,false,true)){if(!o||i!==""){i+=generateNextLine(e,t)}if(e.dump&&k===e.dump.charCodeAt(0)){i+="-"}else{i+="- "}i+=e.dump}}e.tag=a;e.dump=i||"[]"}function writeFlowMapping(e,t,n){var o="",i=e.tag,a=Object.keys(n),d,h,m,Q,k;for(d=0,h=a.length;d<h;d+=1){k="";if(o!=="")k+=", ";if(e.condenseFlow)k+='"';m=a[d];Q=n[m];if(e.replacer){Q=e.replacer.call(n,m,Q)}if(!writeNode(e,t,m,false,false)){continue}if(e.dump.length>1024)k+="? ";k+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,t,Q,false,false)){continue}k+=e.dump;o+=k}e.tag=i;e.dump="{"+o+"}"}function writeBlockMapping(e,t,n,o){var a="",d=e.tag,h=Object.keys(n),m,Q,_,L,U,P;if(e.sortKeys===true){h.sort()}else if(typeof e.sortKeys==="function"){h.sort(e.sortKeys)}else if(e.sortKeys){throw new i("sortKeys must be a boolean or a function")}for(m=0,Q=h.length;m<Q;m+=1){P="";if(!o||a!==""){P+=generateNextLine(e,t)}_=h[m];L=n[_];if(e.replacer){L=e.replacer.call(n,_,L)}if(!writeNode(e,t+1,_,true,true,true)){continue}U=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024;if(U){if(e.dump&&k===e.dump.charCodeAt(0)){P+="?"}else{P+="? "}}P+=e.dump;if(U){P+=generateNextLine(e,t)}if(!writeNode(e,t+1,L,true,U)){continue}if(e.dump&&k===e.dump.charCodeAt(0)){P+=":"}else{P+=": "}P+=e.dump;a+=P}e.tag=d;e.dump=a||"{}"}function detectType(e,t,n){var o,a,m,Q,k,_;a=n?e.explicitTypes:e.implicitTypes;for(m=0,Q=a.length;m<Q;m+=1){k=a[m];if((k.instanceOf||k.predicate)&&(!k.instanceOf||typeof t==="object"&&t instanceof k.instanceOf)&&(!k.predicate||k.predicate(t))){if(n){if(k.multi&&k.representName){e.tag=k.representName(t)}else{e.tag=k.tag}}else{e.tag="?"}if(k.represent){_=e.styleMap[k.tag]||k.defaultStyle;if(d.call(k.represent)==="[object Function]"){o=k.represent(t,_)}else if(h.call(k.represent,_)){o=k.represent[_](t,_)}else{throw new i("!<"+k.tag+'> tag resolver accepts not "'+_+'" style')}e.dump=o}return true}}return false}function writeNode(e,t,n,o,a,h,m){e.tag=null;e.dump=n;if(!detectType(e,n,false)){detectType(e,n,true)}var Q=d.call(e.dump);var k=o;var _;if(o){o=e.flowLevel<0||e.flowLevel>t}var L=Q==="[object Object]"||Q==="[object Array]",U,P;if(L){U=e.duplicates.indexOf(n);P=U!==-1}if(e.tag!==null&&e.tag!=="?"||P||e.indent!==2&&t>0){a=false}if(P&&e.usedDuplicates[U]){e.dump="*ref_"+U}else{if(L&&P&&!e.usedDuplicates[U]){e.usedDuplicates[U]=true}if(Q==="[object Object]"){if(o&&Object.keys(e.dump).length!==0){writeBlockMapping(e,t,e.dump,a);if(P){e.dump="&ref_"+U+e.dump}}else{writeFlowMapping(e,t,e.dump);if(P){e.dump="&ref_"+U+" "+e.dump}}}else if(Q==="[object Array]"){if(o&&e.dump.length!==0){if(e.noArrayIndent&&!m&&t>0){writeBlockSequence(e,t-1,e.dump,a)}else{writeBlockSequence(e,t,e.dump,a)}if(P){e.dump="&ref_"+U+e.dump}}else{writeFlowSequence(e,t,e.dump);if(P){e.dump="&ref_"+U+" "+e.dump}}}else if(Q==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,t,h,k)}}else if(Q==="[object Undefined]"){return false}else{if(e.skipInvalid)return false;throw new i("unacceptable kind of an object to dump "+Q)}if(e.tag!==null&&e.tag!=="?"){_=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21");if(e.tag[0]==="!"){_="!"+_}else if(_.slice(0,18)==="tag:yaml.org,2002:"){_="!!"+_.slice(18)}else{_="!<"+_+">"}e.dump=_+" "+e.dump}}return true}function getDuplicateReferences(e,t){var n=[],o=[],i,a;inspectNode(e,n,o);for(i=0,a=o.length;i<a;i+=1){t.duplicates.push(n[o[i]])}t.usedDuplicates=new Array(a)}function inspectNode(e,t,n){var o,i,a;if(e!==null&&typeof e==="object"){i=t.indexOf(e);if(i!==-1){if(n.indexOf(i)===-1){n.push(i)}}else{t.push(e);if(Array.isArray(e)){for(i=0,a=e.length;i<a;i+=1){inspectNode(e[i],t,n)}}else{o=Object.keys(e);for(i=0,a=o.length;i<a;i+=1){inspectNode(e[o[i]],t,n)}}}}}function dump(e,t){t=t||{};var n=new State(t);if(!n.noRefs)getDuplicateReferences(e,n);var o=e;if(n.replacer){o=n.replacer.call({"":o},"",o)}if(writeNode(n,0,o,true,true))return n.dump+"\n";return""}e.exports.dump=dump},1248:e=>{"use strict";function formatError(e,t){var n="",o=e.reason||"(unknown reason)";if(!e.mark)return o;if(e.mark.name){n+='in "'+e.mark.name+'" '}n+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")";if(!t&&e.mark.snippet){n+="\n\n"+e.mark.snippet}return o+" "+n}function YAMLException(e,t){Error.call(this);this.name="YAMLException";this.reason=e;this.mark=t;this.message=formatError(this,false);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}else{this.stack=(new Error).stack||""}}YAMLException.prototype=Object.create(Error.prototype);YAMLException.prototype.constructor=YAMLException;YAMLException.prototype.toString=function toString(e){return this.name+": "+formatError(this,e)};e.exports=YAMLException},1950:(e,t,n)=>{"use strict";var o=n(9816);var i=n(1248);var a=n(9440);var d=n(7336);var h=Object.prototype.hasOwnProperty;var m=1;var Q=2;var k=3;var _=4;var L=1;var U=2;var P=3;var H=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var Y=/[\x85\u2028\u2029]/;var V=/[,\[\]\{\}]/;var J=/^(?:!|!!|![a-z\-]+!)$/i;var W=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(e){return Object.prototype.toString.call(e)}function is_EOL(e){return e===10||e===13}function is_WHITE_SPACE(e){return e===9||e===32}function is_WS_OR_EOL(e){return e===9||e===32||e===10||e===13}function is_FLOW_INDICATOR(e){return e===44||e===91||e===93||e===123||e===125}function fromHexCode(e){var t;if(48<=e&&e<=57){return e-48}t=e|32;if(97<=t&&t<=102){return t-97+10}return-1}function escapedHexLen(e){if(e===120){return 2}if(e===117){return 4}if(e===85){return 8}return 0}function fromDecimalCode(e){if(48<=e&&e<=57){return e-48}return-1}function simpleEscapeSequence(e){return e===48?"\0":e===97?"":e===98?"\b":e===116?"\t":e===9?"\t":e===110?"\n":e===118?"\v":e===102?"\f":e===114?"\r":e===101?"":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"
":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}function charFromCodepoint(e){if(e<=65535){return String.fromCharCode(e)}return String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function setProperty(e,t,n){if(t==="__proto__"){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:n})}else{e[t]=n}}var j=new Array(256);var K=new Array(256);for(var X=0;X<256;X++){j[X]=simpleEscapeSequence(X)?1:0;K[X]=simpleEscapeSequence(X)}function State(e,t){this.input=e;this.filename=t["filename"]||null;this.schema=t["schema"]||d;this.onWarning=t["onWarning"]||null;this.legacy=t["legacy"]||false;this.json=t["json"]||false;this.listener=t["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.firstTabInLine=-1;this.documents=[]}function generateError(e,t){var n={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};n.snippet=a(n);return new i(t,n)}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){if(e.onWarning){e.onWarning.call(null,generateError(e,t))}}var Z={YAML:function handleYamlDirective(e,t,n){var o,i,a;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(n.length!==1){throwError(e,"YAML directive accepts exactly one argument")}o=/^([0-9]+)\.([0-9]+)$/.exec(n[0]);if(o===null){throwError(e,"ill-formed argument of the YAML directive")}i=parseInt(o[1],10);a=parseInt(o[2],10);if(i!==1){throwError(e,"unacceptable YAML version of the document")}e.version=n[0];e.checkLineBreaks=a<2;if(a!==1&&a!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,t,n){var o,i;if(n.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}o=n[0];i=n[1];if(!J.test(o)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(h.call(e.tagMap,o)){throwError(e,'there is a previously declared suffix for "'+o+'" tag handle')}if(!W.test(i)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}try{i=decodeURIComponent(i)}catch(t){throwError(e,"tag prefix is malformed: "+i)}e.tagMap[o]=i}};function captureSegment(e,t,n,o){var i,a,d,h;if(t<n){h=e.input.slice(t,n);if(o){for(i=0,a=h.length;i<a;i+=1){d=h.charCodeAt(i);if(!(d===9||32<=d&&d<=1114111)){throwError(e,"expected valid JSON character")}}}else if(H.test(h)){throwError(e,"the stream contains non-printable characters")}e.result+=h}}function mergeMappings(e,t,n,i){var a,d,m,Q;if(!o.isObject(n)){throwError(e,"cannot merge mappings; the provided source object is unacceptable")}a=Object.keys(n);for(m=0,Q=a.length;m<Q;m+=1){d=a[m];if(!h.call(t,d)){setProperty(t,d,n[d]);i[d]=true}}}function storeMappingPair(e,t,n,o,i,a,d,m,Q){var k,_;if(Array.isArray(i)){i=Array.prototype.slice.call(i);for(k=0,_=i.length;k<_;k+=1){if(Array.isArray(i[k])){throwError(e,"nested arrays are not supported inside keys")}if(typeof i==="object"&&_class(i[k])==="[object Object]"){i[k]="[object Object]"}}}if(typeof i==="object"&&_class(i)==="[object Object]"){i="[object Object]"}i=String(i);if(t===null){t={}}if(o==="tag:yaml.org,2002:merge"){if(Array.isArray(a)){for(k=0,_=a.length;k<_;k+=1){mergeMappings(e,t,a[k],n)}}else{mergeMappings(e,t,a,n)}}else{if(!e.json&&!h.call(n,i)&&h.call(t,i)){e.line=d||e.line;e.lineStart=m||e.lineStart;e.position=Q||e.position;throwError(e,"duplicated mapping key")}setProperty(t,i,a);delete n[i]}return t}function readLineBreak(e){var t;t=e.input.charCodeAt(e.position);if(t===10){e.position++}else if(t===13){e.position++;if(e.input.charCodeAt(e.position)===10){e.position++}}else{throwError(e,"a line break is expected")}e.line+=1;e.lineStart=e.position;e.firstTabInLine=-1}function skipSeparationSpace(e,t,n){var o=0,i=e.input.charCodeAt(e.position);while(i!==0){while(is_WHITE_SPACE(i)){if(i===9&&e.firstTabInLine===-1){e.firstTabInLine=e.position}i=e.input.charCodeAt(++e.position)}if(t&&i===35){do{i=e.input.charCodeAt(++e.position)}while(i!==10&&i!==13&&i!==0)}if(is_EOL(i)){readLineBreak(e);i=e.input.charCodeAt(e.position);o++;e.lineIndent=0;while(i===32){e.lineIndent++;i=e.input.charCodeAt(++e.position)}}else{break}}if(n!==-1&&o!==0&&e.lineIndent<n){throwWarning(e,"deficient indentation")}return o}function testDocumentSeparator(e){var t=e.position,n;n=e.input.charCodeAt(t);if((n===45||n===46)&&n===e.input.charCodeAt(t+1)&&n===e.input.charCodeAt(t+2)){t+=3;n=e.input.charCodeAt(t);if(n===0||is_WS_OR_EOL(n)){return true}}return false}function writeFoldedLines(e,t){if(t===1){e.result+=" "}else if(t>1){e.result+=o.repeat("\n",t-1)}}function readPlainScalar(e,t,n){var o,i,a,d,h,m,Q,k,_=e.kind,L=e.result,U;U=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(U)||is_FLOW_INDICATOR(U)||U===35||U===38||U===42||U===33||U===124||U===62||U===39||U===34||U===37||U===64||U===96){return false}if(U===63||U===45){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||n&&is_FLOW_INDICATOR(i)){return false}}e.kind="scalar";e.result="";a=d=e.position;h=false;while(U!==0){if(U===58){i=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(i)||n&&is_FLOW_INDICATOR(i)){break}}else if(U===35){o=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(o)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||n&&is_FLOW_INDICATOR(U)){break}else if(is_EOL(U)){m=e.line;Q=e.lineStart;k=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=t){h=true;U=e.input.charCodeAt(e.position);continue}else{e.position=d;e.line=m;e.lineStart=Q;e.lineIndent=k;break}}if(h){captureSegment(e,a,d,false);writeFoldedLines(e,e.line-m);a=d=e.position;h=false}if(!is_WHITE_SPACE(U)){d=e.position+1}U=e.input.charCodeAt(++e.position)}captureSegment(e,a,d,false);if(e.result){return true}e.kind=_;e.result=L;return false}function readSingleQuotedScalar(e,t){var n,o,i;n=e.input.charCodeAt(e.position);if(n!==39){return false}e.kind="scalar";e.result="";e.position++;o=i=e.position;while((n=e.input.charCodeAt(e.position))!==0){if(n===39){captureSegment(e,o,e.position,true);n=e.input.charCodeAt(++e.position);if(n===39){o=e.position;e.position++;i=e.position}else{return true}}else if(is_EOL(n)){captureSegment(e,o,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));o=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var n,o,i,a,d,h;h=e.input.charCodeAt(e.position);if(h!==34){return false}e.kind="scalar";e.result="";e.position++;n=o=e.position;while((h=e.input.charCodeAt(e.position))!==0){if(h===34){captureSegment(e,n,e.position,true);e.position++;return true}else if(h===92){captureSegment(e,n,e.position,true);h=e.input.charCodeAt(++e.position);if(is_EOL(h)){skipSeparationSpace(e,false,t)}else if(h<256&&j[h]){e.result+=K[h];e.position++}else if((d=escapedHexLen(h))>0){i=d;a=0;for(;i>0;i--){h=e.input.charCodeAt(++e.position);if((d=fromHexCode(h))>=0){a=(a<<4)+d}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(a);e.position++}else{throwError(e,"unknown escape sequence")}n=o=e.position}else if(is_EOL(h)){captureSegment(e,n,o,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));n=o=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;o=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var n=true,o,i,a,d=e.tag,h,Q=e.anchor,k,_,L,U,P,H=Object.create(null),Y,V,J,W;W=e.input.charCodeAt(e.position);if(W===91){_=93;P=false;h=[]}else if(W===123){_=125;P=true;h={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=h}W=e.input.charCodeAt(++e.position);while(W!==0){skipSeparationSpace(e,true,t);W=e.input.charCodeAt(e.position);if(W===_){e.position++;e.tag=d;e.anchor=Q;e.kind=P?"mapping":"sequence";e.result=h;return true}else if(!n){throwError(e,"missed comma between flow collection entries")}else if(W===44){throwError(e,"expected the node content, but found ','")}V=Y=J=null;L=U=false;if(W===63){k=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(k)){L=U=true;e.position++;skipSeparationSpace(e,true,t)}}o=e.line;i=e.lineStart;a=e.position;composeNode(e,t,m,false,true);V=e.tag;Y=e.result;skipSeparationSpace(e,true,t);W=e.input.charCodeAt(e.position);if((U||e.line===o)&&W===58){L=true;W=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,t);composeNode(e,t,m,false,true);J=e.result}if(P){storeMappingPair(e,h,H,V,Y,J,o,i,a)}else if(L){h.push(storeMappingPair(e,null,H,V,Y,J,o,i,a))}else{h.push(Y)}skipSeparationSpace(e,true,t);W=e.input.charCodeAt(e.position);if(W===44){n=true;W=e.input.charCodeAt(++e.position)}else{n=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var n,i,a=L,d=false,h=false,m=t,Q=0,k=false,_,H;H=e.input.charCodeAt(e.position);if(H===124){i=false}else if(H===62){i=true}else{return false}e.kind="scalar";e.result="";while(H!==0){H=e.input.charCodeAt(++e.position);if(H===43||H===45){if(L===a){a=H===43?P:U}else{throwError(e,"repeat of a chomping mode identifier")}}else if((_=fromDecimalCode(H))>=0){if(_===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!h){m=t+_-1;h=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(H)){do{H=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(H));if(H===35){do{H=e.input.charCodeAt(++e.position)}while(!is_EOL(H)&&H!==0)}}while(H!==0){readLineBreak(e);e.lineIndent=0;H=e.input.charCodeAt(e.position);while((!h||e.lineIndent<m)&&H===32){e.lineIndent++;H=e.input.charCodeAt(++e.position)}if(!h&&e.lineIndent>m){m=e.lineIndent}if(is_EOL(H)){Q++;continue}if(e.lineIndent<m){if(a===P){e.result+=o.repeat("\n",d?1+Q:Q)}else if(a===L){if(d){e.result+="\n"}}break}if(i){if(is_WHITE_SPACE(H)){k=true;e.result+=o.repeat("\n",d?1+Q:Q)}else if(k){k=false;e.result+=o.repeat("\n",Q+1)}else if(Q===0){if(d){e.result+=" "}}else{e.result+=o.repeat("\n",Q)}}else{e.result+=o.repeat("\n",d?1+Q:Q)}d=true;h=true;Q=0;n=e.position;while(!is_EOL(H)&&H!==0){H=e.input.charCodeAt(++e.position)}captureSegment(e,n,e.position,false)}return true}function readBlockSequence(e,t){var n,o=e.tag,i=e.anchor,a=[],d,h=false,m;if(e.firstTabInLine!==-1)return false;if(e.anchor!==null){e.anchorMap[e.anchor]=a}m=e.input.charCodeAt(e.position);while(m!==0){if(e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}if(m!==45){break}d=e.input.charCodeAt(e.position+1);if(!is_WS_OR_EOL(d)){break}h=true;e.position++;if(skipSeparationSpace(e,true,-1)){if(e.lineIndent<=t){a.push(null);m=e.input.charCodeAt(e.position);continue}}n=e.line;composeNode(e,t,k,false,true);a.push(e.result);skipSeparationSpace(e,true,-1);m=e.input.charCodeAt(e.position);if((e.line===n||e.lineIndent>t)&&m!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndent<t){break}}if(h){e.tag=o;e.anchor=i;e.kind="sequence";e.result=a;return true}return false}function readBlockMapping(e,t,n){var o,i,a,d,h,m,k=e.tag,L=e.anchor,U={},P=Object.create(null),H=null,Y=null,V=null,J=false,W=false,j;if(e.firstTabInLine!==-1)return false;if(e.anchor!==null){e.anchorMap[e.anchor]=U}j=e.input.charCodeAt(e.position);while(j!==0){if(!J&&e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}o=e.input.charCodeAt(e.position+1);a=e.line;if((j===63||j===58)&&is_WS_OR_EOL(o)){if(j===63){if(J){storeMappingPair(e,U,P,H,Y,null,d,h,m);H=Y=V=null}W=true;J=true;i=true}else if(J){J=false;i=true}else{throwError(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line")}e.position+=1;j=o}else{d=e.line;h=e.lineStart;m=e.position;if(!composeNode(e,n,Q,false,true)){break}if(e.line===a){j=e.input.charCodeAt(e.position);while(is_WHITE_SPACE(j)){j=e.input.charCodeAt(++e.position)}if(j===58){j=e.input.charCodeAt(++e.position);if(!is_WS_OR_EOL(j)){throwError(e,"a whitespace character is expected after the key-value separator within a block mapping")}if(J){storeMappingPair(e,U,P,H,Y,null,d,h,m);H=Y=V=null}W=true;J=false;i=false;H=e.tag;Y=e.result}else if(W){throwError(e,"can not read an implicit mapping pair; a colon is missed")}else{e.tag=k;e.anchor=L;return true}}else if(W){throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}else{e.tag=k;e.anchor=L;return true}}if(e.line===a||e.lineIndent>t){if(J){d=e.line;h=e.lineStart;m=e.position}if(composeNode(e,t,_,true,i)){if(J){Y=e.result}else{V=e.result}}if(!J){storeMappingPair(e,U,P,H,Y,V,d,h,m);H=Y=V=null}skipSeparationSpace(e,true,-1);j=e.input.charCodeAt(e.position)}if((e.line===a||e.lineIndent>t)&&j!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndent<t){break}}if(J){storeMappingPair(e,U,P,H,Y,null,d,h,m)}if(W){e.tag=k;e.anchor=L;e.kind="mapping";e.result=U}return W}function readTagProperty(e){var t,n=false,o=false,i,a,d;d=e.input.charCodeAt(e.position);if(d!==33)return false;if(e.tag!==null){throwError(e,"duplication of a tag property")}d=e.input.charCodeAt(++e.position);if(d===60){n=true;d=e.input.charCodeAt(++e.position)}else if(d===33){o=true;i="!!";d=e.input.charCodeAt(++e.position)}else{i="!"}t=e.position;if(n){do{d=e.input.charCodeAt(++e.position)}while(d!==0&&d!==62);if(e.position<e.length){a=e.input.slice(t,e.position);d=e.input.charCodeAt(++e.position)}else{throwError(e,"unexpected end of the stream within a verbatim tag")}}else{while(d!==0&&!is_WS_OR_EOL(d)){if(d===33){if(!o){i=e.input.slice(t-1,e.position+1);if(!J.test(i)){throwError(e,"named tag handle cannot contain such characters")}o=true;t=e.position+1}else{throwError(e,"tag suffix cannot contain exclamation marks")}}d=e.input.charCodeAt(++e.position)}a=e.input.slice(t,e.position);if(V.test(a)){throwError(e,"tag suffix cannot contain flow indicator characters")}}if(a&&!W.test(a)){throwError(e,"tag name cannot contain such characters: "+a)}try{a=decodeURIComponent(a)}catch(t){throwError(e,"tag name is malformed: "+a)}if(n){e.tag=a}else if(h.call(e.tagMap,i)){e.tag=e.tagMap[i]+a}else if(i==="!"){e.tag="!"+a}else if(i==="!!"){e.tag="tag:yaml.org,2002:"+a}else{throwError(e,'undeclared tag handle "'+i+'"')}return true}function readAnchorProperty(e){var t,n;n=e.input.charCodeAt(e.position);if(n!==38)return false;if(e.anchor!==null){throwError(e,"duplication of an anchor property")}n=e.input.charCodeAt(++e.position);t=e.position;while(n!==0&&!is_WS_OR_EOL(n)&&!is_FLOW_INDICATOR(n)){n=e.input.charCodeAt(++e.position)}if(e.position===t){throwError(e,"name of an anchor node must contain at least one character")}e.anchor=e.input.slice(t,e.position);return true}function readAlias(e){var t,n,o;o=e.input.charCodeAt(e.position);if(o!==42)return false;o=e.input.charCodeAt(++e.position);t=e.position;while(o!==0&&!is_WS_OR_EOL(o)&&!is_FLOW_INDICATOR(o)){o=e.input.charCodeAt(++e.position)}if(e.position===t){throwError(e,"name of an alias node must contain at least one character")}n=e.input.slice(t,e.position);if(!h.call(e.anchorMap,n)){throwError(e,'unidentified alias "'+n+'"')}e.result=e.anchorMap[n];skipSeparationSpace(e,true,-1);return true}function composeNode(e,t,n,o,i){var a,d,L,U=1,P=false,H=false,Y,V,J,W,j,K;if(e.listener!==null){e.listener("open",e)}e.tag=null;e.anchor=null;e.kind=null;e.result=null;a=d=L=_===n||k===n;if(o){if(skipSeparationSpace(e,true,-1)){P=true;if(e.lineIndent>t){U=1}else if(e.lineIndent===t){U=0}else if(e.lineIndent<t){U=-1}}}if(U===1){while(readTagProperty(e)||readAnchorProperty(e)){if(skipSeparationSpace(e,true,-1)){P=true;L=a;if(e.lineIndent>t){U=1}else if(e.lineIndent===t){U=0}else if(e.lineIndent<t){U=-1}}else{L=false}}}if(L){L=P||i}if(U===1||_===n){if(m===n||Q===n){j=t}else{j=t+1}K=e.position-e.lineStart;if(U===1){if(L&&(readBlockSequence(e,K)||readBlockMapping(e,K,j))||readFlowCollection(e,j)){H=true}else{if(d&&readBlockScalar(e,j)||readSingleQuotedScalar(e,j)||readDoubleQuotedScalar(e,j)){H=true}else if(readAlias(e)){H=true;if(e.tag!==null||e.anchor!==null){throwError(e,"alias node should not have any properties")}}else if(readPlainScalar(e,j,m===n)){H=true;if(e.tag===null){e.tag="?"}}if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else if(U===0){H=L&&readBlockSequence(e,K)}}if(e.tag===null){if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}else if(e.tag==="?"){if(e.result!==null&&e.kind!=="scalar"){throwError(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"')}for(Y=0,V=e.implicitTypes.length;Y<V;Y+=1){W=e.implicitTypes[Y];if(W.resolve(e.result)){e.result=W.construct(e.result);e.tag=W.tag;if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}break}}}else if(e.tag!=="!"){if(h.call(e.typeMap[e.kind||"fallback"],e.tag)){W=e.typeMap[e.kind||"fallback"][e.tag]}else{W=null;J=e.typeMap.multi[e.kind||"fallback"];for(Y=0,V=J.length;Y<V;Y+=1){if(e.tag.slice(0,J[Y].tag.length)===J[Y].tag){W=J[Y];break}}}if(!W){throwError(e,"unknown tag !<"+e.tag+">")}if(e.result!==null&&W.kind!==e.kind){throwError(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+W.kind+'", not "'+e.kind+'"')}if(!W.resolve(e.result,e.tag)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=W.construct(e.result,e.tag);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||H}function readDocument(e){var t=e.position,n,o,i,a=false,d;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap=Object.create(null);e.anchorMap=Object.create(null);while((d=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);d=e.input.charCodeAt(e.position);if(e.lineIndent>0||d!==37){break}a=true;d=e.input.charCodeAt(++e.position);n=e.position;while(d!==0&&!is_WS_OR_EOL(d)){d=e.input.charCodeAt(++e.position)}o=e.input.slice(n,e.position);i=[];if(o.length<1){throwError(e,"directive name must not be less than one character in length")}while(d!==0){while(is_WHITE_SPACE(d)){d=e.input.charCodeAt(++e.position)}if(d===35){do{d=e.input.charCodeAt(++e.position)}while(d!==0&&!is_EOL(d));break}if(is_EOL(d))break;n=e.position;while(d!==0&&!is_WS_OR_EOL(d)){d=e.input.charCodeAt(++e.position)}i.push(e.input.slice(n,e.position))}if(d!==0)readLineBreak(e);if(h.call(Z,o)){Z[o](e,o,i)}else{throwWarning(e,'unknown document directive "'+o+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(a){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,_,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&Y.test(e.input.slice(t,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position<e.length-1){throwError(e,"end of the stream or a document separator is expected")}else{return}}function loadDocuments(e,t){e=String(e);t=t||{};if(e.length!==0){if(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13){e+="\n"}if(e.charCodeAt(0)===65279){e=e.slice(1)}}var n=new State(e,t);var o=e.indexOf("\0");if(o!==-1){n.position=o;throwError(n,"null byte is not allowed in input")}n.input+="\0";while(n.input.charCodeAt(n.position)===32){n.lineIndent+=1;n.position+=1}while(n.position<n.length-1){readDocument(n)}return n.documents}function loadAll(e,t,n){if(t!==null&&typeof t==="object"&&typeof n==="undefined"){n=t;t=null}var o=loadDocuments(e,n);if(typeof t!=="function"){return o}for(var i=0,a=o.length;i<a;i+=1){t(o[i])}}function load(e,t){var n=loadDocuments(e,t);if(n.length===0){return undefined}else if(n.length===1){return n[0]}throw new i("expected a single document in the stream, but found more")}e.exports.loadAll=loadAll;e.exports.load=load},2046:(e,t,n)=>{"use strict";var o=n(1248);var i=n(9557);function compileList(e,t){var n=[];e[t].forEach((function(e){var t=n.length;n.forEach((function(n,o){if(n.tag===e.tag&&n.kind===e.kind&&n.multi===e.multi){t=o}}));n[t]=e}));return n}function compileMap(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,n;function collectType(t){if(t.multi){e.multi[t.kind].push(t);e.multi["fallback"].push(t)}else{e[t.kind][t.tag]=e["fallback"][t.tag]=t}}for(t=0,n=arguments.length;t<n;t+=1){arguments[t].forEach(collectType)}return e}function Schema(e){return this.extend(e)}Schema.prototype.extend=function extend(e){var t=[];var n=[];if(e instanceof i){n.push(e)}else if(Array.isArray(e)){n=n.concat(e)}else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit))){if(e.implicit)t=t.concat(e.implicit);if(e.explicit)n=n.concat(e.explicit)}else{throw new o("Schema.extend argument should be a Type, [ Type ], "+"or a schema definition ({ implicit: [...], explicit: [...] })")}t.forEach((function(e){if(!(e instanceof i)){throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.")}if(e.loadKind&&e.loadKind!=="scalar"){throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}if(e.multi){throw new o("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}}));n.forEach((function(e){if(!(e instanceof i)){throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.")}}));var a=Object.create(Schema.prototype);a.implicit=(this.implicit||[]).concat(t);a.explicit=(this.explicit||[]).concat(n);a.compiledImplicit=compileList(a,"implicit");a.compiledExplicit=compileList(a,"explicit");a.compiledTypeMap=compileMap(a.compiledImplicit,a.compiledExplicit);return a};e.exports=Schema},5746:(e,t,n)=>{"use strict";e.exports=n(8927)},7336:(e,t,n)=>{"use strict";e.exports=n(5746).extend({implicit:[n(8966),n(6854)],explicit:[n(8149),n(8649),n(6267),n(8758)]})},9832:(e,t,n)=>{"use strict";var o=n(2046);e.exports=new o({explicit:[n(3929),n(7161),n(7316)]})},8927:(e,t,n)=>{"use strict";e.exports=n(9832).extend({implicit:[n(4333),n(7296),n(4652),n(7584)]})},9440:(e,t,n)=>{"use strict";var o=n(9816);function getLine(e,t,n,o,i){var a="";var d="";var h=Math.floor(i/2)-1;if(o-t>h){a=" ... ";t=o-h+a.length}if(n-o>h){d=" ...";n=o+h-d.length}return{str:a+e.slice(t,n).replace(/\t/g,"→")+d,pos:o-t+a.length}}function padStart(e,t){return o.repeat(" ",t-e.length)+e}function makeSnippet(e,t){t=Object.create(t||null);if(!e.buffer)return null;if(!t.maxLength)t.maxLength=79;if(typeof t.indent!=="number")t.indent=1;if(typeof t.linesBefore!=="number")t.linesBefore=3;if(typeof t.linesAfter!=="number")t.linesAfter=2;var n=/\r?\n|\r|\0/g;var i=[0];var a=[];var d;var h=-1;while(d=n.exec(e.buffer)){a.push(d.index);i.push(d.index+d[0].length);if(e.position<=d.index&&h<0){h=i.length-2}}if(h<0)h=i.length-1;var m="",Q,k;var _=Math.min(e.line+t.linesAfter,a.length).toString().length;var L=t.maxLength-(t.indent+_+3);for(Q=1;Q<=t.linesBefore;Q++){if(h-Q<0)break;k=getLine(e.buffer,i[h-Q],a[h-Q],e.position-(i[h]-i[h-Q]),L);m=o.repeat(" ",t.indent)+padStart((e.line-Q+1).toString(),_)+" | "+k.str+"\n"+m}k=getLine(e.buffer,i[h],a[h],e.position,L);m+=o.repeat(" ",t.indent)+padStart((e.line+1).toString(),_)+" | "+k.str+"\n";m+=o.repeat("-",t.indent+_+3+k.pos)+"^"+"\n";for(Q=1;Q<=t.linesAfter;Q++){if(h+Q>=a.length)break;k=getLine(e.buffer,i[h+Q],a[h+Q],e.position-(i[h]-i[h+Q]),L);m+=o.repeat(" ",t.indent)+padStart((e.line+Q+1).toString(),_)+" | "+k.str+"\n"}return m.replace(/\n$/,"")}e.exports=makeSnippet},9557:(e,t,n)=>{"use strict";var o=n(1248);var i=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"];var a=["scalar","sequence","mapping"];function compileStyleAliases(e){var t={};if(e!==null){Object.keys(e).forEach((function(n){e[n].forEach((function(e){t[String(e)]=n}))}))}return t}function Type(e,t){t=t||{};Object.keys(t).forEach((function(t){if(i.indexOf(t)===-1){throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}}));this.options=t;this.tag=e;this.kind=t["kind"]||null;this.resolve=t["resolve"]||function(){return true};this.construct=t["construct"]||function(e){return e};this.instanceOf=t["instanceOf"]||null;this.predicate=t["predicate"]||null;this.represent=t["represent"]||null;this.representName=t["representName"]||null;this.defaultStyle=t["defaultStyle"]||null;this.multi=t["multi"]||false;this.styleAliases=compileStyleAliases(t["styleAliases"]||null);if(a.indexOf(this.kind)===-1){throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},8149:(e,t,n)=>{"use strict";var o=n(9557);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(e){if(e===null)return false;var t,n,o=0,a=e.length,d=i;for(n=0;n<a;n++){t=d.indexOf(e.charAt(n));if(t>64)continue;if(t<0)return false;o+=6}return o%8===0}function constructYamlBinary(e){var t,n,o=e.replace(/[\r\n=]/g,""),a=o.length,d=i,h=0,m=[];for(t=0;t<a;t++){if(t%4===0&&t){m.push(h>>16&255);m.push(h>>8&255);m.push(h&255)}h=h<<6|d.indexOf(o.charAt(t))}n=a%4*6;if(n===0){m.push(h>>16&255);m.push(h>>8&255);m.push(h&255)}else if(n===18){m.push(h>>10&255);m.push(h>>2&255)}else if(n===12){m.push(h>>4&255)}return new Uint8Array(m)}function representYamlBinary(e){var t="",n=0,o,a,d=e.length,h=i;for(o=0;o<d;o++){if(o%3===0&&o){t+=h[n>>18&63];t+=h[n>>12&63];t+=h[n>>6&63];t+=h[n&63]}n=(n<<8)+e[o]}a=d%3;if(a===0){t+=h[n>>18&63];t+=h[n>>12&63];t+=h[n>>6&63];t+=h[n&63]}else if(a===2){t+=h[n>>10&63];t+=h[n>>4&63];t+=h[n<<2&63];t+=h[64]}else if(a===1){t+=h[n>>2&63];t+=h[n<<4&63];t+=h[64];t+=h[64]}return t}function isBinary(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}e.exports=new o("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},7296:(e,t,n)=>{"use strict";var o=n(9557);function resolveYamlBoolean(e){if(e===null)return false;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function constructYamlBoolean(e){return e==="true"||e==="True"||e==="TRUE"}function isBoolean(e){return Object.prototype.toString.call(e)==="[object Boolean]"}e.exports=new o("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},7584:(e,t,n)=>{"use strict";var o=n(9816);var i=n(9557);var a=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?"+"|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?"+"|[-+]?\\.(?:inf|Inf|INF)"+"|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(e===null)return false;if(!a.test(e)||e[e.length-1]==="_"){return false}return true}function constructYamlFloat(e){var t,n;t=e.replace(/_/g,"").toLowerCase();n=t[0]==="-"?-1:1;if("+-".indexOf(t[0])>=0){t=t.slice(1)}if(t===".inf"){return n===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(t===".nan"){return NaN}return n*parseFloat(t,10)}var d=/^[-+]?[0-9]+e/;function representYamlFloat(e,t){var n;if(isNaN(e)){switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(o.isNegativeZero(e)){return"-0.0"}n=e.toString(10);return d.test(n)?n.replace("e",".e"):n}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||o.isNegativeZero(e))}e.exports=new i("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},4652:(e,t,n)=>{"use strict";var o=n(9816);var i=n(9557);function isHexCode(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function isOctCode(e){return 48<=e&&e<=55}function isDecCode(e){return 48<=e&&e<=57}function resolveYamlInteger(e){if(e===null)return false;var t=e.length,n=0,o=false,i;if(!t)return false;i=e[n];if(i==="-"||i==="+"){i=e[++n]}if(i==="0"){if(n+1===t)return true;i=e[++n];if(i==="b"){n++;for(;n<t;n++){i=e[n];if(i==="_")continue;if(i!=="0"&&i!=="1")return false;o=true}return o&&i!=="_"}if(i==="x"){n++;for(;n<t;n++){i=e[n];if(i==="_")continue;if(!isHexCode(e.charCodeAt(n)))return false;o=true}return o&&i!=="_"}if(i==="o"){n++;for(;n<t;n++){i=e[n];if(i==="_")continue;if(!isOctCode(e.charCodeAt(n)))return false;o=true}return o&&i!=="_"}}if(i==="_")return false;for(;n<t;n++){i=e[n];if(i==="_")continue;if(!isDecCode(e.charCodeAt(n))){return false}o=true}if(!o||i==="_")return false;return true}function constructYamlInteger(e){var t=e,n=1,o;if(t.indexOf("_")!==-1){t=t.replace(/_/g,"")}o=t[0];if(o==="-"||o==="+"){if(o==="-")n=-1;t=t.slice(1);o=t[0]}if(t==="0")return 0;if(o==="0"){if(t[1]==="b")return n*parseInt(t.slice(2),2);if(t[1]==="x")return n*parseInt(t.slice(2),16);if(t[1]==="o")return n*parseInt(t.slice(2),8)}return n*parseInt(t,10)}function isInteger(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1===0&&!o.isNegativeZero(e))}e.exports=new i("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},7316:(e,t,n)=>{"use strict";var o=n(9557);e.exports=new o("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}})},6854:(e,t,n)=>{"use strict";var o=n(9557);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new o("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},4333:(e,t,n)=>{"use strict";var o=n(9557);function resolveYamlNull(e){if(e===null)return true;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function constructYamlNull(){return null}function isNull(e){return e===null}e.exports=new o("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"})},8649:(e,t,n)=>{"use strict";var o=n(9557);var i=Object.prototype.hasOwnProperty;var a=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var t=[],n,o,d,h,m,Q=e;for(n=0,o=Q.length;n<o;n+=1){d=Q[n];m=false;if(a.call(d)!=="[object Object]")return false;for(h in d){if(i.call(d,h)){if(!m)m=true;else return false}}if(!m)return false;if(t.indexOf(h)===-1)t.push(h);else return false}return true}function constructYamlOmap(e){return e!==null?e:[]}e.exports=new o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap})},6267:(e,t,n)=>{"use strict";var o=n(9557);var i=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var t,n,o,a,d,h=e;d=new Array(h.length);for(t=0,n=h.length;t<n;t+=1){o=h[t];if(i.call(o)!=="[object Object]")return false;a=Object.keys(o);if(a.length!==1)return false;d[t]=[a[0],o[a[0]]]}return true}function constructYamlPairs(e){if(e===null)return[];var t,n,o,i,a,d=e;a=new Array(d.length);for(t=0,n=d.length;t<n;t+=1){o=d[t];i=Object.keys(o);a[t]=[i[0],o[i[0]]]}return a}e.exports=new o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs})},7161:(e,t,n)=>{"use strict";var o=n(9557);e.exports=new o("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},8758:(e,t,n)=>{"use strict";var o=n(9557);var i=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var t,n=e;for(t in n){if(i.call(n,t)){if(n[t]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new o("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},3929:(e,t,n)=>{"use strict";var o=n(9557);e.exports=new o("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}})},8966:(e,t,n)=>{"use strict";var o=n(9557);var i=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9])"+"-([0-9][0-9])$");var a=new RegExp("^([0-9][0-9][0-9][0-9])"+"-([0-9][0-9]?)"+"-([0-9][0-9]?)"+"(?:[Tt]|[ \\t]+)"+"([0-9][0-9]?)"+":([0-9][0-9])"+":([0-9][0-9])"+"(?:\\.([0-9]*))?"+"(?:[ \\t]*(Z|([-+])([0-9][0-9]?)"+"(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(e){if(e===null)return false;if(i.exec(e)!==null)return true;if(a.exec(e)!==null)return true;return false}function constructYamlTimestamp(e){var t,n,o,d,h,m,Q,k=0,_=null,L,U,P;t=i.exec(e);if(t===null)t=a.exec(e);if(t===null)throw new Error("Date resolve error");n=+t[1];o=+t[2]-1;d=+t[3];if(!t[4]){return new Date(Date.UTC(n,o,d))}h=+t[4];m=+t[5];Q=+t[6];if(t[7]){k=t[7].slice(0,3);while(k.length<3){k+="0"}k=+k}if(t[9]){L=+t[10];U=+(t[11]||0);_=(L*60+U)*6e4;if(t[9]==="-")_=-_}P=new Date(Date.UTC(n,o,d,h,m,Q,k));if(_)P.setTime(P.getTime()-_);return P}function representYamlTimestamp(e){return e.toISOString()}e.exports=new o("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp})},5560:(e,t,n)=>{var o=n(8264);e.exports=o(once);e.exports.strict=o(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},1860:e=>{var t;var n;var o;var i;var a;var d;var h;var m;var Q;var k;var _;var L;var U;var P;var H;var Y;var V;var J;var W;var j;var K;var X;var Z;var ee;var te;var re;var se;var ne;var oe;var ie;var Ae;var ae;(function(t){var n=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd){define("tslib",["exports"],(function(e){t(createExporter(n,createExporter(e)))}))}else if(true&&typeof e.exports==="object"){t(createExporter(n,createExporter(e.exports)))}else{t(createExporter(n))}function createExporter(e,t){if(e!==n){if(typeof Object.create==="function"){Object.defineProperty(e,"__esModule",{value:true})}else{e.__esModule=true}}return function(n,o){return e[n]=t?t(n,o):o}}})((function(e){var ce=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]};t=function(e,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");ce(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)};n=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++){t=arguments[n];for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i))e[i]=t[i]}return e};o=function(e,t){var n={};for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0)n[o]=e[o];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,o=Object.getOwnPropertySymbols(e);i<o.length;i++){if(t.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(e,o[i]))n[o[i]]=e[o[i]]}return n};i=function(e,t,n,o){var i=arguments.length,a=i<3?t:o===null?o=Object.getOwnPropertyDescriptor(t,n):o,d;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(e,t,n,o);else for(var h=e.length-1;h>=0;h--)if(d=e[h])a=(i<3?d(a):i>3?d(t,n,a):d(t,n))||a;return i>3&&a&&Object.defineProperty(t,n,a),a};a=function(e,t){return function(n,o){t(n,o,e)}};d=function(e,t,n,o,i,a){function accept(e){if(e!==void 0&&typeof e!=="function")throw new TypeError("Function expected");return e}var d=o.kind,h=d==="getter"?"get":d==="setter"?"set":"value";var m=!t&&e?o["static"]?e:e.prototype:null;var Q=t||(m?Object.getOwnPropertyDescriptor(m,o.name):{});var k,_=false;for(var L=n.length-1;L>=0;L--){var U={};for(var P in o)U[P]=P==="access"?{}:o[P];for(var P in o.access)U.access[P]=o.access[P];U.addInitializer=function(e){if(_)throw new TypeError("Cannot add initializers after decoration has completed");a.push(accept(e||null))};var H=(0,n[L])(d==="accessor"?{get:Q.get,set:Q.set}:Q[h],U);if(d==="accessor"){if(H===void 0)continue;if(H===null||typeof H!=="object")throw new TypeError("Object expected");if(k=accept(H.get))Q.get=k;if(k=accept(H.set))Q.set=k;if(k=accept(H.init))i.unshift(k)}else if(k=accept(H)){if(d==="field")i.unshift(k);else Q[h]=k}}if(m)Object.defineProperty(m,o.name,Q);_=true};h=function(e,t,n){var o=arguments.length>2;for(var i=0;i<t.length;i++){n=o?t[i].call(e,n):t[i].call(e)}return o?n:void 0};m=function(e){return typeof e==="symbol"?e:"".concat(e)};Q=function(e,t,n){if(typeof t==="symbol")t=t.description?"[".concat(t.description,"]"):"";return Object.defineProperty(e,"name",{configurable:true,value:n?"".concat(n," ",t):t})};k=function(e,t){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(e,t)};_=function(e,t,n,o){function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function fulfilled(e){try{step(o.next(e))}catch(e){i(e)}}function rejected(e){try{step(o["throw"](e))}catch(e){i(e)}}function step(e){e.done?n(e.value):adopt(e.value).then(fulfilled,rejected)}step((o=o.apply(e,t||[])).next())}))};L=function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},o,i,a,d=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return d.next=verb(0),d["throw"]=verb(1),d["return"]=verb(2),typeof Symbol==="function"&&(d[Symbol.iterator]=function(){return this}),d;function verb(e){return function(t){return step([e,t])}}function step(h){if(o)throw new TypeError("Generator is already executing.");while(d&&(d=0,h[0]&&(n=0)),n)try{if(o=1,i&&(a=h[0]&2?i["return"]:h[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,h[1])).done)return a;if(i=0,a)h=[h[0]&2,a.value];switch(h[0]){case 0:case 1:a=h;break;case 4:n.label++;return{value:h[1],done:false};case 5:n.label++;i=h[1];h=[0];continue;case 7:h=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(h[0]===6||h[0]===2)){n=0;continue}if(h[0]===3&&(!a||h[1]>a[0]&&h[1]<a[3])){n.label=h[1];break}if(h[0]===6&&n.label<a[1]){n.label=a[1];a=h;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(h);break}if(a[2])n.ops.pop();n.trys.pop();continue}h=t.call(e,n)}catch(e){h=[6,e];i=0}finally{o=a=0}if(h[0]&5)throw h[1];return{value:h[0]?h[1]:void 0,done:true}}};U=function(e,t){for(var n in e)if(n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n))oe(t,e,n)};oe=Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]};P=function(e){var t=typeof Symbol==="function"&&Symbol.iterator,n=t&&e[t],o=0;if(n)return n.call(e);if(e&&typeof e.length==="number")return{next:function(){if(e&&o>=e.length)e=void 0;return{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};H=function(e,t){var n=typeof Symbol==="function"&&e[Symbol.iterator];if(!n)return e;var o=n.call(e),i,a=[],d;try{while((t===void 0||t-- >0)&&!(i=o.next()).done)a.push(i.value)}catch(e){d={error:e}}finally{try{if(i&&!i.done&&(n=o["return"]))n.call(o)}finally{if(d)throw d.error}}return a};Y=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(H(arguments[t]));return e};V=function(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var o=Array(e),i=0,t=0;t<n;t++)for(var a=arguments[t],d=0,h=a.length;d<h;d++,i++)o[i]=a[d];return o};J=function(e,t,n){if(n||arguments.length===2)for(var o=0,i=t.length,a;o<i;o++){if(a||!(o in t)){if(!a)a=Array.prototype.slice.call(t,0,o);a[o]=t[o]}}return e.concat(a||Array.prototype.slice.call(t))};W=function(e){return this instanceof W?(this.v=e,this):new W(e)};j=function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=n.apply(e,t||[]),i,a=[];return i=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(e){return function(t){return Promise.resolve(t).then(e,reject)}}function verb(e,t){if(o[e]){i[e]=function(t){return new Promise((function(n,o){a.push([e,t,n,o])>1||resume(e,t)}))};if(t)i[e]=t(i[e])}}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof W?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume("next",e)}function reject(e){resume("throw",e)}function settle(e,t){if(e(t),a.shift(),a.length)resume(a[0][0],a[0][1])}};K=function(e){var t,n;return t={},verb("next"),verb("throw",(function(e){throw e})),verb("return"),t[Symbol.iterator]=function(){return this},t;function verb(o,i){t[o]=e[o]?function(t){return(n=!n)?{value:W(e[o](t)),done:false}:i?i(t):t}:i}};X=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof P==="function"?P(e):e[Symbol.iterator](),n={},verb("next"),verb("throw"),verb("return"),n[Symbol.asyncIterator]=function(){return this},n);function verb(t){n[t]=e[t]&&function(n){return new Promise((function(o,i){n=e[t](n),settle(o,i,n.done,n.value)}))}}function settle(e,t,n,o){Promise.resolve(o).then((function(t){e({value:t,done:n})}),t)}};Z=function(e,t){if(Object.defineProperty){Object.defineProperty(e,"raw",{value:t})}else{e.raw=t}return e};var le=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t};var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};ee=function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),o=0;o<n.length;o++)if(n[o]!=="default")oe(t,e,n[o]);le(t,e);return t};te=function(e){return e&&e.__esModule?e:{default:e}};re=function(e,t,n,o){if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?o:n==="a"?o.call(e):o?o.value:t.get(e)};se=function(e,t,n,o,i){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?i.call(e,n):i?i.value=n:t.set(e,n),n};ne=function(e,t){if(t===null||typeof t!=="object"&&typeof t!=="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e==="function"?t===e:e.has(t)};ie=function(e,t,n){if(t!==null&&t!==void 0){if(typeof t!=="object"&&typeof t!=="function")throw new TypeError("Object expected.");var o,i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");o=t[Symbol.asyncDispose]}if(o===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");o=t[Symbol.dispose];if(n)i=o}if(typeof o!=="function")throw new TypeError("Object not disposable.");if(i)o=function(){try{i.call(this)}catch(e){return Promise.reject(e)}};e.stack.push({value:t,dispose:o,async:n})}else if(n){e.stack.push({async:true})}return t};var ue=typeof SuppressedError==="function"?SuppressedError:function(e,t,n){var o=new Error(n);return o.name="SuppressedError",o.error=e,o.suppressed=t,o};Ae=function(e){function fail(t){e.error=e.hasError?new ue(t,e.error,"An error was suppressed during disposal."):t;e.hasError=true}var t,n=0;function next(){while(t=e.stack.pop()){try{if(!t.async&&n===1)return n=0,e.stack.push(t),Promise.resolve().then(next);if(t.dispose){var o=t.dispose.call(t.value);if(t.async)return n|=2,Promise.resolve(o).then(next,(function(e){fail(e);return next()}))}else n|=1}catch(e){fail(e)}}if(n===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return next()};ae=function(e,t){if(typeof e==="string"&&/^\.\.?\//.test(e)){return e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,(function(e,n,o,i,a){return n?t?".jsx":".js":o&&(!i||!a)?e:o+i+"."+a.toLowerCase()+"js"}))}return e};e("__extends",t);e("__assign",n);e("__rest",o);e("__decorate",i);e("__param",a);e("__esDecorate",d);e("__runInitializers",h);e("__propKey",m);e("__setFunctionName",Q);e("__metadata",k);e("__awaiter",_);e("__generator",L);e("__exportStar",U);e("__createBinding",oe);e("__values",P);e("__read",H);e("__spread",Y);e("__spreadArrays",V);e("__spreadArray",J);e("__await",W);e("__asyncGenerator",j);e("__asyncDelegator",K);e("__asyncValues",X);e("__makeTemplateObject",Z);e("__importStar",ee);e("__importDefault",te);e("__classPrivateFieldGet",re);e("__classPrivateFieldSet",se);e("__classPrivateFieldIn",ne);e("__addDisposableResource",ie);e("__disposeResources",Ae);e("__rewriteRelativeImportExtension",ae)}));0&&0},770:(e,t,n)=>{e.exports=n(7837)},7837:(e,t,n)=>{"use strict";var o=n(9278);var i=n(4756);var a=n(8611);var d=n(5692);var h=n(4434);var m=n(2613);var Q=n(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=a.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=a.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=d.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=d.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||a.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,n,o,i){var a=toOptions(n,o,i);for(var d=0,h=t.requests.length;d<h;++d){var m=t.requests[d];if(m.host===a.host&&m.port===a.port){t.requests.splice(d,1);m.request.onSocket(e);return}}e.destroy();t.removeSocket(e)}))}Q.inherits(TunnelingAgent,h.EventEmitter);TunnelingAgent.prototype.addRequest=function addRequest(e,t,n,o){var i=this;var a=mergeOptions({request:e},i.options,toOptions(t,n,o));if(i.sockets.length>=this.maxSockets){i.requests.push(a);return}i.createSocket(a,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){i.emit("free",t,a)}function onCloseOrRemove(e){i.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var n=this;var o={};n.sockets.push(o);var i=mergeOptions({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){i.localAddress=e.localAddress}if(i.proxyAuth){i.headers=i.headers||{};i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")}k("making CONNECT request");var a=n.request(i);a.useChunkedEncodingByDefault=false;a.once("response",onResponse);a.once("upgrade",onUpgrade);a.once("connect",onConnect);a.once("error",onError);a.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,n){process.nextTick((function(){onConnect(e,t,n)}))}function onConnect(i,d,h){a.removeAllListeners();d.removeAllListeners();if(i.statusCode!==200){k("tunneling socket could not be established, statusCode=%d",i.statusCode);d.destroy();var m=new Error("tunneling socket could not be established, "+"statusCode="+i.statusCode);m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(o);return}if(h.length>0){k("got illegal response body from proxy");d.destroy();var m=new Error("got illegal response body from proxy");m.code="ECONNRESET";e.request.emit("error",m);n.removeSocket(o);return}k("tunneling connection has established");n.sockets[n.sockets.indexOf(o)]=d;return t(d)}function onError(t){a.removeAllListeners();k("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var i=new Error("tunneling socket could not be established, "+"cause="+t.message);i.code="ECONNRESET";e.request.emit("error",i);n.removeSocket(o)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var n=this.requests.shift();if(n){this.createSocket(n,(function(e){n.request.onSocket(e)}))}};function createSecureSocket(e,t){var n=this;TunnelingAgent.prototype.createSocket.call(n,e,(function(o){var a=e.request.getHeader("host");var d=mergeOptions({},n.options,{socket:o,servername:a?a.replace(/:.*$/,""):e.host});var h=i.connect(0,d);n.sockets[n.sockets.indexOf(o)]=h;t(h)}))}function toOptions(e,t,n){if(typeof e==="string"){return{host:e,port:t,localAddress:n}}return e}function mergeOptions(e){for(var t=1,n=arguments.length;t<n;++t){var o=arguments[t];if(typeof o==="object"){var i=Object.keys(o);for(var a=0,d=i.length;a<d;++a){var h=i[a];if(o[h]!==undefined){e[h]=o[h]}}}}return e}var k;if(process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)){k=function(){var e=Array.prototype.slice.call(arguments);if(typeof e[0]==="string"){e[0]="TUNNEL: "+e[0]}else{e.unshift("TUNNEL:")}console.error.apply(console,e)}}else{k=function(){}}t.debug=k},6752:(e,t,n)=>{"use strict";const o=n(6197);const i=n(992);const a=n(8707);const d=n(5076);const h=n(1093);const m=n(9965);const Q=n(3440);const{InvalidArgumentError:k}=a;const _=n(6615);const L=n(9136);const U=n(7365);const P=n(7501);const H=n(4004);const Y=n(2429);const V=n(2720);const J=n(3573);const{getGlobalDispatcher:W,setGlobalDispatcher:j}=n(2581);const K=n(8840);const X=n(8299);const Z=n(4415);let ee;try{n(6982);ee=true}catch{ee=false}Object.assign(i.prototype,_);e.exports.Dispatcher=i;e.exports.Client=o;e.exports.Pool=d;e.exports.BalancedPool=h;e.exports.Agent=m;e.exports.ProxyAgent=V;e.exports.RetryHandler=J;e.exports.DecoratorHandler=K;e.exports.RedirectHandler=X;e.exports.createRedirectInterceptor=Z;e.exports.buildConnector=L;e.exports.errors=a;function makeDispatcher(e){return(t,n,o)=>{if(typeof n==="function"){o=n;n=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new k("invalid url")}if(n!=null&&typeof n!=="object"){throw new k("invalid opts")}if(n&&n.path!=null){if(typeof n.path!=="string"){throw new k("invalid opts.path")}let e=n.path;if(!n.path.startsWith("/")){e=`/${e}`}t=new URL(Q.parseOrigin(t).origin+e)}else{if(!n){n=typeof t==="object"?t:{}}t=Q.parseURL(t)}const{agent:i,dispatcher:a=W()}=n;if(i){throw new k("unsupported opts.agent. Did you mean opts.client?")}return e.call(a,{...n,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:n.method||(n.body?"PUT":"GET")},o)}}e.exports.setGlobalDispatcher=j;e.exports.getGlobalDispatcher=W;if(Q.nodeMajor>16||Q.nodeMajor===16&&Q.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=n(2315).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=n(6349).Headers;e.exports.Response=n(8676).Response;e.exports.Request=n(5194).Request;e.exports.FormData=n(3073).FormData;e.exports.File=n(3041).File;e.exports.FileReader=n(2160).FileReader;const{setGlobalOrigin:o,getGlobalOrigin:i}=n(5628);e.exports.setGlobalOrigin=o;e.exports.getGlobalOrigin=i;const{CacheStorage:a}=n(4738);const{kConstruct:d}=n(296);e.exports.caches=new a(d)}if(Q.nodeMajor>=16){const{deleteCookie:t,getCookies:o,getSetCookies:i,setCookie:a}=n(3168);e.exports.deleteCookie=t;e.exports.getCookies=o;e.exports.getSetCookies=i;e.exports.setCookie=a;const{parseMIMEType:d,serializeAMimeType:h}=n(4322);e.exports.parseMIMEType=d;e.exports.serializeAMimeType=h}if(Q.nodeMajor>=18&&ee){const{WebSocket:t}=n(5171);e.exports.WebSocket=t}e.exports.request=makeDispatcher(_.request);e.exports.stream=makeDispatcher(_.stream);e.exports.pipeline=makeDispatcher(_.pipeline);e.exports.connect=makeDispatcher(_.connect);e.exports.upgrade=makeDispatcher(_.upgrade);e.exports.MockClient=U;e.exports.MockPool=H;e.exports.MockAgent=P;e.exports.mockErrors=Y},9965:(e,t,n)=>{"use strict";const{InvalidArgumentError:o}=n(8707);const{kClients:i,kRunning:a,kClose:d,kDestroy:h,kDispatch:m,kInterceptors:Q}=n(6443);const k=n(1);const _=n(5076);const L=n(6197);const U=n(3440);const P=n(4415);const{WeakRef:H,FinalizationRegistry:Y}=n(3194)();const V=Symbol("onConnect");const J=Symbol("onDisconnect");const W=Symbol("onConnectionError");const j=Symbol("maxRedirections");const K=Symbol("onDrain");const X=Symbol("factory");const Z=Symbol("finalizer");const ee=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new L(e,t):new _(e,t)}class Agent extends k{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:n,...a}={}){super();if(typeof e!=="function"){throw new o("factory must be a function.")}if(n!=null&&typeof n!=="function"&&typeof n!=="object"){throw new o("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new o("maxRedirections must be a positive number")}if(n&&typeof n!=="function"){n={...n}}this[Q]=a.interceptors&&a.interceptors.Agent&&Array.isArray(a.interceptors.Agent)?a.interceptors.Agent:[P({maxRedirections:t})];this[ee]={...U.deepClone(a),connect:n};this[ee].interceptors=a.interceptors?{...a.interceptors}:undefined;this[j]=t;this[X]=e;this[i]=new Map;this[Z]=new Y((e=>{const t=this[i].get(e);if(t!==undefined&&t.deref()===undefined){this[i].delete(e)}}));const d=this;this[K]=(e,t)=>{d.emit("drain",e,[d,...t])};this[V]=(e,t)=>{d.emit("connect",e,[d,...t])};this[J]=(e,t,n)=>{d.emit("disconnect",e,[d,...t],n)};this[W]=(e,t,n)=>{d.emit("connectionError",e,[d,...t],n)}}get[a](){let e=0;for(const t of this[i].values()){const n=t.deref();if(n){e+=n[a]}}return e}[m](e,t){let n;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){n=String(e.origin)}else{throw new o("opts.origin must be a non-empty string or URL.")}const a=this[i].get(n);let d=a?a.deref():null;if(!d){d=this[X](e.origin,this[ee]).on("drain",this[K]).on("connect",this[V]).on("disconnect",this[J]).on("connectionError",this[W]);this[i].set(n,new H(d));this[Z].register(d,n)}return d.dispatch(e,t)}async[d](){const e=[];for(const t of this[i].values()){const n=t.deref();if(n){e.push(n.close())}}await Promise.all(e)}async[h](e){const t=[];for(const n of this[i].values()){const o=n.deref();if(o){t.push(o.destroy(e))}}await Promise.all(t)}}e.exports=Agent},158:(e,t,n)=>{const{addAbortListener:o}=n(3440);const{RequestAbortedError:i}=n(8707);const a=Symbol("kListener");const d=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new i)}}function addSignal(e,t){e[d]=null;e[a]=null;if(!t){return}if(t.aborted){abort(e);return}e[d]=t;e[a]=()=>{abort(e)};o(e[d],e[a])}function removeSignal(e){if(!e[d]){return}if("removeEventListener"in e[d]){e[d].removeEventListener("abort",e[a])}else{e[d].removeListener("abort",e[a])}e[d]=null;e[a]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},4660:(e,t,n)=>{"use strict";const{AsyncResource:o}=n(290);const{InvalidArgumentError:i,RequestAbortedError:a,SocketError:d}=n(8707);const h=n(3440);const{addSignal:m,removeSignal:Q}=n(158);class ConnectHandler extends o{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid callback")}const{signal:n,opaque:o,responseHeaders:a}=e;if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=o||null;this.responseHeaders=a||null;this.callback=t;this.abort=null;m(this,n)}onConnect(e,t){if(!this.callback){throw new a}this.abort=e;this.context=t}onHeaders(){throw new d("bad connect",null)}onUpgrade(e,t,n){const{callback:o,opaque:i,context:a}=this;Q(this);this.callback=null;let d=t;if(d!=null){d=this.responseHeaders==="raw"?h.parseRawHeaders(t):h.parseHeaders(t)}this.runInAsyncScope(o,null,null,{statusCode:e,headers:d,socket:n,opaque:i,context:a})}onError(e){const{callback:t,opaque:n}=this;Q(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:n})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,n)=>{connect.call(this,e,((e,o)=>e?n(e):t(o)))}))}try{const n=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},n)}catch(n){if(typeof t!=="function"){throw n}const o=e&&e.opaque;queueMicrotask((()=>t(n,{opaque:o})))}}e.exports=connect},6862:(e,t,n)=>{"use strict";const{Readable:o,Duplex:i,PassThrough:a}=n(2203);const{InvalidArgumentError:d,InvalidReturnValueError:h,RequestAbortedError:m}=n(8707);const Q=n(3440);const{AsyncResource:k}=n(290);const{addSignal:_,removeSignal:L}=n(158);const U=n(2613);const P=Symbol("resume");class PipelineRequest extends o{constructor(){super({autoDestroy:true});this[P]=null}_read(){const{[P]:e}=this;if(e){this[P]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends o{constructor(e){super({autoDestroy:true});this[P]=e}_read(){this[P]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new m}t(e)}}class PipelineHandler extends k{constructor(e,t){if(!e||typeof e!=="object"){throw new d("invalid opts")}if(typeof t!=="function"){throw new d("invalid handler")}const{signal:n,method:o,opaque:a,onInfo:h,responseHeaders:k}=e;if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new d("signal must be an EventEmitter or EventTarget")}if(o==="CONNECT"){throw new d("invalid method")}if(h&&typeof h!=="function"){throw new d("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=a||null;this.responseHeaders=k||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=h||null;this.req=(new PipelineRequest).on("error",Q.nop);this.ret=new i({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,n)=>{const{req:o}=this;if(o.push(e,t)||o._readableState.destroyed){n()}else{o[P]=n}},destroy:(e,t)=>{const{body:n,req:o,res:i,ret:a,abort:d}=this;if(!e&&!a._readableState.endEmitted){e=new m}if(d&&e){d()}Q.destroy(n,e);Q.destroy(o,e);Q.destroy(i,e);L(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;_(this,n)}onConnect(e,t){const{ret:n,res:o}=this;U(!o,"pipeline cannot be retried");if(n.destroyed){throw new m}this.abort=e;this.context=t}onHeaders(e,t,n){const{opaque:o,handler:i,context:a}=this;if(e<200){if(this.onInfo){const n=this.responseHeaders==="raw"?Q.parseRawHeaders(t):Q.parseHeaders(t);this.onInfo({statusCode:e,headers:n})}return}this.res=new PipelineResponse(n);let d;try{this.handler=null;const n=this.responseHeaders==="raw"?Q.parseRawHeaders(t):Q.parseHeaders(t);d=this.runInAsyncScope(i,null,{statusCode:e,headers:n,opaque:o,body:this.res,context:a})}catch(e){this.res.on("error",Q.nop);throw e}if(!d||typeof d.on!=="function"){throw new h("expected Readable")}d.on("data",(e=>{const{ret:t,body:n}=this;if(!t.push(e)&&n.pause){n.pause()}})).on("error",(e=>{const{ret:t}=this;Q.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){Q.destroy(e,new m)}}));this.body=d}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;Q.destroy(t,e)}}function pipeline(e,t){try{const n=new PipelineHandler(e,t);this.dispatch({...e,body:n.req},n);return n.ret}catch(e){return(new a).destroy(e)}}e.exports=pipeline},4043:(e,t,n)=>{"use strict";const o=n(9927);const{InvalidArgumentError:i,RequestAbortedError:a}=n(8707);const d=n(3440);const{getResolveErrorBodyCallback:h}=n(7655);const{AsyncResource:m}=n(290);const{addSignal:Q,removeSignal:k}=n(158);class RequestHandler extends m{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}const{signal:n,method:o,opaque:a,body:h,onInfo:m,responseHeaders:k,throwOnError:_,highWaterMark:L}=e;try{if(typeof t!=="function"){throw new i("invalid callback")}if(L&&(typeof L!=="number"||L<0)){throw new i("invalid highWaterMark")}if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(o==="CONNECT"){throw new i("invalid method")}if(m&&typeof m!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(d.isStream(h)){d.destroy(h.on("error",d.nop),e)}throw e}this.responseHeaders=k||null;this.opaque=a||null;this.callback=t;this.res=null;this.abort=null;this.body=h;this.trailers={};this.context=null;this.onInfo=m||null;this.throwOnError=_;this.highWaterMark=L;if(d.isStream(h)){h.on("error",(e=>{this.onError(e)}))}Q(this,n)}onConnect(e,t){if(!this.callback){throw new a}this.abort=e;this.context=t}onHeaders(e,t,n,i){const{callback:a,opaque:m,abort:Q,context:k,responseHeaders:_,highWaterMark:L}=this;const U=_==="raw"?d.parseRawHeaders(t):d.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:U})}return}const P=_==="raw"?d.parseHeaders(t):U;const H=P["content-type"];const Y=new o({resume:n,abort:Q,contentType:H,highWaterMark:L});this.callback=null;this.res=Y;if(a!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(h,null,{callback:a,body:Y,contentType:H,statusCode:e,statusMessage:i,headers:U})}else{this.runInAsyncScope(a,null,null,{statusCode:e,headers:U,trailers:this.trailers,opaque:m,body:Y,context:k})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;k(this);d.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:n,body:o,opaque:i}=this;k(this);if(n){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(n,null,e,{opaque:i})}))}if(t){this.res=null;queueMicrotask((()=>{d.destroy(t,e)}))}if(o){this.body=null;d.destroy(o,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,n)=>{request.call(this,e,((e,o)=>e?n(e):t(o)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(n){if(typeof t!=="function"){throw n}const o=e&&e.opaque;queueMicrotask((()=>t(n,{opaque:o})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},3560:(e,t,n)=>{"use strict";const{finished:o,PassThrough:i}=n(2203);const{InvalidArgumentError:a,InvalidReturnValueError:d,RequestAbortedError:h}=n(8707);const m=n(3440);const{getResolveErrorBodyCallback:Q}=n(7655);const{AsyncResource:k}=n(290);const{addSignal:_,removeSignal:L}=n(158);class StreamHandler extends k{constructor(e,t,n){if(!e||typeof e!=="object"){throw new a("invalid opts")}const{signal:o,method:i,opaque:d,body:h,onInfo:Q,responseHeaders:k,throwOnError:L}=e;try{if(typeof n!=="function"){throw new a("invalid callback")}if(typeof t!=="function"){throw new a("invalid factory")}if(o&&typeof o.on!=="function"&&typeof o.addEventListener!=="function"){throw new a("signal must be an EventEmitter or EventTarget")}if(i==="CONNECT"){throw new a("invalid method")}if(Q&&typeof Q!=="function"){throw new a("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(m.isStream(h)){m.destroy(h.on("error",m.nop),e)}throw e}this.responseHeaders=k||null;this.opaque=d||null;this.factory=t;this.callback=n;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=h;this.onInfo=Q||null;this.throwOnError=L||false;if(m.isStream(h)){h.on("error",(e=>{this.onError(e)}))}_(this,o)}onConnect(e,t){if(!this.callback){throw new h}this.abort=e;this.context=t}onHeaders(e,t,n,a){const{factory:h,opaque:k,context:_,callback:L,responseHeaders:U}=this;const P=U==="raw"?m.parseRawHeaders(t):m.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:P})}return}this.factory=null;let H;if(this.throwOnError&&e>=400){const n=U==="raw"?m.parseHeaders(t):P;const o=n["content-type"];H=new i;this.callback=null;this.runInAsyncScope(Q,null,{callback:L,body:H,contentType:o,statusCode:e,statusMessage:a,headers:P})}else{if(h===null){return}H=this.runInAsyncScope(h,null,{statusCode:e,headers:P,opaque:k,context:_});if(!H||typeof H.write!=="function"||typeof H.end!=="function"||typeof H.on!=="function"){throw new d("expected Writable")}o(H,{readable:false},(e=>{const{callback:t,res:n,opaque:o,trailers:i,abort:a}=this;this.res=null;if(e||!n.readable){m.destroy(n,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:o,trailers:i});if(e){a()}}))}H.on("drain",n);this.res=H;const Y=H.writableNeedDrain!==undefined?H.writableNeedDrain:H._writableState&&H._writableState.needDrain;return Y!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;L(this);if(!t){return}this.trailers=m.parseHeaders(e);t.end()}onError(e){const{res:t,callback:n,opaque:o,body:i}=this;L(this);this.factory=null;if(t){this.res=null;m.destroy(t,e)}else if(n){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(n,null,e,{opaque:o})}))}if(i){this.body=null;m.destroy(i,e)}}}function stream(e,t,n){if(n===undefined){return new Promise(((n,o)=>{stream.call(this,e,t,((e,t)=>e?o(e):n(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,n))}catch(t){if(typeof n!=="function"){throw t}const o=e&&e.opaque;queueMicrotask((()=>n(t,{opaque:o})))}}e.exports=stream},1882:(e,t,n)=>{"use strict";const{InvalidArgumentError:o,RequestAbortedError:i,SocketError:a}=n(8707);const{AsyncResource:d}=n(290);const h=n(3440);const{addSignal:m,removeSignal:Q}=n(158);const k=n(2613);class UpgradeHandler extends d{constructor(e,t){if(!e||typeof e!=="object"){throw new o("invalid opts")}if(typeof t!=="function"){throw new o("invalid callback")}const{signal:n,opaque:i,responseHeaders:a}=e;if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=a||null;this.opaque=i||null;this.callback=t;this.abort=null;this.context=null;m(this,n)}onConnect(e,t){if(!this.callback){throw new i}this.abort=e;this.context=null}onHeaders(){throw new a("bad upgrade",null)}onUpgrade(e,t,n){const{callback:o,opaque:i,context:a}=this;k.strictEqual(e,101);Q(this);this.callback=null;const d=this.responseHeaders==="raw"?h.parseRawHeaders(t):h.parseHeaders(t);this.runInAsyncScope(o,null,null,{headers:d,socket:n,opaque:i,context:a})}onError(e){const{callback:t,opaque:n}=this;Q(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:n})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,n)=>{upgrade.call(this,e,((e,o)=>e?n(e):t(o)))}))}try{const n=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},n)}catch(n){if(typeof t!=="function"){throw n}const o=e&&e.opaque;queueMicrotask((()=>t(n,{opaque:o})))}}e.exports=upgrade},6615:(e,t,n)=>{"use strict";e.exports.request=n(4043);e.exports.stream=n(3560);e.exports.pipeline=n(6862);e.exports.upgrade=n(1882);e.exports.connect=n(4660)},9927:(e,t,n)=>{"use strict";const o=n(2613);const{Readable:i}=n(2203);const{RequestAbortedError:a,NotSupportedError:d,InvalidArgumentError:h}=n(8707);const m=n(3440);const{ReadableStreamFrom:Q,toUSVString:k}=n(3440);let _;const L=Symbol("kConsume");const U=Symbol("kReading");const P=Symbol("kBody");const H=Symbol("abort");const Y=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends i{constructor({resume:e,abort:t,contentType:n="",highWaterMark:o=64*1024}){super({autoDestroy:true,read:e,highWaterMark:o});this._readableState.dataEmitted=false;this[H]=t;this[L]=null;this[P]=null;this[Y]=n;this[U]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new a}if(e){this[H]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[U]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const n=super.off(e,...t);if(e==="data"||e==="readable"){this[U]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return n}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[L]&&e!==null&&this.readableLength===0){consumePush(this[L],e);return this[U]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new d}get bodyUsed(){return m.isDisturbed(this)}get body(){if(!this[P]){this[P]=Q(this);if(this[L]){this[P].getReader();o(this[P].locked)}}return this[P]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const n=e&&e.signal;if(n){try{if(typeof n!=="object"||!("aborted"in n)){throw new h("signal must be an AbortSignal")}m.throwIfAborted(n)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,o)=>{const i=n?m.addAbortListener(n,(()=>{this.destroy()})):noop;this.on("close",(function(){i();if(n&&n.aborted){o(n.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[P]&&e[P].locked===true||e[L]}function isUnusable(e){return m.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}o(!e[L]);return new Promise(((n,o)=>{e[L]={type:t,stream:e,resolve:n,reject:o,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[L],e)})).on("close",(function(){if(this[L].body!==null){consumeFinish(this[L],new a)}}));process.nextTick(consumeStart,e[L])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const n of t.buffer){consumePush(e,n)}if(t.endEmitted){consumeEnd(this[L])}else{e.stream.on("end",(function(){consumeEnd(this[L])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:o,resolve:i,stream:a,length:d}=e;try{if(t==="text"){i(k(Buffer.concat(o)))}else if(t==="json"){i(JSON.parse(Buffer.concat(o)))}else if(t==="arrayBuffer"){const e=new Uint8Array(d);let t=0;for(const n of o){e.set(n,t);t+=n.byteLength}i(e.buffer)}else if(t==="blob"){if(!_){_=n(181).Blob}i(new _(o,{type:a[Y]}))}consumeFinish(e)}catch(e){a.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},7655:(e,t,n)=>{const o=n(2613);const{ResponseStatusCodeError:i}=n(8707);const{toUSVString:a}=n(3440);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:n,statusCode:d,statusMessage:h,headers:m}){o(t);let Q=[];let k=0;for await(const e of t){Q.push(e);k+=e.length;if(k>128*1024){Q=null;break}}if(d===204||!n||!Q){process.nextTick(e,new i(`Response status code ${d}${h?`: ${h}`:""}`,d,m));return}try{if(n.startsWith("application/json")){const t=JSON.parse(a(Buffer.concat(Q)));process.nextTick(e,new i(`Response status code ${d}${h?`: ${h}`:""}`,d,m,t));return}if(n.startsWith("text/")){const t=a(Buffer.concat(Q));process.nextTick(e,new i(`Response status code ${d}${h?`: ${h}`:""}`,d,m,t));return}}catch(e){}process.nextTick(e,new i(`Response status code ${d}${h?`: ${h}`:""}`,d,m))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},1093:(e,t,n)=>{"use strict";const{BalancedPoolMissingUpstreamError:o,InvalidArgumentError:i}=n(8707);const{PoolBase:a,kClients:d,kNeedDrain:h,kAddClient:m,kRemoveClient:Q,kGetDispatcher:k}=n(8640);const _=n(5076);const{kUrl:L,kInterceptors:U}=n(6443);const{parseOrigin:P}=n(3440);const H=Symbol("factory");const Y=Symbol("options");const V=Symbol("kGreatestCommonDivisor");const J=Symbol("kCurrentWeight");const W=Symbol("kIndex");const j=Symbol("kWeight");const K=Symbol("kMaxWeightPerServer");const X=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new _(e,t)}class BalancedPool extends a{constructor(e=[],{factory:t=defaultFactory,...n}={}){super();this[Y]=n;this[W]=-1;this[J]=0;this[K]=this[Y].maxWeightPerServer||100;this[X]=this[Y].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new i("factory must be a function.")}this[U]=n.interceptors&&n.interceptors.BalancedPool&&Array.isArray(n.interceptors.BalancedPool)?n.interceptors.BalancedPool:[];this[H]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=P(e).origin;if(this[d].find((e=>e[L].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const n=this[H](t,Object.assign({},this[Y]));this[m](n);n.on("connect",(()=>{n[j]=Math.min(this[K],n[j]+this[X])}));n.on("connectionError",(()=>{n[j]=Math.max(1,n[j]-this[X]);this._updateBalancedPoolStats()}));n.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){n[j]=Math.max(1,n[j]-this[X]);this._updateBalancedPoolStats()}}));for(const e of this[d]){e[j]=this[K]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[V]=this[d].map((e=>e[j])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=P(e).origin;const n=this[d].find((e=>e[L].origin===t&&e.closed!==true&&e.destroyed!==true));if(n){this[Q](n)}return this}get upstreams(){return this[d].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[L].origin))}[k](){if(this[d].length===0){throw new o}const e=this[d].find((e=>!e[h]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[d].map((e=>e[h])).reduce(((e,t)=>e&&t),true);if(t){return}let n=0;let i=this[d].findIndex((e=>!e[h]));while(n++<this[d].length){this[W]=(this[W]+1)%this[d].length;const e=this[d][this[W]];if(e[j]>this[d][i][j]&&!e[h]){i=this[W]}if(this[W]===0){this[J]=this[J]-this[V];if(this[J]<=0){this[J]=this[K]}}if(e[j]>=this[J]&&!e[h]){return e}}this[J]=this[d][i][j];this[W]=i;return this[d][i]}}e.exports=BalancedPool},479:(e,t,n)=>{"use strict";const{kConstruct:o}=n(296);const{urlEquals:i,fieldValues:a}=n(3993);const{kEnumerableProperty:d,isDisturbed:h}=n(3440);const{kHeadersList:m}=n(6443);const{webidl:Q}=n(4222);const{Response:k,cloneResponse:_}=n(8676);const{Request:L}=n(5194);const{kState:U,kHeaders:P,kGuard:H,kRealm:Y}=n(9710);const{fetching:V}=n(2315);const{urlIsHttpHttpsScheme:J,createDeferredPromise:W,readAllBytes:j}=n(5523);const K=n(2613);const{getGlobalDispatcher:X}=n(2581);class Cache{#e;constructor(){if(arguments[0]!==o){Q.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){Q.brandCheck(this,Cache);Q.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=Q.converters.RequestInfo(e);t=Q.converters.CacheQueryOptions(t);const n=await this.matchAll(e,t);if(n.length===0){return}return n[0]}async matchAll(e=undefined,t={}){Q.brandCheck(this,Cache);if(e!==undefined)e=Q.converters.RequestInfo(e);t=Q.converters.CacheQueryOptions(t);let n=null;if(e!==undefined){if(e instanceof L){n=e[U];if(n.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){n=new L(e)[U]}}const o=[];if(e===undefined){for(const e of this.#e){o.push(e[1])}}else{const e=this.#t(n,t);for(const t of e){o.push(t[1])}}const i=[];for(const e of o){const t=new k(e.body?.source??null);const n=t[U].body;t[U]=e;t[U].body=n;t[P][m]=e.headersList;t[P][H]="immutable";i.push(t)}return Object.freeze(i)}async add(e){Q.brandCheck(this,Cache);Q.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=Q.converters.RequestInfo(e);const t=[e];const n=this.addAll(t);return await n}async addAll(e){Q.brandCheck(this,Cache);Q.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=Q.converters["sequence<RequestInfo>"](e);const t=[];const n=[];for(const t of e){if(typeof t==="string"){continue}const e=t[U];if(!J(e.url)||e.method!=="GET"){throw Q.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const o=[];for(const i of e){const e=new L(i)[U];if(!J(e.url)){throw Q.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";n.push(e);const d=W();o.push(V({request:e,dispatcher:X(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){d.reject(Q.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=a(e.headersList.get("vary"));for(const e of t){if(e==="*"){d.reject(Q.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of o){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){d.reject(new DOMException("aborted","AbortError"));return}d.resolve(e)}}));t.push(d.promise)}const i=Promise.all(t);const d=await i;const h=[];let m=0;for(const e of d){const t={type:"put",request:n[m],response:e};h.push(t);m++}const k=W();let _=null;try{this.#r(h)}catch(e){_=e}queueMicrotask((()=>{if(_===null){k.resolve(undefined)}else{k.reject(_)}}));return k.promise}async put(e,t){Q.brandCheck(this,Cache);Q.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=Q.converters.RequestInfo(e);t=Q.converters.Response(t);let n=null;if(e instanceof L){n=e[U]}else{n=new L(e)[U]}if(!J(n.url)||n.method!=="GET"){throw Q.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const o=t[U];if(o.status===206){throw Q.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(o.headersList.contains("vary")){const e=a(o.headersList.get("vary"));for(const t of e){if(t==="*"){throw Q.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(o.body&&(h(o.body.stream)||o.body.stream.locked)){throw Q.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const i=_(o);const d=W();if(o.body!=null){const e=o.body.stream;const t=e.getReader();j(t).then(d.resolve,d.reject)}else{d.resolve(undefined)}const m=[];const k={type:"put",request:n,response:i};m.push(k);const P=await d.promise;if(i.body!=null){i.body.source=P}const H=W();let Y=null;try{this.#r(m)}catch(e){Y=e}queueMicrotask((()=>{if(Y===null){H.resolve()}else{H.reject(Y)}}));return H.promise}async delete(e,t={}){Q.brandCheck(this,Cache);Q.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=Q.converters.RequestInfo(e);t=Q.converters.CacheQueryOptions(t);let n=null;if(e instanceof L){n=e[U];if(n.method!=="GET"&&!t.ignoreMethod){return false}}else{K(typeof e==="string");n=new L(e)[U]}const o=[];const i={type:"delete",request:n,options:t};o.push(i);const a=W();let d=null;let h;try{h=this.#r(o)}catch(e){d=e}queueMicrotask((()=>{if(d===null){a.resolve(!!h?.length)}else{a.reject(d)}}));return a.promise}async keys(e=undefined,t={}){Q.brandCheck(this,Cache);if(e!==undefined)e=Q.converters.RequestInfo(e);t=Q.converters.CacheQueryOptions(t);let n=null;if(e!==undefined){if(e instanceof L){n=e[U];if(n.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){n=new L(e)[U]}}const o=W();const i=[];if(e===undefined){for(const e of this.#e){i.push(e[0])}}else{const e=this.#t(n,t);for(const t of e){i.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of i){const n=new L("https://a");n[U]=t;n[P][m]=t.headersList;n[P][H]="immutable";n[Y]=t.client;e.push(n)}o.resolve(Object.freeze(e))}));return o.promise}#r(e){const t=this.#e;const n=[...t];const o=[];const i=[];try{for(const n of e){if(n.type!=="delete"&&n.type!=="put"){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(n.type==="delete"&&n.response!=null){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(n.request,n.options,o).length){throw new DOMException("???","InvalidStateError")}let e;if(n.type==="delete"){e=this.#t(n.request,n.options);if(e.length===0){return[]}for(const n of e){const e=t.indexOf(n);K(e!==-1);t.splice(e,1)}}else if(n.type==="put"){if(n.response==null){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const i=n.request;if(!J(i.url)){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(i.method!=="GET"){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(n.options!=null){throw Q.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(n.request);for(const n of e){const e=t.indexOf(n);K(e!==-1);t.splice(e,1)}t.push([n.request,n.response]);o.push([n.request,n.response])}i.push([n.request,n.response])}return i}catch(e){this.#e.length=0;this.#e=n;throw e}}#t(e,t,n){const o=[];const i=n??this.#e;for(const n of i){const[i,a]=n;if(this.#s(e,i,a,t)){o.push(n)}}return o}#s(e,t,n=null,o){const d=new URL(e.url);const h=new URL(t.url);if(o?.ignoreSearch){h.search="";d.search=""}if(!i(d,h,true)){return false}if(n==null||o?.ignoreVary||!n.headersList.contains("vary")){return true}const m=a(n.headersList.get("vary"));for(const n of m){if(n==="*"){return false}const o=t.headersList.get(n);const i=e.headersList.get(n);if(o!==i){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:d,matchAll:d,add:d,addAll:d,put:d,delete:d,keys:d});const Z=[{key:"ignoreSearch",converter:Q.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:Q.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:Q.converters.boolean,defaultValue:false}];Q.converters.CacheQueryOptions=Q.dictionaryConverter(Z);Q.converters.MultiCacheQueryOptions=Q.dictionaryConverter([...Z,{key:"cacheName",converter:Q.converters.DOMString}]);Q.converters.Response=Q.interfaceConverter(k);Q.converters["sequence<RequestInfo>"]=Q.sequenceConverter(Q.converters.RequestInfo);e.exports={Cache:Cache}},4738:(e,t,n)=>{"use strict";const{kConstruct:o}=n(296);const{Cache:i}=n(479);const{webidl:a}=n(4222);const{kEnumerableProperty:d}=n(3440);class CacheStorage{#n=new Map;constructor(){if(arguments[0]!==o){a.illegalConstructor()}}async match(e,t={}){a.brandCheck(this,CacheStorage);a.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=a.converters.RequestInfo(e);t=a.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#n.has(t.cacheName)){const n=this.#n.get(t.cacheName);const a=new i(o,n);return await a.match(e,t)}}else{for(const n of this.#n.values()){const a=new i(o,n);const d=await a.match(e,t);if(d!==undefined){return d}}}}async has(e){a.brandCheck(this,CacheStorage);a.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=a.converters.DOMString(e);return this.#n.has(e)}async open(e){a.brandCheck(this,CacheStorage);a.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=a.converters.DOMString(e);if(this.#n.has(e)){const t=this.#n.get(e);return new i(o,t)}const t=[];this.#n.set(e,t);return new i(o,t)}async delete(e){a.brandCheck(this,CacheStorage);a.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=a.converters.DOMString(e);return this.#n.delete(e)}async keys(){a.brandCheck(this,CacheStorage);const e=this.#n.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:d,has:d,open:d,delete:d,keys:d});e.exports={CacheStorage:CacheStorage}},296:(e,t,n)=>{"use strict";e.exports={kConstruct:n(6443).kConstruct}},3993:(e,t,n)=>{"use strict";const o=n(2613);const{URLSerializer:i}=n(4322);const{isValidHeaderName:a}=n(5523);function urlEquals(e,t,n=false){const o=i(e,n);const a=i(t,n);return o===a}function fieldValues(e){o(e!==null);const t=[];for(let n of e.split(",")){n=n.trim();if(!n.length){continue}else if(!a(n)){continue}t.push(n)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},6197:(e,t,n)=>{"use strict";const o=n(2613);const i=n(9278);const a=n(8611);const{pipeline:d}=n(2203);const h=n(3440);const m=n(8804);const Q=n(4655);const k=n(1);const{RequestContentLengthMismatchError:_,ResponseContentLengthMismatchError:L,InvalidArgumentError:U,RequestAbortedError:P,HeadersTimeoutError:H,HeadersOverflowError:Y,SocketError:V,InformationalError:J,BodyTimeoutError:W,HTTPParserError:j,ResponseExceededMaxSizeError:K,ClientDestroyedError:X}=n(8707);const Z=n(9136);const{kUrl:ee,kReset:te,kServerName:re,kClient:se,kBusy:ne,kParser:oe,kConnect:ie,kBlocking:Ae,kResuming:ae,kRunning:ce,kPending:le,kSize:ue,kWriting:ge,kQueue:de,kConnected:he,kConnecting:pe,kNeedDrain:fe,kNoRef:Ee,kKeepAliveDefaultTimeout:Ce,kHostHeader:me,kPendingIdx:Ie,kRunningIdx:Be,kError:Qe,kPipelining:ye,kSocket:we,kKeepAliveTimeoutValue:be,kMaxHeadersSize:Se,kKeepAliveMaxTimeout:Re,kKeepAliveTimeoutThreshold:De,kHeadersTimeout:Te,kBodyTimeout:ke,kStrictContentLength:ve,kConnector:Ne,kMaxRedirections:Fe,kMaxRequests:_e,kCounter:Le,kClose:Ue,kDestroy:Pe,kDispatch:Me,kInterceptors:xe,kLocalAddress:Oe,kMaxResponseSize:Ge,kHTTPConnVersion:He,kHost:Ye,kHTTP2Session:Ve,kHTTP2SessionState:Je,kHTTP2BuildRequest:qe,kHTTP2CopyHeaders:We,kHTTP1BuildRequest:$e}=n(6443);let je;try{je=n(5675)}catch{je={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:ze,HTTP2_HEADER_METHOD:Ke,HTTP2_HEADER_PATH:Xe,HTTP2_HEADER_SCHEME:Ze,HTTP2_HEADER_CONTENT_LENGTH:ot,HTTP2_HEADER_EXPECT:Qt,HTTP2_HEADER_STATUS:yt}}=je;let Rt=false;const Ht=Buffer[Symbol.species];const Yt=Symbol("kClosedResolve");const Jt={};try{const e=n(1637);Jt.sendHeaders=e.channel("undici:client:sendHeaders");Jt.beforeConnect=e.channel("undici:client:beforeConnect");Jt.connectError=e.channel("undici:client:connectError");Jt.connected=e.channel("undici:client:connected")}catch{Jt.sendHeaders={hasSubscribers:false};Jt.beforeConnect={hasSubscribers:false};Jt.connectError={hasSubscribers:false};Jt.connected={hasSubscribers:false}}class Client extends k{constructor(e,{interceptors:t,maxHeaderSize:n,headersTimeout:o,socketTimeout:d,requestTimeout:m,connectTimeout:Q,bodyTimeout:k,idleTimeout:_,keepAlive:L,keepAliveTimeout:P,maxKeepAliveTimeout:H,keepAliveMaxTimeout:Y,keepAliveTimeoutThreshold:V,socketPath:J,pipelining:W,tls:j,strictContentLength:K,maxCachedSessions:X,maxRedirections:te,connect:se,maxRequestsPerClient:ne,localAddress:oe,maxResponseSize:ie,autoSelectFamily:Ae,autoSelectFamilyAttemptTimeout:ce,allowH2:le,maxConcurrentStreams:ue}={}){super();if(L!==undefined){throw new U("unsupported keepAlive, use pipelining=0 instead")}if(d!==undefined){throw new U("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(m!==undefined){throw new U("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(_!==undefined){throw new U("unsupported idleTimeout, use keepAliveTimeout instead")}if(H!==undefined){throw new U("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(n!=null&&!Number.isFinite(n)){throw new U("invalid maxHeaderSize")}if(J!=null&&typeof J!=="string"){throw new U("invalid socketPath")}if(Q!=null&&(!Number.isFinite(Q)||Q<0)){throw new U("invalid connectTimeout")}if(P!=null&&(!Number.isFinite(P)||P<=0)){throw new U("invalid keepAliveTimeout")}if(Y!=null&&(!Number.isFinite(Y)||Y<=0)){throw new U("invalid keepAliveMaxTimeout")}if(V!=null&&!Number.isFinite(V)){throw new U("invalid keepAliveTimeoutThreshold")}if(o!=null&&(!Number.isInteger(o)||o<0)){throw new U("headersTimeout must be a positive integer or zero")}if(k!=null&&(!Number.isInteger(k)||k<0)){throw new U("bodyTimeout must be a positive integer or zero")}if(se!=null&&typeof se!=="function"&&typeof se!=="object"){throw new U("connect must be a function or an object")}if(te!=null&&(!Number.isInteger(te)||te<0)){throw new U("maxRedirections must be a positive number")}if(ne!=null&&(!Number.isInteger(ne)||ne<0)){throw new U("maxRequestsPerClient must be a positive number")}if(oe!=null&&(typeof oe!=="string"||i.isIP(oe)===0)){throw new U("localAddress must be valid string IP address")}if(ie!=null&&(!Number.isInteger(ie)||ie<-1)){throw new U("maxResponseSize must be a positive number")}if(ce!=null&&(!Number.isInteger(ce)||ce<-1)){throw new U("autoSelectFamilyAttemptTimeout must be a positive number")}if(le!=null&&typeof le!=="boolean"){throw new U("allowH2 must be a valid boolean value")}if(ue!=null&&(typeof ue!=="number"||ue<1)){throw new U("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof se!=="function"){se=Z({...j,maxCachedSessions:X,allowH2:le,socketPath:J,timeout:Q,...h.nodeHasAutoSelectFamily&&Ae?{autoSelectFamily:Ae,autoSelectFamilyAttemptTimeout:ce}:undefined,...se})}this[xe]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[zt({maxRedirections:te})];this[ee]=h.parseOrigin(e);this[Ne]=se;this[we]=null;this[ye]=W!=null?W:1;this[Se]=n||a.maxHeaderSize;this[Ce]=P==null?4e3:P;this[Re]=Y==null?6e5:Y;this[De]=V==null?1e3:V;this[be]=this[Ce];this[re]=null;this[Oe]=oe!=null?oe:null;this[ae]=0;this[fe]=0;this[me]=`host: ${this[ee].hostname}${this[ee].port?`:${this[ee].port}`:""}\r\n`;this[ke]=k!=null?k:3e5;this[Te]=o!=null?o:3e5;this[ve]=K==null?true:K;this[Fe]=te;this[_e]=ne;this[Yt]=null;this[Ge]=ie>-1?ie:-1;this[He]="h1";this[Ve]=null;this[Je]=!le?null:{openStreams:0,maxConcurrentStreams:ue!=null?ue:100};this[Ye]=`${this[ee].hostname}${this[ee].port?`:${this[ee].port}`:""}`;this[de]=[];this[Be]=0;this[Ie]=0}get pipelining(){return this[ye]}set pipelining(e){this[ye]=e;resume(this,true)}get[le](){return this[de].length-this[Ie]}get[ce](){return this[Ie]-this[Be]}get[ue](){return this[de].length-this[Be]}get[he](){return!!this[we]&&!this[pe]&&!this[we].destroyed}get[ne](){const e=this[we];return e&&(e[te]||e[ge]||e[Ae])||this[ue]>=(this[ye]||1)||this[le]>0}[ie](e){connect(this);this.once("connect",e)}[Me](e,t){const n=e.origin||this[ee].origin;const o=this[He]==="h2"?Q[qe](n,e,t):Q[$e](n,e,t);this[de].push(o);if(this[ae]){}else if(h.bodyLength(o.body)==null&&h.isIterable(o.body)){this[ae]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[ae]&&this[fe]!==2&&this[ne]){this[fe]=2}return this[fe]<2}async[Ue](){return new Promise((e=>{if(!this[ue]){e(null)}else{this[Yt]=e}}))}async[Pe](e){return new Promise((t=>{const n=this[de].splice(this[Ie]);for(let t=0;t<n.length;t++){const o=n[t];errorRequest(this,o,e)}const callback=()=>{if(this[Yt]){this[Yt]();this[Yt]=null}t()};if(this[Ve]!=null){h.destroy(this[Ve],e);this[Ve]=null;this[Je]=null}if(!this[we]){queueMicrotask(callback)}else{h.destroy(this[we].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){o(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[we][Qe]=e;onError(this[se],e)}function onHttp2FrameError(e,t,n){const o=new J(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(n===0){this[we][Qe]=o;onError(this[se],o)}}function onHttp2SessionEnd(){h.destroy(this,new V("other side closed"));h.destroy(this[we],new V("other side closed"))}function onHTTP2GoAway(e){const t=this[se];const n=new J(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[we]=null;t[Ve]=null;if(t.destroyed){o(this[le]===0);const e=t[de].splice(t[Be]);for(let t=0;t<e.length;t++){const o=e[t];errorRequest(this,o,n)}}else if(t[ce]>0){const e=t[de][t[Be]];t[de][t[Be]++]=null;errorRequest(t,e,n)}t[Ie]=t[Be];o(t[ce]===0);t.emit("disconnect",t[ee],[t],n);resume(t)}const qt=n(2824);const zt=n(4415);const Kt=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?n(3870):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(n(3434),"base64"))}catch(o){t=await WebAssembly.compile(Buffer.from(e||n(3870),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,n)=>0,wasm_on_status:(e,t,n)=>{o.strictEqual(er.ptr,e);const i=t-sr+tr.byteOffset;return er.onStatus(new Ht(tr.buffer,i,n))||0},wasm_on_message_begin:e=>{o.strictEqual(er.ptr,e);return er.onMessageBegin()||0},wasm_on_header_field:(e,t,n)=>{o.strictEqual(er.ptr,e);const i=t-sr+tr.byteOffset;return er.onHeaderField(new Ht(tr.buffer,i,n))||0},wasm_on_header_value:(e,t,n)=>{o.strictEqual(er.ptr,e);const i=t-sr+tr.byteOffset;return er.onHeaderValue(new Ht(tr.buffer,i,n))||0},wasm_on_headers_complete:(e,t,n,i)=>{o.strictEqual(er.ptr,e);return er.onHeadersComplete(t,Boolean(n),Boolean(i))||0},wasm_on_body:(e,t,n)=>{o.strictEqual(er.ptr,e);const i=t-sr+tr.byteOffset;return er.onBody(new Ht(tr.buffer,i,n))||0},wasm_on_message_complete:e=>{o.strictEqual(er.ptr,e);return er.onMessageComplete()||0}}})}let Xt=null;let Zt=lazyllhttp();Zt.catch();let er=null;let tr=null;let rr=0;let sr=null;const nr=1;const or=2;const ir=3;class Parser{constructor(e,t,{exports:n}){o(Number.isFinite(e[Se])&&e[Se]>0);this.llhttp=n;this.ptr=this.llhttp.llhttp_alloc(qt.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[Se];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[Ge]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){m.clearTimeout(this.timeout);if(e){this.timeout=m.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}o(this.ptr!=null);o(er==null);this.llhttp.llhttp_resume(this.ptr);o(this.timeoutType===or);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Kt);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){o(this.ptr!=null);o(er==null);o(!this.paused);const{socket:t,llhttp:n}=this;if(e.length>rr){if(sr){n.free(sr)}rr=Math.ceil(e.length/4096)*4096;sr=n.malloc(rr)}new Uint8Array(n.memory.buffer,sr,rr).set(e);try{let o;try{tr=e;er=this;o=n.llhttp_execute(this.ptr,sr,e.length)}catch(e){throw e}finally{er=null;tr=null}const i=n.llhttp_get_error_pos(this.ptr)-sr;if(o===qt.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(i))}else if(o===qt.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(i))}else if(o!==qt.ERROR.OK){const t=n.llhttp_get_error_reason(this.ptr);let a="";if(t){const e=new Uint8Array(n.memory.buffer,t).indexOf(0);a="Response does not match the HTTP/1.1 protocol ("+Buffer.from(n.memory.buffer,t,e).toString()+")"}throw new j(a,qt.ERROR[o],e.slice(i))}}catch(e){h.destroy(t,e)}}destroy(){o(this.ptr!=null);o(er==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;m.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const n=t[de][t[Be]];if(!n){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const n=this.headers[t-2];if(n.length===10&&n.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(n.length===10&&n.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(n.length===14&&n.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){h.destroy(this.socket,new Y)}}onUpgrade(e){const{upgrade:t,client:n,socket:i,headers:a,statusCode:d}=this;o(t);const m=n[de][n[Be]];o(m);o(!i.destroyed);o(i===n[we]);o(!this.paused);o(m.upgrade||m.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;o(this.headers.length%2===0);this.headers=[];this.headersSize=0;i.unshift(e);i[oe].destroy();i[oe]=null;i[se]=null;i[Qe]=null;i.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);n[we]=null;n[de][n[Be]++]=null;n.emit("disconnect",n[ee],[n],new J("upgrade"));try{m.onUpgrade(d,a,i)}catch(e){h.destroy(i,e)}resume(n)}onHeadersComplete(e,t,n){const{client:i,socket:a,headers:d,statusText:m}=this;if(a.destroyed){return-1}const Q=i[de][i[Be]];if(!Q){return-1}o(!this.upgrade);o(this.statusCode<200);if(e===100){h.destroy(a,new V("bad response",h.getSocketInfo(a)));return-1}if(t&&!Q.upgrade){h.destroy(a,new V("bad upgrade",h.getSocketInfo(a)));return-1}o.strictEqual(this.timeoutType,nr);this.statusCode=e;this.shouldKeepAlive=n||Q.method==="HEAD"&&!a[te]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=Q.bodyTimeout!=null?Q.bodyTimeout:i[ke];this.setTimeout(e,or)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(Q.method==="CONNECT"){o(i[ce]===1);this.upgrade=true;return 2}if(t){o(i[ce]===1);this.upgrade=true;return 2}o(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&i[ye]){const e=this.keepAlive?h.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-i[De],i[Re]);if(t<=0){a[te]=true}else{i[be]=t}}else{i[be]=i[Ce]}}else{a[te]=true}const k=Q.onHeaders(e,d,this.resume,m)===false;if(Q.aborted){return-1}if(Q.method==="HEAD"){return 1}if(e<200){return 1}if(a[Ae]){a[Ae]=false;resume(i)}return k?qt.ERROR.PAUSED:0}onBody(e){const{client:t,socket:n,statusCode:i,maxResponseSize:a}=this;if(n.destroyed){return-1}const d=t[de][t[Be]];o(d);o.strictEqual(this.timeoutType,or);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}o(i>=200);if(a>-1&&this.bytesRead+e.length>a){h.destroy(n,new K);return-1}this.bytesRead+=e.length;if(d.onData(e)===false){return qt.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:n,upgrade:i,headers:a,contentLength:d,bytesRead:m,shouldKeepAlive:Q}=this;if(t.destroyed&&(!n||Q)){return-1}if(i){return}const k=e[de][e[Be]];o(k);o(n>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";o(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(n<200){return}if(k.method!=="HEAD"&&d&&m!==parseInt(d,10)){h.destroy(t,new L);return-1}k.onComplete(a);e[de][e[Be]++]=null;if(t[ge]){o.strictEqual(e[ce],0);h.destroy(t,new J("reset"));return qt.ERROR.PAUSED}else if(!Q){h.destroy(t,new J("reset"));return qt.ERROR.PAUSED}else if(t[te]&&e[ce]===0){h.destroy(t,new J("reset"));return qt.ERROR.PAUSED}else if(e[ye]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:n,client:i}=e;if(n===nr){if(!t[ge]||t.writableNeedDrain||i[ce]>1){o(!e.paused,"cannot be paused while waiting for headers");h.destroy(t,new H)}}else if(n===or){if(!e.paused){h.destroy(t,new W)}}else if(n===ir){o(i[ce]===0&&i[be]);h.destroy(t,new J("socket idle timeout"))}}function onSocketReadable(){const{[oe]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[se]:t,[oe]:n}=this;o(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[He]!=="h2"){if(e.code==="ECONNRESET"&&n.statusCode&&!n.shouldKeepAlive){n.onMessageComplete();return}}this[Qe]=e;onError(this[se],e)}function onError(e,t){if(e[ce]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){o(e[Ie]===e[Be]);const n=e[de].splice(e[Be]);for(let o=0;o<n.length;o++){const i=n[o];errorRequest(e,i,t)}o(e[ue]===0)}}function onSocketEnd(){const{[oe]:e,[se]:t}=this;if(t[He]!=="h2"){if(e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}}h.destroy(this,new V("other side closed",h.getSocketInfo(this)))}function onSocketClose(){const{[se]:e,[oe]:t}=this;if(e[He]==="h1"&&t){if(!this[Qe]&&t.statusCode&&!t.shouldKeepAlive){t.onMessageComplete()}this[oe].destroy();this[oe]=null}const n=this[Qe]||new V("closed",h.getSocketInfo(this));e[we]=null;if(e.destroyed){o(e[le]===0);const t=e[de].splice(e[Be]);for(let o=0;o<t.length;o++){const i=t[o];errorRequest(e,i,n)}}else if(e[ce]>0&&n.code!=="UND_ERR_INFO"){const t=e[de][e[Be]];e[de][e[Be]++]=null;errorRequest(e,t,n)}e[Ie]=e[Be];o(e[ce]===0);e.emit("disconnect",e[ee],[e],n);resume(e)}async function connect(e){o(!e[pe]);o(!e[we]);let{host:t,hostname:n,protocol:a,port:d}=e[ee];if(n[0]==="["){const e=n.indexOf("]");o(e!==-1);const t=n.substring(1,e);o(i.isIP(t));n=t}e[pe]=true;if(Jt.beforeConnect.hasSubscribers){Jt.beforeConnect.publish({connectParams:{host:t,hostname:n,protocol:a,port:d,servername:e[re],localAddress:e[Oe]},connector:e[Ne]})}try{const i=await new Promise(((o,i)=>{e[Ne]({host:t,hostname:n,protocol:a,port:d,servername:e[re],localAddress:e[Oe]},((e,t)=>{if(e){i(e)}else{o(t)}}))}));if(e.destroyed){h.destroy(i.on("error",(()=>{})),new X);return}e[pe]=false;o(i);const m=i.alpnProtocol==="h2";if(m){if(!Rt){Rt=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=je.connect(e[ee],{createConnection:()=>i,peerMaxConcurrentStreams:e[Je].maxConcurrentStreams});e[He]="h2";t[se]=e;t[we]=i;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[Ve]=t;i[Ve]=t}else{if(!Xt){Xt=await Zt;Zt=null}i[Ee]=false;i[ge]=false;i[te]=false;i[Ae]=false;i[oe]=new Parser(e,i,Xt)}i[Le]=0;i[_e]=e[_e];i[se]=e;i[Qe]=null;i.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[we]=i;if(Jt.connected.hasSubscribers){Jt.connected.publish({connectParams:{host:t,hostname:n,protocol:a,port:d,servername:e[re],localAddress:e[Oe]},connector:e[Ne],socket:i})}e.emit("connect",e[ee],[e])}catch(i){if(e.destroyed){return}e[pe]=false;if(Jt.connectError.hasSubscribers){Jt.connectError.publish({connectParams:{host:t,hostname:n,protocol:a,port:d,servername:e[re],localAddress:e[Oe]},connector:e[Ne],error:i})}if(i.code==="ERR_TLS_CERT_ALTNAME_INVALID"){o(e[ce]===0);while(e[le]>0&&e[de][e[Ie]].servername===e[re]){const t=e[de][e[Ie]++];errorRequest(e,t,i)}}else{onError(e,i)}e.emit("connectionError",e[ee],[e],i)}resume(e)}function emitDrain(e){e[fe]=0;e.emit("drain",e[ee],[e])}function resume(e,t){if(e[ae]===2){return}e[ae]=2;_resume(e,t);e[ae]=0;if(e[Be]>256){e[de].splice(0,e[Be]);e[Ie]-=e[Be];e[Be]=0}}function _resume(e,t){while(true){if(e.destroyed){o(e[le]===0);return}if(e[Yt]&&!e[ue]){e[Yt]();e[Yt]=null;return}const n=e[we];if(n&&!n.destroyed&&n.alpnProtocol!=="h2"){if(e[ue]===0){if(!n[Ee]&&n.unref){n.unref();n[Ee]=true}}else if(n[Ee]&&n.ref){n.ref();n[Ee]=false}if(e[ue]===0){if(n[oe].timeoutType!==ir){n[oe].setTimeout(e[be],ir)}}else if(e[ce]>0&&n[oe].statusCode<200){if(n[oe].timeoutType!==nr){const t=e[de][e[Be]];const o=t.headersTimeout!=null?t.headersTimeout:e[Te];n[oe].setTimeout(o,nr)}}}if(e[ne]){e[fe]=2}else if(e[fe]===2){if(t){e[fe]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[le]===0){return}if(e[ce]>=(e[ye]||1)){return}const i=e[de][e[Ie]];if(e[ee].protocol==="https:"&&e[re]!==i.servername){if(e[ce]>0){return}e[re]=i.servername;if(n&&n.servername!==i.servername){h.destroy(n,new J("servername changed"));return}}if(e[pe]){return}if(!n&&!e[Ve]){connect(e);return}if(n.destroyed||n[ge]||n[te]||n[Ae]){return}if(e[ce]>0&&!i.idempotent){return}if(e[ce]>0&&(i.upgrade||i.method==="CONNECT")){return}if(e[ce]>0&&h.bodyLength(i.body)!==0&&(h.isStream(i.body)||h.isAsyncIterable(i.body))){return}if(!i.aborted&&write(e,i)){e[Ie]++}else{e[de].splice(e[Ie],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[He]==="h2"){writeH2(e,e[Ve],t);return}const{body:n,method:i,path:a,host:d,upgrade:m,headers:Q,blocking:k,reset:L}=t;const U=i==="PUT"||i==="POST"||i==="PATCH";if(n&&typeof n.read==="function"){n.read(0)}const H=h.bodyLength(n);let Y=H;if(Y===null){Y=t.contentLength}if(Y===0&&!U){Y=null}if(shouldSendContentLength(i)&&Y>0&&t.contentLength!==null&&t.contentLength!==Y){if(e[ve]){errorRequest(e,t,new _);return false}process.emitWarning(new _)}const V=e[we];try{t.onConnect((n=>{if(t.aborted||t.completed){return}errorRequest(e,t,n||new P);h.destroy(V,new J("aborted"))}))}catch(n){errorRequest(e,t,n)}if(t.aborted){return false}if(i==="HEAD"){V[te]=true}if(m||i==="CONNECT"){V[te]=true}if(L!=null){V[te]=L}if(e[_e]&&V[Le]++>=e[_e]){V[te]=true}if(k){V[Ae]=true}let W=`${i} ${a} HTTP/1.1\r\n`;if(typeof d==="string"){W+=`host: ${d}\r\n`}else{W+=e[me]}if(m){W+=`connection: upgrade\r\nupgrade: ${m}\r\n`}else if(e[ye]&&!V[te]){W+="connection: keep-alive\r\n"}else{W+="connection: close\r\n"}if(Q){W+=Q}if(Jt.sendHeaders.hasSubscribers){Jt.sendHeaders.publish({request:t,headers:W,socket:V})}if(!n||H===0){if(Y===0){V.write(`${W}content-length: 0\r\n\r\n`,"latin1")}else{o(Y===null,"no body must not have content length");V.write(`${W}\r\n`,"latin1")}t.onRequestSent()}else if(h.isBuffer(n)){o(Y===n.byteLength,"buffer body must have content length");V.cork();V.write(`${W}content-length: ${Y}\r\n\r\n`,"latin1");V.write(n);V.uncork();t.onBodySent(n);t.onRequestSent();if(!U){V[te]=true}}else if(h.isBlobLike(n)){if(typeof n.stream==="function"){writeIterable({body:n.stream(),client:e,request:t,socket:V,contentLength:Y,header:W,expectsPayload:U})}else{writeBlob({body:n,client:e,request:t,socket:V,contentLength:Y,header:W,expectsPayload:U})}}else if(h.isStream(n)){writeStream({body:n,client:e,request:t,socket:V,contentLength:Y,header:W,expectsPayload:U})}else if(h.isIterable(n)){writeIterable({body:n,client:e,request:t,socket:V,contentLength:Y,header:W,expectsPayload:U})}else{o(false)}return true}function writeH2(e,t,n){const{body:i,method:a,path:d,host:m,upgrade:k,expectContinue:L,signal:U,headers:H}=n;let Y;if(typeof H==="string")Y=Q[We](H.trim());else Y=H;if(k){errorRequest(e,n,new Error("Upgrade not supported for H2"));return false}try{n.onConnect((t=>{if(n.aborted||n.completed){return}errorRequest(e,n,t||new P)}))}catch(t){errorRequest(e,n,t)}if(n.aborted){return false}let V;const W=e[Je];Y[ze]=m||e[Ye];Y[Ke]=a;if(a==="CONNECT"){t.ref();V=t.request(Y,{endStream:false,signal:U});if(V.id&&!V.pending){n.onUpgrade(null,null,V);++W.openStreams}else{V.once("ready",(()=>{n.onUpgrade(null,null,V);++W.openStreams}))}V.once("close",(()=>{W.openStreams-=1;if(W.openStreams===0)t.unref()}));return true}Y[Xe]=d;Y[Ze]="https";const j=a==="PUT"||a==="POST"||a==="PATCH";if(i&&typeof i.read==="function"){i.read(0)}let K=h.bodyLength(i);if(K==null){K=n.contentLength}if(K===0||!j){K=null}if(shouldSendContentLength(a)&&K>0&&n.contentLength!=null&&n.contentLength!==K){if(e[ve]){errorRequest(e,n,new _);return false}process.emitWarning(new _)}if(K!=null){o(i,"no body must not have content length");Y[ot]=`${K}`}t.ref();const X=a==="GET"||a==="HEAD";if(L){Y[Qt]="100-continue";V=t.request(Y,{endStream:X,signal:U});V.once("continue",writeBodyH2)}else{V=t.request(Y,{endStream:X,signal:U});writeBodyH2()}++W.openStreams;V.once("response",(e=>{const{[yt]:t,...o}=e;if(n.onHeaders(Number(t),o,V.resume.bind(V),"")===false){V.pause()}}));V.once("end",(()=>{n.onComplete([])}));V.on("data",(e=>{if(n.onData(e)===false){V.pause()}}));V.once("close",(()=>{W.openStreams-=1;if(W.openStreams===0){t.unref()}}));V.once("error",(function(t){if(e[Ve]&&!e[Ve].destroyed&&!this.closed&&!this.destroyed){W.streams-=1;h.destroy(V,t)}}));V.once("frameError",((t,o)=>{const i=new J(`HTTP/2: "frameError" received - type ${t}, code ${o}`);errorRequest(e,n,i);if(e[Ve]&&!e[Ve].destroyed&&!this.closed&&!this.destroyed){W.streams-=1;h.destroy(V,i)}}));return true;function writeBodyH2(){if(!i){n.onRequestSent()}else if(h.isBuffer(i)){o(K===i.byteLength,"buffer body must have content length");V.cork();V.write(i);V.uncork();V.end();n.onBodySent(i);n.onRequestSent()}else if(h.isBlobLike(i)){if(typeof i.stream==="function"){writeIterable({client:e,request:n,contentLength:K,h2stream:V,expectsPayload:j,body:i.stream(),socket:e[we],header:""})}else{writeBlob({body:i,client:e,request:n,contentLength:K,expectsPayload:j,h2stream:V,header:"",socket:e[we]})}}else if(h.isStream(i)){writeStream({body:i,client:e,request:n,contentLength:K,expectsPayload:j,socket:e[we],h2stream:V,header:""})}else if(h.isIterable(i)){writeIterable({body:i,client:e,request:n,contentLength:K,expectsPayload:j,header:"",h2stream:V,socket:e[we]})}else{o(false)}}}function writeStream({h2stream:e,body:t,client:n,request:i,socket:a,contentLength:m,header:Q,expectsPayload:k}){o(m!==0||n[ce]===0,"stream body cannot be pipelined");if(n[He]==="h2"){const U=d(t,e,(n=>{if(n){h.destroy(t,n);h.destroy(e,n)}else{i.onRequestSent()}}));U.on("data",onPipeData);U.once("end",(()=>{U.removeListener("data",onPipeData);h.destroy(U)}));function onPipeData(e){i.onBodySent(e)}return}let _=false;const L=new AsyncWriter({socket:a,request:i,contentLength:m,client:n,expectsPayload:k,header:Q});const onData=function(e){if(_){return}try{if(!L.write(e)&&this.pause){this.pause()}}catch(e){h.destroy(this,e)}};const onDrain=function(){if(_){return}if(t.resume){t.resume()}};const onAbort=function(){if(_){return}const e=new P;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(_){return}_=true;o(a.destroyed||a[ge]&&n[ce]<=1);a.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{L.end()}catch(t){e=t}}L.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){h.destroy(t,e)}else{h.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}a.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:n,request:i,socket:a,contentLength:d,header:m,expectsPayload:Q}){o(d===t.size,"blob body must have content length");const k=n[He]==="h2";try{if(d!=null&&d!==t.size){throw new _}const o=Buffer.from(await t.arrayBuffer());if(k){e.cork();e.write(o);e.uncork()}else{a.cork();a.write(`${m}content-length: ${d}\r\n\r\n`,"latin1");a.write(o);a.uncork()}i.onBodySent(o);i.onRequestSent();if(!Q){a[te]=true}resume(n)}catch(t){h.destroy(k?e:a,t)}}async function writeIterable({h2stream:e,body:t,client:n,request:i,socket:a,contentLength:d,header:h,expectsPayload:m}){o(d!==0||n[ce]===0,"iterator body cannot be pipelined");let Q=null;function onDrain(){if(Q){const e=Q;Q=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{o(Q===null);if(a[Qe]){t(a[Qe])}else{Q=e}}));if(n[He]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const n of t){if(a[Qe]){throw a[Qe]}const t=e.write(n);i.onBodySent(n);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{i.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}a.on("close",onDrain).on("drain",onDrain);const k=new AsyncWriter({socket:a,request:i,contentLength:d,client:n,expectsPayload:m,header:h});try{for await(const e of t){if(a[Qe]){throw a[Qe]}if(!k.write(e)){await waitForDrain()}}k.end()}catch(e){k.destroy(e)}finally{a.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:n,client:o,expectsPayload:i,header:a}){this.socket=e;this.request=t;this.contentLength=n;this.client=o;this.bytesWritten=0;this.expectsPayload=i;this.header=a;e[ge]=true}write(e){const{socket:t,request:n,contentLength:o,client:i,bytesWritten:a,expectsPayload:d,header:h}=this;if(t[Qe]){throw t[Qe]}if(t.destroyed){return false}const m=Buffer.byteLength(e);if(!m){return true}if(o!==null&&a+m>o){if(i[ve]){throw new _}process.emitWarning(new _)}t.cork();if(a===0){if(!d){t[te]=true}if(o===null){t.write(`${h}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${h}content-length: ${o}\r\n\r\n`,"latin1")}}if(o===null){t.write(`\r\n${m.toString(16)}\r\n`,"latin1")}this.bytesWritten+=m;const Q=t.write(e);t.uncork();n.onBodySent(e);if(!Q){if(t[oe].timeout&&t[oe].timeoutType===nr){if(t[oe].timeout.refresh){t[oe].timeout.refresh()}}}return Q}end(){const{socket:e,contentLength:t,client:n,bytesWritten:o,expectsPayload:i,header:a,request:d}=this;d.onRequestSent();e[ge]=false;if(e[Qe]){throw e[Qe]}if(e.destroyed){return}if(o===0){if(i){e.write(`${a}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${a}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&o!==t){if(n[ve]){throw new _}else{process.emitWarning(new _)}}if(e[oe].timeout&&e[oe].timeoutType===nr){if(e[oe].timeout.refresh){e[oe].timeout.refresh()}}resume(n)}destroy(e){const{socket:t,client:n}=this;t[ge]=false;if(e){o(n[ce]<=1,"pipeline should only contain this request");h.destroy(t,e)}}}function errorRequest(e,t,n){try{t.onError(n);o(t.aborted)}catch(n){e.emit("error",n)}}e.exports=Client},3194:(e,t,n)=>{"use strict";const{kConnected:o,kSize:i}=n(6443);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[o]===0&&this.value[i]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[o]===0&&e[i]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},9237:e=>{"use strict";const t=1024;const n=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:n}},3168:(e,t,n)=>{"use strict";const{parseSetCookie:o}=n(8915);const{stringify:i}=n(3834);const{webidl:a}=n(4222);const{Headers:d}=n(6349);function getCookies(e){a.argumentLengthCheck(arguments,1,{header:"getCookies"});a.brandCheck(e,d,{strict:false});const t=e.get("cookie");const n={};if(!t){return n}for(const e of t.split(";")){const[t,...o]=e.split("=");n[t.trim()]=o.join("=")}return n}function deleteCookie(e,t,n){a.argumentLengthCheck(arguments,2,{header:"deleteCookie"});a.brandCheck(e,d,{strict:false});t=a.converters.DOMString(t);n=a.converters.DeleteCookieAttributes(n);setCookie(e,{name:t,value:"",expires:new Date(0),...n})}function getSetCookies(e){a.argumentLengthCheck(arguments,1,{header:"getSetCookies"});a.brandCheck(e,d,{strict:false});const t=e.getSetCookie();if(!t){return[]}return t.map((e=>o(e)))}function setCookie(e,t){a.argumentLengthCheck(arguments,2,{header:"setCookie"});a.brandCheck(e,d,{strict:false});t=a.converters.Cookie(t);const n=i(t);if(n){e.append("Set-Cookie",i(t))}}a.converters.DeleteCookieAttributes=a.dictionaryConverter([{converter:a.nullableConverter(a.converters.DOMString),key:"path",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"domain",defaultValue:null}]);a.converters.Cookie=a.dictionaryConverter([{converter:a.converters.DOMString,key:"name"},{converter:a.converters.DOMString,key:"value"},{converter:a.nullableConverter((e=>{if(typeof e==="number"){return a.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:a.nullableConverter(a.converters["long long"]),key:"maxAge",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"domain",defaultValue:null},{converter:a.nullableConverter(a.converters.DOMString),key:"path",defaultValue:null},{converter:a.nullableConverter(a.converters.boolean),key:"secure",defaultValue:null},{converter:a.nullableConverter(a.converters.boolean),key:"httpOnly",defaultValue:null},{converter:a.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:a.sequenceConverter(a.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8915:(e,t,n)=>{"use strict";const{maxNameValuePairSize:o,maxAttributeValueSize:i}=n(9237);const{isCTLExcludingHtab:a}=n(3834);const{collectASequenceOfCodePointsFast:d}=n(4322);const h=n(2613);function parseSetCookie(e){if(a(e)){return null}let t="";let n="";let i="";let h="";if(e.includes(";")){const o={position:0};t=d(";",e,o);n=e.slice(o.position)}else{t=e}if(!t.includes("=")){h=t}else{const e={position:0};i=d("=",t,e);h=t.slice(e.position+1)}i=i.trim();h=h.trim();if(i.length+h.length>o){return null}return{name:i,value:h,...parseUnparsedAttributes(n)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}h(e[0]===";");e=e.slice(1);let n="";if(e.includes(";")){n=d(";",e,{position:0});e=e.slice(n.length)}else{n=e;e=""}let o="";let a="";if(n.includes("=")){const e={position:0};o=d("=",n,e);a=n.slice(e.position+1)}else{o=n}o=o.trim();a=a.trim();if(a.length>i){return parseUnparsedAttributes(e,t)}const m=o.toLowerCase();if(m==="expires"){const e=new Date(a);t.expires=e}else if(m==="max-age"){const n=a.charCodeAt(0);if((n<48||n>57)&&a[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(a)){return parseUnparsedAttributes(e,t)}const o=Number(a);t.maxAge=o}else if(m==="domain"){let e=a;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(m==="path"){let e="";if(a.length===0||a[0]!=="/"){e="/"}else{e=a}t.path=e}else if(m==="secure"){t.secure=true}else if(m==="httponly"){t.httpOnly=true}else if(m==="samesite"){let e="Default";const n=a.toLowerCase();if(n.includes("none")){e="None"}if(n.includes("strict")){e="Strict"}if(n.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${o}=${a}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3834:e=>{"use strict";function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const o=t[e.getUTCDay()];const i=e.getUTCDate().toString().padStart(2,"0");const a=n[e.getUTCMonth()];const d=e.getUTCFullYear();const h=e.getUTCHours().toString().padStart(2,"0");const m=e.getUTCMinutes().toString().padStart(2,"0");const Q=e.getUTCSeconds().toString().padStart(2,"0");return`${o}, ${i} ${a} ${d} ${h}:${m}:${Q} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const n of e.unparsed){if(!n.includes("=")){throw new Error("Invalid unparsed")}const[e,...o]=n.split("=");t.push(`${e.trim()}=${o.join("=")}`)}return t.join("; ")}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},9136:(e,t,n)=>{"use strict";const o=n(9278);const i=n(2613);const a=n(3440);const{InvalidArgumentError:d,ConnectTimeoutError:h}=n(8707);let m;let Q;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){Q=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size<this._maxCachedSessions){return}const t=this._sessionCache.get(e);if(t!==undefined&&t.deref()===undefined){this._sessionCache.delete(e)}}))}get(e){const t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){if(this._maxCachedSessions===0){return}this._sessionCache.set(e,new WeakRef(t));this._sessionRegistry.register(t,e)}}}else{Q=class SimpleSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map}get(e){return this._sessionCache.get(e)}set(e,t){if(this._maxCachedSessions===0){return}if(this._sessionCache.size>=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:h,timeout:k,..._}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new d("maxCachedSessions must be a positive integer or zero")}const L={path:h,..._};const U=new Q(t==null?100:t);k=k==null?1e4:k;e=e!=null?e:false;return function connect({hostname:t,host:d,protocol:h,port:Q,servername:_,localAddress:P,httpSocket:H},Y){let V;if(h==="https:"){if(!m){m=n(4756)}_=_||L.servername||a.getServerName(d)||null;const o=_||t;const h=U.get(o)||null;i(o);V=m.connect({highWaterMark:16384,...L,servername:_,session:h,localAddress:P,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:H,port:Q||443,host:t});V.on("session",(function(e){U.set(o,e)}))}else{i(!H,"httpSocket can only be sent on TLS update");V=o.connect({highWaterMark:64*1024,...L,localAddress:P,port:Q||80,host:t})}if(L.keepAlive==null||L.keepAlive){const e=L.keepAliveInitialDelay===undefined?6e4:L.keepAliveInitialDelay;V.setKeepAlive(true,e)}const J=setupTimeout((()=>onConnectTimeout(V)),k);V.setNoDelay(true).once(h==="https:"?"secureConnect":"connect",(function(){J();if(Y){const e=Y;Y=null;e(null,this)}})).on("error",(function(e){J();if(Y){const t=Y;Y=null;t(e)}}));return V}}function setupTimeout(e,t){if(!t){return()=>{}}let n=null;let o=null;const i=setTimeout((()=>{n=setImmediate((()=>{if(process.platform==="win32"){o=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(i);clearImmediate(n);clearImmediate(o)}}function onConnectTimeout(e){a.destroy(e,new h)}e.exports=buildConnector},735:e=>{"use strict";const t={};const n=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e<n.length;++e){const o=n[e];const i=o.toLowerCase();t[o]=t[i]=i}Object.setPrototypeOf(t,null);e.exports={wellknownHeaderNames:n,headerNameLowerCasedRecord:t}},8707:e=>{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,n,o){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=o;this.status=t;this.statusCode=t;this.headers=n}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,n){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=n?n.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:n,data:o}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=o;this.headers=n}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},4655:(e,t,n)=>{"use strict";const{InvalidArgumentError:o,NotSupportedError:i}=n(8707);const a=n(2613);const{kHTTP2BuildRequest:d,kHTTP2CopyHeaders:h,kHTTP1BuildRequest:m}=n(6443);const Q=n(3440);const k=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const _=/[^\t\x20-\x7e\x80-\xff]/;const L=/[^\u0021-\u00ff]/;const U=Symbol("handler");const P={};let H;try{const e=n(1637);P.create=e.channel("undici:request:create");P.bodySent=e.channel("undici:request:bodySent");P.headers=e.channel("undici:request:headers");P.trailers=e.channel("undici:request:trailers");P.error=e.channel("undici:request:error")}catch{P.create={hasSubscribers:false};P.bodySent={hasSubscribers:false};P.headers={hasSubscribers:false};P.trailers={hasSubscribers:false};P.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:i,body:a,headers:d,query:h,idempotent:m,blocking:_,upgrade:Y,headersTimeout:V,bodyTimeout:J,reset:W,throwOnError:j,expectContinue:K},X){if(typeof t!=="string"){throw new o("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&i!=="CONNECT"){throw new o("path must be an absolute URL or start with a slash")}else if(L.exec(t)!==null){throw new o("invalid request path")}if(typeof i!=="string"){throw new o("method must be a string")}else if(k.exec(i)===null){throw new o("invalid request method")}if(Y&&typeof Y!=="string"){throw new o("upgrade must be a string")}if(V!=null&&(!Number.isFinite(V)||V<0)){throw new o("invalid headersTimeout")}if(J!=null&&(!Number.isFinite(J)||J<0)){throw new o("invalid bodyTimeout")}if(W!=null&&typeof W!=="boolean"){throw new o("invalid reset")}if(K!=null&&typeof K!=="boolean"){throw new o("invalid expectContinue")}this.headersTimeout=V;this.bodyTimeout=J;this.throwOnError=j===true;this.method=i;this.abort=null;if(a==null){this.body=null}else if(Q.isStream(a)){this.body=a;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){Q.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(Q.isBuffer(a)){this.body=a.byteLength?a:null}else if(ArrayBuffer.isView(a)){this.body=a.buffer.byteLength?Buffer.from(a.buffer,a.byteOffset,a.byteLength):null}else if(a instanceof ArrayBuffer){this.body=a.byteLength?Buffer.from(a):null}else if(typeof a==="string"){this.body=a.length?Buffer.from(a):null}else if(Q.isFormDataLike(a)||Q.isIterable(a)||Q.isBlobLike(a)){this.body=a}else{throw new o("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=Y||null;this.path=h?Q.buildURL(t,h):t;this.origin=e;this.idempotent=m==null?i==="HEAD"||i==="GET":m;this.blocking=_==null?false:_;this.reset=W==null?null:W;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=K!=null?K:false;if(Array.isArray(d)){if(d.length%2!==0){throw new o("headers array must be even")}for(let e=0;e<d.length;e+=2){processHeader(this,d[e],d[e+1])}}else if(d&&typeof d==="object"){const e=Object.keys(d);for(let t=0;t<e.length;t++){const n=e[t];processHeader(this,n,d[n])}}else if(d!=null){throw new o("headers must be an object or an array")}if(Q.isFormDataLike(this.body)){if(Q.nodeMajor<16||Q.nodeMajor===16&&Q.nodeMinor<8){throw new o("Form-Data bodies are only supported in node v16.8 and newer.")}if(!H){H=n(8923).extractBody}const[e,t]=H(a);if(this.contentType==null){this.contentType=t;this.headers+=`content-type: ${t}\r\n`}this.body=e.stream;this.contentLength=e.length}else if(Q.isBlobLike(a)&&this.contentType==null&&a.type){this.contentType=a.type;this.headers+=`content-type: ${a.type}\r\n`}Q.validateHandler(X,i,Y);this.servername=Q.getServerName(this.host);this[U]=X;if(P.create.hasSubscribers){P.create.publish({request:this})}}onBodySent(e){if(this[U].onBodySent){try{return this[U].onBodySent(e)}catch(e){this.abort(e)}}}onRequestSent(){if(P.bodySent.hasSubscribers){P.bodySent.publish({request:this})}if(this[U].onRequestSent){try{return this[U].onRequestSent()}catch(e){this.abort(e)}}}onConnect(e){a(!this.aborted);a(!this.completed);if(this.error){e(this.error)}else{this.abort=e;return this[U].onConnect(e)}}onHeaders(e,t,n,o){a(!this.aborted);a(!this.completed);if(P.headers.hasSubscribers){P.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:o}})}try{return this[U].onHeaders(e,t,n,o)}catch(e){this.abort(e)}}onData(e){a(!this.aborted);a(!this.completed);try{return this[U].onData(e)}catch(e){this.abort(e);return false}}onUpgrade(e,t,n){a(!this.aborted);a(!this.completed);return this[U].onUpgrade(e,t,n)}onComplete(e){this.onFinally();a(!this.aborted);this.completed=true;if(P.trailers.hasSubscribers){P.trailers.publish({request:this,trailers:e})}try{return this[U].onComplete(e)}catch(e){this.onError(e)}}onError(e){this.onFinally();if(P.error.hasSubscribers){P.error.publish({request:this,error:e})}if(this.aborted){return}this.aborted=true;return this[U].onError(e)}onFinally(){if(this.errorHandler){this.body.off("error",this.errorHandler);this.errorHandler=null}if(this.endHandler){this.body.off("end",this.endHandler);this.endHandler=null}}addHeader(e,t){processHeader(this,e,t);return this}static[m](e,t,n){return new Request(e,t,n)}static[d](e,t,n){const i=t.headers;t={...t,headers:null};const a=new Request(e,t,n);a.headers={};if(Array.isArray(i)){if(i.length%2!==0){throw new o("headers array must be even")}for(let e=0;e<i.length;e+=2){processHeader(a,i[e],i[e+1],true)}}else if(i&&typeof i==="object"){const e=Object.keys(i);for(let t=0;t<e.length;t++){const n=e[t];processHeader(a,n,i[n],true)}}else if(i!=null){throw new o("headers must be an object or an array")}return a}static[h](e){const t=e.split("\r\n");const n={};for(const e of t){const[t,o]=e.split(": ");if(o==null||o.length===0)continue;if(n[t])n[t]+=`,${o}`;else n[t]=o}return n}}function processHeaderValue(e,t,n){if(t&&typeof t==="object"){throw new o(`invalid ${e} header`)}t=t!=null?`${t}`:"";if(_.exec(t)!==null){throw new o(`invalid ${e} header`)}return n?t:`${e}: ${t}\r\n`}function processHeader(e,t,n,a=false){if(n&&(typeof n==="object"&&!Array.isArray(n))){throw new o(`invalid ${t} header`)}else if(n===undefined){return}if(e.host===null&&t.length===4&&t.toLowerCase()==="host"){if(_.exec(n)!==null){throw new o(`invalid ${t} header`)}e.host=n}else if(e.contentLength===null&&t.length===14&&t.toLowerCase()==="content-length"){e.contentLength=parseInt(n,10);if(!Number.isFinite(e.contentLength)){throw new o("invalid content-length header")}}else if(e.contentType===null&&t.length===12&&t.toLowerCase()==="content-type"){e.contentType=n;if(a)e.headers[t]=processHeaderValue(t,n,a);else e.headers+=processHeaderValue(t,n)}else if(t.length===17&&t.toLowerCase()==="transfer-encoding"){throw new o("invalid transfer-encoding header")}else if(t.length===10&&t.toLowerCase()==="connection"){const t=typeof n==="string"?n.toLowerCase():null;if(t!=="close"&&t!=="keep-alive"){throw new o("invalid connection header")}else if(t==="close"){e.reset=true}}else if(t.length===10&&t.toLowerCase()==="keep-alive"){throw new o("invalid keep-alive header")}else if(t.length===7&&t.toLowerCase()==="upgrade"){throw new o("invalid upgrade header")}else if(t.length===6&&t.toLowerCase()==="expect"){throw new i("expect header not supported")}else if(k.exec(t)===null){throw new o("invalid header key")}else{if(Array.isArray(n)){for(let o=0;o<n.length;o++){if(a){if(e.headers[t])e.headers[t]+=`,${processHeaderValue(t,n[o],a)}`;else e.headers[t]=processHeaderValue(t,n[o],a)}else{e.headers+=processHeaderValue(t,n[o])}}}else{if(a)e.headers[t]=processHeaderValue(t,n,a);else e.headers+=processHeaderValue(t,n)}}}e.exports=Request},6443:e=>{e.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kHeadersList:Symbol("headers list"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3440:(e,t,n)=>{"use strict";const o=n(2613);const{kDestroyed:i,kBodyUsed:a}=n(6443);const{IncomingMessage:d}=n(8611);const h=n(2203);const m=n(9278);const{InvalidArgumentError:Q}=n(8707);const{Blob:k}=n(181);const _=n(9023);const{stringify:L}=n(3480);const{headerNameLowerCasedRecord:U}=n(735);const[P,H]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return k&&e instanceof k||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const n=L(t);if(n){e+="?"+n}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new Q("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new Q("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new Q("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new Q("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new Q("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new Q("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new Q("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new Q("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let n=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let o=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(n.endsWith("/")){n=n.substring(0,n.length-1)}if(o&&!o.startsWith("/")){o=`/${o}`}e=new URL(n+o)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new Q("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");o(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}o.strictEqual(typeof e,"string");const t=getHostname(e);if(m.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[i])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===d){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[i]=true}}const Y=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(Y);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return U[e]||e.toLowerCase()}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let n=0;n<e.length;n+=2){const o=e[n].toString().toLowerCase();let i=t[o];if(!i){if(Array.isArray(e[n+1])){t[o]=e[n+1].map((e=>e.toString("utf8")))}else{t[o]=e[n+1].toString("utf8")}}else{if(!Array.isArray(i)){i=[i];t[o]=i}i.push(e[n+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let n=false;let o=-1;for(let i=0;i<e.length;i+=2){const a=e[i+0].toString();const d=e[i+1].toString("utf8");if(a.length===14&&(a==="content-length"||a.toLowerCase()==="content-length")){t.push(a,d);n=true}else if(a.length===19&&(a==="content-disposition"||a.toLowerCase()==="content-disposition")){o=t.push(a,d)-1}else{t.push(a,d)}}if(n&&o!==-1){t[o]=Buffer.from(t[o]).toString("latin1")}return t}function isBuffer(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function validateHandler(e,t,n){if(!e||typeof e!=="object"){throw new Q("handler must be an object")}if(typeof e.onConnect!=="function"){throw new Q("invalid onConnect method")}if(typeof e.onError!=="function"){throw new Q("invalid onError method")}if(typeof e.onBodySent!=="function"&&e.onBodySent!==undefined){throw new Q("invalid onBodySent method")}if(n||t==="CONNECT"){if(typeof e.onUpgrade!=="function"){throw new Q("invalid onUpgrade method")}}else{if(typeof e.onHeaders!=="function"){throw new Q("invalid onHeaders method")}if(typeof e.onData!=="function"){throw new Q("invalid onData method")}if(typeof e.onComplete!=="function"){throw new Q("invalid onComplete method")}}}function isDisturbed(e){return!!(e&&(h.isDisturbed?h.isDisturbed(e)||e[a]:e[a]||e.readableDidRead||e._readableState&&e._readableState.dataEmitted||isReadableAborted(e)))}function isErrored(e){return!!(e&&(h.isErrored?h.isErrored(e):/state: 'errored'/.test(_.inspect(e))))}function isReadable(e){return!!(e&&(h.isReadable?h.isReadable(e):/state: 'readable'/.test(_.inspect(e))))}function getSocketInfo(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}async function*convertIterableToBuffer(e){for await(const t of e){yield Buffer.isBuffer(t)?t:Buffer.from(t)}}let V;function ReadableStreamFrom(e){if(!V){V=n(3774).ReadableStream}if(V.from){return V.from(convertIterableToBuffer(e))}let t;return new V({async start(){t=e[Symbol.asyncIterator]()},async pull(e){const{done:n,value:o}=await t.next();if(n){queueMicrotask((()=>{e.close()}))}else{const t=Buffer.isBuffer(o)?o:Buffer.from(o);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const J=!!String.prototype.toWellFormed;function toUSVString(e){if(J){return`${e}`.toWellFormed()}else if(_.toUSVString){return _.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const W=Object.create(null);W.enumerable=true;e.exports={kEnumerableProperty:W,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:P,nodeMinor:H,nodeHasAutoSelectFamily:P>18||P===18&&H>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},1:(e,t,n)=>{"use strict";const o=n(992);const{ClientDestroyedError:i,ClientClosedError:a,InvalidArgumentError:d}=n(8707);const{kDestroy:h,kClose:m,kDispatch:Q,kInterceptors:k}=n(6443);const _=Symbol("destroyed");const L=Symbol("closed");const U=Symbol("onDestroyed");const P=Symbol("onClosed");const H=Symbol("Intercepted Dispatch");class DispatcherBase extends o{constructor(){super();this[_]=false;this[U]=null;this[L]=false;this[P]=[]}get destroyed(){return this[_]}get closed(){return this[L]}get interceptors(){return this[k]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[k][t];if(typeof e!=="function"){throw new d("interceptor must be an function")}}}this[k]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((n,o)=>n?t(n):e(o)))}))}if(typeof e!=="function"){throw new d("invalid callback")}if(this[_]){queueMicrotask((()=>e(new i,null)));return}if(this[L]){if(this[P]){this[P].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[L]=true;this[P].push(e);const onClosed=()=>{const e=this[P];this[P]=null;for(let t=0;t<e.length;t++){e[t](null,null)}};this[m]().then((()=>this.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,n)=>{this.destroy(e,((e,o)=>e?n(e):t(o)))}))}if(typeof t!=="function"){throw new d("invalid callback")}if(this[_]){if(this[U]){this[U].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new i}this[_]=true;this[U]=this[U]||[];this[U].push(t);const onDestroyed=()=>{const e=this[U];this[U]=null;for(let t=0;t<e.length;t++){e[t](null,null)}};this[h](e).then((()=>{queueMicrotask(onDestroyed)}))}[H](e,t){if(!this[k]||this[k].length===0){this[H]=this[Q];return this[Q](e,t)}let n=this[Q].bind(this);for(let e=this[k].length-1;e>=0;e--){n=this[k][e](n)}this[H]=n;return n(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new d("handler must be an object")}try{if(!e||typeof e!=="object"){throw new d("opts must be an object.")}if(this[_]||this[U]){throw new i}if(this[L]){throw new a}return this[H](e,t)}catch(e){if(typeof t.onError!=="function"){throw new d("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},992:(e,t,n)=>{"use strict";const o=n(4434);class Dispatcher extends o{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},8923:(e,t,n)=>{"use strict";const o=n(9581);const i=n(3440);const{ReadableStreamFrom:a,isBlobLike:d,isReadableStreamLike:h,readableStreamClose:m,createDeferredPromise:Q,fullyReadBody:k}=n(5523);const{FormData:_}=n(3073);const{kState:L}=n(9710);const{webidl:U}=n(4222);const{DOMException:P,structuredClone:H}=n(7326);const{Blob:Y,File:V}=n(181);const{kBodyUsed:J}=n(6443);const W=n(2613);const{isErrored:j}=n(3440);const{isUint8Array:K,isArrayBuffer:X}=n(8253);const{File:Z}=n(3041);const{parseMIMEType:ee,serializeAMimeType:te}=n(4322);let re;try{const e=n(7598);re=t=>e.randomInt(0,t)}catch{re=e=>Math.floor(Math.random(e))}let se=globalThis.ReadableStream;const ne=V??Z;const oe=new TextEncoder;const ie=new TextDecoder;function extractBody(e,t=false){if(!se){se=n(3774).ReadableStream}let o=null;if(e instanceof se){o=e}else if(d(e)){o=e.stream()}else{o=new se({async pull(e){e.enqueue(typeof k==="string"?oe.encode(k):k);queueMicrotask((()=>m(e)))},start(){},type:undefined})}W(h(o));let Q=null;let k=null;let _=null;let L=null;if(typeof e==="string"){k=e;L="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){k=e.toString();L="application/x-www-form-urlencoded;charset=UTF-8"}else if(X(e)){k=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){k=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(i.isFormDataLike(e)){const t=`----formdata-undici-0${`${re(1e11)}`.padStart(11,"0")}`;const n=`--${t}\r\nContent-Disposition: form-data`
|
|
3
3
|
/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const o=[];const i=new Uint8Array([13,10]);_=0;let a=false;for(const[t,d]of e){if(typeof d==="string"){const e=oe.encode(n+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(d)}\r\n`);o.push(e);_+=e.byteLength}else{const e=oe.encode(`${n}; name="${escape(normalizeLinefeeds(t))}"`+(d.name?`; filename="${escape(d.name)}"`:"")+"\r\n"+`Content-Type: ${d.type||"application/octet-stream"}\r\n\r\n`);o.push(e,d,i);if(typeof d.size==="number"){_+=e.byteLength+d.size+i.byteLength}else{a=true}}}const d=oe.encode(`--${t}--`);o.push(d);_+=d.byteLength;if(a){_=null}k=e;Q=async function*(){for(const e of o){if(e.stream){yield*e.stream()}else{yield e}}};L="multipart/form-data; boundary="+t}else if(d(e)){k=e;_=e.size;if(e.type){L=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(i.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}o=e instanceof se?e:a(e)}if(typeof k==="string"||i.isBuffer(k)){_=Buffer.byteLength(k)}if(Q!=null){let t;o=new se({async start(){t=Q(e)[Symbol.asyncIterator]()},async pull(e){const{value:n,done:i}=await t.next();if(i){queueMicrotask((()=>{e.close()}))}else{if(!j(o)){e.enqueue(new Uint8Array(n))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const U={stream:o,source:k,length:_};return[U,L]}function safelyExtractBody(e,t=false){if(!se){se=n(3774).ReadableStream}if(e instanceof se){W(!i.isDisturbed(e),"The body has already been consumed.");W(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,n]=e.stream.tee();const o=H(n,{transfer:[n]});const[,i]=o.tee();e.stream=t;return{stream:i,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(K(e)){yield e}else{const t=e.stream;if(i.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[J]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new P("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=te(t)}return new Y([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){U.brandCheck(this,e);throwIfAborted(this[L]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,n]of this.headers)e[t.toLowerCase()]=n;const t=new _;let n;try{n=new o({headers:e,preservePath:true})}catch(e){throw new P(`${e}`,"AbortError")}n.on("field",((e,n)=>{t.append(e,n)}));n.on("file",((e,n,o,i,a)=>{const d=[];if(i==="base64"||i.toLowerCase()==="base64"){let i="";n.on("data",(e=>{i+=e.toString().replace(/[\r\n]/gm,"");const t=i.length-i.length%4;d.push(Buffer.from(i.slice(0,t),"base64"));i=i.slice(t)}));n.on("end",(()=>{d.push(Buffer.from(i,"base64"));t.append(e,new ne(d,o,{type:a}))}))}else{n.on("data",(e=>{d.push(e)}));n.on("end",(()=>{t.append(e,new ne(d,o,{type:a}))}))}}));const i=new Promise(((e,t)=>{n.on("finish",e);n.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[L].body))n.write(e);n.end();await i;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const n=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[L].body)){if(!K(e)){throw new TypeError("Expected Uint8Array chunk")}t+=n.decode(e,{stream:true})}t+=n.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new _;for(const[n,o]of e){t.append(n,o)}return t}else{await Promise.resolve();throwIfAborted(this[L]);throw U.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,n){U.brandCheck(e,n);throwIfAborted(e[L]);if(bodyUnusable(e[L].body)){throw new TypeError("Body is unusable")}const o=Q();const errorSteps=e=>o.reject(e);const successSteps=e=>{try{o.resolve(t(e))}catch(e){errorSteps(e)}};if(e[L].body==null){successSteps(new Uint8Array);return o.promise}await k(e[L].body,successSteps,errorSteps);return o.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||i.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=ie.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[L];const n=t.get("content-type");if(n===null){return"failure"}return ee(n)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},7326:(e,t,n)=>{"use strict";const{MessageChannel:o,receiveMessageOnPort:i}=n(8167);const a=["GET","HEAD","POST"];const d=new Set(a);const h=[101,204,205,304];const m=[301,302,303,307,308];const Q=new Set(m);const k=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const _=new Set(k);const L=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const U=new Set(L);const P=["follow","manual","error"];const H=["GET","HEAD","OPTIONS","TRACE"];const Y=new Set(H);const V=["navigate","same-origin","no-cors","cors"];const J=["omit","same-origin","include"];const W=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const j=["content-encoding","content-language","content-location","content-type","content-length"];const K=["half"];const X=["CONNECT","TRACE","TRACK"];const Z=new Set(X);const ee=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const te=new Set(ee);const re=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let se;const ne=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!se){se=new o}se.port1.unref();se.port2.unref();se.port1.postMessage(e,t?.transfer);return i(se.port2).message};e.exports={DOMException:re,structuredClone:ne,subresource:ee,forbiddenMethods:X,requestBodyHeader:j,referrerPolicy:L,requestRedirect:P,requestMode:V,requestCredentials:J,requestCache:W,redirectStatus:m,corsSafeListedMethods:a,nullBodyStatus:h,safeMethods:H,badPorts:k,requestDuplex:K,subresourceSet:te,badPortsSet:_,redirectStatusSet:Q,corsSafeListedMethodsSet:d,safeMethodsSet:Y,forbiddenMethodsSet:Z,referrerPolicySet:U}},4322:(e,t,n)=>{const o=n(2613);const{atob:i}=n(181);const{isomorphicDecode:a}=n(5523);const d=new TextEncoder;const h=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const m=/(\u000A|\u000D|\u0009|\u0020)/;const Q=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){o(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const n={position:0};let i=collectASequenceOfCodePointsFast(",",t,n);const d=i.length;i=removeASCIIWhitespace(i,true,true);if(n.position>=t.length){return"failure"}n.position++;const h=t.slice(d+1);let m=stringPercentDecode(h);if(/;(\u0020){0,}base64$/i.test(i)){const e=a(m);m=forgivingBase64(e);if(m==="failure"){return"failure"}i=i.slice(0,-6);i=i.replace(/(\u0020)+$/,"");i=i.slice(0,-1)}if(i.startsWith(";")){i="text/plain"+i}let Q=parseMIMEType(i);if(Q==="failure"){Q=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:Q,body:m}}function URLSerializer(e,t=false){if(!t){return e.href}const n=e.href;const o=e.hash.length;return o===0?n:n.substring(0,n.length-o)}function collectASequenceOfCodePoints(e,t,n){let o="";while(n.position<t.length&&e(t[n.position])){o+=t[n.position];n.position++}return o}function collectASequenceOfCodePointsFast(e,t,n){const o=t.indexOf(e,n.position);const i=n.position;if(o===-1){n.position=t.length;return t.slice(i)}n.position=o;return t.slice(i,n.position)}function stringPercentDecode(e){const t=d.encode(e);return percentDecode(t)}function percentDecode(e){const t=[];for(let n=0;n<e.length;n++){const o=e[n];if(o!==37){t.push(o)}else if(o===37&&!/^[0-9A-Fa-f]{2}$/i.test(String.fromCharCode(e[n+1],e[n+2]))){t.push(37)}else{const o=String.fromCharCode(e[n+1],e[n+2]);const i=Number.parseInt(o,16);t.push(i);n+=2}}return Uint8Array.from(t)}function parseMIMEType(e){e=removeHTTPWhitespace(e,true,true);const t={position:0};const n=collectASequenceOfCodePointsFast("/",e,t);if(n.length===0||!h.test(n)){return"failure"}if(t.position>e.length){return"failure"}t.position++;let o=collectASequenceOfCodePointsFast(";",e,t);o=removeHTTPWhitespace(o,false,true);if(o.length===0||!h.test(o)){return"failure"}const i=n.toLowerCase();const a=o.toLowerCase();const d={type:i,subtype:a,parameters:new Map,essence:`${i}/${a}`};while(t.position<e.length){t.position++;collectASequenceOfCodePoints((e=>m.test(e)),e,t);let n=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);n=n.toLowerCase();if(t.position<e.length){if(e[t.position]===";"){continue}t.position++}if(t.position>e.length){break}let o=null;if(e[t.position]==='"'){o=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{o=collectASequenceOfCodePointsFast(";",e,t);o=removeHTTPWhitespace(o,false,true);if(o.length===0){continue}}if(n.length!==0&&h.test(n)&&(o.length===0||Q.test(o))&&!d.parameters.has(n)){d.parameters.set(n,o)}}return d}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=i(e);const n=new Uint8Array(t.length);for(let e=0;e<t.length;e++){n[e]=t.charCodeAt(e)}return n}function collectAnHTTPQuotedString(e,t,n){const i=t.position;let a="";o(e[t.position]==='"');t.position++;while(true){a+=collectASequenceOfCodePoints((e=>e!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const n=e[t.position];t.position++;if(n==="\\"){if(t.position>=e.length){a+="\\";break}a+=e[t.position];t.position++}else{o(n==='"');break}}if(n){return a}return e.slice(i,t.position)}function serializeAMimeType(e){o(e!=="failure");const{parameters:t,essence:n}=e;let i=n;for(let[e,n]of t.entries()){i+=";";i+=e;i+="=";if(!h.test(n)){n=n.replace(/(\\|")/g,"\\$1");n='"'+n;n+='"'}i+=n}return i}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,n=true){let o=0;let i=e.length-1;if(t){for(;o<e.length&&isHTTPWhiteSpace(e[o]);o++);}if(n){for(;i>0&&isHTTPWhiteSpace(e[i]);i--);}return e.slice(o,i+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,n=true){let o=0;let i=e.length-1;if(t){for(;o<e.length&&isASCIIWhitespace(e[o]);o++);}if(n){for(;i>0&&isASCIIWhitespace(e[i]);i--);}return e.slice(o,i+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},3041:(e,t,n)=>{"use strict";const{Blob:o,File:i}=n(181);const{types:a}=n(9023);const{kState:d}=n(9710);const{isBlobLike:h}=n(5523);const{webidl:m}=n(4222);const{parseMIMEType:Q,serializeAMimeType:k}=n(4322);const{kEnumerableProperty:_}=n(3440);const L=new TextEncoder;class File extends o{constructor(e,t,n={}){m.argumentLengthCheck(arguments,2,{header:"File constructor"});e=m.converters["sequence<BlobPart>"](e);t=m.converters.USVString(t);n=m.converters.FilePropertyBag(n);const o=t;let i=n.type;let a;e:{if(i){i=Q(i);if(i==="failure"){i="";break e}i=k(i).toLowerCase()}a=n.lastModified}super(processBlobParts(e,n),{type:i});this[d]={name:o,lastModified:a,type:i}}get name(){m.brandCheck(this,File);return this[d].name}get lastModified(){m.brandCheck(this,File);return this[d].lastModified}get type(){m.brandCheck(this,File);return this[d].type}}class FileLike{constructor(e,t,n={}){const o=t;const i=n.type;const a=n.lastModified??Date.now();this[d]={blobLike:e,name:o,type:i,lastModified:a}}stream(...e){m.brandCheck(this,FileLike);return this[d].blobLike.stream(...e)}arrayBuffer(...e){m.brandCheck(this,FileLike);return this[d].blobLike.arrayBuffer(...e)}slice(...e){m.brandCheck(this,FileLike);return this[d].blobLike.slice(...e)}text(...e){m.brandCheck(this,FileLike);return this[d].blobLike.text(...e)}get size(){m.brandCheck(this,FileLike);return this[d].blobLike.size}get type(){m.brandCheck(this,FileLike);return this[d].blobLike.type}get name(){m.brandCheck(this,FileLike);return this[d].name}get lastModified(){m.brandCheck(this,FileLike);return this[d].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:_,lastModified:_});m.converters.Blob=m.interfaceConverter(o);m.converters.BlobPart=function(e,t){if(m.util.Type(e)==="Object"){if(h(e)){return m.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||a.isAnyArrayBuffer(e)){return m.converters.BufferSource(e,t)}}return m.converters.USVString(e,t)};m.converters["sequence<BlobPart>"]=m.sequenceConverter(m.converters.BlobPart);m.converters.FilePropertyBag=m.dictionaryConverter([{key:"lastModified",converter:m.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:m.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=m.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const n=[];for(const o of e){if(typeof o==="string"){let e=o;if(t.endings==="native"){e=convertLineEndingsNative(e)}n.push(L.encode(e))}else if(a.isAnyArrayBuffer(o)||a.isTypedArray(o)){if(!o.buffer){n.push(new Uint8Array(o))}else{n.push(new Uint8Array(o.buffer,o.byteOffset,o.byteLength))}}else if(h(o)){n.push(o)}}return n}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return i&&e instanceof i||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},3073:(e,t,n)=>{"use strict";const{isBlobLike:o,toUSVString:i,makeIterator:a}=n(5523);const{kState:d}=n(9710);const{File:h,FileLike:m,isFileLike:Q}=n(3041);const{webidl:k}=n(4222);const{Blob:_,File:L}=n(181);const U=L??h;class FormData{constructor(e){if(e!==undefined){throw k.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[d]=[]}append(e,t,n=undefined){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!o(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=k.converters.USVString(e);t=o(t)?k.converters.Blob(t,{strict:false}):k.converters.USVString(t);n=arguments.length===3?k.converters.USVString(n):undefined;const i=makeEntry(e,t,n);this[d].push(i)}delete(e){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=k.converters.USVString(e);this[d]=this[d].filter((t=>t.name!==e))}get(e){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=k.converters.USVString(e);const t=this[d].findIndex((t=>t.name===e));if(t===-1){return null}return this[d][t].value}getAll(e){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=k.converters.USVString(e);return this[d].filter((t=>t.name===e)).map((e=>e.value))}has(e){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=k.converters.USVString(e);return this[d].findIndex((t=>t.name===e))!==-1}set(e,t,n=undefined){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!o(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=k.converters.USVString(e);t=o(t)?k.converters.Blob(t,{strict:false}):k.converters.USVString(t);n=arguments.length===3?i(n):undefined;const a=makeEntry(e,t,n);const h=this[d].findIndex((t=>t.name===e));if(h!==-1){this[d]=[...this[d].slice(0,h),a,...this[d].slice(h+1).filter((t=>t.name!==e))]}else{this[d].push(a)}}entries(){k.brandCheck(this,FormData);return a((()=>this[d].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){k.brandCheck(this,FormData);return a((()=>this[d].map((e=>[e.name,e.value]))),"FormData","key")}values(){k.brandCheck(this,FormData);return a((()=>this[d].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){k.brandCheck(this,FormData);k.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[n,o]of this){e.apply(t,[o,n,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,n){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!Q(t)){t=t instanceof _?new U([t],"blob",{type:t.type}):new m(t,"blob",{type:t.type})}if(n!==undefined){const e={type:t.type,lastModified:t.lastModified};t=L&&t instanceof L||t instanceof h?new U([t],n,e):new m(t,n,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},5628:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const n=new URL(e);if(n.protocol!=="http:"&&n.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${n.protocol}`)}Object.defineProperty(globalThis,t,{value:n,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},6349:(e,t,n)=>{"use strict";const{kHeadersList:o,kConstruct:i}=n(6443);const{kGuard:a}=n(9710);const{kEnumerableProperty:d}=n(3440);const{makeIterator:h,isValidHeaderName:m,isValidHeaderValue:Q}=n(5523);const k=n(9023);const{webidl:_}=n(4222);const L=n(2613);const U=Symbol("headers map");const P=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let n=e.length;while(n>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(n-1)))--n;while(n>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&n===e.length?e:e.substring(t,n)}function fill(e,t){if(Array.isArray(t)){for(let n=0;n<t.length;++n){const o=t[n];if(o.length!==2){throw _.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${o.length}.`})}appendHeader(e,o[0],o[1])}}else if(typeof t==="object"&&t!==null){const n=Object.keys(t);for(let o=0;o<n.length;++o){appendHeader(e,n[o],t[n[o]])}}else{throw _.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}}function appendHeader(e,t,n){n=headerValueNormalize(n);if(!m(t)){throw _.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!Q(n)){throw _.errors.invalidArgument({prefix:"Headers.append",value:n,type:"header value"})}if(e[a]==="immutable"){throw new TypeError("immutable")}else if(e[a]==="request-no-cors"){}return e[o].append(t,n)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[U]=new Map(e[U]);this[P]=e[P];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[U]=new Map(e);this[P]=null}}contains(e){e=e.toLowerCase();return this[U].has(e)}clear(){this[U].clear();this[P]=null;this.cookies=null}append(e,t){this[P]=null;const n=e.toLowerCase();const o=this[U].get(n);if(o){const e=n==="cookie"?"; ":", ";this[U].set(n,{name:o.name,value:`${o.value}${e}${t}`})}else{this[U].set(n,{name:e,value:t})}if(n==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[P]=null;const n=e.toLowerCase();if(n==="set-cookie"){this.cookies=[t]}this[U].set(n,{name:e,value:t})}delete(e){this[P]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[U].delete(e)}get(e){const t=this[U].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[U]){yield[e,t]}}get entries(){const e={};if(this[U].size){for(const{name:t,value:n}of this[U].values()){e[t]=n}}return e}}class Headers{constructor(e=undefined){if(e===i){return}this[o]=new HeadersList;this[a]="none";if(e!==undefined){e=_.converters.HeadersInit(e);fill(this,e)}}append(e,t){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=_.converters.ByteString(e);t=_.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=_.converters.ByteString(e);if(!m(e)){throw _.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[a]==="immutable"){throw new TypeError("immutable")}else if(this[a]==="request-no-cors"){}if(!this[o].contains(e)){return}this[o].delete(e)}get(e){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=_.converters.ByteString(e);if(!m(e)){throw _.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[o].get(e)}has(e){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=_.converters.ByteString(e);if(!m(e)){throw _.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[o].contains(e)}set(e,t){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=_.converters.ByteString(e);t=_.converters.ByteString(t);t=headerValueNormalize(t);if(!m(e)){throw _.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!Q(t)){throw _.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[a]==="immutable"){throw new TypeError("immutable")}else if(this[a]==="request-no-cors"){}this[o].set(e,t)}getSetCookie(){_.brandCheck(this,Headers);const e=this[o].cookies;if(e){return[...e]}return[]}get[P](){if(this[o][P]){return this[o][P]}const e=[];const t=[...this[o]].sort(((e,t)=>e[0]<t[0]?-1:1));const n=this[o].cookies;for(let o=0;o<t.length;++o){const[i,a]=t[o];if(i==="set-cookie"){for(let t=0;t<n.length;++t){e.push([i,n[t]])}}else{L(a!==null);e.push([i,a])}}this[o][P]=e;return e}keys(){_.brandCheck(this,Headers);if(this[a]==="immutable"){const e=this[P];return h((()=>e),"Headers","key")}return h((()=>[...this[P].values()]),"Headers","key")}values(){_.brandCheck(this,Headers);if(this[a]==="immutable"){const e=this[P];return h((()=>e),"Headers","value")}return h((()=>[...this[P].values()]),"Headers","value")}entries(){_.brandCheck(this,Headers);if(this[a]==="immutable"){const e=this[P];return h((()=>e),"Headers","key+value")}return h((()=>[...this[P].values()]),"Headers","key+value")}forEach(e,t=globalThis){_.brandCheck(this,Headers);_.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[n,o]of this){e.apply(t,[o,n,this])}}[Symbol.for("nodejs.util.inspect.custom")](){_.brandCheck(this,Headers);return this[o]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:d,delete:d,get:d,has:d,set:d,getSetCookie:d,keys:d,values:d,entries:d,forEach:d,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true},[k.inspect.custom]:{enumerable:false}});_.converters.HeadersInit=function(e){if(_.util.Type(e)==="Object"){if(e[Symbol.iterator]){return _.converters["sequence<sequence<ByteString>>"](e)}return _.converters["record<ByteString, ByteString>"](e)}throw _.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},2315:(e,t,n)=>{"use strict";const{Response:o,makeNetworkError:i,makeAppropriateNetworkError:a,filterResponse:d,makeResponse:h}=n(8676);const{Headers:m}=n(6349);const{Request:Q,makeRequest:k}=n(5194);const _=n(3106);const{bytesMatch:L,makePolicyContainer:U,clonePolicyContainer:P,requestBadPort:H,TAOCheck:Y,appendRequestOriginHeader:V,responseLocationURL:J,requestCurrentURL:W,setRequestReferrerPolicyOnRedirect:j,tryUpgradeRequestToAPotentiallyTrustworthyURL:K,createOpaqueTimingInfo:X,appendFetchMetadata:Z,corsCheck:ee,crossOriginResourcePolicyCheck:te,determineRequestsReferrer:re,coarsenedSharedCurrentTime:se,createDeferredPromise:ne,isBlobLike:oe,sameOrigin:ie,isCancelled:Ae,isAborted:ae,isErrorLike:ce,fullyReadBody:le,readableStreamClose:ue,isomorphicEncode:ge,urlIsLocal:de,urlIsHttpHttpsScheme:he,urlHasHttpsScheme:pe}=n(5523);const{kState:fe,kHeaders:Ee,kGuard:Ce,kRealm:me}=n(9710);const Ie=n(2613);const{safelyExtractBody:Be}=n(8923);const{redirectStatusSet:Qe,nullBodyStatus:ye,safeMethodsSet:we,requestBodyHeader:be,subresourceSet:Se,DOMException:Re}=n(7326);const{kHeadersList:De}=n(6443);const Te=n(4434);const{Readable:ke,pipeline:ve}=n(2203);const{addAbortListener:Ne,isErrored:Fe,isReadable:_e,nodeMajor:Le,nodeMinor:Ue}=n(3440);const{dataURLProcessor:Pe,serializeAMimeType:Me}=n(4322);const{TransformStream:xe}=n(3774);const{getGlobalDispatcher:Oe}=n(2581);const{webidl:Ge}=n(4222);const{STATUS_CODES:He}=n(8611);const Ye=["GET","HEAD"];let Ve;let Je=globalThis.ReadableStream;class Fetch extends Te{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new Re("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){Ge.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const n=ne();let i;try{i=new Q(e,t)}catch(e){n.reject(e);return n.promise}const a=i[fe];if(i.signal.aborted){abortFetch(n,a,null,i.signal.reason);return n.promise}const d=a.client.globalObject;if(d?.constructor?.name==="ServiceWorkerGlobalScope"){a.serviceWorkers="none"}let h=null;const m=null;let k=false;let _=null;Ne(i.signal,(()=>{k=true;Ie(_!=null);_.abort(i.signal.reason);abortFetch(n,a,h,i.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(k){return Promise.resolve()}if(e.aborted){abortFetch(n,a,h,_.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){n.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}h=new o;h[fe]=e;h[me]=m;h[Ee][De]=e.headersList;h[Ee][Ce]="immutable";h[Ee][me]=m;n.resolve(h)};_=fetching({request:a,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??Oe()});return n.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const n=e.urlList[0];let o=e.timingInfo;let i=e.cacheState;if(!he(n)){return}if(o===null){return}if(!e.timingAllowPassed){o=X({startTime:o.startTime});i=""}o.endTime=se();e.timingInfo=o;markResourceTiming(o,n,t,globalThis,i)}function markResourceTiming(e,t,n,o,i){if(Le>18||Le===18&&Ue>=2){performance.markResourceTiming(e,t.href,n,o,i)}}function abortFetch(e,t,n,o){if(!o){o=new Re("The operation was aborted.","AbortError")}e.reject(o);if(t.body!=null&&_e(t.body?.stream)){t.body.stream.cancel(o).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(n==null){return}const i=n[fe];if(i.body!=null&&_e(i.body?.stream)){i.body.stream.cancel(o).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:o,processResponseEndOfBody:i,processResponseConsumeBody:a,useParallelQueue:d=false,dispatcher:h}){let m=null;let Q=false;if(e.client!=null){m=e.client.globalObject;Q=e.client.crossOriginIsolatedCapability}const k=se(Q);const _=X({startTime:k});const L={controller:new Fetch(h),request:e,timingInfo:_,processRequestBodyChunkLength:t,processRequestEndOfBody:n,processResponse:o,processResponseConsumeBody:a,processResponseEndOfBody:i,taskDestination:m,crossOriginIsolatedCapability:Q};Ie(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=P(e.client.policyContainer)}else{e.policyContainer=U()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(Se.has(e.destination)){}mainFetch(L).catch((e=>{L.controller.terminate(e)}));return L.controller}async function mainFetch(e,t=false){const n=e.request;let o=null;if(n.localURLsOnly&&!de(W(n))){o=i("local URLs only")}K(n);if(H(n)==="blocked"){o=i("bad port")}if(n.referrerPolicy===""){n.referrerPolicy=n.policyContainer.referrerPolicy}if(n.referrer!=="no-referrer"){n.referrer=re(n)}if(o===null){o=await(async()=>{const t=W(n);if(ie(t,n.url)&&n.responseTainting==="basic"||t.protocol==="data:"||(n.mode==="navigate"||n.mode==="websocket")){n.responseTainting="basic";return await schemeFetch(e)}if(n.mode==="same-origin"){return i('request mode cannot be "same-origin"')}if(n.mode==="no-cors"){if(n.redirect!=="follow"){return i('redirect mode cannot be "follow" for "no-cors" request')}n.responseTainting="opaque";return await schemeFetch(e)}if(!he(W(n))){return i("URL scheme must be a HTTP(S) scheme")}n.responseTainting="cors";return await httpFetch(e)})()}if(t){return o}if(o.status!==0&&!o.internalResponse){if(n.responseTainting==="cors"){}if(n.responseTainting==="basic"){o=d(o,"basic")}else if(n.responseTainting==="cors"){o=d(o,"cors")}else if(n.responseTainting==="opaque"){o=d(o,"opaque")}else{Ie(false)}}let a=o.status===0?o:o.internalResponse;if(a.urlList.length===0){a.urlList.push(...n.urlList)}if(!n.timingAllowFailed){o.timingAllowPassed=true}if(o.type==="opaque"&&a.status===206&&a.rangeRequested&&!n.headers.contains("range")){o=a=i()}if(o.status!==0&&(n.method==="HEAD"||n.method==="CONNECT"||ye.includes(a.status))){a.body=null;e.controller.dump=true}if(n.integrity){const processBodyError=t=>fetchFinale(e,i(t));if(n.responseTainting==="opaque"||o.body==null){processBodyError(o.error);return}const processBody=t=>{if(!L(t,n.integrity)){processBodyError("integrity mismatch");return}o.body=Be(t)[0];fetchFinale(e,o)};await le(o.body,processBody,processBodyError)}else{fetchFinale(e,o)}}function schemeFetch(e){if(Ae(e)&&e.request.redirectCount===0){return Promise.resolve(a(e))}const{request:t}=e;const{protocol:o}=W(t);switch(o){case"about:":{return Promise.resolve(i("about scheme is not supported"))}case"blob:":{if(!Ve){Ve=n(181).resolveObjectURL}const e=W(t);if(e.search.length!==0){return Promise.resolve(i("NetworkError when attempting to fetch resource."))}const o=Ve(e.toString());if(t.method!=="GET"||!oe(o)){return Promise.resolve(i("invalid method"))}const a=Be(o);const d=a[0];const m=ge(`${d.length}`);const Q=a[1]??"";const k=h({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:m}],["content-type",{name:"Content-Type",value:Q}]]});k.body=d;return Promise.resolve(k)}case"data:":{const e=W(t);const n=Pe(e);if(n==="failure"){return Promise.resolve(i("failed to fetch the data URL"))}const o=Me(n.mimeType);return Promise.resolve(h({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:o}]],body:Be(n.body)[0]}))}case"file:":{return Promise.resolve(i("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>i(e)))}default:{return Promise.resolve(i("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=X({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new xe({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=n=>e.processResponseConsumeBody(t,n);const processBodyError=n=>e.processResponseConsumeBody(t,n);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return le(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let n=null;let o=null;const a=e.timingInfo;if(t.serviceWorkers==="all"){}if(n===null){if(t.redirect==="follow"){t.serviceWorkers="none"}o=n=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&ee(t,n)==="failure"){return i("cors failure")}if(Y(t,n)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||n.type==="opaque")&&te(t.origin,t.client,t.destination,o)==="blocked"){return i("blocked")}if(Qe.has(o.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){n=i("unexpected redirect")}else if(t.redirect==="manual"){n=o}else if(t.redirect==="follow"){n=await httpRedirectFetch(e,n)}else{Ie(false)}}n.timingInfo=a;return n}function httpRedirectFetch(e,t){const n=e.request;const o=t.internalResponse?t.internalResponse:t;let a;try{a=J(o,W(n).hash);if(a==null){return t}}catch(e){return Promise.resolve(i(e))}if(!he(a)){return Promise.resolve(i("URL scheme must be a HTTP(S) scheme"))}if(n.redirectCount===20){return Promise.resolve(i("redirect count exceeded"))}n.redirectCount+=1;if(n.mode==="cors"&&(a.username||a.password)&&!ie(n,a)){return Promise.resolve(i('cross origin not allowed for request mode "cors"'))}if(n.responseTainting==="cors"&&(a.username||a.password)){return Promise.resolve(i('URL cannot contain credentials for request mode "cors"'))}if(o.status!==303&&n.body!=null&&n.body.source==null){return Promise.resolve(i())}if([301,302].includes(o.status)&&n.method==="POST"||o.status===303&&!Ye.includes(n.method)){n.method="GET";n.body=null;for(const e of be){n.headersList.delete(e)}}if(!ie(W(n),a)){n.headersList.delete("authorization");n.headersList.delete("proxy-authorization",true);n.headersList.delete("cookie");n.headersList.delete("host")}if(n.body!=null){Ie(n.body.source!=null);n.body=Be(n.body.source)[0]}const d=e.timingInfo;d.redirectEndTime=d.postRedirectStartTime=se(e.crossOriginIsolatedCapability);if(d.redirectStartTime===0){d.redirectStartTime=d.startTime}n.urlList.push(a);j(n,o);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,n=false){const o=e.request;let d=null;let h=null;let m=null;const Q=null;const _=false;if(o.window==="no-window"&&o.redirect==="error"){d=e;h=o}else{h=k(o);d={...e};d.request=h}const L=o.credentials==="include"||o.credentials==="same-origin"&&o.responseTainting==="basic";const U=h.body?h.body.length:null;let P=null;if(h.body==null&&["POST","PUT"].includes(h.method)){P="0"}if(U!=null){P=ge(`${U}`)}if(P!=null){h.headersList.append("content-length",P)}if(U!=null&&h.keepalive){}if(h.referrer instanceof URL){h.headersList.append("referer",ge(h.referrer.href))}V(h);Z(h);if(!h.headersList.contains("user-agent")){h.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(h.cache==="default"&&(h.headersList.contains("if-modified-since")||h.headersList.contains("if-none-match")||h.headersList.contains("if-unmodified-since")||h.headersList.contains("if-match")||h.headersList.contains("if-range"))){h.cache="no-store"}if(h.cache==="no-cache"&&!h.preventNoCacheCacheControlHeaderModification&&!h.headersList.contains("cache-control")){h.headersList.append("cache-control","max-age=0")}if(h.cache==="no-store"||h.cache==="reload"){if(!h.headersList.contains("pragma")){h.headersList.append("pragma","no-cache")}if(!h.headersList.contains("cache-control")){h.headersList.append("cache-control","no-cache")}}if(h.headersList.contains("range")){h.headersList.append("accept-encoding","identity")}if(!h.headersList.contains("accept-encoding")){if(pe(W(h))){h.headersList.append("accept-encoding","br, gzip, deflate")}else{h.headersList.append("accept-encoding","gzip, deflate")}}h.headersList.delete("host");if(L){}if(Q==null){h.cache="no-store"}if(h.mode!=="no-store"&&h.mode!=="reload"){}if(m==null){if(h.mode==="only-if-cached"){return i("only if cached")}const e=await httpNetworkFetch(d,L,n);if(!we.has(h.method)&&e.status>=200&&e.status<=399){}if(_&&e.status===304){}if(m==null){m=e}}m.urlList=[...h.urlList];if(h.headersList.contains("range")){m.rangeRequested=true}m.requestIncludesCredentials=L;if(m.status===407){if(o.window==="no-window"){return i()}if(Ae(e)){return a(e)}return i("proxy authentication required")}if(m.status===421&&!n&&(o.body==null||o.body.source!=null)){if(Ae(e)){return a(e)}e.controller.connection.destroy();m=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return m}async function httpNetworkFetch(e,t=false,o=false){Ie(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new Re("The operation was aborted.","AbortError"))}}};const d=e.request;let Q=null;const k=e.timingInfo;const L=null;if(L==null){d.cache="no-store"}const U=o?"yes":"no";if(d.mode==="websocket"){}else{}let P=null;if(d.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(d.body!=null){const processBodyChunk=async function*(t){if(Ae(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(Ae(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(Ae(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};P=async function*(){try{for await(const e of d.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:n,statusText:o,headersList:i,socket:a}=await dispatch({body:P});if(a){Q=h({status:n,statusText:o,headersList:i,socket:a})}else{const a=t[Symbol.asyncIterator]();e.controller.next=()=>a.next();Q=h({status:n,statusText:o,headersList:i})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return a(e,t)}return i(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!Je){Je=n(3774).ReadableStream}const H=new Je({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});Q.body={stream:H};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let n;try{const{done:n,value:o}=await e.controller.next();if(ae(e)){break}t=n?undefined:o}catch(o){if(e.controller.ended&&!k.encodedBodySize){t=undefined}else{t=o;n=true}}if(t===undefined){ue(e.controller.controller);finalizeResponse(e,Q);return}k.decodedBodySize+=t?.byteLength??0;if(n){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(Fe(H)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(ae(e)){Q.aborted=true;if(_e(H)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(_e(H)){e.controller.controller.error(new TypeError("terminated",{cause:ce(t)?t:undefined}))}}e.controller.connection.destroy()}return Q;async function dispatch({body:t}){const n=W(d);const o=e.controller.dispatcher;return new Promise(((i,a)=>o.dispatch({path:n.pathname+n.search,origin:n.origin,method:d.method,body:e.controller.dispatcher.isMockActive?d.body&&(d.body.source||d.body.stream):t,headers:d.headersList.entries,maxRedirections:0,upgrade:d.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:n}=e.controller;if(n.destroyed){t(new Re("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=n.abort=t}},onHeaders(e,t,n,o){if(e<200){return}let a=[];let h="";const Q=new m;if(Array.isArray(t)){for(let e=0;e<t.length;e+=2){const n=t[e+0].toString("latin1");const o=t[e+1].toString("latin1");if(n.toLowerCase()==="content-encoding"){a=o.toLowerCase().split(",").map((e=>e.trim()))}else if(n.toLowerCase()==="location"){h=o}Q[De].append(n,o)}}else{const e=Object.keys(t);for(const n of e){const e=t[n];if(n.toLowerCase()==="content-encoding"){a=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(n.toLowerCase()==="location"){h=e}Q[De].append(n,e)}}this.body=new ke({read:n});const k=[];const L=d.redirect==="follow"&&h&&Qe.has(e);if(d.method!=="HEAD"&&d.method!=="CONNECT"&&!ye.includes(e)&&!L){for(const e of a){if(e==="x-gzip"||e==="gzip"){k.push(_.createGunzip({flush:_.constants.Z_SYNC_FLUSH,finishFlush:_.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){k.push(_.createInflate())}else if(e==="br"){k.push(_.createBrotliDecompress())}else{k.length=0;break}}}i({status:e,statusText:o,headersList:Q[De],body:k.length?ve(this.body,...k,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const n=t;k.encodedBodySize+=n.byteLength;return this.body.push(n)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);a(t)},onUpgrade(e,t,n){if(e!==101){return}const o=new m;for(let e=0;e<t.length;e+=2){const n=t[e+0].toString("latin1");const i=t[e+1].toString("latin1");o[De].append(n,i)}i({status:e,statusText:He[e],headersList:o[De],socket:n});return true}})))}}e.exports={fetch:fetch,Fetch:Fetch,fetching:fetching,finalizeAndReportTiming:finalizeAndReportTiming}},5194:(e,t,n)=>{"use strict";const{extractBody:o,mixinBody:i,cloneBody:a}=n(8923);const{Headers:d,fill:h,HeadersList:m}=n(6349);const{FinalizationRegistry:Q}=n(3194)();const k=n(3440);const{isValidHTTPToken:_,sameOrigin:L,normalizeMethod:U,makePolicyContainer:P,normalizeMethodRecord:H}=n(5523);const{forbiddenMethodsSet:Y,corsSafeListedMethodsSet:V,referrerPolicy:J,requestRedirect:W,requestMode:j,requestCredentials:K,requestCache:X,requestDuplex:Z}=n(7326);const{kEnumerableProperty:ee}=k;const{kHeaders:te,kSignal:re,kState:se,kGuard:ne,kRealm:oe}=n(9710);const{webidl:ie}=n(4222);const{getGlobalOrigin:Ae}=n(5628);const{URLSerializer:ae}=n(4322);const{kHeadersList:ce,kConstruct:le}=n(6443);const ue=n(2613);const{getMaxListeners:ge,setMaxListeners:de,getEventListeners:he,defaultMaxListeners:pe}=n(4434);let fe=globalThis.TransformStream;const Ee=Symbol("abortController");const Ce=new Q((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===le){return}ie.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=ie.converters.RequestInfo(e);t=ie.converters.RequestInit(t);this[oe]={settingsObject:{baseUrl:Ae(),get origin(){return this.baseUrl?.origin},policyContainer:P()}};let i=null;let a=null;const Q=this[oe].settingsObject.baseUrl;let J=null;if(typeof e==="string"){let t;try{t=new URL(e,Q)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}i=makeRequest({urlList:[t]});a="cors"}else{ue(e instanceof Request);i=e[se];J=e[re]}const W=this[oe].settingsObject.origin;let j="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&L(i.window,W)){j=i.window}if(t.window!=null){throw new TypeError(`'window' option '${j}' must be null`)}if("window"in t){j="no-window"}i=makeRequest({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:this[oe].settingsObject,window:j,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});const K=Object.keys(t).length!==0;if(K){if(i.mode==="navigate"){i.mode="same-origin"}i.reloadNavigation=false;i.historyNavigation=false;i.origin="client";i.referrer="client";i.referrerPolicy="";i.url=i.urlList[i.urlList.length-1];i.urlList=[i.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){i.referrer="no-referrer"}else{let t;try{t=new URL(e,Q)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||W&&!L(t,this[oe].settingsObject.baseUrl)){i.referrer="client"}else{i.referrer=t}}}if(t.referrerPolicy!==undefined){i.referrerPolicy=t.referrerPolicy}let X;if(t.mode!==undefined){X=t.mode}else{X=a}if(X==="navigate"){throw ie.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(X!=null){i.mode=X}if(t.credentials!==undefined){i.credentials=t.credentials}if(t.cache!==undefined){i.cache=t.cache}if(i.cache==="only-if-cached"&&i.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){i.redirect=t.redirect}if(t.integrity!=null){i.integrity=String(t.integrity)}if(t.keepalive!==undefined){i.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!_(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(Y.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=H[e]??U(e);i.method=e}if(t.signal!==undefined){J=t.signal}this[se]=i;const Z=new AbortController;this[re]=Z.signal;this[re][oe]=this[oe];if(J!=null){if(!J||typeof J.aborted!=="boolean"||typeof J.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(J.aborted){Z.abort(J.reason)}else{this[Ee]=Z;const e=new WeakRef(Z);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof ge==="function"&&ge(J)===pe){de(100,J)}else if(he(J,"abort").length>=pe){de(100,J)}}catch{}k.addAbortListener(J,abort);Ce.register(Z,{signal:J,abort:abort})}}this[te]=new d(le);this[te][ce]=i.headersList;this[te][ne]="request";this[te][oe]=this[oe];if(X==="no-cors"){if(!V.has(i.method)){throw new TypeError(`'${i.method} is unsupported in no-cors mode.`)}this[te][ne]="request-no-cors"}if(K){const e=this[te][ce];const n=t.headers!==undefined?t.headers:new m(e);e.clear();if(n instanceof m){for(const[t,o]of n){e.append(t,o)}e.cookies=n.cookies}else{h(this[te],n)}}const ee=e instanceof Request?e[se].body:null;if((t.body!=null||ee!=null)&&(i.method==="GET"||i.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let ae=null;if(t.body!=null){const[e,n]=o(t.body,i.keepalive);ae=e;if(n&&!this[te][ce].contains("content-type")){this[te].append("content-type",n)}}const me=ae??ee;if(me!=null&&me.source==null){if(ae!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(i.mode!=="same-origin"&&i.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}i.useCORSPreflightFlag=true}let Ie=me;if(ae==null&&ee!=null){if(k.isDisturbed(ee.stream)||ee.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!fe){fe=n(3774).TransformStream}const e=new fe;ee.stream.pipeThrough(e);Ie={source:ee.source,length:ee.length,stream:e.readable}}this[se].body=Ie}get method(){ie.brandCheck(this,Request);return this[se].method}get url(){ie.brandCheck(this,Request);return ae(this[se].url)}get headers(){ie.brandCheck(this,Request);return this[te]}get destination(){ie.brandCheck(this,Request);return this[se].destination}get referrer(){ie.brandCheck(this,Request);if(this[se].referrer==="no-referrer"){return""}if(this[se].referrer==="client"){return"about:client"}return this[se].referrer.toString()}get referrerPolicy(){ie.brandCheck(this,Request);return this[se].referrerPolicy}get mode(){ie.brandCheck(this,Request);return this[se].mode}get credentials(){return this[se].credentials}get cache(){ie.brandCheck(this,Request);return this[se].cache}get redirect(){ie.brandCheck(this,Request);return this[se].redirect}get integrity(){ie.brandCheck(this,Request);return this[se].integrity}get keepalive(){ie.brandCheck(this,Request);return this[se].keepalive}get isReloadNavigation(){ie.brandCheck(this,Request);return this[se].reloadNavigation}get isHistoryNavigation(){ie.brandCheck(this,Request);return this[se].historyNavigation}get signal(){ie.brandCheck(this,Request);return this[re]}get body(){ie.brandCheck(this,Request);return this[se].body?this[se].body.stream:null}get bodyUsed(){ie.brandCheck(this,Request);return!!this[se].body&&k.isDisturbed(this[se].body.stream)}get duplex(){ie.brandCheck(this,Request);return"half"}clone(){ie.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[se]);const t=new Request(le);t[se]=e;t[oe]=this[oe];t[te]=new d(le);t[te][ce]=e.headersList;t[te][ne]=this[te][ne];t[te][oe]=this[te][oe];const n=new AbortController;if(this.signal.aborted){n.abort(this.signal.reason)}else{k.addAbortListener(this.signal,(()=>{n.abort(this.signal.reason)}))}t[re]=n.signal;return t}}i(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new m(e.headersList):new m};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=a(e.body)}return t}Object.defineProperties(Request.prototype,{method:ee,url:ee,headers:ee,redirect:ee,clone:ee,signal:ee,duplex:ee,destination:ee,body:ee,bodyUsed:ee,isHistoryNavigation:ee,isReloadNavigation:ee,keepalive:ee,integrity:ee,cache:ee,credentials:ee,attribute:ee,referrerPolicy:ee,referrer:ee,mode:ee,[Symbol.toStringTag]:{value:"Request",configurable:true}});ie.converters.Request=ie.interfaceConverter(Request);ie.converters.RequestInfo=function(e){if(typeof e==="string"){return ie.converters.USVString(e)}if(e instanceof Request){return ie.converters.Request(e)}return ie.converters.USVString(e)};ie.converters.AbortSignal=ie.interfaceConverter(AbortSignal);ie.converters.RequestInit=ie.dictionaryConverter([{key:"method",converter:ie.converters.ByteString},{key:"headers",converter:ie.converters.HeadersInit},{key:"body",converter:ie.nullableConverter(ie.converters.BodyInit)},{key:"referrer",converter:ie.converters.USVString},{key:"referrerPolicy",converter:ie.converters.DOMString,allowedValues:J},{key:"mode",converter:ie.converters.DOMString,allowedValues:j},{key:"credentials",converter:ie.converters.DOMString,allowedValues:K},{key:"cache",converter:ie.converters.DOMString,allowedValues:X},{key:"redirect",converter:ie.converters.DOMString,allowedValues:W},{key:"integrity",converter:ie.converters.DOMString},{key:"keepalive",converter:ie.converters.boolean},{key:"signal",converter:ie.nullableConverter((e=>ie.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:ie.converters.any},{key:"duplex",converter:ie.converters.DOMString,allowedValues:Z}]);e.exports={Request:Request,makeRequest:makeRequest}},8676:(e,t,n)=>{"use strict";const{Headers:o,HeadersList:i,fill:a}=n(6349);const{extractBody:d,cloneBody:h,mixinBody:m}=n(8923);const Q=n(3440);const{kEnumerableProperty:k}=Q;const{isValidReasonPhrase:_,isCancelled:L,isAborted:U,isBlobLike:P,serializeJavascriptValueToJSONString:H,isErrorLike:Y,isomorphicEncode:V}=n(5523);const{redirectStatusSet:J,nullBodyStatus:W,DOMException:j}=n(7326);const{kState:K,kHeaders:X,kGuard:Z,kRealm:ee}=n(9710);const{webidl:te}=n(4222);const{FormData:re}=n(3073);const{getGlobalOrigin:se}=n(5628);const{URLSerializer:ne}=n(4322);const{kHeadersList:oe,kConstruct:ie}=n(6443);const Ae=n(2613);const{types:ae}=n(9023);const ce=globalThis.ReadableStream||n(3774).ReadableStream;const le=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[K]=makeNetworkError();t[ee]=e;t[X][oe]=t[K].headersList;t[X][Z]="immutable";t[X][ee]=e;return t}static json(e,t={}){te.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=te.converters.ResponseInit(t)}const n=le.encode(H(e));const o=d(n);const i={settingsObject:{}};const a=new Response;a[ee]=i;a[X][Z]="response";a[X][ee]=i;initializeResponse(a,t,{body:o[0],type:"application/json"});return a}static redirect(e,t=302){const n={settingsObject:{}};te.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=te.converters.USVString(e);t=te.converters["unsigned short"](t);let o;try{o=new URL(e,se())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!J.has(t)){throw new RangeError("Invalid status code "+t)}const i=new Response;i[ee]=n;i[X][Z]="immutable";i[X][ee]=n;i[K].status=t;const a=V(ne(o));i[K].headersList.append("location",a);return i}constructor(e=null,t={}){if(e!==null){e=te.converters.BodyInit(e)}t=te.converters.ResponseInit(t);this[ee]={settingsObject:{}};this[K]=makeResponse({});this[X]=new o(ie);this[X][Z]="response";this[X][oe]=this[K].headersList;this[X][ee]=this[ee];let n=null;if(e!=null){const[t,o]=d(e);n={body:t,type:o}}initializeResponse(this,t,n)}get type(){te.brandCheck(this,Response);return this[K].type}get url(){te.brandCheck(this,Response);const e=this[K].urlList;const t=e[e.length-1]??null;if(t===null){return""}return ne(t,true)}get redirected(){te.brandCheck(this,Response);return this[K].urlList.length>1}get status(){te.brandCheck(this,Response);return this[K].status}get ok(){te.brandCheck(this,Response);return this[K].status>=200&&this[K].status<=299}get statusText(){te.brandCheck(this,Response);return this[K].statusText}get headers(){te.brandCheck(this,Response);return this[X]}get body(){te.brandCheck(this,Response);return this[K].body?this[K].body.stream:null}get bodyUsed(){te.brandCheck(this,Response);return!!this[K].body&&Q.isDisturbed(this[K].body.stream)}clone(){te.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw te.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[K]);const t=new Response;t[K]=e;t[ee]=this[ee];t[X][oe]=e.headersList;t[X][Z]=this[X][Z];t[X][ee]=this[X][ee];return t}}m(Response);Object.defineProperties(Response.prototype,{type:k,url:k,status:k,ok:k,redirected:k,statusText:k,headers:k,clone:k,body:k,bodyUsed:k,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:k,redirect:k,error:k});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=h(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new i(e.headersList):new i,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=Y(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,n){return n in t?t[n]:e[n]},set(e,n,o){Ae(!(n in t));e[n]=o;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{Ae(false)}}function makeAppropriateNetworkError(e,t=null){Ae(L(e));return U(e)?makeNetworkError(Object.assign(new j("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new j("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,n){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!_(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[K].status=t.status}if("statusText"in t&&t.statusText!=null){e[K].statusText=t.statusText}if("headers"in t&&t.headers!=null){a(e[X],t.headers)}if(n){if(W.includes(e.status)){throw te.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[K].body=n.body;if(n.type!=null&&!e[K].headersList.contains("Content-Type")){e[K].headersList.append("content-type",n.type)}}}te.converters.ReadableStream=te.interfaceConverter(ce);te.converters.FormData=te.interfaceConverter(re);te.converters.URLSearchParams=te.interfaceConverter(URLSearchParams);te.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return te.converters.USVString(e)}if(P(e)){return te.converters.Blob(e,{strict:false})}if(ae.isArrayBuffer(e)||ae.isTypedArray(e)||ae.isDataView(e)){return te.converters.BufferSource(e)}if(Q.isFormDataLike(e)){return te.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return te.converters.URLSearchParams(e)}return te.converters.DOMString(e)};te.converters.BodyInit=function(e){if(e instanceof ce){return te.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return te.converters.XMLHttpRequestBodyInit(e)};te.converters.ResponseInit=te.dictionaryConverter([{key:"status",converter:te.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:te.converters.ByteString,defaultValue:""},{key:"headers",converter:te.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},9710:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},5523:(e,t,n)=>{"use strict";const{redirectStatusSet:o,referrerPolicySet:i,badPortsSet:a}=n(7326);const{getGlobalOrigin:d}=n(5628);const{performance:h}=n(2987);const{isBlobLike:m,toUSVString:Q,ReadableStreamFrom:k}=n(3440);const _=n(2613);const{isUint8Array:L}=n(8253);let U=[];let P;try{P=n(6982);const e=["sha256","sha384","sha512"];U=P.getHashes().filter((t=>e.includes(t)))}catch{}function responseURL(e){const t=e.urlList;const n=t.length;return n===0?null:t[n-1].toString()}function responseLocationURL(e,t){if(!o.has(e.status)){return null}let n=e.headersList.get("location");if(n!==null&&isValidHeaderValue(n)){n=new URL(n,responseURL(e))}if(n&&!n.hash){n.hash=t}return n}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&a.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t<e.length;++t){const n=e.charCodeAt(t);if(!(n===9||n>=32&&n<=126||n>=128&&n<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t<e.length;++t){if(!isTokenCharCode(e.charCodeAt(t))){return false}}return true}function isValidHeaderName(e){return isValidHTTPToken(e)}function isValidHeaderValue(e){if(e.startsWith("\t")||e.startsWith(" ")||e.endsWith("\t")||e.endsWith(" ")){return false}if(e.includes("\0")||e.includes("\r")||e.includes("\n")){return false}return true}function setRequestReferrerPolicyOnRedirect(e,t){const{headersList:n}=t;const o=(n.get("referrer-policy")??"").split(",");let a="";if(o.length>0){for(let e=o.length;e!==0;e--){const t=o[e-1].trim();if(i.has(t)){a=t;break}}}if(a!==""){e.referrerPolicy=a}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return h.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;_(t);let n=null;if(e.referrer==="client"){const e=d();if(!e||e.origin==="null"){return"no-referrer"}n=new URL(e)}else if(e.referrer instanceof URL){n=e.referrer}let o=stripURLForReferrer(n);const i=stripURLForReferrer(n,true);if(o.toString().length>4096){o=i}const a=sameOrigin(e,o);const h=isURLPotentiallyTrustworthy(o)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return i!=null?i:stripURLForReferrer(n,true);case"unsafe-url":return o;case"same-origin":return a?i:"no-referrer";case"origin-when-cross-origin":return a?o:i;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(o,t)){return o}if(isURLPotentiallyTrustworthy(o)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return i}case"strict-origin":case"no-referrer-when-downgrade":default:return h?"no-referrer":i}}function stripURLForReferrer(e,t){_(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(P===undefined){return true}const n=parseMetadata(t);if(n==="no metadata"){return true}if(n.length===0){return true}const o=getStrongestMetadata(n);const i=filterMetadataListByAlgorithm(n,o);for(const t of i){const n=t.algo;const o=t.hash;let i=P.createHash(n).update(e).digest("base64");if(i[i.length-1]==="="){if(i[i.length-2]==="="){i=i.slice(0,-2)}else{i=i.slice(0,-1)}}if(compareBase64Mixed(i,o)){return true}}return false}const H=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let n=true;for(const o of e.split(" ")){n=false;const e=H.exec(o);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const i=e.groups.algo.toLowerCase();if(U.includes(i)){t.push(e.groups)}}if(n===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let n=1;n<e.length;++n){const o=e[n];if(o.algo[3]==="5"){t="sha512";break}else if(t[3]==="3"){continue}else if(o.algo[3]==="3"){t="sha384"}}return t}function filterMetadataListByAlgorithm(e,t){if(e.length===1){return e}let n=0;for(let o=0;o<e.length;++o){if(e[o].algo===t){e[n++]=e[o]}}e.length=n;return e}function compareBase64Mixed(e,t){if(e.length!==t.length){return false}for(let n=0;n<e.length;++n){if(e[n]!==t[n]){if(e[n]==="+"&&t[n]==="-"||e[n]==="/"&&t[n]==="_"){continue}return false}}return true}function tryUpgradeRequestToAPotentiallyTrustworthyURL(e){}function sameOrigin(e,t){if(e.origin===t.origin&&e.origin==="null"){return true}if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port){return true}return false}function createDeferredPromise(){let e;let t;const n=new Promise(((n,o)=>{e=n;t=o}));return{promise:n,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const Y={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(Y,null);function normalizeMethod(e){return Y[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}_(typeof t==="string");return t}const V=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,n){const o={index:0,kind:n,target:e};const i={next(){if(Object.getPrototypeOf(this)!==i){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:n,target:a}=o;const d=a();const h=d.length;if(e>=h){return{value:undefined,done:true}}const m=d[e];o.index=e+1;return iteratorResult(m,n)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(i,V);return Object.setPrototypeOf({},i)}function iteratorResult(e,t){let n;switch(t){case"key":{n=e[0];break}case"value":{n=e[1];break}case"key+value":{n=e;break}}return{value:n,done:false}}async function fullyReadBody(e,t,n){const o=t;const i=n;let a;try{a=e.stream.getReader()}catch(e){i(e);return}try{const e=await readAllBytes(a);o(e)}catch(e){i(e)}}let J=globalThis.ReadableStream;function isReadableStreamLike(e){if(!J){J=n(3774).ReadableStream}return e instanceof J||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const W=65535;function isomorphicDecode(e){if(e.length<W){return String.fromCharCode(...e)}return e.reduce(((e,t)=>e+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;t<e.length;t++){_(e.charCodeAt(t)<=255)}return e}async function readAllBytes(e){const t=[];let n=0;while(true){const{done:o,value:i}=await e.read();if(o){return Buffer.concat(t,n)}if(!L(i)){throw new TypeError("Received non-Uint8Array chunk")}t.push(i);n+=i.length}}function urlIsLocal(e){_("protocol"in e);const t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function urlHasHttpsScheme(e){if(typeof e==="string"){return e.startsWith("https:")}return e.protocol==="https:"}function urlIsHttpHttpsScheme(e){_("protocol"in e);const t=e.protocol;return t==="http:"||t==="https:"}const j=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:k,toUSVString:Q,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:m,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:j,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:Y,parseMetadata:parseMetadata}},4222:(e,t,n)=>{"use strict";const{types:o}=n(9023);const{hasOwn:i,toUSVString:a}=n(5523);const d={};d.converters={};d.util={};d.errors={};d.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};d.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const n=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return d.errors.exception({header:e.prefix,message:n})};d.errors.invalidArgument=function(e){return d.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};d.brandCheck=function(e,t,n=undefined){if(n?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};d.argumentLengthCheck=function({length:e},t,n){if(e<t){throw d.errors.exception({message:`${t} argument${t!==1?"s":""} required, `+`but${e?" only":""} ${e} found.`,...n})}};d.illegalConstructor=function(){throw d.errors.exception({header:"TypeError",message:"Illegal constructor"})};d.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":{if(e===null){return"Null"}return"Object"}}};d.util.ConvertToInt=function(e,t,n,o={}){let i;let a;if(t===64){i=Math.pow(2,53)-1;if(n==="unsigned"){a=0}else{a=Math.pow(-2,53)+1}}else if(n==="unsigned"){a=0;i=Math.pow(2,t)-1}else{a=Math.pow(-2,t)-1;i=Math.pow(2,t-1)-1}let h=Number(e);if(h===0){h=0}if(o.enforceRange===true){if(Number.isNaN(h)||h===Number.POSITIVE_INFINITY||h===Number.NEGATIVE_INFINITY){throw d.errors.exception({header:"Integer conversion",message:`Could not convert ${e} to an integer.`})}h=d.util.IntegerPart(h);if(h<a||h>i){throw d.errors.exception({header:"Integer conversion",message:`Value must be between ${a}-${i}, got ${h}.`})}return h}if(!Number.isNaN(h)&&o.clamp===true){h=Math.min(Math.max(h,a),i);if(Math.floor(h)%2===0){h=Math.floor(h)}else{h=Math.ceil(h)}return h}if(Number.isNaN(h)||h===0&&Object.is(0,h)||h===Number.POSITIVE_INFINITY||h===Number.NEGATIVE_INFINITY){return 0}h=d.util.IntegerPart(h);h=h%Math.pow(2,t);if(n==="signed"&&h>=Math.pow(2,t)-1){return h-Math.pow(2,t)}return h};d.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};d.sequenceConverter=function(e){return t=>{if(d.util.Type(t)!=="Object"){throw d.errors.exception({header:"Sequence",message:`Value of type ${d.util.Type(t)} is not an Object.`})}const n=t?.[Symbol.iterator]?.();const o=[];if(n===undefined||typeof n.next!=="function"){throw d.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:i}=n.next();if(t){break}o.push(e(i))}return o}};d.recordConverter=function(e,t){return n=>{if(d.util.Type(n)!=="Object"){throw d.errors.exception({header:"Record",message:`Value of type ${d.util.Type(n)} is not an Object.`})}const i={};if(!o.isProxy(n)){const o=Object.keys(n);for(const a of o){const o=e(a);const d=t(n[a]);i[o]=d}return i}const a=Reflect.ownKeys(n);for(const o of a){const a=Reflect.getOwnPropertyDescriptor(n,o);if(a?.enumerable){const a=e(o);const d=t(n[o]);i[a]=d}}return i}};d.interfaceConverter=function(e){return(t,n={})=>{if(n.strict!==false&&!(t instanceof e)){throw d.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};d.dictionaryConverter=function(e){return t=>{const n=d.util.Type(t);const o={};if(n==="Null"||n==="Undefined"){return o}else if(n!=="Object"){throw d.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const n of e){const{key:e,defaultValue:a,required:h,converter:m}=n;if(h===true){if(!i(t,e)){throw d.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let Q=t[e];const k=i(n,"defaultValue");if(k&&Q!==null){Q=Q??a}if(h||k||Q!==undefined){Q=m(Q);if(n.allowedValues&&!n.allowedValues.includes(Q)){throw d.errors.exception({header:"Dictionary",message:`${Q} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`})}o[e]=Q}}return o}};d.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};d.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};d.converters.ByteString=function(e){const t=d.converters.DOMString(e);for(let e=0;e<t.length;e++){if(t.charCodeAt(e)>255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};d.converters.USVString=a;d.converters.boolean=function(e){const t=Boolean(e);return t};d.converters.any=function(e){return e};d.converters["long long"]=function(e){const t=d.util.ConvertToInt(e,64,"signed");return t};d.converters["unsigned long long"]=function(e){const t=d.util.ConvertToInt(e,64,"unsigned");return t};d.converters["unsigned long"]=function(e){const t=d.util.ConvertToInt(e,32,"unsigned");return t};d.converters["unsigned short"]=function(e,t){const n=d.util.ConvertToInt(e,16,"unsigned",t);return n};d.converters.ArrayBuffer=function(e,t={}){if(d.util.Type(e)!=="Object"||!o.isAnyArrayBuffer(e)){throw d.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&o.isSharedArrayBuffer(e)){throw d.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};d.converters.TypedArray=function(e,t,n={}){if(d.util.Type(e)!=="Object"||!o.isTypedArray(e)||e.constructor.name!==t.name){throw d.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(n.allowShared===false&&o.isSharedArrayBuffer(e.buffer)){throw d.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};d.converters.DataView=function(e,t={}){if(d.util.Type(e)!=="Object"||!o.isDataView(e)){throw d.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&o.isSharedArrayBuffer(e.buffer)){throw d.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};d.converters.BufferSource=function(e,t={}){if(o.isAnyArrayBuffer(e)){return d.converters.ArrayBuffer(e,t)}if(o.isTypedArray(e)){return d.converters.TypedArray(e,e.constructor)}if(o.isDataView(e)){return d.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};d.converters["sequence<ByteString>"]=d.sequenceConverter(d.converters.ByteString);d.converters["sequence<sequence<ByteString>>"]=d.sequenceConverter(d.converters["sequence<ByteString>"]);d.converters["record<ByteString, ByteString>"]=d.recordConverter(d.converters.ByteString,d.converters.ByteString);e.exports={webidl:d}},396:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},2160:(e,t,n)=>{"use strict";const{staticPropertyDescriptors:o,readOperation:i,fireAProgressEvent:a}=n(165);const{kState:d,kError:h,kResult:m,kEvents:Q,kAborted:k}=n(6812);const{webidl:_}=n(4222);const{kEnumerableProperty:L}=n(3440);class FileReader extends EventTarget{constructor(){super();this[d]="empty";this[m]=null;this[h]=null;this[Q]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){_.brandCheck(this,FileReader);_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=_.converters.Blob(e,{strict:false});i(this,e,"ArrayBuffer")}readAsBinaryString(e){_.brandCheck(this,FileReader);_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=_.converters.Blob(e,{strict:false});i(this,e,"BinaryString")}readAsText(e,t=undefined){_.brandCheck(this,FileReader);_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=_.converters.Blob(e,{strict:false});if(t!==undefined){t=_.converters.DOMString(t)}i(this,e,"Text",t)}readAsDataURL(e){_.brandCheck(this,FileReader);_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=_.converters.Blob(e,{strict:false});i(this,e,"DataURL")}abort(){if(this[d]==="empty"||this[d]==="done"){this[m]=null;return}if(this[d]==="loading"){this[d]="done";this[m]=null}this[k]=true;a("abort",this);if(this[d]!=="loading"){a("loadend",this)}}get readyState(){_.brandCheck(this,FileReader);switch(this[d]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){_.brandCheck(this,FileReader);return this[m]}get error(){_.brandCheck(this,FileReader);return this[h]}get onloadend(){_.brandCheck(this,FileReader);return this[Q].loadend}set onloadend(e){_.brandCheck(this,FileReader);if(this[Q].loadend){this.removeEventListener("loadend",this[Q].loadend)}if(typeof e==="function"){this[Q].loadend=e;this.addEventListener("loadend",e)}else{this[Q].loadend=null}}get onerror(){_.brandCheck(this,FileReader);return this[Q].error}set onerror(e){_.brandCheck(this,FileReader);if(this[Q].error){this.removeEventListener("error",this[Q].error)}if(typeof e==="function"){this[Q].error=e;this.addEventListener("error",e)}else{this[Q].error=null}}get onloadstart(){_.brandCheck(this,FileReader);return this[Q].loadstart}set onloadstart(e){_.brandCheck(this,FileReader);if(this[Q].loadstart){this.removeEventListener("loadstart",this[Q].loadstart)}if(typeof e==="function"){this[Q].loadstart=e;this.addEventListener("loadstart",e)}else{this[Q].loadstart=null}}get onprogress(){_.brandCheck(this,FileReader);return this[Q].progress}set onprogress(e){_.brandCheck(this,FileReader);if(this[Q].progress){this.removeEventListener("progress",this[Q].progress)}if(typeof e==="function"){this[Q].progress=e;this.addEventListener("progress",e)}else{this[Q].progress=null}}get onload(){_.brandCheck(this,FileReader);return this[Q].load}set onload(e){_.brandCheck(this,FileReader);if(this[Q].load){this.removeEventListener("load",this[Q].load)}if(typeof e==="function"){this[Q].load=e;this.addEventListener("load",e)}else{this[Q].load=null}}get onabort(){_.brandCheck(this,FileReader);return this[Q].abort}set onabort(e){_.brandCheck(this,FileReader);if(this[Q].abort){this.removeEventListener("abort",this[Q].abort)}if(typeof e==="function"){this[Q].abort=e;this.addEventListener("abort",e)}else{this[Q].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:o,LOADING:o,DONE:o,readAsArrayBuffer:L,readAsBinaryString:L,readAsText:L,readAsDataURL:L,abort:L,readyState:L,result:L,error:L,onloadstart:L,onprogress:L,onload:L,onabort:L,onerror:L,onloadend:L,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:o,LOADING:o,DONE:o});e.exports={FileReader:FileReader}},5976:(e,t,n)=>{"use strict";const{webidl:o}=n(4222);const i=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=o.converters.DOMString(e);t=o.converters.ProgressEventInit(t??{});super(e,t);this[i]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){o.brandCheck(this,ProgressEvent);return this[i].lengthComputable}get loaded(){o.brandCheck(this,ProgressEvent);return this[i].loaded}get total(){o.brandCheck(this,ProgressEvent);return this[i].total}}o.converters.ProgressEventInit=o.dictionaryConverter([{key:"lengthComputable",converter:o.converters.boolean,defaultValue:false},{key:"loaded",converter:o.converters["unsigned long long"],defaultValue:0},{key:"total",converter:o.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:o.converters.boolean,defaultValue:false},{key:"cancelable",converter:o.converters.boolean,defaultValue:false},{key:"composed",converter:o.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},6812:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},165:(e,t,n)=>{"use strict";const{kState:o,kError:i,kResult:a,kAborted:d,kLastProgressEventFired:h}=n(6812);const{ProgressEvent:m}=n(5976);const{getEncoding:Q}=n(396);const{DOMException:k}=n(7326);const{serializeAMimeType:_,parseMIMEType:L}=n(4322);const{types:U}=n(9023);const{StringDecoder:P}=n(3193);const{btoa:H}=n(181);const Y={enumerable:true,writable:false,configurable:false};function readOperation(e,t,n,m){if(e[o]==="loading"){throw new k("Invalid state","InvalidStateError")}e[o]="loading";e[a]=null;e[i]=null;const Q=t.stream();const _=Q.getReader();const L=[];let P=_.read();let H=true;(async()=>{while(!e[d]){try{const{done:Q,value:k}=await P;if(H&&!e[d]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}H=false;if(!Q&&U.isUint8Array(k)){L.push(k);if((e[h]===undefined||Date.now()-e[h]>=50)&&!e[d]){e[h]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}P=_.read()}else if(Q){queueMicrotask((()=>{e[o]="done";try{const o=packageData(L,n,t.type,m);if(e[d]){return}e[a]=o;fireAProgressEvent("load",e)}catch(t){e[i]=t;fireAProgressEvent("error",e)}if(e[o]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[d]){return}queueMicrotask((()=>{e[o]="done";e[i]=t;fireAProgressEvent("error",e);if(e[o]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const n=new m(e,{bubbles:false,cancelable:false});t.dispatchEvent(n)}function packageData(e,t,n,o){switch(t){case"DataURL":{let t="data:";const o=L(n||"application/octet-stream");if(o!=="failure"){t+=_(o)}t+=";base64,";const i=new P("latin1");for(const n of e){t+=H(i.write(n))}t+=H(i.end());return t}case"Text":{let t="failure";if(o){t=Q(o)}if(t==="failure"&&n){const e=L(n);if(e!=="failure"){t=Q(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const n=new P("latin1");for(const o of e){t+=n.write(o)}t+=n.end();return t}}}function decode(e,t){const n=combineByteSequences(e);const o=BOMSniffing(n);let i=0;if(o!==null){t=o;i=o==="UTF-8"?3:2}const a=n.slice(i);return new TextDecoder(t).decode(a)}function BOMSniffing(e){const[t,n,o]=e;if(t===239&&n===187&&o===191){return"UTF-8"}else if(t===254&&n===255){return"UTF-16BE"}else if(t===255&&n===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let n=0;return e.reduce(((e,t)=>{e.set(t,n);n+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:Y,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},2581:(e,t,n)=>{"use strict";const o=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:i}=n(8707);const a=n(9965);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new a)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new i("Argument agent must implement Agent")}Object.defineProperty(globalThis,o,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[o]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},8840:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},8299:(e,t,n)=>{"use strict";const o=n(3440);const{kBodyUsed:i}=n(6443);const a=n(2613);const{InvalidArgumentError:d}=n(8707);const h=n(4434);const m=[300,301,302,303,307,308];const Q=Symbol("body");class BodyAsyncIterable{constructor(e){this[Q]=e;this[i]=false}async*[Symbol.asyncIterator](){a(!this[i],"disturbed");this[i]=true;yield*this[Q]}}class RedirectHandler{constructor(e,t,n,m){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new d("maxRedirections must be a positive number")}o.validateHandler(m,n.method,n.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...n,maxRedirections:0};this.maxRedirections=t;this.handler=m;this.history=[];if(o.isStream(this.opts.body)){if(o.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){a(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[i]=false;h.prototype.on.call(this.opts.body,"data",(function(){this[i]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&o.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,n){this.handler.onUpgrade(e,t,n)}onError(e){this.handler.onError(e)}onHeaders(e,t,n,i){this.location=this.history.length>=this.maxRedirections||o.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,n,i)}const{origin:a,pathname:d,search:h}=o.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const m=h?`${d}${h}`:d;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==a);this.opts.path=m;this.opts.origin=a;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(m.indexOf(e)===-1){return null}for(let e=0;e<t.length;e+=2){if(t[e].toString().toLowerCase()==="location"){return t[e+1]}}}function shouldRemoveHeader(e,t,n){if(e.length===4){return o.headerNameToString(e)==="host"}if(t&&o.headerNameToString(e).startsWith("content-")){return true}if(n&&(e.length===13||e.length===6||e.length===19)){const t=o.headerNameToString(e);return t==="authorization"||t==="cookie"||t==="proxy-authorization"}return false}function cleanRequestHeaders(e,t,n){const o=[];if(Array.isArray(e)){for(let i=0;i<e.length;i+=2){if(!shouldRemoveHeader(e[i],t,n)){o.push(e[i],e[i+1])}}}else if(e&&typeof e==="object"){for(const i of Object.keys(e)){if(!shouldRemoveHeader(i,t,n)){o.push(i,e[i])}}}else{a(e==null,"headers must be an object or an array")}return o}e.exports=RedirectHandler},3573:(e,t,n)=>{const o=n(2613);const{kRetryHandlerDefaultRetry:i}=n(6443);const{RequestRetryError:a}=n(8707);const{isDisturbed:d,parseHeaders:h,parseRangeHeader:m}=n(3440);function calculateRetryAfterHeader(e){const t=Date.now();const n=new Date(e).getTime()-t;return n}class RetryHandler{constructor(e,t){const{retryOptions:n,...o}=e;const{retry:a,maxRetries:d,maxTimeout:h,minTimeout:m,timeoutFactor:Q,methods:k,errorCodes:_,retryAfter:L,statusCodes:U}=n??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=o;this.abort=null;this.aborted=false;this.retryOpts={retry:a??RetryHandler[i],retryAfter:L??true,maxTimeout:h??30*1e3,timeout:m??500,timeoutFactor:Q??2,maxRetries:d??5,methods:k??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:U??[500,502,503,504,429],errorCodes:_??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,n){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,n)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[i](e,{state:t,opts:n},o){const{statusCode:i,code:a,headers:d}=e;const{method:h,retryOptions:m}=n;const{maxRetries:Q,timeout:k,maxTimeout:_,timeoutFactor:L,statusCodes:U,errorCodes:P,methods:H}=m;let{counter:Y,currentTimeout:V}=t;V=V!=null&&V>0?V:k;if(a&&a!=="UND_ERR_REQ_RETRY"&&a!=="UND_ERR_SOCKET"&&!P.includes(a)){o(e);return}if(Array.isArray(H)&&!H.includes(h)){o(e);return}if(i!=null&&Array.isArray(U)&&!U.includes(i)){o(e);return}if(Y>Q){o(e);return}let J=d!=null&&d["retry-after"];if(J){J=Number(J);J=isNaN(J)?calculateRetryAfterHeader(J):J*1e3}const W=J>0?Math.min(J,_):Math.min(V*L**Y,_);t.currentTimeout=W;setTimeout((()=>o(null)),W)}onHeaders(e,t,n,i){const d=h(t);this.retryCount+=1;if(e>=300){this.abort(new a("Request failed",e,{headers:d,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=m(d["content-range"]);if(!t){this.abort(new a("Content-Range mismatch",e,{headers:d,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==d.etag){this.abort(new a("ETag mismatch",e,{headers:d,count:this.retryCount}));return false}const{start:i,size:h,end:Q=h}=t;o(this.start===i,"content-range mismatch");o(this.end==null||this.end===Q,"content-range mismatch");this.resume=n;return true}if(this.end==null){if(e===206){const a=m(d["content-range"]);if(a==null){return this.handler.onHeaders(e,t,n,i)}const{start:h,size:Q,end:k=Q}=a;o(h!=null&&Number.isFinite(h)&&this.start!==h,"content-range mismatch");o(Number.isFinite(h));o(k!=null&&Number.isFinite(k)&&this.end!==k,"invalid content-length");this.start=h;this.end=k}if(this.end==null){const e=d["content-length"];this.end=e!=null?Number(e):null}o(Number.isFinite(this.start));o(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=n;this.etag=d.etag!=null?d.etag:null;return this.handler.onHeaders(e,t,n,i)}const Q=new a("Request failed",e,{headers:d,count:this.retryCount});this.abort(Q);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||d(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||d(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},4415:(e,t,n)=>{"use strict";const o=n(8299);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(n,i){const{maxRedirections:a=e}=n;if(!a){return t(n,i)}const d=new o(t,a,n,i);n={...n,maxRedirections:0};return t(n,d)}}e.exports=createRedirectInterceptor},2824:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const o=n(172);var i;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(i=t.ERROR||(t.ERROR={}));var a;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(a=t.TYPE||(t.TYPE={}));var d;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(d=t.FLAGS||(t.FLAGS={}));var h;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(h=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var m;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(m=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[m.DELETE,m.GET,m.HEAD,m.POST,m.PUT,m.CONNECT,m.OPTIONS,m.TRACE,m.COPY,m.LOCK,m.MKCOL,m.MOVE,m.PROPFIND,m.PROPPATCH,m.SEARCH,m.UNLOCK,m.BIND,m.REBIND,m.UNBIND,m.ACL,m.REPORT,m.MKACTIVITY,m.CHECKOUT,m.MERGE,m["M-SEARCH"],m.NOTIFY,m.SUBSCRIBE,m.UNSUBSCRIBE,m.PATCH,m.PURGE,m.MKCALENDAR,m.LINK,m.UNLINK,m.PRI,m.SOURCE];t.METHODS_ICE=[m.SOURCE];t.METHODS_RTSP=[m.OPTIONS,m.DESCRIBE,m.ANNOUNCE,m.SETUP,m.PLAY,m.PAUSE,m.TEARDOWN,m.GET_PARAMETER,m.SET_PARAMETER,m.REDIRECT,m.RECORD,m.FLUSH,m.GET,m.POST];t.METHOD_MAP=o.enumToMap(m);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var Q;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(Q=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var k;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(k=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:k.CONNECTION,"content-length":k.CONTENT_LENGTH,"proxy-connection":k.CONNECTION,"transfer-encoding":k.TRANSFER_ENCODING,upgrade:k.UPGRADE}},3870:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCsLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC1kAIABBGGpCADcDACAAQgA3AwAgAEE4akIANwMAIABBMGpCADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},3434:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},172:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((n=>{const o=e[n];if(typeof o==="number"){t[n]=o}}));return t}t.enumToMap=enumToMap},7501:(e,t,n)=>{"use strict";const{kClients:o}=n(6443);const i=n(9965);const{kAgent:a,kMockAgentSet:d,kMockAgentGet:h,kDispatches:m,kIsMockActive:Q,kNetConnect:k,kGetNetConnect:_,kOptions:L,kFactory:U}=n(1117);const P=n(7365);const H=n(4004);const{matchValue:Y,buildMockOptions:V}=n(3397);const{InvalidArgumentError:J,UndiciError:W}=n(8707);const j=n(992);const K=n(1529);const X=n(6142);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends j{constructor(e){super(e);this[k]=true;this[Q]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new J("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new i(e);this[a]=t;this[o]=t[o];this[L]=V(e)}get(e){let t=this[h](e);if(!t){t=this[U](e);this[d](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[a].dispatch(e,t)}async close(){await this[a].close();this[o].clear()}deactivate(){this[Q]=false}activate(){this[Q]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[k])){this[k].push(e)}else{this[k]=[e]}}else if(typeof e==="undefined"){this[k]=true}else{throw new J("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[k]=false}get isMockActive(){return this[Q]}[d](e,t){this[o].set(e,new FakeWeakRef(t))}[U](e){const t=Object.assign({agent:this},this[L]);return this[L]&&this[L].connections===1?new P(e,t):new H(e,t)}[h](e){const t=this[o].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[U]("http://localhost:9999");this[d](e,t);return t}for(const[t,n]of Array.from(this[o])){const o=n.deref();if(o&&typeof t!=="string"&&Y(t,e)){const t=this[U](e);this[d](e,t);t[m]=o[m];return t}}}[_](){return this[k]}pendingInterceptors(){const e=this[o];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[m].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new X}={}){const t=this.pendingInterceptors();if(t.length===0){return}const n=new K("interceptor","interceptors").pluralize(t.length);throw new W(`\n${n.count} ${n.noun} ${n.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},7365:(e,t,n)=>{"use strict";const{promisify:o}=n(9023);const i=n(6197);const{buildMockDispatch:a}=n(3397);const{kDispatches:d,kMockAgent:h,kClose:m,kOriginalClose:Q,kOrigin:k,kOriginalDispatch:_,kConnected:L}=n(1117);const{MockInterceptor:U}=n(1511);const P=n(6443);const{InvalidArgumentError:H}=n(8707);class MockClient extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new H("Argument opts.agent must implement Agent")}this[h]=t.agent;this[k]=e;this[d]=[];this[L]=1;this[_]=this.dispatch;this[Q]=this.close.bind(this);this.dispatch=a.call(this);this.close=this[m]}get[P.kConnected](){return this[L]}intercept(e){return new U(e,this[d])}async[m](){await o(this[Q])();this[L]=0;this[h][P.kClients].delete(this[k])}}e.exports=MockClient},2429:(e,t,n)=>{"use strict";const{UndiciError:o}=n(8707);class MockNotMatchedError extends o{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},1511:(e,t,n)=>{"use strict";const{getResponseData:o,buildKey:i,addMockDispatch:a}=n(3397);const{kDispatches:d,kDispatchKey:h,kDefaultHeaders:m,kDefaultTrailers:Q,kContentLength:k,kMockDispatch:_}=n(1117);const{InvalidArgumentError:L}=n(8707);const{buildURL:U}=n(3440);class MockScope{constructor(e){this[_]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new L("waitInMs must be a valid integer > 0")}this[_].delay=e;return this}persist(){this[_].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new L("repeatTimes must be a valid integer > 0")}this[_].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new L("opts must be an object")}if(typeof e.path==="undefined"){throw new L("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=U(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[h]=i(e);this[d]=t;this[m]={};this[Q]={};this[k]=false}createMockScopeDispatchData(e,t,n={}){const i=o(t);const a=this[k]?{"content-length":i.length}:{};const d={...this[m],...a,...n.headers};const h={...this[Q],...n.trailers};return{statusCode:e,data:t,headers:d,trailers:h}}validateReplyParameters(e,t,n){if(typeof e==="undefined"){throw new L("statusCode must be defined")}if(typeof t==="undefined"){throw new L("data must be defined")}if(typeof n!=="object"){throw new L("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const n=e(t);if(typeof n!=="object"){throw new L("reply options callback must return an object")}const{statusCode:o,data:i="",responseOptions:a={}}=n;this.validateReplyParameters(o,i,a);return{...this.createMockScopeDispatchData(o,i,a)}};const t=a(this[d],this[h],wrappedDefaultsCallback);return new MockScope(t)}const[t,n="",o={}]=[...arguments];this.validateReplyParameters(t,n,o);const i=this.createMockScopeDispatchData(t,n,o);const m=a(this[d],this[h],i);return new MockScope(m)}replyWithError(e){if(typeof e==="undefined"){throw new L("error must be defined")}const t=a(this[d],this[h],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new L("headers must be defined")}this[m]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new L("trailers must be defined")}this[Q]=e;return this}replyContentLength(){this[k]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},4004:(e,t,n)=>{"use strict";const{promisify:o}=n(9023);const i=n(5076);const{buildMockDispatch:a}=n(3397);const{kDispatches:d,kMockAgent:h,kClose:m,kOriginalClose:Q,kOrigin:k,kOriginalDispatch:_,kConnected:L}=n(1117);const{MockInterceptor:U}=n(1511);const P=n(6443);const{InvalidArgumentError:H}=n(8707);class MockPool extends i{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new H("Argument opts.agent must implement Agent")}this[h]=t.agent;this[k]=e;this[d]=[];this[L]=1;this[_]=this.dispatch;this[Q]=this.close.bind(this);this.dispatch=a.call(this);this.close=this[m]}get[P.kConnected](){return this[L]}intercept(e){return new U(e,this[d])}async[m](){await o(this[Q])();this[L]=0;this[h][P.kClients].delete(this[k])}}e.exports=MockPool},1117:e=>{"use strict";e.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},3397:(e,t,n)=>{"use strict";const{MockNotMatchedError:o}=n(2429);const{kDispatches:i,kMockAgent:a,kOriginalDispatch:d,kOrigin:h,kGetNetConnect:m}=n(1117);const{buildURL:Q,nop:k}=n(3440);const{STATUS_CODES:_}=n(8611);const{types:{isPromise:L}}=n(9023);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let n=0;n<e.length;n+=2){if(e[n].toLocaleLowerCase()===t.toLocaleLowerCase()){return e[n+1]}}return undefined}else if(typeof e.get==="function"){return e.get(t)}else{return lowerCaseEntries(e)[t.toLocaleLowerCase()]}}function buildHeadersFromArray(e){const t=e.slice();const n=[];for(let e=0;e<t.length;e+=2){n.push([t[e],t[e+1]])}return Object.fromEntries(n)}function matchHeaders(e,t){if(typeof e.headers==="function"){if(Array.isArray(t)){t=buildHeadersFromArray(t)}return e.headers(t?lowerCaseEntries(t):{})}if(typeof e.headers==="undefined"){return true}if(typeof t!=="object"||typeof e.headers!=="object"){return false}for(const[n,o]of Object.entries(e.headers)){const e=getHeaderByName(t,n);if(!matchValue(o,e)){return false}}return true}function safeUrl(e){if(typeof e!=="string"){return e}const t=e.split("?");if(t.length!==2){return e}const n=new URLSearchParams(t.pop());n.sort();return[...t,n.toString()].join("?")}function matchKey(e,{path:t,method:n,body:o,headers:i}){const a=matchValue(e.path,t);const d=matchValue(e.method,n);const h=typeof e.body!=="undefined"?matchValue(e.body,o):true;const m=matchHeaders(e,i);return a&&d&&h&&m}function getResponseData(e){if(Buffer.isBuffer(e)){return e}else if(typeof e==="object"){return JSON.stringify(e)}else{return e.toString()}}function getMockDispatch(e,t){const n=t.query?Q(t.path,t.query):t.path;const i=typeof n==="string"?safeUrl(n):n;let a=e.filter((({consumed:e})=>!e)).filter((({path:e})=>matchValue(safeUrl(e),i)));if(a.length===0){throw new o(`Mock dispatch not matched for path '${i}'`)}a=a.filter((({method:e})=>matchValue(e,t.method)));if(a.length===0){throw new o(`Mock dispatch not matched for method '${t.method}'`)}a=a.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(a.length===0){throw new o(`Mock dispatch not matched for body '${t.body}'`)}a=a.filter((e=>matchHeaders(e,t.headers)));if(a.length===0){throw new o(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return a[0]}function addMockDispatch(e,t,n){const o={timesInvoked:0,times:1,persist:false,consumed:false};const i=typeof n==="function"?{callback:n}:{...n};const a={...o,...t,pending:true,data:{error:null,...i}};e.push(a);return a}function deleteMockDispatch(e,t){const n=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(n!==-1){e.splice(n,1)}}function buildKey(e){const{path:t,method:n,body:o,headers:i,query:a}=e;return{path:t,method:n,body:o,headers:i,query:a}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,n])=>[...e,Buffer.from(`${t}`),Array.isArray(n)?n.map((e=>Buffer.from(`${e}`))):Buffer.from(`${n}`)]),[])}function getStatusText(e){return _[e]||"unknown"}async function getResponse(e){const t=[];for await(const n of e){t.push(n)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const n=buildKey(e);const o=getMockDispatch(this[i],n);o.timesInvoked++;if(o.data.callback){o.data={...o.data,...o.data.callback(e)}}const{data:{statusCode:a,data:d,headers:h,trailers:m,error:Q},delay:_,persist:U}=o;const{timesInvoked:P,times:H}=o;o.consumed=!U&&P>=H;o.pending=P<H;if(Q!==null){deleteMockDispatch(this[i],n);t.onError(Q);return true}if(typeof _==="number"&&_>0){setTimeout((()=>{handleReply(this[i])}),_)}else{handleReply(this[i])}function handleReply(o,i=d){const Q=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const _=typeof i==="function"?i({...e,headers:Q}):i;if(L(_)){_.then((e=>handleReply(o,e)));return}const U=getResponseData(_);const P=generateKeyValues(h);const H=generateKeyValues(m);t.abort=k;t.onHeaders(a,P,resume,getStatusText(a));t.onData(Buffer.from(U));t.onComplete(H);deleteMockDispatch(o,n)}function resume(){}return true}function buildMockDispatch(){const e=this[a];const t=this[h];const n=this[d];return function dispatch(i,a){if(e.isMockActive){try{mockDispatch.call(this,i,a)}catch(d){if(d instanceof o){const h=e[m]();if(h===false){throw new o(`${d.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(h,t)){n.call(this,i,a)}else{throw new o(`${d.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw d}}}else{n.call(this,i,a)}}}function checkNetConnect(e,t){const n=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,n.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...n}=e;return n}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},6142:(e,t,n)=>{"use strict";const{Transform:o}=n(2203);const{Console:i}=n(4236);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new o({transform(e,t,n){n(null,e)}});this.logger=new i({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:n},persist:o,times:i,timesInvoked:a,origin:d})=>({Method:e,Origin:d,Path:t,"Status code":n,Persistent:o?"✅":"❌",Invocations:a,Remaining:o?Infinity:i-a})));this.logger.table(t);return this.transform.read().toString()}}},1529:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const n={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const o=e===1;const i=o?t:n;const a=o?this.singular:this.plural;return{...i,count:e,noun:a}}}},4869:e=>{"use strict";const t=2048;const n=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&n)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&n}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&n;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},8640:(e,t,n)=>{"use strict";const o=n(1);const i=n(4869);const{kConnected:a,kSize:d,kRunning:h,kPending:m,kQueued:Q,kBusy:k,kFree:_,kUrl:L,kClose:U,kDestroy:P,kDispatch:H}=n(6443);const Y=n(4622);const V=Symbol("clients");const J=Symbol("needDrain");const W=Symbol("queue");const j=Symbol("closed resolve");const K=Symbol("onDrain");const X=Symbol("onConnect");const Z=Symbol("onDisconnect");const ee=Symbol("onConnectionError");const te=Symbol("get dispatcher");const re=Symbol("add client");const se=Symbol("remove client");const ne=Symbol("stats");class PoolBase extends o{constructor(){super();this[W]=new i;this[V]=[];this[Q]=0;const e=this;this[K]=function onDrain(t,n){const o=e[W];let i=false;while(!i){const t=o.shift();if(!t){break}e[Q]--;i=!this.dispatch(t.opts,t.handler)}this[J]=i;if(!this[J]&&e[J]){e[J]=false;e.emit("drain",t,[e,...n])}if(e[j]&&o.isEmpty()){Promise.all(e[V].map((e=>e.close()))).then(e[j])}};this[X]=(t,n)=>{e.emit("connect",t,[e,...n])};this[Z]=(t,n,o)=>{e.emit("disconnect",t,[e,...n],o)};this[ee]=(t,n,o)=>{e.emit("connectionError",t,[e,...n],o)};this[ne]=new Y(this)}get[k](){return this[J]}get[a](){return this[V].filter((e=>e[a])).length}get[_](){return this[V].filter((e=>e[a]&&!e[J])).length}get[m](){let e=this[Q];for(const{[m]:t}of this[V]){e+=t}return e}get[h](){let e=0;for(const{[h]:t}of this[V]){e+=t}return e}get[d](){let e=this[Q];for(const{[d]:t}of this[V]){e+=t}return e}get stats(){return this[ne]}async[U](){if(this[W].isEmpty()){return Promise.all(this[V].map((e=>e.close())))}else{return new Promise((e=>{this[j]=e}))}}async[P](e){while(true){const t=this[W].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[V].map((t=>t.destroy(e))))}[H](e,t){const n=this[te]();if(!n){this[J]=true;this[W].push({opts:e,handler:t});this[Q]++}else if(!n.dispatch(e,t)){n[J]=true;this[J]=!this[te]()}return!this[J]}[re](e){e.on("drain",this[K]).on("connect",this[X]).on("disconnect",this[Z]).on("connectionError",this[ee]);this[V].push(e);if(this[J]){process.nextTick((()=>{if(this[J]){this[K](e[L],[this,e])}}))}return this}[se](e){e.close((()=>{const t=this[V].indexOf(e);if(t!==-1){this[V].splice(t,1)}}));this[J]=this[V].some((e=>!e[J]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:V,kNeedDrain:J,kAddClient:re,kRemoveClient:se,kGetDispatcher:te}},4622:(e,t,n)=>{const{kFree:o,kConnected:i,kPending:a,kQueued:d,kRunning:h,kSize:m}=n(6443);const Q=Symbol("pool");class PoolStats{constructor(e){this[Q]=e}get connected(){return this[Q][i]}get free(){return this[Q][o]}get pending(){return this[Q][a]}get queued(){return this[Q][d]}get running(){return this[Q][h]}get size(){return this[Q][m]}}e.exports=PoolStats},5076:(e,t,n)=>{"use strict";const{PoolBase:o,kClients:i,kNeedDrain:a,kAddClient:d,kGetDispatcher:h}=n(8640);const m=n(6197);const{InvalidArgumentError:Q}=n(8707);const k=n(3440);const{kUrl:_,kInterceptors:L}=n(6443);const U=n(9136);const P=Symbol("options");const H=Symbol("connections");const Y=Symbol("factory");function defaultFactory(e,t){return new m(e,t)}class Pool extends o{constructor(e,{connections:t,factory:n=defaultFactory,connect:o,connectTimeout:a,tls:d,maxCachedSessions:h,socketPath:m,autoSelectFamily:V,autoSelectFamilyAttemptTimeout:J,allowH2:W,...j}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new Q("invalid connections")}if(typeof n!=="function"){throw new Q("factory must be a function.")}if(o!=null&&typeof o!=="function"&&typeof o!=="object"){throw new Q("connect must be a function or an object")}if(typeof o!=="function"){o=U({...d,maxCachedSessions:h,allowH2:W,socketPath:m,timeout:a,...k.nodeHasAutoSelectFamily&&V?{autoSelectFamily:V,autoSelectFamilyAttemptTimeout:J}:undefined,...o})}this[L]=j.interceptors&&j.interceptors.Pool&&Array.isArray(j.interceptors.Pool)?j.interceptors.Pool:[];this[H]=t||null;this[_]=k.parseOrigin(e);this[P]={...k.deepClone(j),connect:o,allowH2:W};this[P].interceptors=j.interceptors?{...j.interceptors}:undefined;this[Y]=n;this.on("connectionError",((e,t,n)=>{for(const e of t){const t=this[i].indexOf(e);if(t!==-1){this[i].splice(t,1)}}}))}[h](){let e=this[i].find((e=>!e[a]));if(e){return e}if(!this[H]||this[i].length<this[H]){e=this[Y](this[_],this[P]);this[d](e)}return e}}e.exports=Pool},2720:(e,t,n)=>{"use strict";const{kProxy:o,kClose:i,kDestroy:a,kInterceptors:d}=n(6443);const{URL:h}=n(7016);const m=n(9965);const Q=n(5076);const k=n(1);const{InvalidArgumentError:_,RequestAbortedError:L}=n(8707);const U=n(9136);const P=Symbol("proxy agent");const H=Symbol("proxy client");const Y=Symbol("proxy headers");const V=Symbol("request tls settings");const J=Symbol("proxy tls settings");const W=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new _("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new Q(e,t)}class ProxyAgent extends k{constructor(e){super(e);this[o]=buildProxyOptions(e);this[P]=new m(e);this[d]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new _("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new _("Proxy opts.clientFactory must be a function.")}this[V]=e.requestTls;this[J]=e.proxyTls;this[Y]=e.headers||{};const n=new h(e.uri);const{origin:i,port:a,host:Q,username:k,password:j}=n;if(e.auth&&e.token){throw new _("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[Y]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[Y]["proxy-authorization"]=e.token}else if(k&&j){this[Y]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(k)}:${decodeURIComponent(j)}`).toString("base64")}`}const K=U({...e.proxyTls});this[W]=U({...e.requestTls});this[H]=t(n,{connect:K});this[P]=new m({...e,connect:async(e,t)=>{let n=e.host;if(!e.port){n+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:o,statusCode:d}=await this[H].connect({origin:i,port:a,path:n,signal:e.signal,headers:{...this[Y],host:Q}});if(d!==200){o.on("error",(()=>{})).destroy();t(new L(`Proxy response (${d}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,o);return}let h;if(this[V]){h=this[V].servername}else{h=e.servername}this[W]({...e,servername:h,httpSocket:o},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:n}=new h(e.origin);const o=buildHeaders(e.headers);throwIfProxyAuthIsSent(o);return this[P].dispatch({...e,headers:{...o,host:n}},t)}async[i](){await this[P].close();await this[H].close()}async[a](){await this[P].destroy();await this[H].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let n=0;n<e.length;n+=2){t[e[n]]=e[n+1]}return t}return e}function throwIfProxyAuthIsSent(e){const t=e&&Object.keys(e).find((e=>e.toLowerCase()==="proxy-authorization"));if(t){throw new _("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},8804:e=>{"use strict";let t=Date.now();let n;const o=[];function onTimeout(){t=Date.now();let e=o.length;let n=0;while(n<e){const i=o[n];if(i.state===0){i.state=t+i.delay}else if(i.state>0&&t>=i.state){i.state=-1;i.callback(i.opaque)}if(i.state===-1){i.state=-2;if(n!==e-1){o[n]=o.pop()}else{o.pop()}e-=1}else{n+=1}}if(o.length>0){refreshTimeout()}}function refreshTimeout(){if(n&&n.refresh){n.refresh()}else{clearTimeout(n);n=setTimeout(onTimeout,1e3);if(n.unref){n.unref()}}}class Timeout{constructor(e,t,n){this.callback=e;this.delay=t;this.opaque=n;this.state=-2;this.refresh()}refresh(){if(this.state===-2){o.push(this);if(!n||o.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,n){return t<1e3?setTimeout(e,t,n):new Timeout(e,t,n)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},8550:(e,t,n)=>{"use strict";const o=n(1637);const{uid:i,states:a}=n(5913);const{kReadyState:d,kSentClose:h,kByteParser:m,kReceivedClose:Q}=n(2933);const{fireEvent:k,failWebsocketConnection:_}=n(3574);const{CloseEvent:L}=n(6255);const{makeRequest:U}=n(5194);const{fetching:P}=n(2315);const{Headers:H}=n(6349);const{getGlobalDispatcher:Y}=n(2581);const{kHeadersList:V}=n(6443);const J={};J.open=o.channel("undici:websocket:open");J.close=o.channel("undici:websocket:close");J.socketError=o.channel("undici:websocket:socket_error");let W;try{W=n(6982)}catch{}function establishWebSocketConnection(e,t,n,o,a){const d=e;d.protocol=e.protocol==="ws:"?"http:":"https:";const h=U({urlList:[d],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(a.headers){const e=new H(a.headers)[V];h.headersList=e}const m=W.randomBytes(16).toString("base64");h.headersList.append("sec-websocket-key",m);h.headersList.append("sec-websocket-version","13");for(const e of t){h.headersList.append("sec-websocket-protocol",e)}const Q="";const k=P({request:h,useParallelQueue:true,dispatcher:a.dispatcher??Y(),processResponse(e){if(e.type==="error"||e.status!==101){_(n,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){_(n,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){_(n,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){_(n,'Server did not set Connection header to "upgrade".');return}const a=e.headersList.get("Sec-WebSocket-Accept");const d=W.createHash("sha1").update(m+i).digest("base64");if(a!==d){_(n,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const k=e.headersList.get("Sec-WebSocket-Extensions");if(k!==null&&k!==Q){_(n,"Received different permessage-deflate than the one set.");return}const L=e.headersList.get("Sec-WebSocket-Protocol");if(L!==null&&L!==h.headersList.get("Sec-WebSocket-Protocol")){_(n,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(J.open.hasSubscribers){J.open.publish({address:e.socket.address(),protocol:L,extensions:k})}o(e)}});return k}function onSocketData(e){if(!this.ws[m].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[h]&&e[Q];let n=1005;let o="";const i=e[m].closingInfo;if(i){n=i.code??1005;o=i.reason}else if(!e[h]){n=1006}e[d]=a.CLOSED;k("close",e,L,{wasClean:t,code:n,reason:o});if(J.close.hasSubscribers){J.close.publish({websocket:e,code:n,reason:o})}}function onSocketError(e){const{ws:t}=this;t[d]=a.CLOSING;if(J.socketError.hasSubscribers){J.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},5913:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const n={enumerable:true,writable:false,configurable:false};const o={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const i={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const a=2**16-1;const d={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const h=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:n,states:o,opcodes:i,maxUnsigned16Bit:a,parserStates:d,emptyBuffer:h}},6255:(e,t,n)=>{"use strict";const{webidl:o}=n(4222);const{kEnumerableProperty:i}=n(3440);const{MessagePort:a}=n(8167);class MessageEvent extends Event{#o;constructor(e,t={}){o.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=o.converters.DOMString(e);t=o.converters.MessageEventInit(t);super(e,t);this.#o=t}get data(){o.brandCheck(this,MessageEvent);return this.#o.data}get origin(){o.brandCheck(this,MessageEvent);return this.#o.origin}get lastEventId(){o.brandCheck(this,MessageEvent);return this.#o.lastEventId}get source(){o.brandCheck(this,MessageEvent);return this.#o.source}get ports(){o.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#o.ports)){Object.freeze(this.#o.ports)}return this.#o.ports}initMessageEvent(e,t=false,n=false,i=null,a="",d="",h=null,m=[]){o.brandCheck(this,MessageEvent);o.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:n,data:i,origin:a,lastEventId:d,source:h,ports:m})}}class CloseEvent extends Event{#o;constructor(e,t={}){o.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=o.converters.DOMString(e);t=o.converters.CloseEventInit(t);super(e,t);this.#o=t}get wasClean(){o.brandCheck(this,CloseEvent);return this.#o.wasClean}get code(){o.brandCheck(this,CloseEvent);return this.#o.code}get reason(){o.brandCheck(this,CloseEvent);return this.#o.reason}}class ErrorEvent extends Event{#o;constructor(e,t){o.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=o.converters.DOMString(e);t=o.converters.ErrorEventInit(t??{});this.#o=t}get message(){o.brandCheck(this,ErrorEvent);return this.#o.message}get filename(){o.brandCheck(this,ErrorEvent);return this.#o.filename}get lineno(){o.brandCheck(this,ErrorEvent);return this.#o.lineno}get colno(){o.brandCheck(this,ErrorEvent);return this.#o.colno}get error(){o.brandCheck(this,ErrorEvent);return this.#o.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:i,origin:i,lastEventId:i,source:i,ports:i,initMessageEvent:i});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:i,code:i,wasClean:i});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:i,filename:i,lineno:i,colno:i,error:i});o.converters.MessagePort=o.interfaceConverter(a);o.converters["sequence<MessagePort>"]=o.sequenceConverter(o.converters.MessagePort);const d=[{key:"bubbles",converter:o.converters.boolean,defaultValue:false},{key:"cancelable",converter:o.converters.boolean,defaultValue:false},{key:"composed",converter:o.converters.boolean,defaultValue:false}];o.converters.MessageEventInit=o.dictionaryConverter([...d,{key:"data",converter:o.converters.any,defaultValue:null},{key:"origin",converter:o.converters.USVString,defaultValue:""},{key:"lastEventId",converter:o.converters.DOMString,defaultValue:""},{key:"source",converter:o.nullableConverter(o.converters.MessagePort),defaultValue:null},{key:"ports",converter:o.converters["sequence<MessagePort>"],get defaultValue(){return[]}}]);o.converters.CloseEventInit=o.dictionaryConverter([...d,{key:"wasClean",converter:o.converters.boolean,defaultValue:false},{key:"code",converter:o.converters["unsigned short"],defaultValue:0},{key:"reason",converter:o.converters.USVString,defaultValue:""}]);o.converters.ErrorEventInit=o.dictionaryConverter([...d,{key:"message",converter:o.converters.DOMString,defaultValue:""},{key:"filename",converter:o.converters.USVString,defaultValue:""},{key:"lineno",converter:o.converters["unsigned long"],defaultValue:0},{key:"colno",converter:o.converters["unsigned long"],defaultValue:0},{key:"error",converter:o.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},1237:(e,t,n)=>{"use strict";const{maxUnsigned16Bit:o}=n(5913);let i;try{i=n(6982)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=i.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let n=t;let i=6;if(t>o){i+=8;n=127}else if(t>125){i+=2;n=126}const a=Buffer.allocUnsafe(t+i);a[0]=a[1]=0;a[0]|=128;a[0]=(a[0]&240)+e;
|
|
4
|
-
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */a[i-4]=this.maskKey[0];a[i-3]=this.maskKey[1];a[i-2]=this.maskKey[2];a[i-1]=this.maskKey[3];a[1]=n;if(n===126){a.writeUInt16BE(t,2)}else if(n===127){a[2]=a[3]=0;a.writeUIntBE(t,4,6)}a[1]|=128;for(let e=0;e<t;e++){a[i+e]=this.frameData[e]^this.maskKey[e%4]}return a}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},3171:(e,t,n)=>{"use strict";const{Writable:o}=n(2203);const i=n(1637);const{parserStates:a,opcodes:d,states:h,emptyBuffer:m}=n(5913);const{kReadyState:Q,kSentClose:k,kResponse:_,kReceivedClose:L}=n(2933);const{isValidStatusCode:U,failWebsocketConnection:P,websocketMessageReceived:H}=n(3574);const{WebsocketFrameSend:Y}=n(1237);const V={};V.ping=i.channel("undici:websocket:ping");V.pong=i.channel("undici:websocket:pong");class ByteParser extends o{#i=[];#A=0;#a=a.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,n){this.#i.push(e);this.#A+=e.length;this.run(n)}run(e){while(true){if(this.#a===a.INFO){if(this.#A<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==d.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==d.BINARY&&this.#c.opcode!==d.TEXT){P(this.ws,"Invalid frame type was fragmented.");return}const n=t[1]&127;if(n<=125){this.#c.payloadLength=n;this.#a=a.READ_DATA}else if(n===126){this.#a=a.PAYLOADLENGTH_16}else if(n===127){this.#a=a.PAYLOADLENGTH_64}if(this.#c.fragmented&&n>125){P(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===d.PING||this.#c.opcode===d.PONG||this.#c.opcode===d.CLOSE)&&n>125){P(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===d.CLOSE){if(n===1){P(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(n);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[k]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new Y(e);this.ws[_].socket.write(t.createFrame(d.CLOSE),(e=>{if(!e){this.ws[k]=true}}))}this.ws[Q]=h.CLOSING;this.ws[L]=true;this.end();return}else if(this.#c.opcode===d.PING){const t=this.consume(n);if(!this.ws[L]){const e=new Y(t);this.ws[_].socket.write(e.createFrame(d.PONG));if(V.ping.hasSubscribers){V.ping.publish({payload:t})}}this.#a=a.INFO;if(this.#A>0){continue}else{e();return}}else if(this.#c.opcode===d.PONG){const t=this.consume(n);if(V.pong.hasSubscribers){V.pong.publish({payload:t})}if(this.#A>0){continue}else{e();return}}}else if(this.#a===a.PAYLOADLENGTH_16){if(this.#A<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=a.READ_DATA}else if(this.#a===a.PAYLOADLENGTH_64){if(this.#A<8){return e()}const t=this.consume(8);const n=t.readUInt32BE(0);if(n>2**31-1){P(this.ws,"Received payload length > 2^31 bytes.");return}const o=t.readUInt32BE(4);this.#c.payloadLength=(n<<8)+o;this.#a=a.READ_DATA}else if(this.#a===a.READ_DATA){if(this.#A<this.#c.payloadLength){return e()}else if(this.#A>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===d.CONTINUATION){const e=Buffer.concat(this.#l);H(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=a.INFO}}if(this.#A>0){continue}else{e();break}}}consume(e){if(e>this.#A){return null}else if(e===0){return m}if(this.#i[0].length===e){this.#A-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let n=0;while(n!==e){const o=this.#i[0];const{length:i}=o;if(i+n===e){t.set(this.#i.shift(),n);break}else if(i+n>e){t.set(o.subarray(0,e-n),n);this.#i[0]=o.subarray(e-n);break}else{t.set(this.#i.shift(),n);n+=o.length}}this.#A-=e;return t}parseCloseBody(e,t){let n;if(t.length>=2){n=t.readUInt16BE(0)}if(e){if(!U(n)){return null}return{code:n}}let o=t.subarray(2);if(o[0]===239&&o[1]===187&&o[2]===191){o=o.subarray(3)}if(n!==undefined&&!U(n)){return null}try{o=new TextDecoder("utf-8",{fatal:true}).decode(o)}catch{return null}return{code:n,reason:o}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,n)=>{"use strict";const{kReadyState:o,kController:i,kResponse:a,kBinaryType:d,kWebSocketURL:h}=n(2933);const{states:m,opcodes:Q}=n(5913);const{MessageEvent:k,ErrorEvent:_}=n(6255);function isEstablished(e){return e[o]===m.OPEN}function isClosing(e){return e[o]===m.CLOSING}function isClosed(e){return e[o]===m.CLOSED}function fireEvent(e,t,n=Event,o){const i=new n(e,o);t.dispatchEvent(i)}function websocketMessageReceived(e,t,n){if(e[o]!==m.OPEN){return}let i;if(t===Q.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===Q.BINARY){if(e[d]==="blob"){i=new Blob([n])}else{i=new Uint8Array(n).buffer}}fireEvent("message",e,k,{origin:e[h].origin,data:i})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[i]:n,[a]:o}=e;n.abort();if(o?.socket&&!o.socket.destroyed){o.socket.destroy()}if(t){fireEvent("error",e,_,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},5171:(e,t,n)=>{"use strict";const{webidl:o}=n(4222);const{DOMException:i}=n(7326);const{URLSerializer:a}=n(4322);const{getGlobalOrigin:d}=n(5628);const{staticPropertyDescriptors:h,states:m,opcodes:Q,emptyBuffer:k}=n(5913);const{kWebSocketURL:_,kReadyState:L,kController:U,kBinaryType:P,kResponse:H,kSentClose:Y,kByteParser:V}=n(2933);const{isEstablished:J,isClosing:W,isValidSubprotocol:j,failWebsocketConnection:K,fireEvent:X}=n(3574);const{establishWebSocketConnection:Z}=n(8550);const{WebsocketFrameSend:ee}=n(1237);const{ByteParser:te}=n(3171);const{kEnumerableProperty:re,isBlobLike:se}=n(3440);const{getGlobalDispatcher:ne}=n(2581);const{types:oe}=n(9023);let ie=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#g=0;#d="";#h="";constructor(e,t=[]){super();o.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!ie){ie=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const n=o.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);e=o.converters.USVString(e);t=n.protocols;const a=d();let h;try{h=new URL(e,a)}catch(e){throw new i(e,"SyntaxError")}if(h.protocol==="http:"){h.protocol="ws:"}else if(h.protocol==="https:"){h.protocol="wss:"}if(h.protocol!=="ws:"&&h.protocol!=="wss:"){throw new i(`Expected a ws: or wss: protocol, got ${h.protocol}`,"SyntaxError")}if(h.hash||h.href.endsWith("#")){throw new i("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>j(e)))){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[_]=new URL(h.href);this[U]=Z(h,t,this,(e=>this.#p(e)),n);this[L]=WebSocket.CONNECTING;this[P]="blob"}close(e=undefined,t=undefined){o.brandCheck(this,WebSocket);if(e!==undefined){e=o.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=o.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new i("invalid code","InvalidAccessError")}}let n=0;if(t!==undefined){n=Buffer.byteLength(t);if(n>123){throw new i(`Reason must be less than 123 bytes; received ${n}`,"SyntaxError")}}if(this[L]===WebSocket.CLOSING||this[L]===WebSocket.CLOSED){}else if(!J(this)){K(this,"Connection was closed before it was established.");this[L]=WebSocket.CLOSING}else if(!W(this)){const o=new ee;if(e!==undefined&&t===undefined){o.frameData=Buffer.allocUnsafe(2);o.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){o.frameData=Buffer.allocUnsafe(2+n);o.frameData.writeUInt16BE(e,0);o.frameData.write(t,2,"utf-8")}else{o.frameData=k}const i=this[H].socket;i.write(o.createFrame(Q.CLOSE),(e=>{if(!e){this[Y]=true}}));this[L]=m.CLOSING}else{this[L]=WebSocket.CLOSING}}send(e){o.brandCheck(this,WebSocket);o.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=o.converters.WebSocketSendData(e);if(this[L]===WebSocket.CONNECTING){throw new i("Sent before connected.","InvalidStateError")}if(!J(this)||W(this)){return}const t=this[H].socket;if(typeof e==="string"){const n=Buffer.from(e);const o=new ee(n);const i=o.createFrame(Q.TEXT);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(oe.isArrayBuffer(e)){const n=Buffer.from(e);const o=new ee(n);const i=o.createFrame(Q.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(ArrayBuffer.isView(e)){const n=Buffer.from(e,e.byteOffset,e.byteLength);const o=new ee(n);const i=o.createFrame(Q.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(se(e)){const n=new ee;e.arrayBuffer().then((e=>{const o=Buffer.from(e);n.frameData=o;const i=n.createFrame(Q.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}))}}get readyState(){o.brandCheck(this,WebSocket);return this[L]}get bufferedAmount(){o.brandCheck(this,WebSocket);return this.#g}get url(){o.brandCheck(this,WebSocket);return a(this[_])}get extensions(){o.brandCheck(this,WebSocket);return this.#h}get protocol(){o.brandCheck(this,WebSocket);return this.#d}get onopen(){o.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){o.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){o.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){o.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){o.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){o.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){o.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){o.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){o.brandCheck(this,WebSocket);return this[P]}set binaryType(e){o.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[P]="blob"}else{this[P]=e}}#p(e){this[H]=e;const t=new te(this);t.on("drain",(function onParserDrain(){this.ws[H].socket.resume()}));e.socket.ws=this;this[V]=t;this[L]=m.OPEN;const n=e.headersList.get("sec-websocket-extensions");if(n!==null){this.#h=n}const o=e.headersList.get("sec-websocket-protocol");if(o!==null){this.#d=o}X("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=m.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=m.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=m.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=m.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h,url:re,readyState:re,bufferedAmount:re,onopen:re,onerror:re,onclose:re,close:re,onmessage:re,binaryType:re,send:re,extensions:re,protocol:re,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h});o.converters["sequence<DOMString>"]=o.sequenceConverter(o.converters.DOMString);o.converters["DOMString or sequence<DOMString>"]=function(e){if(o.util.Type(e)==="Object"&&Symbol.iterator in e){return o.converters["sequence<DOMString>"](e)}return o.converters.DOMString(e)};o.converters.WebSocketInit=o.dictionaryConverter([{key:"protocols",converter:o.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return ne()}},{key:"headers",converter:o.nullableConverter(o.converters.HeadersInit)}]);o.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){if(o.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return o.converters.WebSocketInit(e)}return{protocols:o.converters["DOMString or sequence<DOMString>"](e)}};o.converters.WebSocketSendData=function(e){if(o.util.Type(e)==="Object"){if(se(e)){return o.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||oe.isAnyArrayBuffer(e)){return o.converters.BufferSource(e)}}return o.converters.USVString(e)};e.exports={WebSocket:WebSocket}},3843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return"<environment undetectable>"}t.getUserAgent=getUserAgent},8264:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var n=0;n<t.length;n++){t[n]=arguments[n]}var o=e.apply(this,t);var i=t[t.length-1];if(typeof o==="function"&&o!==i){Object.keys(i).forEach((function(e){o[e]=i[e]}))}return o}}},218:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});const d=a(n(7484));const h=a(n(3228));const m=a(n(9896));const Q=a(n(6928));const k=n(5030);const _=n(2108);const L=n(7785);const U=n(7461);function detectCdkApp(e){const t=Q.join(e,"cdk.json");if(m.existsSync(t)){return e}const n=["infrastructure","cdk","infra","deploy"];for(const t of n){const n=Q.join(e,t);const o=Q.join(n,"cdk.json");if(m.existsSync(o)){return n}}return undefined}function getPRNumber(){const e=h.context;if(e.eventName==="pull_request"&&e.payload.pull_request){return e.payload.pull_request.number}return undefined}function parseRepository(){const e=h.context;if(e.repo.owner&&e.repo.repo){return{owner:e.repo.owner,repo:e.repo.repo}}return undefined}function validatePath(e){const t=process.env.GITHUB_WORKSPACE||process.cwd();const n=Q.resolve(t,e);if(!n.startsWith(t)){throw new Error(`Path '${e}' is outside workspace. Potential path traversal attack.`)}return n}function validateCommentStrategy(e){const t=["new","update","delete-and-new"];if(!t.includes(e)){throw new Error(`Invalid comment-strategy: '${e}'. Must be one of: ${t.join(", ")}`)}return e}async function run(){try{const e=d.getInput("path")||"./";const t=validatePath(e);const n=d.getInput("github-token",{required:true});const o=d.getInput("aws-region")||"us-east-1";const i=d.getInput("config-path");const a=d.getInput("comment-strategy")||"update";const h=validateCommentStrategy(a);const P=d.getBooleanInput("debug");if(P){U.Logger.setDebugEnabled(true);d.debug("Debug logging enabled")}d.info("Starting CDK Cost Analysis...");const H=parseRepository();if(!H){d.setFailed("Could not determine repository from GitHub context");return}const Y=getPRNumber();if(!Y){d.warning("Not running in a pull_request event. Skipping PR comment.")}let V=detectCdkApp(t);if(!V){d.warning(`Could not detect CDK app in ${t}. Using provided path.`);V=t}else{d.info(`Detected CDK app at: ${V}`)}const J=Q.join(V,"cdk.out");const W=!m.existsSync(J);if(W){d.info("CDK output not found. Synthesis will be performed.")}const j=new k.PipelineOrchestrator;d.info(`Running cost analysis for region: ${o}`);const K=await j.runPipelineAnalysis({synthesize:W,cdkAppPath:V,region:o,configPath:i});const X=K.costAnalysis.removedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+K.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.oldMonthlyCost.amount),0);const Z=K.costAnalysis.addedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+K.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.newMonthlyCost.amount),0);const ee=new L.GitHubActionReporter;const te={totalDelta:K.costAnalysis.totalDelta,currency:K.costAnalysis.currency,addedCosts:K.costAnalysis.addedResources,removedCosts:K.costAnalysis.removedResources,modifiedCosts:K.costAnalysis.modifiedResources};const re=ee.generateReport(te,X,Z);console.log("\n"+re+"\n");d.setOutput("total-delta",K.costAnalysis.totalDelta.toString());d.setOutput("currency",K.costAnalysis.currency);d.setOutput("added-count",K.costAnalysis.addedResources.length.toString());d.setOutput("removed-count",K.costAnalysis.removedResources.length.toString());d.setOutput("modified-count",K.costAnalysis.modifiedResources.length.toString());d.setOutput("threshold-passed",K.thresholdStatus.passed.toString());d.setOutput("threshold-level",K.thresholdStatus.level);if(Y){d.info(`Posting cost analysis to PR #${Y}...`);const e=new _.GitHubIntegration({token:n,apiUrl:process.env.GITHUB_API_URL||"https://api.github.com"});await e.postPRComment(H.owner,H.repo,Y,re,h);d.info("Cost analysis posted to pull request")}if(K.thresholdStatus.level==="error"&&!K.thresholdStatus.passed){d.setFailed(`Cost threshold exceeded: ${K.thresholdStatus.message}`);return}if(K.thresholdStatus.level==="warning"&&!K.thresholdStatus.passed){d.warning(`Cost threshold warning: ${K.thresholdStatus.message}`)}d.info("Cost analysis completed successfully")}catch(e){if(e instanceof Error){d.setFailed(e.message)}else{d.setFailed(String(e))}}}run()},2099:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.ConfigManager=void 0;const d=a(n(1943));const h=a(n(6928));const m=a(n(4281));const Q=n(2143);class ConfigManager{static CONFIG_FILE_NAMES=[".cdk-cost-analyzer.yml",".cdk-cost-analyzer.yaml",".cdk-cost-analyzer.json"];async loadConfig(e){try{const t=await this.resolveConfigPath(e);if(!t){return this.getDefaultConfig()}const n=await this.readConfigFile(t);const o=this.validateConfig(n);if(!o.valid){throw new Q.ConfigurationError("Invalid configuration",t,o.errors)}return this.mergeWithDefaults(n)}catch(t){if(t instanceof Q.ConfigurationError){throw t}throw new Q.ConfigurationError(`Failed to load configuration: ${t instanceof Error?t.message:String(t)}`,e||"unknown",[])}}validateConfig(e){const t=[];const n=[];if(e.thresholds){this.validateThresholds(e.thresholds,t,n)}if(e.usageAssumptions){this.validateUsageAssumptions(e.usageAssumptions,t)}if(e.cache?.durationHours!==undefined){if(e.cache.durationHours<=0){t.push("cache.durationHours must be positive")}}return{valid:t.length===0,errors:t,warnings:n}}async resolveConfigPath(e){if(e){const t=await this.fileExists(e);if(!t){throw new Error(`Configuration file not found: ${e}`)}return e}for(const e of ConfigManager.CONFIG_FILE_NAMES){const t=h.join(process.cwd(),e);if(await this.fileExists(t)){return t}}return null}async readConfigFile(e){const t=await d.readFile(e,"utf-8");const n=h.extname(e).toLowerCase();try{if(n===".json"){return JSON.parse(t)}else{return m.load(t)}}catch(e){throw new Error(`Failed to parse configuration file: ${e instanceof Error?e.message:String(e)}`)}}async fileExists(e){try{await d.access(e);return true}catch{return false}}validateThresholds(e,t,n){const validateLevels=(e,o)=>{if(e.warning!==undefined&&e.warning<0){t.push(`${o}.warning must be non-negative`)}if(e.error!==undefined&&e.error<0){t.push(`${o}.error must be non-negative`)}if(e.warning!==undefined&&e.error!==undefined&&e.warning>e.error){n.push(`${o}.warning (${e.warning}) is greater than ${o}.error (${e.error})`)}};if(e.default){validateLevels(e.default,"thresholds.default")}if(e.environments){for(const[t,n]of Object.entries(e.environments)){validateLevels(n,`thresholds.environments.${t}`)}}}validateUsageAssumptions(e,t){const validatePositive=(e,n)=>{if(e!==undefined&&e<0){t.push(`${n} must be non-negative`)}};if(e.s3){validatePositive(e.s3.storageGB,"usageAssumptions.s3.storageGB");validatePositive(e.s3.getRequests,"usageAssumptions.s3.getRequests");validatePositive(e.s3.putRequests,"usageAssumptions.s3.putRequests")}if(e.lambda){validatePositive(e.lambda.invocationsPerMonth,"usageAssumptions.lambda.invocationsPerMonth");validatePositive(e.lambda.averageDurationMs,"usageAssumptions.lambda.averageDurationMs")}if(e.dynamodb){validatePositive(e.dynamodb.readRequestsPerMonth,"usageAssumptions.dynamodb.readRequestsPerMonth");validatePositive(e.dynamodb.writeRequestsPerMonth,"usageAssumptions.dynamodb.writeRequestsPerMonth")}if(e.natGateway){validatePositive(e.natGateway.dataProcessedGB,"usageAssumptions.natGateway.dataProcessedGB")}if(e.alb){validatePositive(e.alb.newConnectionsPerSecond,"usageAssumptions.alb.newConnectionsPerSecond");validatePositive(e.alb.activeConnectionsPerMinute,"usageAssumptions.alb.activeConnectionsPerMinute");validatePositive(e.alb.processedBytesGB,"usageAssumptions.alb.processedBytesGB")}if(e.nlb){validatePositive(e.nlb.newConnectionsPerSecond,"usageAssumptions.nlb.newConnectionsPerSecond");validatePositive(e.nlb.activeConnectionsPerMinute,"usageAssumptions.nlb.activeConnectionsPerMinute");validatePositive(e.nlb.processedBytesGB,"usageAssumptions.nlb.processedBytesGB")}if(e.cloudfront){validatePositive(e.cloudfront.dataTransferGB,"usageAssumptions.cloudfront.dataTransferGB");validatePositive(e.cloudfront.requests,"usageAssumptions.cloudfront.requests")}if(e.apiGateway){validatePositive(e.apiGateway.requestsPerMonth,"usageAssumptions.apiGateway.requestsPerMonth")}if(e.vpcEndpoint){validatePositive(e.vpcEndpoint.dataProcessedGB,"usageAssumptions.vpcEndpoint.dataProcessedGB")}}getDefaultConfig(){return{cache:{enabled:true,durationHours:24}}}mergeWithDefaults(e){const t=this.getDefaultConfig();return{...t,...e,cache:{...t.cache,...e.cache}}}}t.ConfigManager=ConfigManager},2143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfigurationError=void 0;class ConfigurationError extends Error{configPath;validationErrors;constructor(e,t,n){super(e);this.configPath=t;this.validationErrors=n;this.name="ConfigurationError"}}t.ConfigurationError=ConfigurationError},8558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DiffEngine=void 0;class DiffEngine{diff(e,t){const n=e.Resources||{};const o=t.Resources||{};const i=new Set(Object.keys(n));const a=new Set(Object.keys(o));const d=[];const h=[];const m=[];for(const e of a){if(!i.has(e)){const t=o[e];d.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(!a.has(e)){const t=n[e];h.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(a.has(e)){const t=n[e];const i=o[e];if(!this.arePropertiesEqual(t.Properties,i.Properties)){m.push({logicalId:e,type:i.Type,oldProperties:t.Properties||{},newProperties:i.Properties||{}})}}}return{added:d,removed:h,modified:m}}arePropertiesEqual(e,t){const n=e||{};const o=t||{};return JSON.stringify(this.sortObject(n))===JSON.stringify(this.sortObject(o))}sortObject(e){if(e===null||e===undefined){return e}if(Array.isArray(e)){return e.map((e=>this.sortObject(e)))}if(typeof e==="object"){const t={};const n=Object.keys(e).sort();for(const o of n){t[o]=this.sortObject(e[o])}return t}return e}}t.DiffEngine=DiffEngine},2108:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubIntegration=void 0;const o=n(4270);const i="\x3c!-- cdk-cost-analyzer --\x3e";class GitHubIntegration{static fromEnvironment(){const e=process.env.GITHUB_TOKEN;const t=process.env.GITHUB_API_URL||"https://api.github.com";if(!e){throw new Error("GitHub token not found. Set GITHUB_TOKEN environment variable.")}return new GitHubIntegration({token:e,apiUrl:t})}config;constructor(e){this.config=e}async postPRComment(e,t,n,o,a="update"){const d=`${i}\n${o}`;switch(a){case"new":await this.createComment(e,t,n,d);break;case"update":{const o=await this.findExistingComment(e,t,n);if(o){await this.updateComment(e,t,o.id,d)}else{await this.createComment(e,t,n,d)}break}case"delete-and-new":{const o=await this.findExistingComment(e,t,n);if(o){await this.deleteComment(e,t,o.id)}await this.createComment(e,t,n,d);break}default:throw new Error(`Unknown comment strategy: ${a}`)}}async findExistingComment(e,t,n){try{let a=1;const d=100;while(true){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/${n}/comments?page=${a}&per_page=${d}`;const m=await this.fetchWithRetry(h,{method:"GET",headers:this.getHeaders()});if(!m.ok){const e=await m.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to list comments: ${m.statusText} - ${e}`),m.status)}const Q=await m.json();if(Q.length===0){break}const k=Q.find((e=>e.body?.includes(i)));if(k){return k}a++}return null}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async updateComment(e,t,n,i){const a=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${n}`;try{const e=await this.fetchWithRetry(a,{method:"PATCH",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to update comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async deleteComment(e,t,n){const i=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${n}`;try{const e=await this.fetchWithRetry(i,{method:"DELETE",headers:this.getHeaders()});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to delete comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async createComment(e,t,n,i){const a=`${this.config.apiUrl}/repos/${e}/${t}/issues/${n}/comments`;const d=65536;if(i.length>d){throw new o.GitHubAPIError(`Comment exceeds GitHub's maximum size of ${d} characters (actual: ${i.length})`)}try{const e=await this.fetchWithRetry(a,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to post comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}getHeaders(){return{Authorization:`Bearer ${this.config.token}`,Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}async fetchWithRetry(e,t,n=3){for(let o=0;o<n;o++){const i=await fetch(e,t);if(i.status===429){const e=i.headers.get("retry-after");const t=i.headers.get("x-ratelimit-reset");let a=1e3*(o+1);if(e){a=parseInt(e)*1e3}else if(t){const e=new Date(parseInt(t)*1e3);a=Math.max(0,e.getTime()-Date.now())}if(o<n-1){await new Promise((e=>setTimeout(e,a)));continue}}if(i.status>=500&&i.status<600&&o<n-1){await new Promise((e=>setTimeout(e,1e3*(o+1))));continue}return i}throw new o.GitHubAPIError("Maximum retry attempts exceeded")}sanitizeError(e){return e.replace(new RegExp(this.config.token,"g"),"***")}}t.GitHubIntegration=GitHubIntegration},4270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubAPIError=t.GitLabAPIError=void 0;class GitLabAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitLabAPIError"}}t.GitLabAPIError=GitLabAPIError;class GitHubAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitHubAPIError"}}t.GitHubAPIError=GitHubAPIError},8254:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.TemplateParser=t.TemplateParseError=void 0;const d=a(n(4281));class TemplateParseError extends Error{templatePath;constructor(e,t){super(e);this.templatePath=t;this.name="TemplateParseError"}}t.TemplateParseError=TemplateParseError;class TemplateParser{parse(e){if(!e||e.trim()===""){throw new TemplateParseError("Template content is empty")}let t;try{t=JSON.parse(e)}catch(n){try{t=d.load(e)}catch(e){throw new TemplateParseError(`Failed to parse template as JSON or YAML: ${e instanceof Error?e.message:String(e)}`)}}if(!t||typeof t!=="object"){throw new TemplateParseError("Parsed template is not an object")}const n=t;if(!n.Resources||typeof n.Resources!=="object"){throw new TemplateParseError("Template must contain a Resources section")}return n}}t.TemplateParser=TemplateParser},5030:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.PipelineOrchestrator=void 0;const d=a(n(1943));const h=n(1839);const m=n(2099);const Q=n(8558);const k=n(8254);const _=n(9345);const L=n(1268);const U=n(9560);const P=n(1668);class PipelineOrchestrator{configManager;synthesisOrchestrator;thresholdEnforcer;constructor(){this.configManager=new m.ConfigManager;this.synthesisOrchestrator=new U.SynthesisOrchestrator;this.thresholdEnforcer=new P.ThresholdEnforcer}async runPipelineAnalysis(e){try{const t=await this.configManager.loadConfig(e.configPath);let n;let o;let i;if(e.synthesize&&e.cdkAppPath){const a=await this.synthesizeBothBranches(e.cdkAppPath,t,e.outputPath);n=a.baseTemplatePath;o=a.targetTemplatePath;i=a.synthesisInfo}else{if(!e.baseTemplate||!e.targetTemplate){throw new h.PipelineError("Either provide template paths or enable synthesis with cdkAppPath","configuration")}n=e.baseTemplate;o=e.targetTemplate}const a=e.region||t.synthesis?.context?.region||"eu-central-1";const d=await this.analyzeCosts(n,o,a,t);const m=this.thresholdEnforcer.evaluateThreshold(d.totalDelta,d.addedResources,d.modifiedResources,t.thresholds,e.environment);const Q=this.buildConfigSummary(t,e);return{costAnalysis:d,thresholdStatus:m,synthesisInfo:i,configUsed:Q}}catch(e){if(e instanceof h.PipelineError){throw e}throw new h.PipelineError(`Pipeline failed: ${e instanceof Error?e.message:String(e)}`,"unknown")}}async synthesizeBothBranches(e,t,n){const o=await this.synthesisOrchestrator.synthesize({cdkAppPath:e,outputPath:n||t.synthesis?.outputPath,context:t.synthesis?.context,customCommand:t.synthesis?.customCommand});if(!o.success){throw new h.PipelineError(`CDK synthesis failed: ${o.error}`,"synthesis")}return{baseTemplatePath:o.templatePaths[0],targetTemplatePath:o.templatePaths[0],synthesisInfo:{baseStackCount:o.stackNames.length,targetStackCount:o.stackNames.length,baseSynthesisTime:o.duration,targetSynthesisTime:o.duration}}}async analyzeCosts(e,t,n,o){const i=new k.TemplateParser;const a=new Q.DiffEngine;const h=new _.PricingService(n,o.usageAssumptions,o.exclusions?.resourceTypes,o.cache);const m=new L.Reporter;const U=await d.readFile(e,"utf-8");const P=await d.readFile(t,"utf-8");const H=i.parse(U);const Y=i.parse(P);const V=a.diff(H,Y);const J=await h.getCostDelta(V,n);const W=m.generateReport(J,"text");return{totalDelta:J.totalDelta,currency:J.currency,addedResources:J.addedCosts,removedResources:J.removedCosts,modifiedResources:J.modifiedCosts,summary:W}}buildConfigSummary(e,t){const n={synthesisEnabled:!!t.synthesize};if(t.configPath){n.configPath=t.configPath}if(e.thresholds){const o=t.environment&&e.thresholds.environments?.[t.environment]?e.thresholds.environments[t.environment]:e.thresholds.default;if(o){n.thresholds={warning:o.warning,error:o.error,environment:t.environment}}}if(e.usageAssumptions){n.usageAssumptions=e.usageAssumptions}if(e.exclusions?.resourceTypes){n.excludedResourceTypes=e.exclusions.resourceTypes}return n}}t.PipelineOrchestrator=PipelineOrchestrator},1839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PipelineError=void 0;class PipelineError extends Error{stage;constructor(e,t){super(e);this.stage=t;this.name="PipelineError"}}t.PipelineError=PipelineError},2097:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.CacheManager=void 0;const d=a(n(9896));const h=a(n(6928));class CacheManager{cacheDir;cacheDurationMs;metadata;metadataPath;constructor(e=".cdk-cost-analyzer-cache",t=24){this.cacheDir=e;this.cacheDurationMs=t*60*60*1e3;this.metadataPath=h.join(this.cacheDir,"metadata.json");this.metadata={entries:{}};this.ensureCacheDirectory();this.loadMetadata()}getCachedPrice(e){const t=this.getCacheKey(e);const n=this.metadata.entries[t];if(!n){return null}const o=Date.now();const i=o-n.timestamp;if(i>this.cacheDurationMs){delete this.metadata.entries[t];this.saveMetadata();return null}return n.price}setCachedPrice(e,t){const n=this.getCacheKey(e);this.metadata.entries[n]={price:t,timestamp:Date.now()};this.saveMetadata()}hasFreshCache(e){return this.getCachedPrice(e)!==null}clearCache(){this.metadata={entries:{}};this.saveMetadata()}getCacheStats(){const e=Date.now();let t=0;let n=0;for(const o of Object.values(this.metadata.entries)){const i=e-o.timestamp;if(i<=this.cacheDurationMs){t++}else{n++}}return{totalEntries:Object.keys(this.metadata.entries).length,freshEntries:t,staleEntries:n}}pruneStaleEntries(){const e=Date.now();const t={};for(const[n,o]of Object.entries(this.metadata.entries)){const i=e-o.timestamp;if(i<=this.cacheDurationMs){t[n]=o}}this.metadata.entries=t;this.saveMetadata()}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}ensureCacheDirectory(){if(!d.existsSync(this.cacheDir)){d.mkdirSync(this.cacheDir,{recursive:true})}}loadMetadata(){try{if(d.existsSync(this.metadataPath)){const e=d.readFileSync(this.metadataPath,"utf-8");this.metadata=JSON.parse(e)}}catch(e){this.metadata={entries:{}}}}saveMetadata(){try{d.writeFileSync(this.metadataPath,JSON.stringify(this.metadata,null,2),"utf-8")}catch(e){console.warn(`Failed to save cache metadata: ${e instanceof Error?e.message:String(e)}`)}}}t.CacheManager=CacheManager},6003:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingClient=void 0;const o=n(4453);const i=n(9543);const a=n(7461);class PricingClient{cache=new Map;client;cacheManager;constructor(e="us-east-1",t,n){this.client=n||new o.PricingClient({region:e});this.cacheManager=t}destroy(){this.cache.clear();if(this.client&&typeof this.client.destroy==="function"){this.client.destroy()}}async getPrice(e){const t=this.getCacheKey(e);if(this.cache.has(t)){a.Logger.logCacheStatus(t,true,"memory");return this.cache.get(t)}if(this.cacheManager){const n=this.cacheManager.getCachedPrice(e);if(n!==null){a.Logger.logCacheStatus(t,true,"persistent");this.cache.set(t,n);return n}}a.Logger.logCacheStatus(t,false);try{const n=await this.fetchPriceWithRetry(e);if(n!==null){this.cache.set(t,n);if(this.cacheManager){this.cacheManager.setCachedPrice(e,n)}}return n}catch(n){a.Logger.logPricingFailure(e.serviceCode,e.region,n instanceof Error?n.message:String(n));if(this.cache.has(t)){return this.cache.get(t)}if(this.cacheManager){const t=this.cacheManager.getCachedPrice(e);if(t!==null){return t}}return null}}async fetchPriceWithRetry(e,t=3){let n=null;for(let o=0;o<t;o++){try{return await this.fetchPrice(e)}catch(e){n=e;if(o<t-1){const e=Math.pow(2,o)*1e3;await new Promise((t=>setTimeout(t,e)))}}}throw new i.PricingAPIError(`Failed to fetch pricing after ${t} attempts: ${n?.message}`,false)}async fetchPrice(e){const t=e.filters.map((e=>({Type:e.type||"TERM_MATCH",Field:e.field,Value:e.value})));a.Logger.logPricingQuery(e.serviceCode,e.region,e.filters);const n=new o.GetProductsCommand({ServiceCode:e.serviceCode,Filters:t,MaxResults:1});const i=await this.client.send(n);if(!i.PriceList||i.PriceList.length===0){a.Logger.logPricingResponse(e.serviceCode,e.region,null);a.Logger.logPricingFailure(e.serviceCode,e.region,"No products found matching the specified filters");return null}const d=JSON.parse(i.PriceList[0]);const h=d?.terms?.OnDemand;if(!h){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No OnDemand terms found"});return null}const m=Object.keys(h)[0];const Q=h[m]?.priceDimensions;if(!Q){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No price dimensions found"});return null}const k=Object.keys(Q)[0];const _=Q[k]?.pricePerUnit?.USD;if(!_){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No USD price found"});return null}const L=parseFloat(_);a.Logger.logPricingResponse(e.serviceCode,e.region,L,{product:d?.product,termKey:m,dimensionKey:k,unit:Q[k]?.unit,description:Q[k]?.description});return L}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}}t.PricingClient=PricingClient},9345:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingService=void 0;const o=n(2097);const i=n(6357);const a=n(3220);const d=n(2325);const h=n(9838);const m=n(2634);const Q=n(4530);const k=n(2970);const _=n(2665);const L=n(8900);const U=n(2564);const P=n(7653);const H=n(231);const Y=n(1597);const V=n(8680);const J=n(779);const W=n(4872);const j=n(7822);const K=n(7346);const X=n(2697);const Z=n(5099);const ee=n(7278);const te=n(6209);const re=n(288);const se=n(2301);const ne=n(4885);const oe=n(9402);const ie=n(6003);class PricingService{calculators;pricingClient;excludedResourceTypes;constructor(e="us-east-1",t,n,Ae,ae){if(ae){this.pricingClient=ae}else{let t;if(Ae?.enabled!==false){const e=Ae?.durationHours??24;t=new o.CacheManager(".cdk-cost-analyzer-cache",e)}this.pricingClient=new ie.PricingClient(e,t)}this.excludedResourceTypes=new Set(n||[]);const ce=t?{usageAssumptions:t}:undefined;this.calculators=[new k.EC2Calculator,new W.S3Calculator,new P.LambdaCalculator(t?.lambda?.invocationsPerMonth,t?.lambda?.averageDurationMs),new J.RDSCalculator,new Q.DynamoDBCalculator(ce),new _.ECSCalculator,new a.APIGatewayCalculator,new Y.NatGatewayCalculator(t?.natGateway?.dataProcessedGB),new i.ALBCalculator(t?.alb?.newConnectionsPerSecond,t?.alb?.activeConnectionsPerMinute,t?.alb?.processedBytesGB),new V.NLBCalculator(t?.nlb?.newConnectionsPerSecond,t?.nlb?.activeConnectionsPerMinute,t?.nlb?.processedBytesGB),new ee.VPCEndpointCalculator(t?.vpcEndpoint?.dataProcessedGB),new h.CloudFrontCalculator(t?.cloudfront?.dataTransferGB,t?.cloudfront?.requests),new U.ElastiCacheCalculator,new d.AutoScalingGroupCalculator,new H.LaunchTemplateCalculator,new L.EFSCalculator(t?.efs?.storageSizeGb,t?.efs?.infrequentAccessPercentage),new K.SNSCalculator(t?.sns?.monthlyPublishes,t?.sns?.httpDeliveries,t?.sns?.emailDeliveries,t?.sns?.smsDeliveries,t?.sns?.mobilePushDeliveries),new X.SQSCalculator(ce),new Z.StepFunctionsCalculator(t?.stepFunctions?.monthlyExecutions,t?.stepFunctions?.stateTransitionsPerExecution,t?.stepFunctions?.averageDurationMs),new j.SecretsManagerCalculator(t?.secretsManager?.monthlyApiCalls),new te.EKSCalculator,new re.AuroraServerlessCalculator(t?.auroraServerless?.minACU,t?.auroraServerless?.maxACU,t?.auroraServerless?.storageGB),new se.TransitGatewayCalculator(t?.transitGateway?.attachments,t?.transitGateway?.monthlyDataGB),new ne.Route53Calculator(t?.route53?.monthlyQueries),new oe.KinesisCalculator(t?.kinesis?.shardCount,t?.kinesis?.ingestionGB,t?.kinesis?.retrievalGB,t?.kinesis?.firehoseGB,t?.kinesis?.kpus),new m.CloudWatchLogsCalculator(t?.cloudwatch?.logsIngestionGB),new m.CloudWatchAlarmCalculator,new m.CloudWatchDashboardCalculator]}async getResourceCost(e,t,n){if(this.excludedResourceTypes.has(e.type)){return{amount:0,currency:"USD",confidence:"high",assumptions:[`Resource type ${e.type} is excluded from cost analysis`]}}const o=this.calculators.find((t=>{if(t.canCalculate){return t.canCalculate(e)}return t.supports(e.type)}));if(!o){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Resource type ${e.type} is not supported`]}}try{return await o.calculateCost(e,t,this.pricingClient,n)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate cost: ${e instanceof Error?e.message:String(e)}`]}}}async getCostDelta(e,t){const n=e.added.filter((e=>!this.excludedResourceTypes.has(e.type)));const o=e.removed.filter((e=>!this.excludedResourceTypes.has(e.type)));const i=e.modified.filter((e=>!this.excludedResourceTypes.has(e.type)));const a=[...e.added,...e.removed,...e.modified.map((e=>({logicalId:e.logicalId,type:e.type,properties:e.newProperties})))];const d=await Promise.all(n.map((async e=>{const n=await this.getResourceCost(e,t,a);return{logicalId:e.logicalId,type:e.type,monthlyCost:n}})));const h=await Promise.all(o.map((async e=>{const n=await this.getResourceCost(e,t,a);return{logicalId:e.logicalId,type:e.type,monthlyCost:n}})));const m=await Promise.all(i.map((async e=>{const n={logicalId:e.logicalId,type:e.type,properties:e.oldProperties};const o={logicalId:e.logicalId,type:e.type,properties:e.newProperties};const i=await this.getResourceCost(n,t,a);const d=await this.getResourceCost(o,t,a);const h=d.amount-i.amount;return{logicalId:e.logicalId,type:e.type,monthlyCost:d,oldMonthlyCost:i,newMonthlyCost:d,costDelta:h}})));const Q=d.reduce(((e,t)=>e+t.monthlyCost.amount),0);const k=h.reduce(((e,t)=>e+t.monthlyCost.amount),0);const _=m.reduce(((e,t)=>e+t.costDelta),0);const L=Q-k+_;return{totalDelta:L,currency:"USD",addedCosts:d,removedCosts:h,modifiedCosts:m}}destroy(){this.pricingClient.destroy()}}t.PricingService=PricingService},7973:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.normalizeRegion=normalizeRegion;t.getRegionPrefix=getRegionPrefix;const o=n(7461);const i={"us-east-1":"US East (N. Virginia)","us-east-2":"US East (Ohio)","us-west-1":"US West (N. California)","us-west-2":"US West (Oregon)","eu-west-1":"EU (Ireland)","eu-west-2":"EU (London)","eu-west-3":"EU (Paris)","eu-central-1":"EU (Frankfurt)","eu-central-2":"EU (Zurich)","eu-north-1":"EU (Stockholm)","eu-south-1":"EU (Milan)","eu-south-2":"EU (Spain)","ap-south-1":"Asia Pacific (Mumbai)","ap-south-2":"Asia Pacific (Hyderabad)","ap-southeast-1":"Asia Pacific (Singapore)","ap-southeast-2":"Asia Pacific (Sydney)","ap-southeast-3":"Asia Pacific (Jakarta)","ap-southeast-4":"Asia Pacific (Melbourne)","ap-southeast-5":"Asia Pacific (Malaysia)","ap-northeast-1":"Asia Pacific (Tokyo)","ap-northeast-2":"Asia Pacific (Seoul)","ap-northeast-3":"Asia Pacific (Osaka)","ap-east-1":"Asia Pacific (Hong Kong)","ca-central-1":"Canada (Central)","ca-west-1":"Canada West (Calgary)","sa-east-1":"South America (Sao Paulo)","me-south-1":"Middle East (Bahrain)","me-central-1":"Middle East (UAE)","af-south-1":"Africa (Cape Town)","il-central-1":"Israel (Tel Aviv)","us-gov-west-1":"AWS GovCloud (US-West)","us-gov-east-1":"AWS GovCloud (US-East)","eu-isoe-west-1":"EU ISOE West"};const a={"us-east-1":"USE1","us-east-2":"USE2","us-west-1":"USW1","us-west-2":"USW2","eu-west-1":"EUW1","eu-west-2":"EUW2","eu-west-3":"EUW3","eu-central-1":"EUC1","eu-central-2":"EUC2","eu-north-1":"EUN1","eu-south-1":"EUS1","eu-south-2":"EUS2","ap-south-1":"APS1","ap-south-2":"APS2","ap-southeast-1":"APS3","ap-southeast-2":"APS4","ap-southeast-3":"APS5","ap-southeast-4":"APS6","ap-southeast-5":"APS7","ap-northeast-1":"APN1","ap-northeast-2":"APN2","ap-northeast-3":"APN3","ap-east-1":"APE1","ca-central-1":"CAN1","ca-west-1":"CAW1","sa-east-1":"SAE1","me-south-1":"MES1","me-central-1":"MEC1","af-south-1":"AFS1","il-central-1":"ILC1","us-gov-west-1":"UGW1","us-gov-east-1":"UGE1","eu-isoe-west-1":"EIW1"};function normalizeRegion(e){const t=i[e]||e;o.Logger.logRegionNormalization(e,t);return t}function getRegionPrefix(e){return a[e]||""}},6357:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ALBCalculator=void 0;const o=n(7973);class ALBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,n){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=n}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="application"}async calculateCost(e,t,n){const i=e.properties?.Type;if(i&&i!=="application"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Application Load Balancers"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const a=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LCUUsage`}]});const d=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const h=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const m=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;if(i===null||a===null){const e=d/25;const n=h/3e3;const o=m/this.HOURS_PER_MONTH;const i=o;const a=Math.max(e,n,i);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Application Load Balancer in region ${t}`,`Would use LCU consumption: ${a.toFixed(2)} LCU/hour based on:`,` - New connections: ${d}/sec → ${e.toFixed(2)} LCU`,` - Active connections: ${h}/min → ${n.toFixed(2)} LCU`,` - Processed data: ${m} GB/month → ${i.toFixed(2)} LCU`]}}const Q=d/25;const k=h/3e3;const _=m/this.HOURS_PER_MONTH;const L=_;const U=Math.max(Q,k,L);const P=i*this.HOURS_PER_MONTH;const H=a*U*this.HOURS_PER_MONTH;const Y=P+H;return{amount:Y,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${P.toFixed(2)}/month`,`LCU consumption: ${U.toFixed(2)} LCU/hour based on:`,` - New connections: ${d}/sec → ${Q.toFixed(2)} LCU`,` - Active connections: ${h}/min → ${k.toFixed(2)} LCU`,` - Processed data: ${m} GB/month → ${L.toFixed(2)} LCU`,`LCU cost: $${a.toFixed(4)}/LCU/hour × ${U.toFixed(2)} LCU × ${this.HOURS_PER_MONTH} hours = $${H.toFixed(2)}/month`,`Total: $${Y.toFixed(2)}/month`]}}catch(e){const t=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const n=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const o=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const i=t/25;const a=n/3e3;const d=o/this.HOURS_PER_MONTH;const h=d;const m=Math.max(i,a,h);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would use LCU consumption: ${m.toFixed(2)} LCU/hour based on:`,` - New connections: ${t}/sec → ${i.toFixed(2)} LCU`,` - Active connections: ${n}/min → ${a.toFixed(2)} LCU`,` - Processed data: ${o} GB/month → ${h.toFixed(2)} LCU`]}}}}t.ALBCalculator=ALBCalculator},3220:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.APIGatewayCalculator=void 0;const o=n(7973);class APIGatewayCalculator{supports(e){return e==="AWS::ApiGateway::RestApi"||e==="AWS::ApiGatewayV2::Api"}async calculateCost(e,t,n){const o=e.type==="AWS::ApiGatewayV2::Api";const i=o?e.properties.ProtocolType:"REST";if(i==="WEBSOCKET"){return this.calculateWebSocketCost(t,n)}else if(i==="HTTP"){return this.calculateHttpApiCost(t,n)}else{return this.calculateRestApiCost(t,n)}}async calculateRestApiCost(e,t){try{const n=1e6;const i=(0,o.getRegionPrefix)(e);const a=i?`${i}-ApiGatewayRequest`:"ApiGatewayRequest";const d=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:a}]});if(d===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway REST API"]}}const h=n/1e6*d;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} REST API requests per month`,"REST API type","Does not include data transfer, caching, or other features","First 333M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateHttpApiCost(e,t){try{const n=1e6;const i=(0,o.getRegionPrefix)(e);const a=i?`${i}-ApiGatewayHttpRequest`:"ApiGatewayHttpRequest";const d=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:a}]});if(d===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway HTTP API"]}}const h=n/1e6*d;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} HTTP API requests per month`,"HTTP API type","Does not include data transfer costs","First 300M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateWebSocketCost(e,t){try{const n=1e6;const i=1e5;const a=(0,o.getRegionPrefix)(e);const d=a?`${a}-ApiGatewayMessage`:"ApiGatewayMessage";const h=a?`${a}-ApiGatewayMinute`:"ApiGatewayMinute";const m=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:d}]});const Q=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:h}]});if(m===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway WebSocket API"]}}const k=n/1e6*m;const _=i*Q;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} WebSocket messages per month`,`Assumes ${i.toLocaleString()} connection minutes per month`,"WebSocket API type","Does not include data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.APIGatewayCalculator=APIGatewayCalculator},288:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AuroraServerlessCalculator=void 0;const o=n(7973);class AuroraServerlessCalculator{customMinACU;customMaxACU;customStorageGB;HOURS_PER_MONTH=730;DEFAULT_MIN_ACU=.5;DEFAULT_MAX_ACU=16;DEFAULT_STORAGE_GB=100;DEFAULT_MONTHLY_IO_REQUESTS=1e8;FALLBACK_ACU_PRICE_V2=.12;FALLBACK_ACU_PRICE_V1=.06;STORAGE_PRICE_PER_GB=.1;IO_PRICE_PER_MILLION=.2;constructor(e,t,n){this.customMinACU=e;this.customMaxACU=t;this.customStorageGB=n}supports(e){return e==="AWS::RDS::DBCluster"}canCalculate(e){const t=e.properties||{};return t.EngineMode==="serverless"||t.ServerlessV2ScalingConfiguration!==undefined}async calculateCost(e,t,n){try{const i=e.properties||{};const a=i.ServerlessV2ScalingConfiguration;const d=a!==undefined;const h=this.customMinACU??a?.MinCapacity??this.DEFAULT_MIN_ACU;const m=this.customMaxACU??a?.MaxCapacity??this.DEFAULT_MAX_ACU;const Q=(h+m)/2;const k=d?this.FALLBACK_ACU_PRICE_V2:this.FALLBACK_ACU_PRICE_V1;const _=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"databaseEngine",value:"Aurora"},{field:"productFamily",value:"ServerlessV2"}]});const L=_??k;const U=_===null;const P=Q*this.HOURS_PER_MONTH*L;const H=this.customStorageGB??this.DEFAULT_STORAGE_GB;const Y=H*this.STORAGE_PRICE_PER_GB;let V=0;if(d){V=this.DEFAULT_MONTHLY_IO_REQUESTS/1e6*this.IO_PRICE_PER_MILLION}const J=P+Y+V;const W=d?"v2":"v1";const j=[`Aurora Serverless ${W}: ${Q} avg ACUs × $${L.toFixed(2)}/ACU-hour × ${this.HOURS_PER_MONTH}h = $${P.toFixed(2)}/month`,`Storage: ${H} GB × $${this.STORAGE_PRICE_PER_GB}/GB = $${Y.toFixed(2)}/month`];if(d){j.push(`I/O: ${this.DEFAULT_MONTHLY_IO_REQUESTS/1e6}M requests × $${this.IO_PRICE_PER_MILLION}/M = $${V.toFixed(2)}/month`)}if(U){j.push(`Using fallback pricing (API data not available for region ${t})`)}j.push(`ACU range: ${h}–${m} (estimated average: ${Q})`);return{amount:J,currency:"USD",confidence:U?"medium":"medium",assumptions:j}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.AuroraServerlessCalculator=AuroraServerlessCalculator},2325:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AutoScalingGroupCalculator=void 0;const o=n(7973);class AutoScalingGroupCalculator{supports(e){return e==="AWS::AutoScaling::AutoScalingGroup"}async calculateCost(e,t,n,i){const a=Number(e.properties.DesiredCapacity)||1;const d=this.resolveInstanceType(e,i);if(!d){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Could not determine instance type from LaunchConfiguration or LaunchTemplate"]}}try{const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:d},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${d} in region ${t}`]}}const i=730;const h=e*i*a;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`${a} instance(s) of type ${d}`,`Assumes ${i} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing","Does not include EBS volumes or data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}resolveInstanceType(e,t){const n=e.properties.LaunchConfigurationName;if(n){const e=this.resolveReference(n,t);if(e&&e.type==="AWS::AutoScaling::LaunchConfiguration"){const t=e.properties.InstanceType;if(t)return t}}const o=e.properties.LaunchTemplate;if(o){const e=this.resolveInstanceTypeFromLaunchTemplate(o,t);if(e)return e}const i=e.properties.MixedInstancesPolicy;if(i){const e=i.LaunchTemplate;if(e){const n=e.LaunchTemplateSpecification;if(n){const e=this.resolveInstanceTypeFromLaunchTemplate(n,t);if(e)return e}}}return null}resolveInstanceTypeFromLaunchTemplate(e,t){const n=e.LaunchTemplateId||e.LaunchTemplateName;if(!n)return null;const o=this.resolveReference(n,t);if(o&&o.type==="AWS::EC2::LaunchTemplate"){const e=o.properties.LaunchTemplateData;if(e){return e.InstanceType||null}}return null}resolveReference(e,t){if(!t)return null;if(typeof e==="object"&&e!==null&&"Ref"in e){const n=e.Ref;return t.find((e=>e.logicalId===n))||null}if(typeof e==="string"){return t.find((t=>t.logicalId===e))||null}return null}}t.AutoScalingGroupCalculator=AutoScalingGroupCalculator},9838:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudFrontCalculator=void 0;const o=n(7973);class CloudFrontCalculator{dataTransferGB;requests;DEFAULT_DATA_TRANSFER_GB=100;DEFAULT_REQUESTS=1e6;constructor(e,t){this.dataTransferGB=e;this.requests=t}supports(e){return e==="AWS::CloudFront::Distribution"}async calculateCost(e,t,n){const i=this.dataTransferGB??this.DEFAULT_DATA_TRANSFER_GB;const a=this.requests??this.DEFAULT_REQUESTS;try{const e=await n.getPrice({serviceCode:"AmazonCloudFront",region:(0,o.normalizeRegion)(t),filters:[{field:"transferType",value:"CloudFront to Internet"}]});const d=await n.getPrice({serviceCode:"AmazonCloudFront",region:(0,o.normalizeRegion)(t),filters:[{field:"requestType",value:"HTTP-Requests"}]});if(e===null||d===null){const e=[`Pricing data not available for CloudFront in region ${t}`,`Would assume ${i} GB of data transfer out to internet`,`Would assume ${a.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){e.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){e.push(`Using custom request count assumption: ${a.toLocaleString()} requests from configuration`)}return{amount:0,currency:"USD",confidence:"unknown",assumptions:e}}const h=i*e;const m=a/1e4*d;const Q=h+m;const k=[`Assumes ${i} GB of data transfer out to internet`,`Assumes ${a.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){k.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){k.push(`Using custom request count assumption: ${a.toLocaleString()} requests from configuration`)}return{amount:Q,currency:"USD",confidence:"medium",assumptions:k}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudFrontCalculator=CloudFrontCalculator},2634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudWatchDashboardCalculator=t.CloudWatchAlarmCalculator=t.CloudWatchLogsCalculator=void 0;const o=n(7973);const i=n(7461);class CloudWatchLogsCalculator{customMonthlyIngestionGB;DEFAULT_MONTHLY_INGESTION_GB=10;FALLBACK_INGESTION_PRICE_PER_GB=.5;FALLBACK_STORAGE_PRICE_PER_GB=.03;constructor(e){this.customMonthlyIngestionGB=e}supports(e){return e==="AWS::Logs::LogGroup"}async calculateCost(e,t,n){const a=this.customMonthlyIngestionGB??this.DEFAULT_MONTHLY_INGESTION_GB;const d=Number(e.properties?.RetentionInDays??0);i.Logger.debug("CloudWatch Logs pricing calculation started",{region:t,logicalId:e.logicalId,monthlyIngestionGB:a,retentionDays:d});try{const e=(0,o.normalizeRegion)(t);const h=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Data Payload"},{field:"group",value:"Ingestion"}]});const m=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Storage Snapshot"}]});i.Logger.debug("CloudWatch Logs prices retrieved",{ingestionPrice:h,storagePrice:m,region:e});if(h===null&&m===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for CloudWatch Logs in region ${t}`]}}const Q=h??this.FALLBACK_INGESTION_PRICE_PER_GB;const k=m??this.FALLBACK_STORAGE_PRICE_PER_GB;const _=h===null||m===null;const L=a*Q;const U=d===0?365:d;const P=a*U/30;const H=P*k;const Y=L+H;const V=_?"low":"medium";i.Logger.debug("CloudWatch Logs cost calculated",{ingestionCost:L,storageCost:H,totalCost:Y,confidence:V});const J=[];if(_){if(h===null){J.push("Using fallback ingestion pricing (API unavailable)")}if(m===null){J.push("Using fallback storage pricing (API unavailable)")}}J.push(`Log ingestion: ${a}GB × $${Q.toFixed(2)}/GB = $${L.toFixed(2)}/month`);const W=d===0?"never expire (estimated as 365 days)":`${d} days`;J.push(`Log storage: ${P.toFixed(0)}GB avg (retention: ${W}) × $${k.toFixed(2)}/GB = $${H.toFixed(2)}/month`);J.push(`Total: $${Y.toFixed(2)}/month`);if(this.customMonthlyIngestionGB!==undefined){J.push("Using custom log ingestion volume from configuration")}J.push("Does not include Logs Insights query costs");return{amount:Y,currency:"USD",confidence:V,assumptions:J}}catch(e){i.Logger.debug("CloudWatch Logs pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Logs cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchLogsCalculator=CloudWatchLogsCalculator;class CloudWatchAlarmCalculator{FALLBACK_STANDARD_ALARM_PRICE=.1;FALLBACK_HIGH_RES_ALARM_PRICE=.3;supports(e){return e==="AWS::CloudWatch::Alarm"}async calculateCost(e,t,n){const a=Number(e.properties?.Period??60);const d=a<60;const h=e.properties?.Metrics;const m=Array.isArray(h)?h.length:1;i.Logger.debug("CloudWatch Alarm pricing calculation started",{region:t,logicalId:e.logicalId,period:a,isHighResolution:d});try{const e=(0,o.normalizeRegion)(t);const a=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Alarm"}]});i.Logger.debug("CloudWatch Alarm price retrieved",{alarmPrice:a,region:e});if(a===null){const e=d?this.FALLBACK_HIGH_RES_ALARM_PRICE:this.FALLBACK_STANDARD_ALARM_PRICE;const t=e*m;const n=d?"high-resolution":"standard";return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",`CloudWatch ${n} alarm: ${m} metric(s) × $${e.toFixed(2)} = $${t.toFixed(2)}/month`]}}const h=d?a*3:a;const Q=h*m;const k=d?"high-resolution":"standard";i.Logger.debug("CloudWatch Alarm cost calculated",{effectivePrice:h,totalCost:Q,resolution:k});return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`CloudWatch ${k} alarm: ${m} metric(s) × $${h.toFixed(2)} = $${Q.toFixed(2)}/month`]}}catch(e){i.Logger.debug("CloudWatch Alarm pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Alarm cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchAlarmCalculator=CloudWatchAlarmCalculator;class CloudWatchDashboardCalculator{FALLBACK_DASHBOARD_PRICE=3;supports(e){return e==="AWS::CloudWatch::Dashboard"}async calculateCost(e,t,n){i.Logger.debug("CloudWatch Dashboard pricing calculation started",{region:t,logicalId:e.logicalId});try{const e=(0,o.normalizeRegion)(t);const a=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Dashboard"}]});i.Logger.debug("CloudWatch Dashboard price retrieved",{dashboardPrice:a,region:e});const d=a??this.FALLBACK_DASHBOARD_PRICE;const h=a===null;const m=[];if(h){m.push("Using fallback pricing (API unavailable)")}m.push(`CloudWatch dashboard: $${d.toFixed(2)}/month`);m.push("First 3 dashboards with up to 50 metrics are free (not deducted)");return{amount:d,currency:"USD",confidence:h?"low":"high",assumptions:m}}catch(e){i.Logger.debug("CloudWatch Dashboard pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Dashboard cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchDashboardCalculator=CloudWatchDashboardCalculator},4530:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DynamoDBCalculator=void 0;const o=n(7973);class DynamoDBCalculator{config;constructor(e){this.config=e}supports(e){return e==="AWS::DynamoDB::Table"}async calculateCost(e,t,n){const o=e.properties.BillingMode||"PROVISIONED";const i=e.properties.ProvisionedThroughput!==undefined;if(i||o==="PROVISIONED"){return this.calculateProvisionedCost(e,t,n)}else{return this.calculateOnDemandCost(e,t,n)}}getUsageAssumptions(){return{readRequests:this.config?.usageAssumptions?.dynamodb?.readRequestsPerMonth??1e7,writeRequests:this.config?.usageAssumptions?.dynamodb?.writeRequestsPerMonth??1e6}}async calculateOnDemandCost(e,t,n){try{const{readRequests:e,writeRequests:i}=this.getUsageAssumptions();const a=(0,o.normalizeRegion)(t);const d=await n.getPrice({serviceCode:"AmazonDynamoDB",region:a,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-ReadUnits",type:"TERM_MATCH"}]});const h=await n.getPrice({serviceCode:"AmazonDynamoDB",region:a,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-WriteUnits",type:"TERM_MATCH"}]});if(d===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB on-demand mode","On-demand billing mode"]}}const m=e*d;const Q=i*h;const k=m+Q;return{amount:k,currency:"USD",confidence:"medium",assumptions:[`Assumes ${e.toLocaleString()} read requests per month`,`Assumes ${i.toLocaleString()} write requests per month`,"On-demand billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"On-demand billing mode"]}}}async calculateProvisionedCost(e,t,n){try{const i=e.properties.ProvisionedThroughput;const a=i?.ReadCapacityUnits||5;const d=i?.WriteCapacityUnits||5;const h=(0,o.normalizeRegion)(t);const m=await n.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"usagetype",value:`${t}-ReadCapacityUnit-Hrs`,type:"TERM_MATCH"}]});const Q=await n.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"usagetype",value:`${t}-WriteCapacityUnit-Hrs`,type:"TERM_MATCH"}]});if(m===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB provisioned mode","Provisioned billing mode"]}}const k=730;const _=a*k*m;const L=d*k*Q;const U=_+L;return{amount:U,currency:"USD",confidence:"high",assumptions:[`${a} provisioned read capacity units`,`${d} provisioned write capacity units`,`Assumes ${k} hours per month (24/7 operation)`,"Provisioned billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"Provisioned billing mode"]}}}}t.DynamoDBCalculator=DynamoDBCalculator},2970:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EC2Calculator=void 0;const o=n(7973);class EC2Calculator{supports(e){return e==="AWS::EC2::Instance"}async calculateCost(e,t,n){const i=e.properties.InstanceType;if(!i){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Instance type not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${i} in region ${t}`]}}const a=730;const d=e*a;return{amount:d,currency:"USD",confidence:"high",assumptions:[`Assumes ${a} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EC2Calculator=EC2Calculator},2665:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ECSCalculator=void 0;const o=n(7973);class ECSCalculator{supports(e){return e==="AWS::ECS::Service"}async calculateCost(e,t,n){const o=e.properties.DesiredCount||1;const i=e.properties.LaunchType||"FARGATE";if(i==="FARGATE"){return this.calculateFargateCost(e,o,t,n)}else if(i==="EC2"){return this.calculateEC2Cost(o)}else{return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported launch type: ${i}`]}}}async calculateFargateCost(e,t,n,i){try{const e=.25;const a=.5;const d=(0,o.getRegionPrefix)(n);if(!d){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Region prefix not found for ${n}`,"Unable to query Fargate pricing"]}}const h=await i.getPrice({serviceCode:"AmazonECS",region:(0,o.normalizeRegion)(n),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:`${d}-Fargate-vCPU-Hours:perCPU`}]});const m=await i.getPrice({serviceCode:"AmazonECS",region:(0,o.normalizeRegion)(n),filters:[{field:"usagetype",value:`${d}-Fargate-GB-Hours`}]});if(h===null||m===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for ECS Fargate"]}}const Q=730;const k=e*h*Q*t;const _=a*m*Q*t;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`${t} task(s) running`,`Assumes ${e} vCPU per task`,`Assumes ${a} GB memory per task`,`Assumes ${Q} hours per month (24/7 operation)`,"Fargate launch type","Does not include data transfer or storage costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}calculateEC2Cost(e){return{amount:0,currency:"USD",confidence:"low",assumptions:[`${e} task(s) running on EC2 launch type`,"EC2 launch type costs depend on underlying EC2 instances","Refer to EC2 instance costs for actual pricing","Does not include ECS task-specific costs (minimal for EC2 launch type)"]}}}t.ECSCalculator=ECSCalculator},8900:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EFSCalculator=void 0;const o=n(7973);const i=n(7461);class EFSCalculator{customStorageSizeGb;customInfrequentAccessPercentage;DEFAULT_STORAGE_SIZE_GB=100;DEFAULT_IA_PERCENTAGE=0;FALLBACK_STANDARD_PRICE=.3;FALLBACK_IA_STORAGE_PRICE=.016;FALLBACK_IA_REQUEST_PRICE=.01;FALLBACK_PROVISIONED_THROUGHPUT_PRICE=6;constructor(e,t){this.customStorageSizeGb=e;this.customInfrequentAccessPercentage=t}supports(e){return e==="AWS::EFS::FileSystem"}async calculateCost(e,t,n){try{if(!e.properties){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Resource properties are undefined"]}}const a=(0,o.getRegionPrefix)(t);const d=this.customStorageSizeGb??this.DEFAULT_STORAGE_SIZE_GB;const h=this.customInfrequentAccessPercentage??this.DEFAULT_IA_PERCENTAGE;i.Logger.debug("EFS pricing calculation started",{region:t,regionPrefix:a,normalizedRegion:(0,o.normalizeRegion)(t),storageSizeGb:d,iaPercentage:h});const m=e.properties?.LifecyclePolicies;const Q=m?.some((e=>e.TransitionToIA!==undefined))??false;const k=e.properties?.ThroughputMode;const _=e.properties?.ProvisionedThroughputInMibps;const L=k==="provisioned"&&_!==undefined;const U=Q?h:0;const P=d*(1-U/100);const H=d*(U/100);const Y=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-TimedStorage-ByteHrs`}]});i.Logger.debug("EFS Standard storage price retrieved",{standardStoragePrice:Y,usageType:`${a}-TimedStorage-ByteHrs`});let V=null;let J=null;if(Q&&h>0){V=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-IATimedStorage-ByteHrs`}]});J=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-IARequests-Bytes`}]});i.Logger.debug("EFS IA storage prices retrieved",{iaStoragePrice:V,iaRequestPrice:J})}let W=null;if(L){W=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Provisioned Throughput"},{field:"usagetype",value:`${a}-ProvisionedTP-MiBpsHrs`}]});i.Logger.debug("EFS Provisioned Throughput price retrieved",{provisionedThroughputPrice:W,usageType:`${a}-ProvisionedTP-MiBpsHrs`})}const j=[];let K=0;let X="medium";const Z=Y??this.FALLBACK_STANDARD_PRICE;const ee=P*Z;if(Y===null){j.push("Using fallback Standard storage pricing (API unavailable)");X="low"}K+=ee;j.push(`Standard storage: ${P.toFixed(2)} GB × $${Z.toFixed(4)}/GB = $${ee.toFixed(2)}/month`);if(Q&&h>0){const e=V??this.FALLBACK_IA_STORAGE_PRICE;const t=H*e;if(V===null){j.push("Using fallback Infrequent Access storage pricing (API unavailable)");X="low"}K+=t;j.push(`Infrequent Access storage: ${H.toFixed(2)} GB × $${e.toFixed(4)}/GB = $${t.toFixed(2)}/month`);const n=H*.1;const o=J??this.FALLBACK_IA_REQUEST_PRICE;const i=n*o;if(J===null&&h>0){j.push("Using fallback Infrequent Access request pricing (API unavailable)");X="low"}K+=i;j.push(`IA requests (estimated 10% access): ${n.toFixed(2)} GB × $${o.toFixed(4)}/GB = $${i.toFixed(2)}/month`)}if(L&&_!==undefined){const e=W??this.FALLBACK_PROVISIONED_THROUGHPUT_PRICE;const t=_*e;if(W===null){j.push("Using fallback Provisioned Throughput pricing (API unavailable)");X="low"}K+=t;j.push(`Provisioned Throughput: ${_} MB/s × $${e.toFixed(2)}/MB/s = $${t.toFixed(2)}/month`)}j.push(`Total storage: ${d} GB`);if(this.customStorageSizeGb!==undefined){j.push("Using custom storage size assumption from configuration")}if(Q){j.push(`Lifecycle policy detected: ${U}% in Infrequent Access`);if(this.customInfrequentAccessPercentage!==undefined){j.push("Using custom IA percentage assumption from configuration")}}if(k){j.push(`Throughput mode: ${k}`)}j.push(`Total: $${K.toFixed(2)}/month`);i.Logger.debug("EFS cost calculated",{standardStorageCost:ee,totalCost:K,confidence:X});return{amount:K,currency:"USD",confidence:X,assumptions:j}}catch(e){i.Logger.debug("EFS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EFSCalculator=EFSCalculator},6209:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EKSCalculator=void 0;const o=n(7973);class EKSCalculator{HOURS_PER_MONTH=730;FALLBACK_CONTROL_PLANE_HOURLY=.1;supports(e){return e==="AWS::EKS::Cluster"}async calculateCost(e,t,n){try{const e=await n.getPrice({serviceCode:"AmazonEKS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:"AmazonEKS-Hours:perCluster"}]});const i=e??this.FALLBACK_CONTROL_PLANE_HOURLY;const a=i*this.HOURS_PER_MONTH;const d=e===null;return{amount:a,currency:"USD",confidence:d?"medium":"high",assumptions:[`EKS control plane: $${i.toFixed(2)}/hour × ${this.HOURS_PER_MONTH} hours = $${a.toFixed(2)}/month`,...d?[`Using fallback pricing (API data not available for region ${t})`]:[],"Worker nodes (EC2/Fargate) are calculated separately"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EKSCalculator=EKSCalculator},2564:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElastiCacheCalculator=void 0;const o=n(7973);class ElastiCacheCalculator{supports(e){return e==="AWS::ElastiCache::CacheCluster"}async calculateCost(e,t,n){const i=e.properties.CacheNodeType;const a=e.properties.Engine;const d=e.properties.NumCacheNodes||1;const h=e.properties.AZMode;if(!i||!a){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Cache node type or engine not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonElastiCache",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"cacheEngine",value:this.normalizeEngine(a)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for node type ${i} with engine ${a} in region ${t}`]}}const m=730;const Q=e*m;let k=Q*d;const _=[`Assumes ${m} hours per month (24/7 operation)`,`Node type: ${i}`,`Engine: ${a}`,`Number of cache nodes: ${d}`,`Per-node monthly cost: $${Q.toFixed(2)}`];if(h==="cross-az"){k*=2;_.push("Multi-AZ deployment with replica nodes (cost doubled)")}else{_.push("Single-AZ deployment")}return{amount:k,currency:"USD",confidence:"high",assumptions:_}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={redis:"Redis",memcached:"Memcached"};return t[e.toLowerCase()]||e}}t.ElastiCacheCalculator=ElastiCacheCalculator},9402:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KinesisCalculator=void 0;const o=n(7973);class KinesisCalculator{customShardCount;customIngestionGB;customRetrievalGB;customFirehoseGB;customKPUs;HOURS_PER_MONTH=730;DEFAULT_SHARD_COUNT=2;FALLBACK_SHARD_PRICE=.015;DEFAULT_INGESTION_GB=1e3;DEFAULT_RETRIEVAL_GB=2e3;FALLBACK_INGESTION_PRICE=.04;FALLBACK_RETRIEVAL_PRICE=.015;DEFAULT_FIREHOSE_GB=1e3;FALLBACK_FIREHOSE_PRICE=.029;DEFAULT_KPUS=2;FALLBACK_KPU_PRICE=.11;constructor(e,t,n,o,i){this.customShardCount=e;this.customIngestionGB=t;this.customRetrievalGB=n;this.customFirehoseGB=o;this.customKPUs=i}supports(e){return e==="AWS::Kinesis::Stream"||e==="AWS::KinesisFirehose::DeliveryStream"||e==="AWS::KinesisAnalyticsV2::Application"}async calculateCost(e,t,n){try{switch(e.type){case"AWS::Kinesis::Stream":return await this.calculateDataStreamCost(e,t,n);case"AWS::KinesisFirehose::DeliveryStream":return this.calculateFirehoseCost();case"AWS::KinesisAnalyticsV2::Application":return this.calculateAnalyticsCost();default:return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported Kinesis resource type: ${e.type}`]}}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateDataStreamCost(e,t,n){const i=e.properties||{};const a=i.StreamModeDetails;const d=a?.StreamMode||"PROVISIONED";if(d==="ON_DEMAND"){return this.calculateOnDemandStreamCost()}const h=this.customShardCount??i.ShardCount??this.DEFAULT_SHARD_COUNT;const m=await n.getPrice({serviceCode:"AmazonKinesis",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Kinesis Streams"},{field:"usagetype",value:"shardHour-Provisioned"}]});const Q=m??this.FALLBACK_SHARD_PRICE;const k=h*Q*this.HOURS_PER_MONTH;return{amount:k,currency:"USD",confidence:m!==null?"high":"medium",assumptions:[`Provisioned mode: ${h} shards × $${Q.toFixed(4)}/shard-hour × ${this.HOURS_PER_MONTH}h = $${k.toFixed(2)}/month`,...m===null?[`Using fallback pricing (API data not available for region ${t})`]:[]]}}calculateOnDemandStreamCost(){const e=this.customIngestionGB??this.DEFAULT_INGESTION_GB;const t=this.customRetrievalGB??this.DEFAULT_RETRIEVAL_GB;const n=e*this.FALLBACK_INGESTION_PRICE;const o=t*this.FALLBACK_RETRIEVAL_PRICE;const i=n+o;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`On-demand mode`,`Ingestion: ${e} GB × $${this.FALLBACK_INGESTION_PRICE}/GB = $${n.toFixed(2)}/month`,`Retrieval: ${t} GB × $${this.FALLBACK_RETRIEVAL_PRICE}/GB = $${o.toFixed(2)}/month`]}}calculateFirehoseCost(){const e=this.customFirehoseGB??this.DEFAULT_FIREHOSE_GB;const t=e*this.FALLBACK_FIREHOSE_PRICE;return{amount:t,currency:"USD",confidence:"medium",assumptions:[`Firehose ingestion: ${e} GB × $${this.FALLBACK_FIREHOSE_PRICE}/GB = $${t.toFixed(2)}/month`,"Does not include format conversion or VPC delivery costs"]}}calculateAnalyticsCost(){const e=this.customKPUs??this.DEFAULT_KPUS;const t=e*this.FALLBACK_KPU_PRICE*this.HOURS_PER_MONTH;return{amount:t,currency:"USD",confidence:"medium",assumptions:[`Kinesis Analytics: ${e} KPUs × $${this.FALLBACK_KPU_PRICE}/KPU-hour × ${this.HOURS_PER_MONTH}h = $${t.toFixed(2)}/month`,"1 KPU = 1 vCPU + 4 GB memory"]}}}t.KinesisCalculator=KinesisCalculator},7653:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LambdaCalculator=void 0;const o=n(7973);class LambdaCalculator{customInvocationsPerMonth;customAverageDurationMs;DEFAULT_INVOCATIONS=1e6;DEFAULT_DURATION_MS=1e3;DEFAULT_MEMORY_MB=128;FALLBACK_REQUEST_PRICE=.2;FALLBACK_COMPUTE_PRICE=166667e-10;constructor(e,t){this.customInvocationsPerMonth=e;this.customAverageDurationMs=t}supports(e){return e==="AWS::Lambda::Function"}async calculateCost(e,t,n){const i=e.properties.MemorySize||this.DEFAULT_MEMORY_MB;const a=this.customInvocationsPerMonth??this.DEFAULT_INVOCATIONS;const d=this.customAverageDurationMs??this.DEFAULT_DURATION_MS;try{const e=await n.getPrice({serviceCode:"AWSLambda",region:(0,o.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Requests"}]});const h=await n.getPrice({serviceCode:"AWSLambda",region:(0,o.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Duration"}]});const m=[`Assumes ${a.toLocaleString()} invocations per month`,`Assumes ${d}ms average execution time`,`Assumes ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){m.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){m.push("Using custom duration assumption from configuration")}if(e===null||h===null){const n=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(n){const t=e??this.FALLBACK_REQUEST_PRICE;const n=h??this.FALLBACK_COMPUTE_PRICE;const o=a/1e6*t;const Q=i/1024*(d/1e3)*a;const k=Q*n;const _=o+k;return{amount:_,currency:"USD",confidence:"low",assumptions:[e===null?"Using fallback request pricing (API unavailable)":"",h===null?"Using fallback compute pricing (API unavailable)":"",...m].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Lambda in region ${t}`,...m]}}const Q=a/1e6*e;const k=i/1024*(d/1e3)*a;const _=k*h;const L=Q+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:m}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would assume ${a.toLocaleString()} invocations per month`,`Would assume ${d}ms average execution time`,`Would assume ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){t.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){t.push("Using custom duration assumption from configuration")}const n=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(n){const e=a/1e6*this.FALLBACK_REQUEST_PRICE;const n=i/1024*(d/1e3)*a;const o=n*this.FALLBACK_COMPUTE_PRICE;const h=e+o;return{amount:h,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}}t.LambdaCalculator=LambdaCalculator},231:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LaunchTemplateCalculator=void 0;const o=n(7973);class LaunchTemplateCalculator{static DEFAULT_VOLUME_SIZE_GB=8;static DEFAULT_VOLUME_TYPE="gp3";static MONTHLY_HOURS=730;supports(e){return e==="AWS::EC2::LaunchTemplate"}async calculateCost(e,t,n){const o=this.extractConfig(e);if(!o.instanceType){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["LaunchTemplate does not specify an instance type","LaunchTemplates have no direct cost; costs are incurred when instances are launched"]}}try{const e=await this.calculateInstanceCost(o.instanceType,t,n);if(e===0){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${o.instanceType} in region ${t}`]}}const i=await this.calculateStorageCost(o.ebsVolumes,t,n);const a=e+i;const d=["LaunchTemplates have no direct cost; this represents per-instance cost when used",`Instance type: ${o.instanceType}`,`Assumes ${LaunchTemplateCalculator.MONTHLY_HOURS} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"];if(o.ebsVolumes.length>0){const e=o.ebsVolumes.map((e=>`${e.deviceName}: ${e.volumeSizeGB}GB ${e.volumeType}`));d.push(`EBS volumes: ${e.join(", ")}`)}const h=o.ebsVolumes.some((e=>(e.volumeType==="io1"||e.volumeType==="io2")&&e.iops));if(h){d.push("Provisioned IOPS costs for io1/io2 volumes are not included")}const m=o.ebsVolumes.some((e=>e.volumeType==="gp3"&&e.throughput&&e.throughput>125));if(m){d.push("Additional throughput costs for gp3 volumes are not included")}if(o.imageId){d.push(`AMI: ${o.imageId}`)}return{amount:a,currency:"USD",confidence:"low",assumptions:d}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}extractConfig(e){const t=e.properties.LaunchTemplateData;if(!t){return{instanceType:null,imageId:null,ebsVolumes:[]}}const n=t.InstanceType||null;const o=t.ImageId||null;const i=this.extractEbsVolumes(t);return{instanceType:n,imageId:o,ebsVolumes:i}}extractEbsVolumes(e){const t=e.BlockDeviceMappings;if(!t||!Array.isArray(t)){return[]}return t.filter((e=>e.Ebs!==undefined)).map((e=>{const t=e.Ebs;return{deviceName:e.DeviceName||"/dev/xvda",volumeType:t.VolumeType||LaunchTemplateCalculator.DEFAULT_VOLUME_TYPE,volumeSizeGB:t.VolumeSize||LaunchTemplateCalculator.DEFAULT_VOLUME_SIZE_GB,iops:t.Iops,throughput:t.Throughput,deleteOnTermination:t.DeleteOnTermination??true}}))}async calculateInstanceCost(e,t,n){const i=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:e},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(i===null){return 0}return i*LaunchTemplateCalculator.MONTHLY_HOURS}async calculateStorageCost(e,t,n){if(e.length===0){return 0}let i=0;for(const a of e){const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"volumeApiName",value:a.volumeType.toLowerCase()}]});if(e!==null){i+=e*a.volumeSizeGB}}return i}}t.LaunchTemplateCalculator=LaunchTemplateCalculator},8680:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NLBCalculator=void 0;const o=n(7973);class NLBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,n){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=n}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="network"}async calculateCost(e,t,n){const i=e.properties?.Type;if(i&&i!=="network"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Network Load Balancers"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const a=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LCUUsage`}]});if(i===null||a===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Network Load Balancer in region ${t}`]}}const d=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const h=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const m=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const Q=d/800;const k=h/1e5;const _=m/this.HOURS_PER_MONTH;const L=_;const U=Math.max(Q,k,L);const P=i*this.HOURS_PER_MONTH;const H=a*U*this.HOURS_PER_MONTH;const Y=P+H;return{amount:Y,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${P.toFixed(2)}/month`,`NLCU consumption: ${U.toFixed(2)} NLCU/hour based on:`,` - New connections: ${d}/sec → ${Q.toFixed(2)} NLCU`,` - Active connections: ${h}/min → ${k.toFixed(2)} NLCU`,` - Processed data: ${m} GB/month → ${L.toFixed(2)} NLCU`,`NLCU cost: $${a.toFixed(4)}/NLCU/hour × ${U.toFixed(2)} NLCU × ${this.HOURS_PER_MONTH} hours = $${H.toFixed(2)}/month`,`Total: $${Y.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NLBCalculator=NLBCalculator},1597:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NatGatewayCalculator=void 0;const o=n(7973);const i=n(7461);class NatGatewayCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::NatGateway"}async calculateCost(e,t,n){try{const e=(0,o.getRegionPrefix)(t);i.Logger.debug("NAT Gateway pricing calculation started",{region:t,regionPrefix:e,normalizedRegion:(0,o.normalizeRegion)(t),dataProcessedGB:this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB});const a=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Hours`}]});i.Logger.debug("NAT Gateway hourly rate retrieved",{hourlyRate:a,usageType:`${e}-RegionalNatGateway-Hours`});const d=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Bytes`}]});i.Logger.debug("NAT Gateway data processing rate retrieved",{dataProcessingRate:d,usageType:`${e}-RegionalNatGateway-Bytes`});if(a===null||d===null){const n=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const o=[`Pricing data not available for NAT Gateway in region ${t}`,`Would assume ${n} GB of data processing per month`,`Would assume ${this.HOURS_PER_MONTH} hours per month`];if(this.customDataProcessedGB!==undefined){o.push("Using custom data processing assumption from configuration")}i.Logger.debug("NAT Gateway pricing not available",{region:t,regionPrefix:e,hourlyRateAvailable:a!==null,dataProcessingRateAvailable:d!==null});return{amount:0,currency:"USD",confidence:"unknown",assumptions:o}}const h=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const m=a*this.HOURS_PER_MONTH;const Q=d*h;const k=m+Q;i.Logger.debug("NAT Gateway cost calculated",{hourlyRate:a,dataProcessingRate:d,dataProcessedGB:h,hourlyCost:m,dataProcessingCost:Q,totalCost:k});return{amount:k,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${a.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${m.toFixed(2)}/month`,`Data processing: $${d.toFixed(4)}/GB × ${h} GB = $${Q.toFixed(2)}/month`,`Total: $${k.toFixed(2)}/month`]}}catch(e){i.Logger.debug("NAT Gateway pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NatGatewayCalculator=NatGatewayCalculator},779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RDSCalculator=void 0;const o=n(7973);class RDSCalculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::RDS::DBInstance"}async calculateCost(e,t,n){const i=e.properties.DBInstanceClass;const a=e.properties.Engine;if(!i||!a){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["DB instance class or engine not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"databaseEngine",value:this.normalizeEngine(a)},{field:"deploymentOption",value:"Single-AZ"}]});const d=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"volumeType",value:"General Purpose"},{field:"databaseEngine",value:this.normalizeEngine(a)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance class ${i} in region ${t}`]}}const h=730;const m=e*h;const Q=(d||0)*this.DEFAULT_STORAGE_GB;const k=m+Q;return{amount:k,currency:"USD",confidence:"high",assumptions:[`Assumes ${h} hours per month (24/7 operation)`,`Assumes ${this.DEFAULT_STORAGE_GB} GB of General Purpose (gp2) storage`,"Assumes Single-AZ deployment"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={mysql:"MySQL",postgres:"PostgreSQL",mariadb:"MariaDB","oracle-se2":"Oracle","sqlserver-ex":"SQL Server","aurora-mysql":"Aurora MySQL","aurora-postgresql":"Aurora PostgreSQL"};return t[e.toLowerCase()]||e}}t.RDSCalculator=RDSCalculator},4885:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Route53Calculator=void 0;class Route53Calculator{customMonthlyQueries;HOSTED_ZONE_PRICE=.5;BASIC_HEALTH_CHECK_PRICE=.5;HTTPS_HEALTH_CHECK_PRICE=1;STANDARD_QUERY_PRICE_PER_MILLION=.4;LATENCY_QUERY_PRICE_PER_MILLION=.6;GEO_QUERY_PRICE_PER_MILLION=.7;DEFAULT_MONTHLY_QUERIES=1e6;constructor(e){this.customMonthlyQueries=e}supports(e){return e==="AWS::Route53::HostedZone"||e==="AWS::Route53::HealthCheck"||e==="AWS::Route53::RecordSet"}async calculateCost(e,t,n){switch(e.type){case"AWS::Route53::HostedZone":return this.calculateHostedZoneCost();case"AWS::Route53::HealthCheck":return this.calculateHealthCheckCost(e);case"AWS::Route53::RecordSet":return this.calculateRecordSetCost(e);default:return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported Route 53 resource type: ${e.type}`]}}}calculateHostedZoneCost(){return{amount:this.HOSTED_ZONE_PRICE,currency:"USD",confidence:"high",assumptions:[`Hosted zone: $${this.HOSTED_ZONE_PRICE.toFixed(2)}/month`,"DNS query costs are calculated on RecordSet resources"]}}calculateHealthCheckCost(e){const t=e.properties||{};const n=t.HealthCheckConfig;const o=n?.Type||"HTTP";const i=["HTTPS","HTTP_STR_MATCH","HTTPS_STR_MATCH"].includes(o);const a=i?this.HTTPS_HEALTH_CHECK_PRICE:this.BASIC_HEALTH_CHECK_PRICE;return{amount:a,currency:"USD",confidence:"high",assumptions:[`Health check (${o}): $${a.toFixed(2)}/month`]}}calculateRecordSetCost(e){const t=e.properties||{};if(t.AliasTarget){return{amount:0,currency:"USD",confidence:"high",assumptions:["Alias record to AWS resource: no query charges"]}}const n=this.customMonthlyQueries??this.DEFAULT_MONTHLY_QUERIES;const o=n/1e6;let i=this.STANDARD_QUERY_PRICE_PER_MILLION;let a="standard";if(t.Region){i=this.LATENCY_QUERY_PRICE_PER_MILLION;a="latency-based"}else if(t.GeoLocation){i=this.GEO_QUERY_PRICE_PER_MILLION;a="geolocation"}const d=o*i;return{amount:d,currency:"USD",confidence:"medium",assumptions:[`DNS queries (${a}): ${o}M × $${i.toFixed(2)}/M = $${d.toFixed(2)}/month`]}}}t.Route53Calculator=Route53Calculator},4872:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.S3Calculator=void 0;const o=n(7973);class S3Calculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::S3::Bucket"}async calculateCost(e,t,n){try{const e=await n.getPrice({serviceCode:"AmazonS3",region:(0,o.normalizeRegion)(t),filters:[{field:"storageClass",value:"General Purpose"},{field:"volumeType",value:"Standard"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for S3 in region ${t}`]}}const i=e*this.DEFAULT_STORAGE_GB;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`Assumes ${this.DEFAULT_STORAGE_GB} GB of standard storage`,"Does not include request costs or data transfer"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.S3Calculator=S3Calculator},7346:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SNSCalculator=void 0;const o=n(7973);const i=n(7461);class SNSCalculator{customMonthlyPublishes;customHttpDeliveries;customEmailDeliveries;customSmsDeliveries;customMobilePushDeliveries;DEFAULT_MONTHLY_PUBLISHES=1e6;DEFAULT_HTTP_DELIVERIES=1e6;DEFAULT_EMAIL_DELIVERIES=0;DEFAULT_SMS_DELIVERIES=0;DEFAULT_MOBILE_PUSH_DELIVERIES=0;FALLBACK_PUBLISH_PRICE_PER_MILLION=.5;FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION=.6;FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K=2;FALLBACK_SMS_PRICE_PER_MESSAGE=.00645;FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION=.5;FREE_TIER_PUBLISHES=1e6;constructor(e,t,n,o,i){this.customMonthlyPublishes=e;this.customHttpDeliveries=t;this.customEmailDeliveries=n;this.customSmsDeliveries=o;this.customMobilePushDeliveries=i}supports(e){return e==="AWS::SNS::Topic"}async calculateCost(e,t,n){const a=this.customMonthlyPublishes??this.DEFAULT_MONTHLY_PUBLISHES;const d=this.customHttpDeliveries??this.DEFAULT_HTTP_DELIVERIES;const h=this.customEmailDeliveries??this.DEFAULT_EMAIL_DELIVERIES;const m=this.customSmsDeliveries??this.DEFAULT_SMS_DELIVERIES;const Q=this.customMobilePushDeliveries??this.DEFAULT_MOBILE_PUSH_DELIVERIES;i.Logger.debug("SNS pricing calculation started",{region:t,logicalId:e.logicalId,monthlyPublishes:a,httpDeliveries:d,emailDeliveries:h,smsDeliveries:m,mobilePushDeliveries:Q});try{const e=(0,o.getRegionPrefix)(t);const k=(0,o.normalizeRegion)(t);const _=await this.getPublishPrice(n,k,e);const L=await this.getHttpDeliveryPrice(n,k,e);const U=await this.getEmailDeliveryPrice(n,k,e);const P=await this.getSmsPrice(n,k,e);const H=await this.getMobilePushPrice(n,k,e);const Y=this.hasCustomAssumptions();const V=_!==null&&L!==null&&U!==null&&P!==null&&H!==null;const J=this.calculateCostBreakdown(a,d,h,m,Q,_,L,U,P,H);i.Logger.debug("SNS cost calculated",{costBreakdown:J,allPricesAvailable:V});const W=this.buildAssumptions(a,d,h,m,Q,J,V,_,L,U,P,H);let j;if(!V&&!Y){j="unknown"}else if(!V&&Y){j="low"}else{j="medium"}if(!V&&!Y){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SNS in region ${t}`,...W]}}return{amount:J.totalCost,currency:"USD",confidence:j,assumptions:W}}catch(e){i.Logger.debug("SNS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});if(this.hasCustomAssumptions()){const e=this.calculateCostBreakdown(a,d,h,m,Q,null,null,null,null,null);return{amount:e.totalCost,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",`Assumes ${a.toLocaleString()} publishes per month`,`Assumes ${d.toLocaleString()} HTTP/S deliveries per month`]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async getPublishPrice(e,t,n){const o=n?`${n}-PublishRequests`:"PublishRequests";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getHttpDeliveryPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-HTTP`:"DeliveryAttempts-HTTP";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getEmailDeliveryPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-EMAIL`:"DeliveryAttempts-EMAIL";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getSmsPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-SMS`:"DeliveryAttempts-SMS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"SMS"},{field:"usagetype",value:o}]})}async getMobilePushPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-APNS`:"DeliveryAttempts-APNS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Mobile Push Notification"},{field:"usagetype",value:o}]})}calculateCostBreakdown(e,t,n,o,i,a,d,h,m,Q){const k=a??this.FALLBACK_PUBLISH_PRICE_PER_MILLION;const _=d??this.FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION;const L=h??this.FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K;const U=m??this.FALLBACK_SMS_PRICE_PER_MESSAGE;const P=Q??this.FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION;const H=Math.max(0,e-this.FREE_TIER_PUBLISHES);const Y=H/1e6*k;const V=t/1e6*_;const J=n/1e5*L;const W=o*U;const j=i/1e6*P;const K=Y+V+J+W+j;return{publishCost:Y,httpDeliveryCost:V,emailDeliveryCost:J,smsDeliveryCost:W,mobilePushDeliveryCost:j,totalCost:K}}buildAssumptions(e,t,n,o,i,a,d,h,m,Q,k,_){const L=[];L.push(`Assumes ${e.toLocaleString()} publishes per month`);L.push(`Assumes ${t.toLocaleString()} HTTP/S deliveries per month`);if(n>0){L.push(`Assumes ${n.toLocaleString()} email deliveries per month`)}if(o>0){L.push(`Assumes ${o.toLocaleString()} SMS deliveries per month (using US rate)`)}if(i>0){L.push(`Assumes ${i.toLocaleString()} mobile push deliveries per month`)}if(e<=this.FREE_TIER_PUBLISHES){L.push(`First ${this.FREE_TIER_PUBLISHES.toLocaleString()} publishes are free`)}else{const t=e-this.FREE_TIER_PUBLISHES;L.push(`${this.FREE_TIER_PUBLISHES.toLocaleString()} free tier publishes applied, ${t.toLocaleString()} billable`)}if(a.publishCost>0){L.push(`Publish cost: $${a.publishCost.toFixed(2)}`)}if(a.httpDeliveryCost>0){L.push(`HTTP/S delivery cost: $${a.httpDeliveryCost.toFixed(2)}`)}if(a.emailDeliveryCost>0){L.push(`Email delivery cost: $${a.emailDeliveryCost.toFixed(2)}`)}if(a.smsDeliveryCost>0){L.push(`SMS delivery cost: $${a.smsDeliveryCost.toFixed(2)}`)}if(a.mobilePushDeliveryCost>0){L.push(`Mobile push delivery cost: $${a.mobilePushDeliveryCost.toFixed(2)}`)}if(!d){if(h===null){L.push("Using fallback publish pricing (API unavailable)")}if(m===null){L.push("Using fallback HTTP delivery pricing (API unavailable)")}if(Q===null&&n>0){L.push("Using fallback email delivery pricing (API unavailable)")}if(k===null&&o>0){L.push("Using fallback SMS pricing (API unavailable)")}if(_===null&&i>0){L.push("Using fallback mobile push pricing (API unavailable)")}}if(this.customMonthlyPublishes!==undefined){L.push("Using custom publish count from configuration")}if(this.customHttpDeliveries!==undefined){L.push("Using custom HTTP delivery count from configuration")}if(this.customEmailDeliveries!==undefined){L.push("Using custom email delivery count from configuration")}if(this.customSmsDeliveries!==undefined){L.push("Using custom SMS delivery count from configuration")}if(this.customMobilePushDeliveries!==undefined){L.push("Using custom mobile push delivery count from configuration")}return L}hasCustomAssumptions(){return this.customMonthlyPublishes!==undefined||this.customHttpDeliveries!==undefined||this.customEmailDeliveries!==undefined||this.customSmsDeliveries!==undefined||this.customMobilePushDeliveries!==undefined}}t.SNSCalculator=SNSCalculator},2697:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SQSCalculator=void 0;const o=n(7973);class SQSCalculator{DEFAULT_MONTHLY_REQUESTS=1e6;FALLBACK_STANDARD_PRICE_PER_MILLION=.4;FALLBACK_FIFO_PRICE_PER_MILLION=.5;config;constructor(e){this.config=e}supports(e){return e==="AWS::SQS::Queue"}async calculateCost(e,t,n){const o=this.isFifoQueue(e);const i=this.getMonthlyRequests();try{const e=await this.getPricePerMillion(t,o,n);const a=this.buildAssumptions(i,o);if(e===null){const e=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(e){const e=o?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const t=i/1e6*e;return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",...a]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SQS in region ${t}`,...a]}}const d=i/1e6*e;return{amount:d,currency:"USD",confidence:"medium",assumptions:a}}catch(e){const t=this.buildAssumptions(i,o);const n=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(n){const e=o?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const n=i/1e6*e;return{amount:n,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...t]}}}isFifoQueue(e){return e.properties.FifoQueue===true||e.properties.FifoQueue==="true"}getMonthlyRequests(){return this.config?.usageAssumptions?.sqs?.monthlyRequests??this.DEFAULT_MONTHLY_REQUESTS}buildAssumptions(e,t){const n=[`Assumes ${e.toLocaleString()} requests per month`,t?"FIFO queue":"Standard queue","Does not include data transfer costs"];if(this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined){n.push("Using custom monthly requests assumption from configuration")}return n}async getPricePerMillion(e,t,n){const i=(0,o.normalizeRegion)(e);const a=(0,o.getRegionPrefix)(e);const d=t?"Requests-FIFO":"Requests";const h=a?`${a}-${d}`:d;return n.getPrice({serviceCode:"AWSQueueService",region:i,filters:[{field:"productFamily",value:"Queue"},{field:"usagetype",value:h}]})}}t.SQSCalculator=SQSCalculator},7822:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SecretsManagerCalculator=void 0;const o=n(7973);const i=n(7461);class SecretsManagerCalculator{customMonthlyApiCalls;DEFAULT_MONTHLY_API_CALLS=1e4;FALLBACK_SECRET_STORAGE_PRICE=.4;FALLBACK_API_CALL_PRICE_PER_10K=.05;constructor(e){this.customMonthlyApiCalls=e}supports(e){return e==="AWS::SecretsManager::Secret"}async calculateCost(e,t,n){const a=this.customMonthlyApiCalls??this.DEFAULT_MONTHLY_API_CALLS;i.Logger.debug("Secrets Manager pricing calculation started",{region:t,logicalId:e.logicalId,monthlyApiCalls:a});try{const e=(0,o.normalizeRegion)(t);const d=await n.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretStorage"}]});i.Logger.debug("Secrets Manager storage price retrieved",{secretStoragePrice:d,region:e});const h=await n.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretRotation"}]});i.Logger.debug("Secrets Manager API call price retrieved",{apiCallPrice:h,region:e});if(d===null&&h===null){i.Logger.debug("Secrets Manager pricing not available",{region:t,normalizedRegion:e});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Secrets Manager in region ${t}`,`Would assume ${a.toLocaleString()} API calls per month`]}}const m=d??this.FALLBACK_SECRET_STORAGE_PRICE;const Q=h??this.FALLBACK_API_CALL_PRICE_PER_10K;const k=a/1e4*Q;const _=m+k;const L=d===null||h===null?"low":"medium";const U=d===null||h===null;i.Logger.debug("Secrets Manager cost calculated",{storageCost:m,callCostPer10K:Q,apiCallCost:k,totalCost:_,confidence:L,usedFallback:U});const P=[];if(U){if(d===null){P.push("Using fallback storage pricing (API unavailable)")}if(h===null){P.push("Using fallback API call pricing (API unavailable)")}}P.push(`Secret storage: $${m.toFixed(2)}/month`);P.push(`API calls: ${a.toLocaleString()} calls × $${Q.toFixed(4)}/10K = $${k.toFixed(2)}/month`);P.push(`Total: $${_.toFixed(2)}/month`);if(this.customMonthlyApiCalls!==undefined){P.push("Using custom API call volume from configuration")}P.push("No free tier for Secrets Manager");P.push("Cross-region replication incurs additional costs (not calculated)");return{amount:_,currency:"USD",confidence:L,assumptions:P}}catch(e){i.Logger.debug("Secrets Manager pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate Secrets Manager cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.SecretsManagerCalculator=SecretsManagerCalculator},5099:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StepFunctionsCalculator=void 0;const o=n(7973);class StepFunctionsCalculator{customMonthlyExecutions;customStateTransitionsPerExecution;customAverageDurationMs;DEFAULT_MONTHLY_EXECUTIONS=1e4;DEFAULT_STATE_TRANSITIONS_PER_EXECUTION=10;DEFAULT_AVERAGE_DURATION_MS=1e3;FALLBACK_STANDARD_STATE_TRANSITION_PRICE=.025/1e3;FALLBACK_EXPRESS_REQUEST_PRICE=1/1e6;FALLBACK_EXPRESS_DURATION_PRICE=1667e-8;constructor(e,t,n){this.customMonthlyExecutions=e;this.customStateTransitionsPerExecution=t;this.customAverageDurationMs=n}supports(e){return e==="AWS::StepFunctions::StateMachine"}async calculateCost(e,t,n){const o=this.getWorkflowType(e);if(o==="EXPRESS"){return this.calculateExpressWorkflowCost(e,t,n)}return this.calculateStandardWorkflowCost(e,t,n)}getWorkflowType(e){const t=e.properties.Type;if(t==="EXPRESS"){return"EXPRESS"}return"STANDARD"}async calculateStandardWorkflowCost(e,t,n){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const a=this.customStateTransitionsPerExecution??this.DEFAULT_STATE_TRANSITIONS_PER_EXECUTION;const d=i*a;try{const e=(0,o.getRegionPrefix)(t);const h=e?`${e}-StateTransition`:"StateTransition";const m=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:h}]});const Q=this.buildStandardAssumptions(i,a,d);if(m===null){const e=this.hasCustomAssumptions();if(e){const e=d*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback state transition pricing (API unavailable)",...Q]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Standard workflow in region ${t}`,...Q]}}const k=d*m;return{amount:k,currency:"USD",confidence:"medium",assumptions:Q}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildStandardAssumptions(i,a,d)];const n=this.hasCustomAssumptions();if(n){const e=d*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}async calculateExpressWorkflowCost(e,t,n){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const a=this.customAverageDurationMs??this.DEFAULT_AVERAGE_DURATION_MS;const d=64;const h=a/1e3;const m=d/1024*h*i;try{const e=(0,o.getRegionPrefix)(t);const d=e?`${e}-ExpressRequest`:"ExpressRequest";const h=e?`${e}-ExpressDuration`:"ExpressDuration";const Q=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:d}]});const k=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:h}]});const _=this.buildExpressAssumptions(i,a,m);if(Q===null||k===null){const e=this.hasCustomAssumptions();if(e){const e=Q??this.FALLBACK_EXPRESS_REQUEST_PRICE;const t=k??this.FALLBACK_EXPRESS_DURATION_PRICE;const n=i*e;const o=m*t;const a=n+o;return{amount:a,currency:"USD",confidence:"low",assumptions:[Q===null?"Using fallback request pricing (API unavailable)":"",k===null?"Using fallback duration pricing (API unavailable)":"",..._].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Express workflow in region ${t}`,..._]}}const L=i*Q;const U=m*k;const P=L+U;return{amount:P,currency:"USD",confidence:"medium",assumptions:_}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildExpressAssumptions(i,a,m)];const n=this.hasCustomAssumptions();if(n){const e=i*this.FALLBACK_EXPRESS_REQUEST_PRICE;const n=m*this.FALLBACK_EXPRESS_DURATION_PRICE;const o=e+n;return{amount:o,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}buildStandardAssumptions(e,t,n){const o=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t} state transitions per execution`,`Total estimated state transitions: ${n.toLocaleString()}`,"STANDARD workflow type","Pricing: $0.025 per 1,000 state transitions"];if(this.customMonthlyExecutions!==undefined){o.push("Using custom monthly executions from configuration")}if(this.customStateTransitionsPerExecution!==undefined){o.push("Using custom state transitions per execution from configuration")}return o}buildExpressAssumptions(e,t,n){const o=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t}ms average execution duration`,`Total estimated GB-seconds: ${n.toFixed(2)}`,"EXPRESS workflow type","Pricing: $1.00 per million requests + $0.00001667 per GB-second","Assumes 64MB memory allocation per execution"];if(this.customMonthlyExecutions!==undefined){o.push("Using custom monthly executions from configuration")}if(this.customAverageDurationMs!==undefined){o.push("Using custom average duration from configuration")}return o}hasCustomAssumptions(){return this.customMonthlyExecutions!==undefined||this.customStateTransitionsPerExecution!==undefined||this.customAverageDurationMs!==undefined}}t.StepFunctionsCalculator=StepFunctionsCalculator},2301:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TransitGatewayCalculator=void 0;const o=n(7973);class TransitGatewayCalculator{customAttachments;customMonthlyDataGB;HOURS_PER_MONTH=730;DEFAULT_ATTACHMENTS=3;DEFAULT_MONTHLY_DATA_GB=1e3;FALLBACK_ATTACHMENT_PRICE=.05;FALLBACK_DATA_PRICE=.02;constructor(e,t){this.customAttachments=e;this.customMonthlyDataGB=t}supports(e){return e==="AWS::EC2::TransitGateway"||e==="AWS::EC2::TransitGatewayAttachment"}async calculateCost(e,t,n){try{if(e.type==="AWS::EC2::TransitGatewayAttachment"){return await this.calculateAttachmentCost(t,n)}return await this.calculateTransitGatewayCost(t,n)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateAttachmentCost(e,t){const n=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayVPCAttachment"}]});const i=n??this.FALLBACK_ATTACHMENT_PRICE;const a=i*this.HOURS_PER_MONTH;return{amount:a,currency:"USD",confidence:n!==null?"high":"medium",assumptions:[`Transit Gateway attachment: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH}h = $${a.toFixed(2)}/month`,...n===null?[`Using fallback pricing (API data not available for region ${e})`]:[],"Data processing costs are calculated on the Transit Gateway resource"]}}async calculateTransitGatewayCost(e,t){const n=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayVPCAttachment"}]});const i=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayData"}]});const a=n??this.FALLBACK_ATTACHMENT_PRICE;const d=i??this.FALLBACK_DATA_PRICE;const h=n===null||i===null;const m=this.customAttachments??this.DEFAULT_ATTACHMENTS;const Q=this.customMonthlyDataGB??this.DEFAULT_MONTHLY_DATA_GB;const k=m*a*this.HOURS_PER_MONTH;const _=Q*d;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`${m} attachments × $${a.toFixed(4)}/hour × ${this.HOURS_PER_MONTH}h = $${k.toFixed(2)}/month`,`Data processing: ${Q} GB × $${d.toFixed(4)}/GB = $${_.toFixed(2)}/month`,...h?[`Using fallback pricing (API data not available for region ${e})`]:[]]}}}t.TransitGatewayCalculator=TransitGatewayCalculator},7278:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VPCEndpointCalculator=void 0;const o=n(7973);class VPCEndpointCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::VPCEndpoint"}async calculateCost(e,t,n){const i=e.properties?.VpcEndpointType;const a=e.properties?.ServiceName||"";const d=i==="Gateway"||i===undefined&&(a.includes("s3")||a.includes("dynamodb"));if(d){return{amount:0,currency:"USD",confidence:"high",assumptions:["Gateway VPC endpoints for S3 and DynamoDB are free","No data processing charges for gateway endpoints"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Hours`}]});const a=await n.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Bytes`}]});if(i===null||a===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for VPC Endpoint in region ${t}`]}}const d=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const h=i*this.HOURS_PER_MONTH;const m=a*d;const Q=h+m;return{amount:Q,currency:"USD",confidence:"medium",assumptions:["Interface VPC Endpoint type",`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${h.toFixed(2)}/month`,`Data processing: $${a.toFixed(4)}/GB × ${d} GB = $${m.toFixed(2)}/month`,`Total: $${Q.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.VPCEndpointCalculator=VPCEndpointCalculator},9543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UnsupportedResourceError=t.PricingAPIError=void 0;class PricingAPIError extends Error{retryable;constructor(e,t=true){super(e);this.retryable=t;this.name="PricingAPIError"}}t.PricingAPIError=PricingAPIError;class UnsupportedResourceError extends Error{resourceType;constructor(e){super(`Resource type ${e} is not supported`);this.resourceType=e;this.name="UnsupportedResourceError"}}t.UnsupportedResourceError=UnsupportedResourceError},7785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubActionReporter=void 0;class GitHubActionReporter{generateReport(e,t,n){const o=[];o.push("## 💰 CDK Cost Analysis");o.push("");o.push(this.generateCostSummary(e,t,n));o.push("");if(e.addedCosts.length>0){o.push(this.formatAddedResources(e.addedCosts,e.currency));o.push("")}if(e.modifiedCosts.length>0){o.push(this.formatModifiedResources(e.modifiedCosts,e.currency));o.push("")}if(e.removedCosts.length>0){o.push(this.formatRemovedResources(e.removedCosts,e.currency));o.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){o.push("No resource changes detected.");o.push("")}o.push("---");o.push("*Generated by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer)*");return o.join("\n")}generateCostSummary(e,t,n){const o=[];const i=this.getTrendIndicator(e.totalDelta);const a=this.formatDelta(e.totalDelta,e.currency);o.push(`**Monthly Cost Impact:** ${i} ${a}`);if(t!==undefined&&n!==undefined&&t>0){const e=(n-t)/t*100;const i=this.formatPercentage(e);o.push(`**Percentage Change:** ${i}`)}if(t!==undefined&&n!==undefined){o.push("");o.push("| Metric | Value |");o.push("|--------|-------|");o.push(`| Base Monthly Cost | ${this.formatCurrency(t,e.currency)} |`);o.push(`| Target Monthly Cost | ${this.formatCurrency(n,e.currency)} |`);o.push(`| Cost Delta | ${a} |`)}return o.join("\n")}formatAddedResources(e,t){const n=[];n.push("### ➕ Added Resources");n.push("");n.push("| Logical ID | Type | Monthly Cost |");n.push("|------------|------|--------------|");const o=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of o){n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);n.push(`| **Total Added** | | **${this.formatCurrency(i,t)}** |`);return n.join("\n")}formatModifiedResources(e,t){const n=[];n.push("### 🔄 Modified Resources");n.push("");n.push("| Logical ID | Type | Old Cost | New Cost | Delta |");n.push("|------------|------|----------|----------|-------|");const o=[...e].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of o){const o=this.getTrendIndicator(e.costDelta);n.push(`| ${e.logicalId} | \`${e.type}\` | `+`${this.formatCurrency(e.oldMonthlyCost.amount,t)} | `+`${this.formatCurrency(e.newMonthlyCost.amount,t)} | `+`${o} ${this.formatDelta(e.costDelta,t)} |`)}const i=e.reduce(((e,t)=>e+t.costDelta),0);const a=this.getTrendIndicator(i);n.push(`| **Total Modified** | | | | **${a} ${this.formatDelta(i,t)}** |`);return n.join("\n")}formatRemovedResources(e,t){const n=[];n.push("### ➖ Removed Resources");n.push("");n.push("| Logical ID | Type | Monthly Cost |");n.push("|------------|------|--------------|");const o=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of o){n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);n.push(`| **Total Removed** | | **-${this.formatCurrency(i,t)}** |`);return n.join("\n")}getTrendIndicator(e){if(e>0){return"↗️"}else if(e<0){return"↘️"}return"➡️"}formatCurrency(e,t){const n=t==="USD"?"$":t;return`${n}${e.toFixed(2)}`}formatDelta(e,t){const n=this.formatCurrency(Math.abs(e),t);if(e===0){return n}return e<0?`-${n}`:`+${n}`}formatPercentage(e){const t=e>0?"+":"";return`${t}${e.toFixed(1)}%`}}t.GitHubActionReporter=GitHubActionReporter},1268:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Reporter=void 0;const o=n(7491);class Reporter{generateReport(e,t,n){switch(t){case"text":return this.generateTextReport(e,n);case"json":return this.generateJsonReport(e,n);case"markdown":return this.generateMarkdownReport(e,n);default:throw new Error(`Unsupported report format: ${t}`)}}generateTextReport(e,t){const n=[];n.push("=".repeat(60));n.push("CDK Cost Analysis Report");n.push("=".repeat(60));n.push("");if(t?.configSummary){n.push(...this.formatConfigSummaryText(t.configSummary));n.push("")}if(t?.thresholdStatus){n.push(...this.formatThresholdStatusText(t.thresholdStatus));n.push("")}n.push(`Total Cost Delta: ${this.formatDelta(e.totalDelta,e.currency)}`);n.push("");if(e.addedCosts.length>0){n.push("ADDED RESOURCES:");n.push("-".repeat(60));const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){n.push(this.formatResourceLine(e))}n.push("")}if(e.removedCosts.length>0){n.push("REMOVED RESOURCES:");n.push("-".repeat(60));const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){n.push(this.formatResourceLine(e))}n.push("")}if(e.modifiedCosts.length>0){n.push("MODIFIED RESOURCES:");n.push("-".repeat(60));const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of t){n.push(this.formatModifiedResourceLine(e))}n.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){n.push("No resource changes detected.");n.push("")}n.push("=".repeat(60));return n.join("\n")}generateJsonReport(e,t){const n={...e};if(t?.configSummary){n.configSummary=t.configSummary}if(t?.thresholdStatus){n.thresholdStatus=t.thresholdStatus}if(t?.stackName){n.stackName=t.stackName}return JSON.stringify(n,null,2)}generateMarkdownReport(e,t){const n=[];const i=(0,o.calculateTotalCosts)(e);const a=(0,o.getTrendIndicator)(e.totalDelta);n.push("# 💰 Cost Impact Analysis");n.push("");n.push(`**Monthly Cost Change:** ${this.formatDelta(e.totalDelta,e.currency)} ${a}`);n.push("");if(t?.multiStack&&t?.stacks&&t.stacks.length>1){n.push("## Per-Stack Cost Breakdown");n.push("");n.push("| Stack | Cost Delta | Trend |");n.push("|-------|------------|-------|");for(const e of t.stacks){const t=(0,o.getTrendIndicator)(e.costDelta.totalDelta);n.push(`| ${e.stackName} | ${this.formatDelta(e.costDelta.totalDelta,e.costDelta.currency)} | ${t} |`)}n.push("");n.push("<details>");n.push("<summary><strong>View Detailed Stack Breakdowns</strong></summary>");n.push("");for(const e of t.stacks){n.push(`### ${e.stackName}`);n.push("");n.push(...this.formatStackDetailsMarkdown(e.costDelta));n.push("")}n.push("</details>");n.push("")}if(t?.thresholdStatus){n.push(...this.formatThresholdStatusMarkdown(t.thresholdStatus,e));n.push("")}if(e.addedCosts.length>0){n.push("## 📈 Added Resources");n.push("");n.push("| Resource | Type | Monthly Cost |");n.push("|----------|------|--------------|");const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of t){n.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}n.push("")}if(e.modifiedCosts.length>0){n.push("## 🔄 Modified Resources");n.push("");n.push("| Resource | Type | Before | After | Change |");n.push("|----------|------|--------|-------|--------|");const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of t){const t=(0,o.getTrendIndicator)(i.costDelta);const a=(0,o.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);n.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${a}) ${t} |`)}n.push("")}if(e.removedCosts.length>0){n.push("## 📉 Removed Resources");n.push("");n.push("| Resource | Type | Monthly Savings |");n.push("|----------|------|-----------------|");const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of t){n.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}n.push("")}n.push("## 💵 Total Monthly Cost");n.push("");n.push("| Metric | Value |");n.push("|--------|-------|");n.push(`| Before | ${this.formatCurrency(i.before,e.currency)} |`);n.push(`| After | ${this.formatCurrency(i.after,e.currency)} |`);n.push(`| Change | ${this.formatDelta(e.totalDelta,e.currency)} ${a} |`);n.push("");const d=(0,o.groupCostsByService)(e);if(d.length>0){n.push("## 📊 Cost Breakdown by Service");n.push("");n.push("| Service | Resources | Cost Impact | Trend |");n.push("|---------|-----------|-------------|-------|");for(const t of d){const i=(0,o.getTrendIndicator)(t.totalCost);n.push(`| ${t.service} | ${t.resourceCount} | ${this.formatDelta(t.totalCost,e.currency)} | ${i} |`)}n.push("")}if(t?.configSummary){n.push(...this.formatConfigSummaryMarkdown(t.configSummary));n.push("")}n.push("---");n.push("");n.push("*Powered by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer) | [Configuration Reference](https://github.com/buildinginthecloud/cdk-cost-analyzer/blob/main/docs/CONFIGURATION.md)*");return n.join("\n")}formatResourceLine(e){const t=this.formatCurrency(e.monthlyCost.amount,"USD");const n=e.monthlyCost.confidence;return` • ${e.logicalId} (${e.type}): ${t} [${n}]`}formatModifiedResourceLine(e){const t=this.formatCurrency(e.oldMonthlyCost.amount,"USD");const n=this.formatCurrency(e.newMonthlyCost.amount,"USD");const o=this.formatDelta(e.costDelta,"USD");return` • ${e.logicalId} (${e.type}): ${t} → ${n} (${o})`}formatCurrency(e,t){const n=t==="USD"?"$":t;return`${n}${e.toFixed(2)}`}formatDelta(e,t){const n=e>0?"+":e<0?"-":"";const o=Math.abs(e);const i=this.formatCurrency(o,t);return e===0?i:`${n}${i}`}formatConfigSummaryText(e){const t=[];t.push("CONFIGURATION:");t.push("-".repeat(60));if(e.configPath){t.push(` Configuration File: ${e.configPath}`)}else{t.push(" Configuration File: Using defaults")}if(e.thresholds){if(e.thresholds.environment){t.push(` Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(` Warning Threshold: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(` Error Threshold: $${e.thresholds.error.toFixed(2)}/month`)}}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push(` Excluded Resource Types: ${e.excludedResourceTypes.join(", ")}`)}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push(" Custom Usage Assumptions:");for(const[n,o]of Object.entries(e.usageAssumptions)){t.push(` - ${n}: ${JSON.stringify(o)}`)}}return t}formatThresholdStatusText(e){const t=[];t.push("THRESHOLD STATUS:");t.push("-".repeat(60));if(e.level==="none"){t.push(" No thresholds configured")}else{const n=e.passed?"PASSED":"EXCEEDED";t.push(` Status: ${n}`);if(e.threshold!==undefined){t.push(` Threshold: $${e.threshold.toFixed(2)}/month (${e.level})`)}t.push(` Actual Delta: $${Math.abs(e.delta).toFixed(2)}/month`);if(!e.passed&&e.recommendations&&e.recommendations.length>0){t.push(" Recommendations:");for(const n of e.recommendations){t.push(` - ${n}`)}}}return t}formatConfigSummaryMarkdown(e){const t=[];t.push("<details>");t.push("<summary><strong>📋 Configuration & Assumptions</strong></summary>");t.push("");if(e.configPath){t.push(`**Configuration File:** \`${e.configPath}\``)}else{t.push("**Configuration File:** Using defaults")}t.push("");if(e.thresholds){t.push("**Thresholds:**");if(e.thresholds.environment){t.push(`- Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(`- Warning: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(`- Error: $${e.thresholds.error.toFixed(2)}/month`)}t.push("")}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push("**Excluded Resource Types:**");for(const n of e.excludedResourceTypes){t.push(`- \`${n}\``)}t.push("")}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push("**Custom Usage Assumptions:**");for(const[n,o]of Object.entries(e.usageAssumptions)){t.push(`- **${n}:**`);const e=o;for(const[n,o]of Object.entries(e)){t.push(` - ${n}: ${o}`)}}t.push("")}t.push("</details>");t.push("");return t}formatThresholdStatusMarkdown(e,t){const n=[];if(e.level==="none"){return n}const i=e.passed;const a=i?"✅":"🚨";const d=i?"PASSED":"EXCEEDED";n.push(`## ${a} Threshold Status: ${d}`);n.push("");if(e.threshold!==undefined){n.push(`**Threshold:** $${e.threshold.toFixed(2)}/month (${e.level})`)}n.push(`**Actual Delta:** ${this.formatDelta(e.delta,t.currency)}/month`);n.push("");if(!i){n.push("### ⚠️ Action Required");n.push("");n.push(e.message);n.push("");if(e.recommendations&&e.recommendations.length>0){n.push("### 💡 Recommendations");n.push("");for(const t of e.recommendations){n.push(`- ${t}`)}n.push("")}const i=this.getTopCostContributors(t,5);if(i.length>0){n.push("### 🔝 Top Cost Contributors");n.push("");n.push("| Resource | Type | Impact | Trend |");n.push("|----------|------|--------|-------|");for(const e of i){const i=(0,o.getTrendIndicator)(e.impact);n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatDelta(e.impact,t.currency)} | ${i} |`)}n.push("")}}return n}getTopCostContributors(e,t){const n=[];for(const t of e.addedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:t.monthlyCost.amount})}for(const t of e.removedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:-t.monthlyCost.amount})}for(const t of e.modifiedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:t.costDelta})}n.sort(((e,t)=>Math.abs(t.impact)-Math.abs(e.impact)));return n.slice(0,t)}formatStackDetailsMarkdown(e){const t=[];if(e.addedCosts.length>0){t.push("**📈 Added Resources:**");t.push("");t.push("| Resource | Type | Monthly Cost |");t.push("|----------|------|--------------|");const n=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of n){t.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.removedCosts.length>0){t.push("**📉 Removed Resources:**");t.push("");t.push("| Resource | Type | Monthly Savings |");t.push("|----------|------|-----------------|");const n=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of n){t.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.modifiedCosts.length>0){t.push("**🔄 Modified Resources:**");t.push("");t.push("| Resource | Type | Before | After | Change |");t.push("|----------|------|--------|-------|--------|");const n=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of n){const n=(0,o.getTrendIndicator)(i.costDelta);const a=(0,o.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);t.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${a}) ${n} |`)}t.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){t.push("No resource changes detected.");t.push("")}return t}}t.Reporter=Reporter},7491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getTrendIndicator=getTrendIndicator;t.getPercentageChange=getPercentageChange;t.extractServiceName=extractServiceName;t.groupCostsByService=groupCostsByService;t.calculateTotalCosts=calculateTotalCosts;function getTrendIndicator(e){if(e>0)return"↗️";if(e<0)return"↘️";return"➡️"}function getPercentageChange(e,t){if(e===0){return t>0?"+∞%":"0%"}const n=(t-e)/e*100;if(n===0)return"0%";const o=n>0?"+":"";return`${o}${n.toFixed(1)}%`}function extractServiceName(e){const t=e.split("::");if(t.length>=2){return t[1]}return e}function groupCostsByService(e){const t=new Map;for(const n of e.addedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost+=n.monthlyCost.amount;o.resourceCount+=1;t.set(e,o)}for(const n of e.removedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost-=n.monthlyCost.amount;o.resourceCount+=1;t.set(e,o)}for(const n of e.modifiedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost+=n.costDelta;o.resourceCount+=1;t.set(e,o)}return Array.from(t.entries()).map((([e,t])=>({service:e,totalCost:t.totalCost,resourceCount:t.resourceCount}))).sort(((e,t)=>Math.abs(t.totalCost)-Math.abs(e.totalCost)))}function calculateTotalCosts(e){let t=0;let n=0;for(const t of e.addedCosts){n+=t.monthlyCost.amount}for(const n of e.removedCosts){t+=n.monthlyCost.amount}for(const o of e.modifiedCosts){t+=o.oldMonthlyCost.amount;n+=o.newMonthlyCost.amount}return{before:t,after:n}}},9560:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.SynthesisOrchestrator=void 0;const d=n(5317);const h=a(n(1943));const m=a(n(6928));const Q=n(8648);class SynthesisOrchestrator{DEFAULT_OUTPUT_PATH="cdk.out";async synthesize(e){const t=Date.now();try{const n=e.outputPath||this.DEFAULT_OUTPUT_PATH;const o=e.customCommand||"npx cdk synth";await this.executeSynthesis(o,e.cdkAppPath,e.context,n);const i=m.join(e.cdkAppPath,n);const{templatePaths:a,stackNames:d}=await this.findTemplates(i);const h=Date.now()-t;return{success:true,templatePaths:a,stackNames:d,duration:h}}catch(e){const n=Date.now()-t;const o=e instanceof Error?e.message:String(e);if(e instanceof Q.SynthesisError){return{success:false,templatePaths:[],stackNames:[],error:o,duration:n}}return{success:false,templatePaths:[],stackNames:[],error:`Synthesis failed: ${o}`,duration:n}}}async executeSynthesis(e,t,n,o){return new Promise(((i,a)=>{const[h,...m]=e.split(" ");const k=[...m];if(n){for(const[e,t]of Object.entries(n)){k.push("-c",`${e}=${t}`)}}if(o){k.push("--output",o)}const _=(0,d.spawn)(h,k,{cwd:t,shell:false,stdio:["ignore","pipe","pipe"],detached:false});let L="";let U="";let P=false;const cleanup=()=>{_.removeAllListeners();_.stdout?.removeAllListeners();_.stderr?.removeAllListeners()};const forceKill=()=>{try{if(_.pid&&!_.killed){_.kill("SIGKILL");try{process.kill(_.pid,"SIGKILL")}catch(e){}}}catch(e){}};const H=setTimeout((()=>{if(!P){P=true;_.kill("SIGTERM");setTimeout((()=>{forceKill()}),1e3);_.removeAllListeners();_.stdout?.removeAllListeners();_.stderr?.removeAllListeners();a(new Q.SynthesisError("CDK synthesis timed out after 15 seconds",U||L||"No output captured"))}}),15e3);_.stdout?.on("data",(e=>{L+=e.toString()}));_.stderr?.on("data",(e=>{U+=e.toString()}));_.on("error",(e=>{if(!P){P=true;clearTimeout(H);cleanup();a(new Q.SynthesisError(`Failed to execute synthesis command: ${e.message}`,U||"No error output captured"))}}));_.on("close",(e=>{if(!P){P=true;clearTimeout(H);cleanup();if(e!==0){a(new Q.SynthesisError(`CDK synthesis failed with exit code ${e}`,U||L||"No output captured"))}else{i()}}}));_.on("exit",((e,t)=>{if(!P){P=true;clearTimeout(H);cleanup();if(t){a(new Q.SynthesisError(`CDK synthesis terminated by signal ${t}`,U||L||"No output captured"))}else if(e!==0){a(new Q.SynthesisError(`CDK synthesis failed with exit code ${e}`,U||L||"No output captured"))}else{i()}}}))}))}async findTemplates(e){try{const t=await h.readdir(e);const n=[];const o=[];for(const i of t){if(i.endsWith(".template.json")||i.endsWith(".template.yaml")||i.endsWith(".template.yml")){const t=m.join(e,i);n.push(t);const a=i.replace(".template.json","").replace(".template.yaml","").replace(".template.yml","");o.push(a)}}if(n.length===0){throw new Error("No CloudFormation templates found in output directory")}return{templatePaths:n,stackNames:o}}catch(e){throw new Error(`Failed to find templates: ${e instanceof Error?e.message:String(e)}`)}}}t.SynthesisOrchestrator=SynthesisOrchestrator},8648:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SynthesisError=void 0;class SynthesisError extends Error{cdkOutput;constructor(e,t){super(e);this.cdkOutput=t;this.name="SynthesisError"}}t.SynthesisError=SynthesisError},1668:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ThresholdEnforcer=void 0;class ThresholdEnforcer{evaluateThreshold(e,t,n,o,i){if(!o){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}const a=this.selectThresholds(o,i);if(!a){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}if(a.error!==undefined&&e>a.error){const o=this.getTopContributors(t,n,5);return{passed:false,level:"error",threshold:a.error,delta:e,message:this.formatErrorMessage(e,a.error),recommendations:this.getRecommendations("error",o)}}if(a.warning!==undefined&&e>a.warning){const o=this.getTopContributors(t,n,5);return{passed:true,level:"warning",threshold:a.warning,delta:e,message:this.formatWarningMessage(e,a.warning),recommendations:this.getRecommendations("warning",o)}}return{passed:true,level:"none",delta:e,message:`Cost delta $${e.toFixed(2)}/month is within thresholds`,recommendations:[]}}selectThresholds(e,t){if(t&&e.environments?.[t]){return e.environments[t]}return e.default}getTopContributors(e,t,n){const o=[...e,...t.map((e=>({logicalId:e.logicalId,type:e.type,monthlyCost:{amount:e.costDelta,currency:e.newMonthlyCost.currency,confidence:e.newMonthlyCost.confidence,assumptions:e.newMonthlyCost.assumptions}})))];return o.sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount)).slice(0,n)}formatErrorMessage(e,t){const n=e-t;const o=(n/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds error threshold of $${t.toFixed(2)}/month by $${n.toFixed(2)} (${o}%)`}formatWarningMessage(e,t){const n=e-t;const o=(n/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds warning threshold of $${t.toFixed(2)}/month by $${n.toFixed(2)} (${o}%)`}getRecommendations(e,t){const n=[];if(e==="error"){n.push("This change cannot be merged without approval due to cost impact.");n.push("Review the cost breakdown and consider optimizations before proceeding.");n.push("Contact your FinOps team for threshold override approval if this cost increase is necessary.")}else{n.push("Review this cost increase with your team before merging.");n.push("Consider whether all resources in this change are necessary.")}if(t.length>0){n.push(`Top cost contributors: ${t.map((e=>`${e.type} (${e.logicalId}): $${e.monthlyCost.amount.toFixed(2)}/month`)).join(", ")}`);const e=new Set(t.map((e=>e.type)));if(e.has("AWS::RDS::DBInstance")){n.push("Consider using smaller RDS instance types or Aurora Serverless for lower costs.")}if(e.has("AWS::EC2::Instance")){n.push("Consider using smaller EC2 instance types, Spot instances, or Savings Plans.")}if(e.has("AWS::EC2::NatGateway")){n.push("NAT Gateways have high data processing costs. Consider using VPC endpoints or consolidating NAT Gateways.")}if(e.has("AWS::ElasticLoadBalancingV2::LoadBalancer")){n.push("Load Balancers have hourly costs. Consider sharing load balancers across services if possible.")}}return n}}t.ThresholdEnforcer=ThresholdEnforcer},7461:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Logger=void 0;class Logger{static debugEnabled=false;static setDebugEnabled(e){Logger.debugEnabled=e}static isDebugEnabled(){return Logger.debugEnabled}static debug(e,t){if(Logger.debugEnabled){const n=(new Date).toISOString();console.error(`[DEBUG ${n}] ${e}`);if(t!==undefined){console.error(JSON.stringify(t,null,2))}}}static logPricingQuery(e,t,n){if(Logger.debugEnabled){Logger.debug("Pricing API Query",{serviceCode:e,region:t,filters:n.map((e=>({field:e.field,value:e.value,type:e.type||"TERM_MATCH"})))})}}static logPricingResponse(e,t,n,o){if(Logger.debugEnabled){Logger.debug("Pricing API Response",{serviceCode:e,region:t,price:n,productDetails:o})}}static logRegionNormalization(e,t){if(Logger.debugEnabled){Logger.debug("Region Normalization",{originalRegion:e,normalizedRegion:t,wasNormalized:e!==t})}}static logPricingFailure(e,t,n){if(Logger.debugEnabled){Logger.debug("Pricing Lookup Failed",{serviceCode:e,region:t,reason:n})}}static logCacheStatus(e,t,n){if(Logger.debugEnabled){Logger.debug(`Cache ${t?"HIT":"MISS"}`,{cacheKey:e,source:t?n:undefined})}}}t.Logger=Logger},2613:e=>{"use strict";e.exports=require("assert")},290:e=>{"use strict";e.exports=require("async_hooks")},181:e=>{"use strict";e.exports=require("buffer")},5317:e=>{"use strict";e.exports=require("child_process")},4236:e=>{"use strict";e.exports=require("console")},6982:e=>{"use strict";e.exports=require("crypto")},1637:e=>{"use strict";e.exports=require("diagnostics_channel")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},1943:e=>{"use strict";e.exports=require("fs/promises")},8611:e=>{"use strict";e.exports=require("http")},5675:e=>{"use strict";e.exports=require("http2")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},1421:e=>{"use strict";e.exports=require("node:child_process")},7598:e=>{"use strict";e.exports=require("node:crypto")},8474:e=>{"use strict";e.exports=require("node:events")},3024:e=>{"use strict";e.exports=require("node:fs")},1455:e=>{"use strict";e.exports=require("node:fs/promises")},7067:e=>{"use strict";e.exports=require("node:http")},2467:e=>{"use strict";e.exports=require("node:http2")},4708:e=>{"use strict";e.exports=require("node:https")},8161:e=>{"use strict";e.exports=require("node:os")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},7075:e=>{"use strict";e.exports=require("node:stream")},3136:e=>{"use strict";e.exports=require("node:url")},7975:e=>{"use strict";e.exports=require("node:util")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2987:e=>{"use strict";e.exports=require("perf_hooks")},3480:e=>{"use strict";e.exports=require("querystring")},2203:e=>{"use strict";e.exports=require("stream")},3774:e=>{"use strict";e.exports=require("stream/web")},3193:e=>{"use strict";e.exports=require("string_decoder")},3557:e=>{"use strict";e.exports=require("timers")},4756:e=>{"use strict";e.exports=require("tls")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},8253:e=>{"use strict";e.exports=require("util/types")},8167:e=>{"use strict";e.exports=require("worker_threads")},3106:e=>{"use strict";e.exports=require("zlib")},7182:(e,t,n)=>{"use strict";const o=n(7075).Writable;const i=n(7975).inherits;const a=n(4136);const d=n(612);const h=n(2271);const m=45;const Q=Buffer.from("-");const k=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}o.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new h(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}i(Dicer,o);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{o.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,n){if(!this._hparser&&!this._bparser){return n()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new d(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t<e.length){e=e.slice(t)}else{return n()}}if(this._firstWrite){this._bparser.push(k);this._firstWrite=false}this._bparser.push(e);if(this._pause){this._cb=n}else{n()}};Dicer.prototype.reset=function(){this._part=undefined;this._bparser=undefined;this._hparser=undefined};Dicer.prototype.setBoundary=function(e){const t=this;this._bparser=new a("\r\n--"+e);this._bparser.on("info",(function(e,n,o,i){t._oninfo(e,n,o,i)}))};Dicer.prototype._ignore=function(){if(this._part&&!this._ignoreData){this._ignoreData=true;this._part.on("error",EMPTY_FN);this._part.resume()}};Dicer.prototype._oninfo=function(e,t,n,o){let i;const a=this;let h=0;let k;let _=true;if(!this._part&&this._justMatched&&t){while(this._dashes<2&&n+h<o){if(t[n+h]===m){++h;++this._dashes}else{if(this._dashes){i=Q}this._dashes=0;break}}if(this._dashes===2){if(n+h<o&&this.listenerCount("trailer")!==0){this.emit("trailer",t.slice(n+h,o))}this.reset();this._finished=true;if(a._parts===0){a._realFinish=true;a.emit("finish");a._realFinish=false}}if(this._dashes){return}}if(this._justMatched){this._justMatched=false}if(!this._part){this._part=new d(this._partOpts);this._part._read=function(e){a._unpause()};if(this._isPreamble&&this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else if(this._isPreamble!==true&&this.listenerCount("part")!==0){this.emit("part",this._part)}else{this._ignore()}if(!this._isPreamble){this._inHeader=true}}if(t&&n<o&&!this._ignoreData){if(this._isPreamble||!this._inHeader){if(i){_=this._part.push(i)}_=this._part.push(t.slice(n,o));if(!_){this._pause=true}}else if(!this._isPreamble&&this._inHeader){if(i){this._hparser.push(i)}k=this._hparser.push(t.slice(n,o));if(!this._inHeader&&k!==undefined&&k<o){this._oninfo(false,t,n+k,o)}}}if(e){this._hparser.reset();if(this._isPreamble){this._isPreamble=false}else{if(n!==o){++this._parts;this._part.on("end",(function(){if(--a._parts===0){if(a._finished){a._realFinish=true;a.emit("finish");a._realFinish=false}else{a._unpause()}}}))}}this._part.push(null);this._part=undefined;this._ignoreData=false;this._justMatched=true;this._dashes=0}};Dicer.prototype._unpause=function(){if(!this._pause){return}this._pause=false;if(this._cb){const e=this._cb;this._cb=undefined;e()}};e.exports=Dicer},2271:(e,t,n)=>{"use strict";const o=n(8474).EventEmitter;const i=n(7975).inherits;const a=n(2393);const d=n(4136);const h=Buffer.from("\r\n\r\n");const m=/\r\n/g;const Q=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){o.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=a(e,"maxHeaderPairs",2e3);this.maxHeaderSize=a(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new d(h);this.ss.on("info",(function(e,n,o,i){if(n&&!t.maxed){if(t.nread+i-o>=t.maxHeaderSize){i=t.maxHeaderSize-t.nread+o;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=i-o}t.buffer+=n.toString("binary",o,i)}if(e){t._finish()}}))}i(HeaderParser,o);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(m);const t=e.length;let n,o;for(var i=0;i<t;++i){if(e[i].length===0){continue}if(e[i][0]==="\t"||e[i][0]===" "){if(o){this.header[o][this.header[o].length-1]+=e[i];continue}}const t=e[i].indexOf(":");if(t===-1||t===0){return}n=Q.exec(e[i]);o=n[1].toLowerCase();this.header[o]=this.header[o]||[];this.header[o].push(n[2]||"");if(++this.npairs===this.maxHeaderPairs){break}}};e.exports=HeaderParser},612:(e,t,n)=>{"use strict";const o=n(7975).inherits;const i=n(7075).Readable;function PartStream(e){i.call(this,e)}o(PartStream,i);PartStream.prototype._read=function(e){};e.exports=PartStream},4136:(e,t,n)=>{"use strict";const o=n(8474).EventEmitter;const i=n(7975).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var n=0;n<t-1;++n){this._occ[e[n]]=t-1-n}}i(SBMH,o);SBMH.prototype.reset=function(){this._lookbehind_size=0;this.matches=0;this._bufpos=0};SBMH.prototype.push=function(e,t){if(!Buffer.isBuffer(e)){e=Buffer.from(e,"binary")}const n=e.length;this._bufpos=t||0;let o;while(o!==n&&this.matches<this.maxMatches){o=this._sbmh_feed(e)}return o};SBMH.prototype._sbmh_feed=function(e){const t=e.length;const n=this._needle;const o=n.length;const i=n[o-1];let a=-this._lookbehind_size;let d;if(a<0){while(a<0&&a<=t-o){d=this._sbmh_lookup_char(e,a+o-1);if(d===i&&this._sbmh_memcmp(e,a,o-1)){this._lookbehind_size=0;++this.matches;this.emit("info",true);return this._bufpos=a+o}a+=this._occ[d]}if(a<0){while(a<0&&!this._sbmh_memcmp(e,a,t-a)){++a}}if(a>=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const n=this._lookbehind_size+a;if(n>0){this.emit("info",false,this._lookbehind,0,n)}this._lookbehind.copy(this._lookbehind,0,n,this._lookbehind_size-n);this._lookbehind_size-=n;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}a+=(a>=0)*this._bufpos;if(e.indexOf(n,a)!==-1){a=e.indexOf(n,a);++this.matches;if(a>0){this.emit("info",true,e,this._bufpos,a)}else{this.emit("info",true)}return this._bufpos=a+o}else{a=t-o}while(a<t&&(e[a]!==n[0]||Buffer.compare(e.subarray(a,a+t-a),n.subarray(0,t-a))!==0)){++a}if(a<t){e.copy(this._lookbehind,0,a,a+(t-a));this._lookbehind_size=t-a}if(a>0){this.emit("info",false,e,this._bufpos,a<t?a:t)}this._bufpos=t;return t};SBMH.prototype._sbmh_lookup_char=function(e,t){return t<0?this._lookbehind[this._lookbehind_size+t]:e[t]};SBMH.prototype._sbmh_memcmp=function(e,t,n){for(var o=0;o<n;++o){if(this._sbmh_lookup_char(e,t+o)!==this._needle[o]){return false}}return true};e.exports=SBMH},9581:(e,t,n)=>{"use strict";const o=n(7075).Writable;const{inherits:i}=n(7975);const a=n(7182);const d=n(1192);const h=n(855);const m=n(8929);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...n}=e;this.opts={autoDestroy:false,...n};o.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}i(Busboy,o);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}o.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=m(e["content-type"]);const n={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(d.detect.test(t[0])){return new d(this,n)}if(h.detect.test(t[0])){return new h(this,n)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,n){this._parser.write(e,n)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=a},1192:(e,t,n)=>{"use strict";const{Readable:o}=n(7075);const{inherits:i}=n(7975);const a=n(7182);const d=n(8929);const h=n(2747);const m=n(692);const Q=n(2393);const k=/^boundary$/i;const _=/^form-data$/i;const L=/^charset$/i;const U=/^filename$/i;const P=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let n;let o;const i=this;let H;const Y=t.limits;const V=t.isPartAFile||((e,t,n)=>t==="application/octet-stream"||n!==undefined);const J=t.parsedConType||[];const W=t.defCharset||"utf8";const j=t.preservePath;const K={highWaterMark:t.fileHwm};for(n=0,o=J.length;n<o;++n){if(Array.isArray(J[n])&&k.test(J[n][0])){H=J[n][1];break}}function checkFinished(){if(Ae===0&&le&&!e._done){le=false;i.end()}}if(typeof H!=="string"){throw new Error("Multipart: Boundary not found")}const X=Q(Y,"fieldSize",1*1024*1024);const Z=Q(Y,"fileSize",Infinity);const ee=Q(Y,"files",Infinity);const te=Q(Y,"fields",Infinity);const re=Q(Y,"parts",Infinity);const se=Q(Y,"headerPairs",2e3);const ne=Q(Y,"headerSize",80*1024);let oe=0;let ie=0;let Ae=0;let ae;let ce;let le=false;this._needDrain=false;this._pause=false;this._cb=undefined;this._nparts=0;this._boy=e;const ue={boundary:H,maxHeaderPairs:se,maxHeaderSize:ne,partHwm:K.highWaterMark,highWaterMark:t.highWaterMark};this.parser=new a(ue);this.parser.on("drain",(function(){i._needDrain=false;if(i._cb&&!i._pause){const e=i._cb;i._cb=undefined;e()}})).on("part",(function onPart(t){if(++i._nparts>re){i.parser.removeListener("part",onPart);i.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(ce){const e=ce;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(a){let Q;let k;let H;let Y;let J;let re;let se=0;if(a["content-type"]){H=d(a["content-type"][0]);if(H[0]){Q=H[0].toLowerCase();for(n=0,o=H.length;n<o;++n){if(L.test(H[n][0])){Y=H[n][1].toLowerCase();break}}}}if(Q===undefined){Q="text/plain"}if(Y===undefined){Y=W}if(a["content-disposition"]){H=d(a["content-disposition"][0]);if(!_.test(H[0])){return skipPart(t)}for(n=0,o=H.length;n<o;++n){if(P.test(H[n][0])){k=H[n][1]}else if(U.test(H[n][0])){re=H[n][1];if(!j){re=m(re)}}}}else{return skipPart(t)}if(a["content-transfer-encoding"]){J=a["content-transfer-encoding"][0].toLowerCase()}else{J="7bit"}let ne,le;if(V(k,Q,re)){if(oe===ee){if(!e.hitFilesLimit){e.hitFilesLimit=true;e.emit("filesLimit")}return skipPart(t)}++oe;if(e.listenerCount("file")===0){i.parser._ignore();return}++Ae;const n=new FileStream(K);ae=n;n.on("end",(function(){--Ae;i._pause=false;checkFinished();if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}}));n._read=function(e){if(!i._pause){return}i._pause=false;if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}};e.emit("file",k,n,re,J,Q);ne=function(e){if((se+=e.length)>Z){const o=Z-se+e.length;if(o>0){n.push(e.slice(0,o))}n.truncated=true;n.bytesRead=Z;t.removeAllListeners("data");n.emit("limit");return}else if(!n.push(e)){i._pause=true}n.bytesRead=se};le=function(){ae=undefined;n.push(null)}}else{if(ie===te){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++ie;++Ae;let n="";let o=false;ce=t;ne=function(e){if((se+=e.length)>X){const i=X-(se-e.length);n+=e.toString("binary",0,i);o=true;t.removeAllListeners("data")}else{n+=e.toString("binary")}};le=function(){ce=undefined;if(n.length){n=h(n,"binary",Y)}e.emit("field",k,n,false,o,J,Q);--Ae;checkFinished()}}t._readableState.sync=false;t.on("data",ne);t.on("end",le)})).on("error",(function(e){if(ae){ae.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){le=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const n=this.parser.write(e);if(n&&!this._pause){t()}else{this._needDrain=!n;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){o.call(this,e);this.bytesRead=0;this.truncated=false}i(FileStream,o);FileStream.prototype._read=function(e){};e.exports=Multipart},855:(e,t,n)=>{"use strict";const o=n(1496);const i=n(2747);const a=n(2393);const d=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const n=t.limits;const i=t.parsedConType;this.boy=e;this.fieldSizeLimit=a(n,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=a(n,"fieldNameSize",100);this.fieldsLimit=a(n,"fields",Infinity);let h;for(var m=0,Q=i.length;m<Q;++m){if(Array.isArray(i[m])&&d.test(i[m][0])){h=i[m][1].toLowerCase();break}}if(h===undefined){h=t.defCharset||"utf8"}this.decoder=new o;this.charset=h;this._fields=0;this._state="key";this._checkingBytes=true;this._bytesKey=0;this._bytesVal=0;this._key="";this._val="";this._keyTrunc=false;this._valTrunc=false;this._hitLimit=false}UrlEncoded.prototype.write=function(e,t){if(this._fields===this.fieldsLimit){if(!this.boy.hitFieldsLimit){this.boy.hitFieldsLimit=true;this.boy.emit("fieldsLimit")}return t()}let n;let o;let a;let d=0;const h=e.length;while(d<h){if(this._state==="key"){n=o=undefined;for(a=d;a<h;++a){if(!this._checkingBytes){++d}if(e[a]===61){n=a;break}else if(e[a]===38){o=a;break}if(this._checkingBytes&&this._bytesKey===this.fieldNameSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesKey}}if(n!==undefined){if(n>d){this._key+=this.decoder.write(e.toString("binary",d,n))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();d=n+1}else if(o!==undefined){++this._fields;let n;const a=this._keyTrunc;if(o>d){n=this._key+=this.decoder.write(e.toString("binary",d,o))}else{n=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(n.length){this.boy.emit("field",i(n,"binary",this.charset),"",a,false)}d=o+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(a>d){this._key+=this.decoder.write(e.toString("binary",d,a))}d=a;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(d<h){this._key+=this.decoder.write(e.toString("binary",d))}d=h}}else{o=undefined;for(a=d;a<h;++a){if(!this._checkingBytes){++d}if(e[a]===38){o=a;break}if(this._checkingBytes&&this._bytesVal===this.fieldSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesVal}}if(o!==undefined){++this._fields;if(o>d){this._val+=this.decoder.write(e.toString("binary",d,o))}this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();d=o+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(a>d){this._val+=this.decoder.write(e.toString("binary",d,a))}d=a;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(d<h){this._val+=this.decoder.write(e.toString("binary",d))}d=h}}}t()};UrlEncoded.prototype.end=function(){if(this.boy._done){return}if(this._state==="key"&&this._key.length>0){this.boy.emit("field",i(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},1496:e=>{"use strict";const t=/\+/g;const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let o="";let i=0;let a=0;const d=e.length;for(;i<d;++i){if(this.buffer!==undefined){if(!n[e.charCodeAt(i)]){o+="%"+this.buffer;this.buffer=undefined;--i}else{this.buffer+=e[i];++a;if(this.buffer.length===2){o+=String.fromCharCode(parseInt(this.buffer,16));this.buffer=undefined}}}else if(e[i]==="%"){if(i>a){o+=e.substring(a,i);a=i}this.buffer="";++a}}if(a<d&&this.buffer===undefined){o+=e.substring(a)}return o};Decoder.prototype.reset=function(){this.buffer=undefined};e.exports=Decoder},692:e=>{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},2747:function(e){"use strict";const t=new TextDecoder("utf-8");const n=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return o.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return o.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return o.utf16le;case"base64":return o.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return o.other.bind(e)}}}const o={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(n.has(this.toString())){try{return n.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,n){if(e){return getDecoder(n)(e,t)}return e}e.exports=decodeText},2393:e=>{"use strict";e.exports=function getLimit(e,t,n){if(!e||e[t]===undefined||e[t]===null){return n}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8929:(e,t,n)=>{"use strict";const o=n(2747);const i=/%[a-fA-F0-9][a-fA-F0-9]/g;const a={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"","%81":"","%82":"","%83":"","%84":"","%85":"
","%86":"","%87":"","%88":"","%89":"","%8a":"","%8A":"","%8b":"","%8B":"","%8c":"","%8C":"","%8d":"","%8D":"","%8e":"","%8E":"","%8f":"","%8F":"","%90":"","%91":"","%92":"","%93":"","%94":"","%95":"","%96":"","%97":"","%98":"","%99":"","%9a":"","%9A":"","%9b":"","%9B":"","%9c":"","%9C":"","%9d":"","%9D":"","%9e":"","%9E":"","%9f":"","%9F":"","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"","%Ad":"","%aD":"","%AD":"","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return a[e]}const d=0;const h=1;const m=2;const Q=3;function parseParams(e){const t=[];let n=d;let a="";let k=false;let _=false;let L=0;let U="";const P=e.length;for(var H=0;H<P;++H){const P=e[H];if(P==="\\"&&k){if(_){_=false}else{_=true;continue}}else if(P==='"'){if(!_){if(k){k=false;n=d}else{k=true}continue}else{_=false}}else{if(_&&k){U+="\\"}_=false;if((n===m||n===Q)&&P==="'"){if(n===m){n=Q;a=U.substring(1)}else{n=h}U="";continue}else if(n===d&&(P==="*"||P==="=")&&t.length){n=P==="*"?m:h;t[L]=[U,undefined];U="";continue}else if(!k&&P===";"){n=d;if(a){if(U.length){U=o(U.replace(i,encodedReplacer),"binary",a)}a=""}else if(U.length){U=o(U,"binary","utf8")}if(t[L]===undefined){t[L]=U}else{t[L][1]=U}U="";++L;continue}else if(!k&&(P===" "||P==="\t")){continue}}U+=P}if(a&&U.length){U=o(U.replace(i,encodedReplacer),"binary",a)}else if(U){U=o(U,"binary","utf8")}if(t[L]===undefined){if(U){t[L]=U}}else{t[L][1]=U}return t}e.exports=parseParams},591:e=>{(()=>{"use strict";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{XMLBuilder:()=>oe,XMLParser:()=>Tt,XMLValidator:()=>ie});const o=":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",i=new RegExp("^["+o+"]["+o+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function s(e,t){const n=[];let o=t.exec(e);for(;o;){const i=[];i.startIndex=t.lastIndex-o[0].length;const a=o.length;for(let e=0;e<a;e++)i.push(o[e]);n.push(i),o=t.exec(e)}return n}const r=function(e){return!(null==i.exec(e))},a=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],d=["__proto__","constructor","prototype"],h={allowBooleanAttributes:!1,unpairedTags:[]};function l(e,t){t=Object.assign({},h,t);const n=[];let o=!1,i=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let a=0;a<e.length;a++)if("<"===e[a]&&"?"===e[a+1]){if(a+=2,a=p(e,a),a.err)return a}else{if("<"!==e[a]){if(u(e[a]))continue;return b("InvalidChar","char '"+e[a]+"' is not expected.",w(e,a))}{let d=a;if(a++,"!"===e[a]){a=c(e,a);continue}{let h=!1;"/"===e[a]&&(h=!0,a++);let m="";for(;a<e.length&&">"!==e[a]&&" "!==e[a]&&"\t"!==e[a]&&"\n"!==e[a]&&"\r"!==e[a];a++)m+=e[a];if(m=m.trim(),"/"===m[m.length-1]&&(m=m.substring(0,m.length-1),a--),!E(m)){let t;return t=0===m.trim().length?"Invalid space after '<'.":"Tag '"+m+"' is an invalid name.",b("InvalidTag",t,w(e,a))}const Q=g(e,a);if(!1===Q)return b("InvalidAttr","Attributes for '"+m+"' have open quote.",w(e,a));let k=Q.value;if(a=Q.index,"/"===k[k.length-1]){const n=a-k.length;k=k.substring(0,k.length-1);const i=x(k,t);if(!0!==i)return b(i.err.code,i.err.msg,w(e,n+i.err.line));o=!0}else if(h){if(!Q.tagClosed)return b("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",w(e,a));if(k.trim().length>0)return b("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",w(e,d));if(0===n.length)return b("InvalidTag","Closing tag '"+m+"' has not been opened.",w(e,d));{const t=n.pop();if(m!==t.tagName){let n=w(e,t.tagStartPos);return b("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+m+"'.",w(e,d))}0==n.length&&(i=!0)}}else{const h=x(k,t);if(!0!==h)return b(h.err.code,h.err.msg,w(e,a-k.length+h.err.line));if(!0===i)return b("InvalidXml","Multiple possible root nodes found.",w(e,a));-1!==t.unpairedTags.indexOf(m)||n.push({tagName:m,tagStartPos:d}),o=!0}for(a++;a<e.length;a++)if("<"===e[a]){if("!"===e[a+1]){a++,a=c(e,a);continue}if("?"!==e[a+1])break;if(a=p(e,++a),a.err)return a}else if("&"===e[a]){const t=N(e,a);if(-1==t)return b("InvalidChar","char '&' is not expected.",w(e,a));a=t}else if(!0===i&&!u(e[a]))return b("InvalidXml","Extra text at the end",w(e,a));"<"===e[a]&&a--}}}return o?1==n.length?b("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",w(e,n[0].tagStartPos)):!(n.length>0)||b("InvalidXml","Invalid '"+JSON.stringify(n.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):b("InvalidXml","Start tag expected.",1)}function u(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function p(e,t){const n=t;for(;t<e.length;t++)if("?"==e[t]||" "==e[t]){const o=e.substr(n,t-n);if(t>5&&"xml"===o)return b("InvalidXml","XML declaration allowed only at the start of the document.",w(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}continue}return t}function c(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let n=1;for(t+=8;t<e.length;t++)if("<"===e[t])n++;else if(">"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}const m='"',Q="'";function g(e,t){let n="",o="",i=!1;for(;t<e.length;t++){if(e[t]===m||e[t]===Q)""===o?o=e[t]:o!==e[t]||(o="");else if(">"===e[t]&&""===o){i=!0;break}n+=e[t]}return""===o&&{value:n,index:t,tagClosed:i}}const k=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function x(e,t){const n=s(e,k),o={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return b("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",v(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return b("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",v(n[e]));if(void 0===n[e][3]&&!t.allowBooleanAttributes)return b("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",v(n[e]));const i=n[e][2];if(!y(i))return b("InvalidAttr","Attribute '"+i+"' is an invalid name.",v(n[e]));if(Object.prototype.hasOwnProperty.call(o,i))return b("InvalidAttr","Attribute '"+i+"' is repeated.",v(n[e]));o[i]=1}return!0}function N(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let n=/\d/;for("x"===e[t]&&(t++,n=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(n))break}return-1}(e,++t);let n=0;for(;t<e.length;t++,n++)if(!(e[t].match(/\w/)&&n<20)){if(";"===e[t])break;return-1}return t}function b(e,t,n){return{err:{code:e,msg:t,line:n.line||n,col:n.col}}}function y(e){return r(e)}function E(e){return r(e)}function w(e,t){const n=e.substring(0,t).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function v(e){return e.startIndex+e[1].length}const S=e=>a.includes(e)?"__"+e:e,_={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,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,n){return e},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:S};function A(e,t){if("string"!=typeof e)return;const n=e.toLowerCase();if(a.some((e=>n===e.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);if(d.some((e=>n===e.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`)}function T(e,t){return"boolean"==typeof e?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:"object"==typeof e&&null!==e?{enabled:!1!==e.enabled,maxEntitySize:Math.max(1,e.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,e.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,e.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,e.maxExpandedLength??1e5),maxEntityCount:Math.max(1,e.maxEntityCount??1e3),allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null,appliesTo:e.appliesTo??"all"}:T(!0)}const C=function(e){const t=Object.assign({},_,e),n=[{value:t.attributeNamePrefix,name:"attributeNamePrefix"},{value:t.attributesGroupName,name:"attributesGroupName"},{value:t.textNodeName,name:"textNodeName"},{value:t.cdataPropName,name:"cdataPropName"},{value:t.commentPropName,name:"commentPropName"}];for(const{value:e,name:t}of n)e&&A(e,t);return null===t.onDangerousProperty&&(t.onDangerousProperty=S),t.processEntities=T(t.processEntities,t.htmlEntities),t.unpairedTagsSet=new Set(t.unpairedTags),t.stopNodes&&Array.isArray(t.stopNodes)&&(t.stopNodes=t.stopNodes.map((e=>"string"==typeof e&&e.startsWith("*.")?".."+e.substring(2):e))),t};let L;L="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class O{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){"__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!==t&&(this.child[this.child.length-1][L]={startIndex:t})}static getMetaDataSymbol(){return L}}class ${constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){const n=Object.create(null);let o=0;if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let i=1,a=!1,d=!1,h="";for(;t<e.length;t++)if("<"!==e[t]||d)if(">"===e[t]){if(d?"-"===e[t-1]&&"-"===e[t-2]&&(d=!1,i--):i--,0===i)break}else"["===e[t]?a=!0:h+=e[t];else{if(a&&D(e,"!ENTITY",t)){let i,a;if(t+=7,[i,a,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),-1===a.indexOf("&")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&o>=this.options.maxEntityCount)throw new Error(`Entity count (${o+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);n[i]=a,o++}}else if(a&&D(e,"!ELEMENT",t)){t+=8;const{index:n}=this.readElementExp(e,t+1);t=n}else if(a&&D(e,"!ATTLIST",t))t+=8;else if(a&&D(e,"!NOTATION",t)){t+=9;const{index:n}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=n}else{if(!D(e,"!--",t))throw new Error("Invalid DOCTYPE");d=!0}i++,h=""}if(0!==i)throw new Error("Unclosed DOCTYPE")}return{entities:n,i:t}}readEntityExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t])&&'"'!==e[t]&&"'"!==e[t];)t++;let o=e.substring(n,t);if(M(o),t=I(e,t),!this.suppressValidationErr){if("SYSTEM"===e.substring(t,t+6).toUpperCase())throw new Error("External entities are not supported");if("%"===e[t])throw new Error("Parameter entities are not supported")}let i="";if([t,i]=this.readIdentifierVal(e,t,"entity"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&i.length>this.options.maxEntitySize)throw new Error(`Entity "${o}" size (${i.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[o,i,--t]}readNotationExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);!this.suppressValidationErr&&M(o),t=I(e,t);const i=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&"SYSTEM"!==i&&"PUBLIC"!==i)throw new Error(`Expected SYSTEM or PUBLIC, found "${i}"`);t+=i.length,t=I(e,t);let a=null,d=null;if("PUBLIC"===i)[t,a]=this.readIdentifierVal(e,t,"publicIdentifier"),'"'!==e[t=I(e,t)]&&"'"!==e[t]||([t,d]=this.readIdentifierVal(e,t,"systemIdentifier"));else if("SYSTEM"===i&&([t,d]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!d))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:o,publicIdentifier:a,systemIdentifier:d,index:--t}}readIdentifierVal(e,t,n){let o="";const i=e[t];if('"'!==i&&"'"!==i)throw new Error(`Expected quoted string, found "${i}"`);const a=++t;for(;t<e.length&&e[t]!==i;)t++;if(o=e.substring(a,t),e[t]!==i)throw new Error(`Unterminated ${n} value`);return[++t,o]}readElementExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);if(!this.suppressValidationErr&&!r(o))throw new Error(`Invalid element name: "${o}"`);let i="";if("E"===e[t=I(e,t)]&&D(e,"MPTY",t))t+=4;else if("A"===e[t]&&D(e,"NY",t))t+=2;else if("("===e[t]){const n=++t;for(;t<e.length&&")"!==e[t];)t++;if(i=e.substring(n,t),")"!==e[t])throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:o,contentModel:i.trim(),index:t}}readAttlistExp(e,t){let n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);for(M(o),n=t=I(e,t);t<e.length&&!/\s/.test(e[t]);)t++;let i=e.substring(n,t);if(!M(i))throw new Error(`Invalid attribute name: "${i}"`);t=I(e,t);let a="";if("NOTATION"===e.substring(t,t+8).toUpperCase()){if(a="NOTATION","("!==e[t=I(e,t+=8)])throw new Error(`Expected '(', found "${e[t]}"`);t++;let n=[];for(;t<e.length&&")"!==e[t];){const o=t;for(;t<e.length&&"|"!==e[t]&&")"!==e[t];)t++;let i=e.substring(o,t);if(i=i.trim(),!M(i))throw new Error(`Invalid notation name: "${i}"`);n.push(i),"|"===e[t]&&(t++,t=I(e,t))}if(")"!==e[t])throw new Error("Unterminated list of notations");t++,a+=" ("+n.join("|")+")"}else{const n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;a+=e.substring(n,t);const o=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!o.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}t=I(e,t);let d="";return"#REQUIRED"===e.substring(t,t+8).toUpperCase()?(d="#REQUIRED",t+=8):"#IMPLIED"===e.substring(t,t+7).toUpperCase()?(d="#IMPLIED",t+=7):[t,d]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:o,attributeName:i,attributeType:a,defaultValue:d,index:t}}}const I=(e,t)=>{for(;t<e.length&&/\s/.test(e[t]);)t++;return t};function D(e,t,n){for(let o=0;o<t.length;o++)if(t[o]!==e[n+o+1])return!1;return!0}function M(e){if(r(e))return e;throw new Error(`Invalid entity name ${e}`)}const U=/^[-+]?0x[a-fA-F0-9]+$/,P=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,H={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original"};const Y=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class F{constructor(e){this._matcher=e}get separator(){return this._matcher.separator}getCurrentTag(){const e=this._matcher.path;return e.length>0?e[e.length-1].tag:void 0}getCurrentNamespace(){const e=this._matcher.path;return e.length>0?e[e.length-1].namespace:void 0}getAttrValue(e){const t=this._matcher.path;if(0!==t.length)return t[t.length-1].values?.[e]}hasAttr(e){const t=this._matcher.path;if(0===t.length)return!1;const n=t[t.length-1];return void 0!==n.values&&e in n.values}getPosition(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].position??0}getCounter(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(e,t=!0){return this._matcher.toString(e,t)}toArray(){return this._matcher.path.map((e=>e.tag))}matches(e){return this._matcher.matches(e)}matchesAny(e){return e.matchesAny(this._matcher)}}class R{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new F(this)}push(e,t=null,n=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const o=this.path.length;this.siblingStacks[o]||(this.siblingStacks[o]=new Map);const i=this.siblingStacks[o],a=n?`${n}:${e}`:e,d=i.get(a)||0;let h=0;for(const e of i.values())h+=e;i.set(a,d+1);const m={tag:e,position:h,counter:d};null!=n&&(m.namespace=n),null!=t&&(m.values=t),this.path.push(m)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const e=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),e}updateCurrent(e){if(this.path.length>0){const t=this.path[this.path.length-1];null!=e&&(t.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){if(0!==this.path.length)return this.path[this.path.length-1].values?.[e]}hasAttr(e){if(0===this.path.length)return!1;const t=this.path[this.path.length-1];return void 0!==t.values&&e in t.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,t=!0){const n=e||this.separator;if(n===this.separator&&!0===t){if(null!==this._pathStringCache)return this._pathStringCache;const e=this.path.map((e=>e.namespace?`${e.namespace}:${e.tag}`:e.tag)).join(n);return this._pathStringCache=e,e}return this.path.map((e=>t&&e.namespace?`${e.namespace}:${e.tag}`:e.tag)).join(n)}toArray(){return this.path.map((e=>e.tag))}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(e){const t=e.segments;return 0!==t.length&&(e.hasDeepWildcard()?this._matchWithDeepWildcard(t):this._matchSimple(t))}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let t=0;t<e.length;t++)if(!this._matchSegment(e[t],this.path[t],t===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(e){let t=this.path.length-1,n=e.length-1;for(;n>=0&&t>=0;){const o=e[n];if("deep-wildcard"===o.type){if(n--,n<0)return!0;const o=e[n];let i=!1;for(let e=t;e>=0;e--)if(this._matchSegment(o,this.path[e],e===this.path.length-1)){t=e-1,n--,i=!0;break}if(!i)return!1}else{if(!this._matchSegment(o,this.path[t],t===this.path.length-1))return!1;t--,n--}}return n<0}_matchSegment(e,t,n){if("*"!==e.tag&&e.tag!==t.tag)return!1;if(void 0!==e.namespace&&"*"!==e.namespace&&e.namespace!==t.namespace)return!1;if(void 0!==e.attrName){if(!n)return!1;if(!t.values||!(e.attrName in t.values))return!1;if(void 0!==e.attrValue&&String(t.values[e.attrName])!==String(e.attrValue))return!1}if(void 0!==e.position){if(!n)return!1;const o=t.counter??0;if("first"===e.position&&0!==o)return!1;if("odd"===e.position&&o%2!=1)return!1;if("even"===e.position&&o%2!=0)return!1;if("nth"===e.position&&o!==e.positionValue)return!1}return!0}matchesAny(e){return e.matchesAny(this)}snapshot(){return{path:this.path.map((e=>({...e}))),siblingStacks:this.siblingStacks.map((e=>new Map(e)))}}restore(e){this._pathStringCache=null,this.path=e.path.map((e=>({...e}))),this.siblingStacks=e.siblingStacks.map((e=>new Map(e)))}readOnly(){return this._view}}class G{constructor(e,t={},n){this.pattern=e,this.separator=t.separator||".",this.segments=this._parse(e),this.data=n,this._hasDeepWildcard=this.segments.some((e=>"deep-wildcard"===e.type)),this._hasAttributeCondition=this.segments.some((e=>void 0!==e.attrName)),this._hasPositionSelector=this.segments.some((e=>void 0!==e.position))}_parse(e){const t=[];let n=0,o="";for(;n<e.length;)e[n]===this.separator?n+1<e.length&&e[n+1]===this.separator?(o.trim()&&(t.push(this._parseSegment(o.trim())),o=""),t.push({type:"deep-wildcard"}),n+=2):(o.trim()&&t.push(this._parseSegment(o.trim())),o="",n++):(o+=e[n],n++);return o.trim()&&t.push(this._parseSegment(o.trim())),t}_parseSegment(e){const t={type:"tag"};let n=null,o=e;const i=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(i&&(o=i[1]+i[3],i[2])){const e=i[2].slice(1,-1);e&&(n=e)}let a,d,h=o;if(o.includes("::")){const t=o.indexOf("::");if(a=o.substring(0,t).trim(),h=o.substring(t+2).trim(),!a)throw new Error(`Invalid namespace in pattern: ${e}`)}let m=null;if(h.includes(":")){const e=h.lastIndexOf(":"),t=h.substring(0,e).trim(),n=h.substring(e+1).trim();["first","last","odd","even"].includes(n)||/^nth\(\d+\)$/.test(n)?(d=t,m=n):d=h}else d=h;if(!d)throw new Error(`Invalid segment pattern: ${e}`);if(t.tag=d,a&&(t.namespace=a),n)if(n.includes("=")){const e=n.indexOf("=");t.attrName=n.substring(0,e).trim(),t.attrValue=n.substring(e+1).trim()}else t.attrName=n.trim();if(m){const e=m.match(/^nth\((\d+)\)$/);e?(t.position="nth",t.positionValue=parseInt(e[1],10)):t.position=m}return t}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class B{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._patterns=new Set,this._sealed=!1}add(e){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(e.pattern))return this;if(this._patterns.add(e.pattern),e.hasDeepWildcard())return this._deepWildcards.push(e),this;const t=e.length,n=e.segments[e.segments.length-1],o=n?.tag;if(o&&"*"!==o){const n=`${t}:${o}`;this._byDepthAndTag.has(n)||this._byDepthAndTag.set(n,[]),this._byDepthAndTag.get(n).push(e)}else this._wildcardByDepth.has(t)||this._wildcardByDepth.set(t,[]),this._wildcardByDepth.get(t).push(e);return this}addAll(e){for(const t of e)this.add(t);return this}has(e){return this._patterns.has(e.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(e){return null!==this.findMatch(e)}findMatch(e){const t=e.getDepth(),n=`${t}:${e.getCurrentTag()}`,o=this._byDepthAndTag.get(n);if(o)for(let t=0;t<o.length;t++)if(e.matches(o[t]))return o[t];const i=this._wildcardByDepth.get(t);if(i)for(let t=0;t<i.length;t++)if(e.matches(i[t]))return i[t];for(let t=0;t<this._deepWildcards.length;t++)if(e.matches(this._deepWildcards[t]))return this._deepWildcards[t];return null}}const V={cent:"¢",pound:"£",curren:"¤",yen:"¥",euro:"€",dollar:"$",euro:"€",fnof:"ƒ",inr:"₹",af:"؋",birr:"ብር",peso:"₱",rub:"₽",won:"₩",yuan:"¥",cedil:"¸"},J={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'},W={nbsp:" ",copy:"©",reg:"®",trade:"™",mdash:"—",ndash:"–",hellip:"…",laquo:"«",raquo:"»",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",para:"¶",sect:"§",deg:"°",frac12:"½",frac14:"¼",frac34:"¾"},j=new Set("!?\\\\/[]$%{}^&*()<>|+");function z(e){if("#"===e[0])throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${e}"`);for(const t of e)if(j.has(t))throw new Error(`[EntityReplacer] Invalid character '${t}' in entity name: "${e}"`);return e}function q(...e){const t=Object.create(null);for(const n of e)if(n)for(const e of Object.keys(n)){const o=n[e];if("string"==typeof o)t[e]=o;else if(o&&"object"==typeof o&&void 0!==o.val){const n=o.val;"string"==typeof n&&(t[e]=n)}}return t}const K="external",X="base",Z="all",ee=Object.freeze({allow:0,leave:1,remove:2,throw:3}),te=new Set([9,10,13]);class tt{constructor(e={}){var t;this._limit=e.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck="function"==typeof e.postCheck?e.postCheck:e=>e,this._limitTiers=(t=this._limit.applyLimitsTo??K)&&t!==K?t===Z?new Set([Z]):t===X?new Set([X]):Array.isArray(t)?new Set(t):new Set([K]):new Set([K]),this._numericAllowed=e.numericAllowed??!0,this._baseMap=q(J,e.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(e.remove&&Array.isArray(e.remove)?e.remove:[]),this._leaveSet=new Set(e.leave&&Array.isArray(e.leave)?e.leave:[]);const n=function(e){if(!e)return{xmlVersion:1,onLevel:ee.allow,nullLevel:ee.remove};const t=1.1===e.xmlVersion?1.1:1,n=ee[e.onNCR]??ee.allow,o=ee[e.nullNCR]??ee.remove;return{xmlVersion:t,onLevel:n,nullLevel:Math.max(o,ee.remove)}}(e.ncr);this._ncrXmlVersion=n.xmlVersion,this._ncrOnLevel=n.onLevel,this._ncrNullLevel=n.nullLevel}setExternalEntities(e){if(e)for(const t of Object.keys(e))z(t);this._externalMap=q(e)}addExternalEntity(e,t){z(e),"string"==typeof t&&-1===t.indexOf("&")&&(this._externalMap[e]=t)}addInputEntities(e){this._totalExpansions=0,this._expandedLength=0,this._inputMap=q(e)}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(e){this._ncrXmlVersion=1.1===e?1.1:1}decode(e){if("string"!=typeof e||0===e.length)return e;const t=e,n=[],o=e.length;let i=0,a=0;const d=this._maxTotalExpansions>0,h=this._maxExpandedLength>0,m=d||h;for(;a<o;){if(38!==e.charCodeAt(a)){a++;continue}let t=a+1;for(;t<o&&59!==e.charCodeAt(t)&&t-a<=32;)t++;if(t>=o||59!==e.charCodeAt(t)){a++;continue}const Q=e.slice(a+1,t);if(0===Q.length){a++;continue}let k,_;if(this._removeSet.has(Q))k="",void 0===_&&(_=K);else{if(this._leaveSet.has(Q)){a++;continue}if(35===Q.charCodeAt(0)){const e=this._resolveNCR(Q);if(void 0===e){a++;continue}k=e,_=X}else{const e=this._resolveName(Q);k=e?.value,_=e?.tier}}if(void 0!==k){if(a>i&&n.push(e.slice(i,a)),n.push(k),i=t+1,a=i,m&&this._tierCounts(_)){if(d&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(h){const e=k.length-(Q.length+2);if(e>0&&(this._expandedLength+=e,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else a++}i<o&&n.push(e.slice(i));const Q=0===n.length?e:n.join("");return this._postCheck(Q,t)}_tierCounts(e){return!!this._limitTiers.has(Z)||this._limitTiers.has(e)}_resolveName(e){return e in this._inputMap?{value:this._inputMap[e],tier:K}:e in this._externalMap?{value:this._externalMap[e],tier:K}:e in this._baseMap?{value:this._baseMap[e],tier:X}:void 0}_classifyNCR(e){return 0===e?this._ncrNullLevel:e>=55296&&e<=57343||1===this._ncrXmlVersion&&e>=1&&e<=31&&!te.has(e)?ee.remove:-1}_applyNCRAction(e,t,n){switch(e){case ee.allow:return String.fromCodePoint(n);case ee.remove:return"";case ee.leave:return;case ee.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${t}; (U+${n.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(n)}}_resolveNCR(e){const t=e.charCodeAt(1);let n;if(n=120===t||88===t?parseInt(e.slice(2),16):parseInt(e.slice(1),10),Number.isNaN(n)||n<0||n>1114111)return;const o=this._classifyNCR(n);if(!this._numericAllowed&&o<ee.remove)return;const i=-1===o?this._ncrOnLevel:Math.max(this._ncrOnLevel,o);return this._applyNCRAction(i,e,n)}}function et(e,t){if(!e)return{};const n=t.attributesGroupName?e[t.attributesGroupName]:e;if(!n)return{};const o={};for(const e in n)e.startsWith(t.attributeNamePrefix)?o[e.substring(t.attributeNamePrefix.length)]=n[e]:o[e]=n[e];return o}function nt(e){if(!e||"string"!=typeof e)return;const t=e.indexOf(":");if(-1!==t&&t>0){const n=e.substring(0,t);if("xmlns"!==n)return n}}class it{constructor(e,t){var n;this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=ht,this.parseTextData=st,this.resolveNameSpace=rt,this.buildAttributesMap=at,this.isItStopNode=ct,this.replaceEntitiesValue=ut,this.readStopNodeData=mt,this.saveTextToParentTag=pt,this.addChild=lt,this.ignoreAttributesFn="function"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?e=>{for(const t of n){if("string"==typeof t&&e===t)return!0;if(t instanceof RegExp&&t.test(e))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0;let o={...J};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:("object"==typeof this.options.htmlEntities?o=this.options.htmlEntities:!0===this.options.htmlEntities&&(o={...W,...V}),this.entityDecoder=new tt({namedEntities:{...o,...t},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo}})),this.matcher=new R,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new B;const i=this.options.stopNodes;if(i&&i.length>0){for(let e=0;e<i.length;e++){const t=i[e];"string"==typeof t?this.stopNodeExpressionsSet.add(new G(t)):t instanceof G&&this.stopNodeExpressionsSet.add(t)}this.stopNodeExpressionsSet.seal()}}}function st(e,t,n,o,i,a,d){const h=this.options;if(void 0!==e&&(h.trimValues&&!o&&(e=e.trim()),e.length>0)){d||(e=this.replaceEntitiesValue(e,t,n));const o=h.jPath?n.toString():n,m=h.tagValueProcessor(t,e,o,i,a);return null==m?e:typeof m!=typeof e||m!==e?m:h.trimValues||e.trim()===e?xt(e,h.parseTagValue,h.numberParseOptions):e}}function rt(e){if(this.options.removeNSPrefix){const t=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=n+t[1])}return e}const re=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function at(e,t,n,o=!1){const i=this.options;if(!0===o||!0!==i.ignoreAttributes&&"string"==typeof e){const o=s(e,re),a=o.length,d={},h=new Array(a);let m=!1;const Q={};for(let e=0;e<a;e++){const t=this.resolveNameSpace(o[e][1]),a=o[e][4];if(t.length&&void 0!==a){let o=a;i.trimValues&&(o=o.trim()),o=this.replaceEntitiesValue(o,n,this.readonlyMatcher),h[e]=o,Q[t]=o,m=!0}}m&&"object"==typeof t&&t.updateCurrent&&t.updateCurrent(Q);const k=i.jPath?t.toString():this.readonlyMatcher;let _=!1;for(let e=0;e<a;e++){const t=this.resolveNameSpace(o[e][1]);if(this.ignoreAttributesFn(t,k))continue;let n=i.attributeNamePrefix+t;if(t.length)if(i.transformAttributeName&&(n=i.transformAttributeName(n)),n=bt(n,i),void 0!==o[e][4]){const o=h[e],a=i.attributeValueProcessor(t,o,k);d[n]=null==a?o:typeof a!=typeof o||a!==o?a:xt(o,i.parseAttributeValue,i.numberParseOptions),_=!0}else i.allowBooleanAttributes&&(d[n]=!0,_=!0)}if(!_)return;if(i.attributesGroupName&&!i.preserveOrder){const e={};return e[i.attributesGroupName]=d,e}return d}}const ht=function(e){e=e.replace(/\r\n?/g,"\n");const t=new O("!xml");let n=t,o="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;const i=this.options,a=new $(i.processEntities),d=e.length;for(let h=0;h<d;h++)if("<"===e[h]){const m=e.charCodeAt(h+1);if(47===m){const t=dt(e,">",h,"Closing Tag is not closed.");let a=e.substring(h+2,t).trim();if(i.removeNSPrefix){const e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}a=Nt(i.transformTagName,a,"",i).tagName,n&&(o=this.saveTextToParentTag(o,n,this.readonlyMatcher));const d=this.matcher.getCurrentTag();if(a&&i.unpairedTagsSet.has(a))throw new Error(`Unpaired tag can not be used as closing tag: </${a}>`);d&&i.unpairedTagsSet.has(d)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,n=this.tagsNodeStack.pop(),o="",h=t}else if(63===m){let t=gt(e,h,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");o=this.saveTextToParentTag(o,n,this.readonlyMatcher);const a=this.buildAttributesMap(t.tagExp,this.matcher,t.tagName,!0);if(a){const e=a[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(e)||1)}if(i.ignoreDeclaration&&"?xml"===t.tagName||i.ignorePiTags);else{const e=new O(t.tagName);e.add(i.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&!0!==i.ignoreAttributes&&(e[":@"]=a),this.addChild(n,e,this.readonlyMatcher,h)}h=t.closeIndex+1}else if(33===m&&45===e.charCodeAt(h+2)&&45===e.charCodeAt(h+3)){const t=dt(e,"--\x3e",h+4,"Comment is not closed.");if(i.commentPropName){const a=e.substring(h+4,t-2);o=this.saveTextToParentTag(o,n,this.readonlyMatcher),n.add(i.commentPropName,[{[i.textNodeName]:a}])}h=t}else if(33===m&&68===e.charCodeAt(h+2)){const t=a.readDocType(e,h);this.entityDecoder.addInputEntities(t.entities),h=t.i}else if(33===m&&91===e.charCodeAt(h+2)){const t=dt(e,"]]>",h,"CDATA is not closed.")-2,a=e.substring(h+9,t);o=this.saveTextToParentTag(o,n,this.readonlyMatcher);let d=this.parseTextData(a,n.tagname,this.readonlyMatcher,!0,!1,!0,!0);null==d&&(d=""),i.cdataPropName?n.add(i.cdataPropName,[{[i.textNodeName]:a}]):n.add(i.textNodeName,d),h=t+2}else{let a=gt(e,h,i.removeNSPrefix);if(!a){const t=e.substring(Math.max(0,h-50),Math.min(d,h+50));throw new Error(`readTagExp returned undefined at position ${h}. Context: "${t}"`)}let m=a.tagName;const Q=a.rawTagName;let k=a.tagExp,_=a.attrExpPresent,L=a.closeIndex;if(({tagName:m,tagExp:k}=Nt(i.transformTagName,m,k,i)),i.strictReservedNames&&(m===i.commentPropName||m===i.cdataPropName||m===i.textNodeName||m===i.attributesGroupName))throw new Error(`Invalid tag name: ${m}`);n&&o&&"!xml"!==n.tagname&&(o=this.saveTextToParentTag(o,n,this.readonlyMatcher,!1));const U=n;U&&i.unpairedTagsSet.has(U.tagname)&&(n=this.tagsNodeStack.pop(),this.matcher.pop());let P=!1;k.length>0&&k.lastIndexOf("/")===k.length-1&&(P=!0,"/"===m[m.length-1]?(m=m.substr(0,m.length-1),k=m):k=k.substr(0,k.length-1),_=m!==k);let H,Y=null,V={};H=nt(Q),m!==t.tagname&&this.matcher.push(m,{},H),m!==k&&_&&(Y=this.buildAttributesMap(k,this.matcher,m),Y&&(V=et(Y,i))),m!==t.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());const J=h;if(this.isCurrentNodeStopNode){let t="";if(P)h=a.closeIndex;else if(i.unpairedTagsSet.has(m))h=a.closeIndex;else{const n=this.readStopNodeData(e,Q,L+1);if(!n)throw new Error(`Unexpected end of ${Q}`);h=n.i,t=n.tagContent}const o=new O(m);Y&&(o[":@"]=Y),o.add(i.textNodeName,t),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(n,o,this.readonlyMatcher,J)}else{if(P){({tagName:m,tagExp:k}=Nt(i.transformTagName,m,k,i));const e=new O(m);Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else{if(i.unpairedTagsSet.has(m)){const e=new O(m);Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),this.matcher.pop(),this.isCurrentNodeStopNode=!1,h=a.closeIndex;continue}{const e=new O(m);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(n),Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),n=e}}o="",h=L}}}else o+=e[h];return t.child};function lt(e,t,n,o){this.options.captureMetaData||(o=void 0);const i=this.options.jPath?n.toString():n,a=this.options.updateTag(t.tagname,i,t[":@"]);!1===a||("string"==typeof a?(t.tagname=a,e.addChild(t,o)):e.addChild(t,o))}function ut(e,t,n){const o=this.options.processEntities;if(!o||!o.enabled)return e;if(o.allowedTags){const i=this.options.jPath?n.toString():n;if(!(Array.isArray(o.allowedTags)?o.allowedTags.includes(t):o.allowedTags(t,i)))return e}if(o.tagFilter){const i=this.options.jPath?n.toString():n;if(!o.tagFilter(t,i))return e}return this.entityDecoder.decode(e)}function pt(e,t,n,o){return e&&(void 0===o&&(o=0===t.child.length),void 0!==(e=this.parseTextData(e,t.tagname,n,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,o))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function ct(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function dt(e,t,n,o){const i=e.indexOf(t,n);if(-1===i)throw new Error(o);return i+t.length-1}function ft(e,t,n,o){const i=e.indexOf(t,n);if(-1===i)throw new Error(o);return i}function gt(e,t,n,o=">"){const i=function(e,t,n=">"){let o=0;const i=e.length,a=n.charCodeAt(0),d=n.length>1?n.charCodeAt(1):-1;let h="",m=t;for(let n=t;n<i;n++){const t=e.charCodeAt(n);if(o)t===o&&(o=0);else if(34===t||39===t)o=t;else if(t===a){if(-1===d)return h+=e.substring(m,n),{data:h,index:n};if(e.charCodeAt(n+1)===d)return h+=e.substring(m,n),{data:h,index:n}}else 9!==t||o||(h+=e.substring(m,n)+" ",m=n+1)}}(e,t+1,o);if(!i)return;let a=i.data;const d=i.index,h=a.search(/\s/);let m=a,Q=!0;-1!==h&&(m=a.substring(0,h),a=a.substring(h+1).trimStart());const k=m;if(n){const e=m.indexOf(":");-1!==e&&(m=m.substr(e+1),Q=m!==i.data.substr(e+1))}return{tagName:m,tagExp:a,closeIndex:d,attrExpPresent:Q,rawTagName:k}}function mt(e,t,n){const o=n;let i=1;const a=e.length;for(;n<a;n++)if("<"===e[n]){const a=e.charCodeAt(n+1);if(47===a){const a=ft(e,">",n,`${t} is not closed`);if(e.substring(n+2,a).trim()===t&&(i--,0===i))return{tagContent:e.substring(o,n),i:a};n=a}else if(63===a)n=dt(e,"?>",n+1,"StopNode is not closed.");else if(33===a&&45===e.charCodeAt(n+2)&&45===e.charCodeAt(n+3))n=dt(e,"--\x3e",n+3,"StopNode is not closed.");else if(33===a&&91===e.charCodeAt(n+2))n=dt(e,"]]>",n,"StopNode is not closed.")-2;else{const o=gt(e,n,!1);o&&((o&&o.tagName)===t&&"/"!==o.tagExp[o.tagExp.length-1]&&i++,n=o.closeIndex)}}}function xt(e,t,n){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&function(e,t={}){if(t=Object.assign({},H,t),!e||"string"!=typeof e)return e;let n=e.trim();if(0===n.length)return e;if(void 0!==t.skipLike&&t.skipLike.test(n))return e;if("0"===n)return 0;if(t.hex&&U.test(n))return function(e){if(parseInt)return parseInt(e,16);if(Number.parseInt)return Number.parseInt(e,16);if(window&&window.parseInt)return window.parseInt(e,16);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}(n);if(isFinite(n)){if(n.includes("e")||n.includes("E"))return function(e,t,n){if(!n.eNotation)return e;const o=t.match(Y);if(o){let i=o[1]||"";const a=-1===o[3].indexOf("e")?"E":"e",d=o[2],h=i?e[d.length+1]===a:e[d.length]===a;return d.length>1&&h?e:(1!==d.length||!o[3].startsWith(`.${a}`)&&o[3][0]!==a)&&d.length>0?n.leadingZeros&&!h?(t=(o[1]||"")+o[3],Number(t)):e:Number(t)}return e}(e,n,t);{const i=P.exec(n);if(i){const a=i[1]||"",d=i[2];let h=(o=i[3])&&-1!==o.indexOf(".")?("."===(o=o.replace(/0+$/,""))?o="0":"."===o[0]?o="0"+o:"."===o[o.length-1]&&(o=o.substring(0,o.length-1)),o):o;const m=a?"."===e[d.length+1]:"."===e[d.length];if(!t.leadingZeros&&(d.length>1||1===d.length&&!m))return e;{const o=Number(n),i=String(o);if(0===o)return o;if(-1!==i.search(/[eE]/))return t.eNotation?o:e;if(-1!==n.indexOf("."))return"0"===i||i===h||i===`${a}${h}`?o:e;let m=d?h:n;return d?m===i||a+m===i?o:e:m===i||m===a+i?o:e}}return e}}var o;return function(e,t,n){const o=t===1/0;switch(n.infinity.toLowerCase()){case"null":return null;case"infinity":return t;case"string":return o?"Infinity":"-Infinity";default:return e}}(e,Number(n),t)}(e,n)}return void 0!==e?e:""}function Nt(e,t,n,o){if(e){const o=e(t);n===t&&(n=o),t=o}return{tagName:t=bt(t,o),tagExp:n}}function bt(e,t){if(d.includes(e))throw new Error(`[SECURITY] Invalid name: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);return a.includes(e)?t.onDangerousProperty(e):e}const se=O.getMetaDataSymbol();function Et(e,t){if(!e||"object"!=typeof e)return{};if(!t)return e;const n={};for(const o in e)o.startsWith(t)?n[o.substring(t.length)]=e[o]:n[o]=e[o];return n}function wt(e,t,n,o){return vt(e,t,n,o)}function vt(e,t,n,o){let i;const a={};for(let d=0;d<e.length;d++){const h=e[d],m=St(h);if(void 0!==m&&m!==t.textNodeName){const e=Et(h[":@"]||{},t.attributeNamePrefix);n.push(m,e)}if(m===t.textNodeName)void 0===i?i=h[m]:i+=""+h[m];else{if(void 0===m)continue;if(h[m]){let e=vt(h[m],t,n,o);const i=At(e,t);if(0===Object.keys(e).length&&t.alwaysCreateTextNode&&(e[t.textNodeName]=""),h[":@"]?_t(e,h[":@"],o,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==h[se]&&"object"==typeof e&&null!==e&&(e[se]=h[se]),void 0!==a[m]&&Object.prototype.hasOwnProperty.call(a,m))Array.isArray(a[m])||(a[m]=[a[m]]),a[m].push(e);else{const n=t.jPath?o.toString():o;t.isArray(m,n,i)?a[m]=[e]:a[m]=e}void 0!==m&&m!==t.textNodeName&&n.pop()}}}return"string"==typeof i?i.length>0&&(a[t.textNodeName]=i):void 0!==i&&(a[t.textNodeName]=i),a}function St(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const n=t[e];if(":@"!==n)return n}}function _t(e,t,n,o){if(t){const i=Object.keys(t),a=i.length;for(let d=0;d<a;d++){const a=i[d],h=a.startsWith(o.attributeNamePrefix)?a.substring(o.attributeNamePrefix.length):a,m=o.jPath?n.toString()+"."+h:n;o.isArray(a,m,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function At(e,t){const{textNodeName:n}=t,o=Object.keys(e).length;return 0===o||!(1!==o||!e[n]&&"boolean"!=typeof e[n]&&0!==e[n])}class Tt{constructor(e){this.externalEntities={},this.options=C(e)}parse(e,t){if("string"!=typeof e&&e.toString)e=e.toString();else if("string"!=typeof e)throw new Error("XML data is accepted in String or Bytes[] form.");if(t){!0===t&&(t={});const n=l(e,t);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new it(this.options,this.externalEntities),o=n.parseXml(e);return this.options.preserveOrder||void 0===o?o:wt(o,this.options,n.matcher,n.readonlyMatcher)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return O.getMetaDataSymbol()}}function Ct(e){return String(e).replace(/--/g,"- -").replace(/--/g,"- -").replace(/-$/,"- ")}function Pt(e){return String(e).replace(/\]\]>/g,"]]]]><![CDATA[>")}function Ot(e){return String(e).replace(/"/g,""").replace(/'/g,"'")}function $t(e,t){let n="";t.format&&t.indentBy.length>0&&(n="\n");const o=[];if(t.stopNodes&&Array.isArray(t.stopNodes))for(let e=0;e<t.stopNodes.length;e++){const n=t.stopNodes[e];"string"==typeof n?o.push(new G(n)):n instanceof G&&o.push(n)}return It(e,t,n,new R,o)}function It(e,t,n,o,i){let a="",d=!1;if(t.maxNestedTags&&o.getDepth()>t.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(e)){if(null!=e){let n=e.toString();return n=Ft(n,t),n}return""}for(let h=0;h<e.length;h++){const m=e[h],Q=Vt(m);if(void 0===Q)continue;const k=Dt(m[":@"],t);o.push(Q,k);const _=kt(o,i);if(Q===t.textNodeName){let e=m[Q];_||(e=t.tagValueProcessor(Q,e),e=Ft(e,t)),d&&(a+=n),a+=e,d=!1,o.pop();continue}if(Q===t.cdataPropName){d&&(a+=n),a+=`<![CDATA[${Pt(m[Q][0][t.textNodeName])}]]>`,d=!1,o.pop();continue}if(Q===t.commentPropName){a+=n+`\x3c!--${Ct(m[Q][0][t.textNodeName])}--\x3e`,d=!0,o.pop();continue}if("?"===Q[0]){const e=Lt(m[":@"],t,_),i="?xml"===Q?"":n;let h=m[Q][0][t.textNodeName];h=0!==h.length?" "+h:"",a+=i+`<${Q}${h}${e}?>`,d=!0,o.pop();continue}let L=n;""!==L&&(L+=t.indentBy);const U=n+`<${Q}${Lt(m[":@"],t,_)}`;let P;P=_?Mt(m[Q],t):It(m[Q],t,L,o,i),-1!==t.unpairedTags.indexOf(Q)?t.suppressUnpairedNode?a+=U+">":a+=U+"/>":P&&0!==P.length||!t.suppressEmptyNode?P&&P.endsWith(">")?a+=U+`>${P}${n}</${Q}>`:(a+=U+">",P&&""!==n&&(P.includes("/>")||P.includes("</"))?a+=n+t.indentBy+P+n:a+=P,a+=`</${Q}>`):a+=U+"/>",d=!0,o.pop()}return a}function Dt(e,t){if(!e||t.ignoreAttributes)return null;const n={};let o=!1;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i.startsWith(t.attributeNamePrefix)?i.substr(t.attributeNamePrefix.length):i]=Ot(e[i]),o=!0);return o?n:null}function Mt(e,t){if(!Array.isArray(e))return null!=e?e.toString():"";let n="";for(let o=0;o<e.length;o++){const i=e[o],a=Vt(i);if(a===t.textNodeName)n+=i[a];else if(a===t.cdataPropName)n+=i[a][0][t.textNodeName];else if(a===t.commentPropName)n+=i[a][0][t.textNodeName];else{if(a&&"?"===a[0])continue;if(a){const e=jt(i[":@"],t),o=Mt(i[a],t);o&&0!==o.length?n+=`<${a}${e}>${o}</${a}>`:n+=`<${a}${e}/>`}}}return n}function jt(e,t){let n="";if(e&&!t.ignoreAttributes)for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;let i=e[o];!0===i&&t.suppressBooleanAttributes?n+=` ${o.substr(t.attributeNamePrefix.length)}`:n+=` ${o.substr(t.attributeNamePrefix.length)}="${Ot(i)}"`}return n}function Vt(e){const t=Object.keys(e);for(let n=0;n<t.length;n++){const o=t[n];if(Object.prototype.hasOwnProperty.call(e,o)&&":@"!==o)return o}}function Lt(e,t,n){let o="";if(e&&!t.ignoreAttributes)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let a;n?a=e[i]:(a=t.attributeValueProcessor(i,e[i]),a=Ft(a,t)),!0===a&&t.suppressBooleanAttributes?o+=` ${i.substr(t.attributeNamePrefix.length)}`:o+=` ${i.substr(t.attributeNamePrefix.length)}="${Ot(a)}"`}return o}function kt(e,t){if(!t||0===t.length)return!1;for(let n=0;n<t.length;n++)if(e.matches(t[n]))return!0;return!1}function Ft(e,t){if(e&&e.length>0&&t.processEntities)for(let n=0;n<t.entities.length;n++){const o=t.entities[n];e=e.replace(o.regex,o.val)}return e}const ne={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function Gt(e){if(this.options=Object.assign({},ne,e),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map((e=>"string"==typeof e&&e.startsWith("*.")?".."+e.substring(2):e))),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let e=0;e<this.options.stopNodes.length;e++){const t=this.options.stopNodes[e];"string"==typeof t?this.stopNodeExpressions.push(new G(t)):t instanceof G&&this.stopNodeExpressions.push(t)}var t;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const n of t){if("string"==typeof n&&e===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Wt),this.processTextOrObjNode=Bt,this.options.format?(this.indentate=Ut,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function Bt(e,t,n,o){const i=this.extractAttributes(e);if(o.push(t,i),this.checkStopNode(o)){const i=this.buildRawContent(e),a=this.buildAttributesForStopNode(e);return o.pop(),this.buildObjectNode(i,t,a,n)}const a=this.j2x(e,n+1,o);return o.pop(),void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,a.attrStr,n,o):this.buildObjectNode(a.val,t,a.attrStr,n)}function Ut(e){return this.options.indentBy.repeat(e)}function Wt(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}Gt.prototype.build=function(e){if(this.options.preserveOrder)return $t(e,this.options);{Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e});const t=new R;return this.j2x(e,0,t).val}},Gt.prototype.j2x=function(e,t,n){let o="",i="";if(this.options.maxNestedTags&&n.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const a=this.options.jPath?n.toString():n,d=this.checkStopNode(n);for(let h in e)if(Object.prototype.hasOwnProperty.call(e,h))if(void 0===e[h])this.isAttribute(h)&&(i+="");else if(null===e[h])this.isAttribute(h)||h===this.options.cdataPropName||h===this.options.commentPropName?i+="":"?"===h[0]?i+=this.indentate(t)+"<"+h+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+h+"/"+this.tagEndChar;else if(e[h]instanceof Date)i+=this.buildTextValNode(e[h],h,"",t,n);else if("object"!=typeof e[h]){const m=this.isAttribute(h);if(m&&!this.ignoreAttributesFn(m,a))o+=this.buildAttrPairStr(m,""+e[h],d);else if(!m)if(h===this.options.textNodeName){let t=this.options.tagValueProcessor(h,""+e[h]);i+=this.replaceEntitiesValue(t)}else{n.push(h);const o=this.checkStopNode(n);if(n.pop(),o){const n=""+e[h];i+=""===n?this.indentate(t)+"<"+h+this.closeTag(h)+this.tagEndChar:this.indentate(t)+"<"+h+">"+n+"</"+h+this.tagEndChar}else i+=this.buildTextValNode(e[h],h,"",t,n)}}else if(Array.isArray(e[h])){const o=e[h].length;let a="",d="";for(let m=0;m<o;m++){const o=e[h][m];if(void 0===o);else if(null===o)"?"===h[0]?i+=this.indentate(t)+"<"+h+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+h+"/"+this.tagEndChar;else if("object"==typeof o)if(this.options.oneListGroup){n.push(h);const e=this.j2x(o,t+1,n);n.pop(),a+=e.val,this.options.attributesGroupName&&o.hasOwnProperty(this.options.attributesGroupName)&&(d+=e.attrStr)}else a+=this.processTextOrObjNode(o,h,t,n);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(h,o);e=this.replaceEntitiesValue(e),a+=e}else{n.push(h);const e=this.checkStopNode(n);if(n.pop(),e){const e=""+o;a+=""===e?this.indentate(t)+"<"+h+this.closeTag(h)+this.tagEndChar:this.indentate(t)+"<"+h+">"+e+"</"+h+this.tagEndChar}else a+=this.buildTextValNode(o,h,"",t,n)}}this.options.oneListGroup&&(a=this.buildObjectNode(a,h,d,t)),i+=a}else if(this.options.attributesGroupName&&h===this.options.attributesGroupName){const t=Object.keys(e[h]),n=t.length;for(let i=0;i<n;i++)o+=this.buildAttrPairStr(t[i],""+e[h][t[i]],d)}else i+=this.processTextOrObjNode(e[h],h,t,n);return{attrStr:o,val:i}},Gt.prototype.buildAttrPairStr=function(e,t,n){return n||(t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t)),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+Ot(t)+'"'},Gt.prototype.extractAttributes=function(e){if(!e||"object"!=typeof e)return null;const t={};let n=!1;if(this.options.attributesGroupName&&e[this.options.attributesGroupName]){const o=e[this.options.attributesGroupName];for(let e in o)Object.prototype.hasOwnProperty.call(o,e)&&(t[e.startsWith(this.options.attributeNamePrefix)?e.substring(this.options.attributeNamePrefix.length):e]=Ot(o[e]),n=!0)}else for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;const i=this.isAttribute(o);i&&(t[i]=Ot(e[o]),n=!0)}return n?t:null},Gt.prototype.buildRawContent=function(e){if("string"==typeof e)return e;if("object"!=typeof e||null===e)return String(e);if(void 0!==e[this.options.textNodeName])return e[this.options.textNodeName];let t="";for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if(this.isAttribute(n))continue;if(this.options.attributesGroupName&&n===this.options.attributesGroupName)continue;const o=e[n];if(n===this.options.textNodeName)t+=o;else if(Array.isArray(o)){for(let e of o)if("string"==typeof e||"number"==typeof e)t+=`<${n}>${e}</${n}>`;else if("object"==typeof e&&null!==e){const o=this.buildRawContent(e),i=this.buildAttributesForStopNode(e);t+=""===o?`<${n}${i}/>`:`<${n}${i}>${o}</${n}>`}}else if("object"==typeof o&&null!==o){const e=this.buildRawContent(o),i=this.buildAttributesForStopNode(o);t+=""===e?`<${n}${i}/>`:`<${n}${i}>${e}</${n}>`}else t+=`<${n}>${o}</${n}>`}return t},Gt.prototype.buildAttributesForStopNode=function(e){if(!e||"object"!=typeof e)return"";let t="";if(this.options.attributesGroupName&&e[this.options.attributesGroupName]){const n=e[this.options.attributesGroupName];for(let e in n){if(!Object.prototype.hasOwnProperty.call(n,e))continue;const o=e.startsWith(this.options.attributeNamePrefix)?e.substring(this.options.attributeNamePrefix.length):e,i=n[e];!0===i&&this.options.suppressBooleanAttributes?t+=" "+o:t+=" "+o+'="'+i+'"'}}else for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;const o=this.isAttribute(n);if(o){const i=e[n];!0===i&&this.options.suppressBooleanAttributes?t+=" "+o:t+=" "+o+'="'+i+'"'}}return t},Gt.prototype.buildObjectNode=function(e,t,n,o){if(""===e)return"?"===t[0]?this.indentate(o)+"<"+t+n+"?"+this.tagEndChar:this.indentate(o)+"<"+t+n+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,a="";return"?"===t[0]&&(a="?",i=""),!n&&""!==n||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===a.length?this.indentate(o)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(o)+"<"+t+n+a+this.tagEndChar+e+this.indentate(o)+i:this.indentate(o)+"<"+t+n+a+">"+e+i}},Gt.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},Gt.prototype.checkStopNode=function(e){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let t=0;t<this.stopNodeExpressions.length;t++)if(e.matches(this.stopNodeExpressions[t]))return!0;return!1},Gt.prototype.buildTextValNode=function(e,t,n,o,i){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName){const t=Pt(e);return this.indentate(o)+`<![CDATA[${t}]]>`+this.newLine}if(!1!==this.options.commentPropName&&t===this.options.commentPropName){const t=Ct(e);return this.indentate(o)+`\x3c!--${t}--\x3e`+this.newLine}if("?"===t[0])return this.indentate(o)+"<"+t+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(o)+"<"+t+n+this.closeTag(t)+this.tagEndChar:this.indentate(o)+"<"+t+n+">"+i+"</"+t+this.tagEndChar}},Gt.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const n=this.options.entities[t];e=e.replace(n.regex,n.val)}return e};const oe=Gt,ie={validate:l};e.exports=n})()},245:e=>{"use strict";e.exports=JSON.parse('{"name":"@aws-sdk/client-pricing","description":"AWS SDK for JavaScript Pricing Client for Node.js, Browser and React Native","version":"3.1048.0","scripts":{"build":"concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline client-pricing","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo pricing","test:index":"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.974.11","@aws-sdk/credential-provider-node":"^3.972.42","@aws-sdk/types":"^3.973.8","@smithy/core":"^3.24.2","@smithy/fetch-http-handler":"^5.4.2","@smithy/node-http-handler":"^4.7.2","@smithy/types":"^4.14.1","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node20":"20.1.8","@types/node":"^20.14.8","concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"engines":{"node":">=20.0.0"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-pricing","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pricing"}}')}};var t={};function __nccwpck_require__(n){var o=t[n];if(o!==undefined){return o.exports}var i=t[n]={exports:{}};var a=true;try{e[n].call(i.exports,i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete t[n]}return i.exports}__nccwpck_require__.m=e;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(n,o){if(o&1)n=this(n);if(o&8)return n;if(typeof n==="object"&&n){if(o&4&&n.__esModule)return n;if(o&16&&typeof n.then==="function")return n}var i=Object.create(null);__nccwpck_require__.r(i);var a={};t=t||[null,e({}),e([]),e(e)];for(var d=o&2&&n;typeof d=="object"&&!~t.indexOf(d);d=e(d)){Object.getOwnPropertyNames(d).forEach((e=>a[e]=()=>n[e]))}a["default"]=()=>n;__nccwpck_require__.d(i,a);return i}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var n in t){if(__nccwpck_require__.o(t,n)&&!__nccwpck_require__.o(e,n)){Object.defineProperty(e,n,{enumerable:true,get:t[n]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((t,n)=>{__nccwpck_require__.f[n](e,t);return t}),[]))})();(()=>{__nccwpck_require__.u=e=>""+e+".index.js"})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var e={792:1};var installChunk=t=>{var n=t.modules,o=t.ids,i=t.runtime;for(var a in n){if(__nccwpck_require__.o(n,a)){__nccwpck_require__.m[a]=n[a]}}if(i)i(__nccwpck_require__);for(var d=0;d<o.length;d++)e[o[d]]=1};__nccwpck_require__.f.require=(t,n)=>{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var n=__nccwpck_require__(218);module.exports=n})();
|
|
4
|
+
/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */a[i-4]=this.maskKey[0];a[i-3]=this.maskKey[1];a[i-2]=this.maskKey[2];a[i-1]=this.maskKey[3];a[1]=n;if(n===126){a.writeUInt16BE(t,2)}else if(n===127){a[2]=a[3]=0;a.writeUIntBE(t,4,6)}a[1]|=128;for(let e=0;e<t;e++){a[i+e]=this.frameData[e]^this.maskKey[e%4]}return a}}e.exports={WebsocketFrameSend:WebsocketFrameSend}},3171:(e,t,n)=>{"use strict";const{Writable:o}=n(2203);const i=n(1637);const{parserStates:a,opcodes:d,states:h,emptyBuffer:m}=n(5913);const{kReadyState:Q,kSentClose:k,kResponse:_,kReceivedClose:L}=n(2933);const{isValidStatusCode:U,failWebsocketConnection:P,websocketMessageReceived:H}=n(3574);const{WebsocketFrameSend:Y}=n(1237);const V={};V.ping=i.channel("undici:websocket:ping");V.pong=i.channel("undici:websocket:pong");class ByteParser extends o{#i=[];#A=0;#a=a.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,n){this.#i.push(e);this.#A+=e.length;this.run(n)}run(e){while(true){if(this.#a===a.INFO){if(this.#A<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==d.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==d.BINARY&&this.#c.opcode!==d.TEXT){P(this.ws,"Invalid frame type was fragmented.");return}const n=t[1]&127;if(n<=125){this.#c.payloadLength=n;this.#a=a.READ_DATA}else if(n===126){this.#a=a.PAYLOADLENGTH_16}else if(n===127){this.#a=a.PAYLOADLENGTH_64}if(this.#c.fragmented&&n>125){P(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===d.PING||this.#c.opcode===d.PONG||this.#c.opcode===d.CLOSE)&&n>125){P(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===d.CLOSE){if(n===1){P(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(n);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[k]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new Y(e);this.ws[_].socket.write(t.createFrame(d.CLOSE),(e=>{if(!e){this.ws[k]=true}}))}this.ws[Q]=h.CLOSING;this.ws[L]=true;this.end();return}else if(this.#c.opcode===d.PING){const t=this.consume(n);if(!this.ws[L]){const e=new Y(t);this.ws[_].socket.write(e.createFrame(d.PONG));if(V.ping.hasSubscribers){V.ping.publish({payload:t})}}this.#a=a.INFO;if(this.#A>0){continue}else{e();return}}else if(this.#c.opcode===d.PONG){const t=this.consume(n);if(V.pong.hasSubscribers){V.pong.publish({payload:t})}if(this.#A>0){continue}else{e();return}}}else if(this.#a===a.PAYLOADLENGTH_16){if(this.#A<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=a.READ_DATA}else if(this.#a===a.PAYLOADLENGTH_64){if(this.#A<8){return e()}const t=this.consume(8);const n=t.readUInt32BE(0);if(n>2**31-1){P(this.ws,"Received payload length > 2^31 bytes.");return}const o=t.readUInt32BE(4);this.#c.payloadLength=(n<<8)+o;this.#a=a.READ_DATA}else if(this.#a===a.READ_DATA){if(this.#A<this.#c.payloadLength){return e()}else if(this.#A>=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===d.CONTINUATION){const e=Buffer.concat(this.#l);H(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=a.INFO}}if(this.#A>0){continue}else{e();break}}}consume(e){if(e>this.#A){return null}else if(e===0){return m}if(this.#i[0].length===e){this.#A-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let n=0;while(n!==e){const o=this.#i[0];const{length:i}=o;if(i+n===e){t.set(this.#i.shift(),n);break}else if(i+n>e){t.set(o.subarray(0,e-n),n);this.#i[0]=o.subarray(e-n);break}else{t.set(this.#i.shift(),n);n+=o.length}}this.#A-=e;return t}parseCloseBody(e,t){let n;if(t.length>=2){n=t.readUInt16BE(0)}if(e){if(!U(n)){return null}return{code:n}}let o=t.subarray(2);if(o[0]===239&&o[1]===187&&o[2]===191){o=o.subarray(3)}if(n!==undefined&&!U(n)){return null}try{o=new TextDecoder("utf-8",{fatal:true}).decode(o)}catch{return null}return{code:n,reason:o}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,n)=>{"use strict";const{kReadyState:o,kController:i,kResponse:a,kBinaryType:d,kWebSocketURL:h}=n(2933);const{states:m,opcodes:Q}=n(5913);const{MessageEvent:k,ErrorEvent:_}=n(6255);function isEstablished(e){return e[o]===m.OPEN}function isClosing(e){return e[o]===m.CLOSING}function isClosed(e){return e[o]===m.CLOSED}function fireEvent(e,t,n=Event,o){const i=new n(e,o);t.dispatchEvent(i)}function websocketMessageReceived(e,t,n){if(e[o]!==m.OPEN){return}let i;if(t===Q.TEXT){try{i=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===Q.BINARY){if(e[d]==="blob"){i=new Blob([n])}else{i=new Uint8Array(n).buffer}}fireEvent("message",e,k,{origin:e[h].origin,data:i})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[i]:n,[a]:o}=e;n.abort();if(o?.socket&&!o.socket.destroyed){o.socket.destroy()}if(t){fireEvent("error",e,_,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},5171:(e,t,n)=>{"use strict";const{webidl:o}=n(4222);const{DOMException:i}=n(7326);const{URLSerializer:a}=n(4322);const{getGlobalOrigin:d}=n(5628);const{staticPropertyDescriptors:h,states:m,opcodes:Q,emptyBuffer:k}=n(5913);const{kWebSocketURL:_,kReadyState:L,kController:U,kBinaryType:P,kResponse:H,kSentClose:Y,kByteParser:V}=n(2933);const{isEstablished:J,isClosing:W,isValidSubprotocol:j,failWebsocketConnection:K,fireEvent:X}=n(3574);const{establishWebSocketConnection:Z}=n(8550);const{WebsocketFrameSend:ee}=n(1237);const{ByteParser:te}=n(3171);const{kEnumerableProperty:re,isBlobLike:se}=n(3440);const{getGlobalDispatcher:ne}=n(2581);const{types:oe}=n(9023);let ie=false;class WebSocket extends EventTarget{#u={open:null,error:null,close:null,message:null};#g=0;#d="";#h="";constructor(e,t=[]){super();o.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!ie){ie=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const n=o.converters["DOMString or sequence<DOMString> or WebSocketInit"](t);e=o.converters.USVString(e);t=n.protocols;const a=d();let h;try{h=new URL(e,a)}catch(e){throw new i(e,"SyntaxError")}if(h.protocol==="http:"){h.protocol="ws:"}else if(h.protocol==="https:"){h.protocol="wss:"}if(h.protocol!=="ws:"&&h.protocol!=="wss:"){throw new i(`Expected a ws: or wss: protocol, got ${h.protocol}`,"SyntaxError")}if(h.hash||h.href.endsWith("#")){throw new i("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>j(e)))){throw new i("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[_]=new URL(h.href);this[U]=Z(h,t,this,(e=>this.#p(e)),n);this[L]=WebSocket.CONNECTING;this[P]="blob"}close(e=undefined,t=undefined){o.brandCheck(this,WebSocket);if(e!==undefined){e=o.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=o.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new i("invalid code","InvalidAccessError")}}let n=0;if(t!==undefined){n=Buffer.byteLength(t);if(n>123){throw new i(`Reason must be less than 123 bytes; received ${n}`,"SyntaxError")}}if(this[L]===WebSocket.CLOSING||this[L]===WebSocket.CLOSED){}else if(!J(this)){K(this,"Connection was closed before it was established.");this[L]=WebSocket.CLOSING}else if(!W(this)){const o=new ee;if(e!==undefined&&t===undefined){o.frameData=Buffer.allocUnsafe(2);o.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){o.frameData=Buffer.allocUnsafe(2+n);o.frameData.writeUInt16BE(e,0);o.frameData.write(t,2,"utf-8")}else{o.frameData=k}const i=this[H].socket;i.write(o.createFrame(Q.CLOSE),(e=>{if(!e){this[Y]=true}}));this[L]=m.CLOSING}else{this[L]=WebSocket.CLOSING}}send(e){o.brandCheck(this,WebSocket);o.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=o.converters.WebSocketSendData(e);if(this[L]===WebSocket.CONNECTING){throw new i("Sent before connected.","InvalidStateError")}if(!J(this)||W(this)){return}const t=this[H].socket;if(typeof e==="string"){const n=Buffer.from(e);const o=new ee(n);const i=o.createFrame(Q.TEXT);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(oe.isArrayBuffer(e)){const n=Buffer.from(e);const o=new ee(n);const i=o.createFrame(Q.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(ArrayBuffer.isView(e)){const n=Buffer.from(e,e.byteOffset,e.byteLength);const o=new ee(n);const i=o.createFrame(Q.BINARY);this.#g+=n.byteLength;t.write(i,(()=>{this.#g-=n.byteLength}))}else if(se(e)){const n=new ee;e.arrayBuffer().then((e=>{const o=Buffer.from(e);n.frameData=o;const i=n.createFrame(Q.BINARY);this.#g+=o.byteLength;t.write(i,(()=>{this.#g-=o.byteLength}))}))}}get readyState(){o.brandCheck(this,WebSocket);return this[L]}get bufferedAmount(){o.brandCheck(this,WebSocket);return this.#g}get url(){o.brandCheck(this,WebSocket);return a(this[_])}get extensions(){o.brandCheck(this,WebSocket);return this.#h}get protocol(){o.brandCheck(this,WebSocket);return this.#d}get onopen(){o.brandCheck(this,WebSocket);return this.#u.open}set onopen(e){o.brandCheck(this,WebSocket);if(this.#u.open){this.removeEventListener("open",this.#u.open)}if(typeof e==="function"){this.#u.open=e;this.addEventListener("open",e)}else{this.#u.open=null}}get onerror(){o.brandCheck(this,WebSocket);return this.#u.error}set onerror(e){o.brandCheck(this,WebSocket);if(this.#u.error){this.removeEventListener("error",this.#u.error)}if(typeof e==="function"){this.#u.error=e;this.addEventListener("error",e)}else{this.#u.error=null}}get onclose(){o.brandCheck(this,WebSocket);return this.#u.close}set onclose(e){o.brandCheck(this,WebSocket);if(this.#u.close){this.removeEventListener("close",this.#u.close)}if(typeof e==="function"){this.#u.close=e;this.addEventListener("close",e)}else{this.#u.close=null}}get onmessage(){o.brandCheck(this,WebSocket);return this.#u.message}set onmessage(e){o.brandCheck(this,WebSocket);if(this.#u.message){this.removeEventListener("message",this.#u.message)}if(typeof e==="function"){this.#u.message=e;this.addEventListener("message",e)}else{this.#u.message=null}}get binaryType(){o.brandCheck(this,WebSocket);return this[P]}set binaryType(e){o.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[P]="blob"}else{this[P]=e}}#p(e){this[H]=e;const t=new te(this);t.on("drain",(function onParserDrain(){this.ws[H].socket.resume()}));e.socket.ws=this;this[V]=t;this[L]=m.OPEN;const n=e.headersList.get("sec-websocket-extensions");if(n!==null){this.#h=n}const o=e.headersList.get("sec-websocket-protocol");if(o!==null){this.#d=o}X("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=m.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=m.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=m.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=m.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h,url:re,readyState:re,bufferedAmount:re,onopen:re,onerror:re,onclose:re,close:re,onmessage:re,binaryType:re,send:re,extensions:re,protocol:re,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:h,OPEN:h,CLOSING:h,CLOSED:h});o.converters["sequence<DOMString>"]=o.sequenceConverter(o.converters.DOMString);o.converters["DOMString or sequence<DOMString>"]=function(e){if(o.util.Type(e)==="Object"&&Symbol.iterator in e){return o.converters["sequence<DOMString>"](e)}return o.converters.DOMString(e)};o.converters.WebSocketInit=o.dictionaryConverter([{key:"protocols",converter:o.converters["DOMString or sequence<DOMString>"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return ne()}},{key:"headers",converter:o.nullableConverter(o.converters.HeadersInit)}]);o.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){if(o.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return o.converters.WebSocketInit(e)}return{protocols:o.converters["DOMString or sequence<DOMString>"](e)}};o.converters.WebSocketSendData=function(e){if(o.util.Type(e)==="Object"){if(se(e)){return o.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||oe.isAnyArrayBuffer(e)){return o.converters.BufferSource(e)}}return o.converters.USVString(e)};e.exports={WebSocket:WebSocket}},3843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return"<environment undetectable>"}t.getUserAgent=getUserAgent},8264:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var n=0;n<t.length;n++){t[n]=arguments[n]}var o=e.apply(this,t);var i=t[t.length-1];if(typeof o==="function"&&o!==i){Object.keys(i).forEach((function(e){o[e]=i[e]}))}return o}}},218:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});const d=n(8523);(0,d.suppressNodeDeprecationWarning)();const h=a(n(7484));const m=a(n(3228));const Q=a(n(9896));const k=a(n(6928));const _=n(5030);const L=n(2108);const U=n(7785);const P=n(7461);function detectCdkApp(e){const t=k.join(e,"cdk.json");if(Q.existsSync(t)){return e}const n=["infrastructure","cdk","infra","deploy"];for(const t of n){const n=k.join(e,t);const o=k.join(n,"cdk.json");if(Q.existsSync(o)){return n}}return undefined}function getPRNumber(){const e=m.context;if(e.eventName==="pull_request"&&e.payload.pull_request){return e.payload.pull_request.number}return undefined}function parseRepository(){const e=m.context;if(e.repo.owner&&e.repo.repo){return{owner:e.repo.owner,repo:e.repo.repo}}return undefined}function validatePath(e){const t=process.env.GITHUB_WORKSPACE||process.cwd();const n=k.resolve(t,e);if(!n.startsWith(t)){throw new Error(`Path '${e}' is outside workspace. Potential path traversal attack.`)}return n}function validateCommentStrategy(e){const t=["new","update","delete-and-new"];if(!t.includes(e)){throw new Error(`Invalid comment-strategy: '${e}'. Must be one of: ${t.join(", ")}`)}return e}async function run(){try{const e=h.getInput("path")||"./";const t=validatePath(e);const n=h.getInput("github-token",{required:true});const o=h.getInput("aws-region")||"us-east-1";const i=h.getInput("config-path");const a=h.getInput("comment-strategy")||"update";const d=validateCommentStrategy(a);const m=h.getBooleanInput("debug");if(m){P.Logger.setDebugEnabled(true);h.debug("Debug logging enabled")}h.info("Starting CDK Cost Analysis...");const H=parseRepository();if(!H){h.setFailed("Could not determine repository from GitHub context");return}const Y=getPRNumber();if(!Y){h.warning("Not running in a pull_request event. Skipping PR comment.")}let V=detectCdkApp(t);if(!V){h.warning(`Could not detect CDK app in ${t}. Using provided path.`);V=t}else{h.info(`Detected CDK app at: ${V}`)}const J=k.join(V,"cdk.out");const W=!Q.existsSync(J);if(W){h.info("CDK output not found. Synthesis will be performed.")}const j=new _.PipelineOrchestrator;h.info(`Running cost analysis for region: ${o}`);const K=await j.runPipelineAnalysis({synthesize:W,cdkAppPath:V,region:o,configPath:i});const X=K.costAnalysis.removedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+K.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.oldMonthlyCost.amount),0);const Z=K.costAnalysis.addedResources.reduce(((e,t)=>e+t.monthlyCost.amount),0)+K.costAnalysis.modifiedResources.reduce(((e,t)=>e+t.newMonthlyCost.amount),0);const ee=new U.GitHubActionReporter;const te={totalDelta:K.costAnalysis.totalDelta,currency:K.costAnalysis.currency,addedCosts:K.costAnalysis.addedResources,removedCosts:K.costAnalysis.removedResources,modifiedCosts:K.costAnalysis.modifiedResources};const re=ee.generateReport(te,X,Z);console.log("\n"+re+"\n");h.setOutput("total-delta",K.costAnalysis.totalDelta.toString());h.setOutput("currency",K.costAnalysis.currency);h.setOutput("added-count",K.costAnalysis.addedResources.length.toString());h.setOutput("removed-count",K.costAnalysis.removedResources.length.toString());h.setOutput("modified-count",K.costAnalysis.modifiedResources.length.toString());h.setOutput("threshold-passed",K.thresholdStatus.passed.toString());h.setOutput("threshold-level",K.thresholdStatus.level);if(Y){h.info(`Posting cost analysis to PR #${Y}...`);const e=new L.GitHubIntegration({token:n,apiUrl:process.env.GITHUB_API_URL||"https://api.github.com"});await e.postPRComment(H.owner,H.repo,Y,re,d);h.info("Cost analysis posted to pull request")}if(K.thresholdStatus.level==="error"&&!K.thresholdStatus.passed){h.setFailed(`Cost threshold exceeded: ${K.thresholdStatus.message}`);return}if(K.thresholdStatus.level==="warning"&&!K.thresholdStatus.passed){h.warning(`Cost threshold warning: ${K.thresholdStatus.message}`)}h.info("Cost analysis completed successfully")}catch(e){if(e instanceof Error){h.setFailed(e.message)}else{h.setFailed(String(e))}}}run()},2099:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.ConfigManager=void 0;const d=a(n(1943));const h=a(n(6928));const m=a(n(4281));const Q=n(2143);class ConfigManager{static CONFIG_FILE_NAMES=[".cdk-cost-analyzer.yml",".cdk-cost-analyzer.yaml",".cdk-cost-analyzer.json"];async loadConfig(e){try{const t=await this.resolveConfigPath(e);if(!t){return this.getDefaultConfig()}const n=await this.readConfigFile(t);const o=this.validateConfig(n);if(!o.valid){throw new Q.ConfigurationError("Invalid configuration",t,o.errors)}return this.mergeWithDefaults(n)}catch(t){if(t instanceof Q.ConfigurationError){throw t}throw new Q.ConfigurationError(`Failed to load configuration: ${t instanceof Error?t.message:String(t)}`,e||"unknown",[])}}validateConfig(e){const t=[];const n=[];if(e.thresholds){this.validateThresholds(e.thresholds,t,n)}if(e.usageAssumptions){this.validateUsageAssumptions(e.usageAssumptions,t)}if(e.cache?.durationHours!==undefined){if(e.cache.durationHours<=0){t.push("cache.durationHours must be positive")}}return{valid:t.length===0,errors:t,warnings:n}}async resolveConfigPath(e){if(e){const t=await this.fileExists(e);if(!t){throw new Error(`Configuration file not found: ${e}`)}return e}for(const e of ConfigManager.CONFIG_FILE_NAMES){const t=h.join(process.cwd(),e);if(await this.fileExists(t)){return t}}return null}async readConfigFile(e){const t=await d.readFile(e,"utf-8");const n=h.extname(e).toLowerCase();try{if(n===".json"){return JSON.parse(t)}else{return m.load(t)}}catch(e){throw new Error(`Failed to parse configuration file: ${e instanceof Error?e.message:String(e)}`)}}async fileExists(e){try{await d.access(e);return true}catch{return false}}validateThresholds(e,t,n){const validateLevels=(e,o)=>{if(e.warning!==undefined&&e.warning<0){t.push(`${o}.warning must be non-negative`)}if(e.error!==undefined&&e.error<0){t.push(`${o}.error must be non-negative`)}if(e.warning!==undefined&&e.error!==undefined&&e.warning>e.error){n.push(`${o}.warning (${e.warning}) is greater than ${o}.error (${e.error})`)}};if(e.default){validateLevels(e.default,"thresholds.default")}if(e.environments){for(const[t,n]of Object.entries(e.environments)){validateLevels(n,`thresholds.environments.${t}`)}}}validateUsageAssumptions(e,t){const validatePositive=(e,n)=>{if(e!==undefined&&e<0){t.push(`${n} must be non-negative`)}};if(e.s3){validatePositive(e.s3.storageGB,"usageAssumptions.s3.storageGB");validatePositive(e.s3.getRequests,"usageAssumptions.s3.getRequests");validatePositive(e.s3.putRequests,"usageAssumptions.s3.putRequests")}if(e.lambda){validatePositive(e.lambda.invocationsPerMonth,"usageAssumptions.lambda.invocationsPerMonth");validatePositive(e.lambda.averageDurationMs,"usageAssumptions.lambda.averageDurationMs")}if(e.dynamodb){validatePositive(e.dynamodb.readRequestsPerMonth,"usageAssumptions.dynamodb.readRequestsPerMonth");validatePositive(e.dynamodb.writeRequestsPerMonth,"usageAssumptions.dynamodb.writeRequestsPerMonth")}if(e.natGateway){validatePositive(e.natGateway.dataProcessedGB,"usageAssumptions.natGateway.dataProcessedGB")}if(e.alb){validatePositive(e.alb.newConnectionsPerSecond,"usageAssumptions.alb.newConnectionsPerSecond");validatePositive(e.alb.activeConnectionsPerMinute,"usageAssumptions.alb.activeConnectionsPerMinute");validatePositive(e.alb.processedBytesGB,"usageAssumptions.alb.processedBytesGB")}if(e.nlb){validatePositive(e.nlb.newConnectionsPerSecond,"usageAssumptions.nlb.newConnectionsPerSecond");validatePositive(e.nlb.activeConnectionsPerMinute,"usageAssumptions.nlb.activeConnectionsPerMinute");validatePositive(e.nlb.processedBytesGB,"usageAssumptions.nlb.processedBytesGB")}if(e.cloudfront){validatePositive(e.cloudfront.dataTransferGB,"usageAssumptions.cloudfront.dataTransferGB");validatePositive(e.cloudfront.requests,"usageAssumptions.cloudfront.requests")}if(e.apiGateway){validatePositive(e.apiGateway.requestsPerMonth,"usageAssumptions.apiGateway.requestsPerMonth")}if(e.vpcEndpoint){validatePositive(e.vpcEndpoint.dataProcessedGB,"usageAssumptions.vpcEndpoint.dataProcessedGB")}}getDefaultConfig(){return{cache:{enabled:true,durationHours:24}}}mergeWithDefaults(e){const t=this.getDefaultConfig();return{...t,...e,cache:{...t.cache,...e.cache}}}}t.ConfigManager=ConfigManager},2143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ConfigurationError=void 0;class ConfigurationError extends Error{configPath;validationErrors;constructor(e,t,n){super(e);this.configPath=t;this.validationErrors=n;this.name="ConfigurationError"}}t.ConfigurationError=ConfigurationError},8558:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DiffEngine=void 0;class DiffEngine{diff(e,t){const n=e.Resources||{};const o=t.Resources||{};const i=new Set(Object.keys(n));const a=new Set(Object.keys(o));const d=[];const h=[];const m=[];for(const e of a){if(!i.has(e)){const t=o[e];d.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(!a.has(e)){const t=n[e];h.push({logicalId:e,type:t.Type,properties:t.Properties||{}})}}for(const e of i){if(a.has(e)){const t=n[e];const i=o[e];if(!this.arePropertiesEqual(t.Properties,i.Properties)){m.push({logicalId:e,type:i.Type,oldProperties:t.Properties||{},newProperties:i.Properties||{}})}}}return{added:d,removed:h,modified:m}}arePropertiesEqual(e,t){const n=e||{};const o=t||{};return JSON.stringify(this.sortObject(n))===JSON.stringify(this.sortObject(o))}sortObject(e){if(e===null||e===undefined){return e}if(Array.isArray(e)){return e.map((e=>this.sortObject(e)))}if(typeof e==="object"){const t={};const n=Object.keys(e).sort();for(const o of n){t[o]=this.sortObject(e[o])}return t}return e}}t.DiffEngine=DiffEngine},2108:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubIntegration=void 0;const o=n(4270);const i="\x3c!-- cdk-cost-analyzer --\x3e";class GitHubIntegration{static fromEnvironment(){const e=process.env.GITHUB_TOKEN;const t=process.env.GITHUB_API_URL||"https://api.github.com";if(!e){throw new Error("GitHub token not found. Set GITHUB_TOKEN environment variable.")}return new GitHubIntegration({token:e,apiUrl:t})}config;constructor(e){this.config=e}async postPRComment(e,t,n,o,a="update"){const d=`${i}\n${o}`;switch(a){case"new":await this.createComment(e,t,n,d);break;case"update":{const o=await this.findExistingComment(e,t,n);if(o){await this.updateComment(e,t,o.id,d)}else{await this.createComment(e,t,n,d)}break}case"delete-and-new":{const o=await this.findExistingComment(e,t,n);if(o){await this.deleteComment(e,t,o.id)}await this.createComment(e,t,n,d);break}default:throw new Error(`Unknown comment strategy: ${a}`)}}async findExistingComment(e,t,n){try{let a=1;const d=100;while(true){const h=`${this.config.apiUrl}/repos/${e}/${t}/issues/${n}/comments?page=${a}&per_page=${d}`;const m=await this.fetchWithRetry(h,{method:"GET",headers:this.getHeaders()});if(!m.ok){const e=await m.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to list comments: ${m.statusText} - ${e}`),m.status)}const Q=await m.json();if(Q.length===0){break}const k=Q.find((e=>e.body?.includes(i)));if(k){return k}a++}return null}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async updateComment(e,t,n,i){const a=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${n}`;try{const e=await this.fetchWithRetry(a,{method:"PATCH",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to update comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async deleteComment(e,t,n){const i=`${this.config.apiUrl}/repos/${e}/${t}/issues/comments/${n}`;try{const e=await this.fetchWithRetry(i,{method:"DELETE",headers:this.getHeaders()});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to delete comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}async createComment(e,t,n,i){const a=`${this.config.apiUrl}/repos/${e}/${t}/issues/${n}/comments`;const d=65536;if(i.length>d){throw new o.GitHubAPIError(`Comment exceeds GitHub's maximum size of ${d} characters (actual: ${i.length})`)}try{const e=await this.fetchWithRetry(a,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({body:i})});if(!e.ok){const t=await e.text();throw new o.GitHubAPIError(this.sanitizeError(`Failed to post comment: ${e.statusText} - ${t}`),e.status)}}catch(e){if(e instanceof o.GitHubAPIError){throw e}throw new o.GitHubAPIError(this.sanitizeError(`Failed to connect to GitHub API: ${e instanceof Error?e.message:String(e)}`))}}getHeaders(){return{Authorization:`Bearer ${this.config.token}`,Accept:"application/vnd.github+json","Content-Type":"application/json","X-GitHub-Api-Version":"2022-11-28"}}async fetchWithRetry(e,t,n=3){for(let o=0;o<n;o++){const i=await fetch(e,t);if(i.status===429){const e=i.headers.get("retry-after");const t=i.headers.get("x-ratelimit-reset");let a=1e3*(o+1);if(e){a=parseInt(e)*1e3}else if(t){const e=new Date(parseInt(t)*1e3);a=Math.max(0,e.getTime()-Date.now())}if(o<n-1){await new Promise((e=>setTimeout(e,a)));continue}}if(i.status>=500&&i.status<600&&o<n-1){await new Promise((e=>setTimeout(e,1e3*(o+1))));continue}return i}throw new o.GitHubAPIError("Maximum retry attempts exceeded")}sanitizeError(e){return e.replace(new RegExp(this.config.token,"g"),"***")}}t.GitHubIntegration=GitHubIntegration},4270:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubAPIError=t.GitLabAPIError=void 0;class GitLabAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitLabAPIError"}}t.GitLabAPIError=GitLabAPIError;class GitHubAPIError extends Error{statusCode;constructor(e,t){super(e);this.statusCode=t;this.name="GitHubAPIError"}}t.GitHubAPIError=GitHubAPIError},8254:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.TemplateParser=t.TemplateParseError=void 0;const d=a(n(4281));class TemplateParseError extends Error{templatePath;constructor(e,t){super(e);this.templatePath=t;this.name="TemplateParseError"}}t.TemplateParseError=TemplateParseError;class TemplateParser{parse(e){if(!e||e.trim()===""){throw new TemplateParseError("Template content is empty")}let t;try{t=JSON.parse(e)}catch(n){try{t=d.load(e)}catch(e){throw new TemplateParseError(`Failed to parse template as JSON or YAML: ${e instanceof Error?e.message:String(e)}`)}}if(!t||typeof t!=="object"){throw new TemplateParseError("Parsed template is not an object")}const n=t;if(!n.Resources||typeof n.Resources!=="object"){throw new TemplateParseError("Template must contain a Resources section")}return n}}t.TemplateParser=TemplateParser},5030:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.PipelineOrchestrator=void 0;const d=a(n(1943));const h=n(1839);const m=n(2099);const Q=n(8558);const k=n(8254);const _=n(9345);const L=n(1268);const U=n(9560);const P=n(1668);class PipelineOrchestrator{configManager;synthesisOrchestrator;thresholdEnforcer;constructor(){this.configManager=new m.ConfigManager;this.synthesisOrchestrator=new U.SynthesisOrchestrator;this.thresholdEnforcer=new P.ThresholdEnforcer}async runPipelineAnalysis(e){try{const t=await this.configManager.loadConfig(e.configPath);let n;let o;let i;if(e.synthesize&&e.cdkAppPath){const a=await this.synthesizeBothBranches(e.cdkAppPath,t,e.outputPath);n=a.baseTemplatePath;o=a.targetTemplatePath;i=a.synthesisInfo}else{if(!e.baseTemplate||!e.targetTemplate){throw new h.PipelineError("Either provide template paths or enable synthesis with cdkAppPath","configuration")}n=e.baseTemplate;o=e.targetTemplate}const a=e.region||t.synthesis?.context?.region||"eu-central-1";const d=await this.analyzeCosts(n,o,a,t);const m=this.thresholdEnforcer.evaluateThreshold(d.totalDelta,d.addedResources,d.modifiedResources,t.thresholds,e.environment);const Q=this.buildConfigSummary(t,e);return{costAnalysis:d,thresholdStatus:m,synthesisInfo:i,configUsed:Q}}catch(e){if(e instanceof h.PipelineError){throw e}throw new h.PipelineError(`Pipeline failed: ${e instanceof Error?e.message:String(e)}`,"unknown")}}async synthesizeBothBranches(e,t,n){const o=await this.synthesisOrchestrator.synthesize({cdkAppPath:e,outputPath:n||t.synthesis?.outputPath,context:t.synthesis?.context,customCommand:t.synthesis?.customCommand});if(!o.success){throw new h.PipelineError(`CDK synthesis failed: ${o.error}`,"synthesis")}return{baseTemplatePath:o.templatePaths[0],targetTemplatePath:o.templatePaths[0],synthesisInfo:{baseStackCount:o.stackNames.length,targetStackCount:o.stackNames.length,baseSynthesisTime:o.duration,targetSynthesisTime:o.duration}}}async analyzeCosts(e,t,n,o){const i=new k.TemplateParser;const a=new Q.DiffEngine;const h=new _.PricingService(n,o.usageAssumptions,o.exclusions?.resourceTypes,o.cache);const m=new L.Reporter;const U=await d.readFile(e,"utf-8");const P=await d.readFile(t,"utf-8");const H=i.parse(U);const Y=i.parse(P);const V=a.diff(H,Y);const J=await h.getCostDelta(V,n);const W=m.generateReport(J,"text");return{totalDelta:J.totalDelta,currency:J.currency,addedResources:J.addedCosts,removedResources:J.removedCosts,modifiedResources:J.modifiedCosts,summary:W}}buildConfigSummary(e,t){const n={synthesisEnabled:!!t.synthesize};if(t.configPath){n.configPath=t.configPath}if(e.thresholds){const o=t.environment&&e.thresholds.environments?.[t.environment]?e.thresholds.environments[t.environment]:e.thresholds.default;if(o){n.thresholds={warning:o.warning,error:o.error,environment:t.environment}}}if(e.usageAssumptions){n.usageAssumptions=e.usageAssumptions}if(e.exclusions?.resourceTypes){n.excludedResourceTypes=e.exclusions.resourceTypes}return n}}t.PipelineOrchestrator=PipelineOrchestrator},1839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PipelineError=void 0;class PipelineError extends Error{stage;constructor(e,t){super(e);this.stage=t;this.name="PipelineError"}}t.PipelineError=PipelineError},2097:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.CacheManager=void 0;const d=a(n(9896));const h=a(n(6928));class CacheManager{cacheDir;cacheDurationMs;metadata;metadataPath;constructor(e=".cdk-cost-analyzer-cache",t=24){this.cacheDir=e;this.cacheDurationMs=t*60*60*1e3;this.metadataPath=h.join(this.cacheDir,"metadata.json");this.metadata={entries:{}};this.ensureCacheDirectory();this.loadMetadata()}getCachedPrice(e){const t=this.getCacheKey(e);const n=this.metadata.entries[t];if(!n){return null}const o=Date.now();const i=o-n.timestamp;if(i>this.cacheDurationMs){delete this.metadata.entries[t];this.saveMetadata();return null}return n.price}setCachedPrice(e,t){const n=this.getCacheKey(e);this.metadata.entries[n]={price:t,timestamp:Date.now()};this.saveMetadata()}hasFreshCache(e){return this.getCachedPrice(e)!==null}clearCache(){this.metadata={entries:{}};this.saveMetadata()}getCacheStats(){const e=Date.now();let t=0;let n=0;for(const o of Object.values(this.metadata.entries)){const i=e-o.timestamp;if(i<=this.cacheDurationMs){t++}else{n++}}return{totalEntries:Object.keys(this.metadata.entries).length,freshEntries:t,staleEntries:n}}pruneStaleEntries(){const e=Date.now();const t={};for(const[n,o]of Object.entries(this.metadata.entries)){const i=e-o.timestamp;if(i<=this.cacheDurationMs){t[n]=o}}this.metadata.entries=t;this.saveMetadata()}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}ensureCacheDirectory(){if(!d.existsSync(this.cacheDir)){d.mkdirSync(this.cacheDir,{recursive:true})}}loadMetadata(){try{if(d.existsSync(this.metadataPath)){const e=d.readFileSync(this.metadataPath,"utf-8");this.metadata=JSON.parse(e)}}catch(e){this.metadata={entries:{}}}}saveMetadata(){try{d.writeFileSync(this.metadataPath,JSON.stringify(this.metadata,null,2),"utf-8")}catch(e){console.warn(`Failed to save cache metadata: ${e instanceof Error?e.message:String(e)}`)}}}t.CacheManager=CacheManager},6003:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingClient=void 0;const o=n(4453);const i=n(9543);const a=n(7461);class PricingClient{cache=new Map;client;cacheManager;constructor(e="us-east-1",t,n){this.client=n||new o.PricingClient({region:e});this.cacheManager=t}destroy(){this.cache.clear();if(this.client&&typeof this.client.destroy==="function"){this.client.destroy()}}async getPrice(e){const t=this.getCacheKey(e);if(this.cache.has(t)){a.Logger.logCacheStatus(t,true,"memory");return this.cache.get(t)}if(this.cacheManager){const n=this.cacheManager.getCachedPrice(e);if(n!==null){a.Logger.logCacheStatus(t,true,"persistent");this.cache.set(t,n);return n}}a.Logger.logCacheStatus(t,false);try{const n=await this.fetchPriceWithRetry(e);if(n!==null){this.cache.set(t,n);if(this.cacheManager){this.cacheManager.setCachedPrice(e,n)}}return n}catch(n){a.Logger.logPricingFailure(e.serviceCode,e.region,n instanceof Error?n.message:String(n));if(this.cache.has(t)){return this.cache.get(t)}if(this.cacheManager){const t=this.cacheManager.getCachedPrice(e);if(t!==null){return t}}return null}}async fetchPriceWithRetry(e,t=3){let n=null;for(let o=0;o<t;o++){try{return await this.fetchPrice(e)}catch(e){n=e;if(o<t-1){const e=Math.pow(2,o)*1e3;await new Promise((t=>setTimeout(t,e)))}}}throw new i.PricingAPIError(`Failed to fetch pricing after ${t} attempts: ${n?.message}`,false)}async fetchPrice(e){const t=e.filters.map((e=>({Type:e.type||"TERM_MATCH",Field:e.field,Value:e.value})));a.Logger.logPricingQuery(e.serviceCode,e.region,e.filters);const n=new o.GetProductsCommand({ServiceCode:e.serviceCode,Filters:t,MaxResults:1});const i=await this.client.send(n);if(!i.PriceList||i.PriceList.length===0){a.Logger.logPricingResponse(e.serviceCode,e.region,null);a.Logger.logPricingFailure(e.serviceCode,e.region,"No products found matching the specified filters");return null}const d=JSON.parse(i.PriceList[0]);const h=d?.terms?.OnDemand;if(!h){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No OnDemand terms found"});return null}const m=Object.keys(h)[0];const Q=h[m]?.priceDimensions;if(!Q){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No price dimensions found"});return null}const k=Object.keys(Q)[0];const _=Q[k]?.pricePerUnit?.USD;if(!_){a.Logger.logPricingResponse(e.serviceCode,e.region,null,{reason:"No USD price found"});return null}const L=parseFloat(_);a.Logger.logPricingResponse(e.serviceCode,e.region,L,{product:d?.product,termKey:m,dimensionKey:k,unit:Q[k]?.unit,description:Q[k]?.description});return L}getCacheKey(e){const t=e.filters.map((e=>`${e.field}:${e.value}`)).sort().join("|");return`${e.serviceCode}:${e.region}:${t}`}}t.PricingClient=PricingClient},9345:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.PricingService=void 0;const o=n(2097);const i=n(6357);const a=n(3220);const d=n(2325);const h=n(9838);const m=n(2634);const Q=n(4530);const k=n(2970);const _=n(2665);const L=n(8900);const U=n(2564);const P=n(7653);const H=n(231);const Y=n(1597);const V=n(8680);const J=n(779);const W=n(4872);const j=n(7822);const K=n(7346);const X=n(2697);const Z=n(5099);const ee=n(7278);const te=n(6209);const re=n(288);const se=n(2301);const ne=n(4885);const oe=n(9402);const ie=n(6003);class PricingService{calculators;pricingClient;excludedResourceTypes;constructor(e="us-east-1",t,n,Ae,ae){if(ae){this.pricingClient=ae}else{let t;if(Ae?.enabled!==false){const e=Ae?.durationHours??24;t=new o.CacheManager(".cdk-cost-analyzer-cache",e)}this.pricingClient=new ie.PricingClient(e,t)}this.excludedResourceTypes=new Set(n||[]);const ce=t?{usageAssumptions:t}:undefined;this.calculators=[new k.EC2Calculator,new W.S3Calculator,new P.LambdaCalculator(t?.lambda?.invocationsPerMonth,t?.lambda?.averageDurationMs),new J.RDSCalculator,new Q.DynamoDBCalculator(ce),new _.ECSCalculator,new a.APIGatewayCalculator,new Y.NatGatewayCalculator(t?.natGateway?.dataProcessedGB),new i.ALBCalculator(t?.alb?.newConnectionsPerSecond,t?.alb?.activeConnectionsPerMinute,t?.alb?.processedBytesGB),new V.NLBCalculator(t?.nlb?.newConnectionsPerSecond,t?.nlb?.activeConnectionsPerMinute,t?.nlb?.processedBytesGB),new ee.VPCEndpointCalculator(t?.vpcEndpoint?.dataProcessedGB),new h.CloudFrontCalculator(t?.cloudfront?.dataTransferGB,t?.cloudfront?.requests),new U.ElastiCacheCalculator,new d.AutoScalingGroupCalculator,new H.LaunchTemplateCalculator,new L.EFSCalculator(t?.efs?.storageSizeGb,t?.efs?.infrequentAccessPercentage),new K.SNSCalculator(t?.sns?.monthlyPublishes,t?.sns?.httpDeliveries,t?.sns?.emailDeliveries,t?.sns?.smsDeliveries,t?.sns?.mobilePushDeliveries),new X.SQSCalculator(ce),new Z.StepFunctionsCalculator(t?.stepFunctions?.monthlyExecutions,t?.stepFunctions?.stateTransitionsPerExecution,t?.stepFunctions?.averageDurationMs),new j.SecretsManagerCalculator(t?.secretsManager?.monthlyApiCalls),new te.EKSCalculator,new re.AuroraServerlessCalculator(t?.auroraServerless?.minACU,t?.auroraServerless?.maxACU,t?.auroraServerless?.storageGB),new se.TransitGatewayCalculator(t?.transitGateway?.attachments,t?.transitGateway?.monthlyDataGB),new ne.Route53Calculator(t?.route53?.monthlyQueries),new oe.KinesisCalculator(t?.kinesis?.shardCount,t?.kinesis?.ingestionGB,t?.kinesis?.retrievalGB,t?.kinesis?.firehoseGB,t?.kinesis?.kpus),new m.CloudWatchLogsCalculator(t?.cloudwatch?.logsIngestionGB),new m.CloudWatchAlarmCalculator,new m.CloudWatchDashboardCalculator]}async getResourceCost(e,t,n){if(this.excludedResourceTypes.has(e.type)){return{amount:0,currency:"USD",confidence:"high",assumptions:[`Resource type ${e.type} is excluded from cost analysis`]}}const o=this.calculators.find((t=>{if(t.canCalculate){return t.canCalculate(e)}return t.supports(e.type)}));if(!o){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Resource type ${e.type} is not supported`]}}try{return await o.calculateCost(e,t,this.pricingClient,n)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate cost: ${e instanceof Error?e.message:String(e)}`]}}}async getCostDelta(e,t){const n=e.added.filter((e=>!this.excludedResourceTypes.has(e.type)));const o=e.removed.filter((e=>!this.excludedResourceTypes.has(e.type)));const i=e.modified.filter((e=>!this.excludedResourceTypes.has(e.type)));const a=[...e.added,...e.removed,...e.modified.map((e=>({logicalId:e.logicalId,type:e.type,properties:e.newProperties})))];const d=await Promise.all(n.map((async e=>{const n=await this.getResourceCost(e,t,a);return{logicalId:e.logicalId,type:e.type,monthlyCost:n}})));const h=await Promise.all(o.map((async e=>{const n=await this.getResourceCost(e,t,a);return{logicalId:e.logicalId,type:e.type,monthlyCost:n}})));const m=await Promise.all(i.map((async e=>{const n={logicalId:e.logicalId,type:e.type,properties:e.oldProperties};const o={logicalId:e.logicalId,type:e.type,properties:e.newProperties};const i=await this.getResourceCost(n,t,a);const d=await this.getResourceCost(o,t,a);const h=d.amount-i.amount;return{logicalId:e.logicalId,type:e.type,monthlyCost:d,oldMonthlyCost:i,newMonthlyCost:d,costDelta:h}})));const Q=d.reduce(((e,t)=>e+t.monthlyCost.amount),0);const k=h.reduce(((e,t)=>e+t.monthlyCost.amount),0);const _=m.reduce(((e,t)=>e+t.costDelta),0);const L=Q-k+_;return{totalDelta:L,currency:"USD",addedCosts:d,removedCosts:h,modifiedCosts:m}}destroy(){this.pricingClient.destroy()}}t.PricingService=PricingService},7973:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.normalizeRegion=normalizeRegion;t.getRegionPrefix=getRegionPrefix;const o=n(7461);const i={"us-east-1":"US East (N. Virginia)","us-east-2":"US East (Ohio)","us-west-1":"US West (N. California)","us-west-2":"US West (Oregon)","eu-west-1":"EU (Ireland)","eu-west-2":"EU (London)","eu-west-3":"EU (Paris)","eu-central-1":"EU (Frankfurt)","eu-central-2":"EU (Zurich)","eu-north-1":"EU (Stockholm)","eu-south-1":"EU (Milan)","eu-south-2":"EU (Spain)","ap-south-1":"Asia Pacific (Mumbai)","ap-south-2":"Asia Pacific (Hyderabad)","ap-southeast-1":"Asia Pacific (Singapore)","ap-southeast-2":"Asia Pacific (Sydney)","ap-southeast-3":"Asia Pacific (Jakarta)","ap-southeast-4":"Asia Pacific (Melbourne)","ap-southeast-5":"Asia Pacific (Malaysia)","ap-northeast-1":"Asia Pacific (Tokyo)","ap-northeast-2":"Asia Pacific (Seoul)","ap-northeast-3":"Asia Pacific (Osaka)","ap-east-1":"Asia Pacific (Hong Kong)","ca-central-1":"Canada (Central)","ca-west-1":"Canada West (Calgary)","sa-east-1":"South America (Sao Paulo)","me-south-1":"Middle East (Bahrain)","me-central-1":"Middle East (UAE)","af-south-1":"Africa (Cape Town)","il-central-1":"Israel (Tel Aviv)","us-gov-west-1":"AWS GovCloud (US-West)","us-gov-east-1":"AWS GovCloud (US-East)","eu-isoe-west-1":"EU ISOE West"};const a={"us-east-1":"USE1","us-east-2":"USE2","us-west-1":"USW1","us-west-2":"USW2","eu-west-1":"EUW1","eu-west-2":"EUW2","eu-west-3":"EUW3","eu-central-1":"EUC1","eu-central-2":"EUC2","eu-north-1":"EUN1","eu-south-1":"EUS1","eu-south-2":"EUS2","ap-south-1":"APS1","ap-south-2":"APS2","ap-southeast-1":"APS3","ap-southeast-2":"APS4","ap-southeast-3":"APS5","ap-southeast-4":"APS6","ap-southeast-5":"APS7","ap-northeast-1":"APN1","ap-northeast-2":"APN2","ap-northeast-3":"APN3","ap-east-1":"APE1","ca-central-1":"CAN1","ca-west-1":"CAW1","sa-east-1":"SAE1","me-south-1":"MES1","me-central-1":"MEC1","af-south-1":"AFS1","il-central-1":"ILC1","us-gov-west-1":"UGW1","us-gov-east-1":"UGE1","eu-isoe-west-1":"EIW1"};function normalizeRegion(e){const t=i[e]||e;o.Logger.logRegionNormalization(e,t);return t}function getRegionPrefix(e){return a[e]||""}},6357:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ALBCalculator=void 0;const o=n(7973);class ALBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,n){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=n}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="application"}async calculateCost(e,t,n){const i=e.properties?.Type;if(i&&i!=="application"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Application Load Balancers"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const a=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Application"},{field:"usagetype",value:`${e}-LCUUsage`}]});const d=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const h=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const m=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;if(i===null||a===null){const e=d/25;const n=h/3e3;const o=m/this.HOURS_PER_MONTH;const i=o;const a=Math.max(e,n,i);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Application Load Balancer in region ${t}`,`Would use LCU consumption: ${a.toFixed(2)} LCU/hour based on:`,` - New connections: ${d}/sec → ${e.toFixed(2)} LCU`,` - Active connections: ${h}/min → ${n.toFixed(2)} LCU`,` - Processed data: ${m} GB/month → ${i.toFixed(2)} LCU`]}}const Q=d/25;const k=h/3e3;const _=m/this.HOURS_PER_MONTH;const L=_;const U=Math.max(Q,k,L);const P=i*this.HOURS_PER_MONTH;const H=a*U*this.HOURS_PER_MONTH;const Y=P+H;return{amount:Y,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${P.toFixed(2)}/month`,`LCU consumption: ${U.toFixed(2)} LCU/hour based on:`,` - New connections: ${d}/sec → ${Q.toFixed(2)} LCU`,` - Active connections: ${h}/min → ${k.toFixed(2)} LCU`,` - Processed data: ${m} GB/month → ${L.toFixed(2)} LCU`,`LCU cost: $${a.toFixed(4)}/LCU/hour × ${U.toFixed(2)} LCU × ${this.HOURS_PER_MONTH} hours = $${H.toFixed(2)}/month`,`Total: $${Y.toFixed(2)}/month`]}}catch(e){const t=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const n=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const o=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const i=t/25;const a=n/3e3;const d=o/this.HOURS_PER_MONTH;const h=d;const m=Math.max(i,a,h);return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would use LCU consumption: ${m.toFixed(2)} LCU/hour based on:`,` - New connections: ${t}/sec → ${i.toFixed(2)} LCU`,` - Active connections: ${n}/min → ${a.toFixed(2)} LCU`,` - Processed data: ${o} GB/month → ${h.toFixed(2)} LCU`]}}}}t.ALBCalculator=ALBCalculator},3220:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.APIGatewayCalculator=void 0;const o=n(7973);class APIGatewayCalculator{supports(e){return e==="AWS::ApiGateway::RestApi"||e==="AWS::ApiGatewayV2::Api"}async calculateCost(e,t,n){const o=e.type==="AWS::ApiGatewayV2::Api";const i=o?e.properties.ProtocolType:"REST";if(i==="WEBSOCKET"){return this.calculateWebSocketCost(t,n)}else if(i==="HTTP"){return this.calculateHttpApiCost(t,n)}else{return this.calculateRestApiCost(t,n)}}async calculateRestApiCost(e,t){try{const n=1e6;const i=(0,o.getRegionPrefix)(e);const a=i?`${i}-ApiGatewayRequest`:"ApiGatewayRequest";const d=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:a}]});if(d===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway REST API"]}}const h=n/1e6*d;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} REST API requests per month`,"REST API type","Does not include data transfer, caching, or other features","First 333M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateHttpApiCost(e,t){try{const n=1e6;const i=(0,o.getRegionPrefix)(e);const a=i?`${i}-ApiGatewayHttpRequest`:"ApiGatewayHttpRequest";const d=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"API Calls"},{field:"usagetype",value:a}]});if(d===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway HTTP API"]}}const h=n/1e6*d;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} HTTP API requests per month`,"HTTP API type","Does not include data transfer costs","First 300M requests may have tiered pricing (not calculated)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateWebSocketCost(e,t){try{const n=1e6;const i=1e5;const a=(0,o.getRegionPrefix)(e);const d=a?`${a}-ApiGatewayMessage`:"ApiGatewayMessage";const h=a?`${a}-ApiGatewayMinute`:"ApiGatewayMinute";const m=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:d}]});const Q=await t.getPrice({serviceCode:"AmazonApiGateway",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"WebSocket"},{field:"usagetype",value:h}]});if(m===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for API Gateway WebSocket API"]}}const k=n/1e6*m;const _=i*Q;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`Assumes ${n.toLocaleString()} WebSocket messages per month`,`Assumes ${i.toLocaleString()} connection minutes per month`,"WebSocket API type","Does not include data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.APIGatewayCalculator=APIGatewayCalculator},288:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AuroraServerlessCalculator=void 0;const o=n(7973);class AuroraServerlessCalculator{customMinACU;customMaxACU;customStorageGB;HOURS_PER_MONTH=730;DEFAULT_MIN_ACU=.5;DEFAULT_MAX_ACU=16;DEFAULT_STORAGE_GB=100;DEFAULT_MONTHLY_IO_REQUESTS=1e8;FALLBACK_ACU_PRICE_V2=.12;FALLBACK_ACU_PRICE_V1=.06;STORAGE_PRICE_PER_GB=.1;IO_PRICE_PER_MILLION=.2;constructor(e,t,n){this.customMinACU=e;this.customMaxACU=t;this.customStorageGB=n}supports(e){return e==="AWS::RDS::DBCluster"}canCalculate(e){const t=e.properties||{};return t.EngineMode==="serverless"||t.ServerlessV2ScalingConfiguration!==undefined}async calculateCost(e,t,n){try{const i=e.properties||{};const a=i.ServerlessV2ScalingConfiguration;const d=a!==undefined;const h=this.customMinACU??a?.MinCapacity??this.DEFAULT_MIN_ACU;const m=this.customMaxACU??a?.MaxCapacity??this.DEFAULT_MAX_ACU;const Q=(h+m)/2;const k=d?this.FALLBACK_ACU_PRICE_V2:this.FALLBACK_ACU_PRICE_V1;const _=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"databaseEngine",value:"Aurora"},{field:"productFamily",value:"ServerlessV2"}]});const L=_??k;const U=_===null;const P=Q*this.HOURS_PER_MONTH*L;const H=this.customStorageGB??this.DEFAULT_STORAGE_GB;const Y=H*this.STORAGE_PRICE_PER_GB;let V=0;if(d){V=this.DEFAULT_MONTHLY_IO_REQUESTS/1e6*this.IO_PRICE_PER_MILLION}const J=P+Y+V;const W=d?"v2":"v1";const j=[`Aurora Serverless ${W}: ${Q} avg ACUs × $${L.toFixed(2)}/ACU-hour × ${this.HOURS_PER_MONTH}h = $${P.toFixed(2)}/month`,`Storage: ${H} GB × $${this.STORAGE_PRICE_PER_GB}/GB = $${Y.toFixed(2)}/month`];if(d){j.push(`I/O: ${this.DEFAULT_MONTHLY_IO_REQUESTS/1e6}M requests × $${this.IO_PRICE_PER_MILLION}/M = $${V.toFixed(2)}/month`)}if(U){j.push(`Using fallback pricing (API data not available for region ${t})`)}j.push(`ACU range: ${h}–${m} (estimated average: ${Q})`);return{amount:J,currency:"USD",confidence:U?"medium":"medium",assumptions:j}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.AuroraServerlessCalculator=AuroraServerlessCalculator},2325:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AutoScalingGroupCalculator=void 0;const o=n(7973);class AutoScalingGroupCalculator{supports(e){return e==="AWS::AutoScaling::AutoScalingGroup"}async calculateCost(e,t,n,i){const a=Number(e.properties.DesiredCapacity)||1;const d=this.resolveInstanceType(e,i);if(!d){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Could not determine instance type from LaunchConfiguration or LaunchTemplate"]}}try{const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:d},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${d} in region ${t}`]}}const i=730;const h=e*i*a;return{amount:h,currency:"USD",confidence:"medium",assumptions:[`${a} instance(s) of type ${d}`,`Assumes ${i} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing","Does not include EBS volumes or data transfer costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}resolveInstanceType(e,t){const n=e.properties.LaunchConfigurationName;if(n){const e=this.resolveReference(n,t);if(e&&e.type==="AWS::AutoScaling::LaunchConfiguration"){const t=e.properties.InstanceType;if(t)return t}}const o=e.properties.LaunchTemplate;if(o){const e=this.resolveInstanceTypeFromLaunchTemplate(o,t);if(e)return e}const i=e.properties.MixedInstancesPolicy;if(i){const e=i.LaunchTemplate;if(e){const n=e.LaunchTemplateSpecification;if(n){const e=this.resolveInstanceTypeFromLaunchTemplate(n,t);if(e)return e}}}return null}resolveInstanceTypeFromLaunchTemplate(e,t){const n=e.LaunchTemplateId||e.LaunchTemplateName;if(!n)return null;const o=this.resolveReference(n,t);if(o&&o.type==="AWS::EC2::LaunchTemplate"){const e=o.properties.LaunchTemplateData;if(e){return e.InstanceType||null}}return null}resolveReference(e,t){if(!t)return null;if(typeof e==="object"&&e!==null&&"Ref"in e){const n=e.Ref;return t.find((e=>e.logicalId===n))||null}if(typeof e==="string"){return t.find((t=>t.logicalId===e))||null}return null}}t.AutoScalingGroupCalculator=AutoScalingGroupCalculator},9838:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudFrontCalculator=void 0;const o=n(7973);class CloudFrontCalculator{dataTransferGB;requests;DEFAULT_DATA_TRANSFER_GB=100;DEFAULT_REQUESTS=1e6;constructor(e,t){this.dataTransferGB=e;this.requests=t}supports(e){return e==="AWS::CloudFront::Distribution"}async calculateCost(e,t,n){const i=this.dataTransferGB??this.DEFAULT_DATA_TRANSFER_GB;const a=this.requests??this.DEFAULT_REQUESTS;try{const e=await n.getPrice({serviceCode:"AmazonCloudFront",region:(0,o.normalizeRegion)(t),filters:[{field:"transferType",value:"CloudFront to Internet"}]});const d=await n.getPrice({serviceCode:"AmazonCloudFront",region:(0,o.normalizeRegion)(t),filters:[{field:"requestType",value:"HTTP-Requests"}]});if(e===null||d===null){const e=[`Pricing data not available for CloudFront in region ${t}`,`Would assume ${i} GB of data transfer out to internet`,`Would assume ${a.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){e.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){e.push(`Using custom request count assumption: ${a.toLocaleString()} requests from configuration`)}return{amount:0,currency:"USD",confidence:"unknown",assumptions:e}}const h=i*e;const m=a/1e4*d;const Q=h+m;const k=[`Assumes ${i} GB of data transfer out to internet`,`Assumes ${a.toLocaleString()} HTTP/HTTPS requests per month`];if(this.dataTransferGB!==undefined){k.push(`Using custom data transfer assumption: ${i} GB from configuration`)}if(this.requests!==undefined){k.push(`Using custom request count assumption: ${a.toLocaleString()} requests from configuration`)}return{amount:Q,currency:"USD",confidence:"medium",assumptions:k}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudFrontCalculator=CloudFrontCalculator},2634:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.CloudWatchDashboardCalculator=t.CloudWatchAlarmCalculator=t.CloudWatchLogsCalculator=void 0;const o=n(7973);const i=n(7461);class CloudWatchLogsCalculator{customMonthlyIngestionGB;DEFAULT_MONTHLY_INGESTION_GB=10;FALLBACK_INGESTION_PRICE_PER_GB=.5;FALLBACK_STORAGE_PRICE_PER_GB=.03;constructor(e){this.customMonthlyIngestionGB=e}supports(e){return e==="AWS::Logs::LogGroup"}async calculateCost(e,t,n){const a=this.customMonthlyIngestionGB??this.DEFAULT_MONTHLY_INGESTION_GB;const d=Number(e.properties?.RetentionInDays??0);i.Logger.debug("CloudWatch Logs pricing calculation started",{region:t,logicalId:e.logicalId,monthlyIngestionGB:a,retentionDays:d});try{const e=(0,o.normalizeRegion)(t);const h=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Data Payload"},{field:"group",value:"Ingestion"}]});const m=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Storage Snapshot"}]});i.Logger.debug("CloudWatch Logs prices retrieved",{ingestionPrice:h,storagePrice:m,region:e});if(h===null&&m===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for CloudWatch Logs in region ${t}`]}}const Q=h??this.FALLBACK_INGESTION_PRICE_PER_GB;const k=m??this.FALLBACK_STORAGE_PRICE_PER_GB;const _=h===null||m===null;const L=a*Q;const U=d===0?365:d;const P=a*U/30;const H=P*k;const Y=L+H;const V=_?"low":"medium";i.Logger.debug("CloudWatch Logs cost calculated",{ingestionCost:L,storageCost:H,totalCost:Y,confidence:V});const J=[];if(_){if(h===null){J.push("Using fallback ingestion pricing (API unavailable)")}if(m===null){J.push("Using fallback storage pricing (API unavailable)")}}J.push(`Log ingestion: ${a}GB × $${Q.toFixed(2)}/GB = $${L.toFixed(2)}/month`);const W=d===0?"never expire (estimated as 365 days)":`${d} days`;J.push(`Log storage: ${P.toFixed(0)}GB avg (retention: ${W}) × $${k.toFixed(2)}/GB = $${H.toFixed(2)}/month`);J.push(`Total: $${Y.toFixed(2)}/month`);if(this.customMonthlyIngestionGB!==undefined){J.push("Using custom log ingestion volume from configuration")}J.push("Does not include Logs Insights query costs");return{amount:Y,currency:"USD",confidence:V,assumptions:J}}catch(e){i.Logger.debug("CloudWatch Logs pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Logs cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchLogsCalculator=CloudWatchLogsCalculator;class CloudWatchAlarmCalculator{FALLBACK_STANDARD_ALARM_PRICE=.1;FALLBACK_HIGH_RES_ALARM_PRICE=.3;supports(e){return e==="AWS::CloudWatch::Alarm"}async calculateCost(e,t,n){const a=Number(e.properties?.Period??60);const d=a<60;const h=e.properties?.Metrics;const m=Array.isArray(h)?h.length:1;i.Logger.debug("CloudWatch Alarm pricing calculation started",{region:t,logicalId:e.logicalId,period:a,isHighResolution:d});try{const e=(0,o.normalizeRegion)(t);const a=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Alarm"}]});i.Logger.debug("CloudWatch Alarm price retrieved",{alarmPrice:a,region:e});if(a===null){const e=d?this.FALLBACK_HIGH_RES_ALARM_PRICE:this.FALLBACK_STANDARD_ALARM_PRICE;const t=e*m;const n=d?"high-resolution":"standard";return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",`CloudWatch ${n} alarm: ${m} metric(s) × $${e.toFixed(2)} = $${t.toFixed(2)}/month`]}}const h=d?a*3:a;const Q=h*m;const k=d?"high-resolution":"standard";i.Logger.debug("CloudWatch Alarm cost calculated",{effectivePrice:h,totalCost:Q,resolution:k});return{amount:Q,currency:"USD",confidence:"medium",assumptions:[`CloudWatch ${k} alarm: ${m} metric(s) × $${h.toFixed(2)} = $${Q.toFixed(2)}/month`]}}catch(e){i.Logger.debug("CloudWatch Alarm pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Alarm cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchAlarmCalculator=CloudWatchAlarmCalculator;class CloudWatchDashboardCalculator{FALLBACK_DASHBOARD_PRICE=3;supports(e){return e==="AWS::CloudWatch::Dashboard"}async calculateCost(e,t,n){i.Logger.debug("CloudWatch Dashboard pricing calculation started",{region:t,logicalId:e.logicalId});try{const e=(0,o.normalizeRegion)(t);const a=await n.getPrice({serviceCode:"AmazonCloudWatch",region:e,filters:[{field:"productFamily",value:"Dashboard"}]});i.Logger.debug("CloudWatch Dashboard price retrieved",{dashboardPrice:a,region:e});const d=a??this.FALLBACK_DASHBOARD_PRICE;const h=a===null;const m=[];if(h){m.push("Using fallback pricing (API unavailable)")}m.push(`CloudWatch dashboard: $${d.toFixed(2)}/month`);m.push("First 3 dashboards with up to 50 metrics are free (not deducted)");return{amount:d,currency:"USD",confidence:h?"low":"high",assumptions:m}}catch(e){i.Logger.debug("CloudWatch Dashboard pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate CloudWatch Dashboard cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.CloudWatchDashboardCalculator=CloudWatchDashboardCalculator},4530:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.DynamoDBCalculator=void 0;const o=n(7973);class DynamoDBCalculator{config;constructor(e){this.config=e}supports(e){return e==="AWS::DynamoDB::Table"}async calculateCost(e,t,n){const o=e.properties.BillingMode||"PROVISIONED";const i=e.properties.ProvisionedThroughput!==undefined;if(i||o==="PROVISIONED"){return this.calculateProvisionedCost(e,t,n)}else{return this.calculateOnDemandCost(e,t,n)}}getUsageAssumptions(){return{readRequests:this.config?.usageAssumptions?.dynamodb?.readRequestsPerMonth??1e7,writeRequests:this.config?.usageAssumptions?.dynamodb?.writeRequestsPerMonth??1e6}}async calculateOnDemandCost(e,t,n){try{const{readRequests:e,writeRequests:i}=this.getUsageAssumptions();const a=(0,o.normalizeRegion)(t);const d=await n.getPrice({serviceCode:"AmazonDynamoDB",region:a,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-ReadUnits",type:"TERM_MATCH"}]});const h=await n.getPrice({serviceCode:"AmazonDynamoDB",region:a,filters:[{field:"productFamily",value:"Amazon DynamoDB PayPerRequest Throughput",type:"TERM_MATCH"},{field:"group",value:"DDB-WriteUnits",type:"TERM_MATCH"}]});if(d===null||h===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB on-demand mode","On-demand billing mode"]}}const m=e*d;const Q=i*h;const k=m+Q;return{amount:k,currency:"USD",confidence:"medium",assumptions:[`Assumes ${e.toLocaleString()} read requests per month`,`Assumes ${i.toLocaleString()} write requests per month`,"On-demand billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"On-demand billing mode"]}}}async calculateProvisionedCost(e,t,n){try{const i=e.properties.ProvisionedThroughput;const a=i?.ReadCapacityUnits||5;const d=i?.WriteCapacityUnits||5;const h=(0,o.normalizeRegion)(t);const m=await n.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"usagetype",value:`${t}-ReadCapacityUnit-Hrs`,type:"TERM_MATCH"}]});const Q=await n.getPrice({serviceCode:"AmazonDynamoDB",region:h,filters:[{field:"usagetype",value:`${t}-WriteCapacityUnit-Hrs`,type:"TERM_MATCH"}]});if(m===null||Q===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for DynamoDB provisioned mode","Provisioned billing mode"]}}const k=730;const _=a*k*m;const L=d*k*Q;const U=_+L;return{amount:U,currency:"USD",confidence:"high",assumptions:[`${a} provisioned read capacity units`,`${d} provisioned write capacity units`,`Assumes ${k} hours per month (24/7 operation)`,"Provisioned billing mode","Does not include storage costs or other features (streams, backups, etc.)"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,"Provisioned billing mode"]}}}}t.DynamoDBCalculator=DynamoDBCalculator},2970:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EC2Calculator=void 0;const o=n(7973);class EC2Calculator{supports(e){return e==="AWS::EC2::Instance"}async calculateCost(e,t,n){const i=e.properties.InstanceType;if(!i){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Instance type not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${i} in region ${t}`]}}const a=730;const d=e*a;return{amount:d,currency:"USD",confidence:"high",assumptions:[`Assumes ${a} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EC2Calculator=EC2Calculator},2665:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ECSCalculator=void 0;const o=n(7973);class ECSCalculator{supports(e){return e==="AWS::ECS::Service"}async calculateCost(e,t,n){const o=e.properties.DesiredCount||1;const i=e.properties.LaunchType||"FARGATE";if(i==="FARGATE"){return this.calculateFargateCost(e,o,t,n)}else if(i==="EC2"){return this.calculateEC2Cost(o)}else{return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported launch type: ${i}`]}}}async calculateFargateCost(e,t,n,i){try{const e=.25;const a=.5;const d=(0,o.getRegionPrefix)(n);if(!d){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Region prefix not found for ${n}`,"Unable to query Fargate pricing"]}}const h=await i.getPrice({serviceCode:"AmazonECS",region:(0,o.normalizeRegion)(n),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:`${d}-Fargate-vCPU-Hours:perCPU`}]});const m=await i.getPrice({serviceCode:"AmazonECS",region:(0,o.normalizeRegion)(n),filters:[{field:"usagetype",value:`${d}-Fargate-GB-Hours`}]});if(h===null||m===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Pricing data not available for ECS Fargate"]}}const Q=730;const k=e*h*Q*t;const _=a*m*Q*t;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`${t} task(s) running`,`Assumes ${e} vCPU per task`,`Assumes ${a} GB memory per task`,`Assumes ${Q} hours per month (24/7 operation)`,"Fargate launch type","Does not include data transfer or storage costs"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}calculateEC2Cost(e){return{amount:0,currency:"USD",confidence:"low",assumptions:[`${e} task(s) running on EC2 launch type`,"EC2 launch type costs depend on underlying EC2 instances","Refer to EC2 instance costs for actual pricing","Does not include ECS task-specific costs (minimal for EC2 launch type)"]}}}t.ECSCalculator=ECSCalculator},8900:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EFSCalculator=void 0;const o=n(7973);const i=n(7461);class EFSCalculator{customStorageSizeGb;customInfrequentAccessPercentage;DEFAULT_STORAGE_SIZE_GB=100;DEFAULT_IA_PERCENTAGE=0;FALLBACK_STANDARD_PRICE=.3;FALLBACK_IA_STORAGE_PRICE=.016;FALLBACK_IA_REQUEST_PRICE=.01;FALLBACK_PROVISIONED_THROUGHPUT_PRICE=6;constructor(e,t){this.customStorageSizeGb=e;this.customInfrequentAccessPercentage=t}supports(e){return e==="AWS::EFS::FileSystem"}async calculateCost(e,t,n){try{if(!e.properties){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Resource properties are undefined"]}}const a=(0,o.getRegionPrefix)(t);const d=this.customStorageSizeGb??this.DEFAULT_STORAGE_SIZE_GB;const h=this.customInfrequentAccessPercentage??this.DEFAULT_IA_PERCENTAGE;i.Logger.debug("EFS pricing calculation started",{region:t,regionPrefix:a,normalizedRegion:(0,o.normalizeRegion)(t),storageSizeGb:d,iaPercentage:h});const m=e.properties?.LifecyclePolicies;const Q=m?.some((e=>e.TransitionToIA!==undefined))??false;const k=e.properties?.ThroughputMode;const _=e.properties?.ProvisionedThroughputInMibps;const L=k==="provisioned"&&_!==undefined;const U=Q?h:0;const P=d*(1-U/100);const H=d*(U/100);const Y=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-TimedStorage-ByteHrs`}]});i.Logger.debug("EFS Standard storage price retrieved",{standardStoragePrice:Y,usageType:`${a}-TimedStorage-ByteHrs`});let V=null;let J=null;if(Q&&h>0){V=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-IATimedStorage-ByteHrs`}]});J=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"usagetype",value:`${a}-IARequests-Bytes`}]});i.Logger.debug("EFS IA storage prices retrieved",{iaStoragePrice:V,iaRequestPrice:J})}let W=null;if(L){W=await n.getPrice({serviceCode:"AmazonEFS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Provisioned Throughput"},{field:"usagetype",value:`${a}-ProvisionedTP-MiBpsHrs`}]});i.Logger.debug("EFS Provisioned Throughput price retrieved",{provisionedThroughputPrice:W,usageType:`${a}-ProvisionedTP-MiBpsHrs`})}const j=[];let K=0;let X="medium";const Z=Y??this.FALLBACK_STANDARD_PRICE;const ee=P*Z;if(Y===null){j.push("Using fallback Standard storage pricing (API unavailable)");X="low"}K+=ee;j.push(`Standard storage: ${P.toFixed(2)} GB × $${Z.toFixed(4)}/GB = $${ee.toFixed(2)}/month`);if(Q&&h>0){const e=V??this.FALLBACK_IA_STORAGE_PRICE;const t=H*e;if(V===null){j.push("Using fallback Infrequent Access storage pricing (API unavailable)");X="low"}K+=t;j.push(`Infrequent Access storage: ${H.toFixed(2)} GB × $${e.toFixed(4)}/GB = $${t.toFixed(2)}/month`);const n=H*.1;const o=J??this.FALLBACK_IA_REQUEST_PRICE;const i=n*o;if(J===null&&h>0){j.push("Using fallback Infrequent Access request pricing (API unavailable)");X="low"}K+=i;j.push(`IA requests (estimated 10% access): ${n.toFixed(2)} GB × $${o.toFixed(4)}/GB = $${i.toFixed(2)}/month`)}if(L&&_!==undefined){const e=W??this.FALLBACK_PROVISIONED_THROUGHPUT_PRICE;const t=_*e;if(W===null){j.push("Using fallback Provisioned Throughput pricing (API unavailable)");X="low"}K+=t;j.push(`Provisioned Throughput: ${_} MB/s × $${e.toFixed(2)}/MB/s = $${t.toFixed(2)}/month`)}j.push(`Total storage: ${d} GB`);if(this.customStorageSizeGb!==undefined){j.push("Using custom storage size assumption from configuration")}if(Q){j.push(`Lifecycle policy detected: ${U}% in Infrequent Access`);if(this.customInfrequentAccessPercentage!==undefined){j.push("Using custom IA percentage assumption from configuration")}}if(k){j.push(`Throughput mode: ${k}`)}j.push(`Total: $${K.toFixed(2)}/month`);i.Logger.debug("EFS cost calculated",{standardStorageCost:ee,totalCost:K,confidence:X});return{amount:K,currency:"USD",confidence:X,assumptions:j}}catch(e){i.Logger.debug("EFS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EFSCalculator=EFSCalculator},6209:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.EKSCalculator=void 0;const o=n(7973);class EKSCalculator{HOURS_PER_MONTH=730;FALLBACK_CONTROL_PLANE_HOURLY=.1;supports(e){return e==="AWS::EKS::Cluster"}async calculateCost(e,t,n){try{const e=await n.getPrice({serviceCode:"AmazonEKS",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Compute"},{field:"usagetype",value:"AmazonEKS-Hours:perCluster"}]});const i=e??this.FALLBACK_CONTROL_PLANE_HOURLY;const a=i*this.HOURS_PER_MONTH;const d=e===null;return{amount:a,currency:"USD",confidence:d?"medium":"high",assumptions:[`EKS control plane: $${i.toFixed(2)}/hour × ${this.HOURS_PER_MONTH} hours = $${a.toFixed(2)}/month`,...d?[`Using fallback pricing (API data not available for region ${t})`]:[],"Worker nodes (EC2/Fargate) are calculated separately"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.EKSCalculator=EKSCalculator},2564:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ElastiCacheCalculator=void 0;const o=n(7973);class ElastiCacheCalculator{supports(e){return e==="AWS::ElastiCache::CacheCluster"}async calculateCost(e,t,n){const i=e.properties.CacheNodeType;const a=e.properties.Engine;const d=e.properties.NumCacheNodes||1;const h=e.properties.AZMode;if(!i||!a){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["Cache node type or engine not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonElastiCache",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"cacheEngine",value:this.normalizeEngine(a)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for node type ${i} with engine ${a} in region ${t}`]}}const m=730;const Q=e*m;let k=Q*d;const _=[`Assumes ${m} hours per month (24/7 operation)`,`Node type: ${i}`,`Engine: ${a}`,`Number of cache nodes: ${d}`,`Per-node monthly cost: $${Q.toFixed(2)}`];if(h==="cross-az"){k*=2;_.push("Multi-AZ deployment with replica nodes (cost doubled)")}else{_.push("Single-AZ deployment")}return{amount:k,currency:"USD",confidence:"high",assumptions:_}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={redis:"Redis",memcached:"Memcached"};return t[e.toLowerCase()]||e}}t.ElastiCacheCalculator=ElastiCacheCalculator},9402:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.KinesisCalculator=void 0;const o=n(7973);class KinesisCalculator{customShardCount;customIngestionGB;customRetrievalGB;customFirehoseGB;customKPUs;HOURS_PER_MONTH=730;DEFAULT_SHARD_COUNT=2;FALLBACK_SHARD_PRICE=.015;DEFAULT_INGESTION_GB=1e3;DEFAULT_RETRIEVAL_GB=2e3;FALLBACK_INGESTION_PRICE=.04;FALLBACK_RETRIEVAL_PRICE=.015;DEFAULT_FIREHOSE_GB=1e3;FALLBACK_FIREHOSE_PRICE=.029;DEFAULT_KPUS=2;FALLBACK_KPU_PRICE=.11;constructor(e,t,n,o,i){this.customShardCount=e;this.customIngestionGB=t;this.customRetrievalGB=n;this.customFirehoseGB=o;this.customKPUs=i}supports(e){return e==="AWS::Kinesis::Stream"||e==="AWS::KinesisFirehose::DeliveryStream"||e==="AWS::KinesisAnalyticsV2::Application"}async calculateCost(e,t,n){try{switch(e.type){case"AWS::Kinesis::Stream":return await this.calculateDataStreamCost(e,t,n);case"AWS::KinesisFirehose::DeliveryStream":return this.calculateFirehoseCost();case"AWS::KinesisAnalyticsV2::Application":return this.calculateAnalyticsCost();default:return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported Kinesis resource type: ${e.type}`]}}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateDataStreamCost(e,t,n){const i=e.properties||{};const a=i.StreamModeDetails;const d=a?.StreamMode||"PROVISIONED";if(d==="ON_DEMAND"){return this.calculateOnDemandStreamCost()}const h=this.customShardCount??i.ShardCount??this.DEFAULT_SHARD_COUNT;const m=await n.getPrice({serviceCode:"AmazonKinesis",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Kinesis Streams"},{field:"usagetype",value:"shardHour-Provisioned"}]});const Q=m??this.FALLBACK_SHARD_PRICE;const k=h*Q*this.HOURS_PER_MONTH;return{amount:k,currency:"USD",confidence:m!==null?"high":"medium",assumptions:[`Provisioned mode: ${h} shards × $${Q.toFixed(4)}/shard-hour × ${this.HOURS_PER_MONTH}h = $${k.toFixed(2)}/month`,...m===null?[`Using fallback pricing (API data not available for region ${t})`]:[]]}}calculateOnDemandStreamCost(){const e=this.customIngestionGB??this.DEFAULT_INGESTION_GB;const t=this.customRetrievalGB??this.DEFAULT_RETRIEVAL_GB;const n=e*this.FALLBACK_INGESTION_PRICE;const o=t*this.FALLBACK_RETRIEVAL_PRICE;const i=n+o;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`On-demand mode`,`Ingestion: ${e} GB × $${this.FALLBACK_INGESTION_PRICE}/GB = $${n.toFixed(2)}/month`,`Retrieval: ${t} GB × $${this.FALLBACK_RETRIEVAL_PRICE}/GB = $${o.toFixed(2)}/month`]}}calculateFirehoseCost(){const e=this.customFirehoseGB??this.DEFAULT_FIREHOSE_GB;const t=e*this.FALLBACK_FIREHOSE_PRICE;return{amount:t,currency:"USD",confidence:"medium",assumptions:[`Firehose ingestion: ${e} GB × $${this.FALLBACK_FIREHOSE_PRICE}/GB = $${t.toFixed(2)}/month`,"Does not include format conversion or VPC delivery costs"]}}calculateAnalyticsCost(){const e=this.customKPUs??this.DEFAULT_KPUS;const t=e*this.FALLBACK_KPU_PRICE*this.HOURS_PER_MONTH;return{amount:t,currency:"USD",confidence:"medium",assumptions:[`Kinesis Analytics: ${e} KPUs × $${this.FALLBACK_KPU_PRICE}/KPU-hour × ${this.HOURS_PER_MONTH}h = $${t.toFixed(2)}/month`,"1 KPU = 1 vCPU + 4 GB memory"]}}}t.KinesisCalculator=KinesisCalculator},7653:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LambdaCalculator=void 0;const o=n(7973);class LambdaCalculator{customInvocationsPerMonth;customAverageDurationMs;DEFAULT_INVOCATIONS=1e6;DEFAULT_DURATION_MS=1e3;DEFAULT_MEMORY_MB=128;FALLBACK_REQUEST_PRICE=.2;FALLBACK_COMPUTE_PRICE=166667e-10;constructor(e,t){this.customInvocationsPerMonth=e;this.customAverageDurationMs=t}supports(e){return e==="AWS::Lambda::Function"}async calculateCost(e,t,n){const i=e.properties.MemorySize||this.DEFAULT_MEMORY_MB;const a=this.customInvocationsPerMonth??this.DEFAULT_INVOCATIONS;const d=this.customAverageDurationMs??this.DEFAULT_DURATION_MS;try{const e=await n.getPrice({serviceCode:"AWSLambda",region:(0,o.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Requests"}]});const h=await n.getPrice({serviceCode:"AWSLambda",region:(0,o.normalizeRegion)(t),filters:[{field:"group",value:"AWS-Lambda-Duration"}]});const m=[`Assumes ${a.toLocaleString()} invocations per month`,`Assumes ${d}ms average execution time`,`Assumes ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){m.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){m.push("Using custom duration assumption from configuration")}if(e===null||h===null){const n=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(n){const t=e??this.FALLBACK_REQUEST_PRICE;const n=h??this.FALLBACK_COMPUTE_PRICE;const o=a/1e6*t;const Q=i/1024*(d/1e3)*a;const k=Q*n;const _=o+k;return{amount:_,currency:"USD",confidence:"low",assumptions:[e===null?"Using fallback request pricing (API unavailable)":"",h===null?"Using fallback compute pricing (API unavailable)":"",...m].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Lambda in region ${t}`,...m]}}const Q=a/1e6*e;const k=i/1024*(d/1e3)*a;const _=k*h;const L=Q+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:m}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,`Would assume ${a.toLocaleString()} invocations per month`,`Would assume ${d}ms average execution time`,`Would assume ${i}MB memory allocation`];if(this.customInvocationsPerMonth!==undefined){t.push("Using custom invocation count assumption from configuration")}if(this.customAverageDurationMs!==undefined){t.push("Using custom duration assumption from configuration")}const n=this.customInvocationsPerMonth!==undefined||this.customAverageDurationMs!==undefined;if(n){const e=a/1e6*this.FALLBACK_REQUEST_PRICE;const n=i/1024*(d/1e3)*a;const o=n*this.FALLBACK_COMPUTE_PRICE;const h=e+o;return{amount:h,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}}t.LambdaCalculator=LambdaCalculator},231:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LaunchTemplateCalculator=void 0;const o=n(7973);class LaunchTemplateCalculator{static DEFAULT_VOLUME_SIZE_GB=8;static DEFAULT_VOLUME_TYPE="gp3";static MONTHLY_HOURS=730;supports(e){return e==="AWS::EC2::LaunchTemplate"}async calculateCost(e,t,n){const o=this.extractConfig(e);if(!o.instanceType){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["LaunchTemplate does not specify an instance type","LaunchTemplates have no direct cost; costs are incurred when instances are launched"]}}try{const e=await this.calculateInstanceCost(o.instanceType,t,n);if(e===0){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance type ${o.instanceType} in region ${t}`]}}const i=await this.calculateStorageCost(o.ebsVolumes,t,n);const a=e+i;const d=["LaunchTemplates have no direct cost; this represents per-instance cost when used",`Instance type: ${o.instanceType}`,`Assumes ${LaunchTemplateCalculator.MONTHLY_HOURS} hours per month (24/7 operation)`,"Assumes Linux OS, shared tenancy, on-demand pricing"];if(o.ebsVolumes.length>0){const e=o.ebsVolumes.map((e=>`${e.deviceName}: ${e.volumeSizeGB}GB ${e.volumeType}`));d.push(`EBS volumes: ${e.join(", ")}`)}const h=o.ebsVolumes.some((e=>(e.volumeType==="io1"||e.volumeType==="io2")&&e.iops));if(h){d.push("Provisioned IOPS costs for io1/io2 volumes are not included")}const m=o.ebsVolumes.some((e=>e.volumeType==="gp3"&&e.throughput&&e.throughput>125));if(m){d.push("Additional throughput costs for gp3 volumes are not included")}if(o.imageId){d.push(`AMI: ${o.imageId}`)}return{amount:a,currency:"USD",confidence:"low",assumptions:d}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}extractConfig(e){const t=e.properties.LaunchTemplateData;if(!t){return{instanceType:null,imageId:null,ebsVolumes:[]}}const n=t.InstanceType||null;const o=t.ImageId||null;const i=this.extractEbsVolumes(t);return{instanceType:n,imageId:o,ebsVolumes:i}}extractEbsVolumes(e){const t=e.BlockDeviceMappings;if(!t||!Array.isArray(t)){return[]}return t.filter((e=>e.Ebs!==undefined)).map((e=>{const t=e.Ebs;return{deviceName:e.DeviceName||"/dev/xvda",volumeType:t.VolumeType||LaunchTemplateCalculator.DEFAULT_VOLUME_TYPE,volumeSizeGB:t.VolumeSize||LaunchTemplateCalculator.DEFAULT_VOLUME_SIZE_GB,iops:t.Iops,throughput:t.Throughput,deleteOnTermination:t.DeleteOnTermination??true}}))}async calculateInstanceCost(e,t,n){const i=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:e},{field:"operatingSystem",value:"Linux"},{field:"tenancy",value:"Shared"},{field:"preInstalledSw",value:"NA"},{field:"capacitystatus",value:"Used"}]});if(i===null){return 0}return i*LaunchTemplateCalculator.MONTHLY_HOURS}async calculateStorageCost(e,t,n){if(e.length===0){return 0}let i=0;for(const a of e){const e=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Storage"},{field:"volumeApiName",value:a.volumeType.toLowerCase()}]});if(e!==null){i+=e*a.volumeSizeGB}}return i}}t.LaunchTemplateCalculator=LaunchTemplateCalculator},8680:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NLBCalculator=void 0;const o=n(7973);class NLBCalculator{customNewConnectionsPerSecond;customActiveConnectionsPerMinute;customProcessedBytesGB;DEFAULT_NEW_CONNECTIONS_PER_SECOND=25;DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE=3e3;DEFAULT_PROCESSED_BYTES_GB=100;HOURS_PER_MONTH=730;constructor(e,t,n){this.customNewConnectionsPerSecond=e;this.customActiveConnectionsPerMinute=t;this.customProcessedBytesGB=n}supports(e){return e==="AWS::ElasticLoadBalancingV2::LoadBalancer"}canCalculate(e){const t=e.properties?.Type;return this.supports(e.type)&&t==="network"}async calculateCost(e,t,n){const i=e.properties?.Type;if(i&&i!=="network"){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["This calculator only supports Network Load Balancers"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LoadBalancerUsage`}]});const a=await n.getPrice({serviceCode:"AWSELB",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"Load Balancer-Network"},{field:"usagetype",value:`${e}-LCUUsage`}]});if(i===null||a===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Network Load Balancer in region ${t}`]}}const d=this.customNewConnectionsPerSecond||this.DEFAULT_NEW_CONNECTIONS_PER_SECOND;const h=this.customActiveConnectionsPerMinute||this.DEFAULT_ACTIVE_CONNECTIONS_PER_MINUTE;const m=this.customProcessedBytesGB||this.DEFAULT_PROCESSED_BYTES_GB;const Q=d/800;const k=h/1e5;const _=m/this.HOURS_PER_MONTH;const L=_;const U=Math.max(Q,k,L);const P=i*this.HOURS_PER_MONTH;const H=a*U*this.HOURS_PER_MONTH;const Y=P+H;return{amount:Y,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${P.toFixed(2)}/month`,`NLCU consumption: ${U.toFixed(2)} NLCU/hour based on:`,` - New connections: ${d}/sec → ${Q.toFixed(2)} NLCU`,` - Active connections: ${h}/min → ${k.toFixed(2)} NLCU`,` - Processed data: ${m} GB/month → ${L.toFixed(2)} NLCU`,`NLCU cost: $${a.toFixed(4)}/NLCU/hour × ${U.toFixed(2)} NLCU × ${this.HOURS_PER_MONTH} hours = $${H.toFixed(2)}/month`,`Total: $${Y.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NLBCalculator=NLBCalculator},1597:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.NatGatewayCalculator=void 0;const o=n(7973);const i=n(7461);class NatGatewayCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::NatGateway"}async calculateCost(e,t,n){try{const e=(0,o.getRegionPrefix)(t);i.Logger.debug("NAT Gateway pricing calculation started",{region:t,regionPrefix:e,normalizedRegion:(0,o.normalizeRegion)(t),dataProcessedGB:this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB});const a=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Hours`}]});i.Logger.debug("NAT Gateway hourly rate retrieved",{hourlyRate:a,usageType:`${e}-RegionalNatGateway-Hours`});const d=await n.getPrice({serviceCode:"AmazonEC2",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"NAT Gateway"},{field:"usagetype",value:`${e}-RegionalNatGateway-Bytes`}]});i.Logger.debug("NAT Gateway data processing rate retrieved",{dataProcessingRate:d,usageType:`${e}-RegionalNatGateway-Bytes`});if(a===null||d===null){const n=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const o=[`Pricing data not available for NAT Gateway in region ${t}`,`Would assume ${n} GB of data processing per month`,`Would assume ${this.HOURS_PER_MONTH} hours per month`];if(this.customDataProcessedGB!==undefined){o.push("Using custom data processing assumption from configuration")}i.Logger.debug("NAT Gateway pricing not available",{region:t,regionPrefix:e,hourlyRateAvailable:a!==null,dataProcessingRateAvailable:d!==null});return{amount:0,currency:"USD",confidence:"unknown",assumptions:o}}const h=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const m=a*this.HOURS_PER_MONTH;const Q=d*h;const k=m+Q;i.Logger.debug("NAT Gateway cost calculated",{hourlyRate:a,dataProcessingRate:d,dataProcessedGB:h,hourlyCost:m,dataProcessingCost:Q,totalCost:k});return{amount:k,currency:"USD",confidence:"medium",assumptions:[`Hourly rate: $${a.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${m.toFixed(2)}/month`,`Data processing: $${d.toFixed(4)}/GB × ${h} GB = $${Q.toFixed(2)}/month`,`Total: $${k.toFixed(2)}/month`]}}catch(e){i.Logger.debug("NAT Gateway pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.NatGatewayCalculator=NatGatewayCalculator},779:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.RDSCalculator=void 0;const o=n(7973);class RDSCalculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::RDS::DBInstance"}async calculateCost(e,t,n){const i=e.properties.DBInstanceClass;const a=e.properties.Engine;if(!i||!a){return{amount:0,currency:"USD",confidence:"unknown",assumptions:["DB instance class or engine not specified"]}}try{const e=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"instanceType",value:i},{field:"databaseEngine",value:this.normalizeEngine(a)},{field:"deploymentOption",value:"Single-AZ"}]});const d=await n.getPrice({serviceCode:"AmazonRDS",region:(0,o.normalizeRegion)(t),filters:[{field:"volumeType",value:"General Purpose"},{field:"databaseEngine",value:this.normalizeEngine(a)}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for instance class ${i} in region ${t}`]}}const h=730;const m=e*h;const Q=(d||0)*this.DEFAULT_STORAGE_GB;const k=m+Q;return{amount:k,currency:"USD",confidence:"high",assumptions:[`Assumes ${h} hours per month (24/7 operation)`,`Assumes ${this.DEFAULT_STORAGE_GB} GB of General Purpose (gp2) storage`,"Assumes Single-AZ deployment"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}normalizeEngine(e){const t={mysql:"MySQL",postgres:"PostgreSQL",mariadb:"MariaDB","oracle-se2":"Oracle","sqlserver-ex":"SQL Server","aurora-mysql":"Aurora MySQL","aurora-postgresql":"Aurora PostgreSQL"};return t[e.toLowerCase()]||e}}t.RDSCalculator=RDSCalculator},4885:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Route53Calculator=void 0;class Route53Calculator{customMonthlyQueries;HOSTED_ZONE_PRICE=.5;BASIC_HEALTH_CHECK_PRICE=.5;HTTPS_HEALTH_CHECK_PRICE=1;STANDARD_QUERY_PRICE_PER_MILLION=.4;LATENCY_QUERY_PRICE_PER_MILLION=.6;GEO_QUERY_PRICE_PER_MILLION=.7;DEFAULT_MONTHLY_QUERIES=1e6;constructor(e){this.customMonthlyQueries=e}supports(e){return e==="AWS::Route53::HostedZone"||e==="AWS::Route53::HealthCheck"||e==="AWS::Route53::RecordSet"}async calculateCost(e,t,n){switch(e.type){case"AWS::Route53::HostedZone":return this.calculateHostedZoneCost();case"AWS::Route53::HealthCheck":return this.calculateHealthCheckCost(e);case"AWS::Route53::RecordSet":return this.calculateRecordSetCost(e);default:return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Unsupported Route 53 resource type: ${e.type}`]}}}calculateHostedZoneCost(){return{amount:this.HOSTED_ZONE_PRICE,currency:"USD",confidence:"high",assumptions:[`Hosted zone: $${this.HOSTED_ZONE_PRICE.toFixed(2)}/month`,"DNS query costs are calculated on RecordSet resources"]}}calculateHealthCheckCost(e){const t=e.properties||{};const n=t.HealthCheckConfig;const o=n?.Type||"HTTP";const i=["HTTPS","HTTP_STR_MATCH","HTTPS_STR_MATCH"].includes(o);const a=i?this.HTTPS_HEALTH_CHECK_PRICE:this.BASIC_HEALTH_CHECK_PRICE;return{amount:a,currency:"USD",confidence:"high",assumptions:[`Health check (${o}): $${a.toFixed(2)}/month`]}}calculateRecordSetCost(e){const t=e.properties||{};if(t.AliasTarget){return{amount:0,currency:"USD",confidence:"high",assumptions:["Alias record to AWS resource: no query charges"]}}const n=this.customMonthlyQueries??this.DEFAULT_MONTHLY_QUERIES;const o=n/1e6;let i=this.STANDARD_QUERY_PRICE_PER_MILLION;let a="standard";if(t.Region){i=this.LATENCY_QUERY_PRICE_PER_MILLION;a="latency-based"}else if(t.GeoLocation){i=this.GEO_QUERY_PRICE_PER_MILLION;a="geolocation"}const d=o*i;return{amount:d,currency:"USD",confidence:"medium",assumptions:[`DNS queries (${a}): ${o}M × $${i.toFixed(2)}/M = $${d.toFixed(2)}/month`]}}}t.Route53Calculator=Route53Calculator},4872:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.S3Calculator=void 0;const o=n(7973);class S3Calculator{DEFAULT_STORAGE_GB=100;supports(e){return e==="AWS::S3::Bucket"}async calculateCost(e,t,n){try{const e=await n.getPrice({serviceCode:"AmazonS3",region:(0,o.normalizeRegion)(t),filters:[{field:"storageClass",value:"General Purpose"},{field:"volumeType",value:"Standard"}]});if(e===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for S3 in region ${t}`]}}const i=e*this.DEFAULT_STORAGE_GB;return{amount:i,currency:"USD",confidence:"medium",assumptions:[`Assumes ${this.DEFAULT_STORAGE_GB} GB of standard storage`,"Does not include request costs or data transfer"]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.S3Calculator=S3Calculator},7346:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SNSCalculator=void 0;const o=n(7973);const i=n(7461);class SNSCalculator{customMonthlyPublishes;customHttpDeliveries;customEmailDeliveries;customSmsDeliveries;customMobilePushDeliveries;DEFAULT_MONTHLY_PUBLISHES=1e6;DEFAULT_HTTP_DELIVERIES=1e6;DEFAULT_EMAIL_DELIVERIES=0;DEFAULT_SMS_DELIVERIES=0;DEFAULT_MOBILE_PUSH_DELIVERIES=0;FALLBACK_PUBLISH_PRICE_PER_MILLION=.5;FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION=.6;FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K=2;FALLBACK_SMS_PRICE_PER_MESSAGE=.00645;FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION=.5;FREE_TIER_PUBLISHES=1e6;constructor(e,t,n,o,i){this.customMonthlyPublishes=e;this.customHttpDeliveries=t;this.customEmailDeliveries=n;this.customSmsDeliveries=o;this.customMobilePushDeliveries=i}supports(e){return e==="AWS::SNS::Topic"}async calculateCost(e,t,n){const a=this.customMonthlyPublishes??this.DEFAULT_MONTHLY_PUBLISHES;const d=this.customHttpDeliveries??this.DEFAULT_HTTP_DELIVERIES;const h=this.customEmailDeliveries??this.DEFAULT_EMAIL_DELIVERIES;const m=this.customSmsDeliveries??this.DEFAULT_SMS_DELIVERIES;const Q=this.customMobilePushDeliveries??this.DEFAULT_MOBILE_PUSH_DELIVERIES;i.Logger.debug("SNS pricing calculation started",{region:t,logicalId:e.logicalId,monthlyPublishes:a,httpDeliveries:d,emailDeliveries:h,smsDeliveries:m,mobilePushDeliveries:Q});try{const e=(0,o.getRegionPrefix)(t);const k=(0,o.normalizeRegion)(t);const _=await this.getPublishPrice(n,k,e);const L=await this.getHttpDeliveryPrice(n,k,e);const U=await this.getEmailDeliveryPrice(n,k,e);const P=await this.getSmsPrice(n,k,e);const H=await this.getMobilePushPrice(n,k,e);const Y=this.hasCustomAssumptions();const V=_!==null&&L!==null&&U!==null&&P!==null&&H!==null;const J=this.calculateCostBreakdown(a,d,h,m,Q,_,L,U,P,H);i.Logger.debug("SNS cost calculated",{costBreakdown:J,allPricesAvailable:V});const W=this.buildAssumptions(a,d,h,m,Q,J,V,_,L,U,P,H);let j;if(!V&&!Y){j="unknown"}else if(!V&&Y){j="low"}else{j="medium"}if(!V&&!Y){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SNS in region ${t}`,...W]}}return{amount:J.totalCost,currency:"USD",confidence:j,assumptions:W}}catch(e){i.Logger.debug("SNS pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});if(this.hasCustomAssumptions()){const e=this.calculateCostBreakdown(a,d,h,m,Q,null,null,null,null,null);return{amount:e.totalCost,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",`Assumes ${a.toLocaleString()} publishes per month`,`Assumes ${d.toLocaleString()} HTTP/S deliveries per month`]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async getPublishPrice(e,t,n){const o=n?`${n}-PublishRequests`:"PublishRequests";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getHttpDeliveryPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-HTTP`:"DeliveryAttempts-HTTP";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getEmailDeliveryPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-EMAIL`:"DeliveryAttempts-EMAIL";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Notification"},{field:"usagetype",value:o}]})}async getSmsPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-SMS`:"DeliveryAttempts-SMS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"SMS"},{field:"usagetype",value:o}]})}async getMobilePushPrice(e,t,n){const o=n?`${n}-DeliveryAttempts-APNS`:"DeliveryAttempts-APNS";return e.getPrice({serviceCode:"AmazonSNS",region:t,filters:[{field:"productFamily",value:"Mobile Push Notification"},{field:"usagetype",value:o}]})}calculateCostBreakdown(e,t,n,o,i,a,d,h,m,Q){const k=a??this.FALLBACK_PUBLISH_PRICE_PER_MILLION;const _=d??this.FALLBACK_HTTP_DELIVERY_PRICE_PER_MILLION;const L=h??this.FALLBACK_EMAIL_DELIVERY_PRICE_PER_100K;const U=m??this.FALLBACK_SMS_PRICE_PER_MESSAGE;const P=Q??this.FALLBACK_MOBILE_PUSH_PRICE_PER_MILLION;const H=Math.max(0,e-this.FREE_TIER_PUBLISHES);const Y=H/1e6*k;const V=t/1e6*_;const J=n/1e5*L;const W=o*U;const j=i/1e6*P;const K=Y+V+J+W+j;return{publishCost:Y,httpDeliveryCost:V,emailDeliveryCost:J,smsDeliveryCost:W,mobilePushDeliveryCost:j,totalCost:K}}buildAssumptions(e,t,n,o,i,a,d,h,m,Q,k,_){const L=[];L.push(`Assumes ${e.toLocaleString()} publishes per month`);L.push(`Assumes ${t.toLocaleString()} HTTP/S deliveries per month`);if(n>0){L.push(`Assumes ${n.toLocaleString()} email deliveries per month`)}if(o>0){L.push(`Assumes ${o.toLocaleString()} SMS deliveries per month (using US rate)`)}if(i>0){L.push(`Assumes ${i.toLocaleString()} mobile push deliveries per month`)}if(e<=this.FREE_TIER_PUBLISHES){L.push(`First ${this.FREE_TIER_PUBLISHES.toLocaleString()} publishes are free`)}else{const t=e-this.FREE_TIER_PUBLISHES;L.push(`${this.FREE_TIER_PUBLISHES.toLocaleString()} free tier publishes applied, ${t.toLocaleString()} billable`)}if(a.publishCost>0){L.push(`Publish cost: $${a.publishCost.toFixed(2)}`)}if(a.httpDeliveryCost>0){L.push(`HTTP/S delivery cost: $${a.httpDeliveryCost.toFixed(2)}`)}if(a.emailDeliveryCost>0){L.push(`Email delivery cost: $${a.emailDeliveryCost.toFixed(2)}`)}if(a.smsDeliveryCost>0){L.push(`SMS delivery cost: $${a.smsDeliveryCost.toFixed(2)}`)}if(a.mobilePushDeliveryCost>0){L.push(`Mobile push delivery cost: $${a.mobilePushDeliveryCost.toFixed(2)}`)}if(!d){if(h===null){L.push("Using fallback publish pricing (API unavailable)")}if(m===null){L.push("Using fallback HTTP delivery pricing (API unavailable)")}if(Q===null&&n>0){L.push("Using fallback email delivery pricing (API unavailable)")}if(k===null&&o>0){L.push("Using fallback SMS pricing (API unavailable)")}if(_===null&&i>0){L.push("Using fallback mobile push pricing (API unavailable)")}}if(this.customMonthlyPublishes!==undefined){L.push("Using custom publish count from configuration")}if(this.customHttpDeliveries!==undefined){L.push("Using custom HTTP delivery count from configuration")}if(this.customEmailDeliveries!==undefined){L.push("Using custom email delivery count from configuration")}if(this.customSmsDeliveries!==undefined){L.push("Using custom SMS delivery count from configuration")}if(this.customMobilePushDeliveries!==undefined){L.push("Using custom mobile push delivery count from configuration")}return L}hasCustomAssumptions(){return this.customMonthlyPublishes!==undefined||this.customHttpDeliveries!==undefined||this.customEmailDeliveries!==undefined||this.customSmsDeliveries!==undefined||this.customMobilePushDeliveries!==undefined}}t.SNSCalculator=SNSCalculator},2697:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SQSCalculator=void 0;const o=n(7973);class SQSCalculator{DEFAULT_MONTHLY_REQUESTS=1e6;FALLBACK_STANDARD_PRICE_PER_MILLION=.4;FALLBACK_FIFO_PRICE_PER_MILLION=.5;config;constructor(e){this.config=e}supports(e){return e==="AWS::SQS::Queue"}async calculateCost(e,t,n){const o=this.isFifoQueue(e);const i=this.getMonthlyRequests();try{const e=await this.getPricePerMillion(t,o,n);const a=this.buildAssumptions(i,o);if(e===null){const e=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(e){const e=o?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const t=i/1e6*e;return{amount:t,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API unavailable)",...a]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for SQS in region ${t}`,...a]}}const d=i/1e6*e;return{amount:d,currency:"USD",confidence:"medium",assumptions:a}}catch(e){const t=this.buildAssumptions(i,o);const n=this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined;if(n){const e=o?this.FALLBACK_FIFO_PRICE_PER_MILLION:this.FALLBACK_STANDARD_PRICE_PER_MILLION;const n=i/1e6*e;return{amount:n,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...t]}}}isFifoQueue(e){return e.properties.FifoQueue===true||e.properties.FifoQueue==="true"}getMonthlyRequests(){return this.config?.usageAssumptions?.sqs?.monthlyRequests??this.DEFAULT_MONTHLY_REQUESTS}buildAssumptions(e,t){const n=[`Assumes ${e.toLocaleString()} requests per month`,t?"FIFO queue":"Standard queue","Does not include data transfer costs"];if(this.config?.usageAssumptions?.sqs?.monthlyRequests!==undefined){n.push("Using custom monthly requests assumption from configuration")}return n}async getPricePerMillion(e,t,n){const i=(0,o.normalizeRegion)(e);const a=(0,o.getRegionPrefix)(e);const d=t?"Requests-FIFO":"Requests";const h=a?`${a}-${d}`:d;return n.getPrice({serviceCode:"AWSQueueService",region:i,filters:[{field:"productFamily",value:"Queue"},{field:"usagetype",value:h}]})}}t.SQSCalculator=SQSCalculator},7822:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SecretsManagerCalculator=void 0;const o=n(7973);const i=n(7461);class SecretsManagerCalculator{customMonthlyApiCalls;DEFAULT_MONTHLY_API_CALLS=1e4;FALLBACK_SECRET_STORAGE_PRICE=.4;FALLBACK_API_CALL_PRICE_PER_10K=.05;constructor(e){this.customMonthlyApiCalls=e}supports(e){return e==="AWS::SecretsManager::Secret"}async calculateCost(e,t,n){const a=this.customMonthlyApiCalls??this.DEFAULT_MONTHLY_API_CALLS;i.Logger.debug("Secrets Manager pricing calculation started",{region:t,logicalId:e.logicalId,monthlyApiCalls:a});try{const e=(0,o.normalizeRegion)(t);const d=await n.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretStorage"}]});i.Logger.debug("Secrets Manager storage price retrieved",{secretStoragePrice:d,region:e});const h=await n.getPrice({serviceCode:"AWSSecretsManager",region:e,filters:[{field:"productFamily",value:"Secret"},{field:"group",value:"SecretRotation"}]});i.Logger.debug("Secrets Manager API call price retrieved",{apiCallPrice:h,region:e});if(d===null&&h===null){i.Logger.debug("Secrets Manager pricing not available",{region:t,normalizedRegion:e});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Secrets Manager in region ${t}`,`Would assume ${a.toLocaleString()} API calls per month`]}}const m=d??this.FALLBACK_SECRET_STORAGE_PRICE;const Q=h??this.FALLBACK_API_CALL_PRICE_PER_10K;const k=a/1e4*Q;const _=m+k;const L=d===null||h===null?"low":"medium";const U=d===null||h===null;i.Logger.debug("Secrets Manager cost calculated",{storageCost:m,callCostPer10K:Q,apiCallCost:k,totalCost:_,confidence:L,usedFallback:U});const P=[];if(U){if(d===null){P.push("Using fallback storage pricing (API unavailable)")}if(h===null){P.push("Using fallback API call pricing (API unavailable)")}}P.push(`Secret storage: $${m.toFixed(2)}/month`);P.push(`API calls: ${a.toLocaleString()} calls × $${Q.toFixed(4)}/10K = $${k.toFixed(2)}/month`);P.push(`Total: $${_.toFixed(2)}/month`);if(this.customMonthlyApiCalls!==undefined){P.push("Using custom API call volume from configuration")}P.push("No free tier for Secrets Manager");P.push("Cross-region replication incurs additional costs (not calculated)");return{amount:_,currency:"USD",confidence:L,assumptions:P}}catch(e){i.Logger.debug("Secrets Manager pricing calculation failed",{error:e instanceof Error?e.message:String(e),region:t});return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to calculate Secrets Manager cost: ${e instanceof Error?e.message:String(e)}`]}}}}t.SecretsManagerCalculator=SecretsManagerCalculator},5099:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.StepFunctionsCalculator=void 0;const o=n(7973);class StepFunctionsCalculator{customMonthlyExecutions;customStateTransitionsPerExecution;customAverageDurationMs;DEFAULT_MONTHLY_EXECUTIONS=1e4;DEFAULT_STATE_TRANSITIONS_PER_EXECUTION=10;DEFAULT_AVERAGE_DURATION_MS=1e3;FALLBACK_STANDARD_STATE_TRANSITION_PRICE=.025/1e3;FALLBACK_EXPRESS_REQUEST_PRICE=1/1e6;FALLBACK_EXPRESS_DURATION_PRICE=1667e-8;constructor(e,t,n){this.customMonthlyExecutions=e;this.customStateTransitionsPerExecution=t;this.customAverageDurationMs=n}supports(e){return e==="AWS::StepFunctions::StateMachine"}async calculateCost(e,t,n){const o=this.getWorkflowType(e);if(o==="EXPRESS"){return this.calculateExpressWorkflowCost(e,t,n)}return this.calculateStandardWorkflowCost(e,t,n)}getWorkflowType(e){const t=e.properties.Type;if(t==="EXPRESS"){return"EXPRESS"}return"STANDARD"}async calculateStandardWorkflowCost(e,t,n){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const a=this.customStateTransitionsPerExecution??this.DEFAULT_STATE_TRANSITIONS_PER_EXECUTION;const d=i*a;try{const e=(0,o.getRegionPrefix)(t);const h=e?`${e}-StateTransition`:"StateTransition";const m=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:h}]});const Q=this.buildStandardAssumptions(i,a,d);if(m===null){const e=this.hasCustomAssumptions();if(e){const e=d*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback state transition pricing (API unavailable)",...Q]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Standard workflow in region ${t}`,...Q]}}const k=d*m;return{amount:k,currency:"USD",confidence:"medium",assumptions:Q}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildStandardAssumptions(i,a,d)];const n=this.hasCustomAssumptions();if(n){const e=d*this.FALLBACK_STANDARD_STATE_TRANSITION_PRICE;return{amount:e,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}async calculateExpressWorkflowCost(e,t,n){const i=this.customMonthlyExecutions??this.DEFAULT_MONTHLY_EXECUTIONS;const a=this.customAverageDurationMs??this.DEFAULT_AVERAGE_DURATION_MS;const d=64;const h=a/1e3;const m=d/1024*h*i;try{const e=(0,o.getRegionPrefix)(t);const d=e?`${e}-ExpressRequest`:"ExpressRequest";const h=e?`${e}-ExpressDuration`:"ExpressDuration";const Q=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:d}]});const k=await n.getPrice({serviceCode:"AWSStepFunctions",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"AWS Step Functions"},{field:"usagetype",value:h}]});const _=this.buildExpressAssumptions(i,a,m);if(Q===null||k===null){const e=this.hasCustomAssumptions();if(e){const e=Q??this.FALLBACK_EXPRESS_REQUEST_PRICE;const t=k??this.FALLBACK_EXPRESS_DURATION_PRICE;const n=i*e;const o=m*t;const a=n+o;return{amount:a,currency:"USD",confidence:"low",assumptions:[Q===null?"Using fallback request pricing (API unavailable)":"",k===null?"Using fallback duration pricing (API unavailable)":"",..._].filter((e=>e!==""))}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for Step Functions Express workflow in region ${t}`,..._]}}const L=i*Q;const U=m*k;const P=L+U;return{amount:P,currency:"USD",confidence:"medium",assumptions:_}}catch(e){const t=[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`,...this.buildExpressAssumptions(i,a,m)];const n=this.hasCustomAssumptions();if(n){const e=i*this.FALLBACK_EXPRESS_REQUEST_PRICE;const n=m*this.FALLBACK_EXPRESS_DURATION_PRICE;const o=e+n;return{amount:o,currency:"USD",confidence:"low",assumptions:["Using fallback pricing (API error)",...t.slice(1)]}}return{amount:0,currency:"USD",confidence:"unknown",assumptions:t}}}buildStandardAssumptions(e,t,n){const o=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t} state transitions per execution`,`Total estimated state transitions: ${n.toLocaleString()}`,"STANDARD workflow type","Pricing: $0.025 per 1,000 state transitions"];if(this.customMonthlyExecutions!==undefined){o.push("Using custom monthly executions from configuration")}if(this.customStateTransitionsPerExecution!==undefined){o.push("Using custom state transitions per execution from configuration")}return o}buildExpressAssumptions(e,t,n){const o=[`Assumes ${e.toLocaleString()} executions per month`,`Assumes ${t}ms average execution duration`,`Total estimated GB-seconds: ${n.toFixed(2)}`,"EXPRESS workflow type","Pricing: $1.00 per million requests + $0.00001667 per GB-second","Assumes 64MB memory allocation per execution"];if(this.customMonthlyExecutions!==undefined){o.push("Using custom monthly executions from configuration")}if(this.customAverageDurationMs!==undefined){o.push("Using custom average duration from configuration")}return o}hasCustomAssumptions(){return this.customMonthlyExecutions!==undefined||this.customStateTransitionsPerExecution!==undefined||this.customAverageDurationMs!==undefined}}t.StepFunctionsCalculator=StepFunctionsCalculator},2301:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TransitGatewayCalculator=void 0;const o=n(7973);class TransitGatewayCalculator{customAttachments;customMonthlyDataGB;HOURS_PER_MONTH=730;DEFAULT_ATTACHMENTS=3;DEFAULT_MONTHLY_DATA_GB=1e3;FALLBACK_ATTACHMENT_PRICE=.05;FALLBACK_DATA_PRICE=.02;constructor(e,t){this.customAttachments=e;this.customMonthlyDataGB=t}supports(e){return e==="AWS::EC2::TransitGateway"||e==="AWS::EC2::TransitGatewayAttachment"}async calculateCost(e,t,n){try{if(e.type==="AWS::EC2::TransitGatewayAttachment"){return await this.calculateAttachmentCost(t,n)}return await this.calculateTransitGatewayCost(t,n)}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}async calculateAttachmentCost(e,t){const n=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayVPCAttachment"}]});const i=n??this.FALLBACK_ATTACHMENT_PRICE;const a=i*this.HOURS_PER_MONTH;return{amount:a,currency:"USD",confidence:n!==null?"high":"medium",assumptions:[`Transit Gateway attachment: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH}h = $${a.toFixed(2)}/month`,...n===null?[`Using fallback pricing (API data not available for region ${e})`]:[],"Data processing costs are calculated on the Transit Gateway resource"]}}async calculateTransitGatewayCost(e,t){const n=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayVPCAttachment"}]});const i=await t.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(e),filters:[{field:"productFamily",value:"TransitGateway"},{field:"operation",value:"TransitGatewayData"}]});const a=n??this.FALLBACK_ATTACHMENT_PRICE;const d=i??this.FALLBACK_DATA_PRICE;const h=n===null||i===null;const m=this.customAttachments??this.DEFAULT_ATTACHMENTS;const Q=this.customMonthlyDataGB??this.DEFAULT_MONTHLY_DATA_GB;const k=m*a*this.HOURS_PER_MONTH;const _=Q*d;const L=k+_;return{amount:L,currency:"USD",confidence:"medium",assumptions:[`${m} attachments × $${a.toFixed(4)}/hour × ${this.HOURS_PER_MONTH}h = $${k.toFixed(2)}/month`,`Data processing: ${Q} GB × $${d.toFixed(4)}/GB = $${_.toFixed(2)}/month`,...h?[`Using fallback pricing (API data not available for region ${e})`]:[]]}}}t.TransitGatewayCalculator=TransitGatewayCalculator},7278:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.VPCEndpointCalculator=void 0;const o=n(7973);class VPCEndpointCalculator{customDataProcessedGB;DEFAULT_DATA_PROCESSED_GB=100;HOURS_PER_MONTH=730;constructor(e){this.customDataProcessedGB=e}supports(e){return e==="AWS::EC2::VPCEndpoint"}async calculateCost(e,t,n){const i=e.properties?.VpcEndpointType;const a=e.properties?.ServiceName||"";const d=i==="Gateway"||i===undefined&&(a.includes("s3")||a.includes("dynamodb"));if(d){return{amount:0,currency:"USD",confidence:"high",assumptions:["Gateway VPC endpoints for S3 and DynamoDB are free","No data processing charges for gateway endpoints"]}}try{const e=(0,o.getRegionPrefix)(t);const i=await n.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Hours`}]});const a=await n.getPrice({serviceCode:"AmazonVPC",region:(0,o.normalizeRegion)(t),filters:[{field:"productFamily",value:"VpcEndpoint"},{field:"usagetype",value:`${e}VpcEndpoint-Bytes`}]});if(i===null||a===null){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Pricing data not available for VPC Endpoint in region ${t}`]}}const d=this.customDataProcessedGB||this.DEFAULT_DATA_PROCESSED_GB;const h=i*this.HOURS_PER_MONTH;const m=a*d;const Q=h+m;return{amount:Q,currency:"USD",confidence:"medium",assumptions:["Interface VPC Endpoint type",`Hourly rate: $${i.toFixed(4)}/hour × ${this.HOURS_PER_MONTH} hours = $${h.toFixed(2)}/month`,`Data processing: $${a.toFixed(4)}/GB × ${d} GB = $${m.toFixed(2)}/month`,`Total: $${Q.toFixed(2)}/month`]}}catch(e){return{amount:0,currency:"USD",confidence:"unknown",assumptions:[`Failed to fetch pricing: ${e instanceof Error?e.message:String(e)}`]}}}}t.VPCEndpointCalculator=VPCEndpointCalculator},9543:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.UnsupportedResourceError=t.PricingAPIError=void 0;class PricingAPIError extends Error{retryable;constructor(e,t=true){super(e);this.retryable=t;this.name="PricingAPIError"}}t.PricingAPIError=PricingAPIError;class UnsupportedResourceError extends Error{resourceType;constructor(e){super(`Resource type ${e} is not supported`);this.resourceType=e;this.name="UnsupportedResourceError"}}t.UnsupportedResourceError=UnsupportedResourceError},7785:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GitHubActionReporter=void 0;class GitHubActionReporter{generateReport(e,t,n){const o=[];o.push("## 💰 CDK Cost Analysis");o.push("");o.push(this.generateCostSummary(e,t,n));o.push("");if(e.addedCosts.length>0){o.push(this.formatAddedResources(e.addedCosts,e.currency));o.push("")}if(e.modifiedCosts.length>0){o.push(this.formatModifiedResources(e.modifiedCosts,e.currency));o.push("")}if(e.removedCosts.length>0){o.push(this.formatRemovedResources(e.removedCosts,e.currency));o.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){o.push("No resource changes detected.");o.push("")}o.push("---");o.push("*Generated by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer)*");return o.join("\n")}generateCostSummary(e,t,n){const o=[];const i=this.getTrendIndicator(e.totalDelta);const a=this.formatDelta(e.totalDelta,e.currency);o.push(`**Monthly Cost Impact:** ${i} ${a}`);if(t!==undefined&&n!==undefined&&t>0){const e=(n-t)/t*100;const i=this.formatPercentage(e);o.push(`**Percentage Change:** ${i}`)}if(t!==undefined&&n!==undefined){o.push("");o.push("| Metric | Value |");o.push("|--------|-------|");o.push(`| Base Monthly Cost | ${this.formatCurrency(t,e.currency)} |`);o.push(`| Target Monthly Cost | ${this.formatCurrency(n,e.currency)} |`);o.push(`| Cost Delta | ${a} |`)}return o.join("\n")}formatAddedResources(e,t){const n=[];n.push("### ➕ Added Resources");n.push("");n.push("| Logical ID | Type | Monthly Cost |");n.push("|------------|------|--------------|");const o=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of o){n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);n.push(`| **Total Added** | | **${this.formatCurrency(i,t)}** |`);return n.join("\n")}formatModifiedResources(e,t){const n=[];n.push("### 🔄 Modified Resources");n.push("");n.push("| Logical ID | Type | Old Cost | New Cost | Delta |");n.push("|------------|------|----------|----------|-------|");const o=[...e].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of o){const o=this.getTrendIndicator(e.costDelta);n.push(`| ${e.logicalId} | \`${e.type}\` | `+`${this.formatCurrency(e.oldMonthlyCost.amount,t)} | `+`${this.formatCurrency(e.newMonthlyCost.amount,t)} | `+`${o} ${this.formatDelta(e.costDelta,t)} |`)}const i=e.reduce(((e,t)=>e+t.costDelta),0);const a=this.getTrendIndicator(i);n.push(`| **Total Modified** | | | | **${a} ${this.formatDelta(i,t)}** |`);return n.join("\n")}formatRemovedResources(e,t){const n=[];n.push("### ➖ Removed Resources");n.push("");n.push("| Logical ID | Type | Monthly Cost |");n.push("|------------|------|--------------|");const o=[...e].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of o){n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatCurrency(e.monthlyCost.amount,t)} |`)}const i=e.reduce(((e,t)=>e+t.monthlyCost.amount),0);n.push(`| **Total Removed** | | **-${this.formatCurrency(i,t)}** |`);return n.join("\n")}getTrendIndicator(e){if(e>0){return"↗️"}else if(e<0){return"↘️"}return"➡️"}formatCurrency(e,t){const n=t==="USD"?"$":t;return`${n}${e.toFixed(2)}`}formatDelta(e,t){const n=this.formatCurrency(Math.abs(e),t);if(e===0){return n}return e<0?`-${n}`:`+${n}`}formatPercentage(e){const t=e>0?"+":"";return`${t}${e.toFixed(1)}%`}}t.GitHubActionReporter=GitHubActionReporter},1268:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Reporter=void 0;const o=n(7491);class Reporter{generateReport(e,t,n){switch(t){case"text":return this.generateTextReport(e,n);case"json":return this.generateJsonReport(e,n);case"markdown":return this.generateMarkdownReport(e,n);default:throw new Error(`Unsupported report format: ${t}`)}}generateTextReport(e,t){const n=[];n.push("=".repeat(60));n.push("CDK Cost Analysis Report");n.push("=".repeat(60));n.push("");if(t?.configSummary){n.push(...this.formatConfigSummaryText(t.configSummary));n.push("")}if(t?.thresholdStatus){n.push(...this.formatThresholdStatusText(t.thresholdStatus));n.push("")}n.push(`Total Cost Delta: ${this.formatDelta(e.totalDelta,e.currency)}`);n.push("");if(e.addedCosts.length>0){n.push("ADDED RESOURCES:");n.push("-".repeat(60));const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){n.push(this.formatResourceLine(e))}n.push("")}if(e.removedCosts.length>0){n.push("REMOVED RESOURCES:");n.push("-".repeat(60));const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const e of t){n.push(this.formatResourceLine(e))}n.push("")}if(e.modifiedCosts.length>0){n.push("MODIFIED RESOURCES:");n.push("-".repeat(60));const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const e of t){n.push(this.formatModifiedResourceLine(e))}n.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){n.push("No resource changes detected.");n.push("")}n.push("=".repeat(60));return n.join("\n")}generateJsonReport(e,t){const n={...e};if(t?.configSummary){n.configSummary=t.configSummary}if(t?.thresholdStatus){n.thresholdStatus=t.thresholdStatus}if(t?.stackName){n.stackName=t.stackName}return JSON.stringify(n,null,2)}generateMarkdownReport(e,t){const n=[];const i=(0,o.calculateTotalCosts)(e);const a=(0,o.getTrendIndicator)(e.totalDelta);n.push("# 💰 Cost Impact Analysis");n.push("");n.push(`**Monthly Cost Change:** ${this.formatDelta(e.totalDelta,e.currency)} ${a}`);n.push("");if(t?.multiStack&&t?.stacks&&t.stacks.length>1){n.push("## Per-Stack Cost Breakdown");n.push("");n.push("| Stack | Cost Delta | Trend |");n.push("|-------|------------|-------|");for(const e of t.stacks){const t=(0,o.getTrendIndicator)(e.costDelta.totalDelta);n.push(`| ${e.stackName} | ${this.formatDelta(e.costDelta.totalDelta,e.costDelta.currency)} | ${t} |`)}n.push("");n.push("<details>");n.push("<summary><strong>View Detailed Stack Breakdowns</strong></summary>");n.push("");for(const e of t.stacks){n.push(`### ${e.stackName}`);n.push("");n.push(...this.formatStackDetailsMarkdown(e.costDelta));n.push("")}n.push("</details>");n.push("")}if(t?.thresholdStatus){n.push(...this.formatThresholdStatusMarkdown(t.thresholdStatus,e));n.push("")}if(e.addedCosts.length>0){n.push("## 📈 Added Resources");n.push("");n.push("| Resource | Type | Monthly Cost |");n.push("|----------|------|--------------|");const t=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of t){n.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}n.push("")}if(e.modifiedCosts.length>0){n.push("## 🔄 Modified Resources");n.push("");n.push("| Resource | Type | Before | After | Change |");n.push("|----------|------|--------|-------|--------|");const t=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of t){const t=(0,o.getTrendIndicator)(i.costDelta);const a=(0,o.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);n.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${a}) ${t} |`)}n.push("")}if(e.removedCosts.length>0){n.push("## 📉 Removed Resources");n.push("");n.push("| Resource | Type | Monthly Savings |");n.push("|----------|------|-----------------|");const t=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of t){n.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}n.push("")}n.push("## 💵 Total Monthly Cost");n.push("");n.push("| Metric | Value |");n.push("|--------|-------|");n.push(`| Before | ${this.formatCurrency(i.before,e.currency)} |`);n.push(`| After | ${this.formatCurrency(i.after,e.currency)} |`);n.push(`| Change | ${this.formatDelta(e.totalDelta,e.currency)} ${a} |`);n.push("");const d=(0,o.groupCostsByService)(e);if(d.length>0){n.push("## 📊 Cost Breakdown by Service");n.push("");n.push("| Service | Resources | Cost Impact | Trend |");n.push("|---------|-----------|-------------|-------|");for(const t of d){const i=(0,o.getTrendIndicator)(t.totalCost);n.push(`| ${t.service} | ${t.resourceCount} | ${this.formatDelta(t.totalCost,e.currency)} | ${i} |`)}n.push("")}if(t?.configSummary){n.push(...this.formatConfigSummaryMarkdown(t.configSummary));n.push("")}n.push("---");n.push("");n.push("*Powered by [cdk-cost-analyzer](https://github.com/buildinginthecloud/cdk-cost-analyzer) | [Configuration Reference](https://github.com/buildinginthecloud/cdk-cost-analyzer/blob/main/docs/CONFIGURATION.md)*");return n.join("\n")}formatResourceLine(e){const t=this.formatCurrency(e.monthlyCost.amount,"USD");const n=e.monthlyCost.confidence;return` • ${e.logicalId} (${e.type}): ${t} [${n}]`}formatModifiedResourceLine(e){const t=this.formatCurrency(e.oldMonthlyCost.amount,"USD");const n=this.formatCurrency(e.newMonthlyCost.amount,"USD");const o=this.formatDelta(e.costDelta,"USD");return` • ${e.logicalId} (${e.type}): ${t} → ${n} (${o})`}formatCurrency(e,t){const n=t==="USD"?"$":t;return`${n}${e.toFixed(2)}`}formatDelta(e,t){const n=e>0?"+":e<0?"-":"";const o=Math.abs(e);const i=this.formatCurrency(o,t);return e===0?i:`${n}${i}`}formatConfigSummaryText(e){const t=[];t.push("CONFIGURATION:");t.push("-".repeat(60));if(e.configPath){t.push(` Configuration File: ${e.configPath}`)}else{t.push(" Configuration File: Using defaults")}if(e.thresholds){if(e.thresholds.environment){t.push(` Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(` Warning Threshold: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(` Error Threshold: $${e.thresholds.error.toFixed(2)}/month`)}}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push(` Excluded Resource Types: ${e.excludedResourceTypes.join(", ")}`)}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push(" Custom Usage Assumptions:");for(const[n,o]of Object.entries(e.usageAssumptions)){t.push(` - ${n}: ${JSON.stringify(o)}`)}}return t}formatThresholdStatusText(e){const t=[];t.push("THRESHOLD STATUS:");t.push("-".repeat(60));if(e.level==="none"){t.push(" No thresholds configured")}else{const n=e.passed?"PASSED":"EXCEEDED";t.push(` Status: ${n}`);if(e.threshold!==undefined){t.push(` Threshold: $${e.threshold.toFixed(2)}/month (${e.level})`)}t.push(` Actual Delta: $${Math.abs(e.delta).toFixed(2)}/month`);if(!e.passed&&e.recommendations&&e.recommendations.length>0){t.push(" Recommendations:");for(const n of e.recommendations){t.push(` - ${n}`)}}}return t}formatConfigSummaryMarkdown(e){const t=[];t.push("<details>");t.push("<summary><strong>📋 Configuration & Assumptions</strong></summary>");t.push("");if(e.configPath){t.push(`**Configuration File:** \`${e.configPath}\``)}else{t.push("**Configuration File:** Using defaults")}t.push("");if(e.thresholds){t.push("**Thresholds:**");if(e.thresholds.environment){t.push(`- Environment: ${e.thresholds.environment}`)}if(e.thresholds.warning!==undefined){t.push(`- Warning: $${e.thresholds.warning.toFixed(2)}/month`)}if(e.thresholds.error!==undefined){t.push(`- Error: $${e.thresholds.error.toFixed(2)}/month`)}t.push("")}if(e.excludedResourceTypes&&e.excludedResourceTypes.length>0){t.push("**Excluded Resource Types:**");for(const n of e.excludedResourceTypes){t.push(`- \`${n}\``)}t.push("")}if(e.usageAssumptions&&Object.keys(e.usageAssumptions).length>0){t.push("**Custom Usage Assumptions:**");for(const[n,o]of Object.entries(e.usageAssumptions)){t.push(`- **${n}:**`);const e=o;for(const[n,o]of Object.entries(e)){t.push(` - ${n}: ${o}`)}}t.push("")}t.push("</details>");t.push("");return t}formatThresholdStatusMarkdown(e,t){const n=[];if(e.level==="none"){return n}const i=e.passed;const a=i?"✅":"🚨";const d=i?"PASSED":"EXCEEDED";n.push(`## ${a} Threshold Status: ${d}`);n.push("");if(e.threshold!==undefined){n.push(`**Threshold:** $${e.threshold.toFixed(2)}/month (${e.level})`)}n.push(`**Actual Delta:** ${this.formatDelta(e.delta,t.currency)}/month`);n.push("");if(!i){n.push("### ⚠️ Action Required");n.push("");n.push(e.message);n.push("");if(e.recommendations&&e.recommendations.length>0){n.push("### 💡 Recommendations");n.push("");for(const t of e.recommendations){n.push(`- ${t}`)}n.push("")}const i=this.getTopCostContributors(t,5);if(i.length>0){n.push("### 🔝 Top Cost Contributors");n.push("");n.push("| Resource | Type | Impact | Trend |");n.push("|----------|------|--------|-------|");for(const e of i){const i=(0,o.getTrendIndicator)(e.impact);n.push(`| ${e.logicalId} | \`${e.type}\` | ${this.formatDelta(e.impact,t.currency)} | ${i} |`)}n.push("")}}return n}getTopCostContributors(e,t){const n=[];for(const t of e.addedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:t.monthlyCost.amount})}for(const t of e.removedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:-t.monthlyCost.amount})}for(const t of e.modifiedCosts){n.push({logicalId:t.logicalId,type:t.type,impact:t.costDelta})}n.sort(((e,t)=>Math.abs(t.impact)-Math.abs(e.impact)));return n.slice(0,t)}formatStackDetailsMarkdown(e){const t=[];if(e.addedCosts.length>0){t.push("**📈 Added Resources:**");t.push("");t.push("| Resource | Type | Monthly Cost |");t.push("|----------|------|--------------|");const n=[...e.addedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of n){t.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.removedCosts.length>0){t.push("**📉 Removed Resources:**");t.push("");t.push("| Resource | Type | Monthly Savings |");t.push("|----------|------|-----------------|");const n=[...e.removedCosts].sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount));for(const o of n){t.push(`| ${o.logicalId} | \`${o.type}\` | ${this.formatCurrency(o.monthlyCost.amount,e.currency)} |`)}t.push("")}if(e.modifiedCosts.length>0){t.push("**🔄 Modified Resources:**");t.push("");t.push("| Resource | Type | Before | After | Change |");t.push("|----------|------|--------|-------|--------|");const n=[...e.modifiedCosts].sort(((e,t)=>Math.abs(t.costDelta)-Math.abs(e.costDelta)));for(const i of n){const n=(0,o.getTrendIndicator)(i.costDelta);const a=(0,o.getPercentageChange)(i.oldMonthlyCost.amount,i.newMonthlyCost.amount);t.push(`| ${i.logicalId} | \`${i.type}\` | `+`${this.formatCurrency(i.oldMonthlyCost.amount,e.currency)} | `+`${this.formatCurrency(i.newMonthlyCost.amount,e.currency)} | `+`${this.formatDelta(i.costDelta,e.currency)} (${a}) ${n} |`)}t.push("")}if(e.addedCosts.length===0&&e.removedCosts.length===0&&e.modifiedCosts.length===0){t.push("No resource changes detected.");t.push("")}return t}}t.Reporter=Reporter},7491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getTrendIndicator=getTrendIndicator;t.getPercentageChange=getPercentageChange;t.extractServiceName=extractServiceName;t.groupCostsByService=groupCostsByService;t.calculateTotalCosts=calculateTotalCosts;function getTrendIndicator(e){if(e>0)return"↗️";if(e<0)return"↘️";return"➡️"}function getPercentageChange(e,t){if(e===0){return t>0?"+∞%":"0%"}const n=(t-e)/e*100;if(n===0)return"0%";const o=n>0?"+":"";return`${o}${n.toFixed(1)}%`}function extractServiceName(e){const t=e.split("::");if(t.length>=2){return t[1]}return e}function groupCostsByService(e){const t=new Map;for(const n of e.addedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost+=n.monthlyCost.amount;o.resourceCount+=1;t.set(e,o)}for(const n of e.removedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost-=n.monthlyCost.amount;o.resourceCount+=1;t.set(e,o)}for(const n of e.modifiedCosts){const e=extractServiceName(n.type);const o=t.get(e)||{totalCost:0,resourceCount:0};o.totalCost+=n.costDelta;o.resourceCount+=1;t.set(e,o)}return Array.from(t.entries()).map((([e,t])=>({service:e,totalCost:t.totalCost,resourceCount:t.resourceCount}))).sort(((e,t)=>Math.abs(t.totalCost)-Math.abs(e.totalCost)))}function calculateTotalCosts(e){let t=0;let n=0;for(const t of e.addedCosts){n+=t.monthlyCost.amount}for(const n of e.removedCosts){t+=n.monthlyCost.amount}for(const o of e.modifiedCosts){t+=o.oldMonthlyCost.amount;n+=o.newMonthlyCost.amount}return{before:t,after:n}}},9560:function(e,t,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(e,t,n,o){if(o===undefined)o=n;var i=Object.getOwnPropertyDescriptor(t,n);if(!i||("get"in i?!t.__esModule:i.writable||i.configurable)){i={enumerable:true,get:function(){return t[n]}}}Object.defineProperty(e,o,i)}:function(e,t,n,o){if(o===undefined)o=n;e[o]=t[n]});var i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var a=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))t[t.length]=n;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=ownKeys(e),a=0;a<n.length;a++)if(n[a]!=="default")o(t,e,n[a]);i(t,e);return t}}();Object.defineProperty(t,"__esModule",{value:true});t.SynthesisOrchestrator=void 0;const d=n(5317);const h=a(n(1943));const m=a(n(6928));const Q=n(8648);class SynthesisOrchestrator{DEFAULT_OUTPUT_PATH="cdk.out";async synthesize(e){const t=Date.now();try{const n=e.outputPath||this.DEFAULT_OUTPUT_PATH;const o=e.customCommand||"npx cdk synth";await this.executeSynthesis(o,e.cdkAppPath,e.context,n);const i=m.join(e.cdkAppPath,n);const{templatePaths:a,stackNames:d}=await this.findTemplates(i);const h=Date.now()-t;return{success:true,templatePaths:a,stackNames:d,duration:h}}catch(e){const n=Date.now()-t;const o=e instanceof Error?e.message:String(e);if(e instanceof Q.SynthesisError){return{success:false,templatePaths:[],stackNames:[],error:o,duration:n}}return{success:false,templatePaths:[],stackNames:[],error:`Synthesis failed: ${o}`,duration:n}}}async executeSynthesis(e,t,n,o){return new Promise(((i,a)=>{const[h,...m]=e.split(" ");const k=[...m];if(n){for(const[e,t]of Object.entries(n)){k.push("-c",`${e}=${t}`)}}if(o){k.push("--output",o)}const _=(0,d.spawn)(h,k,{cwd:t,shell:false,stdio:["ignore","pipe","pipe"],detached:false});let L="";let U="";let P=false;const cleanup=()=>{_.removeAllListeners();_.stdout?.removeAllListeners();_.stderr?.removeAllListeners()};const forceKill=()=>{try{if(_.pid&&!_.killed){_.kill("SIGKILL");try{process.kill(_.pid,"SIGKILL")}catch(e){}}}catch(e){}};const H=setTimeout((()=>{if(!P){P=true;_.kill("SIGTERM");setTimeout((()=>{forceKill()}),1e3);_.removeAllListeners();_.stdout?.removeAllListeners();_.stderr?.removeAllListeners();a(new Q.SynthesisError("CDK synthesis timed out after 15 seconds",U||L||"No output captured"))}}),15e3);_.stdout?.on("data",(e=>{L+=e.toString()}));_.stderr?.on("data",(e=>{U+=e.toString()}));_.on("error",(e=>{if(!P){P=true;clearTimeout(H);cleanup();a(new Q.SynthesisError(`Failed to execute synthesis command: ${e.message}`,U||"No error output captured"))}}));_.on("close",(e=>{if(!P){P=true;clearTimeout(H);cleanup();if(e!==0){a(new Q.SynthesisError(`CDK synthesis failed with exit code ${e}`,U||L||"No output captured"))}else{i()}}}));_.on("exit",((e,t)=>{if(!P){P=true;clearTimeout(H);cleanup();if(t){a(new Q.SynthesisError(`CDK synthesis terminated by signal ${t}`,U||L||"No output captured"))}else if(e!==0){a(new Q.SynthesisError(`CDK synthesis failed with exit code ${e}`,U||L||"No output captured"))}else{i()}}}))}))}async findTemplates(e){try{const t=await h.readdir(e);const n=[];const o=[];for(const i of t){if(i.endsWith(".template.json")||i.endsWith(".template.yaml")||i.endsWith(".template.yml")){const t=m.join(e,i);n.push(t);const a=i.replace(".template.json","").replace(".template.yaml","").replace(".template.yml","");o.push(a)}}if(n.length===0){throw new Error("No CloudFormation templates found in output directory")}return{templatePaths:n,stackNames:o}}catch(e){throw new Error(`Failed to find templates: ${e instanceof Error?e.message:String(e)}`)}}}t.SynthesisOrchestrator=SynthesisOrchestrator},8648:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SynthesisError=void 0;class SynthesisError extends Error{cdkOutput;constructor(e,t){super(e);this.cdkOutput=t;this.name="SynthesisError"}}t.SynthesisError=SynthesisError},1668:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.ThresholdEnforcer=void 0;class ThresholdEnforcer{evaluateThreshold(e,t,n,o,i){if(!o){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}const a=this.selectThresholds(o,i);if(!a){return{passed:true,level:"none",delta:e,message:"No thresholds configured",recommendations:[]}}if(a.error!==undefined&&e>a.error){const o=this.getTopContributors(t,n,5);return{passed:false,level:"error",threshold:a.error,delta:e,message:this.formatErrorMessage(e,a.error),recommendations:this.getRecommendations("error",o)}}if(a.warning!==undefined&&e>a.warning){const o=this.getTopContributors(t,n,5);return{passed:true,level:"warning",threshold:a.warning,delta:e,message:this.formatWarningMessage(e,a.warning),recommendations:this.getRecommendations("warning",o)}}return{passed:true,level:"none",delta:e,message:`Cost delta $${e.toFixed(2)}/month is within thresholds`,recommendations:[]}}selectThresholds(e,t){if(t&&e.environments?.[t]){return e.environments[t]}return e.default}getTopContributors(e,t,n){const o=[...e,...t.map((e=>({logicalId:e.logicalId,type:e.type,monthlyCost:{amount:e.costDelta,currency:e.newMonthlyCost.currency,confidence:e.newMonthlyCost.confidence,assumptions:e.newMonthlyCost.assumptions}})))];return o.sort(((e,t)=>t.monthlyCost.amount-e.monthlyCost.amount)).slice(0,n)}formatErrorMessage(e,t){const n=e-t;const o=(n/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds error threshold of $${t.toFixed(2)}/month by $${n.toFixed(2)} (${o}%)`}formatWarningMessage(e,t){const n=e-t;const o=(n/t*100).toFixed(1);return`Cost increase of $${e.toFixed(2)}/month exceeds warning threshold of $${t.toFixed(2)}/month by $${n.toFixed(2)} (${o}%)`}getRecommendations(e,t){const n=[];if(e==="error"){n.push("This change cannot be merged without approval due to cost impact.");n.push("Review the cost breakdown and consider optimizations before proceeding.");n.push("Contact your FinOps team for threshold override approval if this cost increase is necessary.")}else{n.push("Review this cost increase with your team before merging.");n.push("Consider whether all resources in this change are necessary.")}if(t.length>0){n.push(`Top cost contributors: ${t.map((e=>`${e.type} (${e.logicalId}): $${e.monthlyCost.amount.toFixed(2)}/month`)).join(", ")}`);const e=new Set(t.map((e=>e.type)));if(e.has("AWS::RDS::DBInstance")){n.push("Consider using smaller RDS instance types or Aurora Serverless for lower costs.")}if(e.has("AWS::EC2::Instance")){n.push("Consider using smaller EC2 instance types, Spot instances, or Savings Plans.")}if(e.has("AWS::EC2::NatGateway")){n.push("NAT Gateways have high data processing costs. Consider using VPC endpoints or consolidating NAT Gateways.")}if(e.has("AWS::ElasticLoadBalancingV2::LoadBalancer")){n.push("Load Balancers have hourly costs. Consider sharing load balancers across services if possible.")}}return n}}t.ThresholdEnforcer=ThresholdEnforcer},7461:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Logger=void 0;class Logger{static debugEnabled=false;static setDebugEnabled(e){Logger.debugEnabled=e}static isDebugEnabled(){return Logger.debugEnabled}static debug(e,t){if(Logger.debugEnabled){const n=(new Date).toISOString();console.error(`[DEBUG ${n}] ${e}`);if(t!==undefined){console.error(JSON.stringify(t,null,2))}}}static logPricingQuery(e,t,n){if(Logger.debugEnabled){Logger.debug("Pricing API Query",{serviceCode:e,region:t,filters:n.map((e=>({field:e.field,value:e.value,type:e.type||"TERM_MATCH"})))})}}static logPricingResponse(e,t,n,o){if(Logger.debugEnabled){Logger.debug("Pricing API Response",{serviceCode:e,region:t,price:n,productDetails:o})}}static logRegionNormalization(e,t){if(Logger.debugEnabled){Logger.debug("Region Normalization",{originalRegion:e,normalizedRegion:t,wasNormalized:e!==t})}}static logPricingFailure(e,t,n){if(Logger.debugEnabled){Logger.debug("Pricing Lookup Failed",{serviceCode:e,region:t,reason:n})}}static logCacheStatus(e,t,n){if(Logger.debugEnabled){Logger.debug(`Cache ${t?"HIT":"MISS"}`,{cacheKey:e,source:t?n:undefined})}}}t.Logger=Logger},8523:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.suppressNodeDeprecationWarning=suppressNodeDeprecationWarning;function suppressNodeDeprecationWarning(){const e=process.emit.bind(process);process.emit=function(t,...n){if(t==="warning"&&n[0]?.name==="NodeDeprecationWarning"){return false}return e(t,...n)}}},2613:e=>{"use strict";e.exports=require("assert")},290:e=>{"use strict";e.exports=require("async_hooks")},181:e=>{"use strict";e.exports=require("buffer")},5317:e=>{"use strict";e.exports=require("child_process")},4236:e=>{"use strict";e.exports=require("console")},6982:e=>{"use strict";e.exports=require("crypto")},1637:e=>{"use strict";e.exports=require("diagnostics_channel")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},1943:e=>{"use strict";e.exports=require("fs/promises")},8611:e=>{"use strict";e.exports=require("http")},5675:e=>{"use strict";e.exports=require("http2")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},1421:e=>{"use strict";e.exports=require("node:child_process")},7598:e=>{"use strict";e.exports=require("node:crypto")},8474:e=>{"use strict";e.exports=require("node:events")},3024:e=>{"use strict";e.exports=require("node:fs")},1455:e=>{"use strict";e.exports=require("node:fs/promises")},7067:e=>{"use strict";e.exports=require("node:http")},2467:e=>{"use strict";e.exports=require("node:http2")},4708:e=>{"use strict";e.exports=require("node:https")},8161:e=>{"use strict";e.exports=require("node:os")},6760:e=>{"use strict";e.exports=require("node:path")},1708:e=>{"use strict";e.exports=require("node:process")},7075:e=>{"use strict";e.exports=require("node:stream")},3136:e=>{"use strict";e.exports=require("node:url")},7975:e=>{"use strict";e.exports=require("node:util")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2987:e=>{"use strict";e.exports=require("perf_hooks")},3480:e=>{"use strict";e.exports=require("querystring")},2203:e=>{"use strict";e.exports=require("stream")},3774:e=>{"use strict";e.exports=require("stream/web")},3193:e=>{"use strict";e.exports=require("string_decoder")},3557:e=>{"use strict";e.exports=require("timers")},4756:e=>{"use strict";e.exports=require("tls")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},8253:e=>{"use strict";e.exports=require("util/types")},8167:e=>{"use strict";e.exports=require("worker_threads")},3106:e=>{"use strict";e.exports=require("zlib")},7182:(e,t,n)=>{"use strict";const o=n(7075).Writable;const i=n(7975).inherits;const a=n(4136);const d=n(612);const h=n(2271);const m=45;const Q=Buffer.from("-");const k=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}o.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new h(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}i(Dicer,o);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{o.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,n){if(!this._hparser&&!this._bparser){return n()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new d(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t<e.length){e=e.slice(t)}else{return n()}}if(this._firstWrite){this._bparser.push(k);this._firstWrite=false}this._bparser.push(e);if(this._pause){this._cb=n}else{n()}};Dicer.prototype.reset=function(){this._part=undefined;this._bparser=undefined;this._hparser=undefined};Dicer.prototype.setBoundary=function(e){const t=this;this._bparser=new a("\r\n--"+e);this._bparser.on("info",(function(e,n,o,i){t._oninfo(e,n,o,i)}))};Dicer.prototype._ignore=function(){if(this._part&&!this._ignoreData){this._ignoreData=true;this._part.on("error",EMPTY_FN);this._part.resume()}};Dicer.prototype._oninfo=function(e,t,n,o){let i;const a=this;let h=0;let k;let _=true;if(!this._part&&this._justMatched&&t){while(this._dashes<2&&n+h<o){if(t[n+h]===m){++h;++this._dashes}else{if(this._dashes){i=Q}this._dashes=0;break}}if(this._dashes===2){if(n+h<o&&this.listenerCount("trailer")!==0){this.emit("trailer",t.slice(n+h,o))}this.reset();this._finished=true;if(a._parts===0){a._realFinish=true;a.emit("finish");a._realFinish=false}}if(this._dashes){return}}if(this._justMatched){this._justMatched=false}if(!this._part){this._part=new d(this._partOpts);this._part._read=function(e){a._unpause()};if(this._isPreamble&&this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else if(this._isPreamble!==true&&this.listenerCount("part")!==0){this.emit("part",this._part)}else{this._ignore()}if(!this._isPreamble){this._inHeader=true}}if(t&&n<o&&!this._ignoreData){if(this._isPreamble||!this._inHeader){if(i){_=this._part.push(i)}_=this._part.push(t.slice(n,o));if(!_){this._pause=true}}else if(!this._isPreamble&&this._inHeader){if(i){this._hparser.push(i)}k=this._hparser.push(t.slice(n,o));if(!this._inHeader&&k!==undefined&&k<o){this._oninfo(false,t,n+k,o)}}}if(e){this._hparser.reset();if(this._isPreamble){this._isPreamble=false}else{if(n!==o){++this._parts;this._part.on("end",(function(){if(--a._parts===0){if(a._finished){a._realFinish=true;a.emit("finish");a._realFinish=false}else{a._unpause()}}}))}}this._part.push(null);this._part=undefined;this._ignoreData=false;this._justMatched=true;this._dashes=0}};Dicer.prototype._unpause=function(){if(!this._pause){return}this._pause=false;if(this._cb){const e=this._cb;this._cb=undefined;e()}};e.exports=Dicer},2271:(e,t,n)=>{"use strict";const o=n(8474).EventEmitter;const i=n(7975).inherits;const a=n(2393);const d=n(4136);const h=Buffer.from("\r\n\r\n");const m=/\r\n/g;const Q=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){o.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=a(e,"maxHeaderPairs",2e3);this.maxHeaderSize=a(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new d(h);this.ss.on("info",(function(e,n,o,i){if(n&&!t.maxed){if(t.nread+i-o>=t.maxHeaderSize){i=t.maxHeaderSize-t.nread+o;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=i-o}t.buffer+=n.toString("binary",o,i)}if(e){t._finish()}}))}i(HeaderParser,o);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(m);const t=e.length;let n,o;for(var i=0;i<t;++i){if(e[i].length===0){continue}if(e[i][0]==="\t"||e[i][0]===" "){if(o){this.header[o][this.header[o].length-1]+=e[i];continue}}const t=e[i].indexOf(":");if(t===-1||t===0){return}n=Q.exec(e[i]);o=n[1].toLowerCase();this.header[o]=this.header[o]||[];this.header[o].push(n[2]||"");if(++this.npairs===this.maxHeaderPairs){break}}};e.exports=HeaderParser},612:(e,t,n)=>{"use strict";const o=n(7975).inherits;const i=n(7075).Readable;function PartStream(e){i.call(this,e)}o(PartStream,i);PartStream.prototype._read=function(e){};e.exports=PartStream},4136:(e,t,n)=>{"use strict";const o=n(8474).EventEmitter;const i=n(7975).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var n=0;n<t-1;++n){this._occ[e[n]]=t-1-n}}i(SBMH,o);SBMH.prototype.reset=function(){this._lookbehind_size=0;this.matches=0;this._bufpos=0};SBMH.prototype.push=function(e,t){if(!Buffer.isBuffer(e)){e=Buffer.from(e,"binary")}const n=e.length;this._bufpos=t||0;let o;while(o!==n&&this.matches<this.maxMatches){o=this._sbmh_feed(e)}return o};SBMH.prototype._sbmh_feed=function(e){const t=e.length;const n=this._needle;const o=n.length;const i=n[o-1];let a=-this._lookbehind_size;let d;if(a<0){while(a<0&&a<=t-o){d=this._sbmh_lookup_char(e,a+o-1);if(d===i&&this._sbmh_memcmp(e,a,o-1)){this._lookbehind_size=0;++this.matches;this.emit("info",true);return this._bufpos=a+o}a+=this._occ[d]}if(a<0){while(a<0&&!this._sbmh_memcmp(e,a,t-a)){++a}}if(a>=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const n=this._lookbehind_size+a;if(n>0){this.emit("info",false,this._lookbehind,0,n)}this._lookbehind.copy(this._lookbehind,0,n,this._lookbehind_size-n);this._lookbehind_size-=n;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}a+=(a>=0)*this._bufpos;if(e.indexOf(n,a)!==-1){a=e.indexOf(n,a);++this.matches;if(a>0){this.emit("info",true,e,this._bufpos,a)}else{this.emit("info",true)}return this._bufpos=a+o}else{a=t-o}while(a<t&&(e[a]!==n[0]||Buffer.compare(e.subarray(a,a+t-a),n.subarray(0,t-a))!==0)){++a}if(a<t){e.copy(this._lookbehind,0,a,a+(t-a));this._lookbehind_size=t-a}if(a>0){this.emit("info",false,e,this._bufpos,a<t?a:t)}this._bufpos=t;return t};SBMH.prototype._sbmh_lookup_char=function(e,t){return t<0?this._lookbehind[this._lookbehind_size+t]:e[t]};SBMH.prototype._sbmh_memcmp=function(e,t,n){for(var o=0;o<n;++o){if(this._sbmh_lookup_char(e,t+o)!==this._needle[o]){return false}}return true};e.exports=SBMH},9581:(e,t,n)=>{"use strict";const o=n(7075).Writable;const{inherits:i}=n(7975);const a=n(7182);const d=n(1192);const h=n(855);const m=n(8929);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...n}=e;this.opts={autoDestroy:false,...n};o.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}i(Busboy,o);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}o.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=m(e["content-type"]);const n={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(d.detect.test(t[0])){return new d(this,n)}if(h.detect.test(t[0])){return new h(this,n)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,n){this._parser.write(e,n)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=a},1192:(e,t,n)=>{"use strict";const{Readable:o}=n(7075);const{inherits:i}=n(7975);const a=n(7182);const d=n(8929);const h=n(2747);const m=n(692);const Q=n(2393);const k=/^boundary$/i;const _=/^form-data$/i;const L=/^charset$/i;const U=/^filename$/i;const P=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let n;let o;const i=this;let H;const Y=t.limits;const V=t.isPartAFile||((e,t,n)=>t==="application/octet-stream"||n!==undefined);const J=t.parsedConType||[];const W=t.defCharset||"utf8";const j=t.preservePath;const K={highWaterMark:t.fileHwm};for(n=0,o=J.length;n<o;++n){if(Array.isArray(J[n])&&k.test(J[n][0])){H=J[n][1];break}}function checkFinished(){if(Ae===0&&le&&!e._done){le=false;i.end()}}if(typeof H!=="string"){throw new Error("Multipart: Boundary not found")}const X=Q(Y,"fieldSize",1*1024*1024);const Z=Q(Y,"fileSize",Infinity);const ee=Q(Y,"files",Infinity);const te=Q(Y,"fields",Infinity);const re=Q(Y,"parts",Infinity);const se=Q(Y,"headerPairs",2e3);const ne=Q(Y,"headerSize",80*1024);let oe=0;let ie=0;let Ae=0;let ae;let ce;let le=false;this._needDrain=false;this._pause=false;this._cb=undefined;this._nparts=0;this._boy=e;const ue={boundary:H,maxHeaderPairs:se,maxHeaderSize:ne,partHwm:K.highWaterMark,highWaterMark:t.highWaterMark};this.parser=new a(ue);this.parser.on("drain",(function(){i._needDrain=false;if(i._cb&&!i._pause){const e=i._cb;i._cb=undefined;e()}})).on("part",(function onPart(t){if(++i._nparts>re){i.parser.removeListener("part",onPart);i.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(ce){const e=ce;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(a){let Q;let k;let H;let Y;let J;let re;let se=0;if(a["content-type"]){H=d(a["content-type"][0]);if(H[0]){Q=H[0].toLowerCase();for(n=0,o=H.length;n<o;++n){if(L.test(H[n][0])){Y=H[n][1].toLowerCase();break}}}}if(Q===undefined){Q="text/plain"}if(Y===undefined){Y=W}if(a["content-disposition"]){H=d(a["content-disposition"][0]);if(!_.test(H[0])){return skipPart(t)}for(n=0,o=H.length;n<o;++n){if(P.test(H[n][0])){k=H[n][1]}else if(U.test(H[n][0])){re=H[n][1];if(!j){re=m(re)}}}}else{return skipPart(t)}if(a["content-transfer-encoding"]){J=a["content-transfer-encoding"][0].toLowerCase()}else{J="7bit"}let ne,le;if(V(k,Q,re)){if(oe===ee){if(!e.hitFilesLimit){e.hitFilesLimit=true;e.emit("filesLimit")}return skipPart(t)}++oe;if(e.listenerCount("file")===0){i.parser._ignore();return}++Ae;const n=new FileStream(K);ae=n;n.on("end",(function(){--Ae;i._pause=false;checkFinished();if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}}));n._read=function(e){if(!i._pause){return}i._pause=false;if(i._cb&&!i._needDrain){const e=i._cb;i._cb=undefined;e()}};e.emit("file",k,n,re,J,Q);ne=function(e){if((se+=e.length)>Z){const o=Z-se+e.length;if(o>0){n.push(e.slice(0,o))}n.truncated=true;n.bytesRead=Z;t.removeAllListeners("data");n.emit("limit");return}else if(!n.push(e)){i._pause=true}n.bytesRead=se};le=function(){ae=undefined;n.push(null)}}else{if(ie===te){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++ie;++Ae;let n="";let o=false;ce=t;ne=function(e){if((se+=e.length)>X){const i=X-(se-e.length);n+=e.toString("binary",0,i);o=true;t.removeAllListeners("data")}else{n+=e.toString("binary")}};le=function(){ce=undefined;if(n.length){n=h(n,"binary",Y)}e.emit("field",k,n,false,o,J,Q);--Ae;checkFinished()}}t._readableState.sync=false;t.on("data",ne);t.on("end",le)})).on("error",(function(e){if(ae){ae.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){le=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const n=this.parser.write(e);if(n&&!this._pause){t()}else{this._needDrain=!n;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){o.call(this,e);this.bytesRead=0;this.truncated=false}i(FileStream,o);FileStream.prototype._read=function(e){};e.exports=Multipart},855:(e,t,n)=>{"use strict";const o=n(1496);const i=n(2747);const a=n(2393);const d=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const n=t.limits;const i=t.parsedConType;this.boy=e;this.fieldSizeLimit=a(n,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=a(n,"fieldNameSize",100);this.fieldsLimit=a(n,"fields",Infinity);let h;for(var m=0,Q=i.length;m<Q;++m){if(Array.isArray(i[m])&&d.test(i[m][0])){h=i[m][1].toLowerCase();break}}if(h===undefined){h=t.defCharset||"utf8"}this.decoder=new o;this.charset=h;this._fields=0;this._state="key";this._checkingBytes=true;this._bytesKey=0;this._bytesVal=0;this._key="";this._val="";this._keyTrunc=false;this._valTrunc=false;this._hitLimit=false}UrlEncoded.prototype.write=function(e,t){if(this._fields===this.fieldsLimit){if(!this.boy.hitFieldsLimit){this.boy.hitFieldsLimit=true;this.boy.emit("fieldsLimit")}return t()}let n;let o;let a;let d=0;const h=e.length;while(d<h){if(this._state==="key"){n=o=undefined;for(a=d;a<h;++a){if(!this._checkingBytes){++d}if(e[a]===61){n=a;break}else if(e[a]===38){o=a;break}if(this._checkingBytes&&this._bytesKey===this.fieldNameSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesKey}}if(n!==undefined){if(n>d){this._key+=this.decoder.write(e.toString("binary",d,n))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();d=n+1}else if(o!==undefined){++this._fields;let n;const a=this._keyTrunc;if(o>d){n=this._key+=this.decoder.write(e.toString("binary",d,o))}else{n=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(n.length){this.boy.emit("field",i(n,"binary",this.charset),"",a,false)}d=o+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(a>d){this._key+=this.decoder.write(e.toString("binary",d,a))}d=a;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(d<h){this._key+=this.decoder.write(e.toString("binary",d))}d=h}}else{o=undefined;for(a=d;a<h;++a){if(!this._checkingBytes){++d}if(e[a]===38){o=a;break}if(this._checkingBytes&&this._bytesVal===this.fieldSizeLimit){this._hitLimit=true;break}else if(this._checkingBytes){++this._bytesVal}}if(o!==undefined){++this._fields;if(o>d){this._val+=this.decoder.write(e.toString("binary",d,o))}this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();d=o+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(a>d){this._val+=this.decoder.write(e.toString("binary",d,a))}d=a;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(d<h){this._val+=this.decoder.write(e.toString("binary",d))}d=h}}}t()};UrlEncoded.prototype.end=function(){if(this.boy._done){return}if(this._state==="key"&&this._key.length>0){this.boy.emit("field",i(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",i(this._key,"binary",this.charset),i(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},1496:e=>{"use strict";const t=/\+/g;const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let o="";let i=0;let a=0;const d=e.length;for(;i<d;++i){if(this.buffer!==undefined){if(!n[e.charCodeAt(i)]){o+="%"+this.buffer;this.buffer=undefined;--i}else{this.buffer+=e[i];++a;if(this.buffer.length===2){o+=String.fromCharCode(parseInt(this.buffer,16));this.buffer=undefined}}}else if(e[i]==="%"){if(i>a){o+=e.substring(a,i);a=i}this.buffer="";++a}}if(a<d&&this.buffer===undefined){o+=e.substring(a)}return o};Decoder.prototype.reset=function(){this.buffer=undefined};e.exports=Decoder},692:e=>{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},2747:function(e){"use strict";const t=new TextDecoder("utf-8");const n=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return o.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return o.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return o.utf16le;case"base64":return o.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return o.other.bind(e)}}}const o={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(n.has(this.toString())){try{return n.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,n){if(e){return getDecoder(n)(e,t)}return e}e.exports=decodeText},2393:e=>{"use strict";e.exports=function getLimit(e,t,n){if(!e||e[t]===undefined||e[t]===null){return n}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8929:(e,t,n)=>{"use strict";const o=n(2747);const i=/%[a-fA-F0-9][a-fA-F0-9]/g;const a={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"","%81":"","%82":"","%83":"","%84":"","%85":"
","%86":"","%87":"","%88":"","%89":"","%8a":"","%8A":"","%8b":"","%8B":"","%8c":"","%8C":"","%8d":"","%8D":"","%8e":"","%8E":"","%8f":"","%8F":"","%90":"","%91":"","%92":"","%93":"","%94":"","%95":"","%96":"","%97":"","%98":"","%99":"","%9a":"","%9A":"","%9b":"","%9B":"","%9c":"","%9C":"","%9d":"","%9D":"","%9e":"","%9E":"","%9f":"","%9F":"","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"","%Ad":"","%aD":"","%AD":"","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return a[e]}const d=0;const h=1;const m=2;const Q=3;function parseParams(e){const t=[];let n=d;let a="";let k=false;let _=false;let L=0;let U="";const P=e.length;for(var H=0;H<P;++H){const P=e[H];if(P==="\\"&&k){if(_){_=false}else{_=true;continue}}else if(P==='"'){if(!_){if(k){k=false;n=d}else{k=true}continue}else{_=false}}else{if(_&&k){U+="\\"}_=false;if((n===m||n===Q)&&P==="'"){if(n===m){n=Q;a=U.substring(1)}else{n=h}U="";continue}else if(n===d&&(P==="*"||P==="=")&&t.length){n=P==="*"?m:h;t[L]=[U,undefined];U="";continue}else if(!k&&P===";"){n=d;if(a){if(U.length){U=o(U.replace(i,encodedReplacer),"binary",a)}a=""}else if(U.length){U=o(U,"binary","utf8")}if(t[L]===undefined){t[L]=U}else{t[L][1]=U}U="";++L;continue}else if(!k&&(P===" "||P==="\t")){continue}}U+=P}if(a&&U.length){U=o(U.replace(i,encodedReplacer),"binary",a)}else if(U){U=o(U,"binary","utf8")}if(t[L]===undefined){if(U){t[L]=U}}else{t[L][1]=U}return t}e.exports=parseParams},591:e=>{(()=>{"use strict";var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};t.r(n),t.d(n,{XMLBuilder:()=>oe,XMLParser:()=>Tt,XMLValidator:()=>ie});const o=":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",i=new RegExp("^["+o+"]["+o+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$");function s(e,t){const n=[];let o=t.exec(e);for(;o;){const i=[];i.startIndex=t.lastIndex-o[0].length;const a=o.length;for(let e=0;e<a;e++)i.push(o[e]);n.push(i),o=t.exec(e)}return n}const r=function(e){return!(null==i.exec(e))},a=["hasOwnProperty","toString","valueOf","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],d=["__proto__","constructor","prototype"],h={allowBooleanAttributes:!1,unpairedTags:[]};function l(e,t){t=Object.assign({},h,t);const n=[];let o=!1,i=!1;"\ufeff"===e[0]&&(e=e.substr(1));for(let a=0;a<e.length;a++)if("<"===e[a]&&"?"===e[a+1]){if(a+=2,a=p(e,a),a.err)return a}else{if("<"!==e[a]){if(u(e[a]))continue;return b("InvalidChar","char '"+e[a]+"' is not expected.",w(e,a))}{let d=a;if(a++,"!"===e[a]){a=c(e,a);continue}{let h=!1;"/"===e[a]&&(h=!0,a++);let m="";for(;a<e.length&&">"!==e[a]&&" "!==e[a]&&"\t"!==e[a]&&"\n"!==e[a]&&"\r"!==e[a];a++)m+=e[a];if(m=m.trim(),"/"===m[m.length-1]&&(m=m.substring(0,m.length-1),a--),!E(m)){let t;return t=0===m.trim().length?"Invalid space after '<'.":"Tag '"+m+"' is an invalid name.",b("InvalidTag",t,w(e,a))}const Q=g(e,a);if(!1===Q)return b("InvalidAttr","Attributes for '"+m+"' have open quote.",w(e,a));let k=Q.value;if(a=Q.index,"/"===k[k.length-1]){const n=a-k.length;k=k.substring(0,k.length-1);const i=x(k,t);if(!0!==i)return b(i.err.code,i.err.msg,w(e,n+i.err.line));o=!0}else if(h){if(!Q.tagClosed)return b("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",w(e,a));if(k.trim().length>0)return b("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",w(e,d));if(0===n.length)return b("InvalidTag","Closing tag '"+m+"' has not been opened.",w(e,d));{const t=n.pop();if(m!==t.tagName){let n=w(e,t.tagStartPos);return b("InvalidTag","Expected closing tag '"+t.tagName+"' (opened in line "+n.line+", col "+n.col+") instead of closing tag '"+m+"'.",w(e,d))}0==n.length&&(i=!0)}}else{const h=x(k,t);if(!0!==h)return b(h.err.code,h.err.msg,w(e,a-k.length+h.err.line));if(!0===i)return b("InvalidXml","Multiple possible root nodes found.",w(e,a));-1!==t.unpairedTags.indexOf(m)||n.push({tagName:m,tagStartPos:d}),o=!0}for(a++;a<e.length;a++)if("<"===e[a]){if("!"===e[a+1]){a++,a=c(e,a);continue}if("?"!==e[a+1])break;if(a=p(e,++a),a.err)return a}else if("&"===e[a]){const t=N(e,a);if(-1==t)return b("InvalidChar","char '&' is not expected.",w(e,a));a=t}else if(!0===i&&!u(e[a]))return b("InvalidXml","Extra text at the end",w(e,a));"<"===e[a]&&a--}}}return o?1==n.length?b("InvalidTag","Unclosed tag '"+n[0].tagName+"'.",w(e,n[0].tagStartPos)):!(n.length>0)||b("InvalidXml","Invalid '"+JSON.stringify(n.map((e=>e.tagName)),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):b("InvalidXml","Start tag expected.",1)}function u(e){return" "===e||"\t"===e||"\n"===e||"\r"===e}function p(e,t){const n=t;for(;t<e.length;t++)if("?"==e[t]||" "==e[t]){const o=e.substr(n,t-n);if(t>5&&"xml"===o)return b("InvalidXml","XML declaration allowed only at the start of the document.",w(e,t));if("?"==e[t]&&">"==e[t+1]){t++;break}continue}return t}function c(e,t){if(e.length>t+5&&"-"===e[t+1]&&"-"===e[t+2]){for(t+=3;t<e.length;t++)if("-"===e[t]&&"-"===e[t+1]&&">"===e[t+2]){t+=2;break}}else if(e.length>t+8&&"D"===e[t+1]&&"O"===e[t+2]&&"C"===e[t+3]&&"T"===e[t+4]&&"Y"===e[t+5]&&"P"===e[t+6]&&"E"===e[t+7]){let n=1;for(t+=8;t<e.length;t++)if("<"===e[t])n++;else if(">"===e[t]&&(n--,0===n))break}else if(e.length>t+9&&"["===e[t+1]&&"C"===e[t+2]&&"D"===e[t+3]&&"A"===e[t+4]&&"T"===e[t+5]&&"A"===e[t+6]&&"["===e[t+7])for(t+=8;t<e.length;t++)if("]"===e[t]&&"]"===e[t+1]&&">"===e[t+2]){t+=2;break}return t}const m='"',Q="'";function g(e,t){let n="",o="",i=!1;for(;t<e.length;t++){if(e[t]===m||e[t]===Q)""===o?o=e[t]:o!==e[t]||(o="");else if(">"===e[t]&&""===o){i=!0;break}n+=e[t]}return""===o&&{value:n,index:t,tagClosed:i}}const k=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function x(e,t){const n=s(e,k),o={};for(let e=0;e<n.length;e++){if(0===n[e][1].length)return b("InvalidAttr","Attribute '"+n[e][2]+"' has no space in starting.",v(n[e]));if(void 0!==n[e][3]&&void 0===n[e][4])return b("InvalidAttr","Attribute '"+n[e][2]+"' is without value.",v(n[e]));if(void 0===n[e][3]&&!t.allowBooleanAttributes)return b("InvalidAttr","boolean attribute '"+n[e][2]+"' is not allowed.",v(n[e]));const i=n[e][2];if(!y(i))return b("InvalidAttr","Attribute '"+i+"' is an invalid name.",v(n[e]));if(Object.prototype.hasOwnProperty.call(o,i))return b("InvalidAttr","Attribute '"+i+"' is repeated.",v(n[e]));o[i]=1}return!0}function N(e,t){if(";"===e[++t])return-1;if("#"===e[t])return function(e,t){let n=/\d/;for("x"===e[t]&&(t++,n=/[\da-fA-F]/);t<e.length;t++){if(";"===e[t])return t;if(!e[t].match(n))break}return-1}(e,++t);let n=0;for(;t<e.length;t++,n++)if(!(e[t].match(/\w/)&&n<20)){if(";"===e[t])break;return-1}return t}function b(e,t,n){return{err:{code:e,msg:t,line:n.line||n,col:n.col}}}function y(e){return r(e)}function E(e){return r(e)}function w(e,t){const n=e.substring(0,t).split(/\r?\n/);return{line:n.length,col:n[n.length-1].length+1}}function v(e){return e.startIndex+e[1].length}const S=e=>a.includes(e)?"__"+e:e,_={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,t){return t},attributeValueProcessor:function(e,t){return t},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,entityDecoder:null,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(e,t,n){return e},captureMetaData:!1,maxNestedTags:100,strictReservedNames:!0,jPath:!0,onDangerousProperty:S};function A(e,t){if("string"!=typeof e)return;const n=e.toLowerCase();if(a.some((e=>n===e.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);if(d.some((e=>n===e.toLowerCase())))throw new Error(`[SECURITY] Invalid ${t}: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`)}function T(e,t){return"boolean"==typeof e?{enabled:e,maxEntitySize:1e4,maxExpansionDepth:1e4,maxTotalExpansions:1/0,maxExpandedLength:1e5,maxEntityCount:1e3,allowedTags:null,tagFilter:null,appliesTo:"all"}:"object"==typeof e&&null!==e?{enabled:!1!==e.enabled,maxEntitySize:Math.max(1,e.maxEntitySize??1e4),maxExpansionDepth:Math.max(1,e.maxExpansionDepth??1e4),maxTotalExpansions:Math.max(1,e.maxTotalExpansions??1/0),maxExpandedLength:Math.max(1,e.maxExpandedLength??1e5),maxEntityCount:Math.max(1,e.maxEntityCount??1e3),allowedTags:e.allowedTags??null,tagFilter:e.tagFilter??null,appliesTo:e.appliesTo??"all"}:T(!0)}const C=function(e){const t=Object.assign({},_,e),n=[{value:t.attributeNamePrefix,name:"attributeNamePrefix"},{value:t.attributesGroupName,name:"attributesGroupName"},{value:t.textNodeName,name:"textNodeName"},{value:t.cdataPropName,name:"cdataPropName"},{value:t.commentPropName,name:"commentPropName"}];for(const{value:e,name:t}of n)e&&A(e,t);return null===t.onDangerousProperty&&(t.onDangerousProperty=S),t.processEntities=T(t.processEntities,t.htmlEntities),t.unpairedTagsSet=new Set(t.unpairedTags),t.stopNodes&&Array.isArray(t.stopNodes)&&(t.stopNodes=t.stopNodes.map((e=>"string"==typeof e&&e.startsWith("*.")?".."+e.substring(2):e))),t};let L;L="function"!=typeof Symbol?"@@xmlMetadata":Symbol("XML Node Metadata");class O{constructor(e){this.tagname=e,this.child=[],this[":@"]=Object.create(null)}add(e,t){"__proto__"===e&&(e="#__proto__"),this.child.push({[e]:t})}addChild(e,t){"__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!==t&&(this.child[this.child.length-1][L]={startIndex:t})}static getMetaDataSymbol(){return L}}class ${constructor(e){this.suppressValidationErr=!e,this.options=e}readDocType(e,t){const n=Object.create(null);let o=0;if("O"!==e[t+3]||"C"!==e[t+4]||"T"!==e[t+5]||"Y"!==e[t+6]||"P"!==e[t+7]||"E"!==e[t+8])throw new Error("Invalid Tag instead of DOCTYPE");{t+=9;let i=1,a=!1,d=!1,h="";for(;t<e.length;t++)if("<"!==e[t]||d)if(">"===e[t]){if(d?"-"===e[t-1]&&"-"===e[t-2]&&(d=!1,i--):i--,0===i)break}else"["===e[t]?a=!0:h+=e[t];else{if(a&&D(e,"!ENTITY",t)){let i,a;if(t+=7,[i,a,t]=this.readEntityExp(e,t+1,this.suppressValidationErr),-1===a.indexOf("&")){if(!1!==this.options.enabled&&null!=this.options.maxEntityCount&&o>=this.options.maxEntityCount)throw new Error(`Entity count (${o+1}) exceeds maximum allowed (${this.options.maxEntityCount})`);n[i]=a,o++}}else if(a&&D(e,"!ELEMENT",t)){t+=8;const{index:n}=this.readElementExp(e,t+1);t=n}else if(a&&D(e,"!ATTLIST",t))t+=8;else if(a&&D(e,"!NOTATION",t)){t+=9;const{index:n}=this.readNotationExp(e,t+1,this.suppressValidationErr);t=n}else{if(!D(e,"!--",t))throw new Error("Invalid DOCTYPE");d=!0}i++,h=""}if(0!==i)throw new Error("Unclosed DOCTYPE")}return{entities:n,i:t}}readEntityExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t])&&'"'!==e[t]&&"'"!==e[t];)t++;let o=e.substring(n,t);if(M(o),t=I(e,t),!this.suppressValidationErr){if("SYSTEM"===e.substring(t,t+6).toUpperCase())throw new Error("External entities are not supported");if("%"===e[t])throw new Error("Parameter entities are not supported")}let i="";if([t,i]=this.readIdentifierVal(e,t,"entity"),!1!==this.options.enabled&&null!=this.options.maxEntitySize&&i.length>this.options.maxEntitySize)throw new Error(`Entity "${o}" size (${i.length}) exceeds maximum allowed size (${this.options.maxEntitySize})`);return[o,i,--t]}readNotationExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);!this.suppressValidationErr&&M(o),t=I(e,t);const i=e.substring(t,t+6).toUpperCase();if(!this.suppressValidationErr&&"SYSTEM"!==i&&"PUBLIC"!==i)throw new Error(`Expected SYSTEM or PUBLIC, found "${i}"`);t+=i.length,t=I(e,t);let a=null,d=null;if("PUBLIC"===i)[t,a]=this.readIdentifierVal(e,t,"publicIdentifier"),'"'!==e[t=I(e,t)]&&"'"!==e[t]||([t,d]=this.readIdentifierVal(e,t,"systemIdentifier"));else if("SYSTEM"===i&&([t,d]=this.readIdentifierVal(e,t,"systemIdentifier"),!this.suppressValidationErr&&!d))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:o,publicIdentifier:a,systemIdentifier:d,index:--t}}readIdentifierVal(e,t,n){let o="";const i=e[t];if('"'!==i&&"'"!==i)throw new Error(`Expected quoted string, found "${i}"`);const a=++t;for(;t<e.length&&e[t]!==i;)t++;if(o=e.substring(a,t),e[t]!==i)throw new Error(`Unterminated ${n} value`);return[++t,o]}readElementExp(e,t){const n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);if(!this.suppressValidationErr&&!r(o))throw new Error(`Invalid element name: "${o}"`);let i="";if("E"===e[t=I(e,t)]&&D(e,"MPTY",t))t+=4;else if("A"===e[t]&&D(e,"NY",t))t+=2;else if("("===e[t]){const n=++t;for(;t<e.length&&")"!==e[t];)t++;if(i=e.substring(n,t),")"!==e[t])throw new Error("Unterminated content model")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found "${e[t]}"`);return{elementName:o,contentModel:i.trim(),index:t}}readAttlistExp(e,t){let n=t=I(e,t);for(;t<e.length&&!/\s/.test(e[t]);)t++;let o=e.substring(n,t);for(M(o),n=t=I(e,t);t<e.length&&!/\s/.test(e[t]);)t++;let i=e.substring(n,t);if(!M(i))throw new Error(`Invalid attribute name: "${i}"`);t=I(e,t);let a="";if("NOTATION"===e.substring(t,t+8).toUpperCase()){if(a="NOTATION","("!==e[t=I(e,t+=8)])throw new Error(`Expected '(', found "${e[t]}"`);t++;let n=[];for(;t<e.length&&")"!==e[t];){const o=t;for(;t<e.length&&"|"!==e[t]&&")"!==e[t];)t++;let i=e.substring(o,t);if(i=i.trim(),!M(i))throw new Error(`Invalid notation name: "${i}"`);n.push(i),"|"===e[t]&&(t++,t=I(e,t))}if(")"!==e[t])throw new Error("Unterminated list of notations");t++,a+=" ("+n.join("|")+")"}else{const n=t;for(;t<e.length&&!/\s/.test(e[t]);)t++;a+=e.substring(n,t);const o=["CDATA","ID","IDREF","IDREFS","ENTITY","ENTITIES","NMTOKEN","NMTOKENS"];if(!this.suppressValidationErr&&!o.includes(a.toUpperCase()))throw new Error(`Invalid attribute type: "${a}"`)}t=I(e,t);let d="";return"#REQUIRED"===e.substring(t,t+8).toUpperCase()?(d="#REQUIRED",t+=8):"#IMPLIED"===e.substring(t,t+7).toUpperCase()?(d="#IMPLIED",t+=7):[t,d]=this.readIdentifierVal(e,t,"ATTLIST"),{elementName:o,attributeName:i,attributeType:a,defaultValue:d,index:t}}}const I=(e,t)=>{for(;t<e.length&&/\s/.test(e[t]);)t++;return t};function D(e,t,n){for(let o=0;o<t.length;o++)if(t[o]!==e[n+o+1])return!1;return!0}function M(e){if(r(e))return e;throw new Error(`Invalid entity name ${e}`)}const U=/^[-+]?0x[a-fA-F0-9]+$/,P=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,H={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0,infinity:"original"};const Y=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;class F{constructor(e){this._matcher=e}get separator(){return this._matcher.separator}getCurrentTag(){const e=this._matcher.path;return e.length>0?e[e.length-1].tag:void 0}getCurrentNamespace(){const e=this._matcher.path;return e.length>0?e[e.length-1].namespace:void 0}getAttrValue(e){const t=this._matcher.path;if(0!==t.length)return t[t.length-1].values?.[e]}hasAttr(e){const t=this._matcher.path;if(0===t.length)return!1;const n=t[t.length-1];return void 0!==n.values&&e in n.values}getPosition(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].position??0}getCounter(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(e,t=!0){return this._matcher.toString(e,t)}toArray(){return this._matcher.path.map((e=>e.tag))}matches(e){return this._matcher.matches(e)}matchesAny(e){return e.matchesAny(this._matcher)}}class R{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new F(this)}push(e,t=null,n=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const o=this.path.length;this.siblingStacks[o]||(this.siblingStacks[o]=new Map);const i=this.siblingStacks[o],a=n?`${n}:${e}`:e,d=i.get(a)||0;let h=0;for(const e of i.values())h+=e;i.set(a,d+1);const m={tag:e,position:h,counter:d};null!=n&&(m.namespace=n),null!=t&&(m.values=t),this.path.push(m)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const e=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),e}updateCurrent(e){if(this.path.length>0){const t=this.path[this.path.length-1];null!=e&&(t.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){if(0!==this.path.length)return this.path[this.path.length-1].values?.[e]}hasAttr(e){if(0===this.path.length)return!1;const t=this.path[this.path.length-1];return void 0!==t.values&&e in t.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,t=!0){const n=e||this.separator;if(n===this.separator&&!0===t){if(null!==this._pathStringCache)return this._pathStringCache;const e=this.path.map((e=>e.namespace?`${e.namespace}:${e.tag}`:e.tag)).join(n);return this._pathStringCache=e,e}return this.path.map((e=>t&&e.namespace?`${e.namespace}:${e.tag}`:e.tag)).join(n)}toArray(){return this.path.map((e=>e.tag))}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(e){const t=e.segments;return 0!==t.length&&(e.hasDeepWildcard()?this._matchWithDeepWildcard(t):this._matchSimple(t))}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let t=0;t<e.length;t++)if(!this._matchSegment(e[t],this.path[t],t===this.path.length-1))return!1;return!0}_matchWithDeepWildcard(e){let t=this.path.length-1,n=e.length-1;for(;n>=0&&t>=0;){const o=e[n];if("deep-wildcard"===o.type){if(n--,n<0)return!0;const o=e[n];let i=!1;for(let e=t;e>=0;e--)if(this._matchSegment(o,this.path[e],e===this.path.length-1)){t=e-1,n--,i=!0;break}if(!i)return!1}else{if(!this._matchSegment(o,this.path[t],t===this.path.length-1))return!1;t--,n--}}return n<0}_matchSegment(e,t,n){if("*"!==e.tag&&e.tag!==t.tag)return!1;if(void 0!==e.namespace&&"*"!==e.namespace&&e.namespace!==t.namespace)return!1;if(void 0!==e.attrName){if(!n)return!1;if(!t.values||!(e.attrName in t.values))return!1;if(void 0!==e.attrValue&&String(t.values[e.attrName])!==String(e.attrValue))return!1}if(void 0!==e.position){if(!n)return!1;const o=t.counter??0;if("first"===e.position&&0!==o)return!1;if("odd"===e.position&&o%2!=1)return!1;if("even"===e.position&&o%2!=0)return!1;if("nth"===e.position&&o!==e.positionValue)return!1}return!0}matchesAny(e){return e.matchesAny(this)}snapshot(){return{path:this.path.map((e=>({...e}))),siblingStacks:this.siblingStacks.map((e=>new Map(e)))}}restore(e){this._pathStringCache=null,this.path=e.path.map((e=>({...e}))),this.siblingStacks=e.siblingStacks.map((e=>new Map(e)))}readOnly(){return this._view}}class G{constructor(e,t={},n){this.pattern=e,this.separator=t.separator||".",this.segments=this._parse(e),this.data=n,this._hasDeepWildcard=this.segments.some((e=>"deep-wildcard"===e.type)),this._hasAttributeCondition=this.segments.some((e=>void 0!==e.attrName)),this._hasPositionSelector=this.segments.some((e=>void 0!==e.position))}_parse(e){const t=[];let n=0,o="";for(;n<e.length;)e[n]===this.separator?n+1<e.length&&e[n+1]===this.separator?(o.trim()&&(t.push(this._parseSegment(o.trim())),o=""),t.push({type:"deep-wildcard"}),n+=2):(o.trim()&&t.push(this._parseSegment(o.trim())),o="",n++):(o+=e[n],n++);return o.trim()&&t.push(this._parseSegment(o.trim())),t}_parseSegment(e){const t={type:"tag"};let n=null,o=e;const i=e.match(/^([^\[]+)(\[[^\]]*\])(.*)$/);if(i&&(o=i[1]+i[3],i[2])){const e=i[2].slice(1,-1);e&&(n=e)}let a,d,h=o;if(o.includes("::")){const t=o.indexOf("::");if(a=o.substring(0,t).trim(),h=o.substring(t+2).trim(),!a)throw new Error(`Invalid namespace in pattern: ${e}`)}let m=null;if(h.includes(":")){const e=h.lastIndexOf(":"),t=h.substring(0,e).trim(),n=h.substring(e+1).trim();["first","last","odd","even"].includes(n)||/^nth\(\d+\)$/.test(n)?(d=t,m=n):d=h}else d=h;if(!d)throw new Error(`Invalid segment pattern: ${e}`);if(t.tag=d,a&&(t.namespace=a),n)if(n.includes("=")){const e=n.indexOf("=");t.attrName=n.substring(0,e).trim(),t.attrValue=n.substring(e+1).trim()}else t.attrName=n.trim();if(m){const e=m.match(/^nth\((\d+)\)$/);e?(t.position="nth",t.positionValue=parseInt(e[1],10)):t.position=m}return t}get length(){return this.segments.length}hasDeepWildcard(){return this._hasDeepWildcard}hasAttributeCondition(){return this._hasAttributeCondition}hasPositionSelector(){return this._hasPositionSelector}toString(){return this.pattern}}class B{constructor(){this._byDepthAndTag=new Map,this._wildcardByDepth=new Map,this._deepWildcards=[],this._patterns=new Set,this._sealed=!1}add(e){if(this._sealed)throw new TypeError("ExpressionSet is sealed. Create a new ExpressionSet to add more expressions.");if(this._patterns.has(e.pattern))return this;if(this._patterns.add(e.pattern),e.hasDeepWildcard())return this._deepWildcards.push(e),this;const t=e.length,n=e.segments[e.segments.length-1],o=n?.tag;if(o&&"*"!==o){const n=`${t}:${o}`;this._byDepthAndTag.has(n)||this._byDepthAndTag.set(n,[]),this._byDepthAndTag.get(n).push(e)}else this._wildcardByDepth.has(t)||this._wildcardByDepth.set(t,[]),this._wildcardByDepth.get(t).push(e);return this}addAll(e){for(const t of e)this.add(t);return this}has(e){return this._patterns.has(e.pattern)}get size(){return this._patterns.size}seal(){return this._sealed=!0,this}get isSealed(){return this._sealed}matchesAny(e){return null!==this.findMatch(e)}findMatch(e){const t=e.getDepth(),n=`${t}:${e.getCurrentTag()}`,o=this._byDepthAndTag.get(n);if(o)for(let t=0;t<o.length;t++)if(e.matches(o[t]))return o[t];const i=this._wildcardByDepth.get(t);if(i)for(let t=0;t<i.length;t++)if(e.matches(i[t]))return i[t];for(let t=0;t<this._deepWildcards.length;t++)if(e.matches(this._deepWildcards[t]))return this._deepWildcards[t];return null}}const V={cent:"¢",pound:"£",curren:"¤",yen:"¥",euro:"€",dollar:"$",euro:"€",fnof:"ƒ",inr:"₹",af:"؋",birr:"ብር",peso:"₱",rub:"₽",won:"₩",yuan:"¥",cedil:"¸"},J={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'},W={nbsp:" ",copy:"©",reg:"®",trade:"™",mdash:"—",ndash:"–",hellip:"…",laquo:"«",raquo:"»",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",bull:"•",para:"¶",sect:"§",deg:"°",frac12:"½",frac14:"¼",frac34:"¾"},j=new Set("!?\\\\/[]$%{}^&*()<>|+");function z(e){if("#"===e[0])throw new Error(`[EntityReplacer] Invalid character '#' in entity name: "${e}"`);for(const t of e)if(j.has(t))throw new Error(`[EntityReplacer] Invalid character '${t}' in entity name: "${e}"`);return e}function q(...e){const t=Object.create(null);for(const n of e)if(n)for(const e of Object.keys(n)){const o=n[e];if("string"==typeof o)t[e]=o;else if(o&&"object"==typeof o&&void 0!==o.val){const n=o.val;"string"==typeof n&&(t[e]=n)}}return t}const K="external",X="base",Z="all",ee=Object.freeze({allow:0,leave:1,remove:2,throw:3}),te=new Set([9,10,13]);class tt{constructor(e={}){var t;this._limit=e.limit||{},this._maxTotalExpansions=this._limit.maxTotalExpansions||0,this._maxExpandedLength=this._limit.maxExpandedLength||0,this._postCheck="function"==typeof e.postCheck?e.postCheck:e=>e,this._limitTiers=(t=this._limit.applyLimitsTo??K)&&t!==K?t===Z?new Set([Z]):t===X?new Set([X]):Array.isArray(t)?new Set(t):new Set([K]):new Set([K]),this._numericAllowed=e.numericAllowed??!0,this._baseMap=q(J,e.namedEntities||null),this._externalMap=Object.create(null),this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this._removeSet=new Set(e.remove&&Array.isArray(e.remove)?e.remove:[]),this._leaveSet=new Set(e.leave&&Array.isArray(e.leave)?e.leave:[]);const n=function(e){if(!e)return{xmlVersion:1,onLevel:ee.allow,nullLevel:ee.remove};const t=1.1===e.xmlVersion?1.1:1,n=ee[e.onNCR]??ee.allow,o=ee[e.nullNCR]??ee.remove;return{xmlVersion:t,onLevel:n,nullLevel:Math.max(o,ee.remove)}}(e.ncr);this._ncrXmlVersion=n.xmlVersion,this._ncrOnLevel=n.onLevel,this._ncrNullLevel=n.nullLevel}setExternalEntities(e){if(e)for(const t of Object.keys(e))z(t);this._externalMap=q(e)}addExternalEntity(e,t){z(e),"string"==typeof t&&-1===t.indexOf("&")&&(this._externalMap[e]=t)}addInputEntities(e){this._totalExpansions=0,this._expandedLength=0,this._inputMap=q(e)}reset(){return this._inputMap=Object.create(null),this._totalExpansions=0,this._expandedLength=0,this}setXmlVersion(e){this._ncrXmlVersion=1.1===e?1.1:1}decode(e){if("string"!=typeof e||0===e.length)return e;const t=e,n=[],o=e.length;let i=0,a=0;const d=this._maxTotalExpansions>0,h=this._maxExpandedLength>0,m=d||h;for(;a<o;){if(38!==e.charCodeAt(a)){a++;continue}let t=a+1;for(;t<o&&59!==e.charCodeAt(t)&&t-a<=32;)t++;if(t>=o||59!==e.charCodeAt(t)){a++;continue}const Q=e.slice(a+1,t);if(0===Q.length){a++;continue}let k,_;if(this._removeSet.has(Q))k="",void 0===_&&(_=K);else{if(this._leaveSet.has(Q)){a++;continue}if(35===Q.charCodeAt(0)){const e=this._resolveNCR(Q);if(void 0===e){a++;continue}k=e,_=X}else{const e=this._resolveName(Q);k=e?.value,_=e?.tier}}if(void 0!==k){if(a>i&&n.push(e.slice(i,a)),n.push(k),i=t+1,a=i,m&&this._tierCounts(_)){if(d&&(this._totalExpansions++,this._totalExpansions>this._maxTotalExpansions))throw new Error(`[EntityReplacer] Entity expansion count limit exceeded: ${this._totalExpansions} > ${this._maxTotalExpansions}`);if(h){const e=k.length-(Q.length+2);if(e>0&&(this._expandedLength+=e,this._expandedLength>this._maxExpandedLength))throw new Error(`[EntityReplacer] Expanded content length limit exceeded: ${this._expandedLength} > ${this._maxExpandedLength}`)}}}else a++}i<o&&n.push(e.slice(i));const Q=0===n.length?e:n.join("");return this._postCheck(Q,t)}_tierCounts(e){return!!this._limitTiers.has(Z)||this._limitTiers.has(e)}_resolveName(e){return e in this._inputMap?{value:this._inputMap[e],tier:K}:e in this._externalMap?{value:this._externalMap[e],tier:K}:e in this._baseMap?{value:this._baseMap[e],tier:X}:void 0}_classifyNCR(e){return 0===e?this._ncrNullLevel:e>=55296&&e<=57343||1===this._ncrXmlVersion&&e>=1&&e<=31&&!te.has(e)?ee.remove:-1}_applyNCRAction(e,t,n){switch(e){case ee.allow:return String.fromCodePoint(n);case ee.remove:return"";case ee.leave:return;case ee.throw:throw new Error(`[EntityDecoder] Prohibited numeric character reference &${t}; (U+${n.toString(16).toUpperCase().padStart(4,"0")})`);default:return String.fromCodePoint(n)}}_resolveNCR(e){const t=e.charCodeAt(1);let n;if(n=120===t||88===t?parseInt(e.slice(2),16):parseInt(e.slice(1),10),Number.isNaN(n)||n<0||n>1114111)return;const o=this._classifyNCR(n);if(!this._numericAllowed&&o<ee.remove)return;const i=-1===o?this._ncrOnLevel:Math.max(this._ncrOnLevel,o);return this._applyNCRAction(i,e,n)}}function et(e,t){if(!e)return{};const n=t.attributesGroupName?e[t.attributesGroupName]:e;if(!n)return{};const o={};for(const e in n)e.startsWith(t.attributeNamePrefix)?o[e.substring(t.attributeNamePrefix.length)]=n[e]:o[e]=n[e];return o}function nt(e){if(!e||"string"!=typeof e)return;const t=e.indexOf(":");if(-1!==t&&t>0){const n=e.substring(0,t);if("xmlns"!==n)return n}}class it{constructor(e,t){var n;this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.parseXml=ht,this.parseTextData=st,this.resolveNameSpace=rt,this.buildAttributesMap=at,this.isItStopNode=ct,this.replaceEntitiesValue=ut,this.readStopNodeData=mt,this.saveTextToParentTag=pt,this.addChild=lt,this.ignoreAttributesFn="function"==typeof(n=this.options.ignoreAttributes)?n:Array.isArray(n)?e=>{for(const t of n){if("string"==typeof t&&e===t)return!0;if(t instanceof RegExp&&t.test(e))return!0}}:()=>!1,this.entityExpansionCount=0,this.currentExpandedLength=0;let o={...J};this.options.entityDecoder?this.entityDecoder=this.options.entityDecoder:("object"==typeof this.options.htmlEntities?o=this.options.htmlEntities:!0===this.options.htmlEntities&&(o={...W,...V}),this.entityDecoder=new tt({namedEntities:{...o,...t},numericAllowed:this.options.htmlEntities,limit:{maxTotalExpansions:this.options.processEntities.maxTotalExpansions,maxExpandedLength:this.options.processEntities.maxExpandedLength,applyLimitsTo:this.options.processEntities.appliesTo}})),this.matcher=new R,this.readonlyMatcher=this.matcher.readOnly(),this.isCurrentNodeStopNode=!1,this.stopNodeExpressionsSet=new B;const i=this.options.stopNodes;if(i&&i.length>0){for(let e=0;e<i.length;e++){const t=i[e];"string"==typeof t?this.stopNodeExpressionsSet.add(new G(t)):t instanceof G&&this.stopNodeExpressionsSet.add(t)}this.stopNodeExpressionsSet.seal()}}}function st(e,t,n,o,i,a,d){const h=this.options;if(void 0!==e&&(h.trimValues&&!o&&(e=e.trim()),e.length>0)){d||(e=this.replaceEntitiesValue(e,t,n));const o=h.jPath?n.toString():n,m=h.tagValueProcessor(t,e,o,i,a);return null==m?e:typeof m!=typeof e||m!==e?m:h.trimValues||e.trim()===e?xt(e,h.parseTagValue,h.numberParseOptions):e}}function rt(e){if(this.options.removeNSPrefix){const t=e.split(":"),n="/"===e.charAt(0)?"/":"";if("xmlns"===t[0])return"";2===t.length&&(e=n+t[1])}return e}const re=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function at(e,t,n,o=!1){const i=this.options;if(!0===o||!0!==i.ignoreAttributes&&"string"==typeof e){const o=s(e,re),a=o.length,d={},h=new Array(a);let m=!1;const Q={};for(let e=0;e<a;e++){const t=this.resolveNameSpace(o[e][1]),a=o[e][4];if(t.length&&void 0!==a){let o=a;i.trimValues&&(o=o.trim()),o=this.replaceEntitiesValue(o,n,this.readonlyMatcher),h[e]=o,Q[t]=o,m=!0}}m&&"object"==typeof t&&t.updateCurrent&&t.updateCurrent(Q);const k=i.jPath?t.toString():this.readonlyMatcher;let _=!1;for(let e=0;e<a;e++){const t=this.resolveNameSpace(o[e][1]);if(this.ignoreAttributesFn(t,k))continue;let n=i.attributeNamePrefix+t;if(t.length)if(i.transformAttributeName&&(n=i.transformAttributeName(n)),n=bt(n,i),void 0!==o[e][4]){const o=h[e],a=i.attributeValueProcessor(t,o,k);d[n]=null==a?o:typeof a!=typeof o||a!==o?a:xt(o,i.parseAttributeValue,i.numberParseOptions),_=!0}else i.allowBooleanAttributes&&(d[n]=!0,_=!0)}if(!_)return;if(i.attributesGroupName&&!i.preserveOrder){const e={};return e[i.attributesGroupName]=d,e}return d}}const ht=function(e){e=e.replace(/\r\n?/g,"\n");const t=new O("!xml");let n=t,o="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;const i=this.options,a=new $(i.processEntities),d=e.length;for(let h=0;h<d;h++)if("<"===e[h]){const m=e.charCodeAt(h+1);if(47===m){const t=dt(e,">",h,"Closing Tag is not closed.");let a=e.substring(h+2,t).trim();if(i.removeNSPrefix){const e=a.indexOf(":");-1!==e&&(a=a.substr(e+1))}a=Nt(i.transformTagName,a,"",i).tagName,n&&(o=this.saveTextToParentTag(o,n,this.readonlyMatcher));const d=this.matcher.getCurrentTag();if(a&&i.unpairedTagsSet.has(a))throw new Error(`Unpaired tag can not be used as closing tag: </${a}>`);d&&i.unpairedTagsSet.has(d)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,n=this.tagsNodeStack.pop(),o="",h=t}else if(63===m){let t=gt(e,h,!1,"?>");if(!t)throw new Error("Pi Tag is not closed.");o=this.saveTextToParentTag(o,n,this.readonlyMatcher);const a=this.buildAttributesMap(t.tagExp,this.matcher,t.tagName,!0);if(a){const e=a[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(e)||1)}if(i.ignoreDeclaration&&"?xml"===t.tagName||i.ignorePiTags);else{const e=new O(t.tagName);e.add(i.textNodeName,""),t.tagName!==t.tagExp&&t.attrExpPresent&&!0!==i.ignoreAttributes&&(e[":@"]=a),this.addChild(n,e,this.readonlyMatcher,h)}h=t.closeIndex+1}else if(33===m&&45===e.charCodeAt(h+2)&&45===e.charCodeAt(h+3)){const t=dt(e,"--\x3e",h+4,"Comment is not closed.");if(i.commentPropName){const a=e.substring(h+4,t-2);o=this.saveTextToParentTag(o,n,this.readonlyMatcher),n.add(i.commentPropName,[{[i.textNodeName]:a}])}h=t}else if(33===m&&68===e.charCodeAt(h+2)){const t=a.readDocType(e,h);this.entityDecoder.addInputEntities(t.entities),h=t.i}else if(33===m&&91===e.charCodeAt(h+2)){const t=dt(e,"]]>",h,"CDATA is not closed.")-2,a=e.substring(h+9,t);o=this.saveTextToParentTag(o,n,this.readonlyMatcher);let d=this.parseTextData(a,n.tagname,this.readonlyMatcher,!0,!1,!0,!0);null==d&&(d=""),i.cdataPropName?n.add(i.cdataPropName,[{[i.textNodeName]:a}]):n.add(i.textNodeName,d),h=t+2}else{let a=gt(e,h,i.removeNSPrefix);if(!a){const t=e.substring(Math.max(0,h-50),Math.min(d,h+50));throw new Error(`readTagExp returned undefined at position ${h}. Context: "${t}"`)}let m=a.tagName;const Q=a.rawTagName;let k=a.tagExp,_=a.attrExpPresent,L=a.closeIndex;if(({tagName:m,tagExp:k}=Nt(i.transformTagName,m,k,i)),i.strictReservedNames&&(m===i.commentPropName||m===i.cdataPropName||m===i.textNodeName||m===i.attributesGroupName))throw new Error(`Invalid tag name: ${m}`);n&&o&&"!xml"!==n.tagname&&(o=this.saveTextToParentTag(o,n,this.readonlyMatcher,!1));const U=n;U&&i.unpairedTagsSet.has(U.tagname)&&(n=this.tagsNodeStack.pop(),this.matcher.pop());let P=!1;k.length>0&&k.lastIndexOf("/")===k.length-1&&(P=!0,"/"===m[m.length-1]?(m=m.substr(0,m.length-1),k=m):k=k.substr(0,k.length-1),_=m!==k);let H,Y=null,V={};H=nt(Q),m!==t.tagname&&this.matcher.push(m,{},H),m!==k&&_&&(Y=this.buildAttributesMap(k,this.matcher,m),Y&&(V=et(Y,i))),m!==t.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());const J=h;if(this.isCurrentNodeStopNode){let t="";if(P)h=a.closeIndex;else if(i.unpairedTagsSet.has(m))h=a.closeIndex;else{const n=this.readStopNodeData(e,Q,L+1);if(!n)throw new Error(`Unexpected end of ${Q}`);h=n.i,t=n.tagContent}const o=new O(m);Y&&(o[":@"]=Y),o.add(i.textNodeName,t),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(n,o,this.readonlyMatcher,J)}else{if(P){({tagName:m,tagExp:k}=Nt(i.transformTagName,m,k,i));const e=new O(m);Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else{if(i.unpairedTagsSet.has(m)){const e=new O(m);Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),this.matcher.pop(),this.isCurrentNodeStopNode=!1,h=a.closeIndex;continue}{const e=new O(m);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(n),Y&&(e[":@"]=Y),this.addChild(n,e,this.readonlyMatcher,J),n=e}}o="",h=L}}}else o+=e[h];return t.child};function lt(e,t,n,o){this.options.captureMetaData||(o=void 0);const i=this.options.jPath?n.toString():n,a=this.options.updateTag(t.tagname,i,t[":@"]);!1===a||("string"==typeof a?(t.tagname=a,e.addChild(t,o)):e.addChild(t,o))}function ut(e,t,n){const o=this.options.processEntities;if(!o||!o.enabled)return e;if(o.allowedTags){const i=this.options.jPath?n.toString():n;if(!(Array.isArray(o.allowedTags)?o.allowedTags.includes(t):o.allowedTags(t,i)))return e}if(o.tagFilter){const i=this.options.jPath?n.toString():n;if(!o.tagFilter(t,i))return e}return this.entityDecoder.decode(e)}function pt(e,t,n,o){return e&&(void 0===o&&(o=0===t.child.length),void 0!==(e=this.parseTextData(e,t.tagname,n,!1,!!t[":@"]&&0!==Object.keys(t[":@"]).length,o))&&""!==e&&t.add(this.options.textNodeName,e),e=""),e}function ct(){return 0!==this.stopNodeExpressionsSet.size&&this.matcher.matchesAny(this.stopNodeExpressionsSet)}function dt(e,t,n,o){const i=e.indexOf(t,n);if(-1===i)throw new Error(o);return i+t.length-1}function ft(e,t,n,o){const i=e.indexOf(t,n);if(-1===i)throw new Error(o);return i}function gt(e,t,n,o=">"){const i=function(e,t,n=">"){let o=0;const i=e.length,a=n.charCodeAt(0),d=n.length>1?n.charCodeAt(1):-1;let h="",m=t;for(let n=t;n<i;n++){const t=e.charCodeAt(n);if(o)t===o&&(o=0);else if(34===t||39===t)o=t;else if(t===a){if(-1===d)return h+=e.substring(m,n),{data:h,index:n};if(e.charCodeAt(n+1)===d)return h+=e.substring(m,n),{data:h,index:n}}else 9!==t||o||(h+=e.substring(m,n)+" ",m=n+1)}}(e,t+1,o);if(!i)return;let a=i.data;const d=i.index,h=a.search(/\s/);let m=a,Q=!0;-1!==h&&(m=a.substring(0,h),a=a.substring(h+1).trimStart());const k=m;if(n){const e=m.indexOf(":");-1!==e&&(m=m.substr(e+1),Q=m!==i.data.substr(e+1))}return{tagName:m,tagExp:a,closeIndex:d,attrExpPresent:Q,rawTagName:k}}function mt(e,t,n){const o=n;let i=1;const a=e.length;for(;n<a;n++)if("<"===e[n]){const a=e.charCodeAt(n+1);if(47===a){const a=ft(e,">",n,`${t} is not closed`);if(e.substring(n+2,a).trim()===t&&(i--,0===i))return{tagContent:e.substring(o,n),i:a};n=a}else if(63===a)n=dt(e,"?>",n+1,"StopNode is not closed.");else if(33===a&&45===e.charCodeAt(n+2)&&45===e.charCodeAt(n+3))n=dt(e,"--\x3e",n+3,"StopNode is not closed.");else if(33===a&&91===e.charCodeAt(n+2))n=dt(e,"]]>",n,"StopNode is not closed.")-2;else{const o=gt(e,n,!1);o&&((o&&o.tagName)===t&&"/"!==o.tagExp[o.tagExp.length-1]&&i++,n=o.closeIndex)}}}function xt(e,t,n){if(t&&"string"==typeof e){const t=e.trim();return"true"===t||"false"!==t&&function(e,t={}){if(t=Object.assign({},H,t),!e||"string"!=typeof e)return e;let n=e.trim();if(0===n.length)return e;if(void 0!==t.skipLike&&t.skipLike.test(n))return e;if("0"===n)return 0;if(t.hex&&U.test(n))return function(e){if(parseInt)return parseInt(e,16);if(Number.parseInt)return Number.parseInt(e,16);if(window&&window.parseInt)return window.parseInt(e,16);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}(n);if(isFinite(n)){if(n.includes("e")||n.includes("E"))return function(e,t,n){if(!n.eNotation)return e;const o=t.match(Y);if(o){let i=o[1]||"";const a=-1===o[3].indexOf("e")?"E":"e",d=o[2],h=i?e[d.length+1]===a:e[d.length]===a;return d.length>1&&h?e:(1!==d.length||!o[3].startsWith(`.${a}`)&&o[3][0]!==a)&&d.length>0?n.leadingZeros&&!h?(t=(o[1]||"")+o[3],Number(t)):e:Number(t)}return e}(e,n,t);{const i=P.exec(n);if(i){const a=i[1]||"",d=i[2];let h=(o=i[3])&&-1!==o.indexOf(".")?("."===(o=o.replace(/0+$/,""))?o="0":"."===o[0]?o="0"+o:"."===o[o.length-1]&&(o=o.substring(0,o.length-1)),o):o;const m=a?"."===e[d.length+1]:"."===e[d.length];if(!t.leadingZeros&&(d.length>1||1===d.length&&!m))return e;{const o=Number(n),i=String(o);if(0===o)return o;if(-1!==i.search(/[eE]/))return t.eNotation?o:e;if(-1!==n.indexOf("."))return"0"===i||i===h||i===`${a}${h}`?o:e;let m=d?h:n;return d?m===i||a+m===i?o:e:m===i||m===a+i?o:e}}return e}}var o;return function(e,t,n){const o=t===1/0;switch(n.infinity.toLowerCase()){case"null":return null;case"infinity":return t;case"string":return o?"Infinity":"-Infinity";default:return e}}(e,Number(n),t)}(e,n)}return void 0!==e?e:""}function Nt(e,t,n,o){if(e){const o=e(t);n===t&&(n=o),t=o}return{tagName:t=bt(t,o),tagExp:n}}function bt(e,t){if(d.includes(e))throw new Error(`[SECURITY] Invalid name: "${e}" is a reserved JavaScript keyword that could cause prototype pollution`);return a.includes(e)?t.onDangerousProperty(e):e}const se=O.getMetaDataSymbol();function Et(e,t){if(!e||"object"!=typeof e)return{};if(!t)return e;const n={};for(const o in e)o.startsWith(t)?n[o.substring(t.length)]=e[o]:n[o]=e[o];return n}function wt(e,t,n,o){return vt(e,t,n,o)}function vt(e,t,n,o){let i;const a={};for(let d=0;d<e.length;d++){const h=e[d],m=St(h);if(void 0!==m&&m!==t.textNodeName){const e=Et(h[":@"]||{},t.attributeNamePrefix);n.push(m,e)}if(m===t.textNodeName)void 0===i?i=h[m]:i+=""+h[m];else{if(void 0===m)continue;if(h[m]){let e=vt(h[m],t,n,o);const i=At(e,t);if(0===Object.keys(e).length&&t.alwaysCreateTextNode&&(e[t.textNodeName]=""),h[":@"]?_t(e,h[":@"],o,t):1!==Object.keys(e).length||void 0===e[t.textNodeName]||t.alwaysCreateTextNode?0===Object.keys(e).length&&(t.alwaysCreateTextNode?e[t.textNodeName]="":e=""):e=e[t.textNodeName],void 0!==h[se]&&"object"==typeof e&&null!==e&&(e[se]=h[se]),void 0!==a[m]&&Object.prototype.hasOwnProperty.call(a,m))Array.isArray(a[m])||(a[m]=[a[m]]),a[m].push(e);else{const n=t.jPath?o.toString():o;t.isArray(m,n,i)?a[m]=[e]:a[m]=e}void 0!==m&&m!==t.textNodeName&&n.pop()}}}return"string"==typeof i?i.length>0&&(a[t.textNodeName]=i):void 0!==i&&(a[t.textNodeName]=i),a}function St(e){const t=Object.keys(e);for(let e=0;e<t.length;e++){const n=t[e];if(":@"!==n)return n}}function _t(e,t,n,o){if(t){const i=Object.keys(t),a=i.length;for(let d=0;d<a;d++){const a=i[d],h=a.startsWith(o.attributeNamePrefix)?a.substring(o.attributeNamePrefix.length):a,m=o.jPath?n.toString()+"."+h:n;o.isArray(a,m,!0,!0)?e[a]=[t[a]]:e[a]=t[a]}}}function At(e,t){const{textNodeName:n}=t,o=Object.keys(e).length;return 0===o||!(1!==o||!e[n]&&"boolean"!=typeof e[n]&&0!==e[n])}class Tt{constructor(e){this.externalEntities={},this.options=C(e)}parse(e,t){if("string"!=typeof e&&e.toString)e=e.toString();else if("string"!=typeof e)throw new Error("XML data is accepted in String or Bytes[] form.");if(t){!0===t&&(t={});const n=l(e,t);if(!0!==n)throw Error(`${n.err.msg}:${n.err.line}:${n.err.col}`)}const n=new it(this.options,this.externalEntities),o=n.parseXml(e);return this.options.preserveOrder||void 0===o?o:wt(o,this.options,n.matcher,n.readonlyMatcher)}addEntity(e,t){if(-1!==t.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==e.indexOf("&")||-1!==e.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '
'");if("&"===t)throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=t}static getMetaDataSymbol(){return O.getMetaDataSymbol()}}function Ct(e){return String(e).replace(/--/g,"- -").replace(/--/g,"- -").replace(/-$/,"- ")}function Pt(e){return String(e).replace(/\]\]>/g,"]]]]><![CDATA[>")}function Ot(e){return String(e).replace(/"/g,""").replace(/'/g,"'")}function $t(e,t){let n="";t.format&&t.indentBy.length>0&&(n="\n");const o=[];if(t.stopNodes&&Array.isArray(t.stopNodes))for(let e=0;e<t.stopNodes.length;e++){const n=t.stopNodes[e];"string"==typeof n?o.push(new G(n)):n instanceof G&&o.push(n)}return It(e,t,n,new R,o)}function It(e,t,n,o,i){let a="",d=!1;if(t.maxNestedTags&&o.getDepth()>t.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(e)){if(null!=e){let n=e.toString();return n=Ft(n,t),n}return""}for(let h=0;h<e.length;h++){const m=e[h],Q=Vt(m);if(void 0===Q)continue;const k=Dt(m[":@"],t);o.push(Q,k);const _=kt(o,i);if(Q===t.textNodeName){let e=m[Q];_||(e=t.tagValueProcessor(Q,e),e=Ft(e,t)),d&&(a+=n),a+=e,d=!1,o.pop();continue}if(Q===t.cdataPropName){d&&(a+=n),a+=`<![CDATA[${Pt(m[Q][0][t.textNodeName])}]]>`,d=!1,o.pop();continue}if(Q===t.commentPropName){a+=n+`\x3c!--${Ct(m[Q][0][t.textNodeName])}--\x3e`,d=!0,o.pop();continue}if("?"===Q[0]){const e=Lt(m[":@"],t,_),i="?xml"===Q?"":n;let h=m[Q][0][t.textNodeName];h=0!==h.length?" "+h:"",a+=i+`<${Q}${h}${e}?>`,d=!0,o.pop();continue}let L=n;""!==L&&(L+=t.indentBy);const U=n+`<${Q}${Lt(m[":@"],t,_)}`;let P;P=_?Mt(m[Q],t):It(m[Q],t,L,o,i),-1!==t.unpairedTags.indexOf(Q)?t.suppressUnpairedNode?a+=U+">":a+=U+"/>":P&&0!==P.length||!t.suppressEmptyNode?P&&P.endsWith(">")?a+=U+`>${P}${n}</${Q}>`:(a+=U+">",P&&""!==n&&(P.includes("/>")||P.includes("</"))?a+=n+t.indentBy+P+n:a+=P,a+=`</${Q}>`):a+=U+"/>",d=!0,o.pop()}return a}function Dt(e,t){if(!e||t.ignoreAttributes)return null;const n={};let o=!1;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i.startsWith(t.attributeNamePrefix)?i.substr(t.attributeNamePrefix.length):i]=Ot(e[i]),o=!0);return o?n:null}function Mt(e,t){if(!Array.isArray(e))return null!=e?e.toString():"";let n="";for(let o=0;o<e.length;o++){const i=e[o],a=Vt(i);if(a===t.textNodeName)n+=i[a];else if(a===t.cdataPropName)n+=i[a][0][t.textNodeName];else if(a===t.commentPropName)n+=i[a][0][t.textNodeName];else{if(a&&"?"===a[0])continue;if(a){const e=jt(i[":@"],t),o=Mt(i[a],t);o&&0!==o.length?n+=`<${a}${e}>${o}</${a}>`:n+=`<${a}${e}/>`}}}return n}function jt(e,t){let n="";if(e&&!t.ignoreAttributes)for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;let i=e[o];!0===i&&t.suppressBooleanAttributes?n+=` ${o.substr(t.attributeNamePrefix.length)}`:n+=` ${o.substr(t.attributeNamePrefix.length)}="${Ot(i)}"`}return n}function Vt(e){const t=Object.keys(e);for(let n=0;n<t.length;n++){const o=t[n];if(Object.prototype.hasOwnProperty.call(e,o)&&":@"!==o)return o}}function Lt(e,t,n){let o="";if(e&&!t.ignoreAttributes)for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let a;n?a=e[i]:(a=t.attributeValueProcessor(i,e[i]),a=Ft(a,t)),!0===a&&t.suppressBooleanAttributes?o+=` ${i.substr(t.attributeNamePrefix.length)}`:o+=` ${i.substr(t.attributeNamePrefix.length)}="${Ot(a)}"`}return o}function kt(e,t){if(!t||0===t.length)return!1;for(let n=0;n<t.length;n++)if(e.matches(t[n]))return!0;return!1}function Ft(e,t){if(e&&e.length>0&&t.processEntities)for(let n=0;n<t.entities.length;n++){const o=t.entities[n];e=e.replace(o.regex,o.val)}return e}const ne={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(e,t){return t},attributeValueProcessor:function(e,t){return t},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0};function Gt(e){if(this.options=Object.assign({},ne,e),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map((e=>"string"==typeof e&&e.startsWith("*.")?".."+e.substring(2):e))),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let e=0;e<this.options.stopNodes.length;e++){const t=this.options.stopNodes[e];"string"==typeof t?this.stopNodeExpressions.push(new G(t)):t instanceof G&&this.stopNodeExpressions.push(t)}var t;!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn="function"==typeof(t=this.options.ignoreAttributes)?t:Array.isArray(t)?e=>{for(const n of t){if("string"==typeof n&&e===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Wt),this.processTextOrObjNode=Bt,this.options.format?(this.indentate=Ut,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function Bt(e,t,n,o){const i=this.extractAttributes(e);if(o.push(t,i),this.checkStopNode(o)){const i=this.buildRawContent(e),a=this.buildAttributesForStopNode(e);return o.pop(),this.buildObjectNode(i,t,a,n)}const a=this.j2x(e,n+1,o);return o.pop(),void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,a.attrStr,n,o):this.buildObjectNode(a.val,t,a.attrStr,n)}function Ut(e){return this.options.indentBy.repeat(e)}function Wt(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}Gt.prototype.build=function(e){if(this.options.preserveOrder)return $t(e,this.options);{Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e});const t=new R;return this.j2x(e,0,t).val}},Gt.prototype.j2x=function(e,t,n){let o="",i="";if(this.options.maxNestedTags&&n.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const a=this.options.jPath?n.toString():n,d=this.checkStopNode(n);for(let h in e)if(Object.prototype.hasOwnProperty.call(e,h))if(void 0===e[h])this.isAttribute(h)&&(i+="");else if(null===e[h])this.isAttribute(h)||h===this.options.cdataPropName||h===this.options.commentPropName?i+="":"?"===h[0]?i+=this.indentate(t)+"<"+h+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+h+"/"+this.tagEndChar;else if(e[h]instanceof Date)i+=this.buildTextValNode(e[h],h,"",t,n);else if("object"!=typeof e[h]){const m=this.isAttribute(h);if(m&&!this.ignoreAttributesFn(m,a))o+=this.buildAttrPairStr(m,""+e[h],d);else if(!m)if(h===this.options.textNodeName){let t=this.options.tagValueProcessor(h,""+e[h]);i+=this.replaceEntitiesValue(t)}else{n.push(h);const o=this.checkStopNode(n);if(n.pop(),o){const n=""+e[h];i+=""===n?this.indentate(t)+"<"+h+this.closeTag(h)+this.tagEndChar:this.indentate(t)+"<"+h+">"+n+"</"+h+this.tagEndChar}else i+=this.buildTextValNode(e[h],h,"",t,n)}}else if(Array.isArray(e[h])){const o=e[h].length;let a="",d="";for(let m=0;m<o;m++){const o=e[h][m];if(void 0===o);else if(null===o)"?"===h[0]?i+=this.indentate(t)+"<"+h+"?"+this.tagEndChar:i+=this.indentate(t)+"<"+h+"/"+this.tagEndChar;else if("object"==typeof o)if(this.options.oneListGroup){n.push(h);const e=this.j2x(o,t+1,n);n.pop(),a+=e.val,this.options.attributesGroupName&&o.hasOwnProperty(this.options.attributesGroupName)&&(d+=e.attrStr)}else a+=this.processTextOrObjNode(o,h,t,n);else if(this.options.oneListGroup){let e=this.options.tagValueProcessor(h,o);e=this.replaceEntitiesValue(e),a+=e}else{n.push(h);const e=this.checkStopNode(n);if(n.pop(),e){const e=""+o;a+=""===e?this.indentate(t)+"<"+h+this.closeTag(h)+this.tagEndChar:this.indentate(t)+"<"+h+">"+e+"</"+h+this.tagEndChar}else a+=this.buildTextValNode(o,h,"",t,n)}}this.options.oneListGroup&&(a=this.buildObjectNode(a,h,d,t)),i+=a}else if(this.options.attributesGroupName&&h===this.options.attributesGroupName){const t=Object.keys(e[h]),n=t.length;for(let i=0;i<n;i++)o+=this.buildAttrPairStr(t[i],""+e[h][t[i]],d)}else i+=this.processTextOrObjNode(e[h],h,t,n);return{attrStr:o,val:i}},Gt.prototype.buildAttrPairStr=function(e,t,n){return n||(t=this.options.attributeValueProcessor(e,""+t),t=this.replaceEntitiesValue(t)),this.options.suppressBooleanAttributes&&"true"===t?" "+e:" "+e+'="'+Ot(t)+'"'},Gt.prototype.extractAttributes=function(e){if(!e||"object"!=typeof e)return null;const t={};let n=!1;if(this.options.attributesGroupName&&e[this.options.attributesGroupName]){const o=e[this.options.attributesGroupName];for(let e in o)Object.prototype.hasOwnProperty.call(o,e)&&(t[e.startsWith(this.options.attributeNamePrefix)?e.substring(this.options.attributeNamePrefix.length):e]=Ot(o[e]),n=!0)}else for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;const i=this.isAttribute(o);i&&(t[i]=Ot(e[o]),n=!0)}return n?t:null},Gt.prototype.buildRawContent=function(e){if("string"==typeof e)return e;if("object"!=typeof e||null===e)return String(e);if(void 0!==e[this.options.textNodeName])return e[this.options.textNodeName];let t="";for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;if(this.isAttribute(n))continue;if(this.options.attributesGroupName&&n===this.options.attributesGroupName)continue;const o=e[n];if(n===this.options.textNodeName)t+=o;else if(Array.isArray(o)){for(let e of o)if("string"==typeof e||"number"==typeof e)t+=`<${n}>${e}</${n}>`;else if("object"==typeof e&&null!==e){const o=this.buildRawContent(e),i=this.buildAttributesForStopNode(e);t+=""===o?`<${n}${i}/>`:`<${n}${i}>${o}</${n}>`}}else if("object"==typeof o&&null!==o){const e=this.buildRawContent(o),i=this.buildAttributesForStopNode(o);t+=""===e?`<${n}${i}/>`:`<${n}${i}>${e}</${n}>`}else t+=`<${n}>${o}</${n}>`}return t},Gt.prototype.buildAttributesForStopNode=function(e){if(!e||"object"!=typeof e)return"";let t="";if(this.options.attributesGroupName&&e[this.options.attributesGroupName]){const n=e[this.options.attributesGroupName];for(let e in n){if(!Object.prototype.hasOwnProperty.call(n,e))continue;const o=e.startsWith(this.options.attributeNamePrefix)?e.substring(this.options.attributeNamePrefix.length):e,i=n[e];!0===i&&this.options.suppressBooleanAttributes?t+=" "+o:t+=" "+o+'="'+i+'"'}}else for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;const o=this.isAttribute(n);if(o){const i=e[n];!0===i&&this.options.suppressBooleanAttributes?t+=" "+o:t+=" "+o+'="'+i+'"'}}return t},Gt.prototype.buildObjectNode=function(e,t,n,o){if(""===e)return"?"===t[0]?this.indentate(o)+"<"+t+n+"?"+this.tagEndChar:this.indentate(o)+"<"+t+n+this.closeTag(t)+this.tagEndChar;{let i="</"+t+this.tagEndChar,a="";return"?"===t[0]&&(a="?",i=""),!n&&""!==n||-1!==e.indexOf("<")?!1!==this.options.commentPropName&&t===this.options.commentPropName&&0===a.length?this.indentate(o)+`\x3c!--${e}--\x3e`+this.newLine:this.indentate(o)+"<"+t+n+a+this.tagEndChar+e+this.indentate(o)+i:this.indentate(o)+"<"+t+n+a+">"+e+i}},Gt.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`></${e}`,t},Gt.prototype.checkStopNode=function(e){if(!this.stopNodeExpressions||0===this.stopNodeExpressions.length)return!1;for(let t=0;t<this.stopNodeExpressions.length;t++)if(e.matches(this.stopNodeExpressions[t]))return!0;return!1},Gt.prototype.buildTextValNode=function(e,t,n,o,i){if(!1!==this.options.cdataPropName&&t===this.options.cdataPropName){const t=Pt(e);return this.indentate(o)+`<![CDATA[${t}]]>`+this.newLine}if(!1!==this.options.commentPropName&&t===this.options.commentPropName){const t=Ct(e);return this.indentate(o)+`\x3c!--${t}--\x3e`+this.newLine}if("?"===t[0])return this.indentate(o)+"<"+t+n+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(o)+"<"+t+n+this.closeTag(t)+this.tagEndChar:this.indentate(o)+"<"+t+n+">"+i+"</"+t+this.tagEndChar}},Gt.prototype.replaceEntitiesValue=function(e){if(e&&e.length>0&&this.options.processEntities)for(let t=0;t<this.options.entities.length;t++){const n=this.options.entities[t];e=e.replace(n.regex,n.val)}return e};const oe=Gt,ie={validate:l};e.exports=n})()},245:e=>{"use strict";e.exports=JSON.parse('{"name":"@aws-sdk/client-pricing","description":"AWS SDK for JavaScript Pricing Client for Node.js, Browser and React Native","version":"3.1048.0","scripts":{"build":"concurrently \'yarn:build:types\' \'yarn:build:es\' && yarn build:cjs","build:cjs":"node ../../scripts/compilation/inline client-pricing","build:es":"tsc -p tsconfig.es.json","build:include:deps":"yarn g:turbo run build -F=\\"$npm_package_name\\"","build:types":"tsc -p tsconfig.types.json","build:types:downlevel":"downlevel-dts dist-types dist-types/ts3.4","clean":"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo","extract:docs":"api-extractor run --local","generate:client":"node ../../scripts/generate-clients/single-service --solo pricing","test:index":"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs"},"main":"./dist-cjs/index.js","types":"./dist-types/index.d.ts","module":"./dist-es/index.js","sideEffects":false,"dependencies":{"@aws-crypto/sha256-browser":"5.2.0","@aws-crypto/sha256-js":"5.2.0","@aws-sdk/core":"^3.974.11","@aws-sdk/credential-provider-node":"^3.972.42","@aws-sdk/types":"^3.973.8","@smithy/core":"^3.24.2","@smithy/fetch-http-handler":"^5.4.2","@smithy/node-http-handler":"^4.7.2","@smithy/types":"^4.14.1","tslib":"^2.6.2"},"devDependencies":{"@tsconfig/node20":"20.1.8","@types/node":"^20.14.8","concurrently":"7.0.0","downlevel-dts":"0.10.1","premove":"4.0.0","typescript":"~5.8.3"},"engines":{"node":">=20.0.0"},"typesVersions":{"<4.5":{"dist-types/*":["dist-types/ts3.4/*"]}},"files":["dist-*/**"],"author":{"name":"AWS SDK for JavaScript Team","url":"https://aws.amazon.com/javascript/"},"license":"Apache-2.0","browser":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.browser"},"react-native":{"./dist-es/runtimeConfig":"./dist-es/runtimeConfig.native"},"homepage":"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-pricing","repository":{"type":"git","url":"https://github.com/aws/aws-sdk-js-v3.git","directory":"clients/client-pricing"}}')}};var t={};function __nccwpck_require__(n){var o=t[n];if(o!==undefined){return o.exports}var i=t[n]={exports:{}};var a=true;try{e[n].call(i.exports,i,i.exports,__nccwpck_require__);a=false}finally{if(a)delete t[n]}return i.exports}__nccwpck_require__.m=e;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(n,o){if(o&1)n=this(n);if(o&8)return n;if(typeof n==="object"&&n){if(o&4&&n.__esModule)return n;if(o&16&&typeof n.then==="function")return n}var i=Object.create(null);__nccwpck_require__.r(i);var a={};t=t||[null,e({}),e([]),e(e)];for(var d=o&2&&n;typeof d=="object"&&!~t.indexOf(d);d=e(d)){Object.getOwnPropertyNames(d).forEach((e=>a[e]=()=>n[e]))}a["default"]=()=>n;__nccwpck_require__.d(i,a);return i}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var n in t){if(__nccwpck_require__.o(t,n)&&!__nccwpck_require__.o(e,n)){Object.defineProperty(e,n,{enumerable:true,get:t[n]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce(((t,n)=>{__nccwpck_require__.f[n](e,t);return t}),[]))})();(()=>{__nccwpck_require__.u=e=>""+e+".index.js"})();(()=>{__nccwpck_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})();(()=>{__nccwpck_require__.r=e=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(e,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";(()=>{var e={792:1};var installChunk=t=>{var n=t.modules,o=t.ids,i=t.runtime;for(var a in n){if(__nccwpck_require__.o(n,a)){__nccwpck_require__.m[a]=n[a]}}if(i)i(__nccwpck_require__);for(var d=0;d<o.length;d++)e[o[d]]=1};__nccwpck_require__.f.require=(t,n)=>{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var n=__nccwpck_require__(218);module.exports=n})();
|