From 39cac40146af06502e96ff626957854948b67f69 Mon Sep 17 00:00:00 2001 From: anupamme Date: Thu, 6 Aug 2026 06:28:49 +0000 Subject: [PATCH 1/2] fix: V-002 security vulnerability Automated security fix generated by OrbisAI Security --- action.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/action.js b/action.js index 0fa665b..5116e7a 100644 --- a/action.js +++ b/action.js @@ -1,11 +1,12 @@ import {join, parse} from 'path' -import {getInput, isDebug, setFailed, setOutput, info} from '@actions/core' +import {getInput, isDebug, setFailed, setOutput, setSecret, info} from '@actions/core' import ActionPolicy from './utils/ActionPolicy' // action ;(async () => { try { const token = getInput('token', {required: true}) + setSecret(token) const enterprise = getInput('enterprise', {required: false}) || null const organization = getInput('organization', {required: false}) || null const ghApiUrl = getInput('gh_api_url', {required: false}) || 'https://api.github.com' @@ -39,24 +40,24 @@ import ActionPolicy from './utils/ActionPolicy' // load current policy if (enterprise) await ap.loadCurrentEnterpriseActionsPolicy() if (organization) await ap.loadCurrentOrganizationActionsPolicy() - info(`✅ Loaded Existing GitHub Actions allow list for ${enterprise || organization}`) + info('✅ Loaded Existing GitHub Actions allow list for ' + (enterprise || organization)) // load updated allow list from YAML await ap.loadAllowListYAML() - info(`✅ Loaded updated allow list from file ${allowListPath}`) + info('✅ Loaded updated allow list from file ' + allowListPath) // save new policy if (enterprise) await ap.updateEnterpriseActionsAllowList() if (organization) await ap.updateOrganizationActionsAllowList() - info(`✅ Updated GitHub Actions allow list for ${enterprise || organization}`) - setOutput('output', `GitHub Actions allow list updated for ${enterprise || organization}`) + info('✅ Updated GitHub Actions allow list for ' + (enterprise || organization)) + setOutput('output', 'GitHub Actions allow list updated for ' + (enterprise || organization)) } catch (error) { if (isDebug()) { // print stack trace console.error(error.stack) } - info(`❗ GitHub Actions allow list update failed with error: ${error.message}`) + info('❗ GitHub Actions allow list update failed with error: ' + error.message) setFailed(error.message) } })() From e00d5c63617d0430c7a47a575226d316766a383e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Sto=CC=88lzle?= Date: Thu, 6 Aug 2026 08:45:17 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=A6=EF=B8=8F=20Update=20`dist/`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/index.js | 4 ++-- dist/index.js.map | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/index.js b/dist/index.js index fd571a1..aa3b857 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,11 +1,11 @@ require('./sourcemap-register.js');(()=>{var __webpack_modules__={4844:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){if(s===undefined)s=r;var o=Object.getOwnPropertyDescriptor(t,r);if(!o||("get"in o?!t.__esModule:o.writable||o.configurable)){o={enumerable:true,get:function(){return t[r]}}}Object.defineProperty(e,s,o)}:function(e,t,r,s){if(s===undefined)s=r;e[s]=t[r]});var o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var n=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r))t[t.length]=r;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=ownKeys(e),n=0;ni(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 i(this,void 0,void 0,function*(){return new Promise(e=>i(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:"}class HttpClient{constructor(e,t,r){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=this._getUserAgentWithOrchestrationId(e);this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return i(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return i(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return i(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return i(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return i(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return i(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return i(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,s){return i(this,void 0,void 0,function*(){return this.request(e,t,r,s)})}getJson(e){return i(this,arguments,void 0,function*(e,t={}){t[p.Accept]=this._getExistingOrDefaultHeader(t,p.Accept,d.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t){return i(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[p.Accept]=this._getExistingOrDefaultHeader(r,p.Accept,d.ApplicationJson);r[p.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,d.ApplicationJson);const o=yield this.post(e,s,r);return this._processResponse(o,this.requestOptions)})}putJson(e,t){return i(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[p.Accept]=this._getExistingOrDefaultHeader(r,p.Accept,d.ApplicationJson);r[p.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,d.ApplicationJson);const o=yield this.put(e,s,r);return this._processResponse(o,this.requestOptions)})}patchJson(e,t){return i(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[p.Accept]=this._getExistingOrDefaultHeader(r,p.Accept,d.ApplicationJson);r[p.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,d.ApplicationJson);const o=yield this.patch(e,s,r);return this._processResponse(o,this.requestOptions)})}request(e,t,r,s){return i(this,void 0,void 0,function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let n=this._prepareRequest(e,o,s);const i=this._allowRetries&&m.includes(e)?this._maxRetries+1:1;let a=0;let A;do{A=yield this.requestRaw(n,r);if(A&&A.message&&A.message.statusCode===u.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(A)){e=t;break}}if(e){return e.handleAuthentication(this,n,r)}else{return A}}let t=this._maxRedirects;while(A.message.statusCode&&E.includes(A.message.statusCode)&&this._allowRedirects&&t>0){const i=A.message.headers["location"];if(!i){break}const a=new URL(i);if(o.protocol==="https:"&&o.protocol!==a.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 A.readBody();if(a.hostname!==o.hostname){for(const e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}n=this._prepareRequest(e,a,s);A=yield this.requestRaw(n,r);t--}if(!A.message.statusCode||!h.includes(A.message.statusCode)){return A}a+=1;if(a{function callbackForResult(e,t){if(e){s(e)}else if(!t){s(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)})})}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;function handleResult(e,t){if(!s){s=true;r(e,t)}}const o=e.httpModule.request(e.options,e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)});let n;o.on("socket",e=>{n=e});o.setTimeout(this._socketTimeout||3*6e4,()=>{if(n){n.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))});o.on("error",function(e){handleResult(e)});if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",function(){o.end()});t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const r=c.getProxyUrl(t);const s=r&&r.hostname;if(!s){return}return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){const s={};s.parsedUrl=t;const o=s.parsedUrl.protocol==="https:";s.httpModule=o?A:a;const n=o?443:80;s.options={};s.options.host=s.parsedUrl.hostname;s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):n;s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||"");s.options.method=e;s.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){s.options.headers["user-agent"]=this.userAgent}s.options.agent=this._getAgent(s.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(s.options)}}return s}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let s;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[t];if(e){s=typeof e==="number"?e.toString():e}}const o=e[t];if(o!==undefined){return typeof o==="number"?o.toString():o}if(s!==undefined){return s}return r}_getExistingOrDefaultContentTypeHeader(e,t){let r;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[p.ContentType];if(e){if(typeof e==="number"){r=String(e)}else if(Array.isArray(e)){r=e.join(", ")}else{r=e}}}const s=e[p.ContentType];if(s!==undefined){if(typeof s==="number"){return String(s)}else if(Array.isArray(s)){return s.join(", ")}else{return s}}if(r!==undefined){return r}return t}_getAgent(e){let t;const r=c.getProxyUrl(e);const s=r&&r.hostname;if(this._keepAlive&&s){t=this._proxyAgent}if(!s){t=this._agent}if(t){return t}const o=e.protocol==="https:";let n=100;if(this.requestOptions){n=this.requestOptions.maxSockets||a.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let s;const i=r.protocol==="https:";if(o){s=i?l.httpsOverHttps:l.httpsOverHttp}else{s=i?l.httpOverHttps:l.httpOverHttp}t=s(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:n};t=o?new A.Agent(e):new a.Agent(e);this._agent=t}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive){r=this._proxyAgentDispatcher}if(r){return r}const s=e.protocol==="https:";r=new g.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=r;if(s&&this._ignoreSslError){r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:false})}return r}_getUserAgentWithOrchestrationId(e){const t=e||"actions/http-client";const r=process.env["ACTIONS_ORCHESTRATION_ID"];if(r){const e=r.replace(/[^a-z0-9_.-]/gi,"_");return`${t} actions_orchestration_id/${e}`}return t}_performExponentialBackoff(e){return i(this,void 0,void 0,function*(){e=Math.min(f,e);const t=C*Math.pow(2,e);return new Promise(e=>setTimeout(()=>e(),t))})}_processResponse(e,t){return i(this,void 0,void 0,function*(){return new Promise((r,s)=>i(this,void 0,void 0,function*(){const o=e.message.statusCode||0;const n={statusCode:o,result:null,headers:{}};if(o===u.NotFound){r(n)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let i;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){i=JSON.parse(a,dateTimeDeserializer)}else{i=JSON.parse(a)}n.result=i}n.headers=e.message.headers}catch(e){}if(o>299){let e;if(i&&i.message){e=i.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=n.result;s(t)}else{r(n)}}))})}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{})},4988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.getProxyUrl=getProxyUrl;t.checkBypass=checkBypass;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){try{return new DecodedURL(r)}catch(e){if(!r.startsWith("http://")&&!r.startsWith("https://"))return new DecodedURL(`http://${r}`)}}else{return undefined}}function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let s;if(e.port){s=Number(e.port)}else if(e.protocol==="http:"){s=80}else if(e.protocol==="https:"){s=443}const o=[e.hostname.toUpperCase()];if(typeof s==="number"){o.push(`${o[0]}:${s}`)}for(const e of r.split(",").map(e=>e.trim().toUpperCase()).filter(e=>e)){if(e==="*"||o.some(t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`))){return true}}return false}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}}},6110:(e,t,r)=>{t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.storage=localstorage();t.destroy=(()=>{let e=false;return()=>{if(!e){e=true;console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}}})();t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function useColors(){if(typeof window!=="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)){return true}if(typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)){return false}let e;return typeof document!=="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=="undefined"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(t){t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let s=0;let o=0;t[0].replace(/%[a-zA-Z%]/g,e=>{if(e==="%%"){return}s++;if(e==="%c"){o=s}});t.splice(o,0,r)}t.log=console.debug||console.log||(()=>{});function save(e){try{if(e){t.storage.setItem("debug",e)}else{t.storage.removeItem("debug")}}catch(e){}}function load(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=r(897)(t);const{formatters:s}=e.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},897:(e,t,r)=>{function setup(e){createDebug.debug=createDebug;createDebug.default=createDebug;createDebug.coerce=coerce;createDebug.disable=disable;createDebug.enable=enable;createDebug.enabled=enabled;createDebug.humanize=r(744);createDebug.destroy=destroy;Object.keys(e).forEach(t=>{createDebug[t]=e[t]});createDebug.names=[];createDebug.skips=[];createDebug.formatters={};function selectColor(e){let t=0;for(let r=0;r{if(t==="%%"){return"%"}n++;const o=createDebug.formatters[s];if(typeof o==="function"){const s=e[n];t=o.call(r,s);e.splice(n,1);n--}return t});createDebug.formatArgs.call(r,e);const i=r.log||createDebug.log;i.apply(r,e)}debug.namespace=e;debug.useColors=createDebug.useColors();debug.color=createDebug.selectColor(e);debug.extend=extend;debug.destroy=createDebug.destroy;Object.defineProperty(debug,"enabled",{enumerable:true,configurable:false,get:()=>{if(r!==null){return r}if(s!==createDebug.namespaces){s=createDebug.namespaces;o=createDebug.enabled(e)}return o},set:e=>{r=e}});if(typeof createDebug.init==="function"){createDebug.init(debug)}return debug}function extend(e,t){const r=createDebug(this.namespace+(typeof t==="undefined"?":":t)+e);r.log=this.log;return r}function enable(e){createDebug.save(e);createDebug.namespaces=e;createDebug.names=[];createDebug.skips=[];const t=(typeof e==="string"?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of t){if(e[0]==="-"){createDebug.skips.push(e.slice(1))}else{createDebug.names.push(e)}}}function matchesTemplate(e,t){let r=0;let s=0;let o=-1;let n=0;while(r"-"+e)].join(",");createDebug.enable("");return e}function enabled(e){for(const t of createDebug.skips){if(matchesTemplate(e,t)){return false}}for(const t of createDebug.names){if(matchesTemplate(e,t)){return true}}return false}function coerce(e){if(e instanceof Error){return e.stack||e.message}return e}function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}createDebug.enable(createDebug.load());return createDebug}e.exports=setup},2830:(e,t,r)=>{if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=r(6110)}else{e.exports=r(5108)}},5108:(e,t,r)=>{const s=r(2018);const o=r(9023);t.init=init;t.log=log;t.formatArgs=formatArgs;t.save=save;t.load=load;t.useColors=useColors;t.destroy=o.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");t.colors=[6,2,3,4,5,1];try{const e=r(75);if(e&&(e.stderr||e).level>=2){t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}t.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{const r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase());let s=process.env[t];if(/^(yes|on|true|enabled)$/i.test(s)){s=true}else if(/^(no|off|false|disabled)$/i.test(s)){s=false}else if(s==="null"){s=null}else{s=Number(s)}e[r]=s;return e},{});function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):s.isatty(process.stderr.fd)}function formatArgs(t){const{namespace:r,useColors:s}=this;if(s){const s=this.color;const o="[3"+(s<8?s:"8;5;"+s);const n=` ${o};1m${r} `;t[0]=n+t[0].split("\n").join("\n"+n);t.push(o+"m+"+e.exports.humanize(this.diff)+"")}else{t[0]=getDate()+r+" "+t[0]}}function getDate(){if(t.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(...e){return process.stderr.write(o.formatWithOptions(t.inspectOpts,...e)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};const r=Object.keys(t.inspectOpts);for(let s=0;se.trim()).join(" ")};n.O=function(e){this.inspectOpts.colors=this.useColors;return o.inspect(e,this.inspectOpts)}},744:e=>{var t=1e3;var r=t*60;var s=r*60;var o=s*24;var n=o*7;var i=o*365.25;e.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0){return parse(e)}else if(r==="number"&&isFinite(e)){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!a){return}var A=parseFloat(a[1]);var c=(a[2]||"ms").toLowerCase();switch(c){case"years":case"year":case"yrs":case"yr":case"y":return A*i;case"weeks":case"week":case"w":return A*n;case"days":case"day":case"d":return A*o;case"hours":case"hour":case"hrs":case"hr":case"h":return A*s;case"minutes":case"minute":case"mins":case"min":case"m":return A*r;case"seconds":case"second":case"secs":case"sec":case"s":return A*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return A;default:return undefined}}function fmtShort(e){var n=Math.abs(e);if(n>=o){return Math.round(e/o)+"d"}if(n>=s){return Math.round(e/s)+"h"}if(n>=r){return Math.round(e/r)+"m"}if(n>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){var n=Math.abs(e);if(n>=o){return plural(e,n,o,"day")}if(n>=s){return plural(e,n,s,"hour")}if(n>=r){return plural(e,n,r,"minute")}if(n>=t){return plural(e,n,t,"second")}return e+" ms"}function plural(e,t,r,s){var o=t>=r*1.5;return Math.round(e/r)+" "+s+(o?"s":"")}},770:(e,t,r)=>{e.exports=r(218)},218:(e,t,r)=>{"use strict";var s=r(9278);var o=r(4756);var n=r(8611);var i=r(5692);var a=r(4434);var A=r(2613);var c=r(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=n.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=n.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.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||n.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",function onFree(e,r,s,o){var n=toOptions(r,s,o);for(var i=0,a=t.requests.length;i=this.maxSockets){o.requests.push(n);return}o.createSocket(n,function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){o.emit("free",t,n)}function onCloseOrRemove(e){o.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}})};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var r=this;var s={};r.sockets.push(s);var o=mergeOptions({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){o.localAddress=e.localAddress}if(o.proxyAuth){o.headers=o.headers||{};o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")}l("making CONNECT request");var n=r.request(o);n.useChunkedEncodingByDefault=false;n.once("response",onResponse);n.once("upgrade",onUpgrade);n.once("connect",onConnect);n.once("error",onError);n.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,r){process.nextTick(function(){onConnect(e,t,r)})}function onConnect(o,i,a){n.removeAllListeners();i.removeAllListeners();if(o.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",o.statusCode);i.destroy();var A=new Error("tunneling socket could not be established, "+"statusCode="+o.statusCode);A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}if(a.length>0){l("got illegal response body from proxy");i.destroy();var A=new Error("got illegal response body from proxy");A.code="ECONNRESET";e.request.emit("error",A);r.removeSocket(s);return}l("tunneling connection has established");r.sockets[r.sockets.indexOf(s)]=i;return t(i)}function onError(t){n.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var o=new Error("tunneling socket could not be established, "+"cause="+t.message);o.code="ECONNRESET";e.request.emit("error",o);r.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var r=this.requests.shift();if(r){this.createSocket(r,function(e){r.request.onSocket(e)})}};function createSecureSocket(e,t){var r=this;TunnelingAgent.prototype.createSocket.call(r,e,function(s){var n=e.request.getHeader("host");var i=mergeOptions({},r.options,{socket:s,servername:n?n.replace(/:.*$/,""):e.host});var a=o.connect(0,i);r.sockets[r.sockets.indexOf(s)]=a;t(a)})}function toOptions(e,t,r){if(typeof e==="string"){return{host:e,port:t,localAddress:r}}return e}function mergeOptions(e){for(var t=1,r=arguments.length;t{"use strict";const s=r(3701);const o=r(883);const n=r(628);const i=r(837);const a=r(7405);const A=r(6672);const c=r(3137);const l=r(50);const g=r(8707);const u=r(3440);const{InvalidArgumentError:p}=g;const d=r(6615);const E=r(9136);const h=r(7365);const m=r(7501);const f=r(4004);const C=r(2429);const I=r(7816);const{getGlobalDispatcher:B,setGlobalDispatcher:Q}=r(2581);const T=r(8155);const w=r(8754);const y=r(5092);Object.assign(o.prototype,d);e.exports.Dispatcher=o;e.exports.Client=s;e.exports.Pool=n;e.exports.BalancedPool=i;e.exports.Agent=a;e.exports.ProxyAgent=A;e.exports.EnvHttpProxyAgent=c;e.exports.RetryAgent=l;e.exports.RetryHandler=I;e.exports.DecoratorHandler=T;e.exports.RedirectHandler=w;e.exports.createRedirectInterceptor=y;e.exports.interceptors={redirect:r(1514),retry:r(2026),dump:r(8060),dns:r(379)};e.exports.buildConnector=E;e.exports.errors=g;e.exports.util={parseHeaders:u.parseHeaders,headerNameToString:u.headerNameToString};function makeDispatcher(e){return(t,r,s)=>{if(typeof r==="function"){s=r;r=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new p("invalid url")}if(r!=null&&typeof r!=="object"){throw new p("invalid opts")}if(r&&r.path!=null){if(typeof r.path!=="string"){throw new p("invalid opts.path")}let e=r.path;if(!r.path.startsWith("/")){e=`/${e}`}t=new URL(u.parseOrigin(t).origin+e)}else{if(!r){r=typeof t==="object"?t:{}}t=u.parseURL(t)}const{agent:o,dispatcher:n=B()}=r;if(o){throw new p("unsupported opts.agent. Did you mean opts.client?")}return e.call(n,{...r,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:r.method||(r.body?"PUT":"GET")},s)}}e.exports.setGlobalDispatcher=Q;e.exports.getGlobalDispatcher=B;const b=r(4398).fetch;e.exports.fetch=async function fetch(e,t=undefined){try{return await b(e,t)}catch(e){if(e&&typeof e==="object"){Error.captureStackTrace(e)}throw e}};e.exports.Headers=r(660).Headers;e.exports.Response=r(9051).Response;e.exports.Request=r(9967).Request;e.exports.FormData=r(5910).FormData;e.exports.File=globalThis.File??r(4573).File;e.exports.FileReader=r(8355).FileReader;const{setGlobalOrigin:k,getGlobalOrigin:S}=r(1059);e.exports.setGlobalOrigin=k;e.exports.getGlobalOrigin=S;const{CacheStorage:_}=r(3245);const{kConstruct:R}=r(109);e.exports.caches=new _(R);const{deleteCookie:v,getCookies:F,getSetCookies:D,setCookie:G}=r(9061);e.exports.deleteCookie=v;e.exports.getCookies=F;e.exports.getSetCookies=D;e.exports.setCookie=G;const{parseMIMEType:P,serializeAMimeType:U}=r(1900);e.exports.parseMIMEType=P;e.exports.serializeAMimeType=U;const{CloseEvent:L,ErrorEvent:O,MessageEvent:M}=r(5188);e.exports.WebSocket=r(3726).WebSocket;e.exports.CloseEvent=L;e.exports.ErrorEvent=O;e.exports.MessageEvent=M;e.exports.request=makeDispatcher(d.request);e.exports.stream=makeDispatcher(d.stream);e.exports.pipeline=makeDispatcher(d.pipeline);e.exports.connect=makeDispatcher(d.connect);e.exports.upgrade=makeDispatcher(d.upgrade);e.exports.MockClient=h;e.exports.MockPool=f;e.exports.MockAgent=m;e.exports.mockErrors=C;const{EventSource:N}=r(1238);e.exports.EventSource=N},158:(e,t,r)=>{const{addAbortListener:s}=r(3440);const{RequestAbortedError:o}=r(8707);const n=Symbol("kListener");const i=Symbol("kSignal");function abort(e){if(e.abort){e.abort(e[i]?.reason)}else{e.reason=e[i]?.reason??new o}removeSignal(e)}function addSignal(e,t){e.reason=null;e[i]=null;e[n]=null;if(!t){return}if(t.aborted){abort(e);return}e[i]=t;e[n]=()=>{abort(e)};s(e[i],e[n])}function removeSignal(e){if(!e[i]){return}if("removeEventListener"in e[i]){e[i].removeEventListener("abort",e[n])}else{e[i].removeListener("abort",e[n])}e[i]=null;e[n]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},2279:(e,t,r)=>{"use strict";const s=r(4589);const{AsyncResource:o}=r(6698);const{InvalidArgumentError:n,SocketError:i}=r(8707);const a=r(3440);const{addSignal:A,removeSignal:c}=r(158);class ConnectHandler extends o{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}if(typeof t!=="function"){throw new n("invalid callback")}const{signal:r,opaque:s,responseHeaders:o}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=s||null;this.responseHeaders=o||null;this.callback=t;this.abort=null;A(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}s(this.callback);this.abort=e;this.context=t}onHeaders(){throw new i("bad connect",null)}onUpgrade(e,t,r){const{callback:s,opaque:o,context:n}=this;c(this);this.callback=null;let i=t;if(i!=null){i=this.responseHeaders==="raw"?a.parseRawHeaders(t):a.parseHeaders(t)}this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:o,context:n})}onError(e){const{callback:t,opaque:r}=this;c(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})})}}}function connect(e,t){if(t===undefined){return new Promise((t,r)=>{connect.call(this,e,(e,s)=>e?r(e):t(s))})}try{const r=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}e.exports=connect},6862:(e,t,r)=>{"use strict";const{Readable:s,Duplex:o,PassThrough:n}=r(7075);const{InvalidArgumentError:i,InvalidReturnValueError:a,RequestAbortedError:A}=r(8707);const c=r(3440);const{AsyncResource:l}=r(6698);const{addSignal:g,removeSignal:u}=r(158);const p=r(4589);const d=Symbol("resume");class PipelineRequest extends s{constructor(){super({autoDestroy:true});this[d]=null}_read(){const{[d]:e}=this;if(e){this[d]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends s{constructor(e){super({autoDestroy:true});this[d]=e}_read(){this[d]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new A}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid handler")}const{signal:r,method:s,opaque:n,onInfo:a,responseHeaders:l}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new i("invalid method")}if(a&&typeof a!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=n||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=a||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new o({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e?.resume){e.resume()}},write:(e,t,r)=>{const{req:s}=this;if(s.push(e,t)||s._readableState.destroyed){r()}else{s[d]=r}},destroy:(e,t)=>{const{body:r,req:s,res:o,ret:n,abort:i}=this;if(!e&&!n._readableState.endEmitted){e=new A}if(i&&e){i()}c.destroy(r,e);c.destroy(s,e);c.destroy(o,e);u(this);t(e)}}).on("prefinish",()=>{const{req:e}=this;e.push(null)});this.res=null;g(this,r)}onConnect(e,t){const{ret:r,res:s}=this;if(this.reason){e(this.reason);return}p(!s,"pipeline cannot be retried");p(!r.destroyed);this.abort=e;this.context=t}onHeaders(e,t,r){const{opaque:s,handler:o,context:n}=this;if(e<200){if(this.onInfo){const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:r})}return}this.res=new PipelineResponse(r);let i;try{this.handler=null;const r=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);i=this.runInAsyncScope(o,null,{statusCode:e,headers:r,opaque:s,body:this.res,context:n})}catch(e){this.res.on("error",c.nop);throw e}if(!i||typeof i.on!=="function"){throw new a("expected Readable")}i.on("data",e=>{const{ret:t,body:r}=this;if(!t.push(e)&&r.pause){r.pause()}}).on("error",e=>{const{ret:t}=this;c.destroy(t,e)}).on("end",()=>{const{ret:e}=this;e.push(null)}).on("close",()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new A)}});this.body=i}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;c.destroy(t,e)}}function pipeline(e,t){try{const r=new PipelineHandler(e,t);this.dispatch({...e,body:r.req},r);return r.ret}catch(e){return(new n).destroy(e)}}e.exports=pipeline},4043:(e,t,r)=>{"use strict";const s=r(4589);const{Readable:o}=r(9927);const{InvalidArgumentError:n,RequestAbortedError:i}=r(8707);const a=r(3440);const{getResolveErrorBodyCallback:A}=r(7655);const{AsyncResource:c}=r(6698);class RequestHandler extends c{constructor(e,t){if(!e||typeof e!=="object"){throw new n("invalid opts")}const{signal:r,method:s,opaque:o,body:A,onInfo:c,responseHeaders:l,throwOnError:g,highWaterMark:u}=e;try{if(typeof t!=="function"){throw new n("invalid callback")}if(u&&(typeof u!=="number"||u<0)){throw new n("invalid highWaterMark")}if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new n("invalid method")}if(c&&typeof c!=="function"){throw new n("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(a.isStream(A)){a.destroy(A.on("error",a.nop),e)}throw e}this.method=s;this.responseHeaders=l||null;this.opaque=o||null;this.callback=t;this.res=null;this.abort=null;this.body=A;this.trailers={};this.context=null;this.onInfo=c||null;this.throwOnError=g;this.highWaterMark=u;this.signal=r;this.reason=null;this.removeAbortListener=null;if(a.isStream(A)){A.on("error",e=>{this.onError(e)})}if(this.signal){if(this.signal.aborted){this.reason=this.signal.reason??new i}else{this.removeAbortListener=a.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new i;if(this.res){a.destroy(this.res.on("error",a.nop),this.reason)}else if(this.abort){this.abort(this.reason)}if(this.removeAbortListener){this.res?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}})}}}onConnect(e,t){if(this.reason){e(this.reason);return}s(this.callback);this.abort=e;this.context=t}onHeaders(e,t,r,s){const{callback:n,opaque:i,abort:c,context:l,responseHeaders:g,highWaterMark:u}=this;const p=g==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:p})}return}const d=g==="raw"?a.parseHeaders(t):p;const E=d["content-type"];const h=d["content-length"];const m=new o({resume:r,abort:c,contentType:E,contentLength:this.method!=="HEAD"&&h?Number(h):null,highWaterMark:u});if(this.removeAbortListener){m.on("close",this.removeAbortListener)}this.callback=null;this.res=m;if(n!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(A,null,{callback:n,body:m,contentType:E,statusCode:e,statusMessage:s,headers:p})}else{this.runInAsyncScope(n,null,null,{statusCode:e,headers:p,trailers:this.trailers,opaque:i,body:m,context:l})}}}onData(e){return this.res.push(e)}onComplete(e){a.parseHeaders(e,this.trailers);this.res.push(null)}onError(e){const{res:t,callback:r,body:s,opaque:o}=this;if(r){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:o})})}if(t){this.res=null;queueMicrotask(()=>{a.destroy(t,e)})}if(s){this.body=null;a.destroy(s,e)}if(this.removeAbortListener){t?.off("close",this.removeAbortListener);this.removeAbortListener();this.removeAbortListener=null}}}function request(e,t){if(t===undefined){return new Promise((t,r)=>{request.call(this,e,(e,s)=>e?r(e):t(s))})}try{this.dispatch(e,new RequestHandler(e,t))}catch(r){if(typeof t!=="function"){throw r}const s=e?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}e.exports=request;e.exports.RequestHandler=RequestHandler},3560:(e,t,r)=>{"use strict";const s=r(4589);const{finished:o,PassThrough:n}=r(7075);const{InvalidArgumentError:i,InvalidReturnValueError:a}=r(8707);const A=r(3440);const{getResolveErrorBodyCallback:c}=r(7655);const{AsyncResource:l}=r(6698);const{addSignal:g,removeSignal:u}=r(158);class StreamHandler extends l{constructor(e,t,r){if(!e||typeof e!=="object"){throw new i("invalid opts")}const{signal:s,method:o,opaque:n,body:a,onInfo:c,responseHeaders:l,throwOnError:u}=e;try{if(typeof r!=="function"){throw new i("invalid callback")}if(typeof t!=="function"){throw new i("invalid factory")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(o==="CONNECT"){throw new i("invalid method")}if(c&&typeof c!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(A.isStream(a)){A.destroy(a.on("error",A.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=n||null;this.factory=t;this.callback=r;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=a;this.onInfo=c||null;this.throwOnError=u||false;if(A.isStream(a)){a.on("error",e=>{this.onError(e)})}g(this,s)}onConnect(e,t){if(this.reason){e(this.reason);return}s(this.callback);this.abort=e;this.context=t}onHeaders(e,t,r,s){const{factory:i,opaque:l,context:g,callback:u,responseHeaders:p}=this;const d=p==="raw"?A.parseRawHeaders(t):A.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:d})}return}this.factory=null;let E;if(this.throwOnError&&e>=400){const r=p==="raw"?A.parseHeaders(t):d;const o=r["content-type"];E=new n;this.callback=null;this.runInAsyncScope(c,null,{callback:u,body:E,contentType:o,statusCode:e,statusMessage:s,headers:d})}else{if(i===null){return}E=this.runInAsyncScope(i,null,{statusCode:e,headers:d,opaque:l,context:g});if(!E||typeof E.write!=="function"||typeof E.end!=="function"||typeof E.on!=="function"){throw new a("expected Writable")}o(E,{readable:false},e=>{const{callback:t,res:r,opaque:s,trailers:o,abort:n}=this;this.res=null;if(e||!r.readable){A.destroy(r,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:s,trailers:o});if(e){n()}})}E.on("drain",r);this.res=E;const h=E.writableNeedDrain!==undefined?E.writableNeedDrain:E._writableState?.needDrain;return h!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;u(this);if(!t){return}this.trailers=A.parseHeaders(e);t.end()}onError(e){const{res:t,callback:r,opaque:s,body:o}=this;u(this);this.factory=null;if(t){this.res=null;A.destroy(t,e)}else if(r){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})}if(o){this.body=null;A.destroy(o,e)}}}function stream(e,t,r){if(r===undefined){return new Promise((r,s)=>{stream.call(this,e,t,(e,t)=>e?s(e):r(t))})}try{this.dispatch(e,new StreamHandler(e,t,r))}catch(t){if(typeof r!=="function"){throw t}const s=e?.opaque;queueMicrotask(()=>r(t,{opaque:s}))}}e.exports=stream},1882:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,SocketError:o}=r(8707);const{AsyncResource:n}=r(6698);const i=r(3440);const{addSignal:a,removeSignal:A}=r(158);const c=r(4589);class UpgradeHandler extends n{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:r,opaque:o,responseHeaders:n}=e;if(r&&typeof r.on!=="function"&&typeof r.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=n||null;this.opaque=o||null;this.callback=t;this.abort=null;this.context=null;a(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}c(this.callback);this.abort=e;this.context=null}onHeaders(){throw new o("bad upgrade",null)}onUpgrade(e,t,r){c(e===101);const{callback:s,opaque:o,context:n}=this;A(this);this.callback=null;const a=this.responseHeaders==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:a,socket:r,opaque:o,context:n})}onError(e){const{callback:t,opaque:r}=this;A(this);if(t){this.callback=null;queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})})}}}function upgrade(e,t){if(t===undefined){return new Promise((t,r)=>{upgrade.call(this,e,(e,s)=>e?r(e):t(s))})}try{const r=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},r)}catch(r){if(typeof t!=="function"){throw r}const s=e?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}e.exports=upgrade},6615:(e,t,r)=>{"use strict";e.exports.request=r(4043);e.exports.stream=r(3560);e.exports.pipeline=r(6862);e.exports.upgrade=r(1882);e.exports.connect=r(2279)},9927:(e,t,r)=>{"use strict";const s=r(4589);const{Readable:o}=r(7075);const{RequestAbortedError:n,NotSupportedError:i,InvalidArgumentError:a,AbortError:A}=r(8707);const c=r(3440);const{ReadableStreamFrom:l}=r(3440);const g=Symbol("kConsume");const u=Symbol("kReading");const p=Symbol("kBody");const d=Symbol("kAbort");const E=Symbol("kContentType");const h=Symbol("kContentLength");const noop=()=>{};class BodyReadable extends o{constructor({resume:e,abort:t,contentType:r="",contentLength:s,highWaterMark:o=64*1024}){super({autoDestroy:true,read:e,highWaterMark:o});this._readableState.dataEmitted=false;this[d]=t;this[g]=null;this[p]=null;this[E]=r;this[h]=s;this[u]=false}destroy(e){if(!e&&!this._readableState.endEmitted){e=new n}if(e){this[d]()}return super.destroy(e)}_destroy(e,t){if(!this[u]){setImmediate(()=>{t(e)})}else{t(e)}}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 r=super.off(e,...t);if(e==="data"||e==="readable"){this[u]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return r}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[g]&&e!==null){consumePush(this[g],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 bytes(){return consume(this,"bytes")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new i}get bodyUsed(){return c.isDisturbed(this)}get body(){if(!this[p]){this[p]=l(this);if(this[g]){this[p].getReader();s(this[p].locked)}}return this[p]}async dump(e){let t=Number.isFinite(e?.limit)?e.limit:128*1024;const r=e?.signal;if(r!=null&&(typeof r!=="object"||!("aborted"in r))){throw new a("signal must be an AbortSignal")}r?.throwIfAborted();if(this._readableState.closeEmitted){return null}return await new Promise((e,s)=>{if(this[h]>t){this.destroy(new A)}const onAbort=()=>{this.destroy(r.reason??new A)};r?.addEventListener("abort",onAbort);this.on("close",function(){r?.removeEventListener("abort",onAbort);if(r?.aborted){s(r.reason??new A)}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[g]}function isUnusable(e){return c.isDisturbed(e)||isLocked(e)}async function consume(e,t){s(!e[g]);return new Promise((r,s)=>{if(isUnusable(e)){const t=e._readableState;if(t.destroyed&&t.closeEmitted===false){e.on("error",e=>{s(e)}).on("close",()=>{s(new TypeError("unusable"))})}else{s(t.errored??new TypeError("unusable"))}}else{queueMicrotask(()=>{e[g]={type:t,stream:e,resolve:r,reject:s,length:0,body:[]};e.on("error",function(e){consumeFinish(this[g],e)}).on("close",function(){if(this[g].body!==null){consumeFinish(this[g],new n)}});consumeStart(e[g])})}})}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;if(t.bufferIndex){const r=t.bufferIndex;const s=t.buffer.length;for(let o=r;o2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return r.utf8Slice(o,s)}function chunksConcat(e,t){if(e.length===0||t===0){return new Uint8Array(0)}if(e.length===1){return new Uint8Array(e[0])}const r=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer);let s=0;for(let t=0;t{const s=r(4589);const{ResponseStatusCodeError:o}=r(8707);const{chunksDecode:n}=r(9927);const i=128*1024;async function getResolveErrorBodyCallback({callback:e,body:t,contentType:r,statusCode:a,statusMessage:A,headers:c}){s(t);let l=[];let g=0;try{for await(const e of t){l.push(e);g+=e.length;if(g>i){l=[];g=0;break}}}catch{l=[];g=0}const u=`Response status code ${a}${A?`: ${A}`:""}`;if(a===204||!r||!g){queueMicrotask(()=>e(new o(u,a,c)));return}const p=Error.stackTraceLimit;Error.stackTraceLimit=0;let d;try{if(isContentTypeApplicationJson(r)){d=JSON.parse(n(l,g))}else if(isContentTypeText(r)){d=n(l,g)}}catch{}finally{Error.stackTraceLimit=p}queueMicrotask(()=>e(new o(u,a,c,d)))}const isContentTypeApplicationJson=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n";const isContentTypeText=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback,isContentTypeApplicationJson:isContentTypeApplicationJson,isContentTypeText:isContentTypeText}},9136:(e,t,r)=>{"use strict";const s=r(7030);const o=r(4589);const n=r(3440);const{InvalidArgumentError:i,ConnectTimeoutError:a}=r(8707);const A=r(6603);function noop(){}let c;let l;if(global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)){l=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry(e=>{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:a,timeout:A,session:u,...p}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxCachedSessions must be a positive integer or zero")}const d={path:a,...p};const E=new l(t==null?100:t);A=A==null?1e4:A;e=e!=null?e:false;return function connect({hostname:t,host:i,protocol:a,port:l,servername:p,localAddress:h,httpSocket:m},f){let C;if(a==="https:"){if(!c){c=r(1692)}p=p||d.servername||n.getServerName(i)||null;const s=p||t;o(s);const a=u||E.get(s)||null;l=l||443;C=c.connect({highWaterMark:16384,...d,servername:p,session:a,localAddress:h,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:m,port:l,host:t});C.on("session",function(e){E.set(s,e)})}else{o(!m,"httpSocket can only be sent on TLS update");l=l||80;C=s.connect({highWaterMark:64*1024,...d,localAddress:h,port:l,host:t})}if(d.keepAlive==null||d.keepAlive){const e=d.keepAliveInitialDelay===undefined?6e4:d.keepAliveInitialDelay;C.setKeepAlive(true,e)}const I=g(new WeakRef(C),{timeout:A,hostname:t,port:l});C.setNoDelay(true).once(a==="https:"?"secureConnect":"connect",function(){queueMicrotask(I);if(f){const e=f;f=null;e(null,this)}}).on("error",function(e){queueMicrotask(I);if(f){const t=f;f=null;t(e)}});return C}}const g=process.platform==="win32"?(e,t)=>{if(!t.timeout){return noop}let r=null;let s=null;const o=A.setFastTimeout(()=>{r=setImmediate(()=>{s=setImmediate(()=>onConnectTimeout(e.deref(),t))})},t.timeout);return()=>{A.clearFastTimeout(o);clearImmediate(r);clearImmediate(s)}}:(e,t)=>{if(!t.timeout){return noop}let r=null;const s=A.setFastTimeout(()=>{r=setImmediate(()=>{onConnectTimeout(e.deref(),t)})},t.timeout);return()=>{A.clearFastTimeout(s);clearImmediate(r)}};function onConnectTimeout(e,t){if(e==null){return}let r="Connect Timeout Error";if(Array.isArray(e.autoSelectFamilyAttemptedAddresses)){r+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`}else{r+=` (attempted address: ${t.hostname}:${t.port},`}r+=` timeout: ${t.timeout}ms)`;n.destroy(e,new a(r))}e.exports=buildConnector},735:e=>{"use strict";const t={};const r=["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{"use strict";const s=r(3053);const o=r(7975);const n=o.debuglog("undici");const i=o.debuglog("fetch");const a=o.debuglog("websocket");let A=false;const c={beforeConnect:s.channel("undici:client:beforeConnect"),connected:s.channel("undici:client:connected"),connectError:s.channel("undici:client:connectError"),sendHeaders:s.channel("undici:client:sendHeaders"),create:s.channel("undici:request:create"),bodySent:s.channel("undici:request:bodySent"),headers:s.channel("undici:request:headers"),trailers:s.channel("undici:request:trailers"),error:s.channel("undici:request:error"),open:s.channel("undici:websocket:open"),close:s.channel("undici:websocket:close"),socketError:s.channel("undici:websocket:socket_error"),ping:s.channel("undici:websocket:ping"),pong:s.channel("undici:websocket:pong")};if(n.enabled||i.enabled){const e=i.enabled?i:n;s.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n}}=t;e("connecting to %s using %s%s",`${n}${o?`:${o}`:""}`,s,r)});s.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n}}=t;e("connected to %s using %s%s",`${n}${o?`:${o}`:""}`,s,r)});s.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n},error:i}=t;e("connection to %s using %s%s errored - %s",`${n}${o?`:${o}`:""}`,s,r,i.message)});s.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:r,path:s,origin:o}}=t;e("sending request to %s %s/%s",r,o,s)});s.channel("undici:request:headers").subscribe(t=>{const{request:{method:r,path:s,origin:o},response:{statusCode:n}}=t;e("received response to %s %s/%s - HTTP %d",r,o,s,n)});s.channel("undici:request:trailers").subscribe(t=>{const{request:{method:r,path:s,origin:o}}=t;e("trailers received from %s %s/%s",r,o,s)});s.channel("undici:request:error").subscribe(t=>{const{request:{method:r,path:s,origin:o},error:n}=t;e("request to %s %s/%s errored - %s",r,o,s,n.message)});A=true}if(a.enabled){if(!A){const e=n.enabled?n:a;s.channel("undici:client:beforeConnect").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n}}=t;e("connecting to %s%s using %s%s",n,o?`:${o}`:"",s,r)});s.channel("undici:client:connected").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n}}=t;e("connected to %s%s using %s%s",n,o?`:${o}`:"",s,r)});s.channel("undici:client:connectError").subscribe(t=>{const{connectParams:{version:r,protocol:s,port:o,host:n},error:i}=t;e("connection to %s%s using %s%s errored - %s",n,o?`:${o}`:"",s,r,i.message)});s.channel("undici:client:sendHeaders").subscribe(t=>{const{request:{method:r,path:s,origin:o}}=t;e("sending request to %s %s/%s",r,o,s)})}s.channel("undici:websocket:open").subscribe(e=>{const{address:{address:t,port:r}}=e;a("connection opened %s%s",t,r?`:${r}`:"")});s.channel("undici:websocket:close").subscribe(e=>{const{websocket:t,code:r,reason:s}=e;a("closed connection to %s - %s %s",t.url,r,s)});s.channel("undici:websocket:socket_error").subscribe(e=>{a("connection errored - %s",e.message)});s.channel("undici:websocket:ping").subscribe(e=>{a("ping received")});s.channel("undici:websocket:pong").subscribe(e=>{a("pong received")})}e.exports={channels:c}},8707:e=>{"use strict";const t=Symbol.for("undici.error.UND_ERR");class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[t]===true}[t]=true}const r=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class ConnectTimeoutError extends UndiciError{constructor(e){super(e);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[r]===true}[r]=true}const s=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class HeadersTimeoutError extends UndiciError{constructor(e){super(e);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[s]===true}[s]=true}const o=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class HeadersOverflowError extends UndiciError{constructor(e){super(e);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[o]===true}[o]=true}const n=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class BodyTimeoutError extends UndiciError{constructor(e){super(e);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[n]===true}[n]=true}const i=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");class ResponseStatusCodeError extends UndiciError{constructor(e,t,r,s){super(e);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=s;this.status=t;this.statusCode=t;this.headers=r}static[Symbol.hasInstance](e){return e&&e[i]===true}[i]=true}const a=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class InvalidArgumentError extends UndiciError{constructor(e){super(e);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[a]===true}[a]=true}const A=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class InvalidReturnValueError extends UndiciError{constructor(e){super(e);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[A]===true}[A]=true}const c=Symbol.for("undici.error.UND_ERR_ABORT");class AbortError extends UndiciError{constructor(e){super(e);this.name="AbortError";this.message=e||"The operation was aborted";this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[c]===true}[c]=true}const l=Symbol.for("undici.error.UND_ERR_ABORTED");class RequestAbortedError extends AbortError{constructor(e){super(e);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[l]===true}[l]=true}const g=Symbol.for("undici.error.UND_ERR_INFO");class InformationalError extends UndiciError{constructor(e){super(e);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[g]===true}[g]=true}const u=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[u]===true}[u]=true}const p=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[p]===true}[p]=true}const d=Symbol.for("undici.error.UND_ERR_DESTROYED");class ClientDestroyedError extends UndiciError{constructor(e){super(e);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[d]===true}[d]=true}const E=Symbol.for("undici.error.UND_ERR_CLOSED");class ClientClosedError extends UndiciError{constructor(e){super(e);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[E]===true}[E]=true}const h=Symbol.for("undici.error.UND_ERR_SOCKET");class SocketError extends UndiciError{constructor(e,t){super(e);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}static[Symbol.hasInstance](e){return e&&e[h]===true}[h]=true}const m=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class NotSupportedError extends UndiciError{constructor(e){super(e);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[m]===true}[m]=true}const f=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[f]===true}[f]=true}const C=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class HTTPParserError extends Error{constructor(e,t,r){super(e);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=r?r.toString():undefined}static[Symbol.hasInstance](e){return e&&e[C]===true}[C]=true}const I=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[I]===true}[I]=true}const B=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class RequestRetryError extends UndiciError{constructor(e,t,{headers:r,data:s}){super(e);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=s;this.headers=r}static[Symbol.hasInstance](e){return e&&e[B]===true}[B]=true}const Q=Symbol.for("undici.error.UND_ERR_RESPONSE");class ResponseError extends UndiciError{constructor(e,t,{headers:r,data:s}){super(e);this.name="ResponseError";this.message=e||"Response error";this.code="UND_ERR_RESPONSE";this.statusCode=t;this.data=s;this.headers=r}static[Symbol.hasInstance](e){return e&&e[Q]===true}[Q]=true}const T=Symbol.for("undici.error.UND_ERR_PRX_TLS");class SecureProxyConnectionError extends UndiciError{constructor(e,t,r){super(t,{cause:e,...r??{}});this.name="SecureProxyConnectionError";this.message=t||"Secure Proxy Connection failed";this.code="UND_ERR_PRX_TLS";this.cause=e}static[Symbol.hasInstance](e){return e&&e[T]===true}[T]=true}const w=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class MessageSizeExceededError extends UndiciError{constructor(e){super(e);this.name="MessageSizeExceededError";this.message=e||"Max decompressed message size exceeded";this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[w]===true}get[w](){return true}}e.exports={AbortError:AbortError,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,ResponseError:ResponseError,SecureProxyConnectionError:SecureProxyConnectionError,MessageSizeExceededError:MessageSizeExceededError}},4655:(e,t,r)=>{"use strict";const{InvalidArgumentError:s,NotSupportedError:o}=r(8707);const n=r(4589);const{isValidHTTPToken:i,isValidHeaderValue:a,isStream:A,destroy:c,isBuffer:l,isFormDataLike:g,isIterable:u,isBlobLike:p,buildURL:d,validateHandler:E,getServerName:h,normalizedMethodRecords:m}=r(3440);const{channels:f}=r(2414);const{headerNameLowerCasedRecord:C}=r(735);const I=/[^\u0021-\u00ff]/;const B=Symbol("handler");class Request{constructor(e,{path:t,method:r,body:o,headers:n,query:C,idempotent:Q,blocking:T,upgrade:w,headersTimeout:y,bodyTimeout:b,reset:k,throwOnError:S,expectContinue:_,servername:R},v){if(typeof t!=="string"){throw new s("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT"){throw new s("path must be an absolute URL or start with a slash")}else if(I.test(t)){throw new s("invalid request path")}if(typeof r!=="string"){throw new s("method must be a string")}else if(m[r]===undefined&&!i(r)){throw new s("invalid request method")}if(w&&typeof w!=="string"){throw new s("upgrade must be a string")}if(w&&!a(w)){throw new s("invalid upgrade header")}if(y!=null&&(!Number.isFinite(y)||y<0)){throw new s("invalid headersTimeout")}if(b!=null&&(!Number.isFinite(b)||b<0)){throw new s("invalid bodyTimeout")}if(k!=null&&typeof k!=="boolean"){throw new s("invalid reset")}if(_!=null&&typeof _!=="boolean"){throw new s("invalid expectContinue")}this.headersTimeout=y;this.bodyTimeout=b;this.throwOnError=S===true;this.method=r;this.abort=null;if(o==null){this.body=null}else if(A(o)){this.body=o;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c(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(l(o)){this.body=o.byteLength?o:null}else if(ArrayBuffer.isView(o)){this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null}else if(o instanceof ArrayBuffer){this.body=o.byteLength?Buffer.from(o):null}else if(typeof o==="string"){this.body=o.length?Buffer.from(o):null}else if(g(o)||u(o)||p(o)){this.body=o}else{throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=w||null;this.path=C?d(t,C):t;this.origin=e;this.idempotent=Q==null?r==="HEAD"||r==="GET":Q;this.blocking=T==null?false:T;this.reset=k==null?null:k;this.host=null;this.contentLength=null;this.contentType=null;this.headers=[];this.expectContinue=_!=null?_:false;if(Array.isArray(n)){if(n.length%2!==0){throw new s("headers array must be even")}for(let e=0;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"),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"),kBody:Symbol("abstracted request body"),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"),kResume:Symbol("resume"),kOnError:Symbol("on error"),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"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}},7752:(e,t,r)=>{"use strict";const{wellknownHeaderNames:s,headerNameLowerCasedRecord:o}=r(735);class TstNode{value=null;left=null;middle=null;right=null;code;constructor(e,t,r){if(r===undefined||r>=e.length){throw new TypeError("Unreachable")}const s=this.code=e.charCodeAt(r);if(s>127){throw new TypeError("key must be ascii string")}if(e.length!==++r){this.middle=new TstNode(e,t,r)}else{this.value=t}}add(e,t){const r=e.length;if(r===0){throw new TypeError("Unreachable")}let s=0;let o=this;while(true){const n=e.charCodeAt(s);if(n>127){throw new TypeError("key must be ascii string")}if(o.code===n){if(r===++s){o.value=t;break}else if(o.middle!==null){o=o.middle}else{o.middle=new TstNode(e,t,s);break}}else if(o.code=65){o|=32}while(s!==null){if(o===s.code){if(t===++r){return s}s=s.middle;break}s=s.code{"use strict";const s=r(4589);const{kDestroyed:o,kBodyUsed:n,kListeners:i,kBody:a}=r(6443);const{IncomingMessage:A}=r(7067);const c=r(7075);const l=r(7030);const{Blob:g}=r(4573);const u=r(7975);const{stringify:p}=r(1792);const{EventEmitter:d}=r(8474);const{InvalidArgumentError:E}=r(8707);const{headerNameLowerCasedRecord:h}=r(735);const{tree:m}=r(7752);const[f,C]=process.versions.node.split(".").map(e=>Number(e));class BodyAsyncIterable{constructor(e){this[a]=e;this[n]=false}async*[Symbol.asyncIterator](){s(!this[n],"disturbed");this[n]=true;yield*this[a]}}function wrapRequestBody(e){if(isStream(e)){if(bodyLength(e)===0){e.on("data",function(){s(false)})}if(typeof e.readableDidRead!=="boolean"){e[n]=false;d.prototype.on.call(e,"data",function(){this[n]=true})}return e}else if(e&&typeof e.pipeTo==="function"){return new BodyAsyncIterable(e)}else if(e&&typeof e!=="string"&&!ArrayBuffer.isView(e)&&isIterable(e)){return new BodyAsyncIterable(e)}else{return e}}function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){if(e===null){return false}else if(e instanceof g){return true}else if(typeof e!=="object"){return false}else{const t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream==="function"||"arrayBuffer"in e&&typeof e.arrayBuffer==="function")}}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const r=p(t);if(r){e+="?"+r}return e}function isValidPort(e){const t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function isHttpOrHttpsPrefixed(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new E("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new E("Invalid URL: The URL argument must be a non-null object.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&isValidPort(e.port)===false){throw new E("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 E("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new E("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new E("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new E("Invalid URL origin: the origin must be a string or null/undefined.")}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new E("Invalid URL protocol: the URL must start with `http:` or `https:`.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let r=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`;let s=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(r[r.length-1]==="/"){r=r.slice(0,r.length-1)}if(s&&s[0]!=="/"){s=`/${s}`}return new URL(`${r}${s}`)}if(!isHttpOrHttpsPrefixed(e.origin||e.protocol)){throw new E("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new E("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");s(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}s(typeof e==="string");const t=getHostname(e);if(l.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[o]||c.isDestroyed?.(e))}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===A){e.socket=null}e.destroy(t)}else if(t){queueMicrotask(()=>{e.emit("error",t)})}if(e.destroyed!==true){e[o]=true}}const I=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(I);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return typeof e==="string"?h[e]??e.toLowerCase():m.lookup(e)??e.toString("latin1").toLowerCase()}function bufferToLowerCasedHeaderName(e){return m.lookup(e)??e.toString("latin1").toLowerCase()}function parseHeaders(e,t){if(t===undefined)t={};for(let r=0;re.toString("utf8")):o.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=e.length;const r=new Array(t);let s=false;let o=-1;let n;let i;let a=0;for(let t=0;t{e.close();e.byobRequest?.respond(0)})}else{const t=Buffer.isBuffer(s)?s:Buffer.from(s);if(t.byteLength){e.enqueue(new Uint8Array(t))}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}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 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 B=typeof String.prototype.toWellFormed==="function";const Q=typeof String.prototype.isWellFormed==="function";function toUSVString(e){return B?`${e}`.toWellFormed():u.toUSVString(e)}function isUSVString(e){return Q?`${e}`.isWellFormed():toUSVString(e)===`${e}`}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{"use strict";const{InvalidArgumentError:s}=r(8707);const{kClients:o,kRunning:n,kClose:i,kDestroy:a,kDispatch:A,kInterceptors:c}=r(6443);const l=r(1841);const g=r(628);const u=r(3701);const p=r(3440);const d=r(5092);const E=Symbol("onConnect");const h=Symbol("onDisconnect");const m=Symbol("onConnectionError");const f=Symbol("maxRedirections");const C=Symbol("onDrain");const I=Symbol("factory");const B=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new u(e,t):new g(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:r,...n}={}){if(typeof e!=="function"){throw new s("factory must be a function.")}if(r!=null&&typeof r!=="function"&&typeof r!=="object"){throw new s("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new s("maxRedirections must be a positive number")}super(n);if(r&&typeof r!=="function"){r={...r}}this[c]=n.interceptors?.Agent&&Array.isArray(n.interceptors.Agent)?n.interceptors.Agent:[d({maxRedirections:t})];this[B]={...p.deepClone(n),connect:r};this[B].interceptors=n.interceptors?{...n.interceptors}:undefined;this[f]=t;this[I]=e;this[o]=new Map;this[C]=(e,t)=>{this.emit("drain",e,[this,...t])};this[E]=(e,t)=>{this.emit("connect",e,[this,...t])};this[h]=(e,t,r)=>{this.emit("disconnect",e,[this,...t],r)};this[m]=(e,t,r)=>{this.emit("connectionError",e,[this,...t],r)}}get[n](){let e=0;for(const t of this[o].values()){e+=t[n]}return e}[A](e,t){let r;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){r=String(e.origin)}else{throw new s("opts.origin must be a non-empty string or URL.")}let n=this[o].get(r);if(!n){n=this[I](e.origin,this[B]).on("drain",this[C]).on("connect",this[E]).on("disconnect",this[h]).on("connectionError",this[m]);this[o].set(r,n)}return n.dispatch(e,t)}async[i](){const e=[];for(const t of this[o].values()){e.push(t.close())}this[o].clear();await Promise.all(e)}async[a](e){const t=[];for(const r of this[o].values()){t.push(r.destroy(e))}this[o].clear();await Promise.all(t)}}e.exports=Agent},837:(e,t,r)=>{"use strict";const{BalancedPoolMissingUpstreamError:s,InvalidArgumentError:o}=r(8707);const{PoolBase:n,kClients:i,kNeedDrain:a,kAddClient:A,kRemoveClient:c,kGetDispatcher:l}=r(2128);const g=r(628);const{kUrl:u,kInterceptors:p}=r(6443);const{parseOrigin:d}=r(3440);const E=Symbol("factory");const h=Symbol("options");const m=Symbol("kGreatestCommonDivisor");const f=Symbol("kCurrentWeight");const C=Symbol("kIndex");const I=Symbol("kWeight");const B=Symbol("kMaxWeightPerServer");const Q=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(e===0)return t;while(t!==0){const r=t;t=e%t;e=r}return e}function defaultFactory(e,t){return new g(e,t)}class BalancedPool extends n{constructor(e=[],{factory:t=defaultFactory,...r}={}){super();this[h]=r;this[C]=-1;this[f]=0;this[B]=this[h].maxWeightPerServer||100;this[Q]=this[h].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new o("factory must be a function.")}this[p]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[];this[E]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=d(e).origin;if(this[i].find(e=>e[u].origin===t&&e.closed!==true&&e.destroyed!==true)){return this}const r=this[E](t,Object.assign({},this[h]));this[A](r);r.on("connect",()=>{r[I]=Math.min(this[B],r[I]+this[Q])});r.on("connectionError",()=>{r[I]=Math.max(1,r[I]-this[Q]);this._updateBalancedPoolStats()});r.on("disconnect",(...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){r[I]=Math.max(1,r[I]-this[Q]);this._updateBalancedPoolStats()}});for(const e of this[i]){e[I]=this[B]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){let e=0;for(let t=0;te[u].origin===t&&e.closed!==true&&e.destroyed!==true);if(r){this[c](r)}return this}get upstreams(){return this[i].filter(e=>e.closed!==true&&e.destroyed!==true).map(e=>e[u].origin)}[l](){if(this[i].length===0){throw new s}const e=this[i].find(e=>!e[a]&&e.closed!==true&&e.destroyed!==true);if(!e){return}const t=this[i].map(e=>e[a]).reduce((e,t)=>e&&t,true);if(t){return}let r=0;let o=this[i].findIndex(e=>!e[a]);while(r++this[i][o][I]&&!e[a]){o=this[C]}if(this[C]===0){this[f]=this[f]-this[m];if(this[f]<=0){this[f]=this[B]}}if(e[I]>=this[f]&&!e[a]){return e}}this[f]=this[i][o][I];this[C]=o;return this[i][o]}}e.exports=BalancedPool},637:(e,t,r)=>{"use strict";const s=r(4589);const o=r(3440);const{channels:n}=r(2414);const i=r(6603);const{RequestContentLengthMismatchError:a,ResponseContentLengthMismatchError:A,RequestAbortedError:c,InvalidArgumentError:l,HeadersTimeoutError:g,HeadersOverflowError:u,SocketError:p,InformationalError:d,BodyTimeoutError:E,HTTPParserError:h,ResponseExceededMaxSizeError:m}=r(8707);const{kUrl:f,kReset:C,kClient:I,kParser:B,kBlocking:Q,kRunning:T,kPending:w,kSize:y,kWriting:b,kQueue:k,kNoRef:S,kKeepAliveDefaultTimeout:_,kHostHeader:R,kPendingIdx:v,kRunningIdx:F,kError:D,kPipelining:G,kSocket:P,kKeepAliveTimeoutValue:U,kMaxHeadersSize:L,kKeepAliveMaxTimeout:O,kKeepAliveTimeoutThreshold:M,kHeadersTimeout:N,kBodyTimeout:H,kStrictContentLength:x,kMaxRequests:V,kCounter:Y,kMaxResponseSize:J,kOnError:W,kResume:q,kHTTPContext:j}=r(6443);const z=r(2824);const K=Buffer.alloc(0);const Z=Buffer[Symbol.species];const X=o.addListener;const $=o.removeAllListeners;const ee=Symbol("kIdleSocketValidation");const te=Symbol("kIdleSocketValidationTimeout");const re=Symbol("kSocketUsed");let se;async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?r(3870):undefined;let t;try{t=await WebAssembly.compile(r(3434))}catch(s){t=await WebAssembly.compile(e||r(3870))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,r)=>0,wasm_on_status:(e,t,r)=>{s(ie.ptr===e);const o=t-ce+ae.byteOffset;return ie.onStatus(new Z(ae.buffer,o,r))||0},wasm_on_message_begin:e=>{s(ie.ptr===e);return ie.onMessageBegin()||0},wasm_on_header_field:(e,t,r)=>{s(ie.ptr===e);const o=t-ce+ae.byteOffset;return ie.onHeaderField(new Z(ae.buffer,o,r))||0},wasm_on_header_value:(e,t,r)=>{s(ie.ptr===e);const o=t-ce+ae.byteOffset;return ie.onHeaderValue(new Z(ae.buffer,o,r))||0},wasm_on_headers_complete:(e,t,r,o)=>{s(ie.ptr===e);return ie.onHeadersComplete(t,Boolean(r),Boolean(o))||0},wasm_on_body:(e,t,r)=>{s(ie.ptr===e);const o=t-ce+ae.byteOffset;return ie.onBody(new Z(ae.buffer,o,r))||0},wasm_on_message_complete:e=>{s(ie.ptr===e);return ie.onMessageComplete()||0}}})}let oe=null;let ne=lazyllhttp();ne.catch();let ie=null;let ae=null;let Ae=0;let ce=null;const le=0;const ge=1;const ue=2|ge;const pe=4|ge;const de=8|le;class Parser{constructor(e,t,{exports:r}){s(Number.isFinite(e[L])&&e[L]>0);this.llhttp=r;this.ptr=this.llhttp.llhttp_alloc(z.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[L];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[J]}setTimeout(e,t){if(e!==this.timeoutValue||t&ge^this.timeoutType&ge){if(this.timeout){i.clearTimeout(this.timeout);this.timeout=null}if(e){if(t&ge){this.timeout=i.setFastTimeout(onParserTimeout,e,new WeakRef(this))}else{this.timeout=setTimeout(onParserTimeout,e,new WeakRef(this));this.timeout.unref()}}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.timeoutType=t}resume(){if(this.socket.destroyed||!this.paused){return}s(this.ptr!=null);s(ie==null);this.llhttp.llhttp_resume(this.ptr);s(this.timeoutType===pe);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||K);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){s(this.ptr!=null);s(ie==null);s(!this.paused);const{socket:t,llhttp:r}=this;if(e.length>Ae){if(ce){r.free(ce)}Ae=Math.ceil(e.length/4096)*4096;ce=r.malloc(Ae)}new Uint8Array(r.memory.buffer,ce,Ae).set(e);try{let s;try{ae=e;ie=this;s=r.llhttp_execute(this.ptr,ce,e.length)}catch(e){throw e}finally{ie=null;ae=null}const o=r.llhttp_get_error_pos(this.ptr)-ce;if(s!==z.ERROR.OK){const r=e.subarray(o);if(s===z.ERROR.PAUSED_UPGRADE){this.onUpgrade(r)}else if(s===z.ERROR.PAUSED){this.paused=true;t.unshift(r)}else{throw this.createError(s,r)}}}catch(e){o.destroy(t,e)}}finish(){s(ie===null);s(this.ptr!=null);s(!this.paused);const{llhttp:e}=this;let t;try{ie=this;t=e.llhttp_finish(this.ptr)}finally{ie=null}if(t===z.ERROR.OK){return null}if(t===z.ERROR.PAUSED||t===z.ERROR.PAUSED_UPGRADE){this.paused=true;return null}return this.createError(t,K)}createError(e,t){const{llhttp:r,contentLength:s,bytesRead:o}=this;if(s&&o!==parseInt(s,10)){return new A}const n=r.llhttp_get_error_reason(this.ptr);let i="";if(n){const e=new Uint8Array(r.memory.buffer,n).indexOf(0);i="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,n,e).toString()+")"}return new h(i,z.ERROR[e],t)}destroy(){s(this.ptr!=null);s(ie==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;this.timeout&&i.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}if(t[T]===0){o.destroy(e,new p("bad response",o.getSocketInfo(e)));return-1}const r=t[k][t[F]];if(!r){return-1}r.onResponseStarted()}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 r=this.headers[t-2];if(r.length===10){const t=o.bufferToLowerCasedHeaderName(r);if(t==="keep-alive"){this.keepAlive+=e.toString()}else if(t==="connection"){this.connection+=e.toString()}}else if(r.length===14&&o.bufferToLowerCasedHeaderName(r)==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){o.destroy(this.socket,new u)}}onUpgrade(e){const{upgrade:t,client:r,socket:n,headers:i,statusCode:a}=this;s(t);s(r[P]===n);s(!n.destroyed);s(!this.paused);s((i.length&1)===0);const A=r[k][r[F]];s(A);s(A.upgrade||A.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;this.headers=[];this.headersSize=0;n.unshift(e);n[B].destroy();n[B]=null;n[I]=null;n[D]=null;$(n);r[P]=null;r[j]=null;r[k][r[F]++]=null;r.emit("disconnect",r[f],[r],new d("upgrade"));try{A.onUpgrade(a,i,n)}catch(e){o.destroy(n,e)}r[q]()}onHeadersComplete(e,t,r){const{client:n,socket:i,headers:a,statusText:A}=this;if(i.destroyed){return-1}if(n[T]===0){o.destroy(i,new p("bad response",o.getSocketInfo(i)));return-1}const c=n[k][n[F]];if(!c){return-1}s(!this.upgrade);s(this.statusCode<200);if(e===100){o.destroy(i,new p("bad response",o.getSocketInfo(i)));return-1}if(t&&!c.upgrade){o.destroy(i,new p("bad upgrade",o.getSocketInfo(i)));return-1}s(this.timeoutType===ue);this.statusCode=e;this.shouldKeepAlive=r||c.method==="HEAD"&&!i[C]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:n[H];this.setTimeout(e,pe)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){s(n[T]===1);this.upgrade=true;return 2}if(t){s(n[T]===1);this.upgrade=true;return 2}s((this.headers.length&1)===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&n[G]){const e=this.keepAlive?o.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-n[M],n[O]);if(t<=0){i[C]=true}else{n[U]=t}}else{n[U]=n[_]}}else{i[C]=true}const l=c.onHeaders(e,a,this.resume,A)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(i[Q]){i[Q]=false;n[q]()}return l?z.ERROR.PAUSED:0}onBody(e){const{client:t,socket:r,statusCode:n,maxResponseSize:i}=this;if(r.destroyed){return-1}const a=t[k][t[F]];s(a);s(this.timeoutType===pe);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}s(n>=200);if(i>-1&&this.bytesRead+e.length>i){o.destroy(r,new m);return-1}this.bytesRead+=e.length;if(a.onData(e)===false){return z.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:r,upgrade:n,headers:i,contentLength:a,bytesRead:c,shouldKeepAlive:l}=this;if(t.destroyed&&(!r||l)){return-1}if(n){return}s(r>=100);s((this.headers.length&1)===0);const g=e[k][e[F]];s(g);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";this.headers=[];this.headersSize=0;if(r<200){return}if(g.method!=="HEAD"&&a&&c!==parseInt(a,10)){o.destroy(t,new A);return-1}g.onComplete(i);e[k][e[F]++]=null;t[re]=true;if(t[b]){s(e[T]===0);o.destroy(t,new d("reset"));return z.ERROR.PAUSED}else if(!l){o.destroy(t,new d("reset"));return z.ERROR.PAUSED}else if(t[C]&&e[T]===0){o.destroy(t,new d("reset"));return z.ERROR.PAUSED}else if(e[G]==null||e[G]===1){setImmediate(()=>e[q]())}else{e[q]()}}}function onParserTimeout(e){const{socket:t,timeoutType:r,client:n,paused:i}=e.deref();if(r===ue){if(!t[b]||t.writableNeedDrain||n[T]>1){s(!i,"cannot be paused while waiting for headers");o.destroy(t,new g)}}else if(r===pe){if(!i){o.destroy(t,new E)}}else if(r===de){s(n[T]===0&&n[U]);o.destroy(t,new d("socket idle timeout"))}}async function connectH1(e,t){e[P]=t;if(!oe){oe=await ne;ne=null}t[S]=false;t[b]=false;t[C]=false;t[Q]=false;t[ee]=0;t[te]=null;t[re]=false;t[B]=new Parser(e,t,oe);X(t,"error",function(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");const t=this[B];if(e.code==="ECONNRESET"&&t.statusCode&&!t.shouldKeepAlive){const e=t.finish();if(e){this[D]=e;this[I][W](e)}return}this[D]=e;this[I][W](e)});X(t,"readable",function(){const e=this[B];if(e){e.readMore()}});X(t,"end",function(){const e=this[B];if(e.statusCode&&!e.shouldKeepAlive){const t=e.finish();if(t){o.destroy(this,t)}return}o.destroy(this,new p("other side closed",o.getSocketInfo(this)))});X(t,"close",function(){const e=this[I];const t=this[B];clearIdleSocketValidation(this);if(t){if(!this[D]&&t.statusCode&&!t.shouldKeepAlive){this[D]=t.finish()||this[D]}this[B].destroy();this[B]=null}const r=this[D]||new p("closed",o.getSocketInfo(this));e[P]=null;e[j]=null;if(e.destroyed){s(e[w]===0);const t=e[k].splice(e[F]);for(let s=0;s0&&r.code!=="UND_ERR_INFO"){const t=e[k][e[F]];e[k][e[F]++]=null;o.errorRequest(e,t,r)}e[v]=e[F];s(e[T]===0);e.emit("disconnect",e[f],[e],r);e[q]()});let r=false;t.on("close",()=>{r=true});return{version:"h1",defaultPipelining:1,write(...t){return writeH1(e,...t)},resume(){resumeH1(e)},destroy(e,s){if(r){queueMicrotask(s)}else{t.destroy(e).on("close",s)}},get destroyed(){return t.destroyed},busy(r){if(t[b]||t[C]||t[Q]||t[ee]===1){return true}if(r){if(e[T]>0&&!r.idempotent){return true}if(e[T]>0&&(r.upgrade||r.method==="CONNECT")){return true}if(e[T]>0&&o.bodyLength(r.body)!==0&&(o.isStream(r.body)||o.isAsyncIterable(r.body)||o.isFormDataLike(r.body))){return true}}return false}}}function clearIdleSocketValidation(e){if(e[te]){clearTimeout(e[te]);e[te]=null}e[ee]=0}function scheduleIdleSocketValidation(e,t){t[ee]=1;t[te]=setTimeout(()=>{t[te]=null;t[ee]=2;if(e[P]===t&&!t.destroyed){e[q]()}},0);t[te].unref?.()}function resumeH1(e){const t=e[P];if(t&&!t.destroyed){if(e[y]===0){if(!t[S]&&t.unref){t.unref();t[S]=true}}else if(t[S]&&t.ref){t.ref();t[S]=false}if(e[T]===0&&e[w]>0&&t[re]){if(t[ee]===0){scheduleIdleSocketValidation(e,t);t[B].readMore();if(t.destroyed){return}return}if(t[ee]===1){t[B].readMore();if(t.destroyed){return}return}}if(e[T]===0){t[B].readMore();if(t.destroyed){return}}if(e[y]===0){if(t[B].timeoutType!==de){t[B].setTimeout(e[U],de)}}else if(e[T]>0&&t[B].statusCode<200){if(t[B].timeoutType!==ue){const r=e[k][e[F]];const s=r.headersTimeout!=null?r.headersTimeout:e[N];t[B].setTimeout(s,ue)}}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function writeH1(e,t){const{method:i,path:A,host:g,upgrade:u,blocking:p,reset:E}=t;let{body:h,headers:m,contentLength:f}=t;const I=i==="PUT"||i==="POST"||i==="PATCH"||i==="QUERY"||i==="PROPFIND"||i==="PROPPATCH";if(o.isFormDataLike(h)){if(!se){se=r(4492).extractBody}const[e,s]=se(h);if(t.contentType==null){m.push("content-type",s)}h=e.stream;f=e.length}else if(o.isBlobLike(h)&&t.contentType==null){const r=h.type;if(r){const s=`${r}`;if(!o.isValidHeaderValue(s)){o.errorRequest(e,t,new l("invalid content-type header"));return false}m.push("content-type",s)}}if(h&&typeof h.read==="function"){h.read(0)}const B=o.bodyLength(h);f=B??f;if(f===null){f=t.contentLength}if(f===0&&!I){f=null}if(shouldSendContentLength(i)&&f>0&&t.contentLength!==null&&t.contentLength!==f){if(e[x]){o.errorRequest(e,t,new a);return false}process.emitWarning(new a)}const T=e[P];clearIdleSocketValidation(T);const abort=r=>{if(t.aborted||t.completed){return}o.errorRequest(e,t,r||new c);o.destroy(h);o.destroy(T,new d("aborted"))};try{t.onConnect(abort)}catch(r){o.errorRequest(e,t,r)}if(t.aborted){return false}if(i==="HEAD"){T[C]=true}if(u||i==="CONNECT"){T[C]=true}if(E!=null){T[C]=E}if(e[V]&&T[Y]++>=e[V]){T[C]=true}if(p){T[Q]=true}let w=`${i} ${A} HTTP/1.1\r\n`;if(typeof g==="string"){w+=`host: ${g}\r\n`}else{w+=e[R]}if(u){w+=`connection: upgrade\r\nupgrade: ${u}\r\n`}else if(e[G]&&!T[C]){w+="connection: keep-alive\r\n"}else{w+="connection: close\r\n"}if(Array.isArray(m)){for(let e=0;e{t.removeListener("error",onFinished)});if(!g){const e=new c;queueMicrotask(()=>onFinished(e))}};const onFinished=function(e){if(g){return}g=true;s(i.destroyed||i[b]&&r[T]<=1);i.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("close",onClose);if(!e){try{u.end()}catch(t){e=t}}u.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){o.destroy(t,e)}else{o.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onClose);if(t.resume){t.resume()}i.on("drain",onDrain).on("error",onFinished);if(t.errorEmitted??t.errored){setImmediate(()=>onFinished(t.errored))}else if(t.endEmitted??t.readableEnded){setImmediate(()=>onFinished(null))}if(t.closeEmitted??t.closed){setImmediate(onClose)}}function writeBuffer(e,t,r,n,i,a,A,c){try{if(!t){if(a===0){i.write(`${A}content-length: 0\r\n\r\n`,"latin1")}else{s(a===null,"no body must not have content length");i.write(`${A}\r\n`,"latin1")}}else if(o.isBuffer(t)){s(a===t.byteLength,"buffer body must have content length");i.cork();i.write(`${A}content-length: ${a}\r\n\r\n`,"latin1");i.write(t);i.uncork();n.onBodySent(t);if(!c&&n.reset!==false){i[C]=true}}n.onRequestSent();r[q]()}catch(t){e(t)}}async function writeBlob(e,t,r,o,n,i,A,c){s(i===t.size,"blob body must have content length");try{if(i!=null&&i!==t.size){throw new a}const e=Buffer.from(await t.arrayBuffer());n.cork();n.write(`${A}content-length: ${i}\r\n\r\n`,"latin1");n.write(e);n.uncork();o.onBodySent(e);o.onRequestSent();if(!c&&o.reset!==false){n[C]=true}r[q]()}catch(t){e(t)}}async function writeIterable(e,t,r,o,n,i,a,A){s(i!==0||r[T]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{s(c===null);if(n[D]){t(n[D])}else{c=e}});n.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({abort:e,socket:n,request:o,contentLength:i,client:r,expectsPayload:A,header:a});try{for await(const e of t){if(n[D]){throw n[D]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{n.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({abort:e,socket:t,request:r,contentLength:s,client:o,expectsPayload:n,header:i}){this.socket=t;this.request=r;this.contentLength=s;this.client=o;this.bytesWritten=0;this.expectsPayload=n;this.header=i;this.abort=e;t[b]=true}write(e){const{socket:t,request:r,contentLength:s,client:o,bytesWritten:n,expectsPayload:i,header:A}=this;if(t[D]){throw t[D]}if(t.destroyed){return false}const c=Buffer.byteLength(e);if(!c){return true}if(s!==null&&n+c>s){if(o[x]){throw new a}process.emitWarning(new a)}t.cork();if(n===0){if(!i&&r.reset!==false){t[C]=true}if(s===null){t.write(`${A}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${A}content-length: ${s}\r\n\r\n`,"latin1")}}if(s===null){t.write(`\r\n${c.toString(16)}\r\n`,"latin1")}this.bytesWritten+=c;const l=t.write(e);t.uncork();r.onBodySent(e);if(!l){if(t[B].timeout&&t[B].timeoutType===ue){if(t[B].timeout.refresh){t[B].timeout.refresh()}}}return l}end(){const{socket:e,contentLength:t,client:r,bytesWritten:s,expectsPayload:o,header:n,request:i}=this;i.onRequestSent();e[b]=false;if(e[D]){throw e[D]}if(e.destroyed){return}if(s===0){if(o){e.write(`${n}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${n}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&s!==t){if(r[x]){throw new a}else{process.emitWarning(new a)}}if(e[B].timeout&&e[B].timeoutType===ue){if(e[B].timeout.refresh){e[B].timeout.refresh()}}r[q]()}destroy(e){const{socket:t,client:r,abort:o}=this;t[b]=false;if(e){s(r[T]<=1,"pipeline should only contain this request");o(e)}}}e.exports=connectH1},8788:(e,t,r)=>{"use strict";const s=r(4589);const{pipeline:o}=r(7075);const n=r(3440);const{RequestContentLengthMismatchError:i,RequestAbortedError:a,SocketError:A,InformationalError:c}=r(8707);const{kUrl:l,kReset:g,kClient:u,kRunning:p,kPending:d,kQueue:E,kPendingIdx:h,kRunningIdx:m,kError:f,kSocket:C,kStrictContentLength:I,kOnError:B,kMaxConcurrentStreams:Q,kHTTP2Session:T,kResume:w,kSize:y,kHTTPContext:b}=r(6443);const k=Symbol("open streams");let S;let _=false;let R;try{R=r(2467)}catch{R={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:v,HTTP2_HEADER_METHOD:F,HTTP2_HEADER_PATH:D,HTTP2_HEADER_SCHEME:G,HTTP2_HEADER_CONTENT_LENGTH:P,HTTP2_HEADER_EXPECT:U,HTTP2_HEADER_STATUS:L}}=R;function parseH2Headers(e){const t=[];for(const[r,s]of Object.entries(e)){if(Array.isArray(s)){for(const e of s){t.push(Buffer.from(r),Buffer.from(e))}}else{t.push(Buffer.from(r),Buffer.from(s))}}return t}async function connectH2(e,t){e[C]=t;if(!_){_=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const r=R.connect(e[l],{createConnection:()=>t,peerMaxConcurrentStreams:e[Q]});r[k]=0;r[u]=e;r[C]=t;n.addListener(r,"error",onHttp2SessionError);n.addListener(r,"frameError",onHttp2FrameError);n.addListener(r,"end",onHttp2SessionEnd);n.addListener(r,"goaway",onHTTP2GoAway);n.addListener(r,"close",function(){const{[u]:e}=this;const{[C]:t}=e;const r=this[C][f]||this[f]||new A("closed",n.getSocketInfo(t));e[T]=null;if(e.destroyed){s(e[d]===0);const t=e[E].splice(e[m]);for(let s=0;s{o=true});return{version:"h2",defaultPipelining:Infinity,write(...t){return writeH2(e,...t)},resume(){resumeH2(e)},destroy(e,r){if(o){queueMicrotask(r)}else{t.destroy(e).on("close",r)}},get destroyed(){return t.destroyed},busy(){return false}}}function resumeH2(e){const t=e[C];if(t?.destroyed===false){if(e[y]===0&&e[Q]===0){t.unref();e[T].unref()}else{t.ref();e[T].ref()}}}function onHttp2SessionError(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[C][f]=e;this[u][B](e)}function onHttp2FrameError(e,t,r){if(r===0){const r=new c(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[C][f]=r;this[u][B](r)}}function onHttp2SessionEnd(){const e=new A("other side closed",n.getSocketInfo(this[C]));this.destroy(e);n.destroy(this[C],e)}function onHTTP2GoAway(e){const t=this[f]||new A(`HTTP/2: "GOAWAY" frame received with code ${e}`,n.getSocketInfo(this));const r=this[u];r[C]=null;r[b]=null;if(this[T]!=null){this[T].destroy(t);this[T]=null}n.destroy(this[C],t);if(r[m]{if(t.aborted||t.completed){return}r=r||new a;n.errorRequest(e,t,r);if(b!=null){n.destroy(b,r)}n.destroy(Q,r);e[E][e[m]++]=null;e[w]()};try{t.onConnect(abort)}catch(r){n.errorRequest(e,t,r)}if(t.aborted){return false}if(A==="CONNECT"){o.ref();b=o.request(y,{endStream:false,signal:f});if(b.id&&!b.pending){t.onUpgrade(null,null,b);++o[k];e[E][e[m]++]=null}else{b.once("ready",()=>{t.onUpgrade(null,null,b);++o[k];e[E][e[m]++]=null})}b.once("close",()=>{o[k]-=1;if(o[k]===0)o.unref()});return true}y[D]=g;y[G]="https";const O=A==="PUT"||A==="POST"||A==="PATCH";if(Q&&typeof Q.read==="function"){Q.read(0)}let M=n.bodyLength(Q);if(n.isFormDataLike(Q)){S??=r(4492).extractBody;const[e,t]=S(Q);y["content-type"]=t;Q=e.stream;M=e.length}if(M==null){M=t.contentLength}if(M===0||!O){M=null}if(shouldSendContentLength(A)&&M>0&&t.contentLength!=null&&t.contentLength!==M){if(e[I]){n.errorRequest(e,t,new i);return false}process.emitWarning(new i)}if(M!=null){s(Q,"no body must not have content length");y[P]=`${M}`}o.ref();const N=A==="GET"||A==="HEAD"||Q===null;if(d){y[U]="100-continue";b=o.request(y,{endStream:N,signal:f});b.once("continue",writeBodyH2)}else{b=o.request(y,{endStream:N,signal:f});writeBodyH2()}++o[k];b.once("response",r=>{const{[L]:s,...o}=r;t.onResponseStarted();if(t.aborted){const r=new a;n.errorRequest(e,t,r);n.destroy(b,r);return}if(t.onHeaders(Number(s),parseH2Headers(o),b.resume.bind(b),"")===false){b.pause()}b.on("data",e=>{if(t.onData(e)===false){b.pause()}})});b.once("end",()=>{if(b.state?.state==null||b.state.state<6){t.onComplete([])}if(o[k]===0){o.unref()}abort(new c("HTTP/2: stream half-closed (remote)"));e[E][e[m]++]=null;e[h]=e[m];e[w]()});b.once("close",()=>{o[k]-=1;if(o[k]===0){o.unref()}});b.once("error",function(e){abort(e)});b.once("frameError",(e,t)=>{abort(new c(`HTTP/2: "frameError" received - type ${e}, code ${t}`))});return true;function writeBodyH2(){if(!Q||M===0){writeBuffer(abort,b,null,e,t,e[C],M,O)}else if(n.isBuffer(Q)){writeBuffer(abort,b,Q,e,t,e[C],M,O)}else if(n.isBlobLike(Q)){if(typeof Q.stream==="function"){writeIterable(abort,b,Q.stream(),e,t,e[C],M,O)}else{writeBlob(abort,b,Q,e,t,e[C],M,O)}}else if(n.isStream(Q)){writeStream(abort,e[C],O,b,Q,e,t,M)}else if(n.isIterable(Q)){writeIterable(abort,b,Q,e,t,e[C],M,O)}else{s(false)}}}function writeBuffer(e,t,r,o,i,a,A,c){try{if(r!=null&&n.isBuffer(r)){s(A===r.byteLength,"buffer body must have content length");t.cork();t.write(r);t.uncork();t.end();i.onBodySent(r)}if(!c){a[g]=true}i.onRequestSent();o[w]()}catch(t){e(t)}}function writeStream(e,t,r,i,a,A,c,l){s(l!==0||A[p]===0,"stream body cannot be pipelined");const u=o(a,i,s=>{if(s){n.destroy(u,s);e(s)}else{n.removeAllListeners(u);c.onRequestSent();if(!r){t[g]=true}A[w]()}});n.addListener(u,"data",onPipeData);function onPipeData(e){c.onBodySent(e)}}async function writeBlob(e,t,r,o,n,a,A,c){s(A===r.size,"blob body must have content length");try{if(A!=null&&A!==r.size){throw new i}const e=Buffer.from(await r.arrayBuffer());t.cork();t.write(e);t.uncork();t.end();n.onBodySent(e);n.onRequestSent();if(!c){a[g]=true}o[w]()}catch(t){e(t)}}async function writeIterable(e,t,r,o,n,i,a,A){s(a!==0||o[p]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise((e,t)=>{s(c===null);if(i[f]){t(i[f])}else{c=e}});t.on("close",onDrain).on("drain",onDrain);try{for await(const e of r){if(i[f]){throw i[f]}const r=t.write(e);n.onBodySent(e);if(!r){await waitForDrain()}}t.end();n.onRequestSent();if(!A){i[g]=true}o[w]()}catch(t){e(t)}finally{t.off("close",onDrain).off("drain",onDrain)}}e.exports=connectH2},3701:(e,t,r)=>{"use strict";const s=r(4589);const o=r(7030);const n=r(7067);const i=r(3440);const{channels:a}=r(2414);const A=r(4655);const c=r(1841);const{InvalidArgumentError:l,InformationalError:g,ClientDestroyedError:u}=r(8707);const p=r(9136);const{kUrl:d,kServerName:E,kClient:h,kBusy:m,kConnect:f,kResuming:C,kRunning:I,kPending:B,kSize:Q,kQueue:T,kConnected:w,kConnecting:y,kNeedDrain:b,kKeepAliveDefaultTimeout:k,kHostHeader:S,kPendingIdx:_,kRunningIdx:R,kError:v,kPipelining:F,kKeepAliveTimeoutValue:D,kMaxHeadersSize:G,kKeepAliveMaxTimeout:P,kKeepAliveTimeoutThreshold:U,kHeadersTimeout:L,kBodyTimeout:O,kStrictContentLength:M,kConnector:N,kMaxRedirections:H,kMaxRequests:x,kCounter:V,kClose:Y,kDestroy:J,kDispatch:W,kInterceptors:q,kLocalAddress:j,kMaxResponseSize:z,kOnError:K,kHTTPContext:Z,kMaxConcurrentStreams:X,kResume:$}=r(6443);const ee=r(637);const te=r(8788);let re=false;const se=Symbol("kClosedResolve");const noop=()=>{};function getPipelining(e){return e[F]??e[Z]?.defaultPipelining??1}class Client extends c{constructor(e,{interceptors:t,maxHeaderSize:r,headersTimeout:s,socketTimeout:a,requestTimeout:A,connectTimeout:c,bodyTimeout:g,idleTimeout:u,keepAlive:h,keepAliveTimeout:m,maxKeepAliveTimeout:f,keepAliveMaxTimeout:I,keepAliveTimeoutThreshold:B,socketPath:Q,pipelining:w,tls:y,strictContentLength:v,maxCachedSessions:V,maxRedirections:Y,connect:J,maxRequestsPerClient:W,localAddress:ee,maxResponseSize:te,autoSelectFamily:ne,autoSelectFamilyAttemptTimeout:ie,maxConcurrentStreams:ae,allowH2:Ae,webSocket:ce}={}){super({webSocket:ce});if(h!==undefined){throw new l("unsupported keepAlive, use pipelining=0 instead")}if(a!==undefined){throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(A!==undefined){throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(u!==undefined){throw new l("unsupported idleTimeout, use keepAliveTimeout instead")}if(f!==undefined){throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(r!=null&&!Number.isFinite(r)){throw new l("invalid maxHeaderSize")}if(Q!=null&&typeof Q!=="string"){throw new l("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new l("invalid connectTimeout")}if(m!=null&&(!Number.isFinite(m)||m<=0)){throw new l("invalid keepAliveTimeout")}if(I!=null&&(!Number.isFinite(I)||I<=0)){throw new l("invalid keepAliveMaxTimeout")}if(B!=null&&!Number.isFinite(B)){throw new l("invalid keepAliveTimeoutThreshold")}if(s!=null&&(!Number.isInteger(s)||s<0)){throw new l("headersTimeout must be a positive integer or zero")}if(g!=null&&(!Number.isInteger(g)||g<0)){throw new l("bodyTimeout must be a positive integer or zero")}if(J!=null&&typeof J!=="function"&&typeof J!=="object"){throw new l("connect must be a function or an object")}if(Y!=null&&(!Number.isInteger(Y)||Y<0)){throw new l("maxRedirections must be a positive number")}if(W!=null&&(!Number.isInteger(W)||W<0)){throw new l("maxRequestsPerClient must be a positive number")}if(ee!=null&&(typeof ee!=="string"||o.isIP(ee)===0)){throw new l("localAddress must be valid string IP address")}if(te!=null&&(!Number.isInteger(te)||te<-1)){throw new l("maxResponseSize must be a positive number")}if(ie!=null&&(!Number.isInteger(ie)||ie<-1)){throw new l("autoSelectFamilyAttemptTimeout must be a positive number")}if(Ae!=null&&typeof Ae!=="boolean"){throw new l("allowH2 must be a valid boolean value")}if(ae!=null&&(typeof ae!=="number"||ae<1)){throw new l("maxConcurrentStreams must be a positive integer, greater than 0")}if(typeof J!=="function"){J=p({...y,maxCachedSessions:V,allowH2:Ae,socketPath:Q,timeout:c,...ne?{autoSelectFamily:ne,autoSelectFamilyAttemptTimeout:ie}:undefined,...J})}if(t?.Client&&Array.isArray(t.Client)){this[q]=t.Client;if(!re){re=true;process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"})}}else{this[q]=[oe({maxRedirections:Y})]}this[d]=i.parseOrigin(e);this[N]=J;this[F]=w!=null?w:1;this[G]=r||n.maxHeaderSize;this[k]=m==null?4e3:m;this[P]=I==null?6e5:I;this[U]=B==null?2e3:B;this[D]=this[k];this[E]=null;this[j]=ee!=null?ee:null;this[C]=0;this[b]=0;this[S]=`host: ${this[d].hostname}${this[d].port?`:${this[d].port}`:""}\r\n`;this[O]=g!=null?g:3e5;this[L]=s!=null?s:3e5;this[M]=v==null?true:v;this[H]=Y;this[x]=W;this[se]=null;this[z]=te>-1?te:-1;this[X]=ae!=null?ae:100;this[Z]=null;this[T]=[];this[R]=0;this[_]=0;this[$]=e=>resume(this,e);this[K]=e=>onError(this,e)}get pipelining(){return this[F]}set pipelining(e){this[F]=e;this[$](true)}get[B](){return this[T].length-this[_]}get[I](){return this[_]-this[R]}get[Q](){return this[T].length-this[R]}get[w](){return!!this[Z]&&!this[y]&&!this[Z].destroyed}get[m](){return Boolean(this[Z]?.busy(null)||this[Q]>=(getPipelining(this)||1)||this[B]>0)}[f](e){connect(this);this.once("connect",e)}[W](e,t){const r=e.origin||this[d].origin;const s=new A(r,e,t);this[T].push(s);if(this[C]){}else if(i.bodyLength(s.body)==null&&i.isIterable(s.body)){this[C]=1;queueMicrotask(()=>resume(this))}else{this[$](true)}if(this[C]&&this[b]!==2&&this[m]){this[b]=2}return this[b]<2}async[Y](){return new Promise(e=>{if(this[Q]){this[se]=e}else{e(null)}})}async[J](e){return new Promise(t=>{const r=this[T].splice(this[_]);for(let t=0;t{if(this[se]){this[se]();this[se]=null}t(null)};if(this[Z]){this[Z].destroy(e,callback);this[Z]=null}else{queueMicrotask(callback)}this[$]()})}}const oe=r(5092);function onError(e,t){if(e[I]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){s(e[_]===e[R]);const r=e[T].splice(e[R]);for(let s=0;s{e[N]({host:t,hostname:r,protocol:n,port:A,servername:e[E],localAddress:e[j]},(e,t)=>{if(e){o(e)}else{s(t)}})});if(e.destroyed){i.destroy(o.on("error",noop),new u);return}s(o);try{e[Z]=o.alpnProtocol==="h2"?await te(e,o):await ee(e,o)}catch(e){o.destroy().on("error",noop);throw e}e[y]=false;o[V]=0;o[x]=e[x];o[h]=e;o[v]=null;if(a.connected.hasSubscribers){a.connected.publish({connectParams:{host:t,hostname:r,protocol:n,port:A,version:e[Z]?.version,servername:e[E],localAddress:e[j]},connector:e[N],socket:o})}e.emit("connect",e[d],[e])}catch(o){if(e.destroyed){return}e[y]=false;if(a.connectError.hasSubscribers){a.connectError.publish({connectParams:{host:t,hostname:r,protocol:n,port:A,version:e[Z]?.version,servername:e[E],localAddress:e[j]},connector:e[N],error:o})}if(o.code==="ERR_TLS_CERT_ALTNAME_INVALID"){s(e[I]===0);while(e[B]>0&&e[T][e[_]].servername===e[E]){const t=e[T][e[_]++];i.errorRequest(e,t,o)}}else{onError(e,o)}e.emit("connectionError",e[d],[e],o)}e[$]()}function emitDrain(e){e[b]=0;e.emit("drain",e[d],[e])}function resume(e,t){if(e[C]===2){return}e[C]=2;_resume(e,t);e[C]=0;if(e[R]>256){e[T].splice(0,e[R]);e[_]-=e[R];e[R]=0}}function _resume(e,t){while(true){if(e.destroyed){s(e[B]===0);return}if(e[se]&&!e[Q]){e[se]();e[se]=null;return}if(e[Z]){e[Z].resume()}if(e[m]){e[b]=2}else if(e[b]===2){if(t){e[b]=1;queueMicrotask(()=>emitDrain(e))}else{emitDrain(e)}continue}if(e[B]===0){return}if(e[I]>=(getPipelining(e)||1)){return}const r=e[T][e[_]];if(e[d].protocol==="https:"&&e[E]!==r.servername){if(e[I]>0){return}e[E]=r.servername;e[Z]?.destroy(new g("servername changed"),()=>{e[Z]=null;resume(e)})}if(e[y]){return}if(!e[Z]){connect(e);return}if(e[Z].destroyed){return}if(e[Z].busy(r)){return}if(!r.aborted&&e[Z].write(r)){e[_]++}else{e[T].splice(e[_],1)}}}e.exports=Client},1841:(e,t,r)=>{"use strict";const s=r(883);const{ClientDestroyedError:o,ClientClosedError:n,InvalidArgumentError:i}=r(8707);const{kDestroy:a,kClose:A,kClosed:c,kDestroyed:l,kDispatch:g,kInterceptors:u}=r(6443);const p=Symbol("onDestroyed");const d=Symbol("onClosed");const E=Symbol("Intercepted Dispatch");const h=Symbol("webSocketOptions");class DispatcherBase extends s{constructor(e){super();this[l]=false;this[p]=null;this[c]=false;this[d]=[];this[h]=e?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[h].maxFragments??131072,maxPayloadSize:this[h].maxPayloadSize??128*1024*1024}}get destroyed(){return this[l]}get closed(){return this[c]}get interceptors(){return this[u]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[u][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[u]=e}close(e){if(e===undefined){return new Promise((e,t)=>{this.close((r,s)=>r?t(r):e(s))})}if(typeof e!=="function"){throw new i("invalid callback")}if(this[l]){queueMicrotask(()=>e(new o,null));return}if(this[c]){if(this[d]){this[d].push(e)}else{queueMicrotask(()=>e(null,null))}return}this[c]=true;this[d].push(e);const onClosed=()=>{const e=this[d];this[d]=null;for(let t=0;tthis.destroy()).then(()=>{queueMicrotask(onClosed)})}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise((t,r)=>{this.destroy(e,(e,s)=>e?r(e):t(s))})}if(typeof t!=="function"){throw new i("invalid callback")}if(this[l]){if(this[p]){this[p].push(t)}else{queueMicrotask(()=>t(null,null))}return}if(!e){e=new o}this[l]=true;this[p]=this[p]||[];this[p].push(t);const onDestroyed=()=>{const e=this[p];this[p]=null;for(let t=0;t{queueMicrotask(onDestroyed)})}[E](e,t){if(!this[u]||this[u].length===0){this[E]=this[g];return this[g](e,t)}let r=this[g].bind(this);for(let e=this[u].length-1;e>=0;e--){r=this[u][e](r)}this[E]=r;return r(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[l]||this[p]){throw new o}if(this[c]){throw new n}return this[E](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},883:(e,t,r)=>{"use strict";const s=r(8474);class Dispatcher extends s{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){const t=Array.isArray(e[0])?e[0]:e;let r=this.dispatch.bind(this);for(const e of t){if(e==null){continue}if(typeof e!=="function"){throw new TypeError(`invalid interceptor, expected function received ${typeof e}`)}r=e(r);if(r==null||typeof r!=="function"||r.length!==2){throw new TypeError("invalid interceptor")}}return new ComposedDispatcher(this,r)}}class ComposedDispatcher extends Dispatcher{#e=null;#t=null;constructor(e,t){super();this.#e=e;this.#t=t}dispatch(...e){this.#t(...e)}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}}e.exports=Dispatcher},3137:(e,t,r)=>{"use strict";const s=r(1841);const{kClose:o,kDestroy:n,kClosed:i,kDestroyed:a,kDispatch:A,kNoProxyAgent:c,kHttpProxyAgent:l,kHttpsProxyAgent:g}=r(6443);const u=r(6672);const p=r(7405);const d={"http:":80,"https:":443};let E=false;class EnvHttpProxyAgent extends s{#r=null;#s=null;#o=null;constructor(e={}){super();this.#o=e;if(!E){E=true;process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"})}const{httpProxy:t,httpsProxy:r,noProxy:s,...o}=e;this[c]=new p(o);const n=t??process.env.http_proxy??process.env.HTTP_PROXY;if(n){this[l]=new u({...o,uri:n})}else{this[l]=this[c]}const i=r??process.env.https_proxy??process.env.HTTPS_PROXY;if(i){this[g]=new u({...o,uri:i})}else{this[g]=this[l]}this.#n()}[A](e,t){const r=new URL(e.origin);const s=this.#i(r);return s.dispatch(e,t)}async[o](){await this[c].close();if(!this[l][i]){await this[l].close()}if(!this[g][i]){await this[g].close()}}async[n](e){await this[c].destroy(e);if(!this[l][a]){await this[l].destroy(e)}if(!this[g][a]){await this[g].destroy(e)}}#i(e){let{protocol:t,host:r,port:s}=e;r=r.replace(/:\d*$/,"").toLowerCase();s=Number.parseInt(s,10)||d[t]||0;if(!this.#a(r,s)){return this[c]}if(t==="https:"){return this[g]}return this[l]}#a(e,t){if(this.#A){this.#n()}if(this.#s.length===0){return true}if(this.#r==="*"){return false}for(let r=0;r{"use strict";const t=2048;const r=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&r)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&r}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&r;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}}},2128:(e,t,r)=>{"use strict";const s=r(1841);const o=r(4660);const{kConnected:n,kSize:i,kRunning:a,kPending:A,kQueued:c,kBusy:l,kFree:g,kUrl:u,kClose:p,kDestroy:d,kDispatch:E}=r(6443);const h=r(3246);const m=Symbol("clients");const f=Symbol("needDrain");const C=Symbol("queue");const I=Symbol("closed resolve");const B=Symbol("onDrain");const Q=Symbol("onConnect");const T=Symbol("onDisconnect");const w=Symbol("onConnectionError");const y=Symbol("get dispatcher");const b=Symbol("add client");const k=Symbol("remove client");const S=Symbol("stats");class PoolBase extends s{constructor(e){super(e);this[C]=new o;this[m]=[];this[c]=0;const t=this;this[B]=function onDrain(e,r){const s=t[C];let o=false;while(!o){const e=s.shift();if(!e){break}t[c]--;o=!this.dispatch(e.opts,e.handler)}this[f]=o;if(!this[f]&&t[f]){t[f]=false;t.emit("drain",e,[t,...r])}if(t[I]&&s.isEmpty()){Promise.all(t[m].map(e=>e.close())).then(t[I])}};this[Q]=(e,r)=>{t.emit("connect",e,[t,...r])};this[T]=(e,r,s)=>{t.emit("disconnect",e,[t,...r],s)};this[w]=(e,r,s)=>{t.emit("connectionError",e,[t,...r],s)};this[S]=new h(this)}get[l](){return this[f]}get[n](){return this[m].filter(e=>e[n]).length}get[g](){return this[m].filter(e=>e[n]&&!e[f]).length}get[A](){let e=this[c];for(const{[A]:t}of this[m]){e+=t}return e}get[a](){let e=0;for(const{[a]:t}of this[m]){e+=t}return e}get[i](){let e=this[c];for(const{[i]:t}of this[m]){e+=t}return e}get stats(){return this[S]}async[p](){if(this[C].isEmpty()){await Promise.all(this[m].map(e=>e.close()))}else{await new Promise(e=>{this[I]=e})}}async[d](e){while(true){const t=this[C].shift();if(!t){break}t.handler.onError(e)}await Promise.all(this[m].map(t=>t.destroy(e)))}[E](e,t){const r=this[y]();if(!r){this[f]=true;this[C].push({opts:e,handler:t});this[c]++}else if(!r.dispatch(e,t)){r[f]=true;this[f]=!this[y]()}return!this[f]}[b](e){e.on("drain",this[B]).on("connect",this[Q]).on("disconnect",this[T]).on("connectionError",this[w]);this[m].push(e);if(this[f]){queueMicrotask(()=>{if(this[f]){this[B](e[u],[this,e])}})}return this}[k](e){e.close(()=>{const t=this[m].indexOf(e);if(t!==-1){this[m].splice(t,1)}});this[f]=this[m].some(e=>!e[f]&&e.closed!==true&&e.destroyed!==true)}}e.exports={PoolBase:PoolBase,kClients:m,kNeedDrain:f,kAddClient:b,kRemoveClient:k,kGetDispatcher:y}},3246:(e,t,r)=>{const{kFree:s,kConnected:o,kPending:n,kQueued:i,kRunning:a,kSize:A}=r(6443);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][o]}get free(){return this[c][s]}get pending(){return this[c][n]}get queued(){return this[c][i]}get running(){return this[c][a]}get size(){return this[c][A]}}e.exports=PoolStats},628:(e,t,r)=>{"use strict";const{PoolBase:s,kClients:o,kNeedDrain:n,kAddClient:i,kGetDispatcher:a}=r(2128);const A=r(3701);const{InvalidArgumentError:c}=r(8707);const l=r(3440);const{kUrl:g,kInterceptors:u}=r(6443);const p=r(9136);const d=Symbol("options");const E=Symbol("connections");const h=Symbol("factory");function defaultFactory(e,t){return new A(e,t)}class Pool extends s{constructor(e,{connections:t,factory:r=defaultFactory,connect:s,connectTimeout:n,tls:i,maxCachedSessions:a,socketPath:A,autoSelectFamily:m,autoSelectFamilyAttemptTimeout:f,allowH2:C,...I}={}){if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof r!=="function"){throw new c("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new c("connect must be a function or an object")}if(typeof s!=="function"){s=p({...i,maxCachedSessions:a,allowH2:C,socketPath:A,timeout:n,...m?{autoSelectFamily:m,autoSelectFamilyAttemptTimeout:f}:undefined,...s})}super(I);this[u]=I.interceptors?.Pool&&Array.isArray(I.interceptors.Pool)?I.interceptors.Pool:[];this[E]=t||null;this[g]=l.parseOrigin(e);this[d]={...l.deepClone(I),connect:s,allowH2:C};this[d].interceptors=I.interceptors?{...I.interceptors}:undefined;this[h]=r;this.on("connectionError",(e,t,r)=>{for(const e of t){const t=this[o].indexOf(e);if(t!==-1){this[o].splice(t,1)}}})}[a](){for(const e of this[o]){if(!e[n]){return e}}if(!this[E]||this[o].length{"use strict";const{kProxy:s,kClose:o,kDestroy:n,kDispatch:i,kInterceptors:a}=r(6443);const{URL:A}=r(3136);const c=r(7405);const l=r(628);const g=r(1841);const{InvalidArgumentError:u,RequestAbortedError:p,SecureProxyConnectionError:d}=r(8707);const E=r(9136);const h=r(3701);const m=Symbol("proxy agent");const f=Symbol("proxy client");const C=Symbol("proxy headers");const I=Symbol("request tls settings");const B=Symbol("proxy tls settings");const Q=Symbol("connect endpoint function");const T=Symbol("tunnel proxy");function defaultProtocolPort(e){return e==="https:"?443:80}function defaultFactory(e,t){return new l(e,t)}const noop=()=>{};function defaultAgentFactory(e,t){if(t.connections===1){return new h(e,t)}return new l(e,t)}class Http1ProxyWrapper extends g{#l;constructor(e,{headers:t={},connect:r,factory:s}){super();if(!e){throw new u("Proxy URL is mandatory")}this[C]=t;if(s){this.#l=s(e,{connect:r})}else{this.#l=new h(e,{connect:r})}}[i](e,t){const r=t.onHeaders;t.onHeaders=function(e,s,o){if(e===407){if(typeof t.onError==="function"){t.onError(new u("Proxy Authentication Required (407)"))}return}if(r)r.call(this,e,s,o)};const{origin:s,path:o="/",headers:n={}}=e;e.path=s+o;if(!("host"in n)&&!("Host"in n)){const{host:e}=new A(s);n.host=e}e.headers={...this[C],...n};return this.#l[i](e,t)}async[o](){return this.#l.close()}async[n](e){return this.#l.destroy(e)}}class ProxyAgent extends g{constructor(e){super();if(!e||typeof e==="object"&&!(e instanceof A)&&!e.uri){throw new u("Proxy uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new u("Proxy opts.clientFactory must be a function.")}const{proxyTunnel:r=true}=e;const o=this.#g(e);const{href:n,origin:i,port:l,protocol:g,username:h,password:w,hostname:y}=o;this[s]={uri:n,protocol:g};this[a]=e.interceptors?.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];this[I]=e.requestTls;this[B]=e.proxyTls;this[C]=e.headers||{};this[T]=r;if(e.auth&&e.token){throw new u("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[C]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[C]["proxy-authorization"]=e.token}else if(h&&w){this[C]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(h)}:${decodeURIComponent(w)}`).toString("base64")}`}const b=E({...e.proxyTls});this[Q]=E({...e.requestTls});const k=e.factory||defaultAgentFactory;const factory=(e,t)=>{const{protocol:r}=new A(e);if(!this[T]&&r==="http:"&&this[s].protocol==="http:"){return new Http1ProxyWrapper(this[s].uri,{headers:this[C],connect:b,factory:k})}return k(e,t)};this[f]=t(o,{connect:b});this[m]=new c({...e,factory:factory,connect:async(e,t)=>{let r=e.host;if(!e.port){r+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:s,statusCode:o}=await this[f].connect({origin:i,port:l,path:r,signal:e.signal,headers:{...this[C],host:e.host},servername:this[B]?.servername||y});if(o!==200){s.on("error",noop).destroy();t(new p(`Proxy response (${o}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,s);return}let n;if(this[I]){n=this[I].servername}else{n=e.servername}this[Q]({...e,servername:n,httpSocket:s},t)}catch(e){if(e.code==="ERR_TLS_CERT_ALTNAME_INVALID"){t(new d(e))}else{t(e)}}}})}dispatch(e,t){const r=buildHeaders(e.headers);throwIfProxyAuthIsSent(r);if(r&&!("host"in r)&&!("Host"in r)){const{host:t}=new A(e.origin);r.host=t}return this[m].dispatch({...e,headers:r},t)}#g(e){if(typeof e==="string"){return new A(e)}else if(e instanceof A){return e}else{return new A(e.uri)}}async[o](){await this[m].close();await this[f].close()}async[n](){await this[m].destroy();await this[f].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let r=0;re.toLowerCase()==="proxy-authorization");if(t){throw new u("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},50:(e,t,r)=>{"use strict";const s=r(883);const o=r(7816);class RetryAgent extends s{#u=null;#p=null;constructor(e,t={}){super(t);this.#u=e;this.#p=t}dispatch(e,t){const r=new o({...e,retryOptions:this.#p},{dispatch:this.#u.dispatch.bind(this.#u),handler:t});return this.#u.dispatch(e,r)}close(){return this.#u.close()}destroy(){return this.#u.destroy()}}e.exports=RetryAgent},2581:(e,t,r)=>{"use strict";const s=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:o}=r(8707);const n=r(7405);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new n)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new o("Argument agent must implement Agent")}Object.defineProperty(globalThis,s,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[s]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},8155:e=>{"use strict";e.exports=class DecoratorHandler{#d;constructor(e){if(typeof e!=="object"||e===null){throw new TypeError("handler must be an object")}this.#d=e}onConnect(...e){return this.#d.onConnect?.(...e)}onError(...e){return this.#d.onError?.(...e)}onUpgrade(...e){return this.#d.onUpgrade?.(...e)}onResponseStarted(...e){return this.#d.onResponseStarted?.(...e)}onHeaders(...e){return this.#d.onHeaders?.(...e)}onData(...e){return this.#d.onData?.(...e)}onComplete(...e){return this.#d.onComplete?.(...e)}onBodySent(...e){return this.#d.onBodySent?.(...e)}}},8754:(e,t,r)=>{"use strict";const s=r(3440);const{kBodyUsed:o}=r(6443);const n=r(4589);const{InvalidArgumentError:i}=r(8707);const a=r(8474);const A=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[o]=false}async*[Symbol.asyncIterator](){n(!this[o],"disturbed");this[o]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,r,A){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxRedirections must be a positive number")}s.validateHandler(A,r.method,r.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...r,maxRedirections:0};this.maxRedirections=t;this.handler=A;this.history=[];this.redirectionLimitReached=false;if(s.isStream(this.opts.body)){if(s.bodyLength(this.opts.body)===0){this.opts.body.on("data",function(){n(false)})}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[o]=false;a.prototype.on.call(this.opts.body,"data",function(){this[o]=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)&&s.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,r){this.handler.onUpgrade(e,t,r)}onError(e){this.handler.onError(e)}onHeaders(e,t,r,o){this.location=this.history.length>=this.maxRedirections||s.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){if(this.request){this.request.abort(new Error("max redirects"))}this.redirectionLimitReached=true;this.abort(new Error("max redirects"));return}if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,r,o)}const{origin:n,pathname:i,search:a}=s.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const A=a?`${i}${a}`:i;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==n);this.opts.path=A;this.opts.origin=n;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(A.indexOf(e)===-1){return null}for(let e=0;e{"use strict";const s=r(4589);const{kRetryHandlerDefaultRetry:o}=r(6443);const{RequestRetryError:n}=r(8707);const{isDisturbed:i,parseHeaders:a,parseRangeHeader:A,wrapRequestBody:c}=r(3440);function calculateRetryAfterHeader(e){const t=Date.now();return new Date(e).getTime()-t}function validatePartialResponseContentLength(e,t,r,s){const o=e["content-length"];if(o==null){return null}if(!Number.isFinite(t.start)||!Number.isFinite(t.end)){return null}const i=Number(o);const a=t.end-t.start+1;if(!Number.isFinite(i)||i!==a){return new n("Content-Length mismatch",r,{headers:e,data:{count:s}})}return null}class RetryHandler{constructor(e,t){const{retryOptions:r,...s}=e;const{retry:n,maxRetries:i,maxTimeout:a,minTimeout:A,timeoutFactor:l,methods:g,errorCodes:u,retryAfter:p,statusCodes:d}=r??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts={...s,body:c(e.body)};this.abort=null;this.aborted=false;this.retryOpts={retry:n??RetryHandler[o],retryAfter:p??true,maxTimeout:a??30*1e3,minTimeout:A??500,timeoutFactor:l??2,maxRetries:i??5,methods:g??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:d??[500,502,503,504,429],errorCodes:u??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]};this.retryCount=0;this.retryCountCheckpoint=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,r){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,r)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[o](e,{state:t,opts:r},s){const{statusCode:o,code:n,headers:i}=e;const{method:a,retryOptions:A}=r;const{maxRetries:c,minTimeout:l,maxTimeout:g,timeoutFactor:u,statusCodes:p,errorCodes:d,methods:E}=A;const{counter:h}=t;if(n&&n!=="UND_ERR_REQ_RETRY"&&!d.includes(n)){s(e);return}if(Array.isArray(E)&&!E.includes(a)){s(e);return}if(o!=null&&Array.isArray(p)&&!p.includes(o)){s(e);return}if(h>c){s(e);return}let m=i?.["retry-after"];if(m){m=Number(m);m=Number.isNaN(m)?calculateRetryAfterHeader(m):m*1e3}const f=m>0?Math.min(m,g):Math.min(l*u**(h-1),g);setTimeout(()=>s(null),f)}onHeaders(e,t,r,o){const i=a(t);this.retryCount+=1;if(e>=300){if(this.retryOpts.statusCodes.includes(e)===false){return this.handler.onHeaders(e,t,r,o)}else{this.abort(new n("Request failed",e,{headers:i,data:{count:this.retryCount}}));return false}}if(this.resume!=null){this.resume=null;if(e!==206&&(this.start>0||e!==200)){this.abort(new n("server does not support the range header and the payload was partially consumed",e,{headers:i,data:{count:this.retryCount}}));return false}const t=A(i["content-range"]);if(!t){this.abort(new n("Content-Range mismatch",e,{headers:i,data:{count:this.retryCount}}));return false}if(this.etag!=null&&this.etag!==i.etag){this.abort(new n("ETag mismatch",e,{headers:i,data:{count:this.retryCount}}));return false}const o=validatePartialResponseContentLength(i,t,e,this.retryCount);if(o!=null){this.abort(o);return false}const{start:a,size:c,end:l=c-1}=t;s(this.start===a,"content-range mismatch");s(this.end==null||this.end===l,"content-range mismatch");this.resume=r;return true}if(this.end==null){if(e===206){const n=A(i["content-range"]);if(n==null){return this.handler.onHeaders(e,t,r,o)}const a=validatePartialResponseContentLength(i,n,e,this.retryCount);if(a!=null){this.abort(a);return false}const{start:c,size:l,end:g=l-1}=n;s(c!=null&&Number.isFinite(c),"content-range mismatch");s(g!=null&&Number.isFinite(g),"invalid content-length");this.start=c;this.end=g}if(this.end==null){const e=i["content-length"];this.end=e!=null?Number(e)-1:null}s(Number.isFinite(this.start));s(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=r;this.etag=i.etag!=null?i.etag:null;if(this.etag!=null&&this.etag.startsWith("W/")){this.etag=null}return this.handler.onHeaders(e,t,r,o)}const c=new n("Request failed",e,{headers:i,data:{count:this.retryCount}});this.abort(c);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||i(this.opts.body)){return this.handler.onError(e)}if(this.retryCount-this.retryCountCheckpoint>0){this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint)}else{this.retryCount+=1}this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||i(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){const e={range:`bytes=${this.start}-${this.end??""}`};if(this.etag!=null){e["if-match"]=this.etag}this.opts={...this.opts,headers:{...this.opts.headers,...e}}}try{this.retryCountCheckpoint=this.retryCount;this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},379:(e,t,r)=>{"use strict";const{isIP:s}=r(7030);const{lookup:o}=r(610);const n=r(8155);const{InvalidArgumentError:i,InformationalError:a}=r(8707);const A=Math.pow(2,31)-1;class DNSInstance{#E=0;#h=0;#m=new Map;dualStack=true;affinity=null;lookup=null;pick=null;constructor(e){this.#E=e.maxTTL;this.#h=e.maxItems;this.dualStack=e.dualStack;this.affinity=e.affinity;this.lookup=e.lookup??this.#f;this.pick=e.pick??this.#C}get full(){return this.#m.size===this.#h}runLookup(e,t,r){const s=this.#m.get(e.hostname);if(s==null&&this.full){r(null,e.origin);return}const o={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#E,maxItems:this.#h};if(s==null){this.lookup(e,o,(t,s)=>{if(t||s==null||s.length===0){r(t??new a("No DNS entries found"));return}this.setRecords(e,s);const n=this.#m.get(e.hostname);const i=this.pick(e,n,o.affinity);let A;if(typeof i.port==="number"){A=`:${i.port}`}else if(e.port!==""){A=`:${e.port}`}else{A=""}r(null,`${e.protocol}//${i.family===6?`[${i.address}]`:i.address}${A}`)})}else{const n=this.pick(e,s,o.affinity);if(n==null){this.#m.delete(e.hostname);this.runLookup(e,t,r);return}let i;if(typeof n.port==="number"){i=`:${n.port}`}else if(e.port!==""){i=`:${e.port}`}else{i=""}r(null,`${e.protocol}//${n.family===6?`[${n.address}]`:n.address}${i}`)}}#f(e,t,r){o(e.hostname,{all:true,family:this.dualStack===false?this.affinity:0,order:"ipv4first"},(e,t)=>{if(e){return r(e)}const s=new Map;for(const e of t){s.set(`${e.address}:${e.family}`,e)}r(null,s.values())})}#C(e,t,r){let s=null;const{records:o,offset:n}=t;let i;if(this.dualStack){if(r==null){if(n==null||n===A){t.offset=0;r=4}else{t.offset++;r=(t.offset&1)===1?6:4}}if(o[r]!=null&&o[r].ips.length>0){i=o[r]}else{i=o[r===4?6:4]}}else{i=o[r]}if(i==null||i.ips.length===0){return s}if(i.offset==null||i.offset===A){i.offset=0}else{i.offset++}const a=i.offset%i.ips.length;s=i.ips[a]??null;if(s==null){return s}if(Date.now()-s.timestamp>s.ttl){i.ips.splice(a,1);return this.pick(e,t,r)}return s}setRecords(e,t){const r=Date.now();const s={records:{4:null,6:null}};for(const e of t){e.timestamp=r;if(typeof e.ttl==="number"){e.ttl=Math.min(e.ttl,this.#E)}else{e.ttl=this.#E}const t=s.records[e.family]??{ips:[]};t.ips.push(e);s.records[e.family]=t}this.#m.set(e.hostname,s)}getHandler(e,t){return new DNSDispatchHandler(this,e,t)}}class DNSDispatchHandler extends n{#I=null;#o=null;#t=null;#d=null;#B=null;constructor(e,{origin:t,handler:r,dispatch:s},o){super(r);this.#B=t;this.#d=r;this.#o={...o};this.#I=e;this.#t=s}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#I.dualStack){this.#I.runLookup(this.#B,this.#o,(e,t)=>{if(e){return this.#d.onError(e)}const r={...this.#o,origin:t};this.#t(r,this)});return}this.#d.onError(e);return}case"ENOTFOUND":this.#I.deleteRecord(this.#B);default:this.#d.onError(e);break}}}e.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!=="number"||e?.maxTTL<0)){throw new i("Invalid maxTTL. Must be a positive number")}if(e?.maxItems!=null&&(typeof e?.maxItems!=="number"||e?.maxItems<1)){throw new i("Invalid maxItems. Must be a positive number and greater than zero")}if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6){throw new i("Invalid affinity. Must be either 4 or 6")}if(e?.dualStack!=null&&typeof e?.dualStack!=="boolean"){throw new i("Invalid dualStack. Must be a boolean")}if(e?.lookup!=null&&typeof e?.lookup!=="function"){throw new i("Invalid lookup. Must be a function")}if(e?.pick!=null&&typeof e?.pick!=="function"){throw new i("Invalid pick. Must be a function")}const t=e?.dualStack??true;let r;if(t){r=e?.affinity??null}else{r=e?.affinity??4}const o={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:r,maxItems:e?.maxItems??Infinity};const n=new DNSInstance(o);return e=>function dnsInterceptor(t,r){const o=t.origin.constructor===URL?t.origin:new URL(t.origin);if(s(o.hostname)!==0){return e(t,r)}n.runLookup(o,t,(s,i)=>{if(s){return r.onError(s)}let a=null;a={...t,servername:o.hostname,origin:i,headers:{host:o.hostname,...t.headers}};e(a,n.getHandler({origin:o,dispatch:e,handler:r},t))});return true}}},8060:(e,t,r)=>{"use strict";const s=r(3440);const{InvalidArgumentError:o,RequestAbortedError:n}=r(8707);const i=r(8155);class DumpHandler extends i{#Q=1024*1024;#T=null;#w=false;#y=false;#b=0;#k=null;#d=null;constructor({maxSize:e},t){super(t);if(e!=null&&(!Number.isFinite(e)||e<1)){throw new o("maxSize must be a number greater than 0")}this.#Q=e??this.#Q;this.#d=t}onConnect(e){this.#T=e;this.#d.onConnect(this.#S.bind(this))}#S(e){this.#y=true;this.#k=e}onHeaders(e,t,r,o){const i=s.parseHeaders(t);const a=i["content-length"];if(a!=null&&a>this.#Q){throw new n(`Response size (${a}) larger than maxSize (${this.#Q})`)}if(this.#y){return true}return this.#d.onHeaders(e,t,r,o)}onError(e){if(this.#w){return}e=this.#k??e;this.#d.onError(e)}onData(e){this.#b=this.#b+e.length;if(this.#b>=this.#Q){this.#w=true;if(this.#y){this.#d.onError(this.#k)}else{this.#d.onComplete([])}}return true}onComplete(e){if(this.#w){return}if(this.#y){this.#d.onError(this.reason);return}this.#d.onComplete(e)}}function createDumpInterceptor({maxSize:e}={maxSize:1024*1024}){return t=>function Intercept(r,s){const{dumpMaxSize:o=e}=r;const n=new DumpHandler({maxSize:o},s);return t(r,n)}}e.exports=createDumpInterceptor},5092:(e,t,r)=>{"use strict";const s=r(8754);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(r,o){const{maxRedirections:n=e}=r;if(!n){return t(r,o)}const i=new s(t,n,r,o);r={...r,maxRedirections:0};return t(r,i)}}e.exports=createRedirectInterceptor},1514:(e,t,r)=>{"use strict";const s=r(8754);e.exports=e=>{const t=e?.maxRedirections;return e=>function redirectInterceptor(r,o){const{maxRedirections:n=t,...i}=r;if(!n){return e(r,o)}const a=new s(e,n,r,o);return e(i,a)}}},2026:(e,t,r)=>{"use strict";const s=r(7816);e.exports=e=>t=>function retryInterceptor(r,o){return t(r,new s({...r,retryOptions:{...e,...r.retryOptions}},{handler:o,dispatch:t}))}},2824:(e,t,r)=>{"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 s=r(172);var o;(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"})(o=t.ERROR||(t.ERROR={}));var n;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(n=t.TYPE||(t.TYPE={}));var i;(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"})(i=t.FLAGS||(t.FLAGS={}));var a;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(a=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var A;(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"})(A=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[A.DELETE,A.GET,A.HEAD,A.POST,A.PUT,A.CONNECT,A.OPTIONS,A.TRACE,A.COPY,A.LOCK,A.MKCOL,A.MOVE,A.PROPFIND,A.PROPPATCH,A.SEARCH,A.UNLOCK,A.BIND,A.REBIND,A.UNBIND,A.ACL,A.REPORT,A.MKACTIVITY,A.CHECKOUT,A.MERGE,A["M-SEARCH"],A.NOTIFY,A.SUBSCRIBE,A.UNSUBSCRIBE,A.PATCH,A.PURGE,A.MKCALENDAR,A.LINK,A.UNLINK,A.PRI,A.SOURCE];t.METHODS_ICE=[A.SOURCE];t.METHODS_RTSP=[A.OPTIONS,A.DESCRIBE,A.ANNOUNCE,A.SETUP,A.PLAY,A.PAUSE,A.TEARDOWN,A.GET_PARAMETER,A.SET_PARAMETER,A.REDIRECT,A.RECORD,A.FLUSH,A.GET,A.POST];t.METHOD_MAP=s.enumToMap(A);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 c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=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 l;(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"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},3870:(e,t,r)=>{"use strict";const{Buffer:s}=r(4573);e.exports=s.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")},3434:(e,t,r)=>{"use strict";const{Buffer:s}=r(4573);e.exports=s.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")},172:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach(r=>{const s=e[r];if(typeof s==="number"){t[r]=s}});return t}t.enumToMap=enumToMap},7501:(e,t,r)=>{"use strict";const{kClients:s}=r(6443);const o=r(7405);const{kAgent:n,kMockAgentSet:i,kMockAgentGet:a,kDispatches:A,kIsMockActive:c,kNetConnect:l,kGetNetConnect:g,kOptions:u,kFactory:p}=r(1117);const d=r(7365);const E=r(4004);const{matchValue:h,buildMockOptions:m}=r(3397);const{InvalidArgumentError:f,UndiciError:C}=r(8707);const I=r(883);const B=r(1529);const Q=r(6142);class MockAgent extends I{constructor(e){super(e);this[l]=true;this[c]=true;if(e?.agent&&typeof e.agent.dispatch!=="function"){throw new f("Argument opts.agent must implement Agent")}const t=e?.agent?e.agent:new o(e);this[n]=t;this[s]=t[s];this[u]=m(e)}get(e){let t=this[a](e);if(!t){t=this[p](e);this[i](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[n].dispatch(e,t)}async close(){await this[n].close();this[s].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new f("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[i](e,t){this[s].set(e,t)}[p](e){const t=Object.assign({agent:this},this[u]);return this[u]&&this[u].connections===1?new d(e,t):new E(e,t)}[a](e){const t=this[s].get(e);if(t){return t}if(typeof e!=="string"){const t=this[p]("http://localhost:9999");this[i](e,t);return t}for(const[t,r]of Array.from(this[s])){if(r&&typeof t!=="string"&&h(t,e)){const t=this[p](e);this[i](e,t);t[A]=r[A];return t}}}[g](){return this[l]}pendingInterceptors(){const e=this[s];return Array.from(e.entries()).flatMap(([e,t])=>t[A].map(t=>({...t,origin:e}))).filter(({pending:e})=>e)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new Q}={}){const t=this.pendingInterceptors();if(t.length===0){return}const r=new B("interceptor","interceptors").pluralize(t.length);throw new C(`\n${r.count} ${r.noun} ${r.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},7365:(e,t,r)=>{"use strict";const{promisify:s}=r(7975);const o=r(3701);const{buildMockDispatch:n}=r(3397);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:u}=r(1117);const{MockInterceptor:p}=r(1511);const d=r(6443);const{InvalidArgumentError:E}=r(8707);class MockClient extends o{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new E("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[u]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=n.call(this);this.close=this[A]}get[d.kConnected](){return this[u]}intercept(e){return new p(e,this[i])}async[A](){await s(this[c])();this[u]=0;this[a][d.kClients].delete(this[l])}}e.exports=MockClient},2429:(e,t,r)=>{"use strict";const{UndiciError:s}=r(8707);const o=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class MockNotMatchedError extends s{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"}static[Symbol.hasInstance](e){return e&&e[o]===true}[o]=true}e.exports={MockNotMatchedError:MockNotMatchedError}},1511:(e,t,r)=>{"use strict";const{getResponseData:s,buildKey:o,addMockDispatch:n}=r(3397);const{kDispatches:i,kDispatchKey:a,kDefaultHeaders:A,kDefaultTrailers:c,kContentLength:l,kMockDispatch:g}=r(1117);const{InvalidArgumentError:u}=r(8707);const{buildURL:p}=r(3440);class MockScope{constructor(e){this[g]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new u("waitInMs must be a valid integer > 0")}this[g].delay=e;return this}persist(){this[g].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new u("repeatTimes must be a valid integer > 0")}this[g].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new u("opts must be an object")}if(typeof e.path==="undefined"){throw new u("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=p(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[a]=o(e);this[i]=t;this[A]={};this[c]={};this[l]=false}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){const o=s(t);const n=this[l]?{"content-length":o.length}:{};const i={...this[A],...n,...r.headers};const a={...this[c],...r.trailers};return{statusCode:e,data:t,headers:i,trailers:a}}validateReplyParameters(e){if(typeof e.statusCode==="undefined"){throw new u("statusCode must be defined")}if(typeof e.responseOptions!=="object"||e.responseOptions===null){throw new u("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const r=e(t);if(typeof r!=="object"||r===null){throw new u("reply options callback must return an object")}const s={data:"",responseOptions:{},...r};this.validateReplyParameters(s);return{...this.createMockScopeDispatchData(s)}};const t=n(this[i],this[a],wrappedDefaultsCallback);return new MockScope(t)}const t={statusCode:e,data:arguments[1]===undefined?"":arguments[1],responseOptions:arguments[2]===undefined?{}:arguments[2]};this.validateReplyParameters(t);const r=this.createMockScopeDispatchData(t);const s=n(this[i],this[a],r);return new MockScope(s)}replyWithError(e){if(typeof e==="undefined"){throw new u("error must be defined")}const t=n(this[i],this[a],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new u("headers must be defined")}this[A]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new u("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},4004:(e,t,r)=>{"use strict";const{promisify:s}=r(7975);const o=r(628);const{buildMockDispatch:n}=r(3397);const{kDispatches:i,kMockAgent:a,kClose:A,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:u}=r(1117);const{MockInterceptor:p}=r(1511);const d=r(6443);const{InvalidArgumentError:E}=r(8707);class MockPool extends o{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new E("Argument opts.agent must implement Agent")}this[a]=t.agent;this[l]=e;this[i]=[];this[u]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=n.call(this);this.close=this[A]}get[d.kConnected](){return this[u]}intercept(e){return new p(e,this[i])}async[A](){await s(this[c])();this[u]=0;this[a][d.kClients].delete(this[l])}}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,r)=>{"use strict";const{MockNotMatchedError:s}=r(2429);const{kDispatches:o,kMockAgent:n,kOriginalDispatch:i,kOrigin:a,kGetNetConnect:A}=r(1117);const{buildURL:c}=r(3440);const{STATUS_CODES:l}=r(7067);const{types:{isPromise:g}}=r(7975);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 r=0;r!e).filter(({path:e})=>matchValue(safeUrl(e),o));if(n.length===0){throw new s(`Mock dispatch not matched for path '${o}'`)}n=n.filter(({method:e})=>matchValue(e,t.method));if(n.length===0){throw new s(`Mock dispatch not matched for method '${t.method}' on path '${o}'`)}n=n.filter(({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true);if(n.length===0){throw new s(`Mock dispatch not matched for body '${t.body}' on path '${o}'`)}n=n.filter(e=>matchHeaders(e,t.headers));if(n.length===0){const e=typeof t.headers==="object"?JSON.stringify(t.headers):t.headers;throw new s(`Mock dispatch not matched for headers '${e}' on path '${o}'`)}return n[0]}function addMockDispatch(e,t,r){const s={timesInvoked:0,times:1,persist:false,consumed:false};const o=typeof r==="function"?{callback:r}:{...r};const n={...s,...t,pending:true,data:{error:null,...o}};e.push(n);return n}function deleteMockDispatch(e,t){const r=e.findIndex(e=>{if(!e.consumed){return false}return matchKey(e,t)});if(r!==-1){e.splice(r,1)}}function buildKey(e){const{path:t,method:r,body:s,headers:o,query:n}=e;return{path:t,method:r,body:s,headers:o,query:n}}function generateKeyValues(e){const t=Object.keys(e);const r=[];for(let s=0;s=d;s.pending=p0){setTimeout(()=>{handleReply(this[o])},l)}else{handleReply(this[o])}function handleReply(s,o=i){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const l=typeof o==="function"?o({...e,headers:c}):o;if(g(l)){l.then(e=>handleReply(s,e));return}const u=getResponseData(l);const p=generateKeyValues(a);const d=generateKeyValues(A);t.onConnect?.(e=>t.onError(e),null);t.onHeaders?.(n,p,resume,getStatusText(n));t.onData?.(Buffer.from(u));t.onComplete?.(d);deleteMockDispatch(s,r)}function resume(){}return true}function buildMockDispatch(){const e=this[n];const t=this[a];const r=this[i];return function dispatch(o,n){if(e.isMockActive){try{mockDispatch.call(this,o,n)}catch(i){if(i instanceof s){const a=e[A]();if(a===false){throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(a,t)){r.call(this,o,n)}else{throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw i}}}else{r.call(this,o,n)}}}function checkNetConnect(e,t){const r=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some(e=>matchValue(e,r.host))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...r}=e;return r}}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,buildHeadersFromArray:buildHeadersFromArray}},6142:(e,t,r)=>{"use strict";const{Transform:s}=r(7075);const{Console:o}=r(7540);const n=process.versions.icu?"✅":"Y ";const i=process.versions.icu?"❌":"N ";e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new s({transform(e,t,r){r(null,e)}});this.logger=new o({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map(({method:e,path:t,data:{statusCode:r},persist:s,times:o,timesInvoked:a,origin:A})=>({Method:e,Origin:A,Path:t,"Status code":r,Persistent:s?n:i,Invocations:a,Remaining:s?Infinity:o-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 r={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const s=e===1;const o=s?t:r;const n=s?this.singular:this.plural;return{...o,count:e,noun:n}}}},6603:e=>{"use strict";let t=0;const r=1e3;const s=(r>>1)-1;let o;const n=Symbol("kFastTimer");const i=[];const a=-2;const A=-1;const c=0;const l=1;function onTick(){t+=s;let e=0;let r=i.length;while(e=o._idleStart+o._idleTimeout){o._state=A;o._idleStart=-1;o._onTimeout(o._timerArg)}if(o._state===A){o._state=a;if(--r!==0){i[e]=i[r]}}else{++e}}i.length=r;if(i.length!==0){refreshTimeout()}}function refreshTimeout(){if(o){o.refresh()}else{clearTimeout(o);o=setTimeout(onTick,s);if(o.unref){o.unref()}}}class FastTimer{[n]=true;_state=a;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,r){this._onTimeout=e;this._idleTimeout=t;this._timerArg=r;this.refresh()}refresh(){if(this._state===a){i.push(this)}if(!o||i.length===1){refreshTimeout()}this._state=c}clear(){this._state=A;this._idleStart=-1}}e.exports={setTimeout(e,t,s){return t<=r?setTimeout(e,t,s):new FastTimer(e,t,s)},clearTimeout(e){if(e[n]){e.clear()}else{clearTimeout(e)}},setFastTimeout(e,t,r){return new FastTimer(e,t,r)},clearFastTimeout(e){e.clear()},now(){return t},tick(e=0){t+=e-r+1;onTick();onTick()},reset(){t=0;i.length=0;clearTimeout(o);o=null},kFastTimer:n}},9634:(e,t,r)=>{"use strict";const{kConstruct:s}=r(109);const{urlEquals:o,getFieldValues:n}=r(6798);const{kEnumerableProperty:i,isDisturbed:a}=r(3440);const{webidl:A}=r(5893);const{Response:c,cloneResponse:l,fromInnerResponse:g}=r(9051);const{Request:u,fromInnerRequest:p}=r(9967);const{kState:d}=r(3627);const{fetching:E}=r(4398);const{urlIsHttpHttpsScheme:h,createDeferredPromise:m,readAllBytes:f}=r(3168);const C=r(4589);class Cache{#_;constructor(){if(arguments[0]!==s){A.illegalConstructor()}A.util.markAsUncloneable(this);this.#_=arguments[1]}async match(e,t={}){A.brandCheck(this,Cache);const r="Cache.match";A.argumentLengthCheck(arguments,1,r);e=A.converters.RequestInfo(e,r,"request");t=A.converters.CacheQueryOptions(t,r,"options");const s=this.#R(e,t,1);if(s.length===0){return}return s[0]}async matchAll(e=undefined,t={}){A.brandCheck(this,Cache);const r="Cache.matchAll";if(e!==undefined)e=A.converters.RequestInfo(e,r,"request");t=A.converters.CacheQueryOptions(t,r,"options");return this.#R(e,t)}async add(e){A.brandCheck(this,Cache);const t="Cache.add";A.argumentLengthCheck(arguments,1,t);e=A.converters.RequestInfo(e,t,"request");const r=[e];const s=this.addAll(r);return await s}async addAll(e){A.brandCheck(this,Cache);const t="Cache.addAll";A.argumentLengthCheck(arguments,1,t);const r=[];const s=[];for(let r of e){if(r===undefined){throw A.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]})}r=A.converters.RequestInfo(r);if(typeof r==="string"){continue}const e=r[d];if(!h(e.url)||e.method!=="GET"){throw A.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}}const o=[];for(const i of e){const e=new u(i)[d];if(!h(e.url)){throw A.errors.exception({header:t,message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";s.push(e);const a=m();o.push(E({request:e,processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){a.reject(A.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=n(e.headersList.get("vary"));for(const e of t){if(e==="*"){a.reject(A.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of o){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){a.reject(new DOMException("aborted","AbortError"));return}a.resolve(e)}}));r.push(a.promise)}const i=Promise.all(r);const a=await i;const c=[];let l=0;for(const e of a){const t={type:"put",request:s[l],response:e};c.push(t);l++}const g=m();let p=null;try{this.#v(c)}catch(e){p=e}queueMicrotask(()=>{if(p===null){g.resolve(undefined)}else{g.reject(p)}});return g.promise}async put(e,t){A.brandCheck(this,Cache);const r="Cache.put";A.argumentLengthCheck(arguments,2,r);e=A.converters.RequestInfo(e,r,"request");t=A.converters.Response(t,r,"response");let s=null;if(e instanceof u){s=e[d]}else{s=new u(e)[d]}if(!h(s.url)||s.method!=="GET"){throw A.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"})}const o=t[d];if(o.status===206){throw A.errors.exception({header:r,message:"Got 206 status"})}if(o.headersList.contains("vary")){const e=n(o.headersList.get("vary"));for(const t of e){if(t==="*"){throw A.errors.exception({header:r,message:"Got * vary field value"})}}}if(o.body&&(a(o.body.stream)||o.body.stream.locked)){throw A.errors.exception({header:r,message:"Response body is locked or disturbed"})}const i=l(o);const c=m();if(o.body!=null){const e=o.body.stream;const t=e.getReader();f(t).then(c.resolve,c.reject)}else{c.resolve(undefined)}const g=[];const p={type:"put",request:s,response:i};g.push(p);const E=await c.promise;if(i.body!=null){i.body.source=E}const C=m();let I=null;try{this.#v(g)}catch(e){I=e}queueMicrotask(()=>{if(I===null){C.resolve()}else{C.reject(I)}});return C.promise}async delete(e,t={}){A.brandCheck(this,Cache);const r="Cache.delete";A.argumentLengthCheck(arguments,1,r);e=A.converters.RequestInfo(e,r,"request");t=A.converters.CacheQueryOptions(t,r,"options");let s=null;if(e instanceof u){s=e[d];if(s.method!=="GET"&&!t.ignoreMethod){return false}}else{C(typeof e==="string");s=new u(e)[d]}const o=[];const n={type:"delete",request:s,options:t};o.push(n);const i=m();let a=null;let c;try{c=this.#v(o)}catch(e){a=e}queueMicrotask(()=>{if(a===null){i.resolve(!!c?.length)}else{i.reject(a)}});return i.promise}async keys(e=undefined,t={}){A.brandCheck(this,Cache);const r="Cache.keys";if(e!==undefined)e=A.converters.RequestInfo(e,r,"request");t=A.converters.CacheQueryOptions(t,r,"options");let s=null;if(e!==undefined){if(e instanceof u){s=e[d];if(s.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){s=new u(e)[d]}}const o=m();const n=[];if(e===undefined){for(const e of this.#_){n.push(e[0])}}else{const e=this.#F(s,t);for(const t of e){n.push(t[0])}}queueMicrotask(()=>{const e=[];for(const t of n){const r=p(t,(new AbortController).signal,"immutable");e.push(r)}o.resolve(Object.freeze(e))});return o.promise}#v(e){const t=this.#_;const r=[...t];const s=[];const o=[];try{for(const r of e){if(r.type!=="delete"&&r.type!=="put"){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(r.type==="delete"&&r.response!=null){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#F(r.request,r.options,s).length){throw new DOMException("???","InvalidStateError")}let e;if(r.type==="delete"){e=this.#F(r.request,r.options);if(e.length===0){return[]}for(const r of e){const e=t.indexOf(r);C(e!==-1);t.splice(e,1)}}else if(r.type==="put"){if(r.response==null){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const o=r.request;if(!h(o.url)){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(o.method!=="GET"){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(r.options!=null){throw A.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#F(r.request);for(const r of e){const e=t.indexOf(r);C(e!==-1);t.splice(e,1)}t.push([r.request,r.response]);s.push([r.request,r.response])}o.push([r.request,r.response])}return o}catch(e){this.#_.length=0;this.#_=r;throw e}}#F(e,t,r){const s=[];const o=r??this.#_;for(const r of o){const[o,n]=r;if(this.#D(e,o,n,t)){s.push(r)}}return s}#D(e,t,r=null,s){const i=new URL(e.url);const a=new URL(t.url);if(s?.ignoreSearch){a.search="";i.search=""}if(!o(i,a,true)){return false}if(r==null||s?.ignoreVary||!r.headersList.contains("vary")){return true}const A=n(r.headersList.get("vary"));for(const r of A){if(r==="*"){return false}const s=t.headersList.get(r);const o=e.headersList.get(r);if(s!==o){return false}}return true}#R(e,t,r=Infinity){let s=null;if(e!==undefined){if(e instanceof u){s=e[d];if(s.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){s=new u(e)[d]}}const o=[];if(e===undefined){for(const e of this.#_){o.push(e[1])}}else{const e=this.#F(s,t);for(const t of e){o.push(t[1])}}const n=[];for(const e of o){const t=g(e,"immutable");n.push(t.clone());if(n.length>=r){break}}return Object.freeze(n)}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:i,matchAll:i,add:i,addAll:i,put:i,delete:i,keys:i});const I=[{key:"ignoreSearch",converter:A.converters.boolean,defaultValue:()=>false},{key:"ignoreMethod",converter:A.converters.boolean,defaultValue:()=>false},{key:"ignoreVary",converter:A.converters.boolean,defaultValue:()=>false}];A.converters.CacheQueryOptions=A.dictionaryConverter(I);A.converters.MultiCacheQueryOptions=A.dictionaryConverter([...I,{key:"cacheName",converter:A.converters.DOMString}]);A.converters.Response=A.interfaceConverter(c);A.converters["sequence"]=A.sequenceConverter(A.converters.RequestInfo);e.exports={Cache:Cache}},3245:(e,t,r)=>{"use strict";const{kConstruct:s}=r(109);const{Cache:o}=r(9634);const{webidl:n}=r(5893);const{kEnumerableProperty:i}=r(3440);class CacheStorage{#G=new Map;constructor(){if(arguments[0]!==s){n.illegalConstructor()}n.util.markAsUncloneable(this)}async match(e,t={}){n.brandCheck(this,CacheStorage);n.argumentLengthCheck(arguments,1,"CacheStorage.match");e=n.converters.RequestInfo(e);t=n.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#G.has(t.cacheName)){const r=this.#G.get(t.cacheName);const n=new o(s,r);return await n.match(e,t)}}else{for(const r of this.#G.values()){const n=new o(s,r);const i=await n.match(e,t);if(i!==undefined){return i}}}}async has(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.has";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");return this.#G.has(e)}async open(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.open";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");if(this.#G.has(e)){const t=this.#G.get(e);return new o(s,t)}const r=[];this.#G.set(e,r);return new o(s,r)}async delete(e){n.brandCheck(this,CacheStorage);const t="CacheStorage.delete";n.argumentLengthCheck(arguments,1,t);e=n.converters.DOMString(e,t,"cacheName");return this.#G.delete(e)}async keys(){n.brandCheck(this,CacheStorage);const e=this.#G.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:i,has:i,open:i,delete:i,keys:i});e.exports={CacheStorage:CacheStorage}},109:(e,t,r)=>{"use strict";e.exports={kConstruct:r(6443).kConstruct}},6798:(e,t,r)=>{"use strict";const s=r(4589);const{URLSerializer:o}=r(1900);const{isValidHeaderName:n}=r(3168);function urlEquals(e,t,r=false){const s=o(e,r);const n=o(t,r);return s===n}function getFieldValues(e){s(e!==null);const t=[];for(let r of e.split(",")){r=r.trim();if(n(r)){t.push(r)}}return t}e.exports={urlEquals:urlEquals,getFieldValues:getFieldValues}},1276:e=>{"use strict";const t=1024;const r=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:r}},9061:(e,t,r)=>{"use strict";const{parseSetCookie:s}=r(1978);const{stringify:o}=r(7797);const{webidl:n}=r(5893);const{Headers:i}=r(660);function getCookies(e){n.argumentLengthCheck(arguments,1,"getCookies");n.brandCheck(e,i,{strict:false});const t=e.get("cookie");const r={};if(!t){return r}for(const e of t.split(";")){const[t,...s]=e.split("=");r[t.trim()]=s.join("=")}return r}function deleteCookie(e,t,r){n.brandCheck(e,i,{strict:false});const s="deleteCookie";n.argumentLengthCheck(arguments,2,s);t=n.converters.DOMString(t,s,"name");r=n.converters.DeleteCookieAttributes(r);setCookie(e,{name:t,value:"",expires:new Date(0),...r})}function getSetCookies(e){n.argumentLengthCheck(arguments,1,"getSetCookies");n.brandCheck(e,i,{strict:false});const t=e.getSetCookie();if(!t){return[]}return t.map(e=>s(e))}function setCookie(e,t){n.argumentLengthCheck(arguments,2,"setCookie");n.brandCheck(e,i,{strict:false});t=n.converters.Cookie(t);const r=o(t);if(r){e.append("Set-Cookie",r)}}n.converters.DeleteCookieAttributes=n.dictionaryConverter([{converter:n.nullableConverter(n.converters.DOMString),key:"path",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"domain",defaultValue:()=>null}]);n.converters.Cookie=n.dictionaryConverter([{converter:n.converters.DOMString,key:"name"},{converter:n.converters.DOMString,key:"value"},{converter:n.nullableConverter(e=>{if(typeof e==="number"){return n.converters["unsigned long long"](e)}return new Date(e)}),key:"expires",defaultValue:()=>null},{converter:n.nullableConverter(n.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.DOMString),key:"path",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.boolean),key:"secure",defaultValue:()=>null},{converter:n.nullableConverter(n.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:n.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:n.sequenceConverter(n.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},1978:(e,t,r)=>{"use strict";const{maxNameValuePairSize:s,maxAttributeValueSize:o}=r(1276);const{isCTLExcludingHtab:n}=r(7797);const{collectASequenceOfCodePointsFast:i}=r(1900);const a=r(4589);function parseSetCookie(e){if(n(e)){return null}let t="";let r="";let o="";let a="";if(e.includes(";")){const s={position:0};t=i(";",e,s);r=e.slice(s.position)}else{t=e}if(!t.includes("=")){a=t}else{const e={position:0};o=i("=",t,e);a=t.slice(e.position+1)}o=o.trim();a=a.trim();if(o.length+a.length>s){return null}return{name:o,value:a,...parseUnparsedAttributes(r)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}a(e[0]===";");e=e.slice(1);let r="";if(e.includes(";")){r=i(";",e,{position:0});e=e.slice(r.length)}else{r=e;e=""}let s="";let n="";if(r.includes("=")){const e={position:0};s=i("=",r,e);n=r.slice(e.position+1)}else{s=r}s=s.trim();n=n.trim();if(n.length>o){return parseUnparsedAttributes(e,t)}const A=s.toLowerCase();if(A==="expires"){const e=new Date(n);t.expires=e}else if(A==="max-age"){const r=n.charCodeAt(0);if((r<48||r>57)&&n[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(n)){return parseUnparsedAttributes(e,t)}const s=Number(n);t.maxAge=s}else if(A==="domain"){let e=n;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(A==="path"){let e="";if(n.length===0||n[0]!=="/"){e="/"}else{e=n}t.path=e}else if(A==="secure"){t.secure=true}else if(A==="httponly"){t.httpOnly=true}else if(A==="samesite"){const e=n.toLowerCase();if(e==="none"){t.sameSite="None"}else if(e==="strict"){t.sameSite="Strict"}else if(e==="lax"){t.sameSite="Lax"}}else{t.unparsed??=[];t.unparsed.push(`${s}=${n}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},7797:e=>{"use strict";function isCTLExcludingHtab(e){for(let t=0;t=0&&r<=8||r>=10&&r<=31||r===127){return true}}return false}function validateCookieName(e){for(let t=0;t126||r===34||r===40||r===41||r===60||r===62||r===64||r===44||r===59||r===58||r===92||r===47||r===91||r===93||r===63||r===61||r===123||r===125){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){let t=e.length;let r=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"'){throw new Error("Invalid cookie value")}--t;++r}while(r126||t===34||t===44||t===59||t===92){throw new Error("Invalid cookie value")}}}function validateCookiePath(e){for(let t=0;t126||r===59){throw new Error("Invalid cookie path")}}}function isLetterOrDigit(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function validateCookieDomain(e){if(e===" "){return}if(e.length>255){throw new Error("Invalid cookie domain")}let t=0;for(let r=0;r63){throw new Error("Invalid cookie domain")}}if(t===0||e.charCodeAt(e.length-1)===45){throw new Error("Invalid cookie domain")}}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const s=Array(61).fill(0).map((e,t)=>t.toString().padStart(2,"0"));function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}return`${t[e.getUTCDay()]}, ${s[e.getUTCDate()]} ${r[e.getUTCMonth()]} ${e.getUTCFullYear()} ${s[e.getUTCHours()]}:${s[e.getUTCMinutes()]}:${s[e.getUTCSeconds()]} 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 r of e.unparsed){if(!r.includes("=")){throw new Error("Invalid unparsed")}const[e,...s]=r.split("=");const o=e.trim();const n=s.join("=");validateCookieName(o);validateCookieValue(n);t.push(`${o}=${n}`)}return t.join("; ")}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,validateCookieName:validateCookieName,validateCookiePath:validateCookiePath,validateCookieValue:validateCookieValue,toIMFDate:toIMFDate,stringify:stringify}},4031:(e,t,r)=>{"use strict";const{Transform:s}=r(7075);const{isASCIINumber:o,isValidLastEventId:n}=r(4811);const i=[239,187,191];const a=10;const A=13;const c=58;const l=32;class EventSourceStream extends s{state=null;checkBOM=true;crlfCheck=false;eventEndCheck=false;buffer=null;pos=0;event={data:undefined,event:undefined,id:undefined,retry:undefined};constructor(e={}){e.readableObjectMode=true;super(e);this.state=e.eventSourceSettings||{};if(e.push){this.push=e.push}}_transform(e,t,r){if(e.length===0){r();return}if(this.buffer){this.buffer=Buffer.concat([this.buffer,e])}else{this.buffer=e}if(this.checkBOM){switch(this.buffer.length){case 1:if(this.buffer[0]===i[0]){r();return}this.checkBOM=false;r();return;case 2:if(this.buffer[0]===i[0]&&this.buffer[1]===i[1]){r();return}this.checkBOM=false;break;case 3:if(this.buffer[0]===i[0]&&this.buffer[1]===i[1]&&this.buffer[2]===i[2]){this.buffer=Buffer.alloc(0);this.checkBOM=false;r();return}this.checkBOM=false;break;default:if(this.buffer[0]===i[0]&&this.buffer[1]===i[1]&&this.buffer[2]===i[2]){this.buffer=this.buffer.subarray(3)}this.checkBOM=false;break}}while(this.pos0){t[s]=i}break}}processEvent(e){if(e.retry&&o(e.retry)){this.state.reconnectionTime=parseInt(e.retry,10)}if(e.id&&n(e.id)){this.state.lastEventId=e.id}if(e.data!==undefined){this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}}clearEvent(){this.event={data:undefined,event:undefined,id:undefined,retry:undefined}}}e.exports={EventSourceStream:EventSourceStream}},1238:(e,t,r)=>{"use strict";const{pipeline:s}=r(7075);const{fetching:o}=r(4398);const{makeRequest:n}=r(9967);const{webidl:i}=r(5893);const{EventSourceStream:a}=r(4031);const{parseMIMEType:A}=r(1900);const{createFastMessageEvent:c}=r(5188);const{isNetworkError:l}=r(9051);const{delay:g}=r(4811);const{kEnumerableProperty:u}=r(3440);const{environmentSettingsObject:p}=r(3168);let d=false;const E=3e3;const h=0;const m=1;const f=2;const C="anonymous";const I="use-credentials";class EventSource extends EventTarget{#P={open:null,error:null,message:null};#U=null;#L=false;#O=h;#M=null;#N=null;#e;#I;constructor(e,t={}){super();i.util.markAsUncloneable(this);const r="EventSource constructor";i.argumentLengthCheck(arguments,1,r);if(!d){d=true;process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})}e=i.converters.USVString(e,r,"url");t=i.converters.EventSourceInitDict(t,r,"eventSourceInitDict");this.#e=t.dispatcher;this.#I={lastEventId:"",reconnectionTime:E};const s=p;let o;try{o=new URL(e,s.settingsObject.baseUrl);this.#I.origin=o.origin}catch(e){throw new DOMException(e,"SyntaxError")}this.#U=o.href;let a=C;if(t.withCredentials){a=I;this.#L=true}const A={redirect:"follow",keepalive:true,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};A.client=p.settingsObject;A.headersList=[["accept",{name:"accept",value:"text/event-stream"}]];A.cache="no-store";A.initiator="other";A.urlList=[new URL(this.#U)];this.#M=n(A);this.#H()}get readyState(){return this.#O}get url(){return this.#U}get withCredentials(){return this.#L}#H(){if(this.#O===f)return;this.#O=h;const e={request:this.#M,dispatcher:this.#e};const processEventSourceEndOfBody=e=>{if(l(e)){this.dispatchEvent(new Event("error"));this.close()}this.#x()};e.processResponseEndOfBody=processEventSourceEndOfBody;e.processResponse=e=>{if(l(e)){if(e.aborted){this.close();this.dispatchEvent(new Event("error"));return}else{this.#x();return}}const t=e.headersList.get("content-type",true);const r=t!==null?A(t):"failure";const o=r!=="failure"&&r.essence==="text/event-stream";if(e.status!==200||o===false){this.close();this.dispatchEvent(new Event("error"));return}this.#O=m;this.dispatchEvent(new Event("open"));this.#I.origin=e.urlList[e.urlList.length-1].origin;const n=new a({eventSourceSettings:this.#I,push:e=>{this.dispatchEvent(c(e.type,e.options))}});s(e.body.stream,n,e=>{if(e?.aborted===false){this.close();this.dispatchEvent(new Event("error"))}})};this.#N=o(e)}async#x(){if(this.#O===f)return;this.#O=h;this.dispatchEvent(new Event("error"));await g(this.#I.reconnectionTime);if(this.#O!==h)return;if(this.#I.lastEventId.length){this.#M.headersList.set("last-event-id",this.#I.lastEventId,true)}this.#H()}close(){i.brandCheck(this,EventSource);if(this.#O===f)return;this.#O=f;this.#N.abort();this.#M=null}get onopen(){return this.#P.open}set onopen(e){if(this.#P.open){this.removeEventListener("open",this.#P.open)}if(typeof e==="function"){this.#P.open=e;this.addEventListener("open",e)}else{this.#P.open=null}}get onmessage(){return this.#P.message}set onmessage(e){if(this.#P.message){this.removeEventListener("message",this.#P.message)}if(typeof e==="function"){this.#P.message=e;this.addEventListener("message",e)}else{this.#P.message=null}}get onerror(){return this.#P.error}set onerror(e){if(this.#P.error){this.removeEventListener("error",this.#P.error)}if(typeof e==="function"){this.#P.error=e;this.addEventListener("error",e)}else{this.#P.error=null}}}const B={CONNECTING:{__proto__:null,configurable:false,enumerable:true,value:h,writable:false},OPEN:{__proto__:null,configurable:false,enumerable:true,value:m,writable:false},CLOSED:{__proto__:null,configurable:false,enumerable:true,value:f,writable:false}};Object.defineProperties(EventSource,B);Object.defineProperties(EventSource.prototype,B);Object.defineProperties(EventSource.prototype,{close:u,onerror:u,onmessage:u,onopen:u,readyState:u,url:u,withCredentials:u});i.converters.EventSourceInitDict=i.dictionaryConverter([{key:"withCredentials",converter:i.converters.boolean,defaultValue:()=>false},{key:"dispatcher",converter:i.converters.any}]);e.exports={EventSource:EventSource,defaultReconnectionTime:E}},4811:e=>{"use strict";function isValidLastEventId(e){return e.indexOf("\0")===-1}function isASCIINumber(e){if(e.length===0)return false;for(let t=0;t57)return false}return true}function delay(e){return new Promise(t=>{setTimeout(t,e).unref()})}e.exports={isValidLastEventId:isValidLastEventId,isASCIINumber:isASCIINumber,delay:delay}},4492:(e,t,r)=>{"use strict";const s=r(3440);const{ReadableStreamFrom:o,isBlobLike:n,isReadableStreamLike:i,readableStreamClose:a,createDeferredPromise:A,fullyReadBody:c,extractMimeType:l,utf8DecodeBytes:g}=r(3168);const{FormData:u}=r(5910);const{kState:p}=r(3627);const{webidl:d}=r(5893);const{Blob:E}=r(4573);const h=r(4589);const{isErrored:m,isDisturbed:f}=r(7075);const{isArrayBuffer:C}=r(3429);const{serializeAMimeType:I}=r(1900);const{multipartFormDataParser:B}=r(116);let Q;try{const e=r(7598);Q=t=>e.randomInt(0,t)}catch{Q=e=>Math.floor(Math.random(e))}const T=new TextEncoder;function noop(){}const w=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0;let y;if(w){y=new FinalizationRegistry(e=>{const t=e.deref();if(t&&!t.locked&&!f(t)&&!m(t)){t.cancel("Response object has been garbage collected").catch(noop)}})}function extractBody(e,t=false){let r=null;if(e instanceof ReadableStream){r=e}else if(n(e)){r=e.stream()}else{r=new ReadableStream({async pull(e){const t=typeof c==="string"?T.encode(c):c;if(t.byteLength){e.enqueue(t)}queueMicrotask(()=>a(e))},start(){},type:"bytes"})}h(i(r));let A=null;let c=null;let l=null;let g=null;if(typeof e==="string"){c=e;g="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){c=e.toString();g="application/x-www-form-urlencoded;charset=UTF-8"}else if(C(e)){c=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){c=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(s.isFormDataLike(e)){const t=`----formdata-undici-0${`${Q(1e11)}`.padStart(11,"0")}`;const r=`--${t}\r\nContent-Disposition: form-data` /*! formdata-polyfill. MIT License. Jimmy Wärting */;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 s=[];const o=new Uint8Array([13,10]);l=0;let n=false;for(const[t,i]of e){if(typeof i==="string"){const e=T.encode(r+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(i)}\r\n`);s.push(e);l+=e.byteLength}else{const e=T.encode(`${r}; name="${escape(normalizeLinefeeds(t))}"`+(i.name?`; filename="${escape(i.name)}"`:"")+"\r\n"+`Content-Type: ${i.type||"application/octet-stream"}\r\n\r\n`);s.push(e,i,o);if(typeof i.size==="number"){l+=e.byteLength+i.size+o.byteLength}else{n=true}}}const i=T.encode(`--${t}--\r\n`);s.push(i);l+=i.byteLength;if(n){l=null}c=e;A=async function*(){for(const e of s){if(e.stream){yield*e.stream()}else{yield e}}};g=`multipart/form-data; boundary=${t}`}else if(n(e)){c=e;l=e.size;if(e.type){g=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(s.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}r=e instanceof ReadableStream?e:o(e)}if(typeof c==="string"||s.isBuffer(c)){l=Buffer.byteLength(c)}if(A!=null){let t;r=new ReadableStream({async start(){t=A(e)[Symbol.asyncIterator]()},async pull(e){const{value:s,done:o}=await t.next();if(o){queueMicrotask(()=>{e.close();e.byobRequest?.respond(0)})}else{if(!m(r)){const t=new Uint8Array(s);if(t.byteLength){e.enqueue(t)}}}return e.desiredSize>0},async cancel(e){await t.return()},type:"bytes"})}const u={stream:r,source:c,length:l};return[u,g]}function safelyExtractBody(e,t=false){if(e instanceof ReadableStream){h(!s.isDisturbed(e),"The body has already been consumed.");h(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e,t){const[r,s]=t.stream.tee();t.stream=r;return{stream:s,length:t.length,source:t.source}}function throwIfAborted(e){if(e.aborted){throw new DOMException("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return consumeBody(this,e=>{let t=bodyMimeType(this);if(t===null){t=""}else if(t){t=I(t)}return new E([e],{type:t})},e)},arrayBuffer(){return consumeBody(this,e=>new Uint8Array(e).buffer,e)},text(){return consumeBody(this,g,e)},json(){return consumeBody(this,parseJSONFromBytes,e)},formData(){return consumeBody(this,e=>{const t=bodyMimeType(this);if(t!==null){switch(t.essence){case"multipart/form-data":{const r=B(e,t);if(r==="failure"){throw new TypeError("Failed to parse body as FormData.")}const s=new u;s[p]=r;return s}case"application/x-www-form-urlencoded":{const t=new URLSearchParams(e.toString());const r=new u;for(const[e,s]of t){r.append(e,s)}return r}}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return consumeBody(this,e=>new Uint8Array(e),e)}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function consumeBody(e,t,r){d.brandCheck(e,r);if(bodyUnusable(e)){throw new TypeError("Body is unusable: Body has already been read")}throwIfAborted(e[p]);const s=A();const errorSteps=e=>s.reject(e);const successSteps=e=>{try{s.resolve(t(e))}catch(e){errorSteps(e)}};if(e[p].body==null){successSteps(Buffer.allocUnsafe(0));return s.promise}await c(e[p].body,successSteps,errorSteps);return s.promise}function bodyUnusable(e){const t=e[p].body;return t!=null&&(t.stream.locked||s.isDisturbed(t.stream))}function parseJSONFromBytes(e){return JSON.parse(g(e))}function bodyMimeType(e){const t=e[p].headersList;const r=l(t);if(r==="failure"){return null}return r}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody,streamRegistry:y,hasFinalizationRegistry:w,bodyUnusable:bodyUnusable}},4495:e=>{"use strict";const t=["GET","HEAD","POST"];const r=new Set(t);const s=[101,204,205,304];const o=[301,302,303,307,308];const n=new Set(o);const i=["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","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"];const a=new Set(i);const A=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const c=new Set(A);const l=["follow","manual","error"];const g=["GET","HEAD","OPTIONS","TRACE"];const u=new Set(g);const p=["navigate","same-origin","no-cors","cors"];const d=["omit","same-origin","include"];const E=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const h=["content-encoding","content-language","content-location","content-type","content-length"];const m=["half"];const f=["CONNECT","TRACE","TRACK"];const C=new Set(f);const I=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const B=new Set(I);e.exports={subresource:I,forbiddenMethods:f,requestBodyHeader:h,referrerPolicy:A,requestRedirect:l,requestMode:p,requestCredentials:d,requestCache:E,redirectStatus:o,corsSafeListedMethods:t,nullBodyStatus:s,safeMethods:g,badPorts:i,requestDuplex:m,subresourceSet:B,badPortsSet:a,redirectStatusSet:n,corsSafeListedMethodsSet:r,safeMethodsSet:u,forbiddenMethodsSet:C,referrerPolicySet:c}},1900:(e,t,r)=>{"use strict";const s=r(4589);const o=new TextEncoder;const n=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/;const i=/[\u000A\u000D\u0009\u0020]/;const a=/[\u0009\u000A\u000C\u000D\u0020]/g;const A=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function dataURLProcessor(e){s(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const r={position:0};let o=collectASequenceOfCodePointsFast(",",t,r);const n=o.length;o=removeASCIIWhitespace(o,true,true);if(r.position>=t.length){return"failure"}r.position++;const i=t.slice(n+1);let a=stringPercentDecode(i);if(/;(\u0020){0,}base64$/i.test(o)){const e=isomorphicDecode(a);a=forgivingBase64(e);if(a==="failure"){return"failure"}o=o.slice(0,-6);o=o.replace(/(\u0020)+$/,"");o=o.slice(0,-1)}if(o.startsWith(";")){o="text/plain"+o}let A=parseMIMEType(o);if(A==="failure"){A=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:A,body:a}}function URLSerializer(e,t=false){if(!t){return e.href}const r=e.href;const s=e.hash.length;const o=s===0?r:r.substring(0,r.length-s);if(!s&&r.endsWith("#")){return o.slice(0,-1)}return o}function collectASequenceOfCodePoints(e,t,r){let s="";while(r.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function hexByteToNumber(e){return e>=48&&e<=57?e-48:(e&223)-55}function percentDecode(e){const t=e.length;const r=new Uint8Array(t);let s=0;for(let o=0;oe.length){return"failure"}t.position++;let s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0||!n.test(s)){return"failure"}const o=r.toLowerCase();const a=s.toLowerCase();const c={type:o,subtype:a,parameters:new Map,essence:`${o}/${a}`};while(t.positioni.test(e),e,t);let r=collectASequenceOfCodePoints(e=>e!==";"&&e!=="=",e,t);r=r.toLowerCase();if(t.positione.length){break}let s=null;if(e[t.position]==='"'){s=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0){continue}}if(r.length!==0&&n.test(r)&&(s.length===0||A.test(s))&&!c.parameters.has(r)){c.parameters.set(r,s)}}return c}function forgivingBase64(e){e=e.replace(a,"");let t=e.length;if(t%4===0){if(e.charCodeAt(t-1)===61){--t;if(e.charCodeAt(t-1)===61){--t}}}if(t%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t))){return"failure"}const r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function collectAnHTTPQuotedString(e,t,r){const o=t.position;let n="";s(e[t.position]==='"');t.position++;while(true){n+=collectASequenceOfCodePoints(e=>e!=='"'&&e!=="\\",e,t);if(t.position>=e.length){break}const r=e[t.position];t.position++;if(r==="\\"){if(t.position>=e.length){n+="\\";break}n+=e[t.position];t.position++}else{s(r==='"');break}}if(r){return n}return e.slice(o,t.position)}function serializeAMimeType(e){s(e!=="failure");const{parameters:t,essence:r}=e;let o=r;for(let[e,r]of t.entries()){o+=";";o+=e;o+="=";if(!n.test(r)){r=r.replace(/(\\|")/g,"\\$1");r='"'+r;r+='"'}o+=r}return o}function isHTTPWhiteSpace(e){return e===13||e===10||e===9||e===32}function removeHTTPWhitespace(e,t=true,r=true){return removeChars(e,t,r,isHTTPWhiteSpace)}function isASCIIWhitespace(e){return e===13||e===10||e===9||e===12||e===32}function removeASCIIWhitespace(e,t=true,r=true){return removeChars(e,t,r,isASCIIWhitespace)}function removeChars(e,t,r,s){let o=0;let n=e.length-1;if(t){while(o0&&s(e.charCodeAt(n)))n--}return o===0&&n===e.length-1?e:e.slice(o,n+1)}function isomorphicDecode(e){const t=e.length;if((2<<15)-1>t){return String.fromCharCode.apply(null,e)}let r="";let s=0;let o=(2<<15)-1;while(st){o=t-s}r+=String.fromCharCode.apply(null,e.subarray(s,s+=o))}return r}function minimizeSupportedMimeType(e){switch(e.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}if(e.subtype.endsWith("+json")){return"application/json"}if(e.subtype.endsWith("+xml")){return"application/xml"}return""}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType,removeChars:removeChars,removeHTTPWhitespace:removeHTTPWhitespace,minimizeSupportedMimeType:minimizeSupportedMimeType,HTTP_TOKEN_CODEPOINTS:n,isomorphicDecode:isomorphicDecode}},6653:(e,t,r)=>{"use strict";const{kConnected:s,kSize:o}=r(6443);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[s]===0&&this.value[o]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",()=>{if(e[s]===0&&e[o]===0){this.finalizer(t)}})}}unregister(e){}}e.exports=function(){if(process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")){process._rawDebug("Using compatibility WeakRef and FinalizationRegistry");return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:WeakRef,FinalizationRegistry:FinalizationRegistry}}},7114:(e,t,r)=>{"use strict";const{Blob:s,File:o}=r(4573);const{kState:n}=r(3627);const{webidl:i}=r(5893);class FileLike{constructor(e,t,r={}){const s=t;const o=r.type;const i=r.lastModified??Date.now();this[n]={blobLike:e,name:s,type:o,lastModified:i}}stream(...e){i.brandCheck(this,FileLike);return this[n].blobLike.stream(...e)}arrayBuffer(...e){i.brandCheck(this,FileLike);return this[n].blobLike.arrayBuffer(...e)}slice(...e){i.brandCheck(this,FileLike);return this[n].blobLike.slice(...e)}text(...e){i.brandCheck(this,FileLike);return this[n].blobLike.text(...e)}get size(){i.brandCheck(this,FileLike);return this[n].blobLike.size}get type(){i.brandCheck(this,FileLike);return this[n].blobLike.type}get name(){i.brandCheck(this,FileLike);return this[n].name}get lastModified(){i.brandCheck(this,FileLike);return this[n].lastModified}get[Symbol.toStringTag](){return"File"}}i.converters.Blob=i.interfaceConverter(s);function isFileLike(e){return e instanceof o||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={FileLike:FileLike,isFileLike:isFileLike}},116:(e,t,r)=>{"use strict";const{isUSVString:s,bufferToLowerCasedHeaderName:o}=r(3440);const{utf8DecodeBytes:n}=r(3168);const{HTTP_TOKEN_CODEPOINTS:i,isomorphicDecode:a}=r(1900);const{isFileLike:A}=r(7114);const{makeEntry:c}=r(5910);const l=r(4589);const{File:g}=r(4573);const u=globalThis.File??g;const p=Buffer.from('form-data; name="');const d=Buffer.from("; filename");const E=Buffer.from("--");const h=Buffer.from("--\r\n");function isAsciiString(e){for(let t=0;t70){return false}for(let r=0;r=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||t===39||t===45||t===95)){return false}}return true}function multipartFormDataParser(e,t){l(t!=="failure"&&t.essence==="multipart/form-data");const r=t.parameters.get("boundary");if(r===undefined){return"failure"}const o=Buffer.from(`--${r}`,"utf8");const i=[];const a={position:0};while(e[a.position]===13&&e[a.position+1]===10){a.position+=2}let g=e.length;while(e[g-1]===10&&e[g-2]===13){g-=2}if(g!==e.length){e=e.subarray(0,g)}while(true){if(e.subarray(a.position,a.position+o.length).equals(o)){a.position+=o.length}else{return"failure"}if(a.position===e.length-2&&bufferStartsWith(e,E,a)||a.position===e.length-4&&bufferStartsWith(e,h,a)){return i}if(e[a.position]!==13||e[a.position+1]!==10){return"failure"}a.position+=2;const t=parseMultipartFormDataHeaders(e,a);if(t==="failure"){return"failure"}let{name:r,filename:g,contentType:p,encoding:d}=t;a.position+=2;let m;{const t=e.indexOf(o.subarray(2),a.position);if(t===-1){return"failure"}m=e.subarray(a.position,t-4);a.position+=m.length;if(d==="base64"){m=Buffer.from(m.toString(),"base64")}}if(e[a.position]!==13||e[a.position+1]!==10){return"failure"}else{a.position+=2}let f;if(g!==null){p??="text/plain";if(!isAsciiString(p)){p=""}f=new u([m],g,{type:p})}else{f=n(Buffer.from(m))}l(s(r));l(typeof f==="string"&&s(f)||A(f));i.push(c(r,f,g))}}function parseMultipartFormDataHeaders(e,t){let r=null;let s=null;let n=null;let A=null;while(true){if(e[t.position]===13&&e[t.position+1]===10){if(r===null){return"failure"}return{name:r,filename:s,contentType:n,encoding:A}}let c=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==58,e,t);c=removeChars(c,true,true,e=>e===9||e===32);if(!i.test(c.toString())){return"failure"}if(e[t.position]!==58){return"failure"}t.position++;collectASequenceOfBytes(e=>e===32||e===9,e,t);switch(o(c)){case"content-disposition":{r=s=null;if(!bufferStartsWith(e,p,t)){return"failure"}t.position+=17;r=parseMultipartFormDataName(e,t);if(r===null){return"failure"}if(bufferStartsWith(e,d,t)){let r=t.position+d.length;if(e[r]===42){t.position+=1;r+=1}if(e[r]!==61||e[r+1]!==34){return"failure"}t.position+=12;s=parseMultipartFormDataName(e,t);if(s===null){return"failure"}}break}case"content-type":{let r=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);r=removeChars(r,false,true,e=>e===9||e===32);n=a(r);break}case"content-transfer-encoding":{let r=collectASequenceOfBytes(e=>e!==10&&e!==13,e,t);r=removeChars(r,false,true,e=>e===9||e===32);A=a(r);break}default:{collectASequenceOfBytes(e=>e!==10&&e!==13,e,t)}}if(e[t.position]!==13&&e[t.position+1]!==10){return"failure"}else{t.position+=2}}}function parseMultipartFormDataName(e,t){l(e[t.position-1]===34);let r=collectASequenceOfBytes(e=>e!==10&&e!==13&&e!==34,e,t);if(e[t.position]!==34){return null}else{t.position++}r=(new TextDecoder).decode(r).replace(/%0A/gi,"\n").replace(/%0D/gi,"\r").replace(/%22/g,'"');return r}function collectASequenceOfBytes(e,t,r){let s=r.position;while(s0&&s(e[n]))n--}return o===0&&n===e.length-1?e:e.subarray(o,n+1)}function bufferStartsWith(e,t,r){if(e.length{"use strict";const{isBlobLike:s,iteratorMixin:o}=r(3168);const{kState:n}=r(3627);const{kEnumerableProperty:i}=r(3440);const{FileLike:a,isFileLike:A}=r(7114);const{webidl:c}=r(5893);const{File:l}=r(4573);const g=r(7975);const u=globalThis.File??l;class FormData{constructor(e){c.util.markAsUncloneable(this);if(e!==undefined){throw c.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[n]=[]}append(e,t,r=undefined){c.brandCheck(this,FormData);const o="FormData.append";c.argumentLengthCheck(arguments,2,o);if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,o,"name");t=s(t)?c.converters.Blob(t,o,"value",{strict:false}):c.converters.USVString(t,o,"value");r=arguments.length===3?c.converters.USVString(r,o,"filename"):undefined;const i=makeEntry(e,t,r);this[n].push(i)}delete(e){c.brandCheck(this,FormData);const t="FormData.delete";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");this[n]=this[n].filter(t=>t.name!==e)}get(e){c.brandCheck(this,FormData);const t="FormData.get";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");const r=this[n].findIndex(t=>t.name===e);if(r===-1){return null}return this[n][r].value}getAll(e){c.brandCheck(this,FormData);const t="FormData.getAll";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[n].filter(t=>t.name===e).map(e=>e.value)}has(e){c.brandCheck(this,FormData);const t="FormData.has";c.argumentLengthCheck(arguments,1,t);e=c.converters.USVString(e,t,"name");return this[n].findIndex(t=>t.name===e)!==-1}set(e,t,r=undefined){c.brandCheck(this,FormData);const o="FormData.set";c.argumentLengthCheck(arguments,2,o);if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=c.converters.USVString(e,o,"name");t=s(t)?c.converters.Blob(t,o,"name",{strict:false}):c.converters.USVString(t,o,"name");r=arguments.length===3?c.converters.USVString(r,o,"name"):undefined;const i=makeEntry(e,t,r);const a=this[n].findIndex(t=>t.name===e);if(a!==-1){this[n]=[...this[n].slice(0,a),i,...this[n].slice(a+1).filter(t=>t.name!==e)]}else{this[n].push(i)}}[g.inspect.custom](e,t){const r=this[n].reduce((e,t)=>{if(e[t.name]){if(Array.isArray(e[t.name])){e[t.name].push(t.value)}else{e[t.name]=[e[t.name],t.value]}}else{e[t.name]=t.value}return e},{__proto__:null});t.depth??=e;t.colors??=true;const s=g.formatWithOptions(t,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}}o("FormData",FormData,n,"name","value");Object.defineProperties(FormData.prototype,{append:i,delete:i,get:i,getAll:i,has:i,set:i,[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,r){if(typeof t==="string"){}else{if(!A(t)){t=t instanceof Blob?new u([t],"blob",{type:t.type}):new a(t,"blob",{type:t.type})}if(r!==undefined){const e={type:t.type,lastModified:t.lastModified};t=t instanceof l?new u([t],r,e):new a(t,r,e)}}return{name:e,value:t}}e.exports={FormData:FormData,makeEntry:makeEntry}},1059: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 r=new URL(e);if(r.protocol!=="http:"&&r.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`)}Object.defineProperty(globalThis,t,{value:r,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},660:(e,t,r)=>{"use strict";const{kConstruct:s}=r(6443);const{kEnumerableProperty:o}=r(3440);const{iteratorMixin:n,isValidHeaderName:i,isValidHeaderValue:a}=r(3168);const{webidl:A}=r(5893);const c=r(4589);const l=r(7975);const g=Symbol("headers map");const u=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let r=e.length;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(r-1)))--r;while(r>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&r===e.length?e:e.substring(t,r)}function fill(e,t){if(Array.isArray(t)){for(let r=0;r>","record"]})}}function appendHeader(e,t,r){r=headerValueNormalize(r);if(!i(t)){throw A.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!a(r)){throw A.errors.invalidArgument({prefix:"Headers.append",value:r,type:"header value"})}if(p(e)==="immutable"){throw new TypeError("immutable")}return E(e).append(t,r,false)}function compareHeaderName(e,t){return e[0]>1);if(t[a][0]<=A[0]){i=a+1}else{n=a}}if(s!==a){o=s;while(o>i){t[o]=t[--o]}t[i]=A}}if(!r.next().done){throw new TypeError("Unreachable")}return t}else{let e=0;for(const{0:r,1:{value:s}}of this[g]){t[e++]=[r,s];c(s!==null)}return t.sort(compareHeaderName)}}}class Headers{#V;#Y;constructor(e=undefined){A.util.markAsUncloneable(this);if(e===s){return}this.#Y=new HeadersList;this.#V="none";if(e!==undefined){e=A.converters.HeadersInit(e,"Headers contructor","init");fill(this,e)}}append(e,t){A.brandCheck(this,Headers);A.argumentLengthCheck(arguments,2,"Headers.append");const r="Headers.append";e=A.converters.ByteString(e,r,"name");t=A.converters.ByteString(t,r,"value");return appendHeader(this,e,t)}delete(e){A.brandCheck(this,Headers);A.argumentLengthCheck(arguments,1,"Headers.delete");const t="Headers.delete";e=A.converters.ByteString(e,t,"name");if(!i(e)){throw A.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this.#V==="immutable"){throw new TypeError("immutable")}if(!this.#Y.contains(e,false)){return}this.#Y.delete(e,false)}get(e){A.brandCheck(this,Headers);A.argumentLengthCheck(arguments,1,"Headers.get");const t="Headers.get";e=A.converters.ByteString(e,t,"name");if(!i(e)){throw A.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#Y.get(e,false)}has(e){A.brandCheck(this,Headers);A.argumentLengthCheck(arguments,1,"Headers.has");const t="Headers.has";e=A.converters.ByteString(e,t,"name");if(!i(e)){throw A.errors.invalidArgument({prefix:t,value:e,type:"header name"})}return this.#Y.contains(e,false)}set(e,t){A.brandCheck(this,Headers);A.argumentLengthCheck(arguments,2,"Headers.set");const r="Headers.set";e=A.converters.ByteString(e,r,"name");t=A.converters.ByteString(t,r,"value");t=headerValueNormalize(t);if(!i(e)){throw A.errors.invalidArgument({prefix:r,value:e,type:"header name"})}else if(!a(t)){throw A.errors.invalidArgument({prefix:r,value:t,type:"header value"})}if(this.#V==="immutable"){throw new TypeError("immutable")}this.#Y.set(e,t,false)}getSetCookie(){A.brandCheck(this,Headers);const e=this.#Y.cookies;if(e){return[...e]}return[]}get[u](){if(this.#Y[u]){return this.#Y[u]}const e=[];const t=this.#Y.toSortedArray();const r=this.#Y.cookies;if(r===null||r.length===1){return this.#Y[u]=t}for(let s=0;s>"](e,t,r,s.bind(e))}return A.converters["record"](e,t,r)}throw A.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,compareHeaderName:compareHeaderName,Headers:Headers,HeadersList:HeadersList,getHeadersGuard:p,setHeadersGuard:d,setHeadersList:h,getHeadersList:E}},4398:(e,t,r)=>{"use strict";const{makeNetworkError:s,makeAppropriateNetworkError:o,filterResponse:n,makeResponse:i,fromInnerResponse:a}=r(9051);const{HeadersList:A}=r(660);const{Request:c,cloneRequest:l}=r(9967);const g=r(8522);const{bytesMatch:u,makePolicyContainer:p,clonePolicyContainer:d,requestBadPort:E,TAOCheck:h,appendRequestOriginHeader:m,responseLocationURL:f,requestCurrentURL:C,setRequestReferrerPolicyOnRedirect:I,tryUpgradeRequestToAPotentiallyTrustworthyURL:B,createOpaqueTimingInfo:Q,appendFetchMetadata:T,corsCheck:w,crossOriginResourcePolicyCheck:y,determineRequestsReferrer:b,coarsenedSharedCurrentTime:k,createDeferredPromise:S,isBlobLike:_,sameOrigin:R,isCancelled:v,isAborted:F,isErrorLike:D,fullyReadBody:G,readableStreamClose:P,isomorphicEncode:U,urlIsLocal:L,urlIsHttpHttpsScheme:O,urlHasHttpsScheme:M,clampAndCoarsenConnectionTimingInfo:N,simpleRangeHeaderValue:H,buildContentRange:x,createInflate:V,extractMimeType:Y}=r(3168);const{kState:J,kDispatcher:W}=r(3627);const q=r(4589);const{safelyExtractBody:j,extractBody:z}=r(4492);const{redirectStatusSet:K,nullBodyStatus:Z,safeMethodsSet:X,requestBodyHeader:$,subresourceSet:ee}=r(4495);const te=r(8474);const{Readable:re,pipeline:se,finished:oe}=r(7075);const{addAbortListener:ne,isErrored:ie,isReadable:ae,bufferToLowerCasedHeaderName:Ae}=r(3440);const{dataURLProcessor:ce,serializeAMimeType:le,minimizeSupportedMimeType:ge}=r(1900);const{getGlobalDispatcher:ue}=r(2581);const{webidl:pe}=r(5893);const{STATUS_CODES:de}=r(7067);const Ee=["GET","HEAD"];const he=typeof __UNDICI_IS_NODE__!=="undefined"||typeof esbuildDetection!=="undefined"?"node":"undici";let me;class Fetch extends te{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing"}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 DOMException("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function handleFetchDone(e){finalizeAndReportTiming(e,"fetch")}function fetch(e,t=undefined){pe.argumentLengthCheck(arguments,1,"globalThis.fetch");let r=S();let s;try{s=new c(e,t)}catch(e){r.reject(e);return r.promise}const o=s[J];if(s.signal.aborted){abortFetch(r,o,null,s.signal.reason);return r.promise}const n=o.client.globalObject;if(n?.constructor?.name==="ServiceWorkerGlobalScope"){o.serviceWorkers="none"}let i=null;let A=false;let l=null;ne(s.signal,()=>{A=true;q(l!=null);l.abort(s.signal.reason);const e=i?.deref();abortFetch(r,o,e,s.signal.reason)});const processResponse=e=>{if(A){return}if(e.aborted){abortFetch(r,o,i,l.serializedAbortReason);return}if(e.type==="error"){r.reject(new TypeError("fetch failed",{cause:e.error}));return}i=new WeakRef(a(e,"immutable"));r.resolve(i.deref());r=null};l=fetching({request:o,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:s[W]});return r.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const r=e.urlList[0];let s=e.timingInfo;let o=e.cacheState;if(!O(r)){return}if(s===null){return}if(!e.timingAllowPassed){s=Q({startTime:s.startTime});o=""}s.endTime=k();e.timingInfo=s;fe(s,r.href,t,globalThis,o)}const fe=performance.markResourceTiming;function abortFetch(e,t,r,s){if(e){e.reject(s)}if(t.body!=null&&ae(t.body?.stream)){t.body.stream.cancel(s).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}if(r==null){return}const o=r[J];if(o.body!=null&&ae(o.body?.stream)){o.body.stream.cancel(s).catch(e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e})}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseEndOfBody:o,processResponseConsumeBody:n,useParallelQueue:i=false,dispatcher:a=ue()}){q(a);let A=null;let c=false;if(e.client!=null){A=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=k(c);const g=Q({startTime:l});const u={controller:new Fetch(a),request:e,timingInfo:g,processRequestBodyChunkLength:t,processRequestEndOfBody:r,processResponse:s,processResponseConsumeBody:n,processResponseEndOfBody:o,taskDestination:A,crossOriginIsolatedCapability:c};q(!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=d(e.client.policyContainer)}else{e.policyContainer=p()}}if(!e.headersList.contains("accept",true)){const t="*/*";e.headersList.append("accept",t,true)}if(!e.headersList.contains("accept-language",true)){e.headersList.append("accept-language","*",true)}if(e.priority===null){}if(ee.has(e.destination)){}mainFetch(u).catch(e=>{u.controller.terminate(e)});return u.controller}async function mainFetch(e,t=false){const r=e.request;let o=null;if(r.localURLsOnly&&!L(C(r))){o=s("local URLs only")}B(r);if(E(r)==="blocked"){o=s("bad port")}if(r.referrerPolicy===""){r.referrerPolicy=r.policyContainer.referrerPolicy}if(r.referrer!=="no-referrer"){r.referrer=b(r)}if(o===null){o=await(async()=>{const t=C(r);if(R(t,r.url)&&r.responseTainting==="basic"||t.protocol==="data:"||(r.mode==="navigate"||r.mode==="websocket")){r.responseTainting="basic";return await schemeFetch(e)}if(r.mode==="same-origin"){return s('request mode cannot be "same-origin"')}if(r.mode==="no-cors"){if(r.redirect!=="follow"){return s('redirect mode cannot be "follow" for "no-cors" request')}r.responseTainting="opaque";return await schemeFetch(e)}if(!O(C(r))){return s("URL scheme must be a HTTP(S) scheme")}r.responseTainting="cors";return await httpFetch(e)})()}if(t){return o}if(o.status!==0&&!o.internalResponse){if(r.responseTainting==="cors"){}if(r.responseTainting==="basic"){o=n(o,"basic")}else if(r.responseTainting==="cors"){o=n(o,"cors")}else if(r.responseTainting==="opaque"){o=n(o,"opaque")}else{q(false)}}let i=o.status===0?o:o.internalResponse;if(i.urlList.length===0){i.urlList.push(...r.urlList)}if(!r.timingAllowFailed){o.timingAllowPassed=true}if(o.type==="opaque"&&i.status===206&&i.rangeRequested&&!r.headers.contains("range",true)){o=i=s()}if(o.status!==0&&(r.method==="HEAD"||r.method==="CONNECT"||Z.includes(i.status))){i.body=null;e.controller.dump=true}if(r.integrity){const processBodyError=t=>fetchFinale(e,s(t));if(r.responseTainting==="opaque"||o.body==null){processBodyError(o.error);return}const processBody=t=>{if(!u(t,r.integrity)){processBodyError("integrity mismatch");return}o.body=j(t)[0];fetchFinale(e,o)};await G(o.body,processBody,processBodyError)}else{fetchFinale(e,o)}}function schemeFetch(e){if(v(e)&&e.request.redirectCount===0){return Promise.resolve(o(e))}const{request:t}=e;const{protocol:n}=C(t);switch(n){case"about:":{return Promise.resolve(s("about scheme is not supported"))}case"blob:":{if(!me){me=r(4573).resolveObjectURL}const e=C(t);if(e.search.length!==0){return Promise.resolve(s("NetworkError when attempting to fetch resource."))}const o=me(e.toString());if(t.method!=="GET"||!_(o)){return Promise.resolve(s("invalid method"))}const n=i();const a=o.size;const A=U(`${a}`);const c=o.type;if(!t.headersList.contains("range",true)){const e=z(o);n.statusText="OK";n.body=e[0];n.headersList.set("content-length",A,true);n.headersList.set("content-type",c,true)}else{n.rangeRequested=true;const e=t.headersList.get("range",true);const r=H(e,true);if(r==="failure"){return Promise.resolve(s("failed to fetch the data URL"))}let{rangeStartValue:i,rangeEndValue:A}=r;if(i===null){i=a-A;A=i+A-1}else{if(i>=a){return Promise.resolve(s("Range start is greater than the blob's size."))}if(A===null||A>=a){A=a-1}}const l=o.slice(i,A,c);const g=z(l);n.body=g[0];const u=U(`${l.size}`);const p=x(i,A,a);n.status=206;n.statusText="Partial Content";n.headersList.set("content-length",u,true);n.headersList.set("content-type",c,true);n.headersList.set("content-range",p,true)}return Promise.resolve(n)}case"data:":{const e=C(t);const r=ce(e);if(r==="failure"){return Promise.resolve(s("failed to fetch the data URL"))}const o=le(r.mimeType);return Promise.resolve(i({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:o}]],body:j(r.body)[0]}))}case"file:":{return Promise.resolve(s("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch(e=>s(e))}default:{return Promise.resolve(s("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask(()=>e.processResponseDone(t))}}function fetchFinale(e,t){let r=e.timingInfo;const processResponseEndOfBody=()=>{const s=Date.now();if(e.request.destination==="document"){e.controller.fullTimingInfo=r}e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:"){return}r.endTime=s;let o=t.cacheState;const n=t.bodyInfo;if(!t.timingAllowPassed){r=Q(r);o=""}let i=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){i=t.status;const e=Y(t.headersList);if(e!=="failure"){n.contentType=ge(e)}}if(e.request.initiatorType!=null){fe(r,e.request.url.href,e.request.initiatorType,globalThis,o,n,i)}};const processResponseEndOfBodyTask=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask(()=>e.processResponseEndOfBody(t))}if(e.request.initiatorType!=null){e.controller.reportTimingSteps()}};queueMicrotask(()=>processResponseEndOfBodyTask())};if(e.processResponse!=null){queueMicrotask(()=>{e.processResponse(t);e.processResponse=null})}const s=t.type==="error"?t:t.internalResponse??t;if(s.body==null){processResponseEndOfBody()}else{oe(s.body.stream,()=>{processResponseEndOfBody()})}}async function httpFetch(e){const t=e.request;let r=null;let o=null;const n=e.timingInfo;if(t.serviceWorkers==="all"){}if(r===null){if(t.redirect==="follow"){t.serviceWorkers="none"}o=r=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&w(t,r)==="failure"){return s("cors failure")}if(h(t,r)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||r.type==="opaque")&&y(t.origin,t.client,t.destination,o)==="blocked"){return s("blocked")}if(K.has(o.status)){if(t.redirect!=="manual"){e.controller.connection.destroy(undefined,false)}if(t.redirect==="error"){r=s("unexpected redirect")}else if(t.redirect==="manual"){r=o}else if(t.redirect==="follow"){r=await httpRedirectFetch(e,r)}else{q(false)}}r.timingInfo=n;return r}function httpRedirectFetch(e,t){const r=e.request;const o=t.internalResponse?t.internalResponse:t;let n;try{n=f(o,C(r).hash);if(n==null){return t}}catch(e){return Promise.resolve(s(e))}if(!O(n)){return Promise.resolve(s("URL scheme must be a HTTP(S) scheme"))}if(r.redirectCount===20){return Promise.resolve(s("redirect count exceeded"))}r.redirectCount+=1;if(r.mode==="cors"&&(n.username||n.password)&&!R(r,n)){return Promise.resolve(s('cross origin not allowed for request mode "cors"'))}if(r.responseTainting==="cors"&&(n.username||n.password)){return Promise.resolve(s('URL cannot contain credentials for request mode "cors"'))}if(o.status!==303&&r.body!=null&&r.body.source==null){return Promise.resolve(s())}if([301,302].includes(o.status)&&r.method==="POST"||o.status===303&&!Ee.includes(r.method)){r.method="GET";r.body=null;for(const e of $){r.headersList.delete(e)}}if(!R(C(r),n)){r.headersList.delete("authorization",true);r.headersList.delete("proxy-authorization",true);r.headersList.delete("cookie",true);r.headersList.delete("host",true)}if(r.body!=null){q(r.body.source!=null);r.body=j(r.body.source)[0]}const i=e.timingInfo;i.redirectEndTime=i.postRedirectStartTime=k(e.crossOriginIsolatedCapability);if(i.redirectStartTime===0){i.redirectStartTime=i.startTime}r.urlList.push(n);I(r,o);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,r=false){const n=e.request;let i=null;let a=null;let A=null;const c=null;const g=false;if(n.window==="no-window"&&n.redirect==="error"){i=e;a=n}else{a=l(n);i={...e};i.request=a}const u=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic";const p=a.body?a.body.length:null;let d=null;if(a.body==null&&["POST","PUT"].includes(a.method)){d="0"}if(p!=null){d=U(`${p}`)}if(d!=null){a.headersList.append("content-length",d,true)}if(p!=null&&a.keepalive){}if(a.referrer instanceof URL){a.headersList.append("referer",U(a.referrer.href),true)}m(a);T(a);if(!a.headersList.contains("user-agent",true)){a.headersList.append("user-agent",he)}if(a.cache==="default"&&(a.headersList.contains("if-modified-since",true)||a.headersList.contains("if-none-match",true)||a.headersList.contains("if-unmodified-since",true)||a.headersList.contains("if-match",true)||a.headersList.contains("if-range",true))){a.cache="no-store"}if(a.cache==="no-cache"&&!a.preventNoCacheCacheControlHeaderModification&&!a.headersList.contains("cache-control",true)){a.headersList.append("cache-control","max-age=0",true)}if(a.cache==="no-store"||a.cache==="reload"){if(!a.headersList.contains("pragma",true)){a.headersList.append("pragma","no-cache",true)}if(!a.headersList.contains("cache-control",true)){a.headersList.append("cache-control","no-cache",true)}}if(a.headersList.contains("range",true)){a.headersList.append("accept-encoding","identity",true)}if(!a.headersList.contains("accept-encoding",true)){if(M(C(a))){a.headersList.append("accept-encoding","br, gzip, deflate",true)}else{a.headersList.append("accept-encoding","gzip, deflate",true)}}a.headersList.delete("host",true);if(u){}if(c==null){a.cache="no-store"}if(a.cache!=="no-store"&&a.cache!=="reload"){}if(A==null){if(a.cache==="only-if-cached"){return s("only if cached")}const e=await httpNetworkFetch(i,u,r);if(!X.has(a.method)&&e.status>=200&&e.status<=399){}if(g&&e.status===304){}if(A==null){A=e}}A.urlList=[...a.urlList];if(a.headersList.contains("range",true)){A.rangeRequested=true}A.requestIncludesCredentials=u;if(A.status===407){if(n.window==="no-window"){return s()}if(v(e)){return o(e)}return s("proxy authentication required")}if(A.status===421&&!r&&(n.body==null||n.body.source!=null)){if(v(e)){return o(e)}e.controller.connection.destroy();A=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return A}async function httpNetworkFetch(e,t=false,r=false){q(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e,t=true){if(!this.destroyed){this.destroyed=true;if(t){this.abort?.(e??new DOMException("The operation was aborted.","AbortError"))}}}};const n=e.request;let a=null;const c=e.timingInfo;const l=null;if(l==null){n.cache="no-store"}const u=r?"yes":"no";if(n.mode==="websocket"){}else{}let p=null;if(n.body==null&&e.processRequestEndOfBody){queueMicrotask(()=>e.processRequestEndOfBody())}else if(n.body!=null){const processBodyChunk=async function*(t){if(v(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(v(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(v(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};p=async function*(){try{for await(const e of n.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:r,statusText:s,headersList:o,socket:n}=await dispatch({body:p});if(n){a=i({status:r,statusText:s,headersList:o,socket:n})}else{const n=t[Symbol.asyncIterator]();e.controller.next=()=>n.next();a=i({status:r,statusText:s,headersList:o})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return o(e,t)}return s(t)}const pullAlgorithm=async()=>{await e.controller.resume()};const cancelAlgorithm=t=>{if(!v(e)){e.controller.abort(t)}};const d=new ReadableStream({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)},type:"bytes"});a.body={stream:d,source:null,length:null};e.controller.onAborted=onAborted;e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let r;try{const{done:r,value:s}=await e.controller.next();if(F(e)){break}t=r?undefined:s}catch(s){if(e.controller.ended&&!c.encodedBodySize){t=undefined}else{t=s;r=true}}if(t===undefined){P(e.controller.controller);finalizeResponse(e,a);return}c.decodedBodySize+=t?.byteLength??0;if(r){e.controller.terminate(t);return}const s=new Uint8Array(t);if(s.byteLength){e.controller.controller.enqueue(s)}if(ie(d)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0){return}}};function onAborted(t){if(F(e)){a.aborted=true;if(ae(d)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ae(d)){e.controller.controller.error(new TypeError("terminated",{cause:D(t)?t:undefined}))}}e.controller.connection.destroy()}return a;function dispatch({body:t}){const r=C(n);const s=e.controller.dispatcher;return new Promise((o,i)=>s.dispatch({path:r.pathname+r.search,origin:r.origin,method:n.method,body:s.isMockActive?n.body&&(n.body.source||n.body.stream):t,headers:n.headersList.entries,maxRedirections:0,upgrade:n.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:r}=e.controller;c.finalConnectionTimingInfo=N(undefined,c.postRedirectStartTime,e.crossOriginIsolatedCapability);if(r.destroyed){t(new DOMException("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=r.abort=t}c.finalNetworkRequestStartTime=k(e.crossOriginIsolatedCapability)},onResponseStarted(){c.finalNetworkResponseStartTime=k(e.crossOriginIsolatedCapability)},onHeaders(e,t,r,s){if(e<200){return}let a="";const c=new A;for(let e=0;er){i(new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${r}`));return true}for(let e=t.length-1;e>=0;--e){const r=t[e].trim();if(r==="x-gzip"||r==="gzip"){l.push(g.createGunzip({flush:g.constants.Z_SYNC_FLUSH,finishFlush:g.constants.Z_SYNC_FLUSH}))}else if(r==="deflate"){l.push(V({flush:g.constants.Z_SYNC_FLUSH,finishFlush:g.constants.Z_SYNC_FLUSH}))}else if(r==="br"){l.push(g.createBrotliDecompress({flush:g.constants.BROTLI_OPERATION_FLUSH,finishFlush:g.constants.BROTLI_OPERATION_FLUSH}))}else{l.length=0;break}}}const p=this.onError.bind(this);o({status:e,statusText:s,headersList:c,body:l.length?se(this.body,...l,e=>{if(e){this.onError(e)}}).on("error",p):this.body.on("error",p)});return true},onData(t){if(e.controller.dump){return}const r=t;c.encodedBodySize+=r.byteLength;return this.body.push(r)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}if(e.controller.onAborted){e.controller.off("terminated",e.controller.onAborted)}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);i(t)},onUpgrade(e,t,r){if(e!==101){return}const s=new A;for(let e=0;e{"use strict";const{extractBody:s,mixinBody:o,cloneBody:n,bodyUnusable:i}=r(4492);const{Headers:a,fill:A,HeadersList:c,setHeadersGuard:l,getHeadersGuard:g,setHeadersList:u,getHeadersList:p}=r(660);const{FinalizationRegistry:d}=r(6653)();const E=r(3440);const h=r(7975);const{isValidHTTPToken:m,sameOrigin:f,environmentSettingsObject:C}=r(3168);const{forbiddenMethodsSet:I,corsSafeListedMethodsSet:B,referrerPolicy:Q,requestRedirect:T,requestMode:w,requestCredentials:y,requestCache:b,requestDuplex:k}=r(4495);const{kEnumerableProperty:S,normalizedMethodRecordsBase:_,normalizedMethodRecords:R}=E;const{kHeaders:v,kSignal:F,kState:D,kDispatcher:G}=r(3627);const{webidl:P}=r(5893);const{URLSerializer:U}=r(1900);const{kConstruct:L}=r(6443);const O=r(4589);const{getMaxListeners:M,setMaxListeners:N,getEventListeners:H,defaultMaxListeners:x}=r(8474);const V=Symbol("abortController");const Y=new d(({signal:e,abort:t})=>{e.removeEventListener("abort",t)});const J=new WeakMap;function buildAbort(e){return abort;function abort(){const t=e.deref();if(t!==undefined){Y.unregister(abort);this.removeEventListener("abort",abort);t.abort(this.reason);const e=J.get(t.signal);if(e!==undefined){if(e.size!==0){for(const t of e){const e=t.deref();if(e!==undefined){e.abort(this.reason)}}e.clear()}J.delete(t.signal)}}}}let W=false;class Request{constructor(e,t={}){P.util.markAsUncloneable(this);if(e===L){return}const r="Request constructor";P.argumentLengthCheck(arguments,1,r);e=P.converters.RequestInfo(e,r,"input");t=P.converters.RequestInit(t,r,"init");let o=null;let n=null;const g=C.settingsObject.baseUrl;let d=null;if(typeof e==="string"){this[G]=t.dispatcher;let r;try{r=new URL(e,g)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(r.username||r.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}o=makeRequest({urlList:[r]});n="cors"}else{this[G]=t.dispatcher||e[G];O(e instanceof Request);o=e[D];d=e[F]}const h=C.settingsObject.origin;let Q="client";if(o.window?.constructor?.name==="EnvironmentSettingsObject"&&f(o.window,h)){Q=o.window}if(t.window!=null){throw new TypeError(`'window' option '${Q}' must be null`)}if("window"in t){Q="no-window"}o=makeRequest({method:o.method,headersList:o.headersList,unsafeRequest:o.unsafeRequest,client:C.settingsObject,window:Q,priority:o.priority,origin:o.origin,referrer:o.referrer,referrerPolicy:o.referrerPolicy,mode:o.mode,credentials:o.credentials,cache:o.cache,redirect:o.redirect,integrity:o.integrity,keepalive:o.keepalive,reloadNavigation:o.reloadNavigation,historyNavigation:o.historyNavigation,urlList:[...o.urlList]});const T=Object.keys(t).length!==0;if(T){if(o.mode==="navigate"){o.mode="same-origin"}o.reloadNavigation=false;o.historyNavigation=false;o.origin="client";o.referrer="client";o.referrerPolicy="";o.url=o.urlList[o.urlList.length-1];o.urlList=[o.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){o.referrer="no-referrer"}else{let t;try{t=new URL(e,g)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||h&&!f(t,C.settingsObject.baseUrl)){o.referrer="client"}else{o.referrer=t}}}if(t.referrerPolicy!==undefined){o.referrerPolicy=t.referrerPolicy}let w;if(t.mode!==undefined){w=t.mode}else{w=n}if(w==="navigate"){throw P.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(w!=null){o.mode=w}if(t.credentials!==undefined){o.credentials=t.credentials}if(t.cache!==undefined){o.cache=t.cache}if(o.cache==="only-if-cached"&&o.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){o.redirect=t.redirect}if(t.integrity!=null){o.integrity=String(t.integrity)}if(t.keepalive!==undefined){o.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;const r=R[e];if(r!==undefined){o.method=r}else{if(!m(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}const t=e.toUpperCase();if(I.has(t)){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=_[t]??e;o.method=e}if(!W&&o.method==="patch"){process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"});W=true}}if(t.signal!==undefined){d=t.signal}this[D]=o;const y=new AbortController;this[F]=y.signal;if(d!=null){if(!d||typeof d.aborted!=="boolean"||typeof d.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(d.aborted){y.abort(d.reason)}else{this[V]=y;const e=new WeakRef(y);const t=buildAbort(e);try{if(typeof M==="function"&&M(d)===x){N(1500,d)}else if(H(d,"abort").length>=x){N(1500,d)}}catch{}E.addAbortListener(d,t);Y.register(y,{signal:d,abort:t},t)}}this[v]=new a(L);u(this[v],o.headersList);l(this[v],"request");if(w==="no-cors"){if(!B.has(o.method)){throw new TypeError(`'${o.method} is unsupported in no-cors mode.`)}l(this[v],"request-no-cors")}if(T){const e=p(this[v]);const r=t.headers!==undefined?t.headers:new c(e);e.clear();if(r instanceof c){for(const{name:t,value:s}of r.rawValues()){e.append(t,s,false)}e.cookies=r.cookies}else{A(this[v],r)}}const b=e instanceof Request?e[D].body:null;if((t.body!=null||b!=null)&&(o.method==="GET"||o.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let k=null;if(t.body!=null){const[e,r]=s(t.body,o.keepalive);k=e;if(r&&!p(this[v]).contains("content-type",true)){this[v].append("content-type",r)}}const S=k??b;if(S!=null&&S.source==null){if(k!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(o.mode!=="same-origin"&&o.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}o.useCORSPreflightFlag=true}let U=S;if(k==null&&b!=null){if(i(e)){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}const t=new TransformStream;b.stream.pipeThrough(t);U={source:b.source,length:b.length,stream:t.readable}}this[D].body=U}get method(){P.brandCheck(this,Request);return this[D].method}get url(){P.brandCheck(this,Request);return U(this[D].url)}get headers(){P.brandCheck(this,Request);return this[v]}get destination(){P.brandCheck(this,Request);return this[D].destination}get referrer(){P.brandCheck(this,Request);if(this[D].referrer==="no-referrer"){return""}if(this[D].referrer==="client"){return"about:client"}return this[D].referrer.toString()}get referrerPolicy(){P.brandCheck(this,Request);return this[D].referrerPolicy}get mode(){P.brandCheck(this,Request);return this[D].mode}get credentials(){return this[D].credentials}get cache(){P.brandCheck(this,Request);return this[D].cache}get redirect(){P.brandCheck(this,Request);return this[D].redirect}get integrity(){P.brandCheck(this,Request);return this[D].integrity}get keepalive(){P.brandCheck(this,Request);return this[D].keepalive}get isReloadNavigation(){P.brandCheck(this,Request);return this[D].reloadNavigation}get isHistoryNavigation(){P.brandCheck(this,Request);return this[D].historyNavigation}get signal(){P.brandCheck(this,Request);return this[F]}get body(){P.brandCheck(this,Request);return this[D].body?this[D].body.stream:null}get bodyUsed(){P.brandCheck(this,Request);return!!this[D].body&&E.isDisturbed(this[D].body.stream)}get duplex(){P.brandCheck(this,Request);return"half"}clone(){P.brandCheck(this,Request);if(i(this)){throw new TypeError("unusable")}const e=cloneRequest(this[D]);const t=new AbortController;if(this.signal.aborted){t.abort(this.signal.reason)}else{let e=J.get(this.signal);if(e===undefined){e=new Set;J.set(this.signal,e)}const r=new WeakRef(t);e.add(r);E.addAbortListener(t.signal,buildAbort(r))}return fromInnerRequest(e,t.signal,g(this[v]))}[h.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${h.formatWithOptions(t,r)}`}}o(Request);function makeRequest(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??false,unsafeRequest:e.unsafeRequest??false,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??false,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??false,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??false,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??false,historyNavigation:e.historyNavigation??false,userActivation:e.userActivation??false,taintedOrigin:e.taintedOrigin??false,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??false,done:e.done??false,timingAllowFailed:e.timingAllowFailed??false,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new c(e.headersList):new c}}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=n(t,e.body)}return t}function fromInnerRequest(e,t,r){const s=new Request(L);s[D]=e;s[F]=t;s[v]=new a(L);u(s[v],e.headersList);l(s[v],r);return s}Object.defineProperties(Request.prototype,{method:S,url:S,headers:S,redirect:S,clone:S,signal:S,duplex:S,destination:S,body:S,bodyUsed:S,isHistoryNavigation:S,isReloadNavigation:S,keepalive:S,integrity:S,cache:S,credentials:S,attribute:S,referrerPolicy:S,referrer:S,mode:S,[Symbol.toStringTag]:{value:"Request",configurable:true}});P.converters.Request=P.interfaceConverter(Request);P.converters.RequestInfo=function(e,t,r){if(typeof e==="string"){return P.converters.USVString(e,t,r)}if(e instanceof Request){return P.converters.Request(e,t,r)}return P.converters.USVString(e,t,r)};P.converters.AbortSignal=P.interfaceConverter(AbortSignal);P.converters.RequestInit=P.dictionaryConverter([{key:"method",converter:P.converters.ByteString},{key:"headers",converter:P.converters.HeadersInit},{key:"body",converter:P.nullableConverter(P.converters.BodyInit)},{key:"referrer",converter:P.converters.USVString},{key:"referrerPolicy",converter:P.converters.DOMString,allowedValues:Q},{key:"mode",converter:P.converters.DOMString,allowedValues:w},{key:"credentials",converter:P.converters.DOMString,allowedValues:y},{key:"cache",converter:P.converters.DOMString,allowedValues:b},{key:"redirect",converter:P.converters.DOMString,allowedValues:T},{key:"integrity",converter:P.converters.DOMString},{key:"keepalive",converter:P.converters.boolean},{key:"signal",converter:P.nullableConverter(e=>P.converters.AbortSignal(e,"RequestInit","signal",{strict:false}))},{key:"window",converter:P.converters.any},{key:"duplex",converter:P.converters.DOMString,allowedValues:k},{key:"dispatcher",converter:P.converters.any}]);e.exports={Request:Request,makeRequest:makeRequest,fromInnerRequest:fromInnerRequest,cloneRequest:cloneRequest}},9051:(e,t,r)=>{"use strict";const{Headers:s,HeadersList:o,fill:n,getHeadersGuard:i,setHeadersGuard:a,setHeadersList:A}=r(660);const{extractBody:c,cloneBody:l,mixinBody:g,hasFinalizationRegistry:u,streamRegistry:p,bodyUnusable:d}=r(4492);const E=r(3440);const h=r(7975);const{kEnumerableProperty:m}=E;const{isValidReasonPhrase:f,isCancelled:C,isAborted:I,isBlobLike:B,serializeJavascriptValueToJSONString:Q,isErrorLike:T,isomorphicEncode:w,environmentSettingsObject:y}=r(3168);const{redirectStatusSet:b,nullBodyStatus:k}=r(4495);const{kState:S,kHeaders:_}=r(3627);const{webidl:R}=r(5893);const{FormData:v}=r(5910);const{URLSerializer:F}=r(1900);const{kConstruct:D}=r(6443);const G=r(4589);const{types:P}=r(7975);const U=new TextEncoder("utf-8");class Response{static error(){const e=fromInnerResponse(makeNetworkError(),"immutable");return e}static json(e,t={}){R.argumentLengthCheck(arguments,1,"Response.json");if(t!==null){t=R.converters.ResponseInit(t)}const r=U.encode(Q(e));const s=c(r);const o=fromInnerResponse(makeResponse({}),"response");initializeResponse(o,t,{body:s[0],type:"application/json"});return o}static redirect(e,t=302){R.argumentLengthCheck(arguments,1,"Response.redirect");e=R.converters.USVString(e);t=R.converters["unsigned short"](t);let r;try{r=new URL(e,y.settingsObject.baseUrl)}catch(t){throw new TypeError(`Failed to parse URL from ${e}`,{cause:t})}if(!b.has(t)){throw new RangeError(`Invalid status code ${t}`)}const s=fromInnerResponse(makeResponse({}),"immutable");s[S].status=t;const o=w(F(r));s[S].headersList.append("location",o,true);return s}constructor(e=null,t={}){R.util.markAsUncloneable(this);if(e===D){return}if(e!==null){e=R.converters.BodyInit(e)}t=R.converters.ResponseInit(t);this[S]=makeResponse({});this[_]=new s(D);a(this[_],"response");A(this[_],this[S].headersList);let r=null;if(e!=null){const[t,s]=c(e);r={body:t,type:s}}initializeResponse(this,t,r)}get type(){R.brandCheck(this,Response);return this[S].type}get url(){R.brandCheck(this,Response);const e=this[S].urlList;const t=e[e.length-1]??null;if(t===null){return""}return F(t,true)}get redirected(){R.brandCheck(this,Response);return this[S].urlList.length>1}get status(){R.brandCheck(this,Response);return this[S].status}get ok(){R.brandCheck(this,Response);return this[S].status>=200&&this[S].status<=299}get statusText(){R.brandCheck(this,Response);return this[S].statusText}get headers(){R.brandCheck(this,Response);return this[_]}get body(){R.brandCheck(this,Response);return this[S].body?this[S].body.stream:null}get bodyUsed(){R.brandCheck(this,Response);return!!this[S].body&&E.isDisturbed(this[S].body.stream)}clone(){R.brandCheck(this,Response);if(d(this)){throw R.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[S]);if(u&&this[S].body?.stream){p.register(this,new WeakRef(this[S].body.stream))}return fromInnerResponse(e,i(this[_]))}[h.inspect.custom](e,t){if(t.depth===null){t.depth=2}t.colors??=true;const r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${h.formatWithOptions(t,r)}`}}g(Response);Object.defineProperties(Response.prototype,{type:m,url:m,status:m,ok:m,redirected:m,statusText:m,headers:m,clone:m,body:m,bodyUsed:m,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:m,redirect:m,error:m});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=l(t,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 o(e?.headersList):new o,urlList:e?.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=T(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function isNetworkError(e){return e.type==="error"&&e.status===0}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,r){return r in t?t[r]:e[r]},set(e,r,s){G(!(r in t));e[r]=s;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{G(false)}}function makeAppropriateNetworkError(e,t=null){G(C(e));return I(e)?makeNetworkError(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,r){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(!f(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[S].status=t.status}if("statusText"in t&&t.statusText!=null){e[S].statusText=t.statusText}if("headers"in t&&t.headers!=null){n(e[_],t.headers)}if(r){if(k.includes(e.status)){throw R.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`})}e[S].body=r.body;if(r.type!=null&&!e[S].headersList.contains("content-type",true)){e[S].headersList.append("content-type",r.type,true)}}}function fromInnerResponse(e,t){const r=new Response(D);r[S]=e;r[_]=new s(D);A(r[_],e.headersList);a(r[_],t);if(u&&e.body?.stream){p.register(r,new WeakRef(e.body.stream))}return r}R.converters.ReadableStream=R.interfaceConverter(ReadableStream);R.converters.FormData=R.interfaceConverter(v);R.converters.URLSearchParams=R.interfaceConverter(URLSearchParams);R.converters.XMLHttpRequestBodyInit=function(e,t,r){if(typeof e==="string"){return R.converters.USVString(e,t,r)}if(B(e)){return R.converters.Blob(e,t,r,{strict:false})}if(ArrayBuffer.isView(e)||P.isArrayBuffer(e)){return R.converters.BufferSource(e,t,r)}if(E.isFormDataLike(e)){return R.converters.FormData(e,t,r,{strict:false})}if(e instanceof URLSearchParams){return R.converters.URLSearchParams(e,t,r)}return R.converters.DOMString(e,t,r)};R.converters.BodyInit=function(e,t,r){if(e instanceof ReadableStream){return R.converters.ReadableStream(e,t,r)}if(e?.[Symbol.asyncIterator]){return e}return R.converters.XMLHttpRequestBodyInit(e,t,r)};R.converters.ResponseInit=R.dictionaryConverter([{key:"status",converter:R.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:R.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:R.converters.HeadersInit}]);e.exports={isNetworkError:isNetworkError,makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse,fromInnerResponse:fromInnerResponse}},3627:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}},3168:(e,t,r)=>{"use strict";const{Transform:s}=r(7075);const o=r(8522);const{redirectStatusSet:n,referrerPolicySet:i,badPortsSet:a}=r(4495);const{getGlobalOrigin:A}=r(1059);const{collectASequenceOfCodePoints:c,collectAnHTTPQuotedString:l,removeChars:g,parseMIMEType:u}=r(1900);const{performance:p}=r(643);const{isBlobLike:d,ReadableStreamFrom:E,isValidHTTPToken:h,normalizedMethodRecordsBase:m}=r(3440);const f=r(4589);const{isUint8Array:C}=r(3429);const{webidl:I}=r(5893);let B=[];let Q;try{Q=r(7598);const e=["sha256","sha384","sha512"];B=Q.getHashes().filter(t=>e.includes(t))}catch{}function responseURL(e){const t=e.urlList;const r=t.length;return r===0?null:t[r-1].toString()}function responseLocationURL(e,t){if(!n.has(e.status)){return null}let r=e.headersList.get("location",true);if(r!==null&&isValidHeaderValue(r)){if(!isValidEncodedURL(r)){r=normalizeBinaryStringToUtf8(r)}r=new URL(r,responseURL(e))}if(r&&!r.hash){r.hash=t}return r}function isValidEncodedURL(e){for(let t=0;t126||r<32){return false}}return true}function normalizeBinaryStringToUtf8(e){return Buffer.from(e,"binary").toString("utf8")}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=32&&r<=126||r>=128&&r<=255)){return false}}return true}const T=h;function isValidHeaderValue(e){return(e[0]==="\t"||e[0]===" "||e[e.length-1]==="\t"||e[e.length-1]===" "||e.includes("\n")||e.includes("\r")||e.includes("\0"))===false}function setRequestReferrerPolicyOnRedirect(e,t){const{headersList:r}=t;const s=(r.get("referrer-policy",true)??"").split(",");let o="";if(s.length>0){for(let e=s.length;e!==0;e--){const t=s[e-1].trim();if(i.has(t)){o=t;break}}}if(o!==""){e.referrerPolicy=o}}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,true)}function appendRequestOriginHeader(e){let t=e.origin;if(t==="client"||t===undefined){return}if(e.responseTainting==="cors"||e.mode==="websocket"){e.headersList.append("origin",t,true)}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:}e.headersList.append("origin",t,true)}}function coarsenTime(e,t){return e}function clampAndCoarsenConnectionTimingInfo(e,t,r){if(!e?.startTime||e.startTime4096){s=o}const n=sameOrigin(e,s);const i=isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return o!=null?o:stripURLForReferrer(r,true);case"unsafe-url":return s;case"same-origin":return n?o:"no-referrer";case"origin-when-cross-origin":return n?s:o;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(s,t)){return s}if(isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return o}case"strict-origin":case"no-referrer-when-downgrade":default:return i?"no-referrer":o}}function stripURLForReferrer(e,t){f(e instanceof URL);e=new URL(e);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(Q===undefined){return true}const r=parseMetadata(t);if(r==="no metadata"){return true}if(r.length===0){return true}const s=getStrongestMetadata(r);const o=filterMetadataListByAlgorithm(r,s);for(const t of o){const r=t.algo;const s=t.hash;let o=Q.createHash(r).update(e).digest("base64");if(o[o.length-1]==="="){if(o[o.length-2]==="="){o=o.slice(0,-2)}else{o=o.slice(0,-1)}}if(compareBase64Mixed(o,s)){return true}}return false}const w=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let r=true;for(const s of e.split(" ")){r=false;const e=w.exec(s);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const o=e.groups.algo.toLowerCase();if(B.includes(o)){t.push(e.groups)}}if(r===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let r=1;r{e=r;t=s});return{promise:r,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function normalizeMethod(e){return m[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}f(typeof t==="string");return t}const y=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function createIterator(e,t,r=0,s=1){class FastIterableIterator{#J;#W;#q;constructor(e,t){this.#J=e;this.#W=t;this.#q=0}next(){if(typeof this!=="object"||this===null||!(#J in this)){throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`)}const o=this.#q;const n=this.#J[t];const i=n.length;if(o>=i){return{value:undefined,done:true}}const{[r]:a,[s]:A}=n[o];this.#q=o+1;let c;switch(this.#W){case"key":c=a;break;case"value":c=A;break;case"key+value":c=[a,A];break}return{value:c,done:false}}}delete FastIterableIterator.prototype.constructor;Object.setPrototypeOf(FastIterableIterator.prototype,y);Object.defineProperties(FastIterableIterator.prototype,{[Symbol.toStringTag]:{writable:false,enumerable:false,configurable:true,value:`${e} Iterator`},next:{writable:true,enumerable:true,configurable:true}});return function(e,t){return new FastIterableIterator(e,t)}}function iteratorMixin(e,t,r,s=0,o=1){const n=createIterator(e,r,s,o);const i={keys:{writable:true,enumerable:true,configurable:true,value:function keys(){I.brandCheck(this,t);return n(this,"key")}},values:{writable:true,enumerable:true,configurable:true,value:function values(){I.brandCheck(this,t);return n(this,"value")}},entries:{writable:true,enumerable:true,configurable:true,value:function entries(){I.brandCheck(this,t);return n(this,"key+value")}},forEach:{writable:true,enumerable:true,configurable:true,value:function forEach(r,s=globalThis){I.brandCheck(this,t);I.argumentLengthCheck(arguments,1,`${e}.forEach`);if(typeof r!=="function"){throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`)}for(const{0:e,1:t}of n(this,"key+value")){r.call(s,t,e,this)}}}};return Object.defineProperties(t.prototype,{...i,[Symbol.iterator]:{writable:true,enumerable:false,configurable:true,value:i.entries.value}})}async function fullyReadBody(e,t,r){const s=t;const o=r;let n;try{n=e.stream.getReader()}catch(e){o(e);return}try{s(await readAllBytes(n))}catch(e){o(e)}}function isReadableStreamLike(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}function readableStreamClose(e){try{e.close();e.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed")){throw e}}}const b=/[^\x00-\xFF]/;function isomorphicEncode(e){f(!b.test(e));return e}async function readAllBytes(e){const t=[];let r=0;while(true){const{done:s,value:o}=await e.read();if(s){return Buffer.concat(t,r)}if(!C(o)){throw new TypeError("Received non-Uint8Array chunk")}t.push(o);r+=o.length}}function urlIsLocal(e){f("protocol"in e);const t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function urlHasHttpsScheme(e){return typeof e==="string"&&e[5]===":"&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&e[4]==="s"||e.protocol==="https:"}function urlIsHttpHttpsScheme(e){f("protocol"in e);const t=e.protocol;return t==="http:"||t==="https:"}function simpleRangeHeaderValue(e,t){const r=e;if(!r.startsWith("bytes")){return"failure"}const s={position:5};if(t){c(e=>e==="\t"||e===" ",r,s)}if(r.charCodeAt(s.position)!==61){return"failure"}s.position++;if(t){c(e=>e==="\t"||e===" ",r,s)}const o=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},r,s);const n=o.length?Number(o):null;if(t){c(e=>e==="\t"||e===" ",r,s)}if(r.charCodeAt(s.position)!==45){return"failure"}s.position++;if(t){c(e=>e==="\t"||e===" ",r,s)}const i=c(e=>{const t=e.charCodeAt(0);return t>=48&&t<=57},r,s);const a=i.length?Number(i):null;if(s.positiona){return"failure"}return{rangeStartValue:n,rangeEndValue:a}}function buildContentRange(e,t,r){let s="bytes ";s+=isomorphicEncode(`${e}`);s+="-";s+=isomorphicEncode(`${t}`);s+="/";s+=isomorphicEncode(`${r}`);return s}class InflateStream extends s{#j;constructor(e){super();this.#j=e}_transform(e,t,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?o.createInflate(this.#j):o.createInflateRaw(this.#j);this._inflateStream.on("data",this.push.bind(this));this._inflateStream.on("end",()=>this.push(null));this._inflateStream.on("error",e=>this.destroy(e))}this._inflateStream.write(e,t,r)}_final(e){if(this._inflateStream){this._inflateStream.end();this._inflateStream=null}e()}}function createInflate(e){return new InflateStream(e)}function extractMimeType(e){let t=null;let r=null;let s=null;const o=getDecodeSplit("content-type",e);if(o===null){return"failure"}for(const e of o){const o=u(e);if(o==="failure"||o.essence==="*/*"){continue}s=o;if(s.essence!==r){t=null;if(s.parameters.has("charset")){t=s.parameters.get("charset")}r=s.essence}else if(!s.parameters.has("charset")&&t!==null){s.parameters.set("charset",t)}}if(s==null){return"failure"}return s}function gettingDecodingSplitting(e){const t=e;const r={position:0};const s=[];let o="";while(r.positione!=='"'&&e!==",",t,r);if(r.positione===9||e===32);s.push(o);o=""}return s}function getDecodeSplit(e,t){const r=t.get(e,true);if(r===null){return null}return gettingDecodingSplitting(r)}const k=new TextDecoder;function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=k.decode(e);return t}class EnvironmentSettingsObjectBase{get baseUrl(){return A()}get origin(){return this.baseUrl?.origin}policyContainer=makePolicyContainer()}class EnvironmentSettingsObject{settingsObject=new EnvironmentSettingsObjectBase}const S=new EnvironmentSettingsObject;e.exports={isAborted:isAborted,isCancelled:isCancelled,isValidEncodedURL:isValidEncodedURL,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:E,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,clampAndCoarsenConnectionTimingInfo:clampAndCoarsenConnectionTimingInfo,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:h,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:d,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,iteratorMixin:iteratorMixin,createIterator:createIterator,isValidHeaderName:T,isValidHeaderValue:isValidHeaderValue,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,simpleRangeHeaderValue:simpleRangeHeaderValue,buildContentRange:buildContentRange,parseMetadata:parseMetadata,createInflate:createInflate,extractMimeType:extractMimeType,getDecodeSplit:getDecodeSplit,utf8DecodeBytes:utf8DecodeBytes,environmentSettingsObject:S}},5893:(e,t,r)=>{"use strict";const{types:s,inspect:o}=r(7975);const{markAsUncloneable:n}=r(5919);const{toUSVString:i}=r(3440);const a={};a.converters={};a.util={};a.errors={};a.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};a.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const r=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return a.errors.exception({header:e.prefix,message:r})};a.errors.invalidArgument=function(e){return a.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};a.brandCheck=function(e,t,r){if(r?.strict!==false){if(!(e instanceof t)){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}else{if(e?.[Symbol.toStringTag]!==t.prototype[Symbol.toStringTag]){const e=new TypeError("Illegal invocation");e.code="ERR_INVALID_THIS";throw e}}};a.argumentLengthCheck=function({length:e},t,r){if(e{});a.util.ConvertToInt=function(e,t,r,s){let o;let n;if(t===64){o=Math.pow(2,53)-1;if(r==="unsigned"){n=0}else{n=Math.pow(-2,53)+1}}else if(r==="unsigned"){n=0;o=Math.pow(2,t)-1}else{n=Math.pow(-2,t)-1;o=Math.pow(2,t-1)-1}let i=Number(e);if(i===0){i=0}if(s?.enforceRange===true){if(Number.isNaN(i)||i===Number.POSITIVE_INFINITY||i===Number.NEGATIVE_INFINITY){throw a.errors.exception({header:"Integer conversion",message:`Could not convert ${a.util.Stringify(e)} to an integer.`})}i=a.util.IntegerPart(i);if(io){throw a.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${o}, got ${i}.`})}return i}if(!Number.isNaN(i)&&s?.clamp===true){i=Math.min(Math.max(i,n),o);if(Math.floor(i)%2===0){i=Math.floor(i)}else{i=Math.ceil(i)}return i}if(Number.isNaN(i)||i===0&&Object.is(0,i)||i===Number.POSITIVE_INFINITY||i===Number.NEGATIVE_INFINITY){return 0}i=a.util.IntegerPart(i);i=i%Math.pow(2,t);if(r==="signed"&&i>=Math.pow(2,t)-1){return i-Math.pow(2,t)}return i};a.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};a.util.Stringify=function(e){const t=a.util.Type(e);switch(t){case"Symbol":return`Symbol(${e.description})`;case"Object":return o(e);case"String":return`"${e}"`;default:return`${e}`}};a.sequenceConverter=function(e){return(t,r,s,o)=>{if(a.util.Type(t)!=="Object"){throw a.errors.exception({header:r,message:`${s} (${a.util.Stringify(t)}) is not iterable.`})}const n=typeof o==="function"?o():t?.[Symbol.iterator]?.();const i=[];let A=0;if(n===undefined||typeof n.next!=="function"){throw a.errors.exception({header:r,message:`${s} is not iterable.`})}while(true){const{done:t,value:o}=n.next();if(t){break}i.push(e(o,r,`${s}[${A++}]`))}return i}};a.recordConverter=function(e,t){return(r,o,n)=>{if(a.util.Type(r)!=="Object"){throw a.errors.exception({header:o,message:`${n} ("${a.util.Type(r)}") is not an Object.`})}const i={};if(!s.isProxy(r)){const s=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(const a of s){const s=e(a,o,n);const A=t(r[a],o,n);i[s]=A}return i}const A=Reflect.ownKeys(r);for(const s of A){const a=Reflect.getOwnPropertyDescriptor(r,s);if(a?.enumerable){const a=e(s,o,n);const A=t(r[s],o,n);i[a]=A}}return i}};a.interfaceConverter=function(e){return(t,r,s,o)=>{if(o?.strict!==false&&!(t instanceof e)){throw a.errors.exception({header:r,message:`Expected ${s} ("${a.util.Stringify(t)}") to be an instance of ${e.name}.`})}return t}};a.dictionaryConverter=function(e){return(t,r,s)=>{const o=a.util.Type(t);const n={};if(o==="Null"||o==="Undefined"){return n}else if(o!=="Object"){throw a.errors.exception({header:r,message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const o of e){const{key:e,defaultValue:i,required:A,converter:c}=o;if(A===true){if(!Object.hasOwn(t,e)){throw a.errors.exception({header:r,message:`Missing required key "${e}".`})}}let l=t[e];const g=Object.hasOwn(o,"defaultValue");if(g&&l!==null){l??=i()}if(A||g||l!==undefined){l=c(l,r,`${s}.${e}`);if(o.allowedValues&&!o.allowedValues.includes(l)){throw a.errors.exception({header:r,message:`${l} is not an accepted type. Expected one of ${o.allowedValues.join(", ")}.`})}n[e]=l}}return n}};a.nullableConverter=function(e){return(t,r,s)=>{if(t===null){return t}return e(t,r,s)}};a.converters.DOMString=function(e,t,r,s){if(e===null&&s?.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw a.errors.exception({header:t,message:`${r} is a symbol, which cannot be converted to a DOMString.`})}return String(e)};a.converters.ByteString=function(e,t,r){const s=a.converters.DOMString(e,t,r);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${s.charCodeAt(e)} which is greater than 255.`)}}return s};a.converters.USVString=i;a.converters.boolean=function(e){const t=Boolean(e);return t};a.converters.any=function(e){return e};a.converters["long long"]=function(e,t,r){const s=a.util.ConvertToInt(e,64,"signed",undefined,t,r);return s};a.converters["unsigned long long"]=function(e,t,r){const s=a.util.ConvertToInt(e,64,"unsigned",undefined,t,r);return s};a.converters["unsigned long"]=function(e,t,r){const s=a.util.ConvertToInt(e,32,"unsigned",undefined,t,r);return s};a.converters["unsigned short"]=function(e,t,r,s){const o=a.util.ConvertToInt(e,16,"unsigned",s,t,r);return o};a.converters.ArrayBuffer=function(e,t,r,o){if(a.util.Type(e)!=="Object"||!s.isAnyArrayBuffer(e)){throw a.errors.conversionFailed({prefix:t,argument:`${r} ("${a.util.Stringify(e)}")`,types:["ArrayBuffer"]})}if(o?.allowShared===false&&s.isSharedArrayBuffer(e)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.resizable||e.growable){throw a.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};a.converters.TypedArray=function(e,t,r,o,n){if(a.util.Type(e)!=="Object"||!s.isTypedArray(e)||e.constructor.name!==t.name){throw a.errors.conversionFailed({prefix:r,argument:`${o} ("${a.util.Stringify(e)}")`,types:[t.name]})}if(n?.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw a.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};a.converters.DataView=function(e,t,r,o){if(a.util.Type(e)!=="Object"||!s.isDataView(e)){throw a.errors.exception({header:t,message:`${r} is not a DataView.`})}if(o?.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw a.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}if(e.buffer.resizable||e.buffer.growable){throw a.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."})}return e};a.converters.BufferSource=function(e,t,r,o){if(s.isAnyArrayBuffer(e)){return a.converters.ArrayBuffer(e,t,r,{...o,allowShared:false})}if(s.isTypedArray(e)){return a.converters.TypedArray(e,e.constructor,t,r,{...o,allowShared:false})}if(s.isDataView(e)){return a.converters.DataView(e,t,r,{...o,allowShared:false})}throw a.errors.conversionFailed({prefix:t,argument:`${r} ("${a.util.Stringify(e)}")`,types:["BufferSource"]})};a.converters["sequence"]=a.sequenceConverter(a.converters.ByteString);a.converters["sequence>"]=a.sequenceConverter(a.converters["sequence"]);a.converters["record"]=a.recordConverter(a.converters.ByteString,a.converters.ByteString);e.exports={webidl:a}},2607: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}},8355:(e,t,r)=>{"use strict";const{staticPropertyDescriptors:s,readOperation:o,fireAProgressEvent:n}=r(3610);const{kState:i,kError:a,kResult:A,kEvents:c,kAborted:l}=r(961);const{webidl:g}=r(5893);const{kEnumerableProperty:u}=r(3440);class FileReader extends EventTarget{constructor(){super();this[i]="empty";this[A]=null;this[a]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer");e=g.converters.Blob(e,{strict:false});o(this,e,"ArrayBuffer")}readAsBinaryString(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString");e=g.converters.Blob(e,{strict:false});o(this,e,"BinaryString")}readAsText(e,t=undefined){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsText");e=g.converters.Blob(e,{strict:false});if(t!==undefined){t=g.converters.DOMString(t,"FileReader.readAsText","encoding")}o(this,e,"Text",t)}readAsDataURL(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL");e=g.converters.Blob(e,{strict:false});o(this,e,"DataURL")}abort(){if(this[i]==="empty"||this[i]==="done"){this[A]=null;return}if(this[i]==="loading"){this[i]="done";this[A]=null}this[l]=true;n("abort",this);if(this[i]!=="loading"){n("loadend",this)}}get readyState(){g.brandCheck(this,FileReader);switch(this[i]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){g.brandCheck(this,FileReader);return this[A]}get error(){g.brandCheck(this,FileReader);return this[a]}get onloadend(){g.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){g.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){g.brandCheck(this,FileReader);return this[c].error}set onerror(e){g.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){g.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){g.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){g.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){g.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){g.brandCheck(this,FileReader);return this[c].load}set onload(e){g.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){g.brandCheck(this,FileReader);return this[c].abort}set onabort(e){g.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].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:s,LOADING:s,DONE:s,readAsArrayBuffer:u,readAsBinaryString:u,readAsText:u,readAsDataURL:u,abort:u,readyState:u,result:u,error:u,onloadstart:u,onprogress:u,onload:u,onabort:u,onerror:u,onloadend:u,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:s,LOADING:s,DONE:s});e.exports={FileReader:FileReader}},8573:(e,t,r)=>{"use strict";const{webidl:s}=r(5893);const o=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=s.converters.DOMString(e,"ProgressEvent constructor","type");t=s.converters.ProgressEventInit(t??{});super(e,t);this[o]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){s.brandCheck(this,ProgressEvent);return this[o].lengthComputable}get loaded(){s.brandCheck(this,ProgressEvent);return this[o].loaded}get total(){s.brandCheck(this,ProgressEvent);return this[o].total}}s.converters.ProgressEventInit=s.dictionaryConverter([{key:"lengthComputable",converter:s.converters.boolean,defaultValue:()=>false},{key:"loaded",converter:s.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:s.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:s.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:s.converters.boolean,defaultValue:()=>false},{key:"composed",converter:s.converters.boolean,defaultValue:()=>false}]);e.exports={ProgressEvent:ProgressEvent}},961: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")}},3610:(e,t,r)=>{"use strict";const{kState:s,kError:o,kResult:n,kAborted:i,kLastProgressEventFired:a}=r(961);const{ProgressEvent:A}=r(8573);const{getEncoding:c}=r(2607);const{serializeAMimeType:l,parseMIMEType:g}=r(1900);const{types:u}=r(7975);const{StringDecoder:p}=r(3193);const{btoa:d}=r(4573);const E={enumerable:true,writable:false,configurable:false};function readOperation(e,t,r,A){if(e[s]==="loading"){throw new DOMException("Invalid state","InvalidStateError")}e[s]="loading";e[n]=null;e[o]=null;const c=t.stream();const l=c.getReader();const g=[];let p=l.read();let d=true;(async()=>{while(!e[i]){try{const{done:c,value:E}=await p;if(d&&!e[i]){queueMicrotask(()=>{fireAProgressEvent("loadstart",e)})}d=false;if(!c&&u.isUint8Array(E)){g.push(E);if((e[a]===undefined||Date.now()-e[a]>=50)&&!e[i]){e[a]=Date.now();queueMicrotask(()=>{fireAProgressEvent("progress",e)})}p=l.read()}else if(c){queueMicrotask(()=>{e[s]="done";try{const s=packageData(g,r,t.type,A);if(e[i]){return}e[n]=s;fireAProgressEvent("load",e)}catch(t){e[o]=t;fireAProgressEvent("error",e)}if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}});break}}catch(t){if(e[i]){return}queueMicrotask(()=>{e[s]="done";e[o]=t;fireAProgressEvent("error",e);if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}});break}}})()}function fireAProgressEvent(e,t){const r=new A(e,{bubbles:false,cancelable:false});t.dispatchEvent(r)}function packageData(e,t,r,s){switch(t){case"DataURL":{let t="data:";const s=g(r||"application/octet-stream");if(s!=="failure"){t+=l(s)}t+=";base64,";const o=new p("latin1");for(const r of e){t+=d(o.write(r))}t+=d(o.end());return t}case"Text":{let t="failure";if(s){t=c(s)}if(t==="failure"&&r){const e=g(r);if(e!=="failure"){t=c(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 r=new p("latin1");for(const s of e){t+=r.write(s)}t+=r.end();return t}}}function decode(e,t){const r=combineByteSequences(e);const s=BOMSniffing(r);let o=0;if(s!==null){t=s;o=s==="UTF-8"?3:2}const n=r.slice(o);return new TextDecoder(t).decode(n)}function BOMSniffing(e){const[t,r,s]=e;if(t===239&&r===187&&s===191){return"UTF-8"}else if(t===254&&r===255){return"UTF-16BE"}else if(t===255&&r===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce((e,t)=>e+t.byteLength,0);let r=0;return e.reduce((e,t)=>{e.set(t,r);r+=t.byteLength;return e},new Uint8Array(t))}e.exports={staticPropertyDescriptors:E,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},6897:(e,t,r)=>{"use strict";const{uid:s,states:o,sentCloseFrameState:n,emptyBuffer:i,opcodes:a}=r(736);const{kReadyState:A,kSentClose:c,kByteParser:l,kReceivedClose:g,kResponse:u}=r(1216);const{fireEvent:p,failWebsocketConnection:d,isClosing:E,isClosed:h,isEstablished:m,parseExtensions:f}=r(8625);const{channels:C}=r(2414);const{CloseEvent:I}=r(5188);const{makeRequest:B}=r(9967);const{fetching:Q}=r(4398);const{Headers:T,getHeadersList:w}=r(660);const{getDecodeSplit:y}=r(3168);const{WebsocketFrameSend:b}=r(3264);let k;try{k=r(7598)}catch{}function establishWebSocketConnection(e,t,r,o,n,i){const a=e;a.protocol=e.protocol==="ws:"?"http:":"https:";const A=B({urlList:[a],client:r,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(i.headers){const e=w(new T(i.headers));A.headersList=e}const c=k.randomBytes(16).toString("base64");A.headersList.append("sec-websocket-key",c);A.headersList.append("sec-websocket-version","13");for(const e of t){A.headersList.append("sec-websocket-protocol",e)}const l="permessage-deflate; client_max_window_bits";A.headersList.append("sec-websocket-extensions",l);const g=Q({request:A,useParallelQueue:true,dispatcher:i.dispatcher,processResponse(e){if(e.type==="error"||e.status!==101){d(o,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){d(o,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){d(o,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){d(o,'Server did not set Connection header to "upgrade".');return}const r=e.headersList.get("Sec-WebSocket-Accept");const i=k.createHash("sha1").update(c+s).digest("base64");if(r!==i){d(o,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const a=e.headersList.get("Sec-WebSocket-Extensions");let l;if(a!==null){l=f(a);if(!l.has("permessage-deflate")){d(o,"Sec-WebSocket-Extensions header does not match.");return}}const g=e.headersList.get("Sec-WebSocket-Protocol");if(g!==null){const e=y("sec-websocket-protocol",A.headersList);if(!e.includes(g)){d(o,"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(C.open.hasSubscribers){C.open.publish({address:e.socket.address(),protocol:g,extensions:a})}n(e,l)}});return g}function closeWebSocketConnection(e,t,r,s){if(E(e)||h(e)){}else if(!m(e)){d(e,"Connection was closed before it was established.");e[A]=o.CLOSING}else if(e[c]===n.NOT_SENT){e[c]=n.PROCESSING;const l=new b;if(t!==undefined&&r===undefined){l.frameData=Buffer.allocUnsafe(2);l.frameData.writeUInt16BE(t,0)}else if(t!==undefined&&r!==undefined){l.frameData=Buffer.allocUnsafe(2+s);l.frameData.writeUInt16BE(t,0);l.frameData.write(r,2,"utf-8")}else{l.frameData=i}const g=e[u].socket;g.write(l.createFrame(a.CLOSE));e[c]=n.SENT;e[A]=o.CLOSING}else{e[A]=o.CLOSING}}function onSocketData(e){if(!this.ws[l].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const{[u]:t}=e;t.socket.off("data",onSocketData);t.socket.off("close",onSocketClose);t.socket.off("error",onSocketError);const r=e[c]===n.SENT&&e[g];let s=1005;let i="";const a=e[l].closingInfo;if(a&&!a.error){s=a.code??1005;i=a.reason}else if(!e[g]){s=1006}e[A]=o.CLOSED;p("close",e,(e,t)=>new I(e,t),{wasClean:r,code:s,reason:i});if(C.close.hasSubscribers){C.close.publish({websocket:e,code:s,reason:i})}}function onSocketError(e){const{ws:t}=this;t[A]=o.CLOSING;if(C.socketError.hasSubscribers){C.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection,closeWebSocketConnection:closeWebSocketConnection}},736:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const r={enumerable:true,writable:false,configurable:false};const s={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const o={NOT_SENT:0,PROCESSING:1,SENT:2};const n={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const i=2**16-1;const a={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const A=Buffer.allocUnsafe(0);const c={string:1,typedArray:2,arrayBuffer:3,blob:4};e.exports={uid:t,sentCloseFrameState:o,staticPropertyDescriptors:r,states:s,opcodes:n,maxUnsigned16Bit:i,parserStates:a,emptyBuffer:A,sendHints:c}},5188:(e,t,r)=>{"use strict";const{webidl:s}=r(5893);const{kEnumerableProperty:o}=r(3440);const{kConstruct:n}=r(6443);const{MessagePort:i}=r(5919);class MessageEvent extends Event{#z;constructor(e,t={}){if(e===n){super(arguments[1],arguments[2]);s.util.markAsUncloneable(this);return}const r="MessageEvent constructor";s.argumentLengthCheck(arguments,1,r);e=s.converters.DOMString(e,r,"type");t=s.converters.MessageEventInit(t,r,"eventInitDict");super(e,t);this.#z=t;s.util.markAsUncloneable(this)}get data(){s.brandCheck(this,MessageEvent);return this.#z.data}get origin(){s.brandCheck(this,MessageEvent);return this.#z.origin}get lastEventId(){s.brandCheck(this,MessageEvent);return this.#z.lastEventId}get source(){s.brandCheck(this,MessageEvent);return this.#z.source}get ports(){s.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#z.ports)){Object.freeze(this.#z.ports)}return this.#z.ports}initMessageEvent(e,t=false,r=false,o=null,n="",i="",a=null,A=[]){s.brandCheck(this,MessageEvent);s.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent");return new MessageEvent(e,{bubbles:t,cancelable:r,data:o,origin:n,lastEventId:i,source:a,ports:A})}static createFastMessageEvent(e,t){const r=new MessageEvent(n,e,t);r.#z=t;r.#z.data??=null;r.#z.origin??="";r.#z.lastEventId??="";r.#z.source??=null;r.#z.ports??=[];return r}}const{createFastMessageEvent:a}=MessageEvent;delete MessageEvent.createFastMessageEvent;class CloseEvent extends Event{#z;constructor(e,t={}){const r="CloseEvent constructor";s.argumentLengthCheck(arguments,1,r);e=s.converters.DOMString(e,r,"type");t=s.converters.CloseEventInit(t);super(e,t);this.#z=t;s.util.markAsUncloneable(this)}get wasClean(){s.brandCheck(this,CloseEvent);return this.#z.wasClean}get code(){s.brandCheck(this,CloseEvent);return this.#z.code}get reason(){s.brandCheck(this,CloseEvent);return this.#z.reason}}class ErrorEvent extends Event{#z;constructor(e,t){const r="ErrorEvent constructor";s.argumentLengthCheck(arguments,1,r);super(e,t);s.util.markAsUncloneable(this);e=s.converters.DOMString(e,r,"type");t=s.converters.ErrorEventInit(t??{});this.#z=t}get message(){s.brandCheck(this,ErrorEvent);return this.#z.message}get filename(){s.brandCheck(this,ErrorEvent);return this.#z.filename}get lineno(){s.brandCheck(this,ErrorEvent);return this.#z.lineno}get colno(){s.brandCheck(this,ErrorEvent);return this.#z.colno}get error(){s.brandCheck(this,ErrorEvent);return this.#z.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:o,origin:o,lastEventId:o,source:o,ports:o,initMessageEvent:o});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:o,code:o,wasClean:o});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:o,filename:o,lineno:o,colno:o,error:o});s.converters.MessagePort=s.interfaceConverter(i);s.converters["sequence"]=s.sequenceConverter(s.converters.MessagePort);const A=[{key:"bubbles",converter:s.converters.boolean,defaultValue:()=>false},{key:"cancelable",converter:s.converters.boolean,defaultValue:()=>false},{key:"composed",converter:s.converters.boolean,defaultValue:()=>false}];s.converters.MessageEventInit=s.dictionaryConverter([...A,{key:"data",converter:s.converters.any,defaultValue:()=>null},{key:"origin",converter:s.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:s.converters.DOMString,defaultValue:()=>""},{key:"source",converter:s.nullableConverter(s.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:s.converters["sequence"],defaultValue:()=>new Array(0)}]);s.converters.CloseEventInit=s.dictionaryConverter([...A,{key:"wasClean",converter:s.converters.boolean,defaultValue:()=>false},{key:"code",converter:s.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:s.converters.USVString,defaultValue:()=>""}]);s.converters.ErrorEventInit=s.dictionaryConverter([...A,{key:"message",converter:s.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:s.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:s.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:s.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:s.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent,createFastMessageEvent:a}},3264:(e,t,r)=>{"use strict";const{maxUnsigned16Bit:s}=r(736);const o=16386;let n;let i=null;let a=o;try{n=r(7598)}catch{n={randomFillSync:function randomFillSync(e,t,r){for(let t=0;ts){i+=8;n=127}else if(o>125){i+=2;n=126}const a=Buffer.allocUnsafe(o+i);a[0]=a[1]=0;a[0]|=128;a[0]=(a[0]&240)+e; -/*! ws. MIT License. Einar Otto Stangvik */a[i-4]=r[0];a[i-3]=r[1];a[i-2]=r[2];a[i-1]=r[3];a[1]=n;if(n===126){a.writeUInt16BE(o,2)}else if(n===127){a[2]=a[3]=0;a.writeUIntBE(o,4,6)}a[1]|=128;for(let e=0;e{"use strict";const{createInflateRaw:s,Z_DEFAULT_WINDOWBITS:o}=r(8522);const{isValidClientWindowBits:n}=r(8625);const{MessageSizeExceededError:i}=r(8707);const a=Buffer.from([0,0,255,255]);const A=Symbol("kBuffer");const c=Symbol("kLength");class PerMessageDeflate{#K;#p={};#Z=0;constructor(e,t){this.#p.serverNoContextTakeover=e.has("server_no_context_takeover");this.#p.serverMaxWindowBits=e.get("server_max_window_bits");this.#Z=t.maxPayloadSize}decompress(e,t,r){if(!this.#K){let e=o;if(this.#p.serverMaxWindowBits){if(!n(this.#p.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}e=Number.parseInt(this.#p.serverMaxWindowBits)}try{this.#K=s({windowBits:e})}catch(e){r(e);return}this.#K[A]=[];this.#K[c]=0;this.#K.on("data",e=>{this.#K[c]+=e.length;if(this.#Z>0&&this.#K[c]>this.#Z){r(new i);this.#K.removeAllListeners();this.#K=null;return}this.#K[A].push(e)});this.#K.on("error",e=>{this.#K=null;r(e)})}this.#K.write(e);if(t){this.#K.write(a)}this.#K.flush(()=>{if(!this.#K){return}const e=Buffer.concat(this.#K[A],this.#K[c]);this.#K[A].length=0;this.#K[c]=0;r(null,e)})}}e.exports={PerMessageDeflate:PerMessageDeflate}},1652:(e,t,r)=>{"use strict";const{Writable:s}=r(7075);const o=r(4589);const{parserStates:n,opcodes:i,states:a,emptyBuffer:A,sentCloseFrameState:c}=r(736);const{kReadyState:l,kSentClose:g,kResponse:u,kReceivedClose:p}=r(1216);const{channels:d}=r(2414);const{isValidStatusCode:E,isValidOpcode:h,failWebsocketConnection:m,websocketMessageReceived:f,utf8Decode:C,isControlFrame:I,isTextBinaryFrame:B,isContinuationFrame:Q}=r(8625);const{WebsocketFrameSend:T}=r(3264);const{closeWebSocketConnection:w}=r(6897);const{PerMessageDeflate:y}=r(9469);const{MessageSizeExceededError:b}=r(8707);function failWebsocketConnectionWithCode(e,t,r){w(e,t,r,Buffer.byteLength(r));m(e,r)}class ByteParser extends s{#X=[];#$=0;#ee=0;#te=false;#I=n.INFO;#re={};#se=[];#oe;#ne;#Z;constructor(e,t,r={}){super();this.ws=e;this.#oe=t==null?new Map:t;this.#ne=r.maxFragments??0;this.#Z=r.maxPayloadSize??0;if(this.#oe.has("permessage-deflate")){this.#oe.set("permessage-deflate",new y(t,r))}}_write(e,t,r){this.#X.push(e);this.#ee+=e.length;this.#te=true;this.run(r)}#ie(){if(this.#Z>0&&!I(this.#re.opcode)&&this.#re.payloadLength+this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,"Payload size exceeds maximum allowed size");return false}return true}run(e){while(this.#te){if(this.#I===n.INFO){if(this.#ee<2){return e()}const t=this.consume(2);const r=(t[0]&128)!==0;const s=t[0]&15;const o=(t[1]&128)===128;const a=!r&&s!==i.CONTINUATION;const A=t[1]&127;const c=t[0]&64;const l=t[0]&32;const g=t[0]&16;if(!h(s)){m(this.ws,"Invalid opcode received");return e()}if(o){m(this.ws,"Frame cannot be masked");return e()}if(c!==0&&!this.#oe.has("permessage-deflate")){m(this.ws,"Expected RSV1 to be clear.");return}if(l!==0||g!==0){m(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(a&&!B(s)){m(this.ws,"Invalid frame type was fragmented.");return}if(B(s)&&this.#se.length>0){m(this.ws,"Expected continuation frame");return}if(this.#re.fragmented&&a){m(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((A>125||a)&&I(s)){m(this.ws,"Control frame either too large or fragmented");return}if(Q(s)&&this.#se.length===0&&!this.#re.compressed){m(this.ws,"Unexpected continuation frame");return}if(A<=125){this.#re.payloadLength=A;this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(A===126){this.#I=n.PAYLOADLENGTH_16}else if(A===127){this.#I=n.PAYLOADLENGTH_64}if(B(s)){this.#re.binaryType=s;this.#re.compressed=c!==0}this.#re.opcode=s;this.#re.masked=o;this.#re.fin=r;this.#re.fragmented=a}else if(this.#I===n.PAYLOADLENGTH_16){if(this.#ee<2){return e()}const t=this.consume(2);this.#re.payloadLength=t.readUInt16BE(0);this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(this.#I===n.PAYLOADLENGTH_64){if(this.#ee<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);const s=t.readUInt32BE(4);if(r!==0||s>2**31-1){m(this.ws,"Received payload length > 2^31 bytes.");return}this.#re.payloadLength=s;this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(this.#I===n.READ_DATA){if(this.#ee0&&this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,(new b).message);return}if(!this.#re.fragmented&&this.#re.fin){f(this.ws,this.#re.binaryType,this.consumeFragments())}this.#I=n.INFO}else{this.#oe.get("permessage-deflate").decompress(t,this.#re.fin,(t,r)=>{if(t){const e=t instanceof b?1009:1007;failWebsocketConnectionWithCode(this.ws,e,t.message);return}if(!this.writeFragments(r)){return}if(this.#Z>0&&this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,(new b).message);return}if(!this.#re.fin){this.#I=n.INFO;this.#te=true;this.run(e);return}f(this.ws,this.#re.binaryType,this.consumeFragments());this.#te=true;this.#I=n.INFO;this.run(e)});this.#te=false;break}}}}}consume(e){if(e>this.#ee){throw new Error("Called consume() before buffers satiated.")}else if(e===0){return A}if(this.#X[0].length===e){this.#ee-=this.#X[0].length;return this.#X.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const s=this.#X[0];const{length:o}=s;if(o+r===e){t.set(this.#X.shift(),r);break}else if(o+r>e){t.set(s.subarray(0,e-r),r);this.#X[0]=s.subarray(e-r);break}else{t.set(this.#X.shift(),r);r+=s.length}}this.#ee-=e;return t}writeFragments(e){if(this.#ne>0&&this.#se.length===this.#ne){failWebsocketConnectionWithCode(this.ws,1008,"Too many message fragments");return false}this.#$+=e.length;this.#se.push(e);return true}consumeFragments(){const e=this.#se;if(e.length===1){this.#$=0;return e.shift()}const t=Buffer.concat(e,this.#$);this.#se=[];this.#$=0;return t}parseCloseBody(e){o(e.length!==1);let t;if(e.length>=2){t=e.readUInt16BE(0)}if(t!==undefined&&!E(t)){return{code:1002,reason:"Invalid status code",error:true}}let r=e.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191){r=r.subarray(3)}try{r=C(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:true}}return{code:t,reason:r,error:false}}parseControlFrame(e){const{opcode:t,payloadLength:r}=this.#re;if(t===i.CLOSE){if(r===1){m(this.ws,"Received close frame with a 1-byte body.");return false}this.#re.closeInfo=this.parseCloseBody(e);if(this.#re.closeInfo.error){const{code:e,reason:t}=this.#re.closeInfo;w(this.ws,e,t,t.length);m(this.ws,t);return false}if(this.ws[g]!==c.SENT){let e=A;if(this.#re.closeInfo.code){e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#re.closeInfo.code,0)}const t=new T(e);this.ws[u].socket.write(t.createFrame(i.CLOSE),e=>{if(!e){this.ws[g]=c.SENT}})}this.ws[l]=a.CLOSING;this.ws[p]=true;return false}else if(t===i.PING){if(!this.ws[p]){const t=new T(e);this.ws[u].socket.write(t.createFrame(i.PONG));if(d.ping.hasSubscribers){d.ping.publish({payload:e})}}}else if(t===i.PONG){if(d.pong.hasSubscribers){d.pong.publish({payload:e})}}return true}get closingInfo(){return this.#re.closeInfo}}e.exports={ByteParser:ByteParser}},3900:(e,t,r)=>{"use strict";const{WebsocketFrameSend:s}=r(3264);const{opcodes:o,sendHints:n}=r(736);const i=r(4660);const a=Buffer[Symbol.species];class SendQueue{#ae=new i;#Ae=false;#ce;constructor(e){this.#ce=e}add(e,t,r){if(r!==n.blob){const s=createFrame(e,r);if(!this.#Ae){this.#ce.write(s,t)}else{const e={promise:null,callback:t,frame:s};this.#ae.push(e)}return}const s={promise:e.arrayBuffer().then(e=>{s.promise=null;s.frame=createFrame(e,r)}),callback:t,frame:null};this.#ae.push(s);if(!this.#Ae){this.#le()}}async#le(){this.#Ae=true;const e=this.#ae;while(!e.isEmpty()){const t=e.shift();if(t.promise!==null){await t.promise}this.#ce.write(t.frame,t.callback);t.callback=t.frame=null}this.#Ae=false}}function createFrame(e,t){return new s(toBuffer(e,t)).createFrame(t===n.string?o.TEXT:o.BINARY)}function toBuffer(e,t){switch(t){case n.string:return Buffer.from(e);case n.arrayBuffer:case n.blob:return new a(e);case n.typedArray:return new a(e.buffer,e.byteOffset,e.byteLength)}}e.exports={SendQueue:SendQueue}},1216: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")}},8625:(e,t,r)=>{"use strict";const{kReadyState:s,kController:o,kResponse:n,kBinaryType:i,kWebSocketURL:a}=r(1216);const{states:A,opcodes:c}=r(736);const{ErrorEvent:l,createFastMessageEvent:g}=r(5188);const{isUtf8:u}=r(4573);const{collectASequenceOfCodePointsFast:p,removeHTTPWhitespace:d}=r(1900);function isConnecting(e){return e[s]===A.CONNECTING}function isEstablished(e){return e[s]===A.OPEN}function isClosing(e){return e[s]===A.CLOSING}function isClosed(e){return e[s]===A.CLOSED}function fireEvent(e,t,r=(e,t)=>new Event(e,t),s={}){const o=r(e,s);t.dispatchEvent(o)}function websocketMessageReceived(e,t,r){if(e[s]!==A.OPEN){return}let o;if(t===c.TEXT){try{o=m(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){o=new Blob([r])}else{o=toArrayBuffer(r)}}fireEvent("message",e,g,{origin:e[a].origin,data:o})}function toArrayBuffer(e){if(e.byteLength===e.buffer.byteLength){return e.buffer}return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function isValidSubprotocol(e){if(e.length===0){return false}for(let t=0;t126||r===34||r===40||r===41||r===44||r===47||r===58||r===59||r===60||r===61||r===62||r===63||r===64||r===91||r===92||r===93||r===123||r===125){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{[o]:r,[n]:s}=e;r.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,(e,t)=>new l(e,t),{error:new Error(t),message:t})}}function isControlFrame(e){return e===c.CLOSE||e===c.PING||e===c.PONG}function isContinuationFrame(e){return e===c.CONTINUATION}function isTextBinaryFrame(e){return e===c.TEXT||e===c.BINARY}function isValidOpcode(e){return isTextBinaryFrame(e)||isContinuationFrame(e)||isControlFrame(e)}function parseExtensions(e){const t={position:0};const r=new Map;while(t.position57){return false}}const t=Number.parseInt(e,10);return t>=8&&t<=15}const E=typeof process.versions.icu==="string";const h=E?new TextDecoder("utf-8",{fatal:true}):undefined;const m=E?h.decode.bind(h):function(e){if(u(e)){return e.toString("utf-8")}throw new TypeError("Invalid utf-8 received.")};e.exports={isConnecting:isConnecting,isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived,utf8Decode:m,isControlFrame:isControlFrame,isContinuationFrame:isContinuationFrame,isTextBinaryFrame:isTextBinaryFrame,isValidOpcode:isValidOpcode,parseExtensions:parseExtensions,isValidClientWindowBits:isValidClientWindowBits}},3726:(e,t,r)=>{"use strict";const{webidl:s}=r(5893);const{URLSerializer:o}=r(1900);const{environmentSettingsObject:n}=r(3168);const{staticPropertyDescriptors:i,states:a,sentCloseFrameState:A,sendHints:c}=r(736);const{kWebSocketURL:l,kReadyState:g,kController:u,kBinaryType:p,kResponse:d,kSentClose:E,kByteParser:h}=r(1216);const{isConnecting:m,isEstablished:f,isClosing:C,isValidSubprotocol:I,fireEvent:B}=r(8625);const{establishWebSocketConnection:Q,closeWebSocketConnection:T}=r(6897);const{ByteParser:w}=r(1652);const{kEnumerableProperty:y,isBlobLike:b}=r(3440);const{getGlobalDispatcher:k}=r(2581);const{types:S}=r(7975);const{ErrorEvent:_,CloseEvent:R}=r(5188);const{SendQueue:v}=r(3900);class WebSocket extends EventTarget{#P={open:null,error:null,close:null,message:null};#ge=0;#ue="";#oe="";#pe;constructor(e,t=[]){super();s.util.markAsUncloneable(this);const r="WebSocket constructor";s.argumentLengthCheck(arguments,1,r);const o=s.converters["DOMString or sequence or WebSocketInit"](t,r,"options");e=s.converters.USVString(e,r,"url");t=o.protocols;const i=n.settingsObject.baseUrl;let a;try{a=new URL(e,i)}catch(e){throw new DOMException(e,"SyntaxError")}if(a.protocol==="http:"){a.protocol="ws:"}else if(a.protocol==="https:"){a.protocol="wss:"}if(a.protocol!=="ws:"&&a.protocol!=="wss:"){throw new DOMException(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError")}if(a.hash||a.href.endsWith("#")){throw new DOMException("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map(e=>e.toLowerCase())).size){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every(e=>I(e))){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[l]=new URL(a.href);const c=n.settingsObject;this[u]=Q(a,t,c,this,(e,t)=>this.#de(e,t),o);this[g]=WebSocket.CONNECTING;this[E]=A.NOT_SENT;this[p]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);const r="WebSocket.close";if(e!==undefined){e=s.converters["unsigned short"](e,r,"code",{clamp:true})}if(t!==undefined){t=s.converters.USVString(t,r,"reason")}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new DOMException("invalid code","InvalidAccessError")}}let o=0;if(t!==undefined){o=Buffer.byteLength(t);if(o>123){throw new DOMException(`Reason must be less than 123 bytes; received ${o}`,"SyntaxError")}}T(this,e,t,o)}send(e){s.brandCheck(this,WebSocket);const t="WebSocket.send";s.argumentLengthCheck(arguments,1,t);e=s.converters.WebSocketSendData(e,t,"data");if(m(this)){throw new DOMException("Sent before connected.","InvalidStateError")}if(!f(this)||C(this)){return}if(typeof e==="string"){const t=Buffer.byteLength(e);this.#ge+=t;this.#pe.add(e,()=>{this.#ge-=t},c.string)}else if(S.isArrayBuffer(e)){this.#ge+=e.byteLength;this.#pe.add(e,()=>{this.#ge-=e.byteLength},c.arrayBuffer)}else if(ArrayBuffer.isView(e)){this.#ge+=e.byteLength;this.#pe.add(e,()=>{this.#ge-=e.byteLength},c.typedArray)}else if(b(e)){this.#ge+=e.size;this.#pe.add(e,()=>{this.#ge-=e.size},c.blob)}}get readyState(){s.brandCheck(this,WebSocket);return this[g]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#ge}get url(){s.brandCheck(this,WebSocket);return o(this[l])}get extensions(){s.brandCheck(this,WebSocket);return this.#oe}get protocol(){s.brandCheck(this,WebSocket);return this.#ue}get onopen(){s.brandCheck(this,WebSocket);return this.#P.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#P.open){this.removeEventListener("open",this.#P.open)}if(typeof e==="function"){this.#P.open=e;this.addEventListener("open",e)}else{this.#P.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#P.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#P.error){this.removeEventListener("error",this.#P.error)}if(typeof e==="function"){this.#P.error=e;this.addEventListener("error",e)}else{this.#P.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#P.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#P.close){this.removeEventListener("close",this.#P.close)}if(typeof e==="function"){this.#P.close=e;this.addEventListener("close",e)}else{this.#P.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#P.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#P.message){this.removeEventListener("message",this.#P.message)}if(typeof e==="function"){this.#P.message=e;this.addEventListener("message",e)}else{this.#P.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[p]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[p]="blob"}else{this[p]=e}}#de(e,t){this[d]=e;const r=this[u]?.dispatcher?.webSocketOptions;const s=r?.maxFragments;const o=r?.maxPayloadSize;const n=new w(this,t,{maxFragments:s,maxPayloadSize:o});n.on("drain",onParserDrain);n.on("error",onParserError.bind(this));e.socket.ws=this;this[h]=n;this.#pe=new v(e.socket);this[g]=a.OPEN;const i=e.headersList.get("sec-websocket-extensions");if(i!==null){this.#oe=i}const A=e.headersList.get("sec-websocket-protocol");if(A!==null){this.#ue=A}B("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=a.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=a.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=a.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=a.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:i,OPEN:i,CLOSING:i,CLOSED:i,url:y,readyState:y,bufferedAmount:y,onopen:y,onerror:y,onclose:y,close:y,onmessage:y,binaryType:y,send:y,extensions:y,protocol:y,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:i,OPEN:i,CLOSING:i,CLOSED:i});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e,t,r){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e,t,r)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:s.converters.any,defaultValue:()=>k()},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(b(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||S.isArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};function onParserDrain(){this.ws[d].socket.resume()}function onParserError(e){let t;let r;if(e instanceof R){t=e.reason;r=e.code}else{t=e.message}B("error",this,()=>new _("error",{error:e,message:t}));T(this,r)}e.exports={WebSocket:WebSocket}},75:module=>{module.exports=eval("require")("supports-color")},2613:e=>{"use strict";e.exports=require("assert")},181:e=>{"use strict";e.exports=require("buffer")},6982:e=>{"use strict";e.exports=require("crypto")},2250:e=>{"use strict";e.exports=require("dns")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},8611:e=>{"use strict";e.exports=require("http")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},4589:e=>{"use strict";e.exports=require("node:assert")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},4573:e=>{"use strict";e.exports=require("node:buffer")},7540:e=>{"use strict";e.exports=require("node:console")},7598:e=>{"use strict";e.exports=require("node:crypto")},3053:e=>{"use strict";e.exports=require("node:diagnostics_channel")},610:e=>{"use strict";e.exports=require("node:dns")},8474:e=>{"use strict";e.exports=require("node:events")},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")},7030:e=>{"use strict";e.exports=require("node:net")},643:e=>{"use strict";e.exports=require("node:perf_hooks")},1792:e=>{"use strict";e.exports=require("node:querystring")},7075:e=>{"use strict";e.exports=require("node:stream")},1692:e=>{"use strict";e.exports=require("node:tls")},3136:e=>{"use strict";e.exports=require("node:url")},7975:e=>{"use strict";e.exports=require("node:util")},3429:e=>{"use strict";e.exports=require("node:util/types")},5919:e=>{"use strict";e.exports=require("node:worker_threads")},8522:e=>{"use strict";e.exports=require("node:zlib")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2203:e=>{"use strict";e.exports=require("stream")},3193:e=>{"use strict";e.exports=require("string_decoder")},4756:e=>{"use strict";e.exports=require("tls")},2018:e=>{"use strict";e.exports=require("tty")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},1120:e=>{"use strict";var t;const r=function NullObject(){};r.prototype=Object.create(null);const s=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;const o=/\\([\v\u0020-\u00ff])/gu;const n=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;const i={type:"",parameters:new r};Object.freeze(i.parameters);Object.freeze(i);function parse(e){if(typeof e!=="string"){throw new TypeError("argument header is required and must be a string")}let t=e.indexOf(";");const i=t!==-1?e.slice(0,t).trim():e.trim();if(n.test(i)===false){throw new TypeError("invalid media type")}const a={type:i.toLowerCase(),parameters:new r};if(t===-1){return a}let A;let c;let l;s.lastIndex=t;while(c=s.exec(e)){if(c.index!==t){throw new TypeError("invalid parameter format")}t+=c[0].length;A=c[1].toLowerCase();l=c[2];if(l[0]==='"'){l=l.slice(1,l.length-1);o.test(l)&&(l=l.replace(o,"$1"))}a.parameters[A]=l}if(t!==e.length){throw new TypeError("invalid parameter format")}return a}function safeParse(e){if(typeof e!=="string"){return i}let t=e.indexOf(";");const a=t!==-1?e.slice(0,t).trim():e.trim();if(n.test(a)===false){return i}const A={type:a.toLowerCase(),parameters:new r};if(t===-1){return A}let c;let l;let g;s.lastIndex=t;while(l=s.exec(e)){if(l.index!==t){return i}t+=l[0].length;c=l[1].toLowerCase();g=l[2];if(g[0]==='"'){g=g.slice(1,g.length-1);o.test(g)&&(g=g.replace(o,"$1"))}A.parameters[c]=g}if(t!==e.length){return i}return A}t={parse:parse,safeParse:safeParse};t=parse;e.exports.xL=safeParse;t=i},319:(e,t,r)=>{"use strict";r.d(t,{g6:()=>Agent,AO:()=>toBuffer});var s=r(9278);var o=r(8611);var n=r(5692);async function toBuffer(e){let t=0;const r=[];for await(const s of e){t+=s.length;r.push(s)}return Buffer.concat(r,t)}async function json(e){const t=await toBuffer(e);const r=t.toString("utf8");try{return JSON.parse(r)}catch(e){const t=e;t.message+=` (input: ${r})`;throw t}}function req(e,t={}){const r=typeof e==="string"?e:e.href;const s=(r.startsWith("https:")?https:http).request(e,t);const o=new Promise((e,t)=>{s.once("response",e).once("error",t).end()});s.then=o.then.bind(o);return s}const i=Symbol("AgentBaseInternalState");class Agent extends o.Agent{constructor(e){super(e);this[i]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint==="boolean"){return e.secureEndpoint}if(typeof e.protocol==="string"){return e.protocol==="https:"}}const{stack:t}=new Error;if(typeof t!=="string")return false;return t.split("\n").some(e=>e.indexOf("(https.js:")!==-1||e.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===Infinity&&this.maxTotalSockets===Infinity){return null}if(!this.sockets[e]){this.sockets[e]=[]}const t=new s.Socket({writable:false});this.sockets[e].push(t);this.totalSocketCount++;return t}decrementSockets(e,t){if(!this.sockets[e]||t===null){return}const r=this.sockets[e];const s=r.indexOf(t);if(s!==-1){r.splice(s,1);this.totalSocketCount--;if(r.length===0){delete this.sockets[e]}}}getName(e){const t=this.isSecureEndpoint(e);if(t){return n.Agent.prototype.getName.call(this,e)}return super.getName(e)}createSocket(e,t,r){const s={...t,secureEndpoint:this.isSecureEndpoint(t)};const o=this.getName(s);const n=this.incrementSockets(o);Promise.resolve().then(()=>this.connect(e,s)).then(a=>{this.decrementSockets(o,n);if(typeof a.addRequest==="function"){try{return a.addRequest(e,s)}catch(e){return r(e)}}this[i].currentSocket=a;super.createSocket(e,t,r)},e=>{this.decrementSockets(o,n);r(e)})}createConnection(){const e=this[i].currentSocket;this[i].currentSocket=undefined;if(!e){throw new Error("No socket was returned in the `connect()` function")}return e}get defaultPort(){return this[i].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){if(this[i]){this[i].defaultPort=e}}get protocol(){return this[i].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){if(this[i]){this[i].protocol=e}}}}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return r.exports}__nccwpck_require__.m=__webpack_modules__;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(r,s){if(s&1)r=this(r);if(s&8)return r;if(typeof r==="object"&&r){if(s&4&&r.__esModule)return r;if(s&16&&typeof r.then==="function")return r}var o=Object.create(null);__nccwpck_require__.r(o);var n={};t=t||[null,e({}),e([]),e(e)];for(var i=s&2&&r;typeof i=="object"&&!~t.indexOf(i);i=e(i)){Object.getOwnPropertyNames(i).forEach(e=>n[e]=()=>r[e])}n["default"]=()=>r;__nccwpck_require__.d(o,n);return o}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce((t,r)=>{__nccwpck_require__.f[r](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 r=t.modules,s=t.ids,o=t.runtime;for(var n in r){if(__nccwpck_require__.o(r,n)){__nccwpck_require__.m[n]=r[n]}}if(o)o(__nccwpck_require__);for(var i=0;i{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var __webpack_exports__={};(()=>{"use strict";var e=__nccwpck_require__(6928);var t=__nccwpck_require__(857);function utils_toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}function utils_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}}function command_issueCommand(e,r,s){const o=new Command(e,r,s);process.stdout.write(o.toString()+t.EOL)}function command_issue(e,t=""){command_issueCommand(e,{},t)}const r="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=r+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const s=this.properties[r];if(s){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(s)}`}}}}e+=`${r}${escapeData(this.message)}`;return e}}function escapeData(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var s=__nccwpck_require__(6982);var o=__nccwpck_require__(9896);function file_command_issueFileCommand(e,r){const s=process.env[`GITHUB_${e}`];if(!s){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(s)){throw new Error(`Missing file at path: ${s}`)}o.appendFileSync(s,`${utils_toCommandValue(r)}${t.EOL}`,{encoding:"utf8"})}function file_command_prepareKeyValueMessage(e,r){const o=`ghadelimiter_${s.randomUUID()}`;const n=utils_toCommandValue(r);if(e.includes(o)){throw new Error(`Unexpected input: name should not contain the delimiter "${o}"`)}if(n.includes(o)){throw new Error(`Unexpected input: value should not contain the delimiter "${o}"`)}return`${e}<<${o}${t.EOL}${n}${t.EOL}${o}`}var n=__nccwpck_require__(8611);var i=__nccwpck_require__(5692);function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){try{return new DecodedURL(r)}catch(e){if(!r.startsWith("http://")&&!r.startsWith("https://"))return new DecodedURL(`http://${r}`)}}else{return undefined}}function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let s;if(e.port){s=Number(e.port)}else if(e.protocol==="http:"){s=80}else if(e.protocol==="https:"){s=443}const o=[e.hostname.toUpperCase()];if(typeof s==="number"){o.push(`${o[0]}:${s}`)}for(const e of r.split(",").map(e=>e.trim().toUpperCase()).filter(e=>e)){if(e==="*"||o.some(t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`))){return true}}return false}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}}var a=__nccwpck_require__(770);var A=__nccwpck_require__(6752);var c=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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||(l={}));var g;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(g||(g={}));var u;(function(e){e["ApplicationJson"]="application/json"})(u||(u={}));function lib_getProxyUrl(e){const t=pm.getProxyUrl(new URL(e));return t?t.href:""}const p=[l.MovedPermanently,l.ResourceMoved,l.SeeOther,l.TemporaryRedirect,l.PermanentRedirect];const d=[l.BadGateway,l.ServiceUnavailable,l.GatewayTimeout];const E=null&&["OPTIONS","GET","DELETE","HEAD"];const h=10;const m=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}class HttpClientResponse{constructor(e){this.message=e}readBody(){return c(this,void 0,void 0,function*(){return new Promise(e=>c(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 c(this,void 0,void 0,function*(){return new Promise(e=>c(this,void 0,void 0,function*(){const t=[];this.message.on("data",e=>{t.push(e)});this.message.on("end",()=>{e(Buffer.concat(t))})}))})}}function isHttps(e){const t=new URL(e);return t.protocol==="https:"}class lib_HttpClient{constructor(e,t,r){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=this._getUserAgentWithOrchestrationId(e);this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return c(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return c(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return c(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return c(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return c(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return c(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return c(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,s){return c(this,void 0,void 0,function*(){return this.request(e,t,r,s)})}getJson(e){return c(this,arguments,void 0,function*(e,t={}){t[g.Accept]=this._getExistingOrDefaultHeader(t,g.Accept,u.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.post(e,s,r);return this._processResponse(o,this.requestOptions)})}putJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.put(e,s,r);return this._processResponse(o,this.requestOptions)})}patchJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.patch(e,s,r);return this._processResponse(o,this.requestOptions)})}request(e,t,r,s){return c(this,void 0,void 0,function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let n=this._prepareRequest(e,o,s);const i=this._allowRetries&&E.includes(e)?this._maxRetries+1:1;let a=0;let A;do{A=yield this.requestRaw(n,r);if(A&&A.message&&A.message.statusCode===l.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(A)){e=t;break}}if(e){return e.handleAuthentication(this,n,r)}else{return A}}let t=this._maxRedirects;while(A.message.statusCode&&p.includes(A.message.statusCode)&&this._allowRedirects&&t>0){const i=A.message.headers["location"];if(!i){break}const a=new URL(i);if(o.protocol==="https:"&&o.protocol!==a.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 A.readBody();if(a.hostname!==o.hostname){for(const e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}n=this._prepareRequest(e,a,s);A=yield this.requestRaw(n,r);t--}if(!A.message.statusCode||!d.includes(A.message.statusCode)){return A}a+=1;if(a{function callbackForResult(e,t){if(e){s(e)}else if(!t){s(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)})})}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;function handleResult(e,t){if(!s){s=true;r(e,t)}}const o=e.httpModule.request(e.options,e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)});let n;o.on("socket",e=>{n=e});o.setTimeout(this._socketTimeout||3*6e4,()=>{if(n){n.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))});o.on("error",function(e){handleResult(e)});if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",function(){o.end()});t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const r=pm.getProxyUrl(t);const s=r&&r.hostname;if(!s){return}return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){const s={};s.parsedUrl=t;const o=s.parsedUrl.protocol==="https:";s.httpModule=o?https:http;const n=o?443:80;s.options={};s.options.host=s.parsedUrl.hostname;s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):n;s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||"");s.options.method=e;s.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){s.options.headers["user-agent"]=this.userAgent}s.options.agent=this._getAgent(s.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(s.options)}}return s}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let s;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[t];if(e){s=typeof e==="number"?e.toString():e}}const o=e[t];if(o!==undefined){return typeof o==="number"?o.toString():o}if(s!==undefined){return s}return r}_getExistingOrDefaultContentTypeHeader(e,t){let r;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[g.ContentType];if(e){if(typeof e==="number"){r=String(e)}else if(Array.isArray(e)){r=e.join(", ")}else{r=e}}}const s=e[g.ContentType];if(s!==undefined){if(typeof s==="number"){return String(s)}else if(Array.isArray(s)){return s.join(", ")}else{return s}}if(r!==undefined){return r}return t}_getAgent(e){let t;const r=pm.getProxyUrl(e);const s=r&&r.hostname;if(this._keepAlive&&s){t=this._proxyAgent}if(!s){t=this._agent}if(t){return t}const o=e.protocol==="https:";let n=100;if(this.requestOptions){n=this.requestOptions.maxSockets||http.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let s;const i=r.protocol==="https:";if(o){s=i?tunnel.httpsOverHttps:tunnel.httpsOverHttp}else{s=i?tunnel.httpOverHttps:tunnel.httpOverHttp}t=s(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:n};t=o?new https.Agent(e):new http.Agent(e);this._agent=t}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive){r=this._proxyAgentDispatcher}if(r){return r}const s=e.protocol==="https:";r=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=r;if(s&&this._ignoreSslError){r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:false})}return r}_getUserAgentWithOrchestrationId(e){const t=e||"actions/http-client";const r=process.env["ACTIONS_ORCHESTRATION_ID"];if(r){const e=r.replace(/[^a-z0-9_.-]/gi,"_");return`${t} actions_orchestration_id/${e}`}return t}_performExponentialBackoff(e){return c(this,void 0,void 0,function*(){e=Math.min(h,e);const t=m*Math.pow(2,e);return new Promise(e=>setTimeout(()=>e(),t))})}_processResponse(e,t){return c(this,void 0,void 0,function*(){return new Promise((r,s)=>c(this,void 0,void 0,function*(){const o=e.message.statusCode||0;const n={statusCode:o,result:null,headers:{}};if(o===l.NotFound){r(n)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let i;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){i=JSON.parse(a,dateTimeDeserializer)}else{i=JSON.parse(a)}n.result=i}n.headers=e.message.headers}catch(e){}if(o>299){let e;if(i&&i.message){e=i.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=n.result;s(t)}else{r(n)}}))})}}const lowercaseKeys=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{});var f=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class auth_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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}var C=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};class oidc_utils_OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new HttpClient("actions/oidc-client",[new BearerCredentialHandler(oidc_utils_OidcClient.getRequestToken())],r)}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){return C(this,void 0,void 0,function*(){var t;const r=oidc_utils_OidcClient.createHttpClient();const s=yield r.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 o=(t=s.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o})}static getIDToken(e){return C(this,void 0,void 0,function*(){try{let t=oidc_utils_OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}debug(`ID token url is ${t}`);const r=yield oidc_utils_OidcClient.getCall(t);setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}})}}var I=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const{access:B,appendFile:Q,writeFile:T}=o.promises;const w="GITHUB_STEP_SUMMARY";const y="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return I(this,void 0,void 0,function*(){if(this._filePath){return this._filePath}const e=process.env[w];if(!e){throw new Error(`Unable to find environment variable for $${w}. Check if your runtime environment supports job summaries.`)}try{yield B(e,o.constants.R_OK|o.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,r={}){const s=Object.entries(r).map(([e,t])=>` ${e}="${t}"`).join("");if(!t){return`<${e}${s}>`}return`<${e}${s}>${t}`}write(e){return I(this,void 0,void 0,function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const s=t?T:Q;yield s(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()})}clear(){return I(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(t.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const s=e.map(e=>this.wrap("li",e)).join("");const o=this.wrap(r,s);return this.addRaw(o).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:r,colspan:s,rowspan:o}=e;const n=t?"th":"td";const i=Object.assign(Object.assign({},s&&{colspan:s}),o&&{rowspan:o});return this.wrap(n,r,i)}).join("");return this.wrap("tr",t)}).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:s,height:o}=r||{};const n=Object.assign(Object.assign({},s&&{width:s}),o&&{height:o});const i=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(i).addEOL()}addHeading(e,t){const r=`h${t}`;const s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(s,e);return this.addRaw(o).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 r=Object.assign({},t&&{cite:t});const s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const b=new Summary;const k=null&&b;const S=null&&b;function toPosixPath(e){return e.replace(/[\\]/g,"/")}function toWin32Path(e){return e.replace(/[/]/g,"\\")}function toPlatformPath(e){return e.replace(/[/\\]/g,path.sep)}var _=__nccwpck_require__(3193);var R=__nccwpck_require__(4434);const v=require("child_process");var F=__nccwpck_require__(2613);var D=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const{chmod:G,copyFile:P,lstat:U,mkdir:L,open:O,readdir:M,rename:N,rm:H,rmdir:x,stat:V,symlink:Y,unlink:J}=o.promises;const W=process.platform==="win32";function readlink(e){return D(this,void 0,void 0,function*(){const t=yield fs.promises.readlink(e);if(W&&!t.endsWith("\\")){return`${t}\\`}return t})}const q=268435456;const j=o.constants.O_RDONLY;function exists(e){return D(this,void 0,void 0,function*(){try{yield V(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}function isDirectory(e){return D(this,arguments,void 0,function*(e,t=false){const r=t?yield V(e):yield U(e);return r.isDirectory()})}function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(W){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}function tryGetExecutablePath(t,r){return D(this,void 0,void 0,function*(){let s=undefined;try{s=yield V(t)}catch(e){if(e.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${e}`)}}if(s&&s.isFile()){if(W){const s=e.extname(t).toUpperCase();if(r.some(e=>e.toUpperCase()===s)){return t}}else{if(isUnixExecutable(s)){return t}}}const o=t;for(const n of r){t=o+n;s=undefined;try{s=yield V(t)}catch(e){if(e.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${e}`)}}if(s&&s.isFile()){if(W){try{const r=e.dirname(t);const s=e.basename(t).toUpperCase();for(const o of yield M(r)){if(s===o.toUpperCase()){t=e.join(r,o);break}}}catch(e){console.log(`Unexpected error attempting to determine the actual case of the file '${t}': ${e}`)}return t}else{if(isUnixExecutable(s)){return t}}}}return""})}function normalizeSeparators(e){e=e||"";if(W){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&process.getgid!==undefined&&e.gid===process.getgid()||(e.mode&64)>0&&process.getuid!==undefined&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}var z=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};function cp(e,t){return z(this,arguments,void 0,function*(e,t,r={}){const{force:s,recursive:o,copySourceDirectory:n}=readCopyOptions(r);const i=(yield ioUtil.exists(t))?yield ioUtil.stat(t):null;if(i&&i.isFile()&&!s){return}const a=i&&i.isDirectory()&&n?path.join(t,path.basename(e)):t;if(!(yield ioUtil.exists(e))){throw new Error(`no such file or directory: ${e}`)}const A=yield ioUtil.stat(e);if(A.isDirectory()){if(!o){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,a,0,s)}}else{if(path.relative(e,a)===""){throw new Error(`'${a}' and '${e}' are the same file`)}yield io_copyFile(e,a,s)}})}function mv(e,t){return z(this,arguments,void 0,function*(e,t,r={}){if(yield ioUtil.exists(t)){let s=true;if(yield ioUtil.isDirectory(t)){t=path.join(t,path.basename(e));s=yield ioUtil.exists(t)}if(s){if(r.force==null||r.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(path.dirname(t));yield ioUtil.rename(e,t)})}function rmRF(e){return z(this,void 0,void 0,function*(){if(ioUtil.IS_WINDOWS){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield ioUtil.rm(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}function mkdirP(e){return z(this,void 0,void 0,function*(){ok(e,"a path argument must be provided");yield ioUtil.mkdir(e,{recursive:true})})}function which(e,t){return z(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(W){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 r=yield findInPath(e);if(r&&r.length>0){return r[0]}return""})}function findInPath(t){return z(this,void 0,void 0,function*(){if(!t){throw new Error("parameter 'tool' is required")}const r=[];if(W&&process.env["PATHEXT"]){for(const t of process.env["PATHEXT"].split(e.delimiter)){if(t){r.push(t)}}}if(isRooted(t)){const e=yield tryGetExecutablePath(t,r);if(e){return[e]}return[]}if(t.includes(e.sep)){return[]}const s=[];if(process.env.PATH){for(const t of process.env.PATH.split(e.delimiter)){if(t){s.push(t)}}}const o=[];for(const n of s){const s=yield tryGetExecutablePath(e.join(n,t),r);if(s){o.push(s)}}return o})}function readCopyOptions(e){const t=e.force==null?true:e.force;const r=Boolean(e.recursive);const s=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:r,copySourceDirectory:s}}function cpDirRecursive(e,t,r,s){return z(this,void 0,void 0,function*(){if(r>=255)return;r++;yield mkdirP(t);const o=yield ioUtil.readdir(e);for(const n of o){const o=`${e}/${n}`;const i=`${t}/${n}`;const a=yield ioUtil.lstat(o);if(a.isDirectory()){yield cpDirRecursive(o,i,r,s)}else{yield io_copyFile(o,i,s)}}yield ioUtil.chmod(t,(yield ioUtil.stat(e)).mode)})}function io_copyFile(e,t,r){return z(this,void 0,void 0,function*(){if((yield ioUtil.lstat(e)).isSymbolicLink()){try{yield ioUtil.lstat(t);yield ioUtil.unlink(t)}catch(e){if(e.code==="EPERM"){yield ioUtil.chmod(t,"0666");yield ioUtil.unlink(t)}}const r=yield ioUtil.readlink(e);yield ioUtil.symlink(r,t,ioUtil.IS_WINDOWS?"junction":null)}else if(!(yield ioUtil.exists(t))||r){yield ioUtil.copyFile(e,t)}})}const K=require("timers");var Z=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const X=process.platform==="win32";class ToolRunner extends R.EventEmitter{constructor(e,t,r){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=r||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const r=this._getSpawnFileName();const s=this._getSpawnArgs(e);let o=t?"":"[command]";if(X){if(this._isCmdFile()){o+=r;for(const e of s){o+=` ${e}`}}else if(e.windowsVerbatimArguments){o+=`"${r}"`;for(const e of s){o+=` ${e}`}}else{o+=this._windowsQuoteCmdArg(r);for(const e of s){o+=` ${this._windowsQuoteCmdArg(e)}`}}}else{o+=r;for(const e of s){o+=` ${e}`}}return o}_processLineBuffer(e,r,s){try{let o=r+e.toString();let n=o.indexOf(t.EOL);while(n>-1){const e=o.substring(0,n);s(e);o=o.substring(n+t.EOL.length);n=o.indexOf(t.EOL)}return o}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(X){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(X){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const r of this.args){t+=" ";t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r)}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 r=false;for(const s of e){if(t.some(e=>e===s)){r=true;break}}if(!r){return e}let s='"';let o=true;for(let t=e.length;t>0;t--){s+=e[t-1];if(o&&e[t-1]==="\\"){s+="\\"}else if(e[t-1]==='"'){o=true;s+='"'}else{o=false}}s+='"';return s.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 r=true;for(let s=e.length;s>0;s--){t+=e[s-1];if(r&&e[s-1]==="\\"){t+="\\"}else if(e[s-1]==='"'){r=true;t+="\\"}else{r=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 r={};r.cwd=e.cwd;r.env=e.env;r["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){r.argv0=`"${t}"`}return r}exec(){return Z(this,void 0,void 0,function*(){if(!isRooted(this.toolPath)&&(this.toolPath.includes("/")||X&&this.toolPath.includes("\\"))){this.toolPath=e.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield which(this.toolPath,true);return new Promise((e,r)=>Z(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 s=this._cloneExecOptions(this.options);if(!s.silent&&s.outStream){s.outStream.write(this._getCommandString(s)+t.EOL)}const o=new ExecState(s,this.toolPath);o.on("debug",e=>{this._debug(e)});if(this.options.cwd&&!(yield exists(this.options.cwd))){return r(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const n=this._getSpawnFileName();const i=v.spawn(n,this._getSpawnArgs(s),this._getSpawnOptions(this.options,n));let a="";if(i.stdout){i.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!s.silent&&s.outStream){s.outStream.write(e)}a=this._processLineBuffer(e,a,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}let A="";if(i.stderr){i.stderr.on("data",e=>{o.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!s.silent&&s.errStream&&s.outStream){const t=s.failOnStdErr?s.errStream:s.outStream;t.write(e)}A=this._processLineBuffer(e,A,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}i.on("error",e=>{o.processError=e.message;o.processExited=true;o.processClosed=true;o.CheckComplete()});i.on("exit",e=>{o.processExitCode=e;o.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);o.CheckComplete()});i.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",(t,s)=>{if(a.length>0){this.emit("stdline",a)}if(A.length>0){this.emit("errline",A)}i.removeAllListeners();if(t){r(t)}else{e(s)}});if(this.options.input){if(!i.stdin){throw new Error("child process missing stdin")}i.stdin.end(this.options.input)}}))})}}function argStringToArray(e){const t=[];let r=false;let s=false;let o="";function append(e){if(s&&e!=='"'){o+="\\"}o+=e;s=false}for(let n=0;n0){t.push(o);o=""}continue}append(i)}if(o.length>0){t.push(o.trim())}return t}class ExecState extends R.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=(0,K.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()}}var $=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};function exec_exec(e,t,r){return $(this,void 0,void 0,function*(){const s=tr.argStringToArray(e);if(s.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const o=s[0];t=s.slice(1).concat(t||[]);const n=new tr.ToolRunner(o,t,r);return n.exec()})}function getExecOutput(e,t,r){return $(this,void 0,void 0,function*(){var s,o;let n="";let i="";const a=new StringDecoder("utf8");const A=new StringDecoder("utf8");const c=(s=r===null||r===void 0?void 0:r.listeners)===null||s===void 0?void 0:s.stdout;const l=(o=r===null||r===void 0?void 0:r.listeners)===null||o===void 0?void 0:o.stderr;const stdErrListener=e=>{i+=A.write(e);if(l){l(e)}};const stdOutListener=e=>{n+=a.write(e);if(c){c(e)}};const g=Object.assign(Object.assign({},r===null||r===void 0?void 0:r.listeners),{stdout:stdOutListener,stderr:stdErrListener});const u=yield exec_exec(e,t,Object.assign(Object.assign({},r),{listeners:g}));n+=a.end();i+=A.end();return{exitCode:u,stdout:n,stderr:i}})}var ee=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const getWindowsInfo=()=>ee(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}});const getMacOsInfo=()=>ee(void 0,void 0,void 0,function*(){var e,t,r,s;const{stdout:o}=yield exec.getExecOutput("sw_vers",undefined,{silent:true});const n=(t=(e=o.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const i=(s=(r=o.match(/ProductName:\s*(.+)/))===null||r===void 0?void 0:r[1])!==null&&s!==void 0?s:"";return{name:i,version:n}});const getLinuxInfo=()=>ee(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,r]=e.trim().split("\n");return{name:t,version:r}});const te=t.platform();const re=t.arch();const se=te==="win32";const oe=te==="darwin";const ne=te==="linux";function getDetails(){return ee(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield se?getWindowsInfo():oe?getMacOsInfo():getLinuxInfo()),{platform:te,arch:re,isWindows:se,isMacOS:oe,isLinux:ne})})}var ie=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};var ae;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(ae||(ae={}));function exportVariable(e,t){const r=toCommandValue(t);process.env[e]=r;const s=process.env["GITHUB_ENV"]||"";if(s){return issueFileCommand("ENV",prepareKeyValueMessage(e,t))}issueCommand("set-env",{name:e},r)}function core_setSecret(e){issueCommand("add-mask",{},e)}function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){issueFileCommand("PATH",e)}else{issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${path.delimiter}${process.env["PATH"]}`}function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter(e=>e!=="");if(t&&t.trimWhitespace===false){return r}return r.map(e=>e.trim())}function getBooleanInput(e,t){const r=["true","True","TRUE"];const s=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(s.includes(o))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\``)}function setOutput(e,r){const s=process.env["GITHUB_OUTPUT"]||"";if(s){return file_command_issueFileCommand("OUTPUT",file_command_prepareKeyValueMessage(e,r))}process.stdout.write(t.EOL);command_issueCommand("set-output",{name:e},utils_toCommandValue(r))}function setCommandEcho(e){issue("echo",e?"on":"off")}function setFailed(e){process.exitCode=ae.Failure;error(e)}function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}function core_debug(e){issueCommand("debug",{},e)}function error(e,t={}){command_issueCommand("error",utils_toCommandProperties(t),e instanceof Error?e.toString():e)}function warning(e,t={}){issueCommand("warning",toCommandProperties(t),e instanceof Error?e.toString():e)}function notice(e,t={}){issueCommand("notice",toCommandProperties(t),e instanceof Error?e.toString():e)}function info(e){process.stdout.write(e+t.EOL)}function startGroup(e){issue("group",e)}function endGroup(){issue("endgroup")}function group(e,t){return ie(this,void 0,void 0,function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r})}function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return issueFileCommand("STATE",prepareKeyValueMessage(e,t))}issueCommand("save-state",{name:e},toCommandValue(t))}function getState(e){return process.env[`STATE_${e}`]||""}function getIDToken(e){return ie(this,void 0,void 0,function*(){return yield OidcClient.getIDToken(e)})}class Context{constructor(){var e,r,s;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${t.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=(r=process.env.GITHUB_SERVER_URL)!==null&&r!==void 0?r:`https://github.com`;this.graphqlUrl=(s=process.env.GITHUB_GRAPHQL_URL)!==null&&s!==void 0?s:`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'")}}var Ae=__nccwpck_require__(4844);var ce=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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}`}function getProxyAgent(e){const t=new Ae.HttpClient;return t.getAgent(e)}function getProxyAgentDispatcher(e){const t=new Ae.HttpClient;return t.getAgentDispatcher(e)}function getProxyFetch(e){const t=getProxyAgentDispatcher(e);const proxyFetch=(e,r)=>ce(this,void 0,void 0,function*(){return(0,A.fetch)(e,Object.assign(Object.assign({},r),{dispatcher:t}))});return proxyFetch}function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}function getUserAgentWithOrchestrationId(e){var t;const r=(t=process.env["ACTIONS_ORCHESTRATION_ID"])===null||t===void 0?void 0:t.trim();if(r){const t=r.replace(/[^a-z0-9_.-]/gi,"_");const s=`actions_orchestration_id/${t}`;if(e===null||e===void 0?void 0:e.includes(s))return e;const o=e?`${e} `:"";return`${o}${s}`}return e}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""}function register(e,t,r,s){if(typeof r!=="function"){throw new Error("method for before hook must be a function")}if(!s){s={}}if(Array.isArray(t)){return t.reverse().reduce((t,r)=>register.bind(null,e,r,t,s),r)()}return Promise.resolve().then(()=>{if(!e.registry[t]){return r(s)}return e.registry[t].reduce((e,t)=>t.hook.bind(null,e,s),r)()})}function addHook(e,t,r,s){const o=s;if(!e.registry[r]){e.registry[r]=[]}if(t==="before"){s=(e,t)=>Promise.resolve().then(o.bind(null,t)).then(e.bind(null,t))}if(t==="after"){s=(e,t)=>{let r;return Promise.resolve().then(e.bind(null,t)).then(e=>{r=e;return o(r,t)}).then(()=>r)}}if(t==="error"){s=(e,t)=>Promise.resolve().then(e.bind(null,t)).catch(e=>o(e,t))}e.registry[r].push({hook:s,orig:o})}function removeHook(e,t,r){if(!e.registry[t]){return}const s=e.registry[t].map(e=>e.orig).indexOf(r);if(s===-1){return}e.registry[t].splice(s,1)}const le=Function.bind;const ge=le.bind(le);function bindApi(e,t,r){const s=ge(removeHook,null).apply(null,r?[t,r]:[t]);e.api={remove:s};e.remove=s;["before","error","after","wrap"].forEach(s=>{const o=r?[t,s,r]:[t,s];e[s]=e.api[s]=ge(addHook,null).apply(null,o)})}function Singular(){const e=Symbol("Singular");const t={registry:{}};const r=register.bind(null,t,e);bindApi(r,t,e);return r}function Collection(){const e={registry:{}};const t=register.bind(null,e);bindApi(t,e);return t}const ue={Singular:Singular,Collection:Collection};var pe="0.0.0-development";var de=`octokit-endpoint.js/${pe} ${getUserAgent()}`;var Ee={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":de},mediaType:{format:""}};function dist_bundle_lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce((t,r)=>{t[r.toLowerCase()]=e[r];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 r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r==="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function mergeDeep(e,t){const r=Object.assign({},e);Object.keys(t).forEach(s=>{if(isPlainObject(t[s])){if(!(s in e))Object.assign(r,{[s]:t[s]});else r[s]=mergeDeep(e[s],t[s])}else{Object.assign(r,{[s]:t[s]})}});return r}function removeUndefinedProperties(e){for(const t in e){if(e[t]===void 0){delete e[t]}}return e}function merge(e,t,r){if(typeof t==="string"){let[e,s]=t.split(" ");r=Object.assign(s?{method:e,url:s}:{url:e},r)}else{r=Object.assign({},t)}r.headers=dist_bundle_lowercaseKeys(r.headers);removeUndefinedProperties(r);removeUndefinedProperties(r.headers);const s=mergeDeep(e||{},r);if(r.url==="/graphql"){if(e&&e.mediaType.previews?.length){s.mediaType.previews=e.mediaType.previews.filter(e=>!s.mediaType.previews.includes(e)).concat(s.mediaType.previews)}s.mediaType.previews=(s.mediaType.previews||[]).map(e=>e.replace(/-preview/,""))}return s}function addQueryParameters(e,t){const r=/\?/.test(e)?"&":"?";const s=Object.keys(t);if(s.length===0){return e}return e+r+s.map(e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`}).join("&")}var he=/\{[^{}}]+\}/g;function removeNonChars(e){return e.replace(/(?:^\W+)|(?:(?e.concat(t),[])}function omit(e,t){const r={__proto__:null};for(const s of Object.keys(e)){if(t.indexOf(s)===-1){r[s]=e[s]}}return r}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,r){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(r){return encodeUnreserved(r)+"="+t}else{return t}}function isDefined(e){return e!==void 0&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,r,s){var o=e[r],n=[];if(isDefined(o)&&o!==""){if(typeof o==="string"||typeof o==="number"||typeof o==="bigint"||typeof o==="boolean"){o=o.toString();if(s&&s!=="*"){o=o.substring(0,parseInt(s,10))}n.push(encodeValue(t,o,isKeyOperator(t)?r:""))}else{if(s==="*"){if(Array.isArray(o)){o.filter(isDefined).forEach(function(e){n.push(encodeValue(t,e,isKeyOperator(t)?r:""))})}else{Object.keys(o).forEach(function(e){if(isDefined(o[e])){n.push(encodeValue(t,o[e],e))}})}}else{const e=[];if(Array.isArray(o)){o.filter(isDefined).forEach(function(r){e.push(encodeValue(t,r))})}else{Object.keys(o).forEach(function(r){if(isDefined(o[r])){e.push(encodeUnreserved(r));e.push(encodeValue(t,o[r].toString()))}})}if(isKeyOperator(t)){n.push(encodeUnreserved(r)+"="+e.join(","))}else if(e.length!==0){n.push(e.join(","))}}}}else{if(t===";"){if(isDefined(o)){n.push(encodeUnreserved(r))}}else if(o===""&&(t==="&"||t==="?")){n.push(encodeUnreserved(r)+"=")}else if(o===""){n.push("")}}return n}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var r=["+","#",".","/",";","?","&"];e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(e,s,o){if(s){let e="";const o=[];if(r.indexOf(s.charAt(0))!==-1){e=s.charAt(0);s=s.substr(1)}s.split(/,/g).forEach(function(r){var s=/([^:\*]*)(?::(\d+)|(\*))?/.exec(r);o.push(getValues(t,e,s[1],s[2]||s[3]))});if(e&&e!=="+"){var n=",";if(e==="?"){n="&"}else if(e!=="#"){n=e}return(o.length!==0?e:"")+o.join(n)}else{return o.join(",")}}else{return encodeReserved(o)}});if(e==="/"){return e}else{return e.replace(/\/$/,"")}}function parse(e){let t=e.method.toUpperCase();let r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let s=Object.assign({},e.headers);let o;let n=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const i=extractUrlVariableNames(r);r=parseUrl(r).expand(n);if(!/^http/.test(r)){r=e.baseUrl+r}const a=Object.keys(e).filter(e=>i.includes(e)).concat("baseUrl");const A=omit(n,a);const c=/application\/octet-stream/i.test(s.accept);if(!c){if(e.mediaType.format){s.accept=s.accept.split(/,/).map(t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")}if(r.endsWith("/graphql")){if(e.mediaType.previews?.length){const t=s.accept.match(/(?{const r=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${r}`}).join(",")}}}if(["GET","HEAD"].includes(t)){r=addQueryParameters(r,A)}else{if("data"in A){o=A.data}else{if(Object.keys(A).length){o=A}}}if(!s["content-type"]&&typeof o!=="undefined"){s["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof o==="undefined"){o=""}return Object.assign({method:t,url:r,headers:s},typeof o!=="undefined"?{body:o}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,r){return parse(merge(e,t,r))}function withDefaults(e,t){const r=merge(e,t);const s=endpointWithDefaults.bind(null,r);return Object.assign(s,{DEFAULTS:r,defaults:withDefaults.bind(null,r),merge:merge.bind(null,r),parse:parse})}var me=withDefaults(null,Ee);var fe=__nccwpck_require__(1120);const Ce=/^-?\d+$/;const Ie=/^-?\d+n+$/;const Be=JSON.stringify;const Qe=JSON.parse;const Te=/^-?\d+n$/;const we=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;const ye=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;const JSONStringify=(e,t,r)=>{if("rawJSON"in JSON){return Be(e,(e,r)=>{if(typeof r==="bigint")return JSON.rawJSON(r.toString());if(typeof t==="function")return t(e,r);if(Array.isArray(t)&&t.includes(e))return r;return r},r)}if(!e)return Be(e,t,r);const s=Be(e,(e,r)=>{const s=typeof r==="string"&&Ie.test(r);if(s)return r.toString()+"n";if(typeof r==="bigint")return r.toString()+"n";if(typeof t==="function")return t(e,r);if(Array.isArray(t)&&t.includes(e))return r;return r},r);const o=s.replace(we,"$1$2$3");const n=o.replace(ye,"$1$2$3");return n};const be=new Map;const isContextSourceSupported=()=>{const e=JSON.parse.toString();if(be.has(e)){return be.get(e)}try{const t=JSON.parse("1",(e,t,r)=>!!r?.source&&r.source==="1");be.set(e,t);return t}catch{be.set(e,false);return false}};const convertMarkedBigIntsReviver=(e,t,r,s)=>{const o=typeof t==="string"&&Te.test(t);if(o)return BigInt(t.slice(0,-1));const n=typeof t==="string"&&Ie.test(t);if(n)return t.slice(0,-1);if(typeof s!=="function")return t;return s(e,t,r)};const JSONParseV2=(e,t)=>JSON.parse(e,(e,r,s)=>{const o=typeof r==="number"&&(r>Number.MAX_SAFE_INTEGER||r{if(!e)return Qe(e,t);if(isContextSourceSupported())return JSONParseV2(e,t);const r=e.replace(_e,(e,t,r,s)=>{const o=e[0]==='"';const n=o&&Re.test(e);if(n)return e.substring(0,e.length-1)+'n"';const i=r||s;const a=t&&(t.lengthconvertMarkedBigIntsReviver(e,r,s,t))};class RequestError extends Error{name;status;request;response;constructor(e,t,r){super(e,{cause:r.cause});this.name="HttpError";this.status=Number.parseInt(t);if(Number.isNaN(this.status)){this.status=0} +/*! ws. MIT License. Einar Otto Stangvik */a[i-4]=r[0];a[i-3]=r[1];a[i-2]=r[2];a[i-1]=r[3];a[1]=n;if(n===126){a.writeUInt16BE(o,2)}else if(n===127){a[2]=a[3]=0;a.writeUIntBE(o,4,6)}a[1]|=128;for(let e=0;e{"use strict";const{createInflateRaw:s,Z_DEFAULT_WINDOWBITS:o}=r(8522);const{isValidClientWindowBits:n}=r(8625);const{MessageSizeExceededError:i}=r(8707);const a=Buffer.from([0,0,255,255]);const A=Symbol("kBuffer");const c=Symbol("kLength");class PerMessageDeflate{#K;#p={};#Z=0;constructor(e,t){this.#p.serverNoContextTakeover=e.has("server_no_context_takeover");this.#p.serverMaxWindowBits=e.get("server_max_window_bits");this.#Z=t.maxPayloadSize}decompress(e,t,r){if(!this.#K){let e=o;if(this.#p.serverMaxWindowBits){if(!n(this.#p.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}e=Number.parseInt(this.#p.serverMaxWindowBits)}try{this.#K=s({windowBits:e})}catch(e){r(e);return}this.#K[A]=[];this.#K[c]=0;this.#K.on("data",e=>{this.#K[c]+=e.length;if(this.#Z>0&&this.#K[c]>this.#Z){r(new i);this.#K.removeAllListeners();this.#K=null;return}this.#K[A].push(e)});this.#K.on("error",e=>{this.#K=null;r(e)})}this.#K.write(e);if(t){this.#K.write(a)}this.#K.flush(()=>{if(!this.#K){return}const e=Buffer.concat(this.#K[A],this.#K[c]);this.#K[A].length=0;this.#K[c]=0;r(null,e)})}}e.exports={PerMessageDeflate:PerMessageDeflate}},1652:(e,t,r)=>{"use strict";const{Writable:s}=r(7075);const o=r(4589);const{parserStates:n,opcodes:i,states:a,emptyBuffer:A,sentCloseFrameState:c}=r(736);const{kReadyState:l,kSentClose:g,kResponse:u,kReceivedClose:p}=r(1216);const{channels:d}=r(2414);const{isValidStatusCode:E,isValidOpcode:h,failWebsocketConnection:m,websocketMessageReceived:f,utf8Decode:C,isControlFrame:I,isTextBinaryFrame:B,isContinuationFrame:Q}=r(8625);const{WebsocketFrameSend:T}=r(3264);const{closeWebSocketConnection:w}=r(6897);const{PerMessageDeflate:y}=r(9469);const{MessageSizeExceededError:b}=r(8707);function failWebsocketConnectionWithCode(e,t,r){w(e,t,r,Buffer.byteLength(r));m(e,r)}class ByteParser extends s{#X=[];#$=0;#ee=0;#te=false;#I=n.INFO;#re={};#se=[];#oe;#ne;#Z;constructor(e,t,r={}){super();this.ws=e;this.#oe=t==null?new Map:t;this.#ne=r.maxFragments??0;this.#Z=r.maxPayloadSize??0;if(this.#oe.has("permessage-deflate")){this.#oe.set("permessage-deflate",new y(t,r))}}_write(e,t,r){this.#X.push(e);this.#ee+=e.length;this.#te=true;this.run(r)}#ie(){if(this.#Z>0&&!I(this.#re.opcode)&&this.#re.payloadLength+this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,"Payload size exceeds maximum allowed size");return false}return true}run(e){while(this.#te){if(this.#I===n.INFO){if(this.#ee<2){return e()}const t=this.consume(2);const r=(t[0]&128)!==0;const s=t[0]&15;const o=(t[1]&128)===128;const a=!r&&s!==i.CONTINUATION;const A=t[1]&127;const c=t[0]&64;const l=t[0]&32;const g=t[0]&16;if(!h(s)){m(this.ws,"Invalid opcode received");return e()}if(o){m(this.ws,"Frame cannot be masked");return e()}if(c!==0&&!this.#oe.has("permessage-deflate")){m(this.ws,"Expected RSV1 to be clear.");return}if(l!==0||g!==0){m(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(a&&!B(s)){m(this.ws,"Invalid frame type was fragmented.");return}if(B(s)&&this.#se.length>0){m(this.ws,"Expected continuation frame");return}if(this.#re.fragmented&&a){m(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((A>125||a)&&I(s)){m(this.ws,"Control frame either too large or fragmented");return}if(Q(s)&&this.#se.length===0&&!this.#re.compressed){m(this.ws,"Unexpected continuation frame");return}if(A<=125){this.#re.payloadLength=A;this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(A===126){this.#I=n.PAYLOADLENGTH_16}else if(A===127){this.#I=n.PAYLOADLENGTH_64}if(B(s)){this.#re.binaryType=s;this.#re.compressed=c!==0}this.#re.opcode=s;this.#re.masked=o;this.#re.fin=r;this.#re.fragmented=a}else if(this.#I===n.PAYLOADLENGTH_16){if(this.#ee<2){return e()}const t=this.consume(2);this.#re.payloadLength=t.readUInt16BE(0);this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(this.#I===n.PAYLOADLENGTH_64){if(this.#ee<8){return e()}const t=this.consume(8);const r=t.readUInt32BE(0);const s=t.readUInt32BE(4);if(r!==0||s>2**31-1){m(this.ws,"Received payload length > 2^31 bytes.");return}this.#re.payloadLength=s;this.#I=n.READ_DATA;if(!this.#ie()){return}}else if(this.#I===n.READ_DATA){if(this.#ee0&&this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,(new b).message);return}if(!this.#re.fragmented&&this.#re.fin){f(this.ws,this.#re.binaryType,this.consumeFragments())}this.#I=n.INFO}else{this.#oe.get("permessage-deflate").decompress(t,this.#re.fin,(t,r)=>{if(t){const e=t instanceof b?1009:1007;failWebsocketConnectionWithCode(this.ws,e,t.message);return}if(!this.writeFragments(r)){return}if(this.#Z>0&&this.#$>this.#Z){failWebsocketConnectionWithCode(this.ws,1009,(new b).message);return}if(!this.#re.fin){this.#I=n.INFO;this.#te=true;this.run(e);return}f(this.ws,this.#re.binaryType,this.consumeFragments());this.#te=true;this.#I=n.INFO;this.run(e)});this.#te=false;break}}}}}consume(e){if(e>this.#ee){throw new Error("Called consume() before buffers satiated.")}else if(e===0){return A}if(this.#X[0].length===e){this.#ee-=this.#X[0].length;return this.#X.shift()}const t=Buffer.allocUnsafe(e);let r=0;while(r!==e){const s=this.#X[0];const{length:o}=s;if(o+r===e){t.set(this.#X.shift(),r);break}else if(o+r>e){t.set(s.subarray(0,e-r),r);this.#X[0]=s.subarray(e-r);break}else{t.set(this.#X.shift(),r);r+=s.length}}this.#ee-=e;return t}writeFragments(e){if(this.#ne>0&&this.#se.length===this.#ne){failWebsocketConnectionWithCode(this.ws,1008,"Too many message fragments");return false}this.#$+=e.length;this.#se.push(e);return true}consumeFragments(){const e=this.#se;if(e.length===1){this.#$=0;return e.shift()}const t=Buffer.concat(e,this.#$);this.#se=[];this.#$=0;return t}parseCloseBody(e){o(e.length!==1);let t;if(e.length>=2){t=e.readUInt16BE(0)}if(t!==undefined&&!E(t)){return{code:1002,reason:"Invalid status code",error:true}}let r=e.subarray(2);if(r[0]===239&&r[1]===187&&r[2]===191){r=r.subarray(3)}try{r=C(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:true}}return{code:t,reason:r,error:false}}parseControlFrame(e){const{opcode:t,payloadLength:r}=this.#re;if(t===i.CLOSE){if(r===1){m(this.ws,"Received close frame with a 1-byte body.");return false}this.#re.closeInfo=this.parseCloseBody(e);if(this.#re.closeInfo.error){const{code:e,reason:t}=this.#re.closeInfo;w(this.ws,e,t,t.length);m(this.ws,t);return false}if(this.ws[g]!==c.SENT){let e=A;if(this.#re.closeInfo.code){e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#re.closeInfo.code,0)}const t=new T(e);this.ws[u].socket.write(t.createFrame(i.CLOSE),e=>{if(!e){this.ws[g]=c.SENT}})}this.ws[l]=a.CLOSING;this.ws[p]=true;return false}else if(t===i.PING){if(!this.ws[p]){const t=new T(e);this.ws[u].socket.write(t.createFrame(i.PONG));if(d.ping.hasSubscribers){d.ping.publish({payload:e})}}}else if(t===i.PONG){if(d.pong.hasSubscribers){d.pong.publish({payload:e})}}return true}get closingInfo(){return this.#re.closeInfo}}e.exports={ByteParser:ByteParser}},3900:(e,t,r)=>{"use strict";const{WebsocketFrameSend:s}=r(3264);const{opcodes:o,sendHints:n}=r(736);const i=r(4660);const a=Buffer[Symbol.species];class SendQueue{#ae=new i;#Ae=false;#ce;constructor(e){this.#ce=e}add(e,t,r){if(r!==n.blob){const s=createFrame(e,r);if(!this.#Ae){this.#ce.write(s,t)}else{const e={promise:null,callback:t,frame:s};this.#ae.push(e)}return}const s={promise:e.arrayBuffer().then(e=>{s.promise=null;s.frame=createFrame(e,r)}),callback:t,frame:null};this.#ae.push(s);if(!this.#Ae){this.#le()}}async#le(){this.#Ae=true;const e=this.#ae;while(!e.isEmpty()){const t=e.shift();if(t.promise!==null){await t.promise}this.#ce.write(t.frame,t.callback);t.callback=t.frame=null}this.#Ae=false}}function createFrame(e,t){return new s(toBuffer(e,t)).createFrame(t===n.string?o.TEXT:o.BINARY)}function toBuffer(e,t){switch(t){case n.string:return Buffer.from(e);case n.arrayBuffer:case n.blob:return new a(e);case n.typedArray:return new a(e.buffer,e.byteOffset,e.byteLength)}}e.exports={SendQueue:SendQueue}},1216: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")}},8625:(e,t,r)=>{"use strict";const{kReadyState:s,kController:o,kResponse:n,kBinaryType:i,kWebSocketURL:a}=r(1216);const{states:A,opcodes:c}=r(736);const{ErrorEvent:l,createFastMessageEvent:g}=r(5188);const{isUtf8:u}=r(4573);const{collectASequenceOfCodePointsFast:p,removeHTTPWhitespace:d}=r(1900);function isConnecting(e){return e[s]===A.CONNECTING}function isEstablished(e){return e[s]===A.OPEN}function isClosing(e){return e[s]===A.CLOSING}function isClosed(e){return e[s]===A.CLOSED}function fireEvent(e,t,r=(e,t)=>new Event(e,t),s={}){const o=r(e,s);t.dispatchEvent(o)}function websocketMessageReceived(e,t,r){if(e[s]!==A.OPEN){return}let o;if(t===c.TEXT){try{o=m(r)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){o=new Blob([r])}else{o=toArrayBuffer(r)}}fireEvent("message",e,g,{origin:e[a].origin,data:o})}function toArrayBuffer(e){if(e.byteLength===e.buffer.byteLength){return e.buffer}return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function isValidSubprotocol(e){if(e.length===0){return false}for(let t=0;t126||r===34||r===40||r===41||r===44||r===47||r===58||r===59||r===60||r===61||r===62||r===63||r===64||r===91||r===92||r===93||r===123||r===125){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{[o]:r,[n]:s}=e;r.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,(e,t)=>new l(e,t),{error:new Error(t),message:t})}}function isControlFrame(e){return e===c.CLOSE||e===c.PING||e===c.PONG}function isContinuationFrame(e){return e===c.CONTINUATION}function isTextBinaryFrame(e){return e===c.TEXT||e===c.BINARY}function isValidOpcode(e){return isTextBinaryFrame(e)||isContinuationFrame(e)||isControlFrame(e)}function parseExtensions(e){const t={position:0};const r=new Map;while(t.position57){return false}}const t=Number.parseInt(e,10);return t>=8&&t<=15}const E=typeof process.versions.icu==="string";const h=E?new TextDecoder("utf-8",{fatal:true}):undefined;const m=E?h.decode.bind(h):function(e){if(u(e)){return e.toString("utf-8")}throw new TypeError("Invalid utf-8 received.")};e.exports={isConnecting:isConnecting,isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived,utf8Decode:m,isControlFrame:isControlFrame,isContinuationFrame:isContinuationFrame,isTextBinaryFrame:isTextBinaryFrame,isValidOpcode:isValidOpcode,parseExtensions:parseExtensions,isValidClientWindowBits:isValidClientWindowBits}},3726:(e,t,r)=>{"use strict";const{webidl:s}=r(5893);const{URLSerializer:o}=r(1900);const{environmentSettingsObject:n}=r(3168);const{staticPropertyDescriptors:i,states:a,sentCloseFrameState:A,sendHints:c}=r(736);const{kWebSocketURL:l,kReadyState:g,kController:u,kBinaryType:p,kResponse:d,kSentClose:E,kByteParser:h}=r(1216);const{isConnecting:m,isEstablished:f,isClosing:C,isValidSubprotocol:I,fireEvent:B}=r(8625);const{establishWebSocketConnection:Q,closeWebSocketConnection:T}=r(6897);const{ByteParser:w}=r(1652);const{kEnumerableProperty:y,isBlobLike:b}=r(3440);const{getGlobalDispatcher:k}=r(2581);const{types:S}=r(7975);const{ErrorEvent:_,CloseEvent:R}=r(5188);const{SendQueue:v}=r(3900);class WebSocket extends EventTarget{#P={open:null,error:null,close:null,message:null};#ge=0;#ue="";#oe="";#pe;constructor(e,t=[]){super();s.util.markAsUncloneable(this);const r="WebSocket constructor";s.argumentLengthCheck(arguments,1,r);const o=s.converters["DOMString or sequence or WebSocketInit"](t,r,"options");e=s.converters.USVString(e,r,"url");t=o.protocols;const i=n.settingsObject.baseUrl;let a;try{a=new URL(e,i)}catch(e){throw new DOMException(e,"SyntaxError")}if(a.protocol==="http:"){a.protocol="ws:"}else if(a.protocol==="https:"){a.protocol="wss:"}if(a.protocol!=="ws:"&&a.protocol!=="wss:"){throw new DOMException(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError")}if(a.hash||a.href.endsWith("#")){throw new DOMException("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map(e=>e.toLowerCase())).size){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every(e=>I(e))){throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[l]=new URL(a.href);const c=n.settingsObject;this[u]=Q(a,t,c,this,(e,t)=>this.#de(e,t),o);this[g]=WebSocket.CONNECTING;this[E]=A.NOT_SENT;this[p]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);const r="WebSocket.close";if(e!==undefined){e=s.converters["unsigned short"](e,r,"code",{clamp:true})}if(t!==undefined){t=s.converters.USVString(t,r,"reason")}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new DOMException("invalid code","InvalidAccessError")}}let o=0;if(t!==undefined){o=Buffer.byteLength(t);if(o>123){throw new DOMException(`Reason must be less than 123 bytes; received ${o}`,"SyntaxError")}}T(this,e,t,o)}send(e){s.brandCheck(this,WebSocket);const t="WebSocket.send";s.argumentLengthCheck(arguments,1,t);e=s.converters.WebSocketSendData(e,t,"data");if(m(this)){throw new DOMException("Sent before connected.","InvalidStateError")}if(!f(this)||C(this)){return}if(typeof e==="string"){const t=Buffer.byteLength(e);this.#ge+=t;this.#pe.add(e,()=>{this.#ge-=t},c.string)}else if(S.isArrayBuffer(e)){this.#ge+=e.byteLength;this.#pe.add(e,()=>{this.#ge-=e.byteLength},c.arrayBuffer)}else if(ArrayBuffer.isView(e)){this.#ge+=e.byteLength;this.#pe.add(e,()=>{this.#ge-=e.byteLength},c.typedArray)}else if(b(e)){this.#ge+=e.size;this.#pe.add(e,()=>{this.#ge-=e.size},c.blob)}}get readyState(){s.brandCheck(this,WebSocket);return this[g]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#ge}get url(){s.brandCheck(this,WebSocket);return o(this[l])}get extensions(){s.brandCheck(this,WebSocket);return this.#oe}get protocol(){s.brandCheck(this,WebSocket);return this.#ue}get onopen(){s.brandCheck(this,WebSocket);return this.#P.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#P.open){this.removeEventListener("open",this.#P.open)}if(typeof e==="function"){this.#P.open=e;this.addEventListener("open",e)}else{this.#P.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#P.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#P.error){this.removeEventListener("error",this.#P.error)}if(typeof e==="function"){this.#P.error=e;this.addEventListener("error",e)}else{this.#P.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#P.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#P.close){this.removeEventListener("close",this.#P.close)}if(typeof e==="function"){this.#P.close=e;this.addEventListener("close",e)}else{this.#P.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#P.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#P.message){this.removeEventListener("message",this.#P.message)}if(typeof e==="function"){this.#P.message=e;this.addEventListener("message",e)}else{this.#P.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[p]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[p]="blob"}else{this[p]=e}}#de(e,t){this[d]=e;const r=this[u]?.dispatcher?.webSocketOptions;const s=r?.maxFragments;const o=r?.maxPayloadSize;const n=new w(this,t,{maxFragments:s,maxPayloadSize:o});n.on("drain",onParserDrain);n.on("error",onParserError.bind(this));e.socket.ws=this;this[h]=n;this.#pe=new v(e.socket);this[g]=a.OPEN;const i=e.headersList.get("sec-websocket-extensions");if(i!==null){this.#oe=i}const A=e.headersList.get("sec-websocket-protocol");if(A!==null){this.#ue=A}B("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=a.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=a.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=a.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=a.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:i,OPEN:i,CLOSING:i,CLOSED:i,url:y,readyState:y,bufferedAmount:y,onopen:y,onerror:y,onclose:y,close:y,onmessage:y,binaryType:y,send:y,extensions:y,protocol:y,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:i,OPEN:i,CLOSING:i,CLOSED:i});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e,t,r){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e,t,r)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:s.converters.any,defaultValue:()=>k()},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(b(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||S.isArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};function onParserDrain(){this.ws[d].socket.resume()}function onParserError(e){let t;let r;if(e instanceof R){t=e.reason;r=e.code}else{t=e.message}B("error",this,()=>new _("error",{error:e,message:t}));T(this,r)}e.exports={WebSocket:WebSocket}},75:module=>{module.exports=eval("require")("supports-color")},2613:e=>{"use strict";e.exports=require("assert")},181:e=>{"use strict";e.exports=require("buffer")},6982:e=>{"use strict";e.exports=require("crypto")},2250:e=>{"use strict";e.exports=require("dns")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},8611:e=>{"use strict";e.exports=require("http")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},4589:e=>{"use strict";e.exports=require("node:assert")},6698:e=>{"use strict";e.exports=require("node:async_hooks")},4573:e=>{"use strict";e.exports=require("node:buffer")},7540:e=>{"use strict";e.exports=require("node:console")},7598:e=>{"use strict";e.exports=require("node:crypto")},3053:e=>{"use strict";e.exports=require("node:diagnostics_channel")},610:e=>{"use strict";e.exports=require("node:dns")},8474:e=>{"use strict";e.exports=require("node:events")},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")},7030:e=>{"use strict";e.exports=require("node:net")},643:e=>{"use strict";e.exports=require("node:perf_hooks")},1792:e=>{"use strict";e.exports=require("node:querystring")},7075:e=>{"use strict";e.exports=require("node:stream")},1692:e=>{"use strict";e.exports=require("node:tls")},3136:e=>{"use strict";e.exports=require("node:url")},7975:e=>{"use strict";e.exports=require("node:util")},3429:e=>{"use strict";e.exports=require("node:util/types")},5919:e=>{"use strict";e.exports=require("node:worker_threads")},8522:e=>{"use strict";e.exports=require("node:zlib")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2203:e=>{"use strict";e.exports=require("stream")},3193:e=>{"use strict";e.exports=require("string_decoder")},4756:e=>{"use strict";e.exports=require("tls")},2018:e=>{"use strict";e.exports=require("tty")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},1120:e=>{"use strict";var t;const r=function NullObject(){};r.prototype=Object.create(null);const s=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu;const o=/\\([\v\u0020-\u00ff])/gu;const n=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u;const i={type:"",parameters:new r};Object.freeze(i.parameters);Object.freeze(i);function parse(e){if(typeof e!=="string"){throw new TypeError("argument header is required and must be a string")}let t=e.indexOf(";");const i=t!==-1?e.slice(0,t).trim():e.trim();if(n.test(i)===false){throw new TypeError("invalid media type")}const a={type:i.toLowerCase(),parameters:new r};if(t===-1){return a}let A;let c;let l;s.lastIndex=t;while(c=s.exec(e)){if(c.index!==t){throw new TypeError("invalid parameter format")}t+=c[0].length;A=c[1].toLowerCase();l=c[2];if(l[0]==='"'){l=l.slice(1,l.length-1);o.test(l)&&(l=l.replace(o,"$1"))}a.parameters[A]=l}if(t!==e.length){throw new TypeError("invalid parameter format")}return a}function safeParse(e){if(typeof e!=="string"){return i}let t=e.indexOf(";");const a=t!==-1?e.slice(0,t).trim():e.trim();if(n.test(a)===false){return i}const A={type:a.toLowerCase(),parameters:new r};if(t===-1){return A}let c;let l;let g;s.lastIndex=t;while(l=s.exec(e)){if(l.index!==t){return i}t+=l[0].length;c=l[1].toLowerCase();g=l[2];if(g[0]==='"'){g=g.slice(1,g.length-1);o.test(g)&&(g=g.replace(o,"$1"))}A.parameters[c]=g}if(t!==e.length){return i}return A}t={parse:parse,safeParse:safeParse};t=parse;e.exports.xL=safeParse;t=i},319:(e,t,r)=>{"use strict";r.d(t,{g6:()=>Agent,AO:()=>toBuffer});var s=r(9278);var o=r(8611);var n=r(5692);async function toBuffer(e){let t=0;const r=[];for await(const s of e){t+=s.length;r.push(s)}return Buffer.concat(r,t)}async function json(e){const t=await toBuffer(e);const r=t.toString("utf8");try{return JSON.parse(r)}catch(e){const t=e;t.message+=` (input: ${r})`;throw t}}function req(e,t={}){const r=typeof e==="string"?e:e.href;const s=(r.startsWith("https:")?https:http).request(e,t);const o=new Promise((e,t)=>{s.once("response",e).once("error",t).end()});s.then=o.then.bind(o);return s}const i=Symbol("AgentBaseInternalState");class Agent extends o.Agent{constructor(e){super(e);this[i]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint==="boolean"){return e.secureEndpoint}if(typeof e.protocol==="string"){return e.protocol==="https:"}}const{stack:t}=new Error;if(typeof t!=="string")return false;return t.split("\n").some(e=>e.indexOf("(https.js:")!==-1||e.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===Infinity&&this.maxTotalSockets===Infinity){return null}if(!this.sockets[e]){this.sockets[e]=[]}const t=new s.Socket({writable:false});this.sockets[e].push(t);this.totalSocketCount++;return t}decrementSockets(e,t){if(!this.sockets[e]||t===null){return}const r=this.sockets[e];const s=r.indexOf(t);if(s!==-1){r.splice(s,1);this.totalSocketCount--;if(r.length===0){delete this.sockets[e]}}}getName(e){const t=this.isSecureEndpoint(e);if(t){return n.Agent.prototype.getName.call(this,e)}return super.getName(e)}createSocket(e,t,r){const s={...t,secureEndpoint:this.isSecureEndpoint(t)};const o=this.getName(s);const n=this.incrementSockets(o);Promise.resolve().then(()=>this.connect(e,s)).then(a=>{this.decrementSockets(o,n);if(typeof a.addRequest==="function"){try{return a.addRequest(e,s)}catch(e){return r(e)}}this[i].currentSocket=a;super.createSocket(e,t,r)},e=>{this.decrementSockets(o,n);r(e)})}createConnection(){const e=this[i].currentSocket;this[i].currentSocket=undefined;if(!e){throw new Error("No socket was returned in the `connect()` function")}return e}get defaultPort(){return this[i].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){if(this[i]){this[i].defaultPort=e}}get protocol(){return this[i].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){if(this[i]){this[i].protocol=e}}}}};var __webpack_module_cache__={};function __nccwpck_require__(e){var t=__webpack_module_cache__[e];if(t!==undefined){return t.exports}var r=__webpack_module_cache__[e]={exports:{}};var s=true;try{__webpack_modules__[e].call(r.exports,r,r.exports,__nccwpck_require__);s=false}finally{if(s)delete __webpack_module_cache__[e]}return r.exports}__nccwpck_require__.m=__webpack_modules__;(()=>{var e=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;var t;__nccwpck_require__.t=function(r,s){if(s&1)r=this(r);if(s&8)return r;if(typeof r==="object"&&r){if(s&4&&r.__esModule)return r;if(s&16&&typeof r.then==="function")return r}var o=Object.create(null);__nccwpck_require__.r(o);var n={};t=t||[null,e({}),e([]),e(e)];for(var i=s&2&&r;typeof i=="object"&&!~t.indexOf(i);i=e(i)){Object.getOwnPropertyNames(i).forEach(e=>n[e]=()=>r[e])}n["default"]=()=>r;__nccwpck_require__.d(o,n);return o}})();(()=>{__nccwpck_require__.d=(e,t)=>{for(var r in t){if(__nccwpck_require__.o(t,r)&&!__nccwpck_require__.o(e,r)){Object.defineProperty(e,r,{enumerable:true,get:t[r]})}}}})();(()=>{__nccwpck_require__.f={};__nccwpck_require__.e=e=>Promise.all(Object.keys(__nccwpck_require__.f).reduce((t,r)=>{__nccwpck_require__.f[r](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 r=t.modules,s=t.ids,o=t.runtime;for(var n in r){if(__nccwpck_require__.o(r,n)){__nccwpck_require__.m[n]=r[n]}}if(o)o(__nccwpck_require__);for(var i=0;i{if(!e[t]){if(true){installChunk(require("./"+__nccwpck_require__.u(t)))}else e[t]=1}}})();var __webpack_exports__={};(()=>{"use strict";var e=__nccwpck_require__(6928);var t=__nccwpck_require__(857);function utils_toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}function utils_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}}function command_issueCommand(e,r,s){const o=new Command(e,r,s);process.stdout.write(o.toString()+t.EOL)}function command_issue(e,t=""){command_issueCommand(e,{},t)}const r="::";class Command{constructor(e,t,r){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=r}toString(){let e=r+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const r in this.properties){if(this.properties.hasOwnProperty(r)){const s=this.properties[r];if(s){if(t){t=false}else{e+=","}e+=`${r}=${escapeProperty(s)}`}}}}e+=`${r}${escapeData(this.message)}`;return e}}function escapeData(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return utils_toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var s=__nccwpck_require__(6982);var o=__nccwpck_require__(9896);function file_command_issueFileCommand(e,r){const s=process.env[`GITHUB_${e}`];if(!s){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!o.existsSync(s)){throw new Error(`Missing file at path: ${s}`)}o.appendFileSync(s,`${utils_toCommandValue(r)}${t.EOL}`,{encoding:"utf8"})}function file_command_prepareKeyValueMessage(e,r){const o=`ghadelimiter_${s.randomUUID()}`;const n=utils_toCommandValue(r);if(e.includes(o)){throw new Error(`Unexpected input: name should not contain the delimiter "${o}"`)}if(n.includes(o)){throw new Error(`Unexpected input: value should not contain the delimiter "${o}"`)}return`${e}<<${o}${t.EOL}${n}${t.EOL}${o}`}var n=__nccwpck_require__(8611);var i=__nccwpck_require__(5692);function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const r=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(r){try{return new DecodedURL(r)}catch(e){if(!r.startsWith("http://")&&!r.startsWith("https://"))return new DecodedURL(`http://${r}`)}}else{return undefined}}function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const r=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!r){return false}let s;if(e.port){s=Number(e.port)}else if(e.protocol==="http:"){s=80}else if(e.protocol==="https:"){s=443}const o=[e.hostname.toUpperCase()];if(typeof s==="number"){o.push(`${o[0]}:${s}`)}for(const e of r.split(",").map(e=>e.trim().toUpperCase()).filter(e=>e)){if(e==="*"||o.some(t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`))){return true}}return false}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}}var a=__nccwpck_require__(770);var A=__nccwpck_require__(6752);var c=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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||(l={}));var g;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(g||(g={}));var u;(function(e){e["ApplicationJson"]="application/json"})(u||(u={}));function lib_getProxyUrl(e){const t=pm.getProxyUrl(new URL(e));return t?t.href:""}const p=[l.MovedPermanently,l.ResourceMoved,l.SeeOther,l.TemporaryRedirect,l.PermanentRedirect];const d=[l.BadGateway,l.ServiceUnavailable,l.GatewayTimeout];const E=null&&["OPTIONS","GET","DELETE","HEAD"];const h=10;const m=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}class HttpClientResponse{constructor(e){this.message=e}readBody(){return c(this,void 0,void 0,function*(){return new Promise(e=>c(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 c(this,void 0,void 0,function*(){return new Promise(e=>c(this,void 0,void 0,function*(){const t=[];this.message.on("data",e=>{t.push(e)});this.message.on("end",()=>{e(Buffer.concat(t))})}))})}}function isHttps(e){const t=new URL(e);return t.protocol==="https:"}class lib_HttpClient{constructor(e,t,r){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=this._getUserAgentWithOrchestrationId(e);this.handlers=t||[];this.requestOptions=r;if(r){if(r.ignoreSslError!=null){this._ignoreSslError=r.ignoreSslError}this._socketTimeout=r.socketTimeout;if(r.allowRedirects!=null){this._allowRedirects=r.allowRedirects}if(r.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=r.allowRedirectDowngrade}if(r.maxRedirects!=null){this._maxRedirects=Math.max(r.maxRedirects,0)}if(r.keepAlive!=null){this._keepAlive=r.keepAlive}if(r.allowRetries!=null){this._allowRetries=r.allowRetries}if(r.maxRetries!=null){this._maxRetries=r.maxRetries}}}options(e,t){return c(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return c(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return c(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return c(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return c(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return c(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return c(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,s){return c(this,void 0,void 0,function*(){return this.request(e,t,r,s)})}getJson(e){return c(this,arguments,void 0,function*(e,t={}){t[g.Accept]=this._getExistingOrDefaultHeader(t,g.Accept,u.ApplicationJson);const r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.post(e,s,r);return this._processResponse(o,this.requestOptions)})}putJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.put(e,s,r);return this._processResponse(o,this.requestOptions)})}patchJson(e,t){return c(this,arguments,void 0,function*(e,t,r={}){const s=JSON.stringify(t,null,2);r[g.Accept]=this._getExistingOrDefaultHeader(r,g.Accept,u.ApplicationJson);r[g.ContentType]=this._getExistingOrDefaultContentTypeHeader(r,u.ApplicationJson);const o=yield this.patch(e,s,r);return this._processResponse(o,this.requestOptions)})}request(e,t,r,s){return c(this,void 0,void 0,function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const o=new URL(t);let n=this._prepareRequest(e,o,s);const i=this._allowRetries&&E.includes(e)?this._maxRetries+1:1;let a=0;let A;do{A=yield this.requestRaw(n,r);if(A&&A.message&&A.message.statusCode===l.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(A)){e=t;break}}if(e){return e.handleAuthentication(this,n,r)}else{return A}}let t=this._maxRedirects;while(A.message.statusCode&&p.includes(A.message.statusCode)&&this._allowRedirects&&t>0){const i=A.message.headers["location"];if(!i){break}const a=new URL(i);if(o.protocol==="https:"&&o.protocol!==a.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 A.readBody();if(a.hostname!==o.hostname){for(const e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}n=this._prepareRequest(e,a,s);A=yield this.requestRaw(n,r);t--}if(!A.message.statusCode||!d.includes(A.message.statusCode)){return A}a+=1;if(a{function callbackForResult(e,t){if(e){s(e)}else if(!t){s(new Error("Unknown error"))}else{r(t)}}this.requestRawWithCallback(e,t,callbackForResult)})})}requestRawWithCallback(e,t,r){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;function handleResult(e,t){if(!s){s=true;r(e,t)}}const o=e.httpModule.request(e.options,e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)});let n;o.on("socket",e=>{n=e});o.setTimeout(this._socketTimeout||3*6e4,()=>{if(n){n.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))});o.on("error",function(e){handleResult(e)});if(t&&typeof t==="string"){o.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",function(){o.end()});t.pipe(o)}else{o.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const r=pm.getProxyUrl(t);const s=r&&r.hostname;if(!s){return}return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){const s={};s.parsedUrl=t;const o=s.parsedUrl.protocol==="https:";s.httpModule=o?https:http;const n=o?443:80;s.options={};s.options.host=s.parsedUrl.hostname;s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):n;s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||"");s.options.method=e;s.options.headers=this._mergeHeaders(r);if(this.userAgent!=null){s.options.headers["user-agent"]=this.userAgent}s.options.agent=this._getAgent(s.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(s.options)}}return s}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,r){let s;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[t];if(e){s=typeof e==="number"?e.toString():e}}const o=e[t];if(o!==undefined){return typeof o==="number"?o.toString():o}if(s!==undefined){return s}return r}_getExistingOrDefaultContentTypeHeader(e,t){let r;if(this.requestOptions&&this.requestOptions.headers){const e=lowercaseKeys(this.requestOptions.headers)[g.ContentType];if(e){if(typeof e==="number"){r=String(e)}else if(Array.isArray(e)){r=e.join(", ")}else{r=e}}}const s=e[g.ContentType];if(s!==undefined){if(typeof s==="number"){return String(s)}else if(Array.isArray(s)){return s.join(", ")}else{return s}}if(r!==undefined){return r}return t}_getAgent(e){let t;const r=pm.getProxyUrl(e);const s=r&&r.hostname;if(this._keepAlive&&s){t=this._proxyAgent}if(!s){t=this._agent}if(t){return t}const o=e.protocol==="https:";let n=100;if(this.requestOptions){n=this.requestOptions.maxSockets||http.globalAgent.maxSockets}if(r&&r.hostname){const e={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})};let s;const i=r.protocol==="https:";if(o){s=i?tunnel.httpsOverHttps:tunnel.httpsOverHttp}else{s=i?tunnel.httpOverHttps:tunnel.httpOverHttp}t=s(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:n};t=o?new https.Agent(e):new http.Agent(e);this._agent=t}if(o&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive){r=this._proxyAgentDispatcher}if(r){return r}const s=e.protocol==="https:";r=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=r;if(s&&this._ignoreSslError){r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:false})}return r}_getUserAgentWithOrchestrationId(e){const t=e||"actions/http-client";const r=process.env["ACTIONS_ORCHESTRATION_ID"];if(r){const e=r.replace(/[^a-z0-9_.-]/gi,"_");return`${t} actions_orchestration_id/${e}`}return t}_performExponentialBackoff(e){return c(this,void 0,void 0,function*(){e=Math.min(h,e);const t=m*Math.pow(2,e);return new Promise(e=>setTimeout(()=>e(),t))})}_processResponse(e,t){return c(this,void 0,void 0,function*(){return new Promise((r,s)=>c(this,void 0,void 0,function*(){const o=e.message.statusCode||0;const n={statusCode:o,result:null,headers:{}};if(o===l.NotFound){r(n)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let i;let a;try{a=yield e.readBody();if(a&&a.length>0){if(t&&t.deserializeDates){i=JSON.parse(a,dateTimeDeserializer)}else{i=JSON.parse(a)}n.result=i}n.headers=e.message.headers}catch(e){}if(o>299){let e;if(i&&i.message){e=i.message}else if(a&&a.length>0){e=a}else{e=`Failed request: (${o})`}const t=new HttpClientError(e,o);t.result=n.result;s(t)}else{r(n)}}))})}}const lowercaseKeys=e=>Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{});var f=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}class auth_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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}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 f(this,void 0,void 0,function*(){throw new Error("not implemented")})}}var C=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};class oidc_utils_OidcClient{static createHttpClient(e=true,t=10){const r={allowRetries:e,maxRetries:t};return new HttpClient("actions/oidc-client",[new BearerCredentialHandler(oidc_utils_OidcClient.getRequestToken())],r)}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){return C(this,void 0,void 0,function*(){var t;const r=oidc_utils_OidcClient.createHttpClient();const s=yield r.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 o=(t=s.result)===null||t===void 0?void 0:t.value;if(!o){throw new Error("Response json body do not have ID Token field")}return o})}static getIDToken(e){return C(this,void 0,void 0,function*(){try{let t=oidc_utils_OidcClient.getIDTokenUrl();if(e){const r=encodeURIComponent(e);t=`${t}&audience=${r}`}debug(`ID token url is ${t}`);const r=yield oidc_utils_OidcClient.getCall(t);setSecret(r);return r}catch(e){throw new Error(`Error message: ${e.message}`)}})}}var I=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const{access:B,appendFile:Q,writeFile:T}=o.promises;const w="GITHUB_STEP_SUMMARY";const y="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return I(this,void 0,void 0,function*(){if(this._filePath){return this._filePath}const e=process.env[w];if(!e){throw new Error(`Unable to find environment variable for $${w}. Check if your runtime environment supports job summaries.`)}try{yield B(e,o.constants.R_OK|o.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,r={}){const s=Object.entries(r).map(([e,t])=>` ${e}="${t}"`).join("");if(!t){return`<${e}${s}>`}return`<${e}${s}>${t}`}write(e){return I(this,void 0,void 0,function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const r=yield this.filePath();const s=t?T:Q;yield s(r,this._buffer,{encoding:"utf8"});return this.emptyBuffer()})}clear(){return I(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(t.EOL)}addCodeBlock(e,t){const r=Object.assign({},t&&{lang:t});const s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,t=false){const r=t?"ol":"ul";const s=e.map(e=>this.wrap("li",e)).join("");const o=this.wrap(r,s);return this.addRaw(o).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:r,colspan:s,rowspan:o}=e;const n=t?"th":"td";const i=Object.assign(Object.assign({},s&&{colspan:s}),o&&{rowspan:o});return this.wrap(n,r,i)}).join("");return this.wrap("tr",t)}).join("");const r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){const r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){const{width:s,height:o}=r||{};const n=Object.assign(Object.assign({},s&&{width:s}),o&&{height:o});const i=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(i).addEOL()}addHeading(e,t){const r=`h${t}`;const s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1";const o=this.wrap(s,e);return this.addRaw(o).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 r=Object.assign({},t&&{cite:t});const s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,t){const r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}}const b=new Summary;const k=null&&b;const S=null&&b;function toPosixPath(e){return e.replace(/[\\]/g,"/")}function toWin32Path(e){return e.replace(/[/]/g,"\\")}function toPlatformPath(e){return e.replace(/[/\\]/g,path.sep)}var _=__nccwpck_require__(3193);var R=__nccwpck_require__(4434);const v=require("child_process");var F=__nccwpck_require__(2613);var D=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const{chmod:G,copyFile:P,lstat:U,mkdir:L,open:O,readdir:M,rename:N,rm:H,rmdir:x,stat:V,symlink:Y,unlink:J}=o.promises;const W=process.platform==="win32";function readlink(e){return D(this,void 0,void 0,function*(){const t=yield fs.promises.readlink(e);if(W&&!t.endsWith("\\")){return`${t}\\`}return t})}const q=268435456;const j=o.constants.O_RDONLY;function exists(e){return D(this,void 0,void 0,function*(){try{yield V(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true})}function isDirectory(e){return D(this,arguments,void 0,function*(e,t=false){const r=t?yield V(e):yield U(e);return r.isDirectory()})}function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(W){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}function tryGetExecutablePath(t,r){return D(this,void 0,void 0,function*(){let s=undefined;try{s=yield V(t)}catch(e){if(e.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${e}`)}}if(s&&s.isFile()){if(W){const s=e.extname(t).toUpperCase();if(r.some(e=>e.toUpperCase()===s)){return t}}else{if(isUnixExecutable(s)){return t}}}const o=t;for(const n of r){t=o+n;s=undefined;try{s=yield V(t)}catch(e){if(e.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${t}': ${e}`)}}if(s&&s.isFile()){if(W){try{const r=e.dirname(t);const s=e.basename(t).toUpperCase();for(const o of yield M(r)){if(s===o.toUpperCase()){t=e.join(r,o);break}}}catch(e){console.log(`Unexpected error attempting to determine the actual case of the file '${t}': ${e}`)}return t}else{if(isUnixExecutable(s)){return t}}}}return""})}function normalizeSeparators(e){e=e||"";if(W){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&process.getgid!==undefined&&e.gid===process.getgid()||(e.mode&64)>0&&process.getuid!==undefined&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}var z=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};function cp(e,t){return z(this,arguments,void 0,function*(e,t,r={}){const{force:s,recursive:o,copySourceDirectory:n}=readCopyOptions(r);const i=(yield ioUtil.exists(t))?yield ioUtil.stat(t):null;if(i&&i.isFile()&&!s){return}const a=i&&i.isDirectory()&&n?path.join(t,path.basename(e)):t;if(!(yield ioUtil.exists(e))){throw new Error(`no such file or directory: ${e}`)}const A=yield ioUtil.stat(e);if(A.isDirectory()){if(!o){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,a,0,s)}}else{if(path.relative(e,a)===""){throw new Error(`'${a}' and '${e}' are the same file`)}yield io_copyFile(e,a,s)}})}function mv(e,t){return z(this,arguments,void 0,function*(e,t,r={}){if(yield ioUtil.exists(t)){let s=true;if(yield ioUtil.isDirectory(t)){t=path.join(t,path.basename(e));s=yield ioUtil.exists(t)}if(s){if(r.force==null||r.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(path.dirname(t));yield ioUtil.rename(e,t)})}function rmRF(e){return z(this,void 0,void 0,function*(){if(ioUtil.IS_WINDOWS){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield ioUtil.rm(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}function mkdirP(e){return z(this,void 0,void 0,function*(){ok(e,"a path argument must be provided");yield ioUtil.mkdir(e,{recursive:true})})}function which(e,t){return z(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(W){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 r=yield findInPath(e);if(r&&r.length>0){return r[0]}return""})}function findInPath(t){return z(this,void 0,void 0,function*(){if(!t){throw new Error("parameter 'tool' is required")}const r=[];if(W&&process.env["PATHEXT"]){for(const t of process.env["PATHEXT"].split(e.delimiter)){if(t){r.push(t)}}}if(isRooted(t)){const e=yield tryGetExecutablePath(t,r);if(e){return[e]}return[]}if(t.includes(e.sep)){return[]}const s=[];if(process.env.PATH){for(const t of process.env.PATH.split(e.delimiter)){if(t){s.push(t)}}}const o=[];for(const n of s){const s=yield tryGetExecutablePath(e.join(n,t),r);if(s){o.push(s)}}return o})}function readCopyOptions(e){const t=e.force==null?true:e.force;const r=Boolean(e.recursive);const s=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:r,copySourceDirectory:s}}function cpDirRecursive(e,t,r,s){return z(this,void 0,void 0,function*(){if(r>=255)return;r++;yield mkdirP(t);const o=yield ioUtil.readdir(e);for(const n of o){const o=`${e}/${n}`;const i=`${t}/${n}`;const a=yield ioUtil.lstat(o);if(a.isDirectory()){yield cpDirRecursive(o,i,r,s)}else{yield io_copyFile(o,i,s)}}yield ioUtil.chmod(t,(yield ioUtil.stat(e)).mode)})}function io_copyFile(e,t,r){return z(this,void 0,void 0,function*(){if((yield ioUtil.lstat(e)).isSymbolicLink()){try{yield ioUtil.lstat(t);yield ioUtil.unlink(t)}catch(e){if(e.code==="EPERM"){yield ioUtil.chmod(t,"0666");yield ioUtil.unlink(t)}}const r=yield ioUtil.readlink(e);yield ioUtil.symlink(r,t,ioUtil.IS_WINDOWS?"junction":null)}else if(!(yield ioUtil.exists(t))||r){yield ioUtil.copyFile(e,t)}})}const K=require("timers");var Z=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const X=process.platform==="win32";class ToolRunner extends R.EventEmitter{constructor(e,t,r){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=r||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const r=this._getSpawnFileName();const s=this._getSpawnArgs(e);let o=t?"":"[command]";if(X){if(this._isCmdFile()){o+=r;for(const e of s){o+=` ${e}`}}else if(e.windowsVerbatimArguments){o+=`"${r}"`;for(const e of s){o+=` ${e}`}}else{o+=this._windowsQuoteCmdArg(r);for(const e of s){o+=` ${this._windowsQuoteCmdArg(e)}`}}}else{o+=r;for(const e of s){o+=` ${e}`}}return o}_processLineBuffer(e,r,s){try{let o=r+e.toString();let n=o.indexOf(t.EOL);while(n>-1){const e=o.substring(0,n);s(e);o=o.substring(n+t.EOL.length);n=o.indexOf(t.EOL)}return o}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(X){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(X){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const r of this.args){t+=" ";t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r)}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 r=false;for(const s of e){if(t.some(e=>e===s)){r=true;break}}if(!r){return e}let s='"';let o=true;for(let t=e.length;t>0;t--){s+=e[t-1];if(o&&e[t-1]==="\\"){s+="\\"}else if(e[t-1]==='"'){o=true;s+='"'}else{o=false}}s+='"';return s.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 r=true;for(let s=e.length;s>0;s--){t+=e[s-1];if(r&&e[s-1]==="\\"){t+="\\"}else if(e[s-1]==='"'){r=true;t+="\\"}else{r=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 r={};r.cwd=e.cwd;r.env=e.env;r["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){r.argv0=`"${t}"`}return r}exec(){return Z(this,void 0,void 0,function*(){if(!isRooted(this.toolPath)&&(this.toolPath.includes("/")||X&&this.toolPath.includes("\\"))){this.toolPath=e.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield which(this.toolPath,true);return new Promise((e,r)=>Z(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 s=this._cloneExecOptions(this.options);if(!s.silent&&s.outStream){s.outStream.write(this._getCommandString(s)+t.EOL)}const o=new ExecState(s,this.toolPath);o.on("debug",e=>{this._debug(e)});if(this.options.cwd&&!(yield exists(this.options.cwd))){return r(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const n=this._getSpawnFileName();const i=v.spawn(n,this._getSpawnArgs(s),this._getSpawnOptions(this.options,n));let a="";if(i.stdout){i.stdout.on("data",e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!s.silent&&s.outStream){s.outStream.write(e)}a=this._processLineBuffer(e,a,e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}})})}let A="";if(i.stderr){i.stderr.on("data",e=>{o.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!s.silent&&s.errStream&&s.outStream){const t=s.failOnStdErr?s.errStream:s.outStream;t.write(e)}A=this._processLineBuffer(e,A,e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}})})}i.on("error",e=>{o.processError=e.message;o.processExited=true;o.processClosed=true;o.CheckComplete()});i.on("exit",e=>{o.processExitCode=e;o.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);o.CheckComplete()});i.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",(t,s)=>{if(a.length>0){this.emit("stdline",a)}if(A.length>0){this.emit("errline",A)}i.removeAllListeners();if(t){r(t)}else{e(s)}});if(this.options.input){if(!i.stdin){throw new Error("child process missing stdin")}i.stdin.end(this.options.input)}}))})}}function argStringToArray(e){const t=[];let r=false;let s=false;let o="";function append(e){if(s&&e!=='"'){o+="\\"}o+=e;s=false}for(let n=0;n0){t.push(o);o=""}continue}append(i)}if(o.length>0){t.push(o.trim())}return t}class ExecState extends R.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=(0,K.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()}}var $=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};function exec_exec(e,t,r){return $(this,void 0,void 0,function*(){const s=tr.argStringToArray(e);if(s.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const o=s[0];t=s.slice(1).concat(t||[]);const n=new tr.ToolRunner(o,t,r);return n.exec()})}function getExecOutput(e,t,r){return $(this,void 0,void 0,function*(){var s,o;let n="";let i="";const a=new StringDecoder("utf8");const A=new StringDecoder("utf8");const c=(s=r===null||r===void 0?void 0:r.listeners)===null||s===void 0?void 0:s.stdout;const l=(o=r===null||r===void 0?void 0:r.listeners)===null||o===void 0?void 0:o.stderr;const stdErrListener=e=>{i+=A.write(e);if(l){l(e)}};const stdOutListener=e=>{n+=a.write(e);if(c){c(e)}};const g=Object.assign(Object.assign({},r===null||r===void 0?void 0:r.listeners),{stdout:stdOutListener,stderr:stdErrListener});const u=yield exec_exec(e,t,Object.assign(Object.assign({},r),{listeners:g}));n+=a.end();i+=A.end();return{exitCode:u,stdout:n,stderr:i}})}var ee=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};const getWindowsInfo=()=>ee(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}});const getMacOsInfo=()=>ee(void 0,void 0,void 0,function*(){var e,t,r,s;const{stdout:o}=yield exec.getExecOutput("sw_vers",undefined,{silent:true});const n=(t=(e=o.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const i=(s=(r=o.match(/ProductName:\s*(.+)/))===null||r===void 0?void 0:r[1])!==null&&s!==void 0?s:"";return{name:i,version:n}});const getLinuxInfo=()=>ee(void 0,void 0,void 0,function*(){const{stdout:e}=yield exec.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,r]=e.trim().split("\n");return{name:t,version:r}});const te=t.platform();const re=t.arch();const se=te==="win32";const oe=te==="darwin";const ne=te==="linux";function getDetails(){return ee(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield se?getWindowsInfo():oe?getMacOsInfo():getLinuxInfo()),{platform:te,arch:re,isWindows:se,isMacOS:oe,isLinux:ne})})}var ie=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};var ae;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(ae||(ae={}));function exportVariable(e,t){const r=toCommandValue(t);process.env[e]=r;const s=process.env["GITHUB_ENV"]||"";if(s){return issueFileCommand("ENV",prepareKeyValueMessage(e,t))}issueCommand("set-env",{name:e},r)}function core_setSecret(e){command_issueCommand("add-mask",{},e)}function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){issueFileCommand("PATH",e)}else{issueCommand("add-path",{},e)}process.env["PATH"]=`${e}${path.delimiter}${process.env["PATH"]}`}function getInput(e,t){const r=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!r){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return r}return r.trim()}function getMultilineInput(e,t){const r=getInput(e,t).split("\n").filter(e=>e!=="");if(t&&t.trimWhitespace===false){return r}return r.map(e=>e.trim())}function getBooleanInput(e,t){const r=["true","True","TRUE"];const s=["false","False","FALSE"];const o=getInput(e,t);if(r.includes(o))return true;if(s.includes(o))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\``)}function setOutput(e,r){const s=process.env["GITHUB_OUTPUT"]||"";if(s){return file_command_issueFileCommand("OUTPUT",file_command_prepareKeyValueMessage(e,r))}process.stdout.write(t.EOL);command_issueCommand("set-output",{name:e},utils_toCommandValue(r))}function setCommandEcho(e){issue("echo",e?"on":"off")}function setFailed(e){process.exitCode=ae.Failure;error(e)}function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}function core_debug(e){issueCommand("debug",{},e)}function error(e,t={}){command_issueCommand("error",utils_toCommandProperties(t),e instanceof Error?e.toString():e)}function warning(e,t={}){issueCommand("warning",toCommandProperties(t),e instanceof Error?e.toString():e)}function notice(e,t={}){issueCommand("notice",toCommandProperties(t),e instanceof Error?e.toString():e)}function info(e){process.stdout.write(e+t.EOL)}function startGroup(e){issue("group",e)}function endGroup(){issue("endgroup")}function group(e,t){return ie(this,void 0,void 0,function*(){startGroup(e);let r;try{r=yield t()}finally{endGroup()}return r})}function saveState(e,t){const r=process.env["GITHUB_STATE"]||"";if(r){return issueFileCommand("STATE",prepareKeyValueMessage(e,t))}issueCommand("save-state",{name:e},toCommandValue(t))}function getState(e){return process.env[`STATE_${e}`]||""}function getIDToken(e){return ie(this,void 0,void 0,function*(){return yield OidcClient.getIDToken(e)})}class Context{constructor(){var e,r,s;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${t.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=(r=process.env.GITHUB_SERVER_URL)!==null&&r!==void 0?r:`https://github.com`;this.graphqlUrl=(s=process.env.GITHUB_GRAPHQL_URL)!==null&&s!==void 0?s:`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'")}}var Ae=__nccwpck_require__(4844);var ce=undefined&&undefined.__awaiter||function(e,t,r,s){function adopt(e){return e instanceof r?e:new r(function(t){t(e)})}return new(r||(r=Promise))(function(r,o){function fulfilled(e){try{step(s.next(e))}catch(e){o(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())})};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}`}function getProxyAgent(e){const t=new Ae.HttpClient;return t.getAgent(e)}function getProxyAgentDispatcher(e){const t=new Ae.HttpClient;return t.getAgentDispatcher(e)}function getProxyFetch(e){const t=getProxyAgentDispatcher(e);const proxyFetch=(e,r)=>ce(this,void 0,void 0,function*(){return(0,A.fetch)(e,Object.assign(Object.assign({},r),{dispatcher:t}))});return proxyFetch}function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}function getUserAgentWithOrchestrationId(e){var t;const r=(t=process.env["ACTIONS_ORCHESTRATION_ID"])===null||t===void 0?void 0:t.trim();if(r){const t=r.replace(/[^a-z0-9_.-]/gi,"_");const s=`actions_orchestration_id/${t}`;if(e===null||e===void 0?void 0:e.includes(s))return e;const o=e?`${e} `:"";return`${o}${s}`}return e}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""}function register(e,t,r,s){if(typeof r!=="function"){throw new Error("method for before hook must be a function")}if(!s){s={}}if(Array.isArray(t)){return t.reverse().reduce((t,r)=>register.bind(null,e,r,t,s),r)()}return Promise.resolve().then(()=>{if(!e.registry[t]){return r(s)}return e.registry[t].reduce((e,t)=>t.hook.bind(null,e,s),r)()})}function addHook(e,t,r,s){const o=s;if(!e.registry[r]){e.registry[r]=[]}if(t==="before"){s=(e,t)=>Promise.resolve().then(o.bind(null,t)).then(e.bind(null,t))}if(t==="after"){s=(e,t)=>{let r;return Promise.resolve().then(e.bind(null,t)).then(e=>{r=e;return o(r,t)}).then(()=>r)}}if(t==="error"){s=(e,t)=>Promise.resolve().then(e.bind(null,t)).catch(e=>o(e,t))}e.registry[r].push({hook:s,orig:o})}function removeHook(e,t,r){if(!e.registry[t]){return}const s=e.registry[t].map(e=>e.orig).indexOf(r);if(s===-1){return}e.registry[t].splice(s,1)}const le=Function.bind;const ge=le.bind(le);function bindApi(e,t,r){const s=ge(removeHook,null).apply(null,r?[t,r]:[t]);e.api={remove:s};e.remove=s;["before","error","after","wrap"].forEach(s=>{const o=r?[t,s,r]:[t,s];e[s]=e.api[s]=ge(addHook,null).apply(null,o)})}function Singular(){const e=Symbol("Singular");const t={registry:{}};const r=register.bind(null,t,e);bindApi(r,t,e);return r}function Collection(){const e={registry:{}};const t=register.bind(null,e);bindApi(t,e);return t}const ue={Singular:Singular,Collection:Collection};var pe="0.0.0-development";var de=`octokit-endpoint.js/${pe} ${getUserAgent()}`;var Ee={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":de},mediaType:{format:""}};function dist_bundle_lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce((t,r)=>{t[r.toLowerCase()]=e[r];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 r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r==="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function mergeDeep(e,t){const r=Object.assign({},e);Object.keys(t).forEach(s=>{if(isPlainObject(t[s])){if(!(s in e))Object.assign(r,{[s]:t[s]});else r[s]=mergeDeep(e[s],t[s])}else{Object.assign(r,{[s]:t[s]})}});return r}function removeUndefinedProperties(e){for(const t in e){if(e[t]===void 0){delete e[t]}}return e}function merge(e,t,r){if(typeof t==="string"){let[e,s]=t.split(" ");r=Object.assign(s?{method:e,url:s}:{url:e},r)}else{r=Object.assign({},t)}r.headers=dist_bundle_lowercaseKeys(r.headers);removeUndefinedProperties(r);removeUndefinedProperties(r.headers);const s=mergeDeep(e||{},r);if(r.url==="/graphql"){if(e&&e.mediaType.previews?.length){s.mediaType.previews=e.mediaType.previews.filter(e=>!s.mediaType.previews.includes(e)).concat(s.mediaType.previews)}s.mediaType.previews=(s.mediaType.previews||[]).map(e=>e.replace(/-preview/,""))}return s}function addQueryParameters(e,t){const r=/\?/.test(e)?"&":"?";const s=Object.keys(t);if(s.length===0){return e}return e+r+s.map(e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`}).join("&")}var he=/\{[^{}}]+\}/g;function removeNonChars(e){return e.replace(/(?:^\W+)|(?:(?e.concat(t),[])}function omit(e,t){const r={__proto__:null};for(const s of Object.keys(e)){if(t.indexOf(s)===-1){r[s]=e[s]}}return r}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,r){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(r){return encodeUnreserved(r)+"="+t}else{return t}}function isDefined(e){return e!==void 0&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,r,s){var o=e[r],n=[];if(isDefined(o)&&o!==""){if(typeof o==="string"||typeof o==="number"||typeof o==="bigint"||typeof o==="boolean"){o=o.toString();if(s&&s!=="*"){o=o.substring(0,parseInt(s,10))}n.push(encodeValue(t,o,isKeyOperator(t)?r:""))}else{if(s==="*"){if(Array.isArray(o)){o.filter(isDefined).forEach(function(e){n.push(encodeValue(t,e,isKeyOperator(t)?r:""))})}else{Object.keys(o).forEach(function(e){if(isDefined(o[e])){n.push(encodeValue(t,o[e],e))}})}}else{const e=[];if(Array.isArray(o)){o.filter(isDefined).forEach(function(r){e.push(encodeValue(t,r))})}else{Object.keys(o).forEach(function(r){if(isDefined(o[r])){e.push(encodeUnreserved(r));e.push(encodeValue(t,o[r].toString()))}})}if(isKeyOperator(t)){n.push(encodeUnreserved(r)+"="+e.join(","))}else if(e.length!==0){n.push(e.join(","))}}}}else{if(t===";"){if(isDefined(o)){n.push(encodeUnreserved(r))}}else if(o===""&&(t==="&"||t==="?")){n.push(encodeUnreserved(r)+"=")}else if(o===""){n.push("")}}return n}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var r=["+","#",".","/",";","?","&"];e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(e,s,o){if(s){let e="";const o=[];if(r.indexOf(s.charAt(0))!==-1){e=s.charAt(0);s=s.substr(1)}s.split(/,/g).forEach(function(r){var s=/([^:\*]*)(?::(\d+)|(\*))?/.exec(r);o.push(getValues(t,e,s[1],s[2]||s[3]))});if(e&&e!=="+"){var n=",";if(e==="?"){n="&"}else if(e!=="#"){n=e}return(o.length!==0?e:"")+o.join(n)}else{return o.join(",")}}else{return encodeReserved(o)}});if(e==="/"){return e}else{return e.replace(/\/$/,"")}}function parse(e){let t=e.method.toUpperCase();let r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let s=Object.assign({},e.headers);let o;let n=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const i=extractUrlVariableNames(r);r=parseUrl(r).expand(n);if(!/^http/.test(r)){r=e.baseUrl+r}const a=Object.keys(e).filter(e=>i.includes(e)).concat("baseUrl");const A=omit(n,a);const c=/application\/octet-stream/i.test(s.accept);if(!c){if(e.mediaType.format){s.accept=s.accept.split(/,/).map(t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")}if(r.endsWith("/graphql")){if(e.mediaType.previews?.length){const t=s.accept.match(/(?{const r=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${r}`}).join(",")}}}if(["GET","HEAD"].includes(t)){r=addQueryParameters(r,A)}else{if("data"in A){o=A.data}else{if(Object.keys(A).length){o=A}}}if(!s["content-type"]&&typeof o!=="undefined"){s["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof o==="undefined"){o=""}return Object.assign({method:t,url:r,headers:s},typeof o!=="undefined"?{body:o}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,r){return parse(merge(e,t,r))}function withDefaults(e,t){const r=merge(e,t);const s=endpointWithDefaults.bind(null,r);return Object.assign(s,{DEFAULTS:r,defaults:withDefaults.bind(null,r),merge:merge.bind(null,r),parse:parse})}var me=withDefaults(null,Ee);var fe=__nccwpck_require__(1120);const Ce=/^-?\d+$/;const Ie=/^-?\d+n+$/;const Be=JSON.stringify;const Qe=JSON.parse;const Te=/^-?\d+n$/;const we=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;const ye=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g;const JSONStringify=(e,t,r)=>{if("rawJSON"in JSON){return Be(e,(e,r)=>{if(typeof r==="bigint")return JSON.rawJSON(r.toString());if(typeof t==="function")return t(e,r);if(Array.isArray(t)&&t.includes(e))return r;return r},r)}if(!e)return Be(e,t,r);const s=Be(e,(e,r)=>{const s=typeof r==="string"&&Ie.test(r);if(s)return r.toString()+"n";if(typeof r==="bigint")return r.toString()+"n";if(typeof t==="function")return t(e,r);if(Array.isArray(t)&&t.includes(e))return r;return r},r);const o=s.replace(we,"$1$2$3");const n=o.replace(ye,"$1$2$3");return n};const be=new Map;const isContextSourceSupported=()=>{const e=JSON.parse.toString();if(be.has(e)){return be.get(e)}try{const t=JSON.parse("1",(e,t,r)=>!!r?.source&&r.source==="1");be.set(e,t);return t}catch{be.set(e,false);return false}};const convertMarkedBigIntsReviver=(e,t,r,s)=>{const o=typeof t==="string"&&Te.test(t);if(o)return BigInt(t.slice(0,-1));const n=typeof t==="string"&&Ie.test(t);if(n)return t.slice(0,-1);if(typeof s!=="function")return t;return s(e,t,r)};const JSONParseV2=(e,t)=>JSON.parse(e,(e,r,s)=>{const o=typeof r==="number"&&(r>Number.MAX_SAFE_INTEGER||r{if(!e)return Qe(e,t);if(isContextSourceSupported())return JSONParseV2(e,t);const r=e.replace(_e,(e,t,r,s)=>{const o=e[0]==='"';const n=o&&Re.test(e);if(n)return e.substring(0,e.length-1)+'n"';const i=r||s;const a=t&&(t.lengthconvertMarkedBigIntsReviver(e,r,s,t))};class RequestError extends Error{name;status;request;response;constructor(e,t,r){super(e,{cause:r.cause});this.name="HttpError";this.status=Number.parseInt(t);if(Number.isNaN(this.status)){this.status=0} /* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist */if("response"in r){this.response=r.response}const s=Object.assign({},r.request);if(r.request.headers.authorization){s.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/(?"";async function fetchWrapper(e){const t=e.request?.fetch||globalThis.fetch;if(!t){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")}const r=e.request?.log||console;const s=e.request?.parseSuccessResponseBody!==false;const o=dist_bundle_isPlainObject(e.body)||Array.isArray(e.body)?JSONStringify(e.body):e.body;const n=Object.fromEntries(Object.entries(e.headers).map(([e,t])=>[e,String(t)]));let i;try{i=await t(e.url,{method:e.method,body:o,redirect:e.request?.redirect,headers:n,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(t){let r="Unknown Error";if(t instanceof Error){if(t.name==="AbortError"){t.status=500;throw t}r=t.message;if(t.name==="TypeError"&&"cause"in t){if(t.cause instanceof Error){r=t.cause.message}else if(typeof t.cause==="string"){r=t.cause}}}const s=new RequestError(r,500,{request:e});s.cause=t;throw s}const a=i.status;const A=i.url;const c={};for(const[e,t]of i.headers){c[e]=t}const l={url:A,status:a,headers:c,data:""};if("deprecation"in c){const t=c.link&&c.link.match(/<([^<>]+)>; rel="deprecation"/);const s=t&&t.pop();r.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${c.sunset}${s?`. See ${s}`:""}`)}if(a===204||a===205){return l}if(e.method==="HEAD"){if(a<400){return l}throw new RequestError(i.statusText,a,{response:l,request:e})}if(a===304){l.data=await getResponseData(i);throw new RequestError("Not modified",a,{response:l,request:e})}if(a>=400){l.data=await getResponseData(i);throw new RequestError(toErrorMessage(l.data),a,{response:l,request:e})}l.data=s?await getResponseData(i):i.body;return l}async function getResponseData(e){const t=e.headers.get("content-type");if(!t){return e.text().catch(noop)}const r=(0,fe.xL)(t);if(isJSONResponse(r)){let t="";try{t=await e.text();return JSONParse(t)}catch(e){return t}}else if(r.type.startsWith("text/")||r.parameters.charset?.toLowerCase()==="utf-8"){return e.text().catch(noop)}else{return e.arrayBuffer().catch( /* v8 ignore next -- @preserve */ ()=>new ArrayBuffer(0))}}function isJSONResponse(e){return e.type==="application/json"||e.type==="application/scim+json"}function toErrorMessage(e){if(typeof e==="string"){return e}if(e instanceof ArrayBuffer){return"Unknown error"}if("message"in e){const t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(e=>JSON.stringify(e)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function dist_bundle_withDefaults(e,t){const r=e.defaults(t);const newApi=function(e,t){const s=r.merge(e,t);if(!s.request||!s.request.hook){return fetchWrapper(r.parse(s))}const request2=(e,t)=>fetchWrapper(r.parse(r.merge(e,t)));Object.assign(request2,{endpoint:r,defaults:dist_bundle_withDefaults.bind(null,r)});return s.request.hook(request2,s)};return Object.assign(newApi,{endpoint:r,defaults:dist_bundle_withDefaults.bind(null,r)})}var De=dist_bundle_withDefaults(me,Fe); /* v8 ignore next -- @preserve */ /* v8 ignore else -- @preserve */var Ge="0.0.0-development";function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map(e=>` - ${e.message}`).join("\n")}var Pe=class extends Error{constructor(e,t,r){super(_buildMessageForResponseErrors(r));this.request=e;this.headers=t;this.response=r;this.errors=r.errors;this.data=r.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}name="GraphqlResponseError";errors;data};var Ue=["method","baseUrl","url","headers","request","query","mediaType","operationName"];var Le=["query","method","url"];var Oe=/\/api\/v3\/?$/;function graphql(e,t,r){if(r){if(typeof t==="string"&&"query"in r){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in r){if(!Le.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const s=typeof t==="string"?Object.assign({query:t},r):t;const o=Object.keys(s).reduce((e,t)=>{if(Ue.includes(t)){e[t]=s[t];return e}if(!e.variables){e.variables={}}e.variables[t]=s[t];return e},{});const n=s.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(Oe.test(n)){o.url=n.replace(Oe,"/api/graphql")}return e(o).then(e=>{if(e.data.errors){const t={};for(const r of Object.keys(e.headers)){t[r]=e.headers[r]}throw new Pe(o,t,e.data)}return e.data.data})}function graphql_dist_bundle_withDefaults(e,t){const r=e.defaults(t);const newApi=(e,t)=>graphql(r,e,t);return Object.assign(newApi,{defaults:graphql_dist_bundle_withDefaults.bind(null,r),endpoint:r.endpoint})}var Me=graphql_dist_bundle_withDefaults(De,{headers:{"user-agent":`octokit-graphql.js/${Ge} ${getUserAgent()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return graphql_dist_bundle_withDefaults(e,{method:"POST",url:"/graphql"})}var Ne="(?:[a-zA-Z0-9_-]+)";var He="\\.";var xe=new RegExp(`^${Ne}${He}${Ne}${He}${Ne}$`);var Ve=xe.test.bind(xe);async function auth(e){const t=Ve(e);const r=e.startsWith("v1.")||e.startsWith("ghs_");const s=e.startsWith("ghu_");const o=t?"app":r?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:o}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,r,s){const o=t.endpoint.merge(r,s);o.headers.authorization=withAuthorizationPrefix(e);return t(o)}var Ye=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)})};const Je="7.0.6";const dist_src_noop=()=>{};const We=console.warn.bind(console);const qe=console.error.bind(console);function createLogger(e={}){if(typeof e.debug!=="function"){e.debug=dist_src_noop}if(typeof e.info!=="function"){e.info=dist_src_noop}if(typeof e.warn!=="function"){e.warn=We}if(typeof e.error!=="function"){e.error=qe}return e}const je=`octokit-core.js/${Je} ${getUserAgent()}`;class Octokit{static VERSION=Je;static defaults(e){const t=class extends(this){constructor(...t){const r=t[0]||{};if(typeof e==="function"){super(e(r));return}super(Object.assign({},e,r,r.userAgent&&e.userAgent?{userAgent:`${r.userAgent} ${e.userAgent}`}:null))}};return t}static plugins=[];static plugin(...e){const t=this.plugins;const r=class extends(this){static plugins=t.concat(e.filter(e=>!t.includes(e)))};return r}constructor(e={}){const t=new ue.Collection;const r={baseUrl:De.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};r.headers["user-agent"]=e.userAgent?`${e.userAgent} ${je}`:je;if(e.baseUrl){r.baseUrl=e.baseUrl}if(e.previews){r.mediaType.previews=e.previews}if(e.timeZone){r.headers["time-zone"]=e.timeZone}this.request=De.defaults(r);this.graphql=withCustomRequest(this.request).defaults(r);this.log=createLogger(e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const r=Ye(e.auth);t.wrap("request",r.hook);this.auth=r}}else{const{authStrategy:r,...s}=e;const o=r(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:s},e.auth));t.wrap("request",o.hook);this.auth=o}const s=this.constructor;for(let t=0;t({async next(){if(!a)return{done:true};try{const e=await o({method:n,url:a,headers:i});const t=normalizePaginatedListResponse(e);a=((t.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1];if(!a&&"total_commits"in t.data){const e=new URL(t.url);const r=e.searchParams;const s=parseInt(r.get("page")||"1",10);const o=parseInt(r.get("per_page")||"250",10);if(s*o{if(o.done){return t}let n=false;function done(){n=true}t=t.concat(s?s(o.value,done):o.value.data);if(n){return t}return gather(e,t,r,s)})}var tt=Object.assign(paginate,{iterator:iterator});var rt=null&&["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}/code-security/configurations","GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/teams","GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships","GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations","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 /organizations/{org}/dependabot/repository-access","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/hosted-runners","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/permissions/self-hosted-runners/repositories","GET /orgs/{org}/actions/runner-groups","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories","GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners","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}/attestations/repositories","GET /orgs/{org}/attestations/{subject_digest}","GET /orgs/{org}/blocks","GET /orgs/{org}/campaigns","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/code-security/configurations","GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories","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}/copilot/metrics","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}/insights/api/route-stats/{actor_type}/{actor_id}","GET /orgs/{org}/insights/api/subject-stats","GET /orgs/{org}/insights/api/user-stats/{user_id}","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}/private-registries","GET /orgs/{org}/projects","GET /orgs/{org}/projectsV2","GET /orgs/{org}/projectsV2/{project_number}/fields","GET /orgs/{org}/projectsV2/{project_number}/items","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}/rulesets/{ruleset_id}/history","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/settings/immutable-releases/repositories","GET /orgs/{org}/settings/network-configurations","GET /orgs/{org}/team/{team_slug}/copilot/metrics","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/{project_id}/collaborators","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}/attestations/{subject_digest}","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}/compare/{basehead}","GET /repos/{owner}/{repo}/compare/{base}...{head}","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}/environments/{environment_name}/secrets","GET /repos/{owner}/{repo}/environments/{environment_name}/variables","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}/dependencies/blocked_by","GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking","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}/sub_issues","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}/rulesets/{ruleset_id}/history","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 /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}/attestations/{subject_digest}","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}/projectsV2","GET /users/{username}/projectsV2/{project_number}/fields","GET /users/{username}/projectsV2/{project_number}/items","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 rt.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=et;const st=new Context;const ot=getApiBaseUrl();const nt={baseUrl:ot,request:{agent:getProxyAgent(ot),fetch:getProxyFetch(ot)}};const it=Octokit.plugin(restEndpointMethods,paginateRest).defaults(nt);function getOctokitOptions(e,t){const r=Object.assign({},t||{});const s=getAuthString(e,r);if(s){r.auth=s}const o=getUserAgentWithOrchestrationId(r.userAgent);if(o){r.userAgent=o}return r}var at={actions:{addSelfHostedRunnerToGroupForOrg:["PUT /orgs/:org/actions/runner-groups/:runner_group_id/runners/:runner_id"],createHostedRunnerForEnterprise:["POST /enterprises/:enterprise/actions/hosted-runners"],createSelfHostedRunnerGroupForOrg:["POST /orgs/:org/actions/runner-groups"],deleteHostedRunnerForEnterprise:["DELETE /enterprises/:enterprise/actions/hosted-runners/:hosted_runner_id"],deleteSelfHostedRunnerGroupFromOrg:["DELETE /orgs/:org/actions/runner-groups/:runner_group_id"],generateRunnerJitconfigForEnterprise:["POST /enterprises/:enterprise/actions/runners/generate-jitconfig"],getActionsCacheUsageForEnterprise:["GET /enterprises/:enterprise/actions/cache/usage"],getGithubActionsDefaultWorkflowPermissionsEnterprise:["GET /enterprises/:enterprise/actions/permissions/workflow"],getHostedRunnerForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/:hosted_runner_id"],getHostedRunnersGithubOwnedImagesForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/images/github-owned"],getHostedRunnersLimitsForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/limits"],getHostedRunnersMachineSpecsForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/machine-sizes"],getHostedRunnersPartnerImagesForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/images/partner"],getHostedRunnersPlatformsForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners/platforms"],getSelfHostedRunnerGroupForOrg:["GET /orgs/:org/actions/runner-groups/:runner_group_id"],listHostedRunnersForEnterprise:["GET /enterprises/:enterprise/actions/hosted-runners"],listRepoAccessToSelfHostedRunnerGroupInOrg:["GET /orgs/:org/actions/runner-groups/:runner_group_id/repositories"],listSelfHostedRunnerGroupsForOrg:["GET /orgs/:org/actions/runner-groups"],listSelfHostedRunnersInGroupForOrg:["GET /orgs/:org/actions/runner-groups/:runner_group_id/runners"],removeRepoAccessToSelfHostedRunnerGroupInOrg:["DELETE /orgs/:org/actions/runner-groups/:runner_group_id/repositories/:repository_id"],removeSelfHostedRunnerFromGroupForOrg:["DELETE /orgs/:org/actions/runner-groups/:runner_group_id/runners/:runner_id"],setActionsOidcCustomIssuerPolicyForEnterprise:["PUT /enterprises/:enterprise/actions/oidc/customization/issuer"],setGithubActionsDefaultWorkflowPermissionsEnterprise:["PUT /enterprises/:enterprise/actions/permissions/workflow"],setRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/:org/actions/runner-groups/:runner_group_id/repositories"],setSelfHostedRunnersInGroupForOrg:["PUT /orgs/:org/actions/runner-groups/:runner_group_id/runners"],updateHostedRunnerForEnterprise:["PATCH /enterprises/:enterprise/actions/hosted-runners/:hosted_runner_id"],updateSelfHostedRunnerGroupForOrg:["PATCH /orgs/:org/actions/runner-groups/:runner_group_id"]},announcementBanners:{getAnnouncementBannerForEnterprise:["GET /enterprises/:enterprise/announcement"],getAnnouncementBannerForOrg:["GET /orgs/:org/announcement"],removeAnnouncementBannerForEnterprise:["DELETE /enterprises/:enterprise/announcement"],removeAnnouncementBannerForOrg:["DELETE /orgs/:org/announcement"],setAnnouncementBannerForEnterprise:["PATCH /enterprises/:enterprise/announcement"],setAnnouncementBannerForOrg:["PATCH /orgs/:org/announcement"]},billing:{addResourceToCostCenter:["POST /enterprises/:enterprise/settings/billing/cost-centers/:cost_center_id/resource"],createCostCenter:["POST /enterprises/:enterprise/settings/billing/cost-centers"],deleteCostCenter:["DELETE /enterprises/:enterprise/settings/billing/cost-centers/:cost_center_id"],getAllCostCenters:["GET /enterprises/:enterprise/settings/billing/cost-centers"],getCostCenter:["GET /enterprises/:enterprise/settings/billing/cost-centers/:cost_center_id"],getGithubActionsBillingGhe:["GET /enterprises/:enterprise/settings/billing/actions"],getGithubAdvancedSecurityBillingGhe:["GET /enterprises/:enterprise/settings/billing/advanced-security"],getGithubAdvancedSecurityBillingOrg:["GET /orgs/:org/settings/billing/advanced-security"],getGithubBillingUsageReportGhe:["GET /enterprises/:enterprise/settings/billing/usage"],getGithubPackagesBillingGhe:["GET /enterprises/:enterprise/settings/billing/packages"],getSharedStorageBillingGhe:["GET /enterprises/:enterprise/settings/billing/shared-storage"],removeResourceFromCostCenter:["DELETE /enterprises/:enterprise/settings/billing/cost-centers/:cost_center_id/resource"],updateCostCenter:["PATCH /enterprises/:enterprise/settings/billing/cost-centers/:cost_center_id"]},codeScanning:{getDismissalRequestForRepo:["GET /repos/:owner/:repo/dismissal-requests/code-scanning/:alert_number"],listAlertsForEnterprise:["GET /enterprises/:enterprise/code-scanning/alerts"],listDismissalRequestsForRepo:["GET /repos/:owner/:repo/dismissal-requests/code-scanning"],listOrgDismissalRequests:["GET /orgs/:org/dismissal-requests/code-scanning"],reviewDismissalRequestForRepo:["PATCH /repos/:owner/:repo/dismissal-requests/code-scanning/:alert_number"]},copilot:{addCopilotSeatsForEnterpriseTeams:["POST /enterprises/:enterprise/copilot/billing/selected_enterprise_teams"],addCopilotSeatsForEnterpriseUsers:["POST /enterprises/:enterprise/copilot/billing/selected_users"],cancelCopilotSeatsForEnterpriseTeams:["DELETE /enterprises/:enterprise/copilot/billing/selected_enterprise_teams"],cancelCopilotSeatsForEnterpriseUsers:["DELETE /enterprises/:enterprise/copilot/billing/selected_users"],copilotMetricsForEnterprise:["GET /enterprises/:enterprise/copilot/metrics"],copilotMetricsForEnterpriseTeam:["GET /enterprises/:enterprise/team/:team_slug/copilot/metrics"],getCopilotSeatDetailsForEnterpriseUser:["GET /enterprises/:enterprise/members/:username/copilot"],listCopilotSeatsForEnterprise:["GET /enterprises/:enterprise/copilot/billing/seats"]},enterpriseAdmin:{addCustomLabelsToSelfHostedRunnerForEnterprise:["POST /enterprises/:enterprise/actions/runners/:runner_id/labels"],addOrgAccessToSelfHostedRunnerGroupInEnterprise:["PUT /enterprises/:enterprise/actions/runner-groups/:runner_group_id/organizations/:org_id"],addSelfHostedRunnerToGroupForEnterprise:["PUT /enterprises/:enterprise/actions/runner-groups/:runner_group_id/runners/:runner_id"],createAuditLogStream:["POST /enterprises/:enterprise/audit-log/streams"],createRegistrationTokenForEnterprise:["POST /enterprises/:enterprise/actions/runners/registration-token"],createRemoveTokenForEnterprise:["POST /enterprises/:enterprise/actions/runners/remove-token"],createSelfHostedRunnerGroupForEnterprise:["POST /enterprises/:enterprise/actions/runner-groups"],customPropertiesForReposCreateOrUpdateEnterpriseDefinition:["PUT /enterprises/:enterprise/properties/schema/:custom_property_name"],customPropertiesForReposCreateOrUpdateEnterpriseDefinitions:["PATCH /enterprises/:enterprise/properties/schema"],customPropertiesForReposDeleteEnterpriseDefinition:["DELETE /enterprises/:enterprise/properties/schema/:custom_property_name"],customPropertiesForReposGetEnterpriseDefinition:["GET /enterprises/:enterprise/properties/schema/:custom_property_name"],customPropertiesForReposGetEnterpriseDefinitions:["GET /enterprises/:enterprise/properties/schema"],customPropertiesForReposPromoteDefinitionToEnterprise:["PUT /enterprises/:enterprise/properties/schema/organizations/:org/:custom_property_name/promote"],deleteAuditLogStream:["DELETE /enterprises/:enterprise/audit-log/streams/:stream_id"],deleteScimGroupFromEnterprise:["DELETE /scim/v2/enterprises/:enterprise/Groups/:scim_group_id"],deleteSelfHostedRunnerFromEnterprise:["DELETE /enterprises/:enterprise/actions/runners/:runner_id"],deleteSelfHostedRunnerGroupFromEnterprise:["DELETE /enterprises/:enterprise/actions/runner-groups/:runner_group_id"],deleteUserFromEnterprise:["DELETE /scim/v2/enterprises/:enterprise/Users/:scim_user_id"],disableSelectedOrganizationGithubActionsEnterprise:["DELETE /enterprises/:enterprise/actions/permissions/organizations/:org_id"],enableSelectedOrganizationGithubActionsEnterprise:["PUT /enterprises/:enterprise/actions/permissions/organizations/:org_id"],getAllowedActionsEnterprise:["GET /enterprises/:enterprise/actions/permissions/selected-actions"],getArtifactAndLogRetentionSettings:["GET /enterprises/:enterprise/actions/permissions/artifact-and-log-retention"],getAuditLog:["GET /enterprises/:enterprise/audit-log"],getAuditLogStreamKey:["GET /enterprises/:enterprise/audit-log/stream-key"],getAuditLogStreams:["GET /enterprises/:enterprise/audit-log/streams"],getConsumedLicenses:["GET /enterprises/:enterprise/consumed-licenses"],getEnterpriseRulesetHistory:["GET /enterprises/:enterprise/rulesets/:ruleset_id/history"],getEnterpriseRulesetVersion:["GET /enterprises/:enterprise/rulesets/:ruleset_id/history/:version_id"],getForkPrContributorApprovalPermissions:["GET /enterprises/:enterprise/actions/permissions/fork-pr-contributor-approval"],getGithubActionsPermissionsEnterprise:["GET /enterprises/:enterprise/actions/permissions"],getLicenseSyncStatus:["GET /enterprises/:enterprise/license-sync-status"],getOneAuditLogStream:["GET /enterprises/:enterprise/audit-log/streams/:stream_id"],getPrivateRepoForkPrWorkflowsSettings:["GET /enterprises/:enterprise/actions/permissions/fork-pr-workflows-private-repos"],getProvisioningInformationForEnterpriseGroup:["GET /scim/v2/enterprises/:enterprise/Groups/:scim_group_id"],getProvisioningInformationForEnterpriseUser:["GET /scim/v2/enterprises/:enterprise/Users/:scim_user_id"],getSelfHostedRunnerForEnterprise:["GET /enterprises/:enterprise/actions/runners/:runner_id"],getSelfHostedRunnerGroupForEnterprise:["GET /enterprises/:enterprise/actions/runner-groups/:runner_group_id"],getSelfHostedRunnersPermissions:["GET /enterprises/:enterprise/actions/permissions/self-hosted-runners"],getServerStatistics:["GET /enterprise-installation/:enterprise_or_org/server-statistics"],listLabelsForSelfHostedRunnerForEnterprise:["GET /enterprises/:enterprise/actions/runners/:runner_id/labels"],listOrgAccessToSelfHostedRunnerGroupInEnterprise:["GET /enterprises/:enterprise/actions/runner-groups/:runner_group_id/organizations"],listProvisionedGroupsEnterprise:["GET /scim/v2/enterprises/:enterprise/Groups"],listProvisionedIdentitiesEnterprise:["GET /scim/v2/enterprises/:enterprise/Users"],listPushBypassRequests:["GET /enterprises/:enterprise/bypass-requests/push-rules"],listRunnerApplicationsForEnterprise:["GET /enterprises/:enterprise/actions/runners/downloads"],listSelectedOrganizationsEnabledGithubActionsEnterprise:["GET /enterprises/:enterprise/actions/permissions/organizations"],listSelfHostedRunnerGroupsForEnterprise:["GET /enterprises/:enterprise/actions/runner-groups"],listSelfHostedRunnersForEnterprise:["GET /enterprises/:enterprise/actions/runners"],listSelfHostedRunnersInGroupForEnterprise:["GET /enterprises/:enterprise/actions/runner-groups/:runner_group_id/runners"],provisionEnterpriseGroup:["POST /scim/v2/enterprises/:enterprise/Groups"],provisionEnterpriseUser:["POST /scim/v2/enterprises/:enterprise/Users"],removeAllCustomLabelsFromSelfHostedRunnerForEnterprise:["DELETE /enterprises/:enterprise/actions/runners/:runner_id/labels"],removeCustomLabelFromSelfHostedRunnerForEnterprise:["DELETE /enterprises/:enterprise/actions/runners/:runner_id/labels/:name"],removeOrgAccessToSelfHostedRunnerGroupInEnterprise:["DELETE /enterprises/:enterprise/actions/runner-groups/:runner_group_id/organizations/:org_id"],removeSelfHostedRunnerFromGroupForEnterprise:["DELETE /enterprises/:enterprise/actions/runner-groups/:runner_group_id/runners/:runner_id"],setAllowedActionsEnterprise:["PUT /enterprises/:enterprise/actions/permissions/selected-actions"],setArtifactAndLogRetentionSettings:["PUT /enterprises/:enterprise/actions/permissions/artifact-and-log-retention"],setCustomLabelsForSelfHostedRunnerForEnterprise:["PUT /enterprises/:enterprise/actions/runners/:runner_id/labels"],setForkPrContributorApprovalPermissions:["PUT /enterprises/:enterprise/actions/permissions/fork-pr-contributor-approval"],setGithubActionsPermissionsEnterprise:["PUT /enterprises/:enterprise/actions/permissions"],setInformationForProvisionedEnterpriseGroup:["PUT /scim/v2/enterprises/:enterprise/Groups/:scim_group_id"],setInformationForProvisionedEnterpriseUser:["PUT /scim/v2/enterprises/:enterprise/Users/:scim_user_id"],setOrgAccessToSelfHostedRunnerGroupInEnterprise:["PUT /enterprises/:enterprise/actions/runner-groups/:runner_group_id/organizations"],setPrivateRepoForkPrWorkflowsSettings:["PUT /enterprises/:enterprise/actions/permissions/fork-pr-workflows-private-repos"],setSelectedOrganizationsEnabledGithubActionsEnterprise:["PUT /enterprises/:enterprise/actions/permissions/organizations"],setSelfHostedRunnersInGroupForEnterprise:["PUT /enterprises/:enterprise/actions/runner-groups/:runner_group_id/runners"],setSelfHostedRunnersPermissions:["PUT /enterprises/:enterprise/actions/permissions/self-hosted-runners"],updateAttributeForEnterpriseGroup:["PATCH /scim/v2/enterprises/:enterprise/Groups/:scim_group_id"],updateAttributeForEnterpriseUser:["PATCH /scim/v2/enterprises/:enterprise/Users/:scim_user_id"],updateAuditLogStream:["PUT /enterprises/:enterprise/audit-log/streams/:stream_id"],updateSelfHostedRunnerGroupForEnterprise:["PATCH /enterprises/:enterprise/actions/runner-groups/:runner_group_id"]},enterpriseApps:{changeInstallationRepositoryAccessSelection:["PATCH /enterprises/:enterprise/apps/organizations/:org/installations/:installation_id/repositories"],createInstallation:["POST /enterprises/:enterprise/apps/organizations/:org/installations"],deleteInstallation:["DELETE /enterprises/:enterprise/apps/organizations/:org/installations/:installation_id"],grantRepositoryAccessToInstallation:["PATCH /enterprises/:enterprise/apps/organizations/:org/installations/:installation_id/repositories/add"],installableOrganizationAccessibleRepositories:["GET /enterprises/:enterprise/apps/installable_organizations/:org/accessible_repositories"],installableOrganizations:["GET /enterprises/:enterprise/apps/installable_organizations"],organizationInstallationRepositories:["GET /enterprises/:enterprise/apps/organizations/:org/installations/:installation_id/repositories"],organizationInstallations:["GET /enterprises/:enterprise/apps/organizations/:org/installations"],removeRepositoryAccessToInstallation:["PATCH /enterprises/:enterprise/apps/organizations/:org/installations/:installation_id/repositories/remove"]},hostedCompute:{createNetworkConfigurationForEnterprise:["POST /enterprises/:enterprise/network-configurations"],deleteNetworkConfigurationFromEnterprise:["DELETE /enterprises/:enterprise/network-configurations/:network_configuration_id"],getNetworkConfigurationForEnterprise:["GET /enterprises/:enterprise/network-configurations/:network_configuration_id"],getNetworkSettingsForEnterprise:["GET /enterprises/:enterprise/network-settings/:network_settings_id"],listNetworkConfigurationsForEnterprise:["GET /enterprises/:enterprise/network-configurations"],updateNetworkConfigurationForEnterprise:["PATCH /enterprises/:enterprise/network-configurations/:network_configuration_id"]},orgs:{createCustomOrganizationRole:["POST /orgs/:org/organization-roles"],createCustomRepoRole:["POST /orgs/:org/custom-repository-roles"],createCustomRole:["POST /orgs/:org/custom_roles",{},{deprecated:"octokit.scim.createCustomRole() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---create-a-custom-role"}],deleteCustomOrganizationRole:["DELETE /orgs/:org/organization-roles/:role_id"],deleteCustomRepoRole:["DELETE /orgs/:org/custom-repository-roles/:role_id"],deleteCustomRole:["DELETE /orgs/:org/custom_roles/:role_id",{},{deprecated:"octokit.scim.deleteCustomRole() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---delete-a-custom-role"}],getAuditLog:["GET /orgs/:org/audit-log"],getCustomRepoRole:["GET /orgs/:org/custom-repository-roles/:role_id"],getCustomRole:["GET /orgs/:org/custom_roles/:role_id",{},{deprecated:"octokit.scim.getCustomRole() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---get-a-custom-role"}],listCustomRepoRoles:["GET /orgs/:org/custom-repository-roles"],listCustomRoles:["GET /organizations/:organization_id/custom_roles",{},{deprecated:"octokit.scim.listCustomRoles() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---list-custom-repository-roles-in-an-organization"}],listFineGrainedPermissions:["GET /orgs/:org/fine_grained_permissions",{},{deprecated:"octokit.scim.listFineGrainedPermissions() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---list-fine-grained-permissions-for-an-organization"}],listOrganizationFineGrainedPermissions:["GET /orgs/:org/organization-fine-grained-permissions"],listPushBypassRequests:["GET /orgs/:org/bypass-requests/push-rules"],listRepoFineGrainedPermissions:["GET /orgs/:org/repository-fine-grained-permissions"],listSamlSsoAuthorizations:["GET /orgs/:org/credential-authorizations"],patchCustomOrganizationRole:["PATCH /orgs/:org/organization-roles/:role_id"],removeSamlSsoAuthorization:["DELETE /orgs/:org/credential-authorizations/:credential_id"],updateCustomRepoRole:["PATCH /orgs/:org/custom-repository-roles/:role_id"],updateCustomRole:["PATCH /orgs/:org/custom_roles/:role_id",{},{deprecated:"octokit.scim.updateCustomRole() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/orgs/custom-roles#closing-down---update-a-custom-role"}]},projectsClassic:{createCard:["POST /projects/columns/:column_id/cards",{},{deprecated:"octokit.scim.createCard() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#create-a-project-card"}],deleteCard:["DELETE /projects/columns/cards/:card_id",{},{deprecated:"octokit.scim.deleteCard() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#delete-a-project-card"}],getCard:["GET /projects/columns/cards/:card_id",{},{deprecated:"octokit.scim.getCard() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#get-a-project-card"}],listCards:["GET /projects/columns/:column_id/cards",{},{deprecated:"octokit.scim.listCards() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#list-project-cards"}],moveCard:["POST /projects/columns/cards/:card_id/moves",{},{deprecated:"octokit.scim.moveCard() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#move-a-project-card"}],updateCard:["PATCH /projects/columns/cards/:card_id",{},{deprecated:"octokit.scim.updateCard() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/projects-classic/cards#update-an-existing-project-card"}]},repos:{createEnterpriseRuleset:["POST /enterprises/:enterprise/rulesets"],deleteEnterpriseRuleset:["DELETE /enterprises/:enterprise/rulesets/:ruleset_id"],disableLfsForRepo:["DELETE /repos/:owner/:repo/lfs"],enableLfsForRepo:["PUT /repos/:owner/:repo/lfs"],getEnterpriseRuleset:["GET /enterprises/:enterprise/rulesets/:ruleset_id"],getRepoPushBypassRequest:["GET /repos/:owner/:repo/bypass-requests/push-rules/:bypass_request_number"],listRepoPushBypassRequests:["GET /repos/:owner/:repo/bypass-requests/push-rules"],updateEnterpriseRuleset:["PUT /enterprises/:enterprise/rulesets/:ruleset_id"]},scim:{deleteUserFromOrg:["DELETE /scim/v2/organizations/:org/Users/:scim_user_id"],getProvisioningInformationForUser:["GET /scim/v2/organizations/:org/Users/:scim_user_id"],listProvisionedIdentities:["GET /scim/v2/organizations/:org/Users"],provisionAndInviteUser:["POST /scim/v2/organizations/:org/Users"],setInformationForProvisionedUser:["PUT /scim/v2/organizations/:org/Users/:scim_user_id"],updateAttributeForUser:["PATCH /scim/v2/organizations/:org/Users/:scim_user_id"]},secretScanning:{dismissBypassResponse:["DELETE /repos/:owner/:repo/bypass-responses/secret-scanning/:bypass_response_id"],getBypassRequest:["GET /repos/:owner/:repo/bypass-requests/secret-scanning/:bypass_request_number"],getDismissalRequest:["GET /repos/:owner/:repo/dismissal-requests/secret-scanning/:alert_number"],getSecurityAnalysisSettingsForEnterprise:["GET /enterprises/:enterprise/code_security_and_analysis",{},{deprecated:"octokit.scim.getSecurityAnalysisSettingsForEnterprise() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/enterprise-admin/code-security-and-analysis#get-code-security-and-analysis-features-for-an-enterprise"}],listEnterpriseBypassRequests:["GET /enterprises/:enterprise/bypass-requests/secret-scanning"],listEnterprisePatternConfigs:["GET /enterprises/:enterprise/secret-scanning/pattern-configurations"],listOrgBypassRequests:["GET /orgs/:org/bypass-requests/secret-scanning"],listOrgDismissalRequests:["GET /orgs/:org/dismissal-requests/secret-scanning"],listRepoBypassRequests:["GET /repos/:owner/:repo/bypass-requests/secret-scanning"],listRepoDismissalRequests:["GET /repos/:owner/:repo/dismissal-requests/secret-scanning"],patchSecurityAnalysisSettingsForEnterprise:["PATCH /enterprises/:enterprise/code_security_and_analysis",{},{deprecated:"octokit.scim.patchSecurityAnalysisSettingsForEnterprise() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/enterprise-admin/code-security-and-analysis#update-code-security-and-analysis-features-for-an-enterprise"}],postSecurityProductEnablementForEnterprise:["POST /enterprises/:enterprise/:security_product/:enablement",{},{deprecated:"octokit.scim.postSecurityProductEnablementForEnterprise() is deprecated, see https://docs.github.com/enterprise-cloud@latest//rest/enterprise-admin/code-security-and-analysis#enable-or-disable-a-security-feature"}],reviewBypassRequest:["PATCH /repos/:owner/:repo/bypass-requests/secret-scanning/:bypass_request_number"],reviewDismissalRequest:["PATCH /repos/:owner/:repo/dismissal-requests/secret-scanning/:alert_number"],updateEnterprisePatternConfigs:["PATCH /enterprises/:enterprise/secret-scanning/pattern-configurations"]},teams:{createOrUpdateIdpGroupConnectionsInOrg:["PATCH /orgs/:org/teams/:team_slug/team-sync/group-mappings"],externalIdpGroupInfoForOrg:["GET /orgs/:org/external-group/:group_id"],linkExternalIdpGroupToTeamForOrg:["PATCH /orgs/:org/teams/:team_slug/external-groups"],listExternalIdpGroupsForOrg:["GET /orgs/:org/external-groups"],listIdpGroupsForOrg:["GET /orgs/:org/team-sync/groups"],listIdpGroupsInOrg:["GET /orgs/:org/teams/:team_slug/team-sync/group-mappings"],listLinkedExternalIdpGroupsToTeamForOrg:["GET /orgs/:org/teams/:team_slug/external-groups"],unlinkExternalIdpGroupFromTeamForOrg:["DELETE /orgs/:org/teams/:team_slug/external-groups"]}};var At=at;var ct="0.0.0-development";function dist_bundle_endpointsToMethods(e,t){const r={};for(const[s,o]of Object.entries(t)){for(const[t,n]of Object.entries(o)){const[o,i,a={}]=n;const[A,c]=o.split(/ /);const l=Object.assign({method:A,url:c},i);if(!r[s]){r[s]={}}const g=r[s];if(a.renamed){const[r,o]=a.renamed;g[t]=deprecate(e,`octokit.${s}.${t}() has been renamed to octokit.${r}.${o}()`,l);continue}if(a.deprecated){g[t]=deprecate(e,a.deprecated,l);continue}g[t]=e.request.defaults(l)}}return r}function deprecate(e,t,r){const s=e.request.defaults(r);function deprecated(...r){e.log.warn(t);return s.apply(null,r)}return Object.assign(deprecated,s)}function enterpriseCloud(e){return dist_bundle_endpointsToMethods(e,At)}enterpriseCloud.VERSION=ct;var lt="0.0.0-development";function plugin_enterprise_server_dist_bundle_endpointsToMethods(e,t){const r={};for(const[s,o]of Object.entries(t)){for(const[t,n]of Object.entries(o)){const[o,i,a={}]=n;const[A,c]=o.split(/ /);const l=Object.assign({method:A,url:c},i);if(!r[s]){r[s]={}}const g=r[s];if(a.renamed){const[r,o]=a.renamed;g[t]=dist_bundle_deprecate(e,`octokit.${s}.${t}() has been renamed to octokit.${r}.${o}()`,l);continue}if(a.deprecated){g[t]=dist_bundle_deprecate(e,a.deprecated,l);continue}g[t]=e.request.defaults(l)}}return r}function dist_bundle_deprecate(e,t,r){const s=e.request.defaults(r);function deprecated(...r){e.log.warn(t);return s(...r)}return Object.assign(deprecated,s)}var gt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/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"],getActionsCacheUsagePolicy:["GET /repos/{owner}/{repo}/actions/cache/usage-policy"],getActionsCacheUsagePolicyForEnterprise:["GET /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/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"],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}"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/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"],setActionsCacheUsagePolicy:["PATCH /repos/{owner}/{repo}/actions/cache/usage-policy"],setActionsCacheUsagePolicyForEnterprise:["PATCH /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/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"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listReposAccessibleToInstallation:["GET /installation/repositories"],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"]},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}"],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],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"]}],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}"]},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"]},enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]},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}"]},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"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],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"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},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}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],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}"],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}"],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"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],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"],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"],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"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{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"],createForTeamDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy"}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],createForTeamDiscussionLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy"}],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"],listForTeamDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy"}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],listForTeamDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy"}]},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"],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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",{},{deprecated:"octokit.scim.createTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository"}],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}",{},{deprecated:"octokit.scim.deleteTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository"}],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],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}"],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"],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}"],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"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],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"],listCacheInfo:["GET /repos/{owner}/{repo}/replicas/caches"],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",{},{deprecated:"octokit.scim.listTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository"}],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"],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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"],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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}"],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 {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]},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:{getGlobalAdvisory:["GET /advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"]},teams:{addMemberLegacy:["PUT /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.addMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#add-team-member-legacy"}],addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateMembershipForUserLegacy:["PUT /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.addOrUpdateMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#add-or-update-team-membership-for-a-user-legacy"}],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateProjectPermissionsLegacy:["PUT /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#add-or-update-team-project-permissions-legacy"}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],addOrUpdateRepoPermissionsLegacy:["PUT /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.addOrUpdateRepoPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#add-or-update-team-repository-permissions-legacy"}],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForProjectLegacy:["GET /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#check-team-permissions-for-a-project-legacy"}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoLegacy:["GET /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.checkPermissionsForRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#check-team-permissions-for-a-repository-legacy"}],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.createDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussion-comments#create-a-discussion-comment-legacy"}],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],createDiscussionLegacy:["POST /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.createDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussions#create-a-discussion-legacy"}],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionCommentLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.deleteDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussion-comments#delete-a-discussion-comment-legacy"}],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteDiscussionLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.deleteDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussions#delete-a-discussion-legacy"}],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],deleteLegacy:["DELETE /teams/{team_id}",{},{deprecated:"octokit.scim.deleteLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#delete-a-team-legacy"}],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.getDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussion-comments#get-a-discussion-comment-legacy"}],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.getDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussions#get-a-discussion-legacy"}],getLegacy:["GET /teams/{team_id}",{},{deprecated:"octokit.scim.getLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#get-a-team-legacy"}],getMemberLegacy:["GET /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.getMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#get-team-member-legacy"}],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],getMembershipForUserLegacy:["GET /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.getMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#get-team-membership-for-a-user-legacy"}],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listChildLegacy:["GET /teams/{team_id}/teams",{},{deprecated:"octokit.scim.listChildLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#list-child-teams-legacy"}],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionCommentsLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.listDiscussionCommentsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussion-comments#list-discussion-comments-legacy"}],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listDiscussionsLegacy:["GET /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.listDiscussionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussions#list-discussions-legacy"}],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listMembersLegacy:["GET /teams/{team_id}/members",{},{deprecated:"octokit.scim.listMembersLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#list-team-members-legacy"}],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listProjectsLegacy:["GET /teams/{team_id}/projects",{},{deprecated:"octokit.scim.listProjectsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#list-team-projects-legacy"}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],listReposLegacy:["GET /teams/{team_id}/repos",{},{deprecated:"octokit.scim.listReposLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#list-team-repositories-legacy"}],removeMemberLegacy:["DELETE /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.removeMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#remove-team-member-legacy"}],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeMembershipForUserLegacy:["DELETE /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.removeMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/members#remove-team-membership-for-a-user-legacy"}],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeProjectLegacy:["DELETE /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#remove-a-project-from-a-team-legacy"}],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],removeRepoLegacy:["DELETE /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.removeRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#remove-a-repository-from-a-team-legacy"}],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionCommentLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.updateDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussion-comments#update-a-discussion-comment-legacy"}],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateDiscussionLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.updateDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/discussions#update-a-discussion-legacy"}],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"],updateLegacy:["PATCH /teams/{team_id}",{},{deprecated:"octokit.scim.updateLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.13/rest/teams/teams#update-a-team-legacy"}]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],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"],getById:["GET /user/{account_id}"],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"],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"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var ut=gt;var pt={enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]}};var dt=pt;var Et={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/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"],getActionsCacheUsagePolicy:["GET /repos/{owner}/{repo}/actions/cache/usage-policy"],getActionsCacheUsagePolicyForEnterprise:["GET /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/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"],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}"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/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"],setActionsCacheUsagePolicy:["PATCH /repos/{owner}/{repo}/actions/cache/usage-policy"],setActionsCacheUsagePolicyForEnterprise:["PATCH /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/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"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listReposAccessibleToInstallation:["GET /installation/repositories"],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"]},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}"],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],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"]}],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}"]},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"]},enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]},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}"]},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"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],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"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},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}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],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}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}",{},{deprecated:"octokit.scim.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"}],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"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],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"],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"],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}"],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"],createForTeamDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy"}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],createForTeamDiscussionLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy"}],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"],listForTeamDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy"}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],listForTeamDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy"}]},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"],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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",{},{deprecated:"octokit.scim.createTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository"}],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}",{},{deprecated:"octokit.scim.deleteTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository"}],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],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}"],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"],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}"],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"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],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"],listCacheInfo:["GET /repos/{owner}/{repo}/replicas/caches"],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",{},{deprecated:"octokit.scim.listTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository"}],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"],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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"],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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}"],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 {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]},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:{getGlobalAdvisory:["GET /advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"]},teams:{addMemberLegacy:["PUT /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.addMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#add-team-member-legacy"}],addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateMembershipForUserLegacy:["PUT /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.addOrUpdateMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#add-or-update-team-membership-for-a-user-legacy"}],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateProjectPermissionsLegacy:["PUT /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#add-or-update-team-project-permissions-legacy"}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],addOrUpdateRepoPermissionsLegacy:["PUT /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.addOrUpdateRepoPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#add-or-update-team-repository-permissions-legacy"}],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForProjectLegacy:["GET /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#check-team-permissions-for-a-project-legacy"}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoLegacy:["GET /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.checkPermissionsForRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#check-team-permissions-for-a-repository-legacy"}],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.createDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussion-comments#create-a-discussion-comment-legacy"}],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],createDiscussionLegacy:["POST /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.createDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussions#create-a-discussion-legacy"}],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionCommentLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.deleteDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussion-comments#delete-a-discussion-comment-legacy"}],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteDiscussionLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.deleteDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussions#delete-a-discussion-legacy"}],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],deleteLegacy:["DELETE /teams/{team_id}",{},{deprecated:"octokit.scim.deleteLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#delete-a-team-legacy"}],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.getDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussion-comments#get-a-discussion-comment-legacy"}],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.getDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussions#get-a-discussion-legacy"}],getLegacy:["GET /teams/{team_id}",{},{deprecated:"octokit.scim.getLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#get-a-team-legacy"}],getMemberLegacy:["GET /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.getMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#get-team-member-legacy"}],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],getMembershipForUserLegacy:["GET /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.getMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#get-team-membership-for-a-user-legacy"}],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listChildLegacy:["GET /teams/{team_id}/teams",{},{deprecated:"octokit.scim.listChildLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#list-child-teams-legacy"}],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionCommentsLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.listDiscussionCommentsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussion-comments#list-discussion-comments-legacy"}],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listDiscussionsLegacy:["GET /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.listDiscussionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussions#list-discussions-legacy"}],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listMembersLegacy:["GET /teams/{team_id}/members",{},{deprecated:"octokit.scim.listMembersLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#list-team-members-legacy"}],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listProjectsLegacy:["GET /teams/{team_id}/projects",{},{deprecated:"octokit.scim.listProjectsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#list-team-projects-legacy"}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],listReposLegacy:["GET /teams/{team_id}/repos",{},{deprecated:"octokit.scim.listReposLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#list-team-repositories-legacy"}],removeMemberLegacy:["DELETE /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.removeMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#remove-team-member-legacy"}],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeMembershipForUserLegacy:["DELETE /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.removeMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/members#remove-team-membership-for-a-user-legacy"}],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeProjectLegacy:["DELETE /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#remove-a-project-from-a-team-legacy"}],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],removeRepoLegacy:["DELETE /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.removeRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#remove-a-repository-from-a-team-legacy"}],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionCommentLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.updateDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussion-comments#update-a-discussion-comment-legacy"}],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateDiscussionLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.updateDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/discussions#update-a-discussion-legacy"}],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"],updateLegacy:["PATCH /teams/{team_id}",{},{deprecated:"octokit.scim.updateLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.14/rest/teams/teams#update-a-team-legacy"}]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],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"],getById:["GET /user/{account_id}"],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"],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"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var ht=Et;var mt={enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]}};var ft=mt;var Ct={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/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"],getActionsCacheUsagePolicy:["GET /repos/{owner}/{repo}/actions/cache/usage-policy"],getActionsCacheUsagePolicyForEnterprise:["GET /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/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"],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}"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/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"],setActionsCacheUsagePolicy:["PATCH /repos/{owner}/{repo}/actions/cache/usage-policy"],setActionsCacheUsagePolicyForEnterprise:["PATCH /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/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"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listReposAccessibleToInstallation:["GET /installation/repositories"],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"]},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}"],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],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"]}],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"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},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"]},enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]},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}"]},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"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],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"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},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}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],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}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}",{},{deprecated:"octokit.scim.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"}],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"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],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"],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"],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}"],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}",{},{deprecated:"octokit.scim.addCollaborator() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/collaborators#add-project-collaborator"}],createCard:["POST /projects/columns/{column_id}/cards",{},{deprecated:"octokit.scim.createCard() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#create-a-project-card"}],createColumn:["POST /projects/{project_id}/columns",{},{deprecated:"octokit.scim.createColumn() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#create-a-project-column"}],createForAuthenticatedUser:["POST /user/projects",{},{deprecated:"octokit.scim.createForAuthenticatedUser() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#create-a-user-project"}],createForOrg:["POST /orgs/{org}/projects",{},{deprecated:"octokit.scim.createForOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#create-an-organization-project"}],createForRepo:["POST /repos/{owner}/{repo}/projects",{},{deprecated:"octokit.scim.createForRepo() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#create-a-repository-project"}],delete:["DELETE /projects/{project_id}",{},{deprecated:"octokit.scim.delete() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#delete-a-project"}],deleteCard:["DELETE /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.deleteCard() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#delete-a-project-card"}],deleteColumn:["DELETE /projects/columns/{column_id}",{},{deprecated:"octokit.scim.deleteColumn() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#delete-a-project-column"}],get:["GET /projects/{project_id}",{},{deprecated:"octokit.scim.get() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#get-a-project"}],getCard:["GET /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.getCard() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#get-a-project-card"}],getColumn:["GET /projects/columns/{column_id}",{},{deprecated:"octokit.scim.getColumn() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#get-a-project-column"}],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission",{},{deprecated:"octokit.scim.getPermissionForUser() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/collaborators#get-project-permission-for-a-user"}],listCards:["GET /projects/columns/{column_id}/cards",{},{deprecated:"octokit.scim.listCards() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#list-project-cards"}],listCollaborators:["GET /projects/{project_id}/collaborators",{},{deprecated:"octokit.scim.listCollaborators() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/collaborators#list-project-collaborators"}],listColumns:["GET /projects/{project_id}/columns",{},{deprecated:"octokit.scim.listColumns() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#list-project-columns"}],listForOrg:["GET /orgs/{org}/projects",{},{deprecated:"octokit.scim.listForOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#list-organization-projects"}],listForRepo:["GET /repos/{owner}/{repo}/projects",{},{deprecated:"octokit.scim.listForRepo() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#list-repository-projects"}],listForUser:["GET /users/{username}/projects",{},{deprecated:"octokit.scim.listForUser() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#list-user-projects"}],moveCard:["POST /projects/columns/cards/{card_id}/moves",{},{deprecated:"octokit.scim.moveCard() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#move-a-project-card"}],moveColumn:["POST /projects/columns/{column_id}/moves",{},{deprecated:"octokit.scim.moveColumn() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#move-a-project-column"}],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}",{},{deprecated:"octokit.scim.removeCollaborator() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/collaborators#remove-user-as-a-collaborator"}],update:["PATCH /projects/{project_id}",{},{deprecated:"octokit.scim.update() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/projects#update-a-project"}],updateCard:["PATCH /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.updateCard() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/cards#update-an-existing-project-card"}],updateColumn:["PATCH /projects/columns/{column_id}",{},{deprecated:"octokit.scim.updateColumn() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/projects/columns#update-an-existing-project-column"}]},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"],createForTeamDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy"}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],createForTeamDiscussionLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy"}],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"],listForTeamDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy"}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],listForTeamDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy"}]},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"],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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",{},{deprecated:"octokit.scim.createTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository"}],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}",{},{deprecated:"octokit.scim.deleteTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository"}],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],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}"],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"],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}"],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"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],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"],listCacheInfo:["GET /repos/{owner}/{repo}/replicas/caches"],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",{},{deprecated:"octokit.scim.listTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository"}],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"],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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"],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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}"],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 {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]},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:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],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:{getGlobalAdvisory:["GET /advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"]},teams:{addMemberLegacy:["PUT /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.addMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#add-team-member-legacy"}],addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateMembershipForUserLegacy:["PUT /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.addOrUpdateMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#add-or-update-team-membership-for-a-user-legacy"}],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#add-or-update-team-project-permissions"}],addOrUpdateProjectPermissionsLegacy:["PUT /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#add-or-update-team-project-permissions-legacy"}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],addOrUpdateRepoPermissionsLegacy:["PUT /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.addOrUpdateRepoPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#add-or-update-team-repository-permissions-legacy"}],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#check-team-permissions-for-a-project"}],checkPermissionsForProjectLegacy:["GET /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#check-team-permissions-for-a-project-legacy"}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoLegacy:["GET /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.checkPermissionsForRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#check-team-permissions-for-a-repository-legacy"}],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.createDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussion-comments#create-a-discussion-comment-legacy"}],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],createDiscussionLegacy:["POST /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.createDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussions#create-a-discussion-legacy"}],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionCommentLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.deleteDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussion-comments#delete-a-discussion-comment-legacy"}],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteDiscussionLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.deleteDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussions#delete-a-discussion-legacy"}],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],deleteLegacy:["DELETE /teams/{team_id}",{},{deprecated:"octokit.scim.deleteLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#delete-a-team-legacy"}],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.getDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussion-comments#get-a-discussion-comment-legacy"}],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.getDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussions#get-a-discussion-legacy"}],getLegacy:["GET /teams/{team_id}",{},{deprecated:"octokit.scim.getLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#get-a-team-legacy"}],getMemberLegacy:["GET /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.getMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#get-team-member-legacy"}],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],getMembershipForUserLegacy:["GET /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.getMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#get-team-membership-for-a-user-legacy"}],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listChildLegacy:["GET /teams/{team_id}/teams",{},{deprecated:"octokit.scim.listChildLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#list-child-teams-legacy"}],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionCommentsLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.listDiscussionCommentsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussion-comments#list-discussion-comments-legacy"}],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listDiscussionsLegacy:["GET /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.listDiscussionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussions#list-discussions-legacy"}],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listMembersLegacy:["GET /teams/{team_id}/members",{},{deprecated:"octokit.scim.listMembersLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#list-team-members-legacy"}],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects",{},{deprecated:"octokit.scim.listProjectsInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#list-team-projects"}],listProjectsLegacy:["GET /teams/{team_id}/projects",{},{deprecated:"octokit.scim.listProjectsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#list-team-projects-legacy"}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],listReposLegacy:["GET /teams/{team_id}/repos",{},{deprecated:"octokit.scim.listReposLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#list-team-repositories-legacy"}],removeMemberLegacy:["DELETE /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.removeMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#remove-team-member-legacy"}],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeMembershipForUserLegacy:["DELETE /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.removeMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/members#remove-team-membership-for-a-user-legacy"}],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#remove-a-project-from-a-team"}],removeProjectLegacy:["DELETE /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#remove-a-project-from-a-team-legacy"}],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],removeRepoLegacy:["DELETE /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.removeRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#remove-a-repository-from-a-team-legacy"}],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionCommentLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.updateDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussion-comments#update-a-discussion-comment-legacy"}],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateDiscussionLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.updateDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/discussions#update-a-discussion-legacy"}],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"],updateLegacy:["PATCH /teams/{team_id}",{},{deprecated:"octokit.scim.updateLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.15/rest/teams/teams#update-a-team-legacy"}]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],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"],getById:["GET /user/{account_id}"],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"],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"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var It=Ct;var Bt={enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]}};var Qt=Bt;var Tt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/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"],getActionsCacheUsagePolicy:["GET /repos/{owner}/{repo}/actions/cache/usage-policy"],getActionsCacheUsagePolicyForEnterprise:["GET /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/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"],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}"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/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"],setActionsCacheUsagePolicy:["PATCH /repos/{owner}/{repo}/actions/cache/usage-policy"],setActionsCacheUsagePolicyForEnterprise:["PATCH /enterprises/{enterprise}/actions/cache/usage-policy"],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 /repos/{owner}/{repo}/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"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listReposAccessibleToInstallation:["GET /installation/repositories"],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"]},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}"],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],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"]}],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"]},codeSecurity:{attachConfiguration:["POST /orgs/{org}/code-security/configurations/{configuration_id}/attach"],attachEnterpriseConfiguration:["POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach"],createConfiguration:["POST /orgs/{org}/code-security/configurations"],createConfigurationForEnterprise:["POST /enterprises/{enterprise}/code-security/configurations"],deleteConfiguration:["DELETE /orgs/{org}/code-security/configurations/{configuration_id}"],deleteConfigurationForEnterprise:["DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],detachConfiguration:["DELETE /orgs/{org}/code-security/configurations/detach"],getConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}"],getConfigurationForRepository:["GET /repos/{owner}/{repo}/code-security-configuration"],getConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations"],getConfigurationsForOrg:["GET /orgs/{org}/code-security/configurations"],getDefaultConfigurations:["GET /orgs/{org}/code-security/configurations/defaults"],getDefaultConfigurationsForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/defaults"],getRepositoriesForConfiguration:["GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories"],getRepositoriesForEnterpriseConfiguration:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories"],getSingleConfigurationForEnterprise:["GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}"],setConfigurationAsDefault:["PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults"],setConfigurationAsDefaultForEnterprise:["PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults"],updateConfiguration:["PATCH /orgs/{org}/code-security/configurations/{configuration_id}"],updateEnterpriseConfiguration:["PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},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"]},enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]},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}"]},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"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],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"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},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}",{},{deprecated:"octokit.scim.addSecurityManagerTeam() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/orgs/security-managers#add-a-security-manager-team"}],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],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}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}",{},{deprecated:"octokit.scim.enableOrDisableSecurityProductOnAllOrgRepos() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/orgs/orgs#enable-or-disable-a-security-feature-for-an-organization"}],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"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],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"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers",{},{deprecated:"octokit.scim.listSecurityManagerTeams() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/orgs/security-managers#list-security-manager-teams"}],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],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}",{},{deprecated:"octokit.scim.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/orgs/security-managers#remove-a-security-manager-team"}],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}"],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"]},privateRegistries:{createOrgPrivateRegistry:["POST /orgs/{org}/private-registries"],deleteOrgPrivateRegistry:["DELETE /orgs/{org}/private-registries/{secret_name}"],getOrgPrivateRegistry:["GET /orgs/{org}/private-registries/{secret_name}"],getOrgPublicKey:["GET /orgs/{org}/private-registries/public-key"],listOrgPrivateRegistries:["GET /orgs/{org}/private-registries"],updateOrgPrivateRegistry:["PATCH /orgs/{org}/private-registries/{secret_name}"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}",{},{deprecated:"octokit.scim.addCollaborator() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/collaborators#add-project-collaborator"}],createCard:["POST /projects/columns/{column_id}/cards",{},{deprecated:"octokit.scim.createCard() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#create-a-project-card"}],createColumn:["POST /projects/{project_id}/columns",{},{deprecated:"octokit.scim.createColumn() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#create-a-project-column"}],createForAuthenticatedUser:["POST /user/projects",{},{deprecated:"octokit.scim.createForAuthenticatedUser() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#create-a-user-project"}],createForOrg:["POST /orgs/{org}/projects",{},{deprecated:"octokit.scim.createForOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#create-an-organization-project"}],createForRepo:["POST /repos/{owner}/{repo}/projects",{},{deprecated:"octokit.scim.createForRepo() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#create-a-repository-project"}],delete:["DELETE /projects/{project_id}",{},{deprecated:"octokit.scim.delete() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#delete-a-project"}],deleteCard:["DELETE /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.deleteCard() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#delete-a-project-card"}],deleteColumn:["DELETE /projects/columns/{column_id}",{},{deprecated:"octokit.scim.deleteColumn() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#delete-a-project-column"}],get:["GET /projects/{project_id}",{},{deprecated:"octokit.scim.get() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#get-a-project"}],getCard:["GET /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.getCard() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#get-a-project-card"}],getColumn:["GET /projects/columns/{column_id}",{},{deprecated:"octokit.scim.getColumn() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#get-a-project-column"}],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission",{},{deprecated:"octokit.scim.getPermissionForUser() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/collaborators#get-project-permission-for-a-user"}],listCards:["GET /projects/columns/{column_id}/cards",{},{deprecated:"octokit.scim.listCards() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#list-project-cards"}],listCollaborators:["GET /projects/{project_id}/collaborators",{},{deprecated:"octokit.scim.listCollaborators() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/collaborators#list-project-collaborators"}],listColumns:["GET /projects/{project_id}/columns",{},{deprecated:"octokit.scim.listColumns() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#list-project-columns"}],listForOrg:["GET /orgs/{org}/projects",{},{deprecated:"octokit.scim.listForOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#list-organization-projects"}],listForRepo:["GET /repos/{owner}/{repo}/projects",{},{deprecated:"octokit.scim.listForRepo() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#list-repository-projects"}],listForUser:["GET /users/{username}/projects",{},{deprecated:"octokit.scim.listForUser() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#list-user-projects"}],moveCard:["POST /projects/columns/cards/{card_id}/moves",{},{deprecated:"octokit.scim.moveCard() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#move-a-project-card"}],moveColumn:["POST /projects/columns/{column_id}/moves",{},{deprecated:"octokit.scim.moveColumn() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#move-a-project-column"}],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}",{},{deprecated:"octokit.scim.removeCollaborator() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/collaborators#remove-user-as-a-collaborator"}],update:["PATCH /projects/{project_id}",{},{deprecated:"octokit.scim.update() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/projects#update-a-project"}],updateCard:["PATCH /projects/columns/cards/{card_id}",{},{deprecated:"octokit.scim.updateCard() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/cards#update-an-existing-project-card"}],updateColumn:["PATCH /projects/columns/{column_id}",{},{deprecated:"octokit.scim.updateColumn() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/projects/columns#update-an-existing-project-column"}]},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"],createForTeamDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/reactions/reactions#create-reaction-for-a-team-discussion-comment-legacy"}],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],createForTeamDiscussionLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.createForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/reactions/reactions#create-reaction-for-a-team-discussion-legacy"}],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"],listForTeamDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/reactions/reactions#list-reactions-for-a-team-discussion-comment-legacy"}],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],listForTeamDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/reactions",{},{deprecated:"octokit.scim.listForTeamDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/reactions/reactions#list-reactions-for-a-team-discussion-legacy"}]},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"],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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",{},{deprecated:"octokit.scim.createTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/repos/tags#closing-down---create-a-tag-protection-state-for-a-repository"}],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}",{},{deprecated:"octokit.scim.deleteTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/repos/tags#closing-down---delete-a-tag-protection-state-for-a-repository"}],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],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}"],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"],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}"],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"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],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"],listCacheInfo:["GET /repos/{owner}/{repo}/replicas/caches"],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",{},{deprecated:"octokit.scim.listTagProtection() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/repos/tags#closing-down---list-tag-protection-states-for-a-repository"}],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"],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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"],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/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}"],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 {origin}/repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}"]},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:{createPushProtectionBypass:["POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses"],getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],getScanHistory:["GET /repos/{owner}/{repo}/secret-scanning/scan-history"],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:{getGlobalAdvisory:["GET /advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"]},teams:{addMemberLegacy:["PUT /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.addMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#add-team-member-legacy"}],addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateMembershipForUserLegacy:["PUT /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.addOrUpdateMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#add-or-update-team-membership-for-a-user-legacy"}],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#add-or-update-team-project-permissions"}],addOrUpdateProjectPermissionsLegacy:["PUT /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.addOrUpdateProjectPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#add-or-update-team-project-permissions-legacy"}],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],addOrUpdateRepoPermissionsLegacy:["PUT /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.addOrUpdateRepoPermissionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#add-or-update-team-repository-permissions-legacy"}],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#check-team-permissions-for-a-project"}],checkPermissionsForProjectLegacy:["GET /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.checkPermissionsForProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#check-team-permissions-for-a-project-legacy"}],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForRepoLegacy:["GET /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.checkPermissionsForRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#check-team-permissions-for-a-repository-legacy"}],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionCommentLegacy:["POST /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.createDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussion-comments#create-a-discussion-comment-legacy"}],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],createDiscussionLegacy:["POST /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.createDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussions#create-a-discussion-legacy"}],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionCommentLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.deleteDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussion-comments#delete-a-discussion-comment-legacy"}],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteDiscussionLegacy:["DELETE /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.deleteDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussions#delete-a-discussion-legacy"}],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],deleteLegacy:["DELETE /teams/{team_id}",{},{deprecated:"octokit.scim.deleteLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#delete-a-team-legacy"}],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionCommentLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.getDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussion-comments#get-a-discussion-comment-legacy"}],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getDiscussionLegacy:["GET /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.getDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussions#get-a-discussion-legacy"}],getLegacy:["GET /teams/{team_id}",{},{deprecated:"octokit.scim.getLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#get-a-team-legacy"}],getMemberLegacy:["GET /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.getMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#get-team-member-legacy"}],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],getMembershipForUserLegacy:["GET /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.getMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#get-team-membership-for-a-user-legacy"}],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listChildLegacy:["GET /teams/{team_id}/teams",{},{deprecated:"octokit.scim.listChildLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#list-child-teams-legacy"}],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionCommentsLegacy:["GET /teams/{team_id}/discussions/{discussion_number}/comments",{},{deprecated:"octokit.scim.listDiscussionCommentsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussion-comments#list-discussion-comments-legacy"}],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listDiscussionsLegacy:["GET /teams/{team_id}/discussions",{},{deprecated:"octokit.scim.listDiscussionsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussions#list-discussions-legacy"}],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listMembersLegacy:["GET /teams/{team_id}/members",{},{deprecated:"octokit.scim.listMembersLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#list-team-members-legacy"}],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects",{},{deprecated:"octokit.scim.listProjectsInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#list-team-projects"}],listProjectsLegacy:["GET /teams/{team_id}/projects",{},{deprecated:"octokit.scim.listProjectsLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#list-team-projects-legacy"}],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],listReposLegacy:["GET /teams/{team_id}/repos",{},{deprecated:"octokit.scim.listReposLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#list-team-repositories-legacy"}],removeMemberLegacy:["DELETE /teams/{team_id}/members/{username}",{},{deprecated:"octokit.scim.removeMemberLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#remove-team-member-legacy"}],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeMembershipForUserLegacy:["DELETE /teams/{team_id}/memberships/{username}",{},{deprecated:"octokit.scim.removeMembershipForUserLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/members#remove-team-membership-for-a-user-legacy"}],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectInOrg() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#remove-a-project-from-a-team"}],removeProjectLegacy:["DELETE /teams/{team_id}/projects/{project_id}",{},{deprecated:"octokit.scim.removeProjectLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#remove-a-project-from-a-team-legacy"}],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],removeRepoLegacy:["DELETE /teams/{team_id}/repos/{owner}/{repo}",{},{deprecated:"octokit.scim.removeRepoLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#remove-a-repository-from-a-team-legacy"}],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionCommentLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}",{},{deprecated:"octokit.scim.updateDiscussionCommentLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussion-comments#update-a-discussion-comment-legacy"}],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateDiscussionLegacy:["PATCH /teams/{team_id}/discussions/{discussion_number}",{},{deprecated:"octokit.scim.updateDiscussionLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/discussions#update-a-discussion-legacy"}],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"],updateLegacy:["PATCH /teams/{team_id}",{},{deprecated:"octokit.scim.updateLegacy() is deprecated, see https://docs.github.com/enterprise-server@3.16/rest/teams/teams#update-a-team-legacy"}]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],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"],getById:["GET /user/{account_id}"],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"],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"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var wt=Tt;var yt={enterpriseAdmin:{addAuthorizedSshKey:["POST {origin}/setup/api/settings/authorized-keys"],createEnterpriseServerLicense:["POST {origin}/setup/api/start"],createGlobalWebhook:["POST /admin/hooks"],createImpersonationOAuthToken:["POST /admin/users/{username}/authorizations"],createOrg:["POST /admin/organizations"],createPreReceiveEnvironment:["POST /admin/pre-receive-environments"],createPreReceiveHook:["POST /admin/pre-receive-hooks"],createUser:["POST /admin/users"],deleteGlobalWebhook:["DELETE /admin/hooks/{hook_id}"],deleteImpersonationOAuthToken:["DELETE /admin/users/{username}/authorizations"],deleteManageSsh:["DELETE {origin}/manage/v1/access/ssh"],deletePersonalAccessToken:["DELETE /admin/tokens/{token_id}"],deletePreReceiveEnvironment:["DELETE /admin/pre-receive-environments/{pre_receive_environment_id}"],deletePreReceiveHook:["DELETE /admin/pre-receive-hooks/{pre_receive_hook_id}"],deletePublicKey:["DELETE /admin/keys/{key_ids}"],deleteUser:["DELETE /admin/users/{username}"],demoteSiteAdministrator:["DELETE /users/{username}/site_admin"],enableOrDisableMaintenanceMode:["POST {origin}/setup/api/maintenance"],getAllAuthorizedSshKeys:["GET {origin}/setup/api/settings/authorized-keys"],getAllStats:["GET /enterprise/stats/all"],getAnnouncement:["GET /enterprise/announcement"],getChecksSystemRequirements:["GET {origin}/manage/v1/checks/system-requirements"],getClusterStatus:["GET {origin}/manage/v1/cluster/status"],getCommentStats:["GET /enterprise/stats/comments"],getConfigNodes:["GET {origin}/manage/v1/config/nodes"],getConfigurationStatus:["GET {origin}/setup/api/configcheck"],getDownloadStatusForPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}/downloads/latest"],getGistStats:["GET /enterprise/stats/gists"],getGlobalWebhook:["GET /admin/hooks/{hook_id}"],getHooksStats:["GET /enterprise/stats/hooks"],getIssueStats:["GET /enterprise/stats/issues"],getLicenseInformation:["GET /enterprise/settings/license"],getMaintenanceStatus:["GET {origin}/setup/api/maintenance"],getManageConfigApplyEvents:["GET {origin}/manage/v1/config/apply/events"],getManageConfigApplyStatus:["GET {origin}/manage/v1/config/apply"],getManageMaintenance:["GET {origin}/manage/v1/maintenance"],getManageSettings:["GET {origin}/manage/v1/config/settings"],getManageSsh:["GET {origin}/manage/v1/access/ssh"],getMilestoneStats:["GET /enterprise/stats/milestones"],getOrgStats:["GET /enterprise/stats/orgs"],getPagesStats:["GET /enterprise/stats/pages"],getPreReceiveEnvironment:["GET /admin/pre-receive-environments/{pre_receive_environment_id}"],getPreReceiveHook:["GET /admin/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForOrg:["GET /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],getPreReceiveHookForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],getPullRequestStats:["GET /enterprise/stats/pulls"],getReplicationStatus:["GET {origin}/manage/v1/replication/status"],getRepoStats:["GET /enterprise/stats/repos"],getSecurityProducts:["GET /enterprise/stats/security-products"],getSettings:["GET {origin}/setup/api/settings"],getUserStats:["GET /enterprise/stats/users"],getVersion:["GET {origin}/manage/v1/version"],initializeInstanceConfiguration:["POST {origin}/manage/v1/config/init"],licenseCheck:["GET {origin}/manage/v1/config/license/check"],licenseInfo:["GET {origin}/manage/v1/config/license"],licenseUpload:["PUT {origin}/manage/v1/config/license{?apply}"],listGlobalWebhooks:["GET /admin/hooks"],listPersonalAccessTokens:["GET /admin/tokens"],listPreReceiveEnvironments:["GET /admin/pre-receive-environments"],listPreReceiveHooks:["GET /admin/pre-receive-hooks"],listPreReceiveHooksForOrg:["GET /orgs/{org}/pre-receive-hooks"],listPreReceiveHooksForRepo:["GET /repos/{owner}/{repo}/pre-receive-hooks"],listPublicKeys:["GET /admin/keys"],pingGlobalWebhook:["POST /admin/hooks/{hook_id}/pings"],postManageRunConfigApply:["POST {origin}/manage/v1/config/apply"],promoteUserToBeSiteAdministrator:["PUT /users/{username}/site_admin"],removeAnnouncement:["DELETE /enterprise/announcement"],removeAuthorizedSshKey:["DELETE {origin}/setup/api/settings/authorized-keys"],removePreReceiveHookEnforcementForOrg:["DELETE /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],removePreReceiveHookEnforcementForRepo:["DELETE /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],setAnnouncement:["PATCH /enterprise/announcement"],setManageMaintenance:["POST {origin}/manage/v1/maintenance"],setManageSettings:["PUT {origin}/manage/v1/config/settings"],setManageSsh:["POST {origin}/manage/v1/access/ssh"],setSettings:["PUT {origin}/setup/api/settings"],startConfigurationProcess:["POST {origin}/setup/api/configure"],startPreReceiveEnvironmentDownload:["POST /admin/pre-receive-environments/{pre_receive_environment_id}/downloads"],suspendUser:["PUT /users/{username}/suspended"],syncLdapMappingForTeam:["POST /admin/ldap/teams/{team_id}/sync"],syncLdapMappingForUser:["POST /admin/ldap/users/{username}/sync"],unsuspendUser:["DELETE /users/{username}/suspended"],updateGlobalWebhook:["PATCH /admin/hooks/{hook_id}"],updateLdapMappingForTeam:["PATCH /admin/ldap/teams/{team_id}/mapping"],updateLdapMappingForUser:["PATCH /admin/ldap/users/{username}/mapping"],updateOrgName:["PATCH /admin/organizations/{org}"],updatePreReceiveEnvironment:["PATCH /admin/pre-receive-environments/{pre_receive_environment_id}"],updatePreReceiveHook:["PATCH /admin/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForOrg:["PATCH /orgs/{org}/pre-receive-hooks/{pre_receive_hook_id}"],updatePreReceiveHookEnforcementForRepo:["PATCH /repos/{owner}/{repo}/pre-receive-hooks/{pre_receive_hook_id}"],updateUsernameForUser:["PATCH /admin/users/{username}"],upgradeLicense:["POST {origin}/setup/api/upgrade"]}};var bt=yt;function enterpriseServer313Admin(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,dt)}enterpriseServer313Admin.VERSION=lt;function enterpriseServer313(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,ut)}enterpriseServer313.VERSION=lt;function enterpriseServer314Admin(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,ft)}enterpriseServer314Admin.VERSION=lt;function enterpriseServer314(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,ht)}enterpriseServer314.VERSION=lt;function enterpriseServer315Admin(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,Qt)}enterpriseServer315Admin.VERSION=lt;function enterpriseServer315(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,It)}enterpriseServer315.VERSION=lt;function enterpriseServer316Admin(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,bt)}enterpriseServer316Admin.VERSION=lt;function enterpriseServer316(e){return plugin_enterprise_server_dist_bundle_endpointsToMethods(e,wt)}enterpriseServer316.VERSION=lt; /*! js-yaml 5.2.3 https://github.com/nodeca/js-yaml @license MIT */ -var kt=Symbol("NOT_RESOLVED");var St=Symbol("MERGE_KEY");function defineScalarTag(e,t){return{tagName:e,nodeKind:"scalar",implicit:t.implicit??false,matchByTagPrefix:t.matchByTagPrefix??false,implicitFirstChars:t.implicitFirstChars??null,resolve:t.resolve,identify:t.identify??null,represent:t.represent??(e=>String(e)),representTagName:t.representTagName??null}}function defineSequenceTag(e,t){const r=t.finalize===void 0;return{tagName:e,nodeKind:"sequence",implicit:false,matchByTagPrefix:t.matchByTagPrefix??false,create:t.create,addItem:t.addItem,finalize:t.finalize??(e=>e),carrierIsResult:r,identify:t.identify??null,represent:t.represent??(e=>e),representTagName:t.representTagName??null}}function defineMappingTag(e,t){const r=t.finalize===void 0;return{tagName:e,nodeKind:"mapping",implicit:false,matchByTagPrefix:t.matchByTagPrefix??false,create:t.create,addPair:t.addPair,has:t.has,keys:t.keys,get:t.get,finalize:t.finalize??(e=>e),carrierIsResult:r,identify:t.identify??null,represent:t.represent??(e=>e),representTagName:t.representTagName??null}}var _t=defineScalarTag("tag:yaml.org,2002:str",{resolve:e=>e,identify:e=>typeof e==="string"});var Rt=["","~","null","Null","NULL"];var vt=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["","~","n","N"],resolve:e=>{if(Rt.indexOf(e)!==-1)return null;return kt},identify:e=>e===null,represent:()=>"null"});var Ft=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["n"],resolve:(e,t)=>{if(e==="null"||t&&e==="")return null;return kt},identify:e=>e===null,represent:()=>"null"});var Dt=["","~","null","Null","NULL"];var Gt=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["","~","n","N"],resolve:e=>{if(Dt.indexOf(e)!==-1)return null;return kt},identify:e=>e===null,represent:()=>"null"});var Pt=["true","True","TRUE"];var Ut=["false","False","FALSE"];var Lt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["t","T","f","F"],resolve:e=>{if(Pt.indexOf(e)!==-1)return true;if(Ut.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Ot=["true"];var Mt=["false"];var Nt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["t","f"],resolve:e=>{if(Ot.indexOf(e)!==-1)return true;if(Mt.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Ht=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"];var xt=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"];var Vt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:e=>{if(Ht.indexOf(e)!==-1)return true;if(xt.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Yt=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$");var Jt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function parseYamlInteger$2(e){let t=e;let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0o"))return r*parseInt(t.slice(2),8);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);return r*parseInt(t,10)}function resolveYamlInteger$2(e,t){if(t){if(!Jt.test(e))return kt}else if(!Yt.test(e))return kt;const r=parseYamlInteger$2(e);return Number.isFinite(r)?r:kt}var Wt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-","+",..."0123456789"],resolve:resolveYamlInteger$2,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var qt=new RegExp("^-?(?:0|[1-9][0-9]*)$");var jt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function parseYamlInteger$1(e){let t=e;let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0o"))return r*parseInt(t.slice(2),8);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);return r*parseInt(t,10)}function resolveYamlInteger$1(e,t){if(t){if(!jt.test(e))return kt}else if(!qt.test(e))return kt;const r=parseYamlInteger$1(e);return Number.isFinite(r)?r:kt}var zt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-",..."0123456789"],resolve:resolveYamlInteger$1,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var Kt=new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$");function parseYamlInteger(e){let t=e.replace(/_/g,"");let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);if(t.includes(":")){let e=0;for(const r of t.split(":"))e=e*60+Number(r);return r*e}if(t!=="0"&&t[0]==="0")return r*parseInt(t,8);return r*parseInt(t,10)}function resolveYamlInteger(e){if(!Kt.test(e))return kt;const t=parseYamlInteger(e);return Number.isFinite(t)?t:kt}var Zt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-","+",..."0123456789"],resolve:resolveYamlInteger,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var Xt=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var $t=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat$2(e){if(!Xt.test(e))return kt;let t=e.toLowerCase();const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;const s=r*parseFloat(t);if(Number.isFinite(s)||$t.test(e))return s;return kt}function representYamlFloat$2(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var er=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-","+",".",..."0123456789"],resolve:resolveYamlFloat$2,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat$2});var rr=new RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$");var sr=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat$1(e,t){if(t){if(!sr.test(e))return kt;let t=e.toLowerCase();const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;const s=r*parseFloat(t);return Number.isFinite(s)?s:kt}if(!rr.test(e))return kt;const r=Number(e);if(Number.isFinite(r))return r;return kt}function representYamlFloat$1(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var or=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-",..."0123456789"],resolve:resolveYamlFloat$1,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat$1});var nr=new RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var ir=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(!nr.test(e))return kt;let t=e.toLowerCase().replace(/_/g,"");const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;let s=0;if(t.includes(":")){for(const e of t.split(":"))s=s*60+Number(e);s*=r}else s=r*parseFloat(t);if(Number.isFinite(s)||ir.test(e))return s;return kt}function representYamlFloat(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var ar=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-","+",".",..."0123456789"],resolve:resolveYamlFloat,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat});var Ar=defineScalarTag("tag:yaml.org,2002:merge",{implicit:true,implicitFirstChars:["<"],resolve:(e,t)=>{if(e==="<<"||t&&e==="")return St;return kt}});var cr=/^[A-Za-z0-9+/]*={0,2}$/;function resolveYamlBinary(e){const t=e.replace(/\s/g,"");if(t.length%4!==0||!cr.test(t))return kt;const r=atob(t);const s=new Uint8Array(r.length);for(let e=0;eObject.prototype.toString.call(e)==="[object Uint8Array]",represent:representYamlBinary});var gr=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$");var ur=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 makeUtcDate(e,t,r,s=0,o=0,n=0,i=0){const a=new Date(Date.UTC(e,t,r,s,o,n,i));a.setUTCFullYear(e,t,r);return a}function resolveYamlTimestamp(e){let t=gr.exec(e);if(t===null)t=ur.exec(e);if(t===null)return kt;const r=+t[1];const s=+t[2]-1;const o=+t[3];if(!t[4]){const e=makeUtcDate(r,s,o);if(e.getUTCFullYear()!==r||e.getUTCMonth()!==s||e.getUTCDate()!==o)return kt;return e}const n=+t[4];const i=+t[5];const a=+t[6];let A=0;if(n>23||i>59||a>59)return kt;if(t[7]){let e=t[7].slice(0,3);while(e.length<3)e+="0";A=+e}const c=makeUtcDate(r,s,o,n,i,a,A);if(c.getUTCFullYear()!==r||c.getUTCMonth()!==s||c.getUTCDate()!==o)return kt;if(t[9]){const e=+t[10];const r=+(t[11]||0);if(e>23||r>59)return kt;const s=(e*60+r)*6e4;c.setTime(c.getTime()-(t[9]==="-"?-s:s))}return c}var pr=defineScalarTag("tag:yaml.org,2002:timestamp",{implicit:true,implicitFirstChars:[..."0123456789"],resolve:resolveYamlTimestamp,identify:e=>e instanceof Date,represent:e=>e.toISOString()});var dr=defineSequenceTag("tag:yaml.org,2002:seq",{create:()=>[],addItem:(e,t)=>{e.push(t)},identify:Array.isArray});function js_yaml_isPlainObject(e){if(e===null||typeof e!=="object"||Array.isArray(e))return false;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function pick(e,t){const r={};for(const s of t)if(e[s]!==void 0)r[s]=e[s];return r}var Er=defineSequenceTag("tag:yaml.org,2002:omap",{create:()=>({list:[],seen:new Set}),addItem:(e,t)=>{let r;if(t instanceof Map){if(t.size!==1)return"cannot resolve an ordered map item";r=t.keys().next().value}else if(js_yaml_isPlainObject(t)){const e=Object.keys(t);if(e.length!==1)return"cannot resolve an ordered map item";r=e[0]}else return"cannot resolve an ordered map item";if(e.seen.has(r))return"duplicate key in ordered map";e.seen.add(r);e.list.push(t);return""},finalize:e=>e.list});var hr=defineSequenceTag("tag:yaml.org,2002:pairs",{create:()=>[],addItem:(e,t)=>{if(t instanceof Map){if(t.size!==1)return"cannot resolve a pairs item";e.push(t.entries().next().value);return""}if(Object.prototype.toString.call(t)!=="[object Object]")return"cannot resolve a pairs item";const r=t;const s=Object.keys(r);if(s.length!==1)return"cannot resolve a pairs item";e.push([s[0],r[s[0]]]);return""}});var mr=defineMappingTag("tag:yaml.org,2002:map",{create:()=>({}),identify:js_yaml_isPlainObject,represent:e=>{const t=new Map;for(const r of Object.keys(e))t.set(r,e[r]);return t},addPair:(e,t,r)=>{if(t!==null&&typeof t==="object")return"object-based map does not support complex keys";const s=String(t);if(s==="__proto__")Object.defineProperty(e,s,{value:r,enumerable:true,configurable:true,writable:true});else e[s]=r;return""},has:(e,t)=>{if(t!==null&&typeof t==="object")return false;return Object.prototype.hasOwnProperty.call(e,String(t))},keys:e=>Object.keys(e),get:(e,t)=>{const r=String(t);if(!Object.prototype.hasOwnProperty.call(e,r))return null;return e[r]}});var fr=defineMappingTag("tag:yaml.org,2002:set",{create:()=>new Set,identify:e=>e instanceof Set,represent:e=>{const t=new Map;for(const r of e)t.set(r,null);return t},addPair:(e,t,r)=>{if(r!==null)return"cannot resolve a set item";e.add(t);return""},has:(e,t)=>e.has(t),keys:e=>e.keys(),get:()=>null});function createTagDefinitionMap(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function createTagDefinitionListMap(){return{scalar:[],sequence:[],mapping:[]}}function compileTags(e){const t=[];for(const r of e){let e=t.length;for(let s=0;se.implicitFirstChars===null);const i=new Set;for(const e of r)if(e.implicitFirstChars!==null)for(const t of e.implicitFirstChars)i.add(t);const a=new Map;for(const e of i)a.set(e,r.filter(t=>t.implicitFirstChars===null||t.implicitFirstChars.indexOf(e)!==-1));const A=s.scalar["tag:yaml.org,2002:str"];if(!A)throw new Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)");this.tags=t;this.implicitScalarTags=r;this.implicitScalarByFirstChar=a;this.implicitScalarAnyFirstChar=n;this.defaultScalarTag=A;this.defaultSequenceTag=s.sequence["tag:yaml.org,2002:seq"];this.defaultMappingTag=s.mapping["tag:yaml.org,2002:map"];this.exact=s;this.prefix=o}withTags(...e){let t=[];for(const r of e)t=t.concat(r);return new Schema([...this.tags,...t])}};var Ir=new Cr([_t,dr,mr]);var Br=new Cr([...Ir.tags,Ft,Nt,zt,or]);var Qr=new Cr([...Ir.tags,vt,Lt,Wt,er]);var Tr=new Cr([...Ir.tags,Gt,Vt,Zt,ar,pr,Ar,lr,Er,hr,fr]);var wr=defineMappingTag("tag:yaml.org,2002:map",{create:()=>new Map,addPair:(e,t,r)=>{e.set(t,r);return""},has:(e,t)=>e.has(t),keys:e=>e.keys(),get:(e,t)=>e.get(t),identify:e=>e instanceof Map||js_yaml_isPlainObject(e),represent:e=>{if(e instanceof Map)return e;const t=new Map;const r=e;for(const e of Object.keys(r))t.set(e,r[e]);return t}});function normalizeKey(e){if(Array.isArray(e)){const t=Array.prototype.slice.call(e);for(let e=0;e({}),identify:js_yaml_isPlainObject,represent:e=>{const t=new Map;for(const r of Object.keys(e))t.set(r,e[r]);return t},addPair:(e,t,r)=>{const s=normalizeKey(t);if(s===null)return"nested arrays are not supported inside keys";if(s==="__proto__")Object.defineProperty(e,s,{value:r,enumerable:true,configurable:true,writable:true});else e[s]=r;return""},has:(e,t)=>{const r=normalizeKey(t);return r!==null&&Object.prototype.hasOwnProperty.call(e,r)},keys:e=>Object.keys(e),get:(e,t)=>{const r=String(t);if(!Object.prototype.hasOwnProperty.call(e,r))return null;return e[r]}});var br={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function getLine(e,t,r,s,o){let n="";let i="";const a=Math.floor(o/2)-1;if(s-t>a){n=" ... ";t=s-a+n.length}if(r-s>a){i=" ...";r=s+a-i.length}return{str:n+e.slice(t,r).replace(/\t/g,"→")+i,pos:s-t+n.length}}function padStart(e,t){return" ".repeat(Math.max(t-e.length,0))+e}function makeSnippet(e,t){if(!e.buffer)return null;const r={...br,...t};const s=/\r?\n|\r|\0/g;const o=[0];const n=[];let i;let a=-1;while(i=s.exec(e.buffer)){n.push(i.index);o.push(i.index+i[0].length);if(e.position<=i.index&&a<0)a=o.length-2}if(a<0)a=o.length-1;let A="";const c=Math.min(e.line+r.linesAfter,n.length).toString().length;const l=r.maxLength-(r.indent+c+3);for(let t=1;t<=r.linesBefore;t++){if(a-t<0)break;const s=getLine(e.buffer,o[a-t],n[a-t],e.position-(o[a]-o[a-t]),l);A=`${" ".repeat(r.indent)}${padStart((e.line-t+1).toString(),c)} | ${s.str}\n${A}`}const g=getLine(e.buffer,o[a],n[a],e.position,l);A+=`${" ".repeat(r.indent)}${padStart((e.line+1).toString(),c)} | ${g.str}\n`;A+=`${"-".repeat(r.indent+c+3+g.pos)}^\n`;for(let t=1;t<=r.linesAfter;t++){if(a+t>=n.length)break;const s=getLine(e.buffer,o[a+t],n[a+t],e.position-(o[a]-o[a+t]),l);A+=`${" ".repeat(r.indent)}${padStart((e.line+t+1).toString(),c)} | ${s.str}\n`}return A.replace(/\n$/,"")}function formatError(e,t){let r="";if(!e.mark)return e.reason;if(e.mark.name)r+=`in "${e.mark.name}" `;r+=`(${e.mark.line+1}:${e.mark.column+1})`;if(!t&&e.mark.snippet)r+=`\n\n${e.mark.snippet}`;return`${e.reason} ${r}`}var kr=class extends Error{reason;mark;constructor(e,t){super();this.name="YAMLException";this.reason=e;this.mark=t;this.message=formatError(this,false);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${formatError(this,e)}`}};function throwErrorAt(e,t,r,s=""){let o=0;let n=0;for(let r=0;r>10)+55296,(e-65536&1023)+56320)}function fromHexCode$1(e){if(e>=48&&e<=57)return e-48;return(e|32)-97+10}function escapedHexLen$1(e){if(e===120)return 2;if(e===117)return 4;return 8}function skipFoldedBreaks(e,t,r){let s=0;while(t0;r--){o++;const t=fromHexCode$1(e.charCodeAt(o));n=(n<<4)+t}s+=charFromCodepoint(n);o++}n=i=o}else if(t===10||t===13){s+=e.slice(n,i);const t=skipFoldedBreaks(e,o,r);s+=foldedBreaks(t.breaks);o=n=i=t.position}else{o++;if(t!==32&&t!==9)i=o}}return s+e.slice(n,r)}function getBlockValue(e,t,r,s,o,n){const i=s<0?0:s;const a=e.slice(t,r).replace(/\r\n?/g,"\n");const A=a===""?[]:(a.endsWith("\n")?a.slice(0,-1):a).split("\n");let c="";let l=false;let g=0;let u=false;for(const e of A){let t=0;while(t=e.length){g++;continue}const r=e.slice(i);const o=r.charCodeAt(0);if(n)if(o===32||o===9){u=true;c+="\n".repeat(l?1+g:g)}else if(u){u=false;c+="\n".repeat(g+1)}else if(g===0){if(l)c+=" "}else c+="\n".repeat(g);else c+="\n".repeat(l?1+g:g);c+=r;l=true;g=0}if(o===3)c+="\n".repeat(l?1+g:g);else if(o!==2){if(l)c+="\n"}return c}function getScalarValue(e,t){if(t.valueStart===Yr)return"";const{valueStart:r,valueEnd:s}=t;if(t.fast)return e.slice(r,s);switch(t.style){case 2:return getSingleQuotedValue(e,r,s);case 3:return getDoubleQuotedValue(e,r,s);case 4:return getBlockValue(e,r,s,t.indent,t.chomping,false);case 5:return getBlockValue(e,r,s,t.indent,t.chomping,true);default:return getPlainValue(e,r,s)}}var qr=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"});function tagPercentEncode(e){return encodeURI(e).replace(/!/g,"%21")}function tagNameFull(e,t){if(e.startsWith("!<")&&e.endsWith(">"))return decodeURIComponent(e.slice(2,-1));const r=e.indexOf("!",1);const s=r===-1?"!":e.slice(0,r+1);const o=t?.[s]??qr[s]??s;return decodeURIComponent(o)+decodeURIComponent(e.slice(s.length))}function tagNameShort(e){let t=e;if(t.charCodeAt(0)===33){t=t.slice(1);return`!${tagPercentEncode(t)}`}if(t.slice(0,18)==="tag:yaml.org,2002:")return`!!${tagPercentEncode(t.slice(18))}`;return`!<${tagPercentEncode(t)}>`}var jr=-1;var zr={filename:"",schema:Qr,json:false,maxTotalMergeKeys:1e4,maxAliases:-1};function eventPosition$1(e){if("tagStart"in e&&e.tagStart!==jr)return e.tagStart;if("anchorStart"in e&&e.anchorStart!==jr)return e.anchorStart;if("valueStart"in e&&e.valueStart!==jr)return e.valueStart;if("start"in e)return e.start;return 0}function throwError$1(e,t){throwErrorAt(e.source,e.position,t,e.filename)}function finalizeCollection(e,t,r,s){try{return r.finalize(s)}catch(r){if(r instanceof kr)throw r;throwErrorAt(e.source,t,r instanceof Error?r.message:String(r),e.filename)}}function lookupTag(e,t,r){const s=e[r];if(s)return s;for(const e of t)if(r.startsWith(e.tagName))return e}function findExplicitTag(e,t,r,s,o){const n=lookupTag(t,r,s);if(n)return n;throwError$1(e,`unknown ${o} tag !<${s}>`)}function constructScalar(e,t){const r=getScalarValue(e.source,t);const s=t.tagStart===jr?"":e.source.slice(t.tagStart,t.tagEnd);const o=e.schema.defaultScalarTag;if(s!==""){if(s==="!")return{value:r,tag:o};const t=tagNameFull(s,e.tagHandlers);const n=lookupTag(e.schema.exact.scalar,e.schema.prefix.scalar,t);if(n){const s=n.resolve(r,true,t);if(s===kt)throwError$1(e,`cannot resolve a node with !<${t}> explicit tag`);return{value:s,tag:n}}const i=lookupTag(e.schema.exact.mapping,e.schema.prefix.mapping,t)??lookupTag(e.schema.exact.sequence,e.schema.prefix.sequence,t);if(i){if(r!=="")throwError$1(e,`cannot resolve a node with !<${t}> explicit tag`);const s=i.create(t);return{value:i.carrierIsResult?s:finalizeCollection(e,e.position,i,s),tag:i}}throwError$1(e,`unknown scalar tag !<${t}>`)}if(t.style===1){const t=e.schema.implicitScalarByFirstChar.get(r.charAt(0))??e.schema.implicitScalarAnyFirstChar;for(const e of t){const t=e.resolve(r,false,e.tagName);if(t!==kt)return{value:t,tag:e}}}return{value:o.resolve(r,false,o.tagName),tag:o}}function collectionTag(e,t,r,s,o,n){const i=t.tagStart===jr?"":e.source.slice(t.tagStart,t.tagEnd);const a=i===""||i==="!"?o:tagNameFull(i,e.tagHandlers);return{tagName:a,tag:findExplicitTag(e,r,s,a,n)}}function isMappingTag(e){return e.nodeKind==="mapping"}function mergeKeys(e,t,r,s){for(const o of s.keys(r)){if(e.maxTotalMergeKeys!==-1&&++e.totalMergeKeys>e.maxTotalMergeKeys)throwError$1(e,`merge keys exceeded maxTotalMergeKeys (${e.maxTotalMergeKeys})`);if(t.tag.has(t.value,o))continue;const n=t.tag.addPair(t.value,o,s.get(r,o));if(n)throwError$1(e,n);(t.overridable??=new Set).add(o)}}function mergeSource(e,t,r,s){e.position=t.keyPosition;if(isMappingTag(s))mergeKeys(e,t,r,s);else if(s.nodeKind==="sequence"&&Array.isArray(r))for(const s of r)mergeKeys(e,t,s,t.tag);else throwError$1(e,"cannot merge mappings; the provided source object is unacceptable")}function addMappingValue(e,t,r,s,o){e.position=t.keyPosition;if(r===St){mergeSource(e,t,s,o);return}if(!e.json&&t.tag.has(t.value,r)&&!t.overridable?.has(r))throwError$1(e,"duplicated mapping key");const n=t.tag.addPair(t.value,r,s);if(n)throwError$1(e,n);t.overridable?.delete(r)}function addValue(e,t,r){const s=e.frames[e.frames.length-1];if(s.kind==="document"){s.value=t;s.hasValue=true}else if(s.kind==="sequence"){if(s.merge){if(!isMappingTag(r))throwError$1(e,"cannot merge mappings; the provided source object is unacceptable")}const o=s.tag.addItem(s.value,t,s.index++);if(o)throwError$1(e,o)}else if(s.hasKey){const o=s.key;s.key=void 0;s.hasKey=false;addMappingValue(e,s,o,t,r)}else{s.key=t;s.keyPosition=e.position;s.hasKey=true}}function storeAnchor(e,t,r,s,o){if(t.anchorStart!==jr){const n={value:r,tag:s,isValueFinal:o};e.anchors.set(e.source.slice(t.anchorStart,t.anchorEnd),n);return n}return null}function constructFromEvents(e,t){const r={...zr,...t,events:e,documents:[],eventIndex:0,position:0,frames:[],anchors:new Map,tagHandlers:Object.create(null),totalMergeKeys:0,aliasCount:0};while(r.eventIndexr.maxAliases)throwError$1(r,`aliases exceeded maxAliases (${r.maxAliases})`);const t=r.source.slice(e.anchorStart,e.anchorEnd);const s=r.anchors.get(t);if(!s)throwError$1(r,`unidentified alias "${t}"`);if(!s.isValueFinal)throwError$1(r,`recursive alias "${t}" is not supported for tag ${s.tag.tagName} because it uses finalize()`);addValue(r,s.value,s.tag);break}case 6:{const e=r.frames.pop();if(e.kind==="mapping"&&e.hasKey){r.position=e.keyPosition;throwError$1(r,"incomplete mapping pair in event stream")}if(e.kind==="document")r.documents.push(e.value);else{const t=e.tag.carrierIsResult?e.value:finalizeCollection(r,e.position,e.tag,e.value);if(e.anchor){e.anchor.value=t;e.anchor.isValueFinal=true}addValue(r,t,e.tag)}break}}}return r.documents}var Kr=-1;var Zr=Object.prototype.hasOwnProperty;var Xr=1;var $r=2;var es=3;var ts=4;var rs=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var ss=/[,\[\]{}]/;var os=/^(?:!|!!|![0-9A-Za-z-]+!)$/;var ns=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`;var is=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`;var as=new RegExp(`^(?:${ns})*$`);var As=new RegExp(`^(?:${is})+$`);var cs=new RegExp(`^(?:!(?:${ns})*|${is}(?:${ns})*)$`);var ls={filename:"",maxDepth:100};function addDocumentEvent(e,t,r){e.events.push({type:1,explicitStart:t,explicitEnd:r,directives:e.directives})}function addSequenceEvent(e,t,r,s,o,n,i){e.events.push({type:2,start:t,anchorStart:r,anchorEnd:s,tagStart:o,tagEnd:n,style:i})}function addMappingEvent(e,t,r,s,o,n,i){e.events.push({type:3,start:t,anchorStart:r,anchorEnd:s,tagStart:o,tagEnd:n,style:i})}function insertFlowPairMappingEvent(e,t){e.events.splice(t.eventsLength,0,{type:3,start:t.position,anchorStart:Kr,anchorEnd:Kr,tagStart:Kr,tagEnd:Kr,style:2})}function addScalarEvent(e,t,r,s,o,n,i,a,A=1,c=-1,l=false){e.events.push({type:4,valueStart:t,valueEnd:r,anchorStart:s,anchorEnd:o,tagStart:n,tagEnd:i,style:a,chomping:A,indent:c,fast:l})}function addAliasEvent(e,t,r){e.events.push({type:5,anchorStart:t,anchorEnd:r})}function addPopEvent(e){e.events.push({type:6})}function addEmptyScalarEvent(e){addScalarEvent(e,Kr,Kr,Kr,Kr,Kr,Kr,1)}function emptyProperties(){return{anchorStart:Kr,anchorEnd:Kr,tagStart:Kr,tagEnd:Kr}}function snapshotState(e){return{position:e.position,line:e.line,lineStart:e.lineStart,lineIndent:e.lineIndent,firstTabInLine:e.firstTabInLine,eventsLength:e.events.length}}function restoreState(e,t){e.position=t.position;e.line=t.line;e.lineStart=t.lineStart;e.lineIndent=t.lineIndent;e.firstTabInLine=t.firstTabInLine;e.events.length=t.eventsLength}function throwError(e,t){throwErrorAt(e.input.slice(0,e.length),e.position,t,e.filename)}function isEol(e){return e===10||e===13}function isWhiteSpace(e){return e===9||e===32}function isWsOrEol(e){return isWhiteSpace(e)||isEol(e)}function isWsOrEolOrEnd(e){return e===0||isWsOrEol(e)}function isFlowIndicator(e){return e===44||e===91||e===93||e===123||e===125}function fromDecimalCode(e){return e>=48&&e<=57?e-48:-1}function fromHexCode(e){if(e>=48&&e<=57)return e-48;const t=e|32;if(t>=97&&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 isSimpleEscape(e){return e===48||e===97||e===98||e===116||e===9||e===110||e===118||e===102||e===114||e===101||e===32||e===34||e===47||e===92||e===78||e===95||e===76||e===80}function consumeLineBreak(e){if(e.input.charCodeAt(e.position)===10)e.position++;else{e.position++;if(e.input.charCodeAt(e.position)===10)e.position++}e.line++;e.lineStart=e.position;e.lineIndent=0;e.firstTabInLine=-1}function skipSeparationSpace(e,t){let r=0;let s=e.input.charCodeAt(e.position);let o=e.position===e.lineStart||isWsOrEol(e.input.charCodeAt(e.position-1));while(s!==0){while(isWhiteSpace(s)){o=true;if(s===9&&e.firstTabInLine===-1)e.firstTabInLine=e.position;s=e.input.charCodeAt(++e.position)}if(t&&o&&s===35)do{s=e.input.charCodeAt(++e.position)}while(!isEol(s)&&s!==0);if(!isEol(s))break;consumeLineBreak(e);r++;o=true;s=e.input.charCodeAt(e.position);while(s===32){e.lineIndent++;s=e.input.charCodeAt(++e.position)}}return r}function testDocumentSeparator(e,t=e.position){const r=e.input.charCodeAt(t);if((r===45||r===46)&&r===e.input.charCodeAt(t+1)&&r===e.input.charCodeAt(t+2)){const r=e.input.charCodeAt(t+3);return r===0||isWsOrEol(r)}return false}function skipUntilLineEnd(e){let t=e.input.charCodeAt(e.position);while(t!==0&&!isEol(t))t=e.input.charCodeAt(++e.position)}function checkPrintable(e,t,r){if(rs.test(e.input.slice(t,r)))throwError(e,"the stream contains non-printable characters")}function readTagProperty(e,t,r){if(e.input.charCodeAt(e.position)!==33)return false;if(t.tagStart!==Kr)throwError(e,"duplication of a tag property");const s=e.position;let o=false;let n=false;let i="!";let a=e.input.charCodeAt(++e.position);if(a===60){o=true;a=e.input.charCodeAt(++e.position)}else if(a===33){n=true;i="!!";a=e.input.charCodeAt(++e.position)}let A=e.position;let c;if(o){while(a!==0&&a!==62)a=e.input.charCodeAt(++e.position);if(a!==62)throwError(e,"unexpected end of the stream within a verbatim tag");c=e.input.slice(A,e.position);e.position++}else{while(a!==0&&!isWsOrEol(a)&&!(r&&isFlowIndicator(a))){if(a===33)if(!n){i=e.input.slice(A-1,e.position+1);if(!os.test(i))throwError(e,"named tag handle cannot contain such characters");n=true;A=e.position+1}else throwError(e,"tag suffix cannot contain exclamation marks");a=e.input.charCodeAt(++e.position)}c=e.input.slice(A,e.position);if(ss.test(c))throwError(e,"tag suffix cannot contain flow indicator characters")}if(c&&!(o?as.test(c):As.test(c)))throwError(e,`tag name cannot contain such characters: ${c}`);if(!o&&i!=="!"&&i!=="!!"&&!Zr.call(e.tagHandlers,i))throwError(e,`undeclared tag handle "${i}"`);t.tagStart=s;t.tagEnd=e.position;return true}function readAnchorProperty(e,t){if(e.input.charCodeAt(e.position)!==38)return false;if(t.anchorStart!==Kr)throwError(e,"duplication of an anchor property");e.position++;const r=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position))&&!isFlowIndicator(e.input.charCodeAt(e.position)))e.position++;if(e.position===r)throwError(e,"name of an anchor node must contain at least one character");t.anchorStart=r;t.anchorEnd=e.position;return true}function readAlias(e,t){if(e.input.charCodeAt(e.position)!==42)return false;if(t.anchorStart!==Kr||t.tagStart!==Kr)throwError(e,"alias node should not have any properties");e.position++;const r=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position))&&!isFlowIndicator(e.input.charCodeAt(e.position)))e.position++;if(e.position===r)throwError(e,"name of an alias node must contain at least one character");addAliasEvent(e,r,e.position);return true}function readFlowScalarBreak(e,t){skipSeparationSpace(e,false);if(e.lineIndent0){e.position++;if(fromHexCode(e.input.charCodeAt(e.position))<0)throwError(e,"expected hexadecimal character")}e.position++}}else if(isEol(n)){o=false;readFlowScalarBreak(e,t)}else if(e.position===e.lineStart&&testDocumentSeparator(e))throwError(e,"unexpected end of the document within a double quoted scalar");else if(n!==9&&n<32)throwError(e,"expected valid JSON character");else e.position++}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readBlockScalar(e,t,r){const s=e.input.charCodeAt(e.position);let o=1;let n=-1;let i=false;if(s!==124&&s!==62)return false;const a=s===124?4:5;e.position++;while(e.input.charCodeAt(e.position)!==0){const r=e.input.charCodeAt(e.position);const s=fromDecimalCode(r);if(r===43||r===45){if(o!==1)throwError(e,"repeat of a chomping mode identifier");o=r===43?3:2;e.position++}else if(s>=0){if(s===0)throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one");if(i)throwError(e,"repeat of an indentation width identifier");n=t+s-1;i=true;e.position++}else break}let A=false;while(isWhiteSpace(e.input.charCodeAt(e.position))){A=true;e.position++}if(A&&e.input.charCodeAt(e.position)===35)skipUntilLineEnd(e);if(isEol(e.input.charCodeAt(e.position)))consumeLineBreak(e);else if(e.input.charCodeAt(e.position)!==0)throwError(e,"a line break is expected");let c=i?n:-1;let l=0;const g=e.position;let u=e.position;while(e.input.charCodeAt(e.position)!==0){const r=e.position;let s=0;while(e.input.charCodeAt(r+s)===32)s++;const o=e.input.charCodeAt(r+s);if(o===0){if(c>=0){if(s>c)u=r+s}else if(s>0)u=r+s;break}if(r===e.lineStart&&testDocumentSeparator(e,r))break;if(!i&&c===-1&&isEol(o))l=Math.max(l,s);if(!i&&c===-1&&!isEol(o)){if(o===9&&s=t){A=true;i=e.input.charCodeAt(e.position);continue}e.position=r;e.line=s;e.lineStart=o;e.lineIndent=n;break}if(!isWhiteSpace(i))n=e.position+1;i=e.input.charCodeAt(++e.position)}if(n===o)return false;checkPrintable(e,o,n);addScalarEvent(e,o,n,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1,1,-1,!A);return true}function skipFlowSeparationSpace(e,t){const r=e.line;skipSeparationSpace(e,true);if(e.line>r&&e.lineIndent0;if(e.firstTabInLine!==-1&&e.input.charCodeAt(e.position)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+1)))throwError(e,"bad indentation of a sequence entry");if(s&&e.lineIndent<=t)addEmptyScalarEvent(e);else parseNode(e,t,es,false,true);skipSeparationSpace(e,true);if(e.lineIndent=e.length)break;if(e.lineIndent>t)throwError(e,"bad indentation of a sequence entry");if(e.line===r&&e.input.charCodeAt(e.position)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+1)))throwError(e,"bad indentation of a sequence entry")}addPopEvent(e);return true}function readBlockMapping(e,t,r,s){let o=false;let n=false;let i=false;let a=false;if(e.firstTabInLine!==-1)return false;let A=e.input.charCodeAt(e.position);while(A!==0){if(!o&&e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}const c=e.input.charCodeAt(e.position+1);const l=e.line;if((A===63||A===58)&&isWsOrEolOrEnd(c)){if(!i){addMappingEvent(e,e.position,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1);i=true}if(A===63){if(o)addEmptyScalarEvent(e);n=true;o=true}else if(o)o=false;else{addEmptyScalarEvent(e);n=true;o=false}e.position+=1;a=true}else{if(o){addEmptyScalarEvent(e);o=false}const t=snapshotState(e);if(!parseNode(e,r,$r,false,true))break;if(e.line===l){A=e.input.charCodeAt(e.position);while(isWhiteSpace(A))A=e.input.charCodeAt(++e.position);if(A===58){A=e.input.charCodeAt(++e.position);if(!isWsOrEolOrEnd(A))throwError(e,"a whitespace character is expected after the key-value separator within a block mapping");if(!i){restoreState(e,t);addMappingEvent(e,t.position,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1);i=true;parseNode(e,r,$r,false,true);A=e.input.charCodeAt(e.position);while(isWhiteSpace(A))A=e.input.charCodeAt(++e.position);e.position++}n=true;o=false;a=false}else if(n)throwError(e,"expected ':' after a mapping key");else{if(s.anchorStart!==Kr||s.tagStart!==Kr){restoreState(e,t);return false}return true}}else if(n)throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else{if(s.anchorStart!==Kr||s.tagStart!==Kr){restoreState(e,t);return false}return true}}if(parseNode(e,t,ts,true,a))a=false;if(!o){if(a){addEmptyScalarEvent(e);a=false}}skipSeparationSpace(e,true);A=e.input.charCodeAt(e.position);if((e.line===l||e.lineIndent>t)&&A!==0)throwError(e,"bad indentation of a mapping entry");else if(e.lineIndent=e.maxDepth)throwError(e,`nesting exceeded maxDepth (${e.maxDepth})`);e.depth++;let i=1;let a=false;let A=false;let c=null;const l=emptyProperties();let g=r===ts||r===es;let u=g;const p=g;if(s&&skipSeparationSpace(e,true)){a=true;if(e.lineIndent>t)i=1;else if(e.lineIndent===t)i=0;else i=-1}if(i===1)while(true){const s=e.input.charCodeAt(e.position);const o=snapshotState(e);if(a&&i!==1&&(s===33||s===38))break;if(a&&p&&(l.tagStart!==Kr||l.anchorStart!==Kr)&&(s===33||s===38)){const r=snapshotState(e);const s=t+1;if(readBlockMapping(e,e.position-e.lineStart,s,l)&&e.events[r.eventsLength]?.type===3){e.depth--;return true}restoreState(e,r)}if(a&&(s===33&&l.tagStart!==Kr||s===38&&l.anchorStart!==Kr))break;if(!readTagProperty(e,l,r===Xr)&&!readAnchorProperty(e,l))break;if(c===null)c=o;if(skipSeparationSpace(e,true)){a=true;u=p;if(e.lineIndent>t)i=1;else if(e.lineIndent===t)i=0;else i=-1}else u=false}if(u)u=a||o;if(i===1||r===ts){const s=r===Xr||r===$r?t:t+1;const o=e.position-e.lineStart;if(i===1)if(u&&(readBlockSequence(e,o,l)||readBlockMapping(e,o,s,l))||readFlowCollection(e,s,l))A=true;else{const t=e.input.charCodeAt(e.position);if(c!==null&&n&&p&&!u&&t!==124&&t!==62){const t=snapshotState(e);const r=c.position-c.lineStart;restoreState(e,c);if(readBlockMapping(e,r,s,emptyProperties())&&e.events[t.eventsLength]?.type===3)A=true;else restoreState(e,t)}if(!A&&(g&&readBlockScalar(e,s,l)||readSingleQuotedScalar(e,s,l)||readDoubleQuotedScalar(e,s,l)||readAlias(e,l)||readPlainScalar(e,s,r,l)))A=true}else if(i===0)A=u&&readBlockSequence(e,o,l)}g=g&&!A;if(!A&&(l.anchorStart!==Kr||l.tagStart!==Kr||g)){addScalarEvent(e,Kr,Kr,l.anchorStart,l.anchorEnd,l.tagStart,l.tagEnd,1);A=true}e.depth--;return A||l.anchorStart!==Kr||l.tagStart!==Kr}function readDirective(e){if(e.lineIndent>0||e.input.charCodeAt(e.position)!==37)return false;e.position++;const t=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position)))e.position++;const r=e.input.slice(t,e.position);const s=[];if(r.length===0)throwError(e,"directive name must not be less than one character in length");while(e.input.charCodeAt(e.position)!==0&&!isEol(e.input.charCodeAt(e.position))){while(isWhiteSpace(e.input.charCodeAt(e.position)))e.position++;if(e.input.charCodeAt(e.position)===35||isEol(e.input.charCodeAt(e.position))||e.input.charCodeAt(e.position)===0)break;const t=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position)))e.position++;s.push(e.input.slice(t,e.position))}if(isEol(e.input.charCodeAt(e.position)))consumeLineBreak(e);if(r==="YAML"){if(e.directives.some(e=>e.kind==="yaml"))throwError(e,"duplication of %YAML directive");if(s.length!==1)throwError(e,"YAML directive accepts exactly one argument");const t=/^([0-9]+)\.([0-9]+)$/.exec(s[0]);if(t===null)throwError(e,"ill-formed argument of the YAML directive");if(parseInt(t[1],10)!==1)throwError(e,"unacceptable YAML version of the document");e.directives.push({kind:"yaml",version:s[0]})}else if(r==="TAG"){if(s.length!==2)throwError(e,"TAG directive accepts exactly two arguments");const[t,r]=s;if(!os.test(t))throwError(e,"ill-formed tag handle (first argument) of the TAG directive");if(Zr.call(e.tagHandlers,t))throwError(e,`there is a previously declared suffix for "${t}" tag handle`);if(!cs.test(r))throwError(e,"ill-formed tag prefix (second argument) of the TAG directive");e.tagHandlers[t]=r;e.directives.push({kind:"tag",handle:t,prefix:r})}return true}function readDocument(e){e.directives=[];e.tagHandlers=Object.create(null);let t=false;skipSeparationSpace(e,true);while(readDirective(e)){t=true;skipSeparationSpace(e,true)}let r=false;let s=false;let o=true;if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+3))){r=true;const t=e.line;e.position+=3;skipSeparationSpace(e,true);o=e.line>t}else if(t)throwError(e,"directives end mark is expected");const n=e.events.length;if(!r&&e.position===e.lineStart&&e.input.charCodeAt(e.position)===46&&testDocumentSeparator(e)){e.position+=3;skipSeparationSpace(e,true);return}addDocumentEvent(e,r,false);if(!parseNode(e,e.lineIndent-1,ts,false,o,o))addEmptyScalarEvent(e);skipSeparationSpace(e,true);if(e.position===e.lineStart&&testDocumentSeparator(e)){s=e.input.charCodeAt(e.position)===46;if(s){const t=e.line;e.position+=3;skipSeparationSpace(e,true);if(e.line===t&&e.position=s.length)break;const e=s.position;readDocument(s);if(s.position===e)throwError(s,"can not read a document")}return s.events}var gs={...ls,...zr};function loadDocuments(e,t={}){const r={...gs,...t};const s=String(e);const o=Object.keys(ls);const n=Object.keys(zr);return constructFromEvents(parseEvents(s,pick(r,o)),{...pick(r,n),source:s})}function loadAll(e,t,r){let s=null;if(typeof t==="function")s=t;else if(t!==null&&typeof t==="object")r=t;const o=loadDocuments(e,r);if(s===null)return o;for(const e of o)s(e)}function load(e,t){const r=loadDocuments(e,t);if(r.length===0)throw new kr("expected a document, but the input is empty");if(r.length===1)return r[0];throw new kr("expected a single document in the stream, but found more")}var us=class{tagged=false;flow=false;singleQuoted=false;doubleQuoted=false;literal=false;folded=false};var ps=Symbol("INVALID");function buildRepresentTypes(e){const t=new Set([e.defaultScalarTag,e.defaultSequenceTag,e.defaultMappingTag].filter(e=>e!==void 0));const r=e.implicitScalarTags;const s=e.tags.filter(e=>!(e.nodeKind==="scalar"&&e.implicit)&&!t.has(e));const o=e.tags.filter(e=>t.has(e));return[...r.map(e=>({tag:e,implicitTag:true})),...s.map(e=>({tag:e,implicitTag:false})),...o.map(e=>({tag:e,implicitTag:true}))]}function matchTag(e,t){for(let r=0,s=e.representTypes.length;r=32&&e<=126||e>=161&&e<=55295&&e!==8232&&e!==8233||e>=57344&&e<=65533&&e!==hs||e>=65536&&e<=1114111}function isNsCharOrWhitespace(e){return isPrintable(e)&&e!==hs&&e!==Is&&e!==Cs}function isPlainSafe(e,t,r){const s=isNsCharOrWhitespace(e);const o=s&&!isWhitespace(e);return(r?s:s&&e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs)&&e!==ws&&!(t===vs&&!o)||isNsCharOrWhitespace(t)&&!isWhitespace(t)&&e===ws||t===vs&&o&&(r||e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs)}function isPlainSafeFirst(e){return isPrintable(e)&&e!==hs&&!isWhitespace(e)&&e!==Rs&&e!==Gs&&e!==vs&&e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs&&e!==ws&&e!==bs&&e!==Ss&&e!==Qs&&e!==Ns&&e!==Fs&&e!==Ds&&e!==ks&&e!==Ts&&e!==ys&&e!==Ps&&e!==Os}function isPlainSafeAtStart(e,t){const r=codePointAt(e,0);if(isPlainSafeFirst(r))return true;if(e.length>1&&(r===Rs||r===Gs||r===vs)){const s=codePointAt(e,1);return!isWhitespace(s)&&isPlainSafe(s,r,t)}return false}function isPlainSafeLast(e){return!isWhitespace(e)&&e!==vs}function codePointAt(e,t){const r=e.charCodeAt(t);let s;if(r>=55296&&r<=56319&&t+1=56320&&s<=57343)return(r-55296)*1024+s-56320+65536}return r}function needIndentIndicator(e){return/^\n* /.test(e)}var Ys=1;var Js=2;var Ws=3;var qs=4;var js=5;function chooseScalarStyle(e,t,r,s,o,n){const{blockIndent:i,lineWidth:a}=r;let A;let c=0;let l=-1;let g=false;let u=false;const p=a!==-1;let d=-1;let E=!startsWithDocumentSeparator(t)&&isPlainSafeAtStart(t,n)&&isPlainSafeLast(codePointAt(t,t.length-1));if(s||o)for(A=0;A=65536?A+=2:A++){c=codePointAt(t,A);if(!isPrintable(c))return js;E=E&&isPlainSafe(c,l,n);l=c}else{for(A=0;A=65536?A+=2:A++){c=codePointAt(t,A);if(c===Cs){g=true;if(p){u=u||A-d-1>a&&!isMoreIndented(t[d+1]);d=A}}else if(!isPrintable(c))return js;E=E&&isPlainSafe(c,l,n);l=c}u=u||p&&A-d-1>a&&!isMoreIndented(t[d+1])}if(!g&&!u){if(E&&!o)return Ys;return e.quoteStyle==="double"?js:Js}if(i>9&&needIndentIndicator(t))return js;return u?qs:Ws}function renderScalarStyle(e,t,r){const{indent:s,blockIndent:o,lineWidth:n}=r;switch(t){case Ys:return encodeFlowBreaks(e,s);case Js:return`'${encodeFlowBreaks(e,s).replace(/'/g,"''")}'`;case Ws:return"|"+blockHeader(e,o)+dropEndingNewline(indentString(e,s));case qs:return">"+blockHeader(e,o)+dropEndingNewline(indentString(foldBlockScalar(e,n),s));case js:return`"${escapeString(e)}"`}}function resolveScalarStyle(e,t,r,s,o){const n=s||!o;if(t.style.singleQuoted)return Js;if(t.style.doubleQuoted)return js;if(!n){if(t.style.literal)return Ws;if(t.style.folded)return qs}const i=t.value;if(i.length===0){if(t.style.tagged||resolveImplicitTag(e,i)===t.tag)return Ys;return e.quoteStyle==="double"?js:Js}const a=chooseScalarStyle(e,i,r,n,e.forceQuotes&&!s,o);if(a===Ys&&!t.style.tagged&&resolveImplicitTag(e,i)!==t.tag)return e.quoteStyle==="double"?js:Js;return a}function blockHeader(e,t){const r=needIndentIndicator(e)?String(t):"";const s=e[e.length-1]==="\n";return`${r}${s&&(e[e.length-2]==="\n"||e==="\n")?"+":s?"":"-"}\n`}function encodeFlowBreaks(e,t){let r=e.indexOf("\n");if(r===-1)return e;const s=" ".repeat(t);let o=e.slice(0,r);const n=/(\n+)([^\n]*)/g;n.lastIndex=r;let i;while(i=n.exec(e)){const e=i[1].length;const t=i[2];o+="\n".repeat(e+1)+s+t}return o}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function isMoreIndented(e){return e===" "||e==="\t"}function foldBlockScalar(e,t){const r=/(\n+)([^\n]*)/g;let s=e.indexOf("\n");if(s===-1)s=e.length;r.lastIndex=s;let o=foldLine(e.slice(0,s),t);let n=e[0]==="\n"||isMoreIndented(e[0]);let i;let a;while(a=r.exec(e)){const e=a[1];const r=a[2];i=r!==""&&isMoreIndented(r[0]);o+=e+(!n&&!i&&r!==""?"\n":"")+foldLine(r,t);n=i}return o}function foldLine(e,t){if(e===""||isMoreIndented(e[0]))return e;const r=/ [^ \t]/g;let s;let o=0;let n;let i=0;let a=0;let A="";while(s=r.exec(e)){a=s.index;if(a-o>t){n=i>o?i:a;A+=`\n${e.slice(o,n)}`;o=n+1}i=a}A+="\n";if(e.length-o>t&&i>o)A+=`${e.slice(o,i)}\n${e.slice(i+1)}`;else A+=e.slice(o);return A.slice(1)}function escapeString(e){let t="";let r=0;for(let s=0;s=65536?s+=2:s++){r=codePointAt(e,s);const o=xs[r];if(o){t+=o;continue}if(isPrintable(r)){t+=e[s];if(r>=65536)t+=e[s+1];continue}t+=encodeNonPrintable(r)}return t}function writeFlowSequence(e,t,r){let s="";for(let o=0,n=r.items.length;o1024;if(a)o+="? ";else if(e.quoteFlowKeys)o+='"';const A=writeNode(e,t,n,{});const c=e.flowSkipColonSpace||A===""?"":" ";o+=`${i}${e.quoteFlowKeys&&!a?'"':""}:${c}${A}`;s+=o}const n=e.flowBracketPadding&&s!==""?" ":"";return`{${n}${s}${n}}`}function sortKeyValue(e){return e.kind==="scalar"?e.value:e}function sortMappingItems(e,t){if(!e.sortKeys)return t;const r=t.slice();if(e.sortKeys===true)r.sort((e,t)=>{const r=sortKeyValue(e.key);const s=sortKeyValue(t.key);if(rs)return 1;return 0});else{const t=e.sortKeys;r.sort((e,r)=>t(sortKeyValue(e.key),sortKeyValue(r.key)))}return r}function writeBlockMapping(e,t,r,s){let o="";const n=sortMappingItems(e,r.items);for(let r=0,i=n.length;r1024;if(u)if(l&&Cs===l.charCodeAt(0))i+="?";else i+="? ";i+=l;if(u)i+=generateNextLine(e,t);const p=writeNode(e,t+1,A,{block:true,compact:u,isblockseq:u&&!cannotBeCompact(e,A,t+1)});const d=a.kind==="scalar"&&a.value===""&&l!==""&&l.charCodeAt(l.length-1)!==ks&&l.charCodeAt(l.length-1)!==Ts;const E=!u&&(a.kind==="alias"||d)?" ":"";if(p===""||Cs===p.charCodeAt(0))i+=`${E}:`;else i+=`${E}: `;i+=p;o+=i}return o}function cannotBeCompact(e,t,r){return t.style.tagged||t.anchor!==void 0||e.indent<2&&r>0}function writeNode(e,t,r,s){if(r.kind==="alias")return`*${r.anchor}`;const{block:o=false,iskey:n=false,isblockseq:i=false}=s;let a=s.compact??false;const A=r.anchor!==void 0;if(cannotBeCompact(e,r,t))a=false;let c;let l=r.style.tagged;const g=o&&(r.kind==="mapping"||r.kind==="sequence")&&!r.style.flow&&r.items.length!==0;if(r.kind==="mapping")if(g)c=writeBlockMapping(e,t,r,a);else c=writeFlowMapping(e,t,r);else if(r.kind==="sequence")if(g)if(e.seqNoIndent&&!i&&t>0)c=writeBlockSequence(e,t-1,r,a);else c=writeBlockSequence(e,t,r,a);else c=writeFlowSequence(e,t,r);else{const s=scalarLayout(e,t);const i=resolveScalarStyle(e,r,s,n,o);c=renderScalarStyle(r.value,i,s);l=r.style.tagged||i!==Ys&&r.tag!==e.defaultScalarTagName}if(g&&a&&t>0&&e.indent>2)c=`${" ".repeat(e.indent-2)}${c}`;if(l||A){const t=[];const s=l?nodeTagShort(r):null;const o=A?`&${r.anchor}`:null;if(e.tagBeforeAnchor){if(s!==null)t.push(s);if(o!==null)t.push(o)}else{if(o!==null)t.push(o);if(s!==null)t.push(s)}const n=c===""||c.charCodeAt(0)===Cs?"":" ";c=`${t.join(" ")}${n}${c}`}return c}function rootStartsOwnLine(e){return(e.kind==="sequence"||e.kind==="mapping")&&!e.style.flow&&e.items.length!==0&&!e.style.tagged&&e.anchor===void 0}function isOpenEnded(e){let t=e;while((t.kind==="sequence"||t.kind==="mapping")&&!t.style.flow&&t.items.length!==0)t=t.kind==="sequence"?t.items[t.items.length-1]:t.items[t.items.length-1].value;if(t.kind!=="scalar"||!(t.style.literal||t.style.folded))return false;const{value:r}=t;return r.endsWith("\n\n")||r==="\n"}function writeDocumentDirectives(e){let t="";for(const r of e.directives){if(r.kind==="yaml"){t+=`%YAML ${r.version}\n`;continue}const{handle:e,prefix:s}=r;t+=`%TAG ${e} ${s}\n`}return t}function present(e,t){const r=createPresenterState(t);let s="";let o=false;for(let t=0;t0&&!o;s+=i;if(n.contents===null){if(A)s+="---\n"}else if(A){const e=writeNode(r,0,n.contents,{block:true,compact:true});const t=e===""?"":a||rootStartsOwnLine(n.contents)?"\n":" ";s+=`---${t}${e}\n`}else s+=writeNode(r,0,n.contents,{block:true,compact:true})+"\n";o=n.explicitEnd||n.contents!==null&&isOpenEnded(n.contents);if(o)s+="...\n"}return s}var zs=Tr.withTags({...Zt,resolve:(e,t,r)=>{const s=Zt.resolve(e,t,r);return s===kt?Wt.resolve(e,t,r):s}},{...ar,resolve:(e,t,r)=>{const s=ar.resolve(e,t,r);return s===kt?er.resolve(e,t,r):s}});var Ks={...Vs,schema:zs,skipInvalid:false,noRefs:false,flowLevel:-1,transform:()=>{}};function dump(e,t={}){const r={...Ks,...t};const s=jsToAst(e,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0)visit(s,(e,t)=>{if(t.deptht(e),this)}}onabort(){}addEventListener(e,t){if(e==="abort"){this._listeners.push(t)}}removeEventListener(e,t){if(e==="abort"){this._listeners=this._listeners.filter(e=>e!==t)}}};const no=new Set;const deprecatedOption=(e,t)=>{const r=`LRU_CACHE_OPTION_${e}`;if(shouldWarn(r)){warn(r,`${e} option`,`options.${t}`,LRUCache)}};const deprecatedMethod=(e,t)=>{const r=`LRU_CACHE_METHOD_${e}`;if(shouldWarn(r)){const{prototype:s}=LRUCache;const{get:o}=Object.getOwnPropertyDescriptor(s,e);warn(r,`${e} method`,`cache.${t}()`,o)}};const deprecatedProperty=(e,t)=>{const r=`LRU_CACHE_PROPERTY_${e}`;if(shouldWarn(r)){const{prototype:s}=LRUCache;const{get:o}=Object.getOwnPropertyDescriptor(s,e);warn(r,`${e} property`,`cache.${t}`,o)}};const emitWarning=(...e)=>{typeof process==="object"&&process&&typeof process.emitWarning==="function"?process.emitWarning(...e):console.error(...e)};const shouldWarn=e=>!no.has(e);const warn=(e,t,r,s)=>{no.add(e);const o=`The ${t} is deprecated. Please use ${r} instead.`;emitWarning(o,"DeprecationWarning",e,s)};const isPosInt=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e);const getUintArray=e=>!isPosInt(e)?null:e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?ZeroArray:null;class ZeroArray extends Array{constructor(e){super(e);this.fill(0)}}class Stack{constructor(e){if(e===0){return[]}const t=getUintArray(e);this.heap=new t(e);this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class LRUCache{constructor(e={}){const{max:t=0,ttl:r,ttlResolution:s=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:i,allowStale:a,dispose:A,disposeAfter:c,noDisposeOnSet:l,noUpdateTTL:g,maxSize:u=0,maxEntrySize:p=0,sizeCalculation:d,fetchMethod:E,fetchContext:h,noDeleteOnFetchRejection:m,noDeleteOnStaleGet:f,allowStaleOnFetchRejection:C,allowStaleOnFetchAbort:I,ignoreFetchAbort:B}=e;const{length:Q,maxAge:T,stale:w}=e instanceof LRUCache?{}:e;if(t!==0&&!isPosInt(t)){throw new TypeError("max option must be a nonnegative integer")}const y=t?getUintArray(t):Array;if(!y){throw new Error("invalid max value: "+t)}this.max=t;this.maxSize=u;this.maxEntrySize=p||this.maxSize;this.sizeCalculation=d||Q;if(this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize){throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize")}if(typeof this.sizeCalculation!=="function"){throw new TypeError("sizeCalculation set to non-function")}}this.fetchMethod=E||null;if(this.fetchMethod&&typeof this.fetchMethod!=="function"){throw new TypeError("fetchMethod must be a function if specified")}this.fetchContext=h;if(!this.fetchMethod&&h!==undefined){throw new TypeError("cannot set fetchContext without fetchMethod")}this.keyMap=new Map;this.keyList=new Array(t).fill(null);this.valList=new Array(t).fill(null);this.next=new y(t);this.prev=new y(t);this.head=0;this.tail=0;this.free=new Stack(t);this.initialFill=1;this.size=0;if(typeof A==="function"){this.dispose=A}if(typeof c==="function"){this.disposeAfter=c;this.disposed=[]}else{this.disposeAfter=null;this.disposed=null}this.noDisposeOnSet=!!l;this.noUpdateTTL=!!g;this.noDeleteOnFetchRejection=!!m;this.allowStaleOnFetchRejection=!!C;this.allowStaleOnFetchAbort=!!I;this.ignoreFetchAbort=!!B;if(this.maxEntrySize!==0){if(this.maxSize!==0){if(!isPosInt(this.maxSize)){throw new TypeError("maxSize must be a positive integer if specified")}}if(!isPosInt(this.maxEntrySize)){throw new TypeError("maxEntrySize must be a positive integer if specified")}this.initializeSizeTracking()}this.allowStale=!!a||!!w;this.noDeleteOnStaleGet=!!f;this.updateAgeOnGet=!!n;this.updateAgeOnHas=!!i;this.ttlResolution=isPosInt(s)||s===0?s:1;this.ttlAutopurge=!!o;this.ttl=r||T||0;if(this.ttl){if(!isPosInt(this.ttl)){throw new TypeError("ttl must be a positive integer if specified")}this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0){throw new TypeError("At least one of max, maxSize, or ttl is required")}if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const e="LRU_CACHE_UNBOUNDED";if(shouldWarn(e)){no.add(e);const t="TTL caching without ttlAutopurge, max, or maxSize can "+"result in unbounded memory consumption.";emitWarning(t,"UnboundedCacheWarning",e,LRUCache)}}if(w){deprecatedOption("stale","allowStale")}if(T){deprecatedOption("maxAge","ttl")}if(Q){deprecatedOption("length","sizeCalculation")}}getRemainingTTL(e){return this.has(e,{updateAgeOnHas:false})?Infinity:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max);this.starts=new ZeroArray(this.max);this.setItemTTL=(e,t,r=$s.now())=>{this.starts[e]=t!==0?r:0;this.ttls[e]=t;if(t!==0&&this.ttlAutopurge){const r=setTimeout(()=>{if(this.isStale(e)){this.delete(this.keyList[e])}},t+1);if(r.unref){r.unref()}}};this.updateItemAge=e=>{this.starts[e]=this.ttls[e]!==0?$s.now():0};this.statusTTL=(t,r)=>{if(t){t.ttl=this.ttls[r];t.start=this.starts[r];t.now=e||getNow();t.remainingTTL=t.now+t.ttl-t.start}};let e=0;const getNow=()=>{const t=$s.now();if(this.ttlResolution>0){e=t;const r=setTimeout(()=>e=0,this.ttlResolution);if(r.unref){r.unref()}}return t};this.getRemainingTTL=t=>{const r=this.keyMap.get(t);if(r===undefined){return 0}return this.ttls[r]===0||this.starts[r]===0?Infinity:this.starts[r]+this.ttls[r]-(e||getNow())};this.isStale=t=>this.ttls[t]!==0&&this.starts[t]!==0&&(e||getNow())-this.starts[t]>this.ttls[t]}updateItemAge(e){}statusTTL(e,t){}setItemTTL(e,t,r){}isStale(e){return false}initializeSizeTracking(){this.calculatedSize=0;this.sizes=new ZeroArray(this.max);this.removeItemSize=e=>{this.calculatedSize-=this.sizes[e];this.sizes[e]=0};this.requireSize=(e,t,r,s)=>{if(this.isBackgroundFetch(t)){return 0}if(!isPosInt(r)){if(s){if(typeof s!=="function"){throw new TypeError("sizeCalculation must be a function")}r=s(t,e);if(!isPosInt(r)){throw new TypeError("sizeCalculation return invalid (expect positive integer)")}}else{throw new TypeError("invalid size value (must be positive integer). "+"When maxSize or maxEntrySize is used, sizeCalculation or size "+"must be set.")}}return r};this.addItemSize=(e,t,r)=>{this.sizes[e]=t;if(this.maxSize){const t=this.maxSize-this.sizes[e];while(this.calculatedSize>t){this.evict(true)}}this.calculatedSize+=this.sizes[e];if(r){r.entrySize=t;r.totalCalculatedSize=this.calculatedSize}}}removeItemSize(e){}addItemSize(e,t){}requireSize(e,t,r,s){if(r||s){throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}}*indexes({allowStale:e=this.allowStale}={}){if(this.size){for(let t=this.tail;true;){if(!this.isValidIndex(t)){break}if(e||!this.isStale(t)){yield t}if(t===this.head){break}else{t=this.prev[t]}}}}*rindexes({allowStale:e=this.allowStale}={}){if(this.size){for(let t=this.head;true;){if(!this.isValidIndex(t)){break}if(e||!this.isStale(t)){yield t}if(t===this.tail){break}else{t=this.next[t]}}}}isValidIndex(e){return e!==undefined&&this.keyMap.get(this.keyList[e])===e}*entries(){for(const e of this.indexes()){if(this.valList[e]!==undefined&&this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield[this.keyList[e],this.valList[e]]}}}*rentries(){for(const e of this.rindexes()){if(this.valList[e]!==undefined&&this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield[this.keyList[e],this.valList[e]]}}}*keys(){for(const e of this.indexes()){if(this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.keyList[e]}}}*rkeys(){for(const e of this.rindexes()){if(this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.keyList[e]}}}*values(){for(const e of this.indexes()){if(this.valList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.valList[e]}}}*rvalues(){for(const e of this.rindexes()){if(this.valList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.valList[e]}}}[Symbol.iterator](){return this.entries()}find(e,t){for(const r of this.indexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;if(e(o,this.keyList[r],this)){return this.get(this.keyList[r],t)}}}forEach(e,t=this){for(const r of this.indexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;e.call(t,o,this.keyList[r],this)}}rforEach(e,t=this){for(const r of this.rindexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;e.call(t,o,this.keyList[r],this)}}get prune(){deprecatedMethod("prune","purgeStale");return this.purgeStale}purgeStale(){let e=false;for(const t of this.rindexes({allowStale:true})){if(this.isStale(t)){this.delete(this.keyList[t]);e=true}}return e}dump(){const e=[];for(const t of this.indexes({allowStale:true})){const r=this.keyList[t];const s=this.valList[t];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;const n={value:o};if(this.ttls){n.ttl=this.ttls[t];const e=$s.now()-this.starts[t];n.start=Math.floor(Date.now()-e)}if(this.sizes){n.size=this.sizes[t]}e.unshift([r,n])}return e}load(e){this.clear();for(const[t,r]of e){if(r.start){const e=Date.now()-r.start;r.start=$s.now()-e}this.set(t,r.value,r)}}dispose(e,t,r){}set(e,t,{ttl:r=this.ttl,start:s,noDisposeOnSet:o=this.noDisposeOnSet,size:n=0,sizeCalculation:i=this.sizeCalculation,noUpdateTTL:a=this.noUpdateTTL,status:A}={}){n=this.requireSize(e,t,n,i);if(this.maxEntrySize&&n>this.maxEntrySize){if(A){A.set="miss";A.maxEntrySizeExceeded=true}this.delete(e);return this}let c=this.size===0?undefined:this.keyMap.get(e);if(c===undefined){c=this.newIndex();this.keyList[c]=e;this.valList[c]=t;this.keyMap.set(e,c);this.next[this.tail]=c;this.prev[c]=this.tail;this.tail=c;this.size++;this.addItemSize(c,n,A);if(A){A.set="add"}a=false}else{this.moveToTail(c);const r=this.valList[c];if(t!==r){if(this.isBackgroundFetch(r)){r.__abortController.abort(new Error("replaced"))}else{if(!o){this.dispose(r,e,"set");if(this.disposeAfter){this.disposed.push([r,e,"set"])}}}this.removeItemSize(c);this.valList[c]=t;this.addItemSize(c,n,A);if(A){A.set="replace";const e=r&&this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(e!==undefined)A.oldValue=e}}else if(A){A.set="update"}}if(r!==0&&this.ttl===0&&!this.ttls){this.initializeTTLTracking()}if(!a){this.setItemTTL(c,r,s)}this.statusTTL(A,c);if(this.disposeAfter){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return this}newIndex(){if(this.size===0){return this.tail}if(this.size===this.max&&this.max!==0){return this.evict(false)}if(this.free.length!==0){return this.free.pop()}return this.initialFill++}pop(){if(this.size){const e=this.valList[this.head];this.evict(true);return e}}evict(e){const t=this.head;const r=this.keyList[t];const s=this.valList[t];if(this.isBackgroundFetch(s)){s.__abortController.abort(new Error("evicted"))}else{this.dispose(s,r,"evict");if(this.disposeAfter){this.disposed.push([s,r,"evict"])}}this.removeItemSize(t);if(e){this.keyList[t]=null;this.valList[t]=null;this.free.push(t)}this.head=this.next[t];this.keyMap.delete(r);this.size--;return t}has(e,{updateAgeOnHas:t=this.updateAgeOnHas,status:r}={}){const s=this.keyMap.get(e);if(s!==undefined){if(!this.isStale(s)){if(t){this.updateItemAge(s)}if(r)r.has="hit";this.statusTTL(r,s);return true}else if(r){r.has="stale";this.statusTTL(r,s)}}else if(r){r.has="miss"}return false}peek(e,{allowStale:t=this.allowStale}={}){const r=this.keyMap.get(e);if(r!==undefined&&(t||!this.isStale(r))){const e=this.valList[r];return this.isBackgroundFetch(e)?e.__staleWhileFetching:e}}backgroundFetch(e,t,r,s){const o=t===undefined?undefined:this.valList[t];if(this.isBackgroundFetch(o)){return o}const n=new to;if(r.signal){r.signal.addEventListener("abort",()=>n.abort(r.signal.reason))}const i={signal:n.signal,options:r,context:s};const cb=(s,o=false)=>{const{aborted:A}=n.signal;const c=r.ignoreFetchAbort&&s!==undefined;if(r.status){if(A&&!o){r.status.fetchAborted=true;r.status.fetchError=n.signal.reason;if(c)r.status.fetchAbortIgnored=true}else{r.status.fetchResolved=true}}if(A&&!c&&!o){return fetchFail(n.signal.reason)}if(this.valList[t]===a){if(s===undefined){if(a.__staleWhileFetching){this.valList[t]=a.__staleWhileFetching}else{this.delete(e)}}else{if(r.status)r.status.fetchUpdated=true;this.set(e,s,i.options)}}return s};const eb=e=>{if(r.status){r.status.fetchRejected=true;r.status.fetchError=e}return fetchFail(e)};const fetchFail=s=>{const{aborted:o}=n.signal;const i=o&&r.allowStaleOnFetchAbort;const A=i||r.allowStaleOnFetchRejection;const c=A||r.noDeleteOnFetchRejection;if(this.valList[t]===a){const r=!c||a.__staleWhileFetching===undefined;if(r){this.delete(e)}else if(!i){this.valList[t]=a.__staleWhileFetching}}if(A){if(r.status&&a.__staleWhileFetching!==undefined){r.status.returnedStale=true}return a.__staleWhileFetching}else if(a.__returned===a){throw s}};const pcall=(t,s)=>{this.fetchMethod(e,o,i).then(e=>t(e),s);n.signal.addEventListener("abort",()=>{if(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort){t();if(r.allowStaleOnFetchAbort){t=e=>cb(e,true)}}})};if(r.status)r.status.fetchDispatched=true;const a=new Promise(pcall).then(cb,eb);a.__abortController=n;a.__staleWhileFetching=o;a.__returned=null;if(t===undefined){this.set(e,a,{...i.options,status:undefined});t=this.keyMap.get(e)}else{this.valList[t]=a}return a}isBackgroundFetch(e){return e&&typeof e==="object"&&typeof e.then==="function"&&Object.prototype.hasOwnProperty.call(e,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(e,"__returned")&&(e.__returned===e||e.__returned===null)}async fetch(e,{allowStale:t=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:n=this.noDisposeOnSet,size:i=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:A=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:l=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:u=this.allowStaleOnFetchAbort,fetchContext:p=this.fetchContext,forceRefresh:d=false,status:E,signal:h}={}){if(!this.fetchMethod){if(E)E.fetch="get";return this.get(e,{allowStale:t,updateAgeOnGet:r,noDeleteOnStaleGet:s,status:E})}const m={allowStale:t,updateAgeOnGet:r,noDeleteOnStaleGet:s,ttl:o,noDisposeOnSet:n,size:i,sizeCalculation:a,noUpdateTTL:A,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:l,allowStaleOnFetchAbort:u,ignoreFetchAbort:g,status:E,signal:h};let f=this.keyMap.get(e);if(f===undefined){if(E)E.fetch="miss";const t=this.backgroundFetch(e,f,m,p);return t.__returned=t}else{const s=this.valList[f];if(this.isBackgroundFetch(s)){const e=t&&s.__staleWhileFetching!==undefined;if(E){E.fetch="inflight";if(e)E.returnedStale=true}return e?s.__staleWhileFetching:s.__returned=s}const o=this.isStale(f);if(!d&&!o){if(E)E.fetch="hit";this.moveToTail(f);if(r){this.updateItemAge(f)}this.statusTTL(E,f);return s}const n=this.backgroundFetch(e,f,m,p);const i=n.__staleWhileFetching!==undefined;const a=i&&t;if(E){E.fetch=i&&o?"stale":"refresh";if(a&&o)E.returnedStale=true}return a?n.__staleWhileFetching:n.__returned=n}}get(e,{allowStale:t=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:o}={}){const n=this.keyMap.get(e);if(n!==undefined){const i=this.valList[n];const a=this.isBackgroundFetch(i);this.statusTTL(o,n);if(this.isStale(n)){if(o)o.get="stale";if(!a){if(!s){this.delete(e)}if(o)o.returnedStale=t;return t?i:undefined}else{if(o){o.returnedStale=t&&i.__staleWhileFetching!==undefined}return t?i.__staleWhileFetching:undefined}}else{if(o)o.get="hit";if(a){return i.__staleWhileFetching}this.moveToTail(n);if(r){this.updateItemAge(n)}return i}}else if(o){o.get="miss"}}connect(e,t){this.prev[t]=e;this.next[e]=t}moveToTail(e){if(e!==this.tail){if(e===this.head){this.head=this.next[e]}else{this.connect(this.prev[e],this.next[e])}this.connect(this.tail,e);this.tail=e}}get del(){deprecatedMethod("del","delete");return this.delete}delete(e){let t=false;if(this.size!==0){const r=this.keyMap.get(e);if(r!==undefined){t=true;if(this.size===1){this.clear()}else{this.removeItemSize(r);const t=this.valList[r];if(this.isBackgroundFetch(t)){t.__abortController.abort(new Error("deleted"))}else{this.dispose(t,e,"delete");if(this.disposeAfter){this.disposed.push([t,e,"delete"])}}this.keyMap.delete(e);this.keyList[r]=null;this.valList[r]=null;if(r===this.tail){this.tail=this.prev[r]}else if(r===this.head){this.head=this.next[r]}else{this.next[this.prev[r]]=this.next[r];this.prev[this.next[r]]=this.prev[r]}this.size--;this.free.push(r)}}}if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return t}clear(){for(const e of this.rindexes({allowStale:true})){const t=this.valList[e];if(this.isBackgroundFetch(t)){t.__abortController.abort(new Error("deleted"))}else{const r=this.keyList[e];this.dispose(t,r,"delete");if(this.disposeAfter){this.disposed.push([t,r,"delete"])}}}this.keyMap.clear();this.valList.fill(null);this.keyList.fill(null);if(this.ttls){this.ttls.fill(0);this.starts.fill(0)}if(this.sizes){this.sizes.fill(0)}this.head=0;this.tail=0;this.initialFill=1;this.free.length=0;this.calculatedSize=0;this.size=0;if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}}get reset(){deprecatedMethod("reset","clear");return this.clear}get length(){deprecatedProperty("length","size");return this.size}static get AbortController(){return to}static get AbortSignal(){return oo}}const io=LRUCache;var ao=__nccwpck_require__(319);var Ao=__nccwpck_require__(2830);var co={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function proxy_from_env_parseUrl(e){try{return new URL(e)}catch{return null}}function getProxyForUrl(e){var t=(typeof e==="string"?proxy_from_env_parseUrl(e):e)||{};var r=t.protocol;var s=t.host;var o=t.port;if(typeof s!=="string"||!s||typeof r!=="string"){return""}r=r.split(":",1)[0];s=s.replace(/:\d*$/,"");o=parseInt(o)||co[r]||0;if(!shouldProxy(s,o)){return""}var n=getEnv(r+"_proxy")||getEnv("all_proxy");if(n&&n.indexOf("://")===-1){n=r+"://"+n}return n}function shouldProxy(e,t){var r=getEnv("no_proxy").toLowerCase();if(!r){return true}if(r==="*"){return false}return r.split(/[,\s]/).every(function(r){if(!r){return true}var s=r.match(/^(.+):(\d+)$/);var o=s?s[1]:r;var n=s?parseInt(s[2]):0;if(n&&n!==t){return true}if(!/^[.*]/.test(o)){return e!==o}if(o.charAt(0)==="*"){o=o.slice(1)}return!e.endsWith(o)})}function getEnv(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}const lo=Ao("proxy-agent");const go={http:async()=>(await __nccwpck_require__.e(947).then(__nccwpck_require__.bind(__nccwpck_require__,8947))).HttpProxyAgent,https:async()=>(await __nccwpck_require__.e(566).then(__nccwpck_require__.bind(__nccwpck_require__,1566))).HttpsProxyAgent,socks:async()=>(await __nccwpck_require__.e(814).then(__nccwpck_require__.bind(__nccwpck_require__,5814))).SocksProxyAgent,pac:async()=>(await __nccwpck_require__.e(303).then(__nccwpck_require__.bind(__nccwpck_require__,2303))).PacProxyAgent};const uo={http:[go.http,go.https],https:[go.http,go.https],socks:[go.socks,go.socks],socks4:[go.socks,go.socks],socks4a:[go.socks,go.socks],socks5:[go.socks,go.socks],socks5h:[go.socks,go.socks],"pac+data":[go.pac,go.pac],"pac+file":[go.pac,go.pac],"pac+ftp":[go.pac,go.pac],"pac+http":[go.pac,go.pac],"pac+https":[go.pac,go.pac]};function isValidProtocol(e){return Object.keys(uo).includes(e)}class dist_ProxyAgent extends ao.g6{constructor(e){super(e);this.cache=new io({max:20,dispose:e=>e.destroy()});lo("Creating new ProxyAgent instance: %o",e);this.connectOpts=e;this.httpAgent=e?.httpAgent||new n.Agent(e);this.httpsAgent=e?.httpsAgent||new i.Agent(e);this.getProxyForUrl=e?.getProxyForUrl||getProxyForUrl}async connect(e,t){const{secureEndpoint:r}=t;const s=e.getHeader("upgrade")==="websocket";const o=r?s?"wss:":"https:":s?"ws:":"http:";const n=e.getHeader("host");const i=new Xs.URL(e.path,`${o}//${n}`).href;const a=await this.getProxyForUrl(i,e);if(!a){lo("Proxy not enabled for URL: %o",i);return r?this.httpsAgent:this.httpAgent}lo("Request URL: %o",i);lo("Proxy URL: %o",a);const A=`${o}+${a}`;let c=this.cache.get(A);if(!c){const e=new Xs.URL(a);const t=e.protocol.replace(":","");if(!isValidProtocol(t)){throw new Error(`Unsupported protocol for proxy URL: ${a}`)}const o=await uo[t][r||s?1:0]();c=new o(a,this.connectOpts);this.cache.set(A,c)}else{lo("Cache hit for proxy URL: %o",a)}return c}destroy(){for(const e of this.cache.values()){e.destroy()}super.destroy()}}const po=it.defaults({headers:{"X-Github-Next-Global-ID":1},request:{agent:new dist_ProxyAgent},userAgent:"github-actions-allow-list-as-code"}).plugin(enterpriseCloud,enterpriseServer315Admin);class ActionPolicy{constructor({token:e,enterprise:t,organization:r,allowListPath:s,ghApiUrl:o}){if(!e){throw new Error("❗ `token` is required")}this.octokit=new po(getOctokitOptions(e,{baseUrl:o,request:{agent:new dist_ProxyAgent}}));if(!t&&!r){throw new Error("❗ `enterprise` or `organization` is required")}this.enterprise=t;this.organization=r;if(!s){throw new Error("❗ `allowListPath` is required")}this.allowListPath=s;this.allowList=undefined;this.policy=undefined}async loadCurrentEnterpriseActionsPolicy(){const{enterprise:e,octokit:t}=this;try{const{data:{allowed_actions:r,enabled_organizations:s}}=await t.request("GET /enterprises/{enterprise}/actions/permissions",{enterprise:e});if(s==="none"){throw new Error(`❗ GitHub Actions disabled`)}const o=r;this.policy={actions:o};if(o==="selected"){const{data:r}=await t.request("GET /enterprises/{enterprise}/actions/permissions/selected-actions",{enterprise:e});this.policy.selected=r}else{throw new Error('❗ GitHub Actions allow list automation is only possible with "Allow select actions" selected!')}}catch(t){if(t.status===404)throw new Error(`${e} is not a GitHub Enterprise Cloud account`);else throw t}}async updateEnterpriseActionsAllowList(){const{enterprise:e,octokit:t,policy:{actions:r,selected:s},allowList:o}=this;if(r==="selected"&&s.patterns_allowed){try{const{status:r}=await t.request("PUT /enterprises/{enterprise}/actions/permissions/selected-actions",{enterprise:e,patterns_allowed:o});if(r!==204){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}catch(e){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}s.patterns_allowed=o;return true}async loadCurrentOrganizationActionsPolicy(){const{organization:e,octokit:t}=this;try{const{data:{allowed_actions:r}}=await t.request("GET /orgs/{org}/actions/permissions",{org:e});const s=r;if(s===undefined){throw new Error(`❗ GitHub Actions disabled`)}this.policy={organization:e,actions:s};if(s==="selected"){const{data:r}=await t.request("GET /orgs/{org}/actions/permissions/selected-actions",{org:e});this.policy.selected=r}else{throw new Error('❗ GitHub Actions allow list automation is only possible with "Allow select actions" selected!')}}catch(t){if(t.status===404)throw new Error(`${e} is not a GitHub organization account`);else throw t}}async updateOrganizationActionsAllowList(){const{organization:e,octokit:t,policy:{actions:r,selected:s},allowList:o}=this;if(r==="selected"&&s.patterns_allowed){try{const{status:r}=await t.request("PUT /orgs/{org}/actions/permissions/selected-actions",{org:e,patterns_allowed:o});if(r!==204){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}catch(e){throw new Error(e.errors||`❗ Failed to update GitHub Actions allow list!`)}}s.patterns_allowed=o;return true}getPolicy(){return this.policy}async loadAllowListYAML(){const e=(0,o.readFileSync)(this.allowListPath,"utf8");const{actions:t}=load(e,{json:true});this.allowList=[...new Set(t)];return t}}const Eo=ActionPolicy;(async()=>{try{const t=getInput("token",{required:true});const r=getInput("enterprise",{required:false})||null;const s=getInput("organization",{required:false})||null;const o=getInput("gh_api_url",{required:false})||"https://api.github.com";if(r&&s){throw new Error("❗ Please provide only one of: enterprise, organization")}const n=getInput("allow_list_path");const i=process.env.GITHUB_WORKSPACE;if(!i){throw new Error("❗ GITHUB_WORKSPACE environment variable is not set")}const a=(0,e.join)(i,n);const{dir:A}=(0,e.parse)(a);if(A.indexOf(i)<0){throw new Error(`❗ ${n} is not an allowed path`)}const c=new Eo({token:t,enterprise:r,organization:s,allowListPath:a,ghApiUrl:o});if(r)await c.loadCurrentEnterpriseActionsPolicy();if(s)await c.loadCurrentOrganizationActionsPolicy();info(`✅ Loaded Existing GitHub Actions allow list for ${r||s}`);await c.loadAllowListYAML();info(`✅ Loaded updated allow list from file ${a}`);if(r)await c.updateEnterpriseActionsAllowList();if(s)await c.updateOrganizationActionsAllowList();info(`✅ Updated GitHub Actions allow list for ${r||s}`);setOutput("output",`GitHub Actions allow list updated for ${r||s}`)}catch(e){if(isDebug()){console.error(e.stack)}info(`❗ GitHub Actions allow list update failed with error: ${e.message}`);setFailed(e.message)}})()})();module.exports=__webpack_exports__})(); +var kt=Symbol("NOT_RESOLVED");var St=Symbol("MERGE_KEY");function defineScalarTag(e,t){return{tagName:e,nodeKind:"scalar",implicit:t.implicit??false,matchByTagPrefix:t.matchByTagPrefix??false,implicitFirstChars:t.implicitFirstChars??null,resolve:t.resolve,identify:t.identify??null,represent:t.represent??(e=>String(e)),representTagName:t.representTagName??null}}function defineSequenceTag(e,t){const r=t.finalize===void 0;return{tagName:e,nodeKind:"sequence",implicit:false,matchByTagPrefix:t.matchByTagPrefix??false,create:t.create,addItem:t.addItem,finalize:t.finalize??(e=>e),carrierIsResult:r,identify:t.identify??null,represent:t.represent??(e=>e),representTagName:t.representTagName??null}}function defineMappingTag(e,t){const r=t.finalize===void 0;return{tagName:e,nodeKind:"mapping",implicit:false,matchByTagPrefix:t.matchByTagPrefix??false,create:t.create,addPair:t.addPair,has:t.has,keys:t.keys,get:t.get,finalize:t.finalize??(e=>e),carrierIsResult:r,identify:t.identify??null,represent:t.represent??(e=>e),representTagName:t.representTagName??null}}var _t=defineScalarTag("tag:yaml.org,2002:str",{resolve:e=>e,identify:e=>typeof e==="string"});var Rt=["","~","null","Null","NULL"];var vt=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["","~","n","N"],resolve:e=>{if(Rt.indexOf(e)!==-1)return null;return kt},identify:e=>e===null,represent:()=>"null"});var Ft=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["n"],resolve:(e,t)=>{if(e==="null"||t&&e==="")return null;return kt},identify:e=>e===null,represent:()=>"null"});var Dt=["","~","null","Null","NULL"];var Gt=defineScalarTag("tag:yaml.org,2002:null",{implicit:true,implicitFirstChars:["","~","n","N"],resolve:e=>{if(Dt.indexOf(e)!==-1)return null;return kt},identify:e=>e===null,represent:()=>"null"});var Pt=["true","True","TRUE"];var Ut=["false","False","FALSE"];var Lt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["t","T","f","F"],resolve:e=>{if(Pt.indexOf(e)!==-1)return true;if(Ut.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Ot=["true"];var Mt=["false"];var Nt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["t","f"],resolve:e=>{if(Ot.indexOf(e)!==-1)return true;if(Mt.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Ht=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"];var xt=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"];var Vt=defineScalarTag("tag:yaml.org,2002:bool",{implicit:true,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:e=>{if(Ht.indexOf(e)!==-1)return true;if(xt.indexOf(e)!==-1)return false;return kt},identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"});var Yt=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$");var Jt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function parseYamlInteger$2(e){let t=e;let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0o"))return r*parseInt(t.slice(2),8);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);return r*parseInt(t,10)}function resolveYamlInteger$2(e,t){if(t){if(!Jt.test(e))return kt}else if(!Yt.test(e))return kt;const r=parseYamlInteger$2(e);return Number.isFinite(r)?r:kt}var Wt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-","+",..."0123456789"],resolve:resolveYamlInteger$2,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var qt=new RegExp("^-?(?:0|[1-9][0-9]*)$");var jt=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function parseYamlInteger$1(e){let t=e;let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0o"))return r*parseInt(t.slice(2),8);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);return r*parseInt(t,10)}function resolveYamlInteger$1(e,t){if(t){if(!jt.test(e))return kt}else if(!qt.test(e))return kt;const r=parseYamlInteger$1(e);return Number.isFinite(r)?r:kt}var zt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-",..."0123456789"],resolve:resolveYamlInteger$1,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var Kt=new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$");function parseYamlInteger(e){let t=e.replace(/_/g,"");let r=1;if(t[0]==="-"||t[0]==="+"){if(t[0]==="-")r=-1;t=t.slice(1)}if(t.startsWith("0b"))return r*parseInt(t.slice(2),2);if(t.startsWith("0x"))return r*parseInt(t.slice(2),16);if(t.includes(":")){let e=0;for(const r of t.split(":"))e=e*60+Number(r);return r*e}if(t!=="0"&&t[0]==="0")return r*parseInt(t,8);return r*parseInt(t,10)}function resolveYamlInteger(e){if(!Kt.test(e))return kt;const t=parseYamlInteger(e);return Number.isFinite(t)?t:kt}var Zt=defineScalarTag("tag:yaml.org,2002:int",{implicit:true,implicitFirstChars:["-","+",..."0123456789"],resolve:resolveYamlInteger,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)});var Xt=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var $t=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat$2(e){if(!Xt.test(e))return kt;let t=e.toLowerCase();const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;const s=r*parseFloat(t);if(Number.isFinite(s)||$t.test(e))return s;return kt}function representYamlFloat$2(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var er=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-","+",".",..."0123456789"],resolve:resolveYamlFloat$2,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat$2});var rr=new RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$");var sr=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat$1(e,t){if(t){if(!sr.test(e))return kt;let t=e.toLowerCase();const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;const s=r*parseFloat(t);return Number.isFinite(s)?s:kt}if(!rr.test(e))return kt;const r=Number(e);if(Number.isFinite(r))return r;return kt}function representYamlFloat$1(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var or=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-",..."0123456789"],resolve:resolveYamlFloat$1,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat$1});var nr=new RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var ir=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(e){if(!nr.test(e))return kt;let t=e.toLowerCase().replace(/_/g,"");const r=t[0]==="-"?-1:1;if("+-".includes(t[0]))t=t.slice(1);if(t===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(t===".nan")return NaN;let s=0;if(t.includes(":")){for(const e of t.split(":"))s=s*60+Number(e);s*=r}else s=r*parseFloat(t);if(Number.isFinite(s)||ir.test(e))return s;return kt}function representYamlFloat(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const t=e.toString(10);return/^[-+]?[0-9]+e/.test(t)?t.replace("e",".e"):t}var ar=defineScalarTag("tag:yaml.org,2002:float",{implicit:true,implicitFirstChars:["-","+",".",..."0123456789"],resolve:resolveYamlFloat,identify:e=>typeof e==="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:representYamlFloat});var Ar=defineScalarTag("tag:yaml.org,2002:merge",{implicit:true,implicitFirstChars:["<"],resolve:(e,t)=>{if(e==="<<"||t&&e==="")return St;return kt}});var cr=/^[A-Za-z0-9+/]*={0,2}$/;function resolveYamlBinary(e){const t=e.replace(/\s/g,"");if(t.length%4!==0||!cr.test(t))return kt;const r=atob(t);const s=new Uint8Array(r.length);for(let e=0;eObject.prototype.toString.call(e)==="[object Uint8Array]",represent:representYamlBinary});var gr=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$");var ur=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 makeUtcDate(e,t,r,s=0,o=0,n=0,i=0){const a=new Date(Date.UTC(e,t,r,s,o,n,i));a.setUTCFullYear(e,t,r);return a}function resolveYamlTimestamp(e){let t=gr.exec(e);if(t===null)t=ur.exec(e);if(t===null)return kt;const r=+t[1];const s=+t[2]-1;const o=+t[3];if(!t[4]){const e=makeUtcDate(r,s,o);if(e.getUTCFullYear()!==r||e.getUTCMonth()!==s||e.getUTCDate()!==o)return kt;return e}const n=+t[4];const i=+t[5];const a=+t[6];let A=0;if(n>23||i>59||a>59)return kt;if(t[7]){let e=t[7].slice(0,3);while(e.length<3)e+="0";A=+e}const c=makeUtcDate(r,s,o,n,i,a,A);if(c.getUTCFullYear()!==r||c.getUTCMonth()!==s||c.getUTCDate()!==o)return kt;if(t[9]){const e=+t[10];const r=+(t[11]||0);if(e>23||r>59)return kt;const s=(e*60+r)*6e4;c.setTime(c.getTime()-(t[9]==="-"?-s:s))}return c}var pr=defineScalarTag("tag:yaml.org,2002:timestamp",{implicit:true,implicitFirstChars:[..."0123456789"],resolve:resolveYamlTimestamp,identify:e=>e instanceof Date,represent:e=>e.toISOString()});var dr=defineSequenceTag("tag:yaml.org,2002:seq",{create:()=>[],addItem:(e,t)=>{e.push(t)},identify:Array.isArray});function js_yaml_isPlainObject(e){if(e===null||typeof e!=="object"||Array.isArray(e))return false;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function pick(e,t){const r={};for(const s of t)if(e[s]!==void 0)r[s]=e[s];return r}var Er=defineSequenceTag("tag:yaml.org,2002:omap",{create:()=>({list:[],seen:new Set}),addItem:(e,t)=>{let r;if(t instanceof Map){if(t.size!==1)return"cannot resolve an ordered map item";r=t.keys().next().value}else if(js_yaml_isPlainObject(t)){const e=Object.keys(t);if(e.length!==1)return"cannot resolve an ordered map item";r=e[0]}else return"cannot resolve an ordered map item";if(e.seen.has(r))return"duplicate key in ordered map";e.seen.add(r);e.list.push(t);return""},finalize:e=>e.list});var hr=defineSequenceTag("tag:yaml.org,2002:pairs",{create:()=>[],addItem:(e,t)=>{if(t instanceof Map){if(t.size!==1)return"cannot resolve a pairs item";e.push(t.entries().next().value);return""}if(Object.prototype.toString.call(t)!=="[object Object]")return"cannot resolve a pairs item";const r=t;const s=Object.keys(r);if(s.length!==1)return"cannot resolve a pairs item";e.push([s[0],r[s[0]]]);return""}});var mr=defineMappingTag("tag:yaml.org,2002:map",{create:()=>({}),identify:js_yaml_isPlainObject,represent:e=>{const t=new Map;for(const r of Object.keys(e))t.set(r,e[r]);return t},addPair:(e,t,r)=>{if(t!==null&&typeof t==="object")return"object-based map does not support complex keys";const s=String(t);if(s==="__proto__")Object.defineProperty(e,s,{value:r,enumerable:true,configurable:true,writable:true});else e[s]=r;return""},has:(e,t)=>{if(t!==null&&typeof t==="object")return false;return Object.prototype.hasOwnProperty.call(e,String(t))},keys:e=>Object.keys(e),get:(e,t)=>{const r=String(t);if(!Object.prototype.hasOwnProperty.call(e,r))return null;return e[r]}});var fr=defineMappingTag("tag:yaml.org,2002:set",{create:()=>new Set,identify:e=>e instanceof Set,represent:e=>{const t=new Map;for(const r of e)t.set(r,null);return t},addPair:(e,t,r)=>{if(r!==null)return"cannot resolve a set item";e.add(t);return""},has:(e,t)=>e.has(t),keys:e=>e.keys(),get:()=>null});function createTagDefinitionMap(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function createTagDefinitionListMap(){return{scalar:[],sequence:[],mapping:[]}}function compileTags(e){const t=[];for(const r of e){let e=t.length;for(let s=0;se.implicitFirstChars===null);const i=new Set;for(const e of r)if(e.implicitFirstChars!==null)for(const t of e.implicitFirstChars)i.add(t);const a=new Map;for(const e of i)a.set(e,r.filter(t=>t.implicitFirstChars===null||t.implicitFirstChars.indexOf(e)!==-1));const A=s.scalar["tag:yaml.org,2002:str"];if(!A)throw new Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)");this.tags=t;this.implicitScalarTags=r;this.implicitScalarByFirstChar=a;this.implicitScalarAnyFirstChar=n;this.defaultScalarTag=A;this.defaultSequenceTag=s.sequence["tag:yaml.org,2002:seq"];this.defaultMappingTag=s.mapping["tag:yaml.org,2002:map"];this.exact=s;this.prefix=o}withTags(...e){let t=[];for(const r of e)t=t.concat(r);return new Schema([...this.tags,...t])}};var Ir=new Cr([_t,dr,mr]);var Br=new Cr([...Ir.tags,Ft,Nt,zt,or]);var Qr=new Cr([...Ir.tags,vt,Lt,Wt,er]);var Tr=new Cr([...Ir.tags,Gt,Vt,Zt,ar,pr,Ar,lr,Er,hr,fr]);var wr=defineMappingTag("tag:yaml.org,2002:map",{create:()=>new Map,addPair:(e,t,r)=>{e.set(t,r);return""},has:(e,t)=>e.has(t),keys:e=>e.keys(),get:(e,t)=>e.get(t),identify:e=>e instanceof Map||js_yaml_isPlainObject(e),represent:e=>{if(e instanceof Map)return e;const t=new Map;const r=e;for(const e of Object.keys(r))t.set(e,r[e]);return t}});function normalizeKey(e){if(Array.isArray(e)){const t=Array.prototype.slice.call(e);for(let e=0;e({}),identify:js_yaml_isPlainObject,represent:e=>{const t=new Map;for(const r of Object.keys(e))t.set(r,e[r]);return t},addPair:(e,t,r)=>{const s=normalizeKey(t);if(s===null)return"nested arrays are not supported inside keys";if(s==="__proto__")Object.defineProperty(e,s,{value:r,enumerable:true,configurable:true,writable:true});else e[s]=r;return""},has:(e,t)=>{const r=normalizeKey(t);return r!==null&&Object.prototype.hasOwnProperty.call(e,r)},keys:e=>Object.keys(e),get:(e,t)=>{const r=String(t);if(!Object.prototype.hasOwnProperty.call(e,r))return null;return e[r]}});var br={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function getLine(e,t,r,s,o){let n="";let i="";const a=Math.floor(o/2)-1;if(s-t>a){n=" ... ";t=s-a+n.length}if(r-s>a){i=" ...";r=s+a-i.length}return{str:n+e.slice(t,r).replace(/\t/g,"→")+i,pos:s-t+n.length}}function padStart(e,t){return" ".repeat(Math.max(t-e.length,0))+e}function makeSnippet(e,t){if(!e.buffer)return null;const r={...br,...t};const s=/\r?\n|\r|\0/g;const o=[0];const n=[];let i;let a=-1;while(i=s.exec(e.buffer)){n.push(i.index);o.push(i.index+i[0].length);if(e.position<=i.index&&a<0)a=o.length-2}if(a<0)a=o.length-1;let A="";const c=Math.min(e.line+r.linesAfter,n.length).toString().length;const l=r.maxLength-(r.indent+c+3);for(let t=1;t<=r.linesBefore;t++){if(a-t<0)break;const s=getLine(e.buffer,o[a-t],n[a-t],e.position-(o[a]-o[a-t]),l);A=`${" ".repeat(r.indent)}${padStart((e.line-t+1).toString(),c)} | ${s.str}\n${A}`}const g=getLine(e.buffer,o[a],n[a],e.position,l);A+=`${" ".repeat(r.indent)}${padStart((e.line+1).toString(),c)} | ${g.str}\n`;A+=`${"-".repeat(r.indent+c+3+g.pos)}^\n`;for(let t=1;t<=r.linesAfter;t++){if(a+t>=n.length)break;const s=getLine(e.buffer,o[a+t],n[a+t],e.position-(o[a]-o[a+t]),l);A+=`${" ".repeat(r.indent)}${padStart((e.line+t+1).toString(),c)} | ${s.str}\n`}return A.replace(/\n$/,"")}function formatError(e,t){let r="";if(!e.mark)return e.reason;if(e.mark.name)r+=`in "${e.mark.name}" `;r+=`(${e.mark.line+1}:${e.mark.column+1})`;if(!t&&e.mark.snippet)r+=`\n\n${e.mark.snippet}`;return`${e.reason} ${r}`}var kr=class extends Error{reason;mark;constructor(e,t){super();this.name="YAMLException";this.reason=e;this.mark=t;this.message=formatError(this,false);if(Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toString(e){return`${this.name}: ${formatError(this,e)}`}};function throwErrorAt(e,t,r,s=""){let o=0;let n=0;for(let r=0;r>10)+55296,(e-65536&1023)+56320)}function fromHexCode$1(e){if(e>=48&&e<=57)return e-48;return(e|32)-97+10}function escapedHexLen$1(e){if(e===120)return 2;if(e===117)return 4;return 8}function skipFoldedBreaks(e,t,r){let s=0;while(t0;r--){o++;const t=fromHexCode$1(e.charCodeAt(o));n=(n<<4)+t}s+=charFromCodepoint(n);o++}n=i=o}else if(t===10||t===13){s+=e.slice(n,i);const t=skipFoldedBreaks(e,o,r);s+=foldedBreaks(t.breaks);o=n=i=t.position}else{o++;if(t!==32&&t!==9)i=o}}return s+e.slice(n,r)}function getBlockValue(e,t,r,s,o,n){const i=s<0?0:s;const a=e.slice(t,r).replace(/\r\n?/g,"\n");const A=a===""?[]:(a.endsWith("\n")?a.slice(0,-1):a).split("\n");let c="";let l=false;let g=0;let u=false;for(const e of A){let t=0;while(t=e.length){g++;continue}const r=e.slice(i);const o=r.charCodeAt(0);if(n)if(o===32||o===9){u=true;c+="\n".repeat(l?1+g:g)}else if(u){u=false;c+="\n".repeat(g+1)}else if(g===0){if(l)c+=" "}else c+="\n".repeat(g);else c+="\n".repeat(l?1+g:g);c+=r;l=true;g=0}if(o===3)c+="\n".repeat(l?1+g:g);else if(o!==2){if(l)c+="\n"}return c}function getScalarValue(e,t){if(t.valueStart===Yr)return"";const{valueStart:r,valueEnd:s}=t;if(t.fast)return e.slice(r,s);switch(t.style){case 2:return getSingleQuotedValue(e,r,s);case 3:return getDoubleQuotedValue(e,r,s);case 4:return getBlockValue(e,r,s,t.indent,t.chomping,false);case 5:return getBlockValue(e,r,s,t.indent,t.chomping,true);default:return getPlainValue(e,r,s)}}var qr=Object.assign(Object.create(null),{"!":"!","!!":"tag:yaml.org,2002:"});function tagPercentEncode(e){return encodeURI(e).replace(/!/g,"%21")}function tagNameFull(e,t){if(e.startsWith("!<")&&e.endsWith(">"))return decodeURIComponent(e.slice(2,-1));const r=e.indexOf("!",1);const s=r===-1?"!":e.slice(0,r+1);const o=t?.[s]??qr[s]??s;return decodeURIComponent(o)+decodeURIComponent(e.slice(s.length))}function tagNameShort(e){let t=e;if(t.charCodeAt(0)===33){t=t.slice(1);return`!${tagPercentEncode(t)}`}if(t.slice(0,18)==="tag:yaml.org,2002:")return`!!${tagPercentEncode(t.slice(18))}`;return`!<${tagPercentEncode(t)}>`}var jr=-1;var zr={filename:"",schema:Qr,json:false,maxTotalMergeKeys:1e4,maxAliases:-1};function eventPosition$1(e){if("tagStart"in e&&e.tagStart!==jr)return e.tagStart;if("anchorStart"in e&&e.anchorStart!==jr)return e.anchorStart;if("valueStart"in e&&e.valueStart!==jr)return e.valueStart;if("start"in e)return e.start;return 0}function throwError$1(e,t){throwErrorAt(e.source,e.position,t,e.filename)}function finalizeCollection(e,t,r,s){try{return r.finalize(s)}catch(r){if(r instanceof kr)throw r;throwErrorAt(e.source,t,r instanceof Error?r.message:String(r),e.filename)}}function lookupTag(e,t,r){const s=e[r];if(s)return s;for(const e of t)if(r.startsWith(e.tagName))return e}function findExplicitTag(e,t,r,s,o){const n=lookupTag(t,r,s);if(n)return n;throwError$1(e,`unknown ${o} tag !<${s}>`)}function constructScalar(e,t){const r=getScalarValue(e.source,t);const s=t.tagStart===jr?"":e.source.slice(t.tagStart,t.tagEnd);const o=e.schema.defaultScalarTag;if(s!==""){if(s==="!")return{value:r,tag:o};const t=tagNameFull(s,e.tagHandlers);const n=lookupTag(e.schema.exact.scalar,e.schema.prefix.scalar,t);if(n){const s=n.resolve(r,true,t);if(s===kt)throwError$1(e,`cannot resolve a node with !<${t}> explicit tag`);return{value:s,tag:n}}const i=lookupTag(e.schema.exact.mapping,e.schema.prefix.mapping,t)??lookupTag(e.schema.exact.sequence,e.schema.prefix.sequence,t);if(i){if(r!=="")throwError$1(e,`cannot resolve a node with !<${t}> explicit tag`);const s=i.create(t);return{value:i.carrierIsResult?s:finalizeCollection(e,e.position,i,s),tag:i}}throwError$1(e,`unknown scalar tag !<${t}>`)}if(t.style===1){const t=e.schema.implicitScalarByFirstChar.get(r.charAt(0))??e.schema.implicitScalarAnyFirstChar;for(const e of t){const t=e.resolve(r,false,e.tagName);if(t!==kt)return{value:t,tag:e}}}return{value:o.resolve(r,false,o.tagName),tag:o}}function collectionTag(e,t,r,s,o,n){const i=t.tagStart===jr?"":e.source.slice(t.tagStart,t.tagEnd);const a=i===""||i==="!"?o:tagNameFull(i,e.tagHandlers);return{tagName:a,tag:findExplicitTag(e,r,s,a,n)}}function isMappingTag(e){return e.nodeKind==="mapping"}function mergeKeys(e,t,r,s){for(const o of s.keys(r)){if(e.maxTotalMergeKeys!==-1&&++e.totalMergeKeys>e.maxTotalMergeKeys)throwError$1(e,`merge keys exceeded maxTotalMergeKeys (${e.maxTotalMergeKeys})`);if(t.tag.has(t.value,o))continue;const n=t.tag.addPair(t.value,o,s.get(r,o));if(n)throwError$1(e,n);(t.overridable??=new Set).add(o)}}function mergeSource(e,t,r,s){e.position=t.keyPosition;if(isMappingTag(s))mergeKeys(e,t,r,s);else if(s.nodeKind==="sequence"&&Array.isArray(r))for(const s of r)mergeKeys(e,t,s,t.tag);else throwError$1(e,"cannot merge mappings; the provided source object is unacceptable")}function addMappingValue(e,t,r,s,o){e.position=t.keyPosition;if(r===St){mergeSource(e,t,s,o);return}if(!e.json&&t.tag.has(t.value,r)&&!t.overridable?.has(r))throwError$1(e,"duplicated mapping key");const n=t.tag.addPair(t.value,r,s);if(n)throwError$1(e,n);t.overridable?.delete(r)}function addValue(e,t,r){const s=e.frames[e.frames.length-1];if(s.kind==="document"){s.value=t;s.hasValue=true}else if(s.kind==="sequence"){if(s.merge){if(!isMappingTag(r))throwError$1(e,"cannot merge mappings; the provided source object is unacceptable")}const o=s.tag.addItem(s.value,t,s.index++);if(o)throwError$1(e,o)}else if(s.hasKey){const o=s.key;s.key=void 0;s.hasKey=false;addMappingValue(e,s,o,t,r)}else{s.key=t;s.keyPosition=e.position;s.hasKey=true}}function storeAnchor(e,t,r,s,o){if(t.anchorStart!==jr){const n={value:r,tag:s,isValueFinal:o};e.anchors.set(e.source.slice(t.anchorStart,t.anchorEnd),n);return n}return null}function constructFromEvents(e,t){const r={...zr,...t,events:e,documents:[],eventIndex:0,position:0,frames:[],anchors:new Map,tagHandlers:Object.create(null),totalMergeKeys:0,aliasCount:0};while(r.eventIndexr.maxAliases)throwError$1(r,`aliases exceeded maxAliases (${r.maxAliases})`);const t=r.source.slice(e.anchorStart,e.anchorEnd);const s=r.anchors.get(t);if(!s)throwError$1(r,`unidentified alias "${t}"`);if(!s.isValueFinal)throwError$1(r,`recursive alias "${t}" is not supported for tag ${s.tag.tagName} because it uses finalize()`);addValue(r,s.value,s.tag);break}case 6:{const e=r.frames.pop();if(e.kind==="mapping"&&e.hasKey){r.position=e.keyPosition;throwError$1(r,"incomplete mapping pair in event stream")}if(e.kind==="document")r.documents.push(e.value);else{const t=e.tag.carrierIsResult?e.value:finalizeCollection(r,e.position,e.tag,e.value);if(e.anchor){e.anchor.value=t;e.anchor.isValueFinal=true}addValue(r,t,e.tag)}break}}}return r.documents}var Kr=-1;var Zr=Object.prototype.hasOwnProperty;var Xr=1;var $r=2;var es=3;var ts=4;var rs=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var ss=/[,\[\]{}]/;var os=/^(?:!|!!|![0-9A-Za-z-]+!)$/;var ns=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$,_.!~*'()\[\]])`;var is=String.raw`(?:%[0-9A-Fa-f]{2}|[0-9A-Za-z\-#;/?:@&=+$.~*'()_])`;var as=new RegExp(`^(?:${ns})*$`);var As=new RegExp(`^(?:${is})+$`);var cs=new RegExp(`^(?:!(?:${ns})*|${is}(?:${ns})*)$`);var ls={filename:"",maxDepth:100};function addDocumentEvent(e,t,r){e.events.push({type:1,explicitStart:t,explicitEnd:r,directives:e.directives})}function addSequenceEvent(e,t,r,s,o,n,i){e.events.push({type:2,start:t,anchorStart:r,anchorEnd:s,tagStart:o,tagEnd:n,style:i})}function addMappingEvent(e,t,r,s,o,n,i){e.events.push({type:3,start:t,anchorStart:r,anchorEnd:s,tagStart:o,tagEnd:n,style:i})}function insertFlowPairMappingEvent(e,t){e.events.splice(t.eventsLength,0,{type:3,start:t.position,anchorStart:Kr,anchorEnd:Kr,tagStart:Kr,tagEnd:Kr,style:2})}function addScalarEvent(e,t,r,s,o,n,i,a,A=1,c=-1,l=false){e.events.push({type:4,valueStart:t,valueEnd:r,anchorStart:s,anchorEnd:o,tagStart:n,tagEnd:i,style:a,chomping:A,indent:c,fast:l})}function addAliasEvent(e,t,r){e.events.push({type:5,anchorStart:t,anchorEnd:r})}function addPopEvent(e){e.events.push({type:6})}function addEmptyScalarEvent(e){addScalarEvent(e,Kr,Kr,Kr,Kr,Kr,Kr,1)}function emptyProperties(){return{anchorStart:Kr,anchorEnd:Kr,tagStart:Kr,tagEnd:Kr}}function snapshotState(e){return{position:e.position,line:e.line,lineStart:e.lineStart,lineIndent:e.lineIndent,firstTabInLine:e.firstTabInLine,eventsLength:e.events.length}}function restoreState(e,t){e.position=t.position;e.line=t.line;e.lineStart=t.lineStart;e.lineIndent=t.lineIndent;e.firstTabInLine=t.firstTabInLine;e.events.length=t.eventsLength}function throwError(e,t){throwErrorAt(e.input.slice(0,e.length),e.position,t,e.filename)}function isEol(e){return e===10||e===13}function isWhiteSpace(e){return e===9||e===32}function isWsOrEol(e){return isWhiteSpace(e)||isEol(e)}function isWsOrEolOrEnd(e){return e===0||isWsOrEol(e)}function isFlowIndicator(e){return e===44||e===91||e===93||e===123||e===125}function fromDecimalCode(e){return e>=48&&e<=57?e-48:-1}function fromHexCode(e){if(e>=48&&e<=57)return e-48;const t=e|32;if(t>=97&&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 isSimpleEscape(e){return e===48||e===97||e===98||e===116||e===9||e===110||e===118||e===102||e===114||e===101||e===32||e===34||e===47||e===92||e===78||e===95||e===76||e===80}function consumeLineBreak(e){if(e.input.charCodeAt(e.position)===10)e.position++;else{e.position++;if(e.input.charCodeAt(e.position)===10)e.position++}e.line++;e.lineStart=e.position;e.lineIndent=0;e.firstTabInLine=-1}function skipSeparationSpace(e,t){let r=0;let s=e.input.charCodeAt(e.position);let o=e.position===e.lineStart||isWsOrEol(e.input.charCodeAt(e.position-1));while(s!==0){while(isWhiteSpace(s)){o=true;if(s===9&&e.firstTabInLine===-1)e.firstTabInLine=e.position;s=e.input.charCodeAt(++e.position)}if(t&&o&&s===35)do{s=e.input.charCodeAt(++e.position)}while(!isEol(s)&&s!==0);if(!isEol(s))break;consumeLineBreak(e);r++;o=true;s=e.input.charCodeAt(e.position);while(s===32){e.lineIndent++;s=e.input.charCodeAt(++e.position)}}return r}function testDocumentSeparator(e,t=e.position){const r=e.input.charCodeAt(t);if((r===45||r===46)&&r===e.input.charCodeAt(t+1)&&r===e.input.charCodeAt(t+2)){const r=e.input.charCodeAt(t+3);return r===0||isWsOrEol(r)}return false}function skipUntilLineEnd(e){let t=e.input.charCodeAt(e.position);while(t!==0&&!isEol(t))t=e.input.charCodeAt(++e.position)}function checkPrintable(e,t,r){if(rs.test(e.input.slice(t,r)))throwError(e,"the stream contains non-printable characters")}function readTagProperty(e,t,r){if(e.input.charCodeAt(e.position)!==33)return false;if(t.tagStart!==Kr)throwError(e,"duplication of a tag property");const s=e.position;let o=false;let n=false;let i="!";let a=e.input.charCodeAt(++e.position);if(a===60){o=true;a=e.input.charCodeAt(++e.position)}else if(a===33){n=true;i="!!";a=e.input.charCodeAt(++e.position)}let A=e.position;let c;if(o){while(a!==0&&a!==62)a=e.input.charCodeAt(++e.position);if(a!==62)throwError(e,"unexpected end of the stream within a verbatim tag");c=e.input.slice(A,e.position);e.position++}else{while(a!==0&&!isWsOrEol(a)&&!(r&&isFlowIndicator(a))){if(a===33)if(!n){i=e.input.slice(A-1,e.position+1);if(!os.test(i))throwError(e,"named tag handle cannot contain such characters");n=true;A=e.position+1}else throwError(e,"tag suffix cannot contain exclamation marks");a=e.input.charCodeAt(++e.position)}c=e.input.slice(A,e.position);if(ss.test(c))throwError(e,"tag suffix cannot contain flow indicator characters")}if(c&&!(o?as.test(c):As.test(c)))throwError(e,`tag name cannot contain such characters: ${c}`);if(!o&&i!=="!"&&i!=="!!"&&!Zr.call(e.tagHandlers,i))throwError(e,`undeclared tag handle "${i}"`);t.tagStart=s;t.tagEnd=e.position;return true}function readAnchorProperty(e,t){if(e.input.charCodeAt(e.position)!==38)return false;if(t.anchorStart!==Kr)throwError(e,"duplication of an anchor property");e.position++;const r=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position))&&!isFlowIndicator(e.input.charCodeAt(e.position)))e.position++;if(e.position===r)throwError(e,"name of an anchor node must contain at least one character");t.anchorStart=r;t.anchorEnd=e.position;return true}function readAlias(e,t){if(e.input.charCodeAt(e.position)!==42)return false;if(t.anchorStart!==Kr||t.tagStart!==Kr)throwError(e,"alias node should not have any properties");e.position++;const r=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position))&&!isFlowIndicator(e.input.charCodeAt(e.position)))e.position++;if(e.position===r)throwError(e,"name of an alias node must contain at least one character");addAliasEvent(e,r,e.position);return true}function readFlowScalarBreak(e,t){skipSeparationSpace(e,false);if(e.lineIndent0){e.position++;if(fromHexCode(e.input.charCodeAt(e.position))<0)throwError(e,"expected hexadecimal character")}e.position++}}else if(isEol(n)){o=false;readFlowScalarBreak(e,t)}else if(e.position===e.lineStart&&testDocumentSeparator(e))throwError(e,"unexpected end of the document within a double quoted scalar");else if(n!==9&&n<32)throwError(e,"expected valid JSON character");else e.position++}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readBlockScalar(e,t,r){const s=e.input.charCodeAt(e.position);let o=1;let n=-1;let i=false;if(s!==124&&s!==62)return false;const a=s===124?4:5;e.position++;while(e.input.charCodeAt(e.position)!==0){const r=e.input.charCodeAt(e.position);const s=fromDecimalCode(r);if(r===43||r===45){if(o!==1)throwError(e,"repeat of a chomping mode identifier");o=r===43?3:2;e.position++}else if(s>=0){if(s===0)throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one");if(i)throwError(e,"repeat of an indentation width identifier");n=t+s-1;i=true;e.position++}else break}let A=false;while(isWhiteSpace(e.input.charCodeAt(e.position))){A=true;e.position++}if(A&&e.input.charCodeAt(e.position)===35)skipUntilLineEnd(e);if(isEol(e.input.charCodeAt(e.position)))consumeLineBreak(e);else if(e.input.charCodeAt(e.position)!==0)throwError(e,"a line break is expected");let c=i?n:-1;let l=0;const g=e.position;let u=e.position;while(e.input.charCodeAt(e.position)!==0){const r=e.position;let s=0;while(e.input.charCodeAt(r+s)===32)s++;const o=e.input.charCodeAt(r+s);if(o===0){if(c>=0){if(s>c)u=r+s}else if(s>0)u=r+s;break}if(r===e.lineStart&&testDocumentSeparator(e,r))break;if(!i&&c===-1&&isEol(o))l=Math.max(l,s);if(!i&&c===-1&&!isEol(o)){if(o===9&&s=t){A=true;i=e.input.charCodeAt(e.position);continue}e.position=r;e.line=s;e.lineStart=o;e.lineIndent=n;break}if(!isWhiteSpace(i))n=e.position+1;i=e.input.charCodeAt(++e.position)}if(n===o)return false;checkPrintable(e,o,n);addScalarEvent(e,o,n,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1,1,-1,!A);return true}function skipFlowSeparationSpace(e,t){const r=e.line;skipSeparationSpace(e,true);if(e.line>r&&e.lineIndent0;if(e.firstTabInLine!==-1&&e.input.charCodeAt(e.position)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+1)))throwError(e,"bad indentation of a sequence entry");if(s&&e.lineIndent<=t)addEmptyScalarEvent(e);else parseNode(e,t,es,false,true);skipSeparationSpace(e,true);if(e.lineIndent=e.length)break;if(e.lineIndent>t)throwError(e,"bad indentation of a sequence entry");if(e.line===r&&e.input.charCodeAt(e.position)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+1)))throwError(e,"bad indentation of a sequence entry")}addPopEvent(e);return true}function readBlockMapping(e,t,r,s){let o=false;let n=false;let i=false;let a=false;if(e.firstTabInLine!==-1)return false;let A=e.input.charCodeAt(e.position);while(A!==0){if(!o&&e.firstTabInLine!==-1){e.position=e.firstTabInLine;throwError(e,"tab characters must not be used in indentation")}const c=e.input.charCodeAt(e.position+1);const l=e.line;if((A===63||A===58)&&isWsOrEolOrEnd(c)){if(!i){addMappingEvent(e,e.position,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1);i=true}if(A===63){if(o)addEmptyScalarEvent(e);n=true;o=true}else if(o)o=false;else{addEmptyScalarEvent(e);n=true;o=false}e.position+=1;a=true}else{if(o){addEmptyScalarEvent(e);o=false}const t=snapshotState(e);if(!parseNode(e,r,$r,false,true))break;if(e.line===l){A=e.input.charCodeAt(e.position);while(isWhiteSpace(A))A=e.input.charCodeAt(++e.position);if(A===58){A=e.input.charCodeAt(++e.position);if(!isWsOrEolOrEnd(A))throwError(e,"a whitespace character is expected after the key-value separator within a block mapping");if(!i){restoreState(e,t);addMappingEvent(e,t.position,s.anchorStart,s.anchorEnd,s.tagStart,s.tagEnd,1);i=true;parseNode(e,r,$r,false,true);A=e.input.charCodeAt(e.position);while(isWhiteSpace(A))A=e.input.charCodeAt(++e.position);e.position++}n=true;o=false;a=false}else if(n)throwError(e,"expected ':' after a mapping key");else{if(s.anchorStart!==Kr||s.tagStart!==Kr){restoreState(e,t);return false}return true}}else if(n)throwError(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else{if(s.anchorStart!==Kr||s.tagStart!==Kr){restoreState(e,t);return false}return true}}if(parseNode(e,t,ts,true,a))a=false;if(!o){if(a){addEmptyScalarEvent(e);a=false}}skipSeparationSpace(e,true);A=e.input.charCodeAt(e.position);if((e.line===l||e.lineIndent>t)&&A!==0)throwError(e,"bad indentation of a mapping entry");else if(e.lineIndent=e.maxDepth)throwError(e,`nesting exceeded maxDepth (${e.maxDepth})`);e.depth++;let i=1;let a=false;let A=false;let c=null;const l=emptyProperties();let g=r===ts||r===es;let u=g;const p=g;if(s&&skipSeparationSpace(e,true)){a=true;if(e.lineIndent>t)i=1;else if(e.lineIndent===t)i=0;else i=-1}if(i===1)while(true){const s=e.input.charCodeAt(e.position);const o=snapshotState(e);if(a&&i!==1&&(s===33||s===38))break;if(a&&p&&(l.tagStart!==Kr||l.anchorStart!==Kr)&&(s===33||s===38)){const r=snapshotState(e);const s=t+1;if(readBlockMapping(e,e.position-e.lineStart,s,l)&&e.events[r.eventsLength]?.type===3){e.depth--;return true}restoreState(e,r)}if(a&&(s===33&&l.tagStart!==Kr||s===38&&l.anchorStart!==Kr))break;if(!readTagProperty(e,l,r===Xr)&&!readAnchorProperty(e,l))break;if(c===null)c=o;if(skipSeparationSpace(e,true)){a=true;u=p;if(e.lineIndent>t)i=1;else if(e.lineIndent===t)i=0;else i=-1}else u=false}if(u)u=a||o;if(i===1||r===ts){const s=r===Xr||r===$r?t:t+1;const o=e.position-e.lineStart;if(i===1)if(u&&(readBlockSequence(e,o,l)||readBlockMapping(e,o,s,l))||readFlowCollection(e,s,l))A=true;else{const t=e.input.charCodeAt(e.position);if(c!==null&&n&&p&&!u&&t!==124&&t!==62){const t=snapshotState(e);const r=c.position-c.lineStart;restoreState(e,c);if(readBlockMapping(e,r,s,emptyProperties())&&e.events[t.eventsLength]?.type===3)A=true;else restoreState(e,t)}if(!A&&(g&&readBlockScalar(e,s,l)||readSingleQuotedScalar(e,s,l)||readDoubleQuotedScalar(e,s,l)||readAlias(e,l)||readPlainScalar(e,s,r,l)))A=true}else if(i===0)A=u&&readBlockSequence(e,o,l)}g=g&&!A;if(!A&&(l.anchorStart!==Kr||l.tagStart!==Kr||g)){addScalarEvent(e,Kr,Kr,l.anchorStart,l.anchorEnd,l.tagStart,l.tagEnd,1);A=true}e.depth--;return A||l.anchorStart!==Kr||l.tagStart!==Kr}function readDirective(e){if(e.lineIndent>0||e.input.charCodeAt(e.position)!==37)return false;e.position++;const t=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position)))e.position++;const r=e.input.slice(t,e.position);const s=[];if(r.length===0)throwError(e,"directive name must not be less than one character in length");while(e.input.charCodeAt(e.position)!==0&&!isEol(e.input.charCodeAt(e.position))){while(isWhiteSpace(e.input.charCodeAt(e.position)))e.position++;if(e.input.charCodeAt(e.position)===35||isEol(e.input.charCodeAt(e.position))||e.input.charCodeAt(e.position)===0)break;const t=e.position;while(e.input.charCodeAt(e.position)!==0&&!isWsOrEol(e.input.charCodeAt(e.position)))e.position++;s.push(e.input.slice(t,e.position))}if(isEol(e.input.charCodeAt(e.position)))consumeLineBreak(e);if(r==="YAML"){if(e.directives.some(e=>e.kind==="yaml"))throwError(e,"duplication of %YAML directive");if(s.length!==1)throwError(e,"YAML directive accepts exactly one argument");const t=/^([0-9]+)\.([0-9]+)$/.exec(s[0]);if(t===null)throwError(e,"ill-formed argument of the YAML directive");if(parseInt(t[1],10)!==1)throwError(e,"unacceptable YAML version of the document");e.directives.push({kind:"yaml",version:s[0]})}else if(r==="TAG"){if(s.length!==2)throwError(e,"TAG directive accepts exactly two arguments");const[t,r]=s;if(!os.test(t))throwError(e,"ill-formed tag handle (first argument) of the TAG directive");if(Zr.call(e.tagHandlers,t))throwError(e,`there is a previously declared suffix for "${t}" tag handle`);if(!cs.test(r))throwError(e,"ill-formed tag prefix (second argument) of the TAG directive");e.tagHandlers[t]=r;e.directives.push({kind:"tag",handle:t,prefix:r})}return true}function readDocument(e){e.directives=[];e.tagHandlers=Object.create(null);let t=false;skipSeparationSpace(e,true);while(readDirective(e)){t=true;skipSeparationSpace(e,true)}let r=false;let s=false;let o=true;if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45&&isWsOrEolOrEnd(e.input.charCodeAt(e.position+3))){r=true;const t=e.line;e.position+=3;skipSeparationSpace(e,true);o=e.line>t}else if(t)throwError(e,"directives end mark is expected");const n=e.events.length;if(!r&&e.position===e.lineStart&&e.input.charCodeAt(e.position)===46&&testDocumentSeparator(e)){e.position+=3;skipSeparationSpace(e,true);return}addDocumentEvent(e,r,false);if(!parseNode(e,e.lineIndent-1,ts,false,o,o))addEmptyScalarEvent(e);skipSeparationSpace(e,true);if(e.position===e.lineStart&&testDocumentSeparator(e)){s=e.input.charCodeAt(e.position)===46;if(s){const t=e.line;e.position+=3;skipSeparationSpace(e,true);if(e.line===t&&e.position=s.length)break;const e=s.position;readDocument(s);if(s.position===e)throwError(s,"can not read a document")}return s.events}var gs={...ls,...zr};function loadDocuments(e,t={}){const r={...gs,...t};const s=String(e);const o=Object.keys(ls);const n=Object.keys(zr);return constructFromEvents(parseEvents(s,pick(r,o)),{...pick(r,n),source:s})}function loadAll(e,t,r){let s=null;if(typeof t==="function")s=t;else if(t!==null&&typeof t==="object")r=t;const o=loadDocuments(e,r);if(s===null)return o;for(const e of o)s(e)}function load(e,t){const r=loadDocuments(e,t);if(r.length===0)throw new kr("expected a document, but the input is empty");if(r.length===1)return r[0];throw new kr("expected a single document in the stream, but found more")}var us=class{tagged=false;flow=false;singleQuoted=false;doubleQuoted=false;literal=false;folded=false};var ps=Symbol("INVALID");function buildRepresentTypes(e){const t=new Set([e.defaultScalarTag,e.defaultSequenceTag,e.defaultMappingTag].filter(e=>e!==void 0));const r=e.implicitScalarTags;const s=e.tags.filter(e=>!(e.nodeKind==="scalar"&&e.implicit)&&!t.has(e));const o=e.tags.filter(e=>t.has(e));return[...r.map(e=>({tag:e,implicitTag:true})),...s.map(e=>({tag:e,implicitTag:false})),...o.map(e=>({tag:e,implicitTag:true}))]}function matchTag(e,t){for(let r=0,s=e.representTypes.length;r=32&&e<=126||e>=161&&e<=55295&&e!==8232&&e!==8233||e>=57344&&e<=65533&&e!==hs||e>=65536&&e<=1114111}function isNsCharOrWhitespace(e){return isPrintable(e)&&e!==hs&&e!==Is&&e!==Cs}function isPlainSafe(e,t,r){const s=isNsCharOrWhitespace(e);const o=s&&!isWhitespace(e);return(r?s:s&&e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs)&&e!==ws&&!(t===vs&&!o)||isNsCharOrWhitespace(t)&&!isWhitespace(t)&&e===ws||t===vs&&o&&(r||e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs)}function isPlainSafeFirst(e){return isPrintable(e)&&e!==hs&&!isWhitespace(e)&&e!==Rs&&e!==Gs&&e!==vs&&e!==_s&&e!==Us&&e!==Ls&&e!==Ms&&e!==Hs&&e!==ws&&e!==bs&&e!==Ss&&e!==Qs&&e!==Ns&&e!==Fs&&e!==Ds&&e!==ks&&e!==Ts&&e!==ys&&e!==Ps&&e!==Os}function isPlainSafeAtStart(e,t){const r=codePointAt(e,0);if(isPlainSafeFirst(r))return true;if(e.length>1&&(r===Rs||r===Gs||r===vs)){const s=codePointAt(e,1);return!isWhitespace(s)&&isPlainSafe(s,r,t)}return false}function isPlainSafeLast(e){return!isWhitespace(e)&&e!==vs}function codePointAt(e,t){const r=e.charCodeAt(t);let s;if(r>=55296&&r<=56319&&t+1=56320&&s<=57343)return(r-55296)*1024+s-56320+65536}return r}function needIndentIndicator(e){return/^\n* /.test(e)}var Ys=1;var Js=2;var Ws=3;var qs=4;var js=5;function chooseScalarStyle(e,t,r,s,o,n){const{blockIndent:i,lineWidth:a}=r;let A;let c=0;let l=-1;let g=false;let u=false;const p=a!==-1;let d=-1;let E=!startsWithDocumentSeparator(t)&&isPlainSafeAtStart(t,n)&&isPlainSafeLast(codePointAt(t,t.length-1));if(s||o)for(A=0;A=65536?A+=2:A++){c=codePointAt(t,A);if(!isPrintable(c))return js;E=E&&isPlainSafe(c,l,n);l=c}else{for(A=0;A=65536?A+=2:A++){c=codePointAt(t,A);if(c===Cs){g=true;if(p){u=u||A-d-1>a&&!isMoreIndented(t[d+1]);d=A}}else if(!isPrintable(c))return js;E=E&&isPlainSafe(c,l,n);l=c}u=u||p&&A-d-1>a&&!isMoreIndented(t[d+1])}if(!g&&!u){if(E&&!o)return Ys;return e.quoteStyle==="double"?js:Js}if(i>9&&needIndentIndicator(t))return js;return u?qs:Ws}function renderScalarStyle(e,t,r){const{indent:s,blockIndent:o,lineWidth:n}=r;switch(t){case Ys:return encodeFlowBreaks(e,s);case Js:return`'${encodeFlowBreaks(e,s).replace(/'/g,"''")}'`;case Ws:return"|"+blockHeader(e,o)+dropEndingNewline(indentString(e,s));case qs:return">"+blockHeader(e,o)+dropEndingNewline(indentString(foldBlockScalar(e,n),s));case js:return`"${escapeString(e)}"`}}function resolveScalarStyle(e,t,r,s,o){const n=s||!o;if(t.style.singleQuoted)return Js;if(t.style.doubleQuoted)return js;if(!n){if(t.style.literal)return Ws;if(t.style.folded)return qs}const i=t.value;if(i.length===0){if(t.style.tagged||resolveImplicitTag(e,i)===t.tag)return Ys;return e.quoteStyle==="double"?js:Js}const a=chooseScalarStyle(e,i,r,n,e.forceQuotes&&!s,o);if(a===Ys&&!t.style.tagged&&resolveImplicitTag(e,i)!==t.tag)return e.quoteStyle==="double"?js:Js;return a}function blockHeader(e,t){const r=needIndentIndicator(e)?String(t):"";const s=e[e.length-1]==="\n";return`${r}${s&&(e[e.length-2]==="\n"||e==="\n")?"+":s?"":"-"}\n`}function encodeFlowBreaks(e,t){let r=e.indexOf("\n");if(r===-1)return e;const s=" ".repeat(t);let o=e.slice(0,r);const n=/(\n+)([^\n]*)/g;n.lastIndex=r;let i;while(i=n.exec(e)){const e=i[1].length;const t=i[2];o+="\n".repeat(e+1)+s+t}return o}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function isMoreIndented(e){return e===" "||e==="\t"}function foldBlockScalar(e,t){const r=/(\n+)([^\n]*)/g;let s=e.indexOf("\n");if(s===-1)s=e.length;r.lastIndex=s;let o=foldLine(e.slice(0,s),t);let n=e[0]==="\n"||isMoreIndented(e[0]);let i;let a;while(a=r.exec(e)){const e=a[1];const r=a[2];i=r!==""&&isMoreIndented(r[0]);o+=e+(!n&&!i&&r!==""?"\n":"")+foldLine(r,t);n=i}return o}function foldLine(e,t){if(e===""||isMoreIndented(e[0]))return e;const r=/ [^ \t]/g;let s;let o=0;let n;let i=0;let a=0;let A="";while(s=r.exec(e)){a=s.index;if(a-o>t){n=i>o?i:a;A+=`\n${e.slice(o,n)}`;o=n+1}i=a}A+="\n";if(e.length-o>t&&i>o)A+=`${e.slice(o,i)}\n${e.slice(i+1)}`;else A+=e.slice(o);return A.slice(1)}function escapeString(e){let t="";let r=0;for(let s=0;s=65536?s+=2:s++){r=codePointAt(e,s);const o=xs[r];if(o){t+=o;continue}if(isPrintable(r)){t+=e[s];if(r>=65536)t+=e[s+1];continue}t+=encodeNonPrintable(r)}return t}function writeFlowSequence(e,t,r){let s="";for(let o=0,n=r.items.length;o1024;if(a)o+="? ";else if(e.quoteFlowKeys)o+='"';const A=writeNode(e,t,n,{});const c=e.flowSkipColonSpace||A===""?"":" ";o+=`${i}${e.quoteFlowKeys&&!a?'"':""}:${c}${A}`;s+=o}const n=e.flowBracketPadding&&s!==""?" ":"";return`{${n}${s}${n}}`}function sortKeyValue(e){return e.kind==="scalar"?e.value:e}function sortMappingItems(e,t){if(!e.sortKeys)return t;const r=t.slice();if(e.sortKeys===true)r.sort((e,t)=>{const r=sortKeyValue(e.key);const s=sortKeyValue(t.key);if(rs)return 1;return 0});else{const t=e.sortKeys;r.sort((e,r)=>t(sortKeyValue(e.key),sortKeyValue(r.key)))}return r}function writeBlockMapping(e,t,r,s){let o="";const n=sortMappingItems(e,r.items);for(let r=0,i=n.length;r1024;if(u)if(l&&Cs===l.charCodeAt(0))i+="?";else i+="? ";i+=l;if(u)i+=generateNextLine(e,t);const p=writeNode(e,t+1,A,{block:true,compact:u,isblockseq:u&&!cannotBeCompact(e,A,t+1)});const d=a.kind==="scalar"&&a.value===""&&l!==""&&l.charCodeAt(l.length-1)!==ks&&l.charCodeAt(l.length-1)!==Ts;const E=!u&&(a.kind==="alias"||d)?" ":"";if(p===""||Cs===p.charCodeAt(0))i+=`${E}:`;else i+=`${E}: `;i+=p;o+=i}return o}function cannotBeCompact(e,t,r){return t.style.tagged||t.anchor!==void 0||e.indent<2&&r>0}function writeNode(e,t,r,s){if(r.kind==="alias")return`*${r.anchor}`;const{block:o=false,iskey:n=false,isblockseq:i=false}=s;let a=s.compact??false;const A=r.anchor!==void 0;if(cannotBeCompact(e,r,t))a=false;let c;let l=r.style.tagged;const g=o&&(r.kind==="mapping"||r.kind==="sequence")&&!r.style.flow&&r.items.length!==0;if(r.kind==="mapping")if(g)c=writeBlockMapping(e,t,r,a);else c=writeFlowMapping(e,t,r);else if(r.kind==="sequence")if(g)if(e.seqNoIndent&&!i&&t>0)c=writeBlockSequence(e,t-1,r,a);else c=writeBlockSequence(e,t,r,a);else c=writeFlowSequence(e,t,r);else{const s=scalarLayout(e,t);const i=resolveScalarStyle(e,r,s,n,o);c=renderScalarStyle(r.value,i,s);l=r.style.tagged||i!==Ys&&r.tag!==e.defaultScalarTagName}if(g&&a&&t>0&&e.indent>2)c=`${" ".repeat(e.indent-2)}${c}`;if(l||A){const t=[];const s=l?nodeTagShort(r):null;const o=A?`&${r.anchor}`:null;if(e.tagBeforeAnchor){if(s!==null)t.push(s);if(o!==null)t.push(o)}else{if(o!==null)t.push(o);if(s!==null)t.push(s)}const n=c===""||c.charCodeAt(0)===Cs?"":" ";c=`${t.join(" ")}${n}${c}`}return c}function rootStartsOwnLine(e){return(e.kind==="sequence"||e.kind==="mapping")&&!e.style.flow&&e.items.length!==0&&!e.style.tagged&&e.anchor===void 0}function isOpenEnded(e){let t=e;while((t.kind==="sequence"||t.kind==="mapping")&&!t.style.flow&&t.items.length!==0)t=t.kind==="sequence"?t.items[t.items.length-1]:t.items[t.items.length-1].value;if(t.kind!=="scalar"||!(t.style.literal||t.style.folded))return false;const{value:r}=t;return r.endsWith("\n\n")||r==="\n"}function writeDocumentDirectives(e){let t="";for(const r of e.directives){if(r.kind==="yaml"){t+=`%YAML ${r.version}\n`;continue}const{handle:e,prefix:s}=r;t+=`%TAG ${e} ${s}\n`}return t}function present(e,t){const r=createPresenterState(t);let s="";let o=false;for(let t=0;t0&&!o;s+=i;if(n.contents===null){if(A)s+="---\n"}else if(A){const e=writeNode(r,0,n.contents,{block:true,compact:true});const t=e===""?"":a||rootStartsOwnLine(n.contents)?"\n":" ";s+=`---${t}${e}\n`}else s+=writeNode(r,0,n.contents,{block:true,compact:true})+"\n";o=n.explicitEnd||n.contents!==null&&isOpenEnded(n.contents);if(o)s+="...\n"}return s}var zs=Tr.withTags({...Zt,resolve:(e,t,r)=>{const s=Zt.resolve(e,t,r);return s===kt?Wt.resolve(e,t,r):s}},{...ar,resolve:(e,t,r)=>{const s=ar.resolve(e,t,r);return s===kt?er.resolve(e,t,r):s}});var Ks={...Vs,schema:zs,skipInvalid:false,noRefs:false,flowLevel:-1,transform:()=>{}};function dump(e,t={}){const r={...Ks,...t};const s=jsToAst(e,r.schema,{noRefs:r.noRefs,skipInvalid:r.skipInvalid});if(r.flowLevel>=0)visit(s,(e,t)=>{if(t.deptht(e),this)}}onabort(){}addEventListener(e,t){if(e==="abort"){this._listeners.push(t)}}removeEventListener(e,t){if(e==="abort"){this._listeners=this._listeners.filter(e=>e!==t)}}};const no=new Set;const deprecatedOption=(e,t)=>{const r=`LRU_CACHE_OPTION_${e}`;if(shouldWarn(r)){warn(r,`${e} option`,`options.${t}`,LRUCache)}};const deprecatedMethod=(e,t)=>{const r=`LRU_CACHE_METHOD_${e}`;if(shouldWarn(r)){const{prototype:s}=LRUCache;const{get:o}=Object.getOwnPropertyDescriptor(s,e);warn(r,`${e} method`,`cache.${t}()`,o)}};const deprecatedProperty=(e,t)=>{const r=`LRU_CACHE_PROPERTY_${e}`;if(shouldWarn(r)){const{prototype:s}=LRUCache;const{get:o}=Object.getOwnPropertyDescriptor(s,e);warn(r,`${e} property`,`cache.${t}`,o)}};const emitWarning=(...e)=>{typeof process==="object"&&process&&typeof process.emitWarning==="function"?process.emitWarning(...e):console.error(...e)};const shouldWarn=e=>!no.has(e);const warn=(e,t,r,s)=>{no.add(e);const o=`The ${t} is deprecated. Please use ${r} instead.`;emitWarning(o,"DeprecationWarning",e,s)};const isPosInt=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e);const getUintArray=e=>!isPosInt(e)?null:e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?ZeroArray:null;class ZeroArray extends Array{constructor(e){super(e);this.fill(0)}}class Stack{constructor(e){if(e===0){return[]}const t=getUintArray(e);this.heap=new t(e);this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class LRUCache{constructor(e={}){const{max:t=0,ttl:r,ttlResolution:s=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:i,allowStale:a,dispose:A,disposeAfter:c,noDisposeOnSet:l,noUpdateTTL:g,maxSize:u=0,maxEntrySize:p=0,sizeCalculation:d,fetchMethod:E,fetchContext:h,noDeleteOnFetchRejection:m,noDeleteOnStaleGet:f,allowStaleOnFetchRejection:C,allowStaleOnFetchAbort:I,ignoreFetchAbort:B}=e;const{length:Q,maxAge:T,stale:w}=e instanceof LRUCache?{}:e;if(t!==0&&!isPosInt(t)){throw new TypeError("max option must be a nonnegative integer")}const y=t?getUintArray(t):Array;if(!y){throw new Error("invalid max value: "+t)}this.max=t;this.maxSize=u;this.maxEntrySize=p||this.maxSize;this.sizeCalculation=d||Q;if(this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize){throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize")}if(typeof this.sizeCalculation!=="function"){throw new TypeError("sizeCalculation set to non-function")}}this.fetchMethod=E||null;if(this.fetchMethod&&typeof this.fetchMethod!=="function"){throw new TypeError("fetchMethod must be a function if specified")}this.fetchContext=h;if(!this.fetchMethod&&h!==undefined){throw new TypeError("cannot set fetchContext without fetchMethod")}this.keyMap=new Map;this.keyList=new Array(t).fill(null);this.valList=new Array(t).fill(null);this.next=new y(t);this.prev=new y(t);this.head=0;this.tail=0;this.free=new Stack(t);this.initialFill=1;this.size=0;if(typeof A==="function"){this.dispose=A}if(typeof c==="function"){this.disposeAfter=c;this.disposed=[]}else{this.disposeAfter=null;this.disposed=null}this.noDisposeOnSet=!!l;this.noUpdateTTL=!!g;this.noDeleteOnFetchRejection=!!m;this.allowStaleOnFetchRejection=!!C;this.allowStaleOnFetchAbort=!!I;this.ignoreFetchAbort=!!B;if(this.maxEntrySize!==0){if(this.maxSize!==0){if(!isPosInt(this.maxSize)){throw new TypeError("maxSize must be a positive integer if specified")}}if(!isPosInt(this.maxEntrySize)){throw new TypeError("maxEntrySize must be a positive integer if specified")}this.initializeSizeTracking()}this.allowStale=!!a||!!w;this.noDeleteOnStaleGet=!!f;this.updateAgeOnGet=!!n;this.updateAgeOnHas=!!i;this.ttlResolution=isPosInt(s)||s===0?s:1;this.ttlAutopurge=!!o;this.ttl=r||T||0;if(this.ttl){if(!isPosInt(this.ttl)){throw new TypeError("ttl must be a positive integer if specified")}this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0){throw new TypeError("At least one of max, maxSize, or ttl is required")}if(!this.ttlAutopurge&&!this.max&&!this.maxSize){const e="LRU_CACHE_UNBOUNDED";if(shouldWarn(e)){no.add(e);const t="TTL caching without ttlAutopurge, max, or maxSize can "+"result in unbounded memory consumption.";emitWarning(t,"UnboundedCacheWarning",e,LRUCache)}}if(w){deprecatedOption("stale","allowStale")}if(T){deprecatedOption("maxAge","ttl")}if(Q){deprecatedOption("length","sizeCalculation")}}getRemainingTTL(e){return this.has(e,{updateAgeOnHas:false})?Infinity:0}initializeTTLTracking(){this.ttls=new ZeroArray(this.max);this.starts=new ZeroArray(this.max);this.setItemTTL=(e,t,r=$s.now())=>{this.starts[e]=t!==0?r:0;this.ttls[e]=t;if(t!==0&&this.ttlAutopurge){const r=setTimeout(()=>{if(this.isStale(e)){this.delete(this.keyList[e])}},t+1);if(r.unref){r.unref()}}};this.updateItemAge=e=>{this.starts[e]=this.ttls[e]!==0?$s.now():0};this.statusTTL=(t,r)=>{if(t){t.ttl=this.ttls[r];t.start=this.starts[r];t.now=e||getNow();t.remainingTTL=t.now+t.ttl-t.start}};let e=0;const getNow=()=>{const t=$s.now();if(this.ttlResolution>0){e=t;const r=setTimeout(()=>e=0,this.ttlResolution);if(r.unref){r.unref()}}return t};this.getRemainingTTL=t=>{const r=this.keyMap.get(t);if(r===undefined){return 0}return this.ttls[r]===0||this.starts[r]===0?Infinity:this.starts[r]+this.ttls[r]-(e||getNow())};this.isStale=t=>this.ttls[t]!==0&&this.starts[t]!==0&&(e||getNow())-this.starts[t]>this.ttls[t]}updateItemAge(e){}statusTTL(e,t){}setItemTTL(e,t,r){}isStale(e){return false}initializeSizeTracking(){this.calculatedSize=0;this.sizes=new ZeroArray(this.max);this.removeItemSize=e=>{this.calculatedSize-=this.sizes[e];this.sizes[e]=0};this.requireSize=(e,t,r,s)=>{if(this.isBackgroundFetch(t)){return 0}if(!isPosInt(r)){if(s){if(typeof s!=="function"){throw new TypeError("sizeCalculation must be a function")}r=s(t,e);if(!isPosInt(r)){throw new TypeError("sizeCalculation return invalid (expect positive integer)")}}else{throw new TypeError("invalid size value (must be positive integer). "+"When maxSize or maxEntrySize is used, sizeCalculation or size "+"must be set.")}}return r};this.addItemSize=(e,t,r)=>{this.sizes[e]=t;if(this.maxSize){const t=this.maxSize-this.sizes[e];while(this.calculatedSize>t){this.evict(true)}}this.calculatedSize+=this.sizes[e];if(r){r.entrySize=t;r.totalCalculatedSize=this.calculatedSize}}}removeItemSize(e){}addItemSize(e,t){}requireSize(e,t,r,s){if(r||s){throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}}*indexes({allowStale:e=this.allowStale}={}){if(this.size){for(let t=this.tail;true;){if(!this.isValidIndex(t)){break}if(e||!this.isStale(t)){yield t}if(t===this.head){break}else{t=this.prev[t]}}}}*rindexes({allowStale:e=this.allowStale}={}){if(this.size){for(let t=this.head;true;){if(!this.isValidIndex(t)){break}if(e||!this.isStale(t)){yield t}if(t===this.tail){break}else{t=this.next[t]}}}}isValidIndex(e){return e!==undefined&&this.keyMap.get(this.keyList[e])===e}*entries(){for(const e of this.indexes()){if(this.valList[e]!==undefined&&this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield[this.keyList[e],this.valList[e]]}}}*rentries(){for(const e of this.rindexes()){if(this.valList[e]!==undefined&&this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield[this.keyList[e],this.valList[e]]}}}*keys(){for(const e of this.indexes()){if(this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.keyList[e]}}}*rkeys(){for(const e of this.rindexes()){if(this.keyList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.keyList[e]}}}*values(){for(const e of this.indexes()){if(this.valList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.valList[e]}}}*rvalues(){for(const e of this.rindexes()){if(this.valList[e]!==undefined&&!this.isBackgroundFetch(this.valList[e])){yield this.valList[e]}}}[Symbol.iterator](){return this.entries()}find(e,t){for(const r of this.indexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;if(e(o,this.keyList[r],this)){return this.get(this.keyList[r],t)}}}forEach(e,t=this){for(const r of this.indexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;e.call(t,o,this.keyList[r],this)}}rforEach(e,t=this){for(const r of this.rindexes()){const s=this.valList[r];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;e.call(t,o,this.keyList[r],this)}}get prune(){deprecatedMethod("prune","purgeStale");return this.purgeStale}purgeStale(){let e=false;for(const t of this.rindexes({allowStale:true})){if(this.isStale(t)){this.delete(this.keyList[t]);e=true}}return e}dump(){const e=[];for(const t of this.indexes({allowStale:true})){const r=this.keyList[t];const s=this.valList[t];const o=this.isBackgroundFetch(s)?s.__staleWhileFetching:s;if(o===undefined)continue;const n={value:o};if(this.ttls){n.ttl=this.ttls[t];const e=$s.now()-this.starts[t];n.start=Math.floor(Date.now()-e)}if(this.sizes){n.size=this.sizes[t]}e.unshift([r,n])}return e}load(e){this.clear();for(const[t,r]of e){if(r.start){const e=Date.now()-r.start;r.start=$s.now()-e}this.set(t,r.value,r)}}dispose(e,t,r){}set(e,t,{ttl:r=this.ttl,start:s,noDisposeOnSet:o=this.noDisposeOnSet,size:n=0,sizeCalculation:i=this.sizeCalculation,noUpdateTTL:a=this.noUpdateTTL,status:A}={}){n=this.requireSize(e,t,n,i);if(this.maxEntrySize&&n>this.maxEntrySize){if(A){A.set="miss";A.maxEntrySizeExceeded=true}this.delete(e);return this}let c=this.size===0?undefined:this.keyMap.get(e);if(c===undefined){c=this.newIndex();this.keyList[c]=e;this.valList[c]=t;this.keyMap.set(e,c);this.next[this.tail]=c;this.prev[c]=this.tail;this.tail=c;this.size++;this.addItemSize(c,n,A);if(A){A.set="add"}a=false}else{this.moveToTail(c);const r=this.valList[c];if(t!==r){if(this.isBackgroundFetch(r)){r.__abortController.abort(new Error("replaced"))}else{if(!o){this.dispose(r,e,"set");if(this.disposeAfter){this.disposed.push([r,e,"set"])}}}this.removeItemSize(c);this.valList[c]=t;this.addItemSize(c,n,A);if(A){A.set="replace";const e=r&&this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(e!==undefined)A.oldValue=e}}else if(A){A.set="update"}}if(r!==0&&this.ttl===0&&!this.ttls){this.initializeTTLTracking()}if(!a){this.setItemTTL(c,r,s)}this.statusTTL(A,c);if(this.disposeAfter){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return this}newIndex(){if(this.size===0){return this.tail}if(this.size===this.max&&this.max!==0){return this.evict(false)}if(this.free.length!==0){return this.free.pop()}return this.initialFill++}pop(){if(this.size){const e=this.valList[this.head];this.evict(true);return e}}evict(e){const t=this.head;const r=this.keyList[t];const s=this.valList[t];if(this.isBackgroundFetch(s)){s.__abortController.abort(new Error("evicted"))}else{this.dispose(s,r,"evict");if(this.disposeAfter){this.disposed.push([s,r,"evict"])}}this.removeItemSize(t);if(e){this.keyList[t]=null;this.valList[t]=null;this.free.push(t)}this.head=this.next[t];this.keyMap.delete(r);this.size--;return t}has(e,{updateAgeOnHas:t=this.updateAgeOnHas,status:r}={}){const s=this.keyMap.get(e);if(s!==undefined){if(!this.isStale(s)){if(t){this.updateItemAge(s)}if(r)r.has="hit";this.statusTTL(r,s);return true}else if(r){r.has="stale";this.statusTTL(r,s)}}else if(r){r.has="miss"}return false}peek(e,{allowStale:t=this.allowStale}={}){const r=this.keyMap.get(e);if(r!==undefined&&(t||!this.isStale(r))){const e=this.valList[r];return this.isBackgroundFetch(e)?e.__staleWhileFetching:e}}backgroundFetch(e,t,r,s){const o=t===undefined?undefined:this.valList[t];if(this.isBackgroundFetch(o)){return o}const n=new to;if(r.signal){r.signal.addEventListener("abort",()=>n.abort(r.signal.reason))}const i={signal:n.signal,options:r,context:s};const cb=(s,o=false)=>{const{aborted:A}=n.signal;const c=r.ignoreFetchAbort&&s!==undefined;if(r.status){if(A&&!o){r.status.fetchAborted=true;r.status.fetchError=n.signal.reason;if(c)r.status.fetchAbortIgnored=true}else{r.status.fetchResolved=true}}if(A&&!c&&!o){return fetchFail(n.signal.reason)}if(this.valList[t]===a){if(s===undefined){if(a.__staleWhileFetching){this.valList[t]=a.__staleWhileFetching}else{this.delete(e)}}else{if(r.status)r.status.fetchUpdated=true;this.set(e,s,i.options)}}return s};const eb=e=>{if(r.status){r.status.fetchRejected=true;r.status.fetchError=e}return fetchFail(e)};const fetchFail=s=>{const{aborted:o}=n.signal;const i=o&&r.allowStaleOnFetchAbort;const A=i||r.allowStaleOnFetchRejection;const c=A||r.noDeleteOnFetchRejection;if(this.valList[t]===a){const r=!c||a.__staleWhileFetching===undefined;if(r){this.delete(e)}else if(!i){this.valList[t]=a.__staleWhileFetching}}if(A){if(r.status&&a.__staleWhileFetching!==undefined){r.status.returnedStale=true}return a.__staleWhileFetching}else if(a.__returned===a){throw s}};const pcall=(t,s)=>{this.fetchMethod(e,o,i).then(e=>t(e),s);n.signal.addEventListener("abort",()=>{if(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort){t();if(r.allowStaleOnFetchAbort){t=e=>cb(e,true)}}})};if(r.status)r.status.fetchDispatched=true;const a=new Promise(pcall).then(cb,eb);a.__abortController=n;a.__staleWhileFetching=o;a.__returned=null;if(t===undefined){this.set(e,a,{...i.options,status:undefined});t=this.keyMap.get(e)}else{this.valList[t]=a}return a}isBackgroundFetch(e){return e&&typeof e==="object"&&typeof e.then==="function"&&Object.prototype.hasOwnProperty.call(e,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(e,"__returned")&&(e.__returned===e||e.__returned===null)}async fetch(e,{allowStale:t=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:n=this.noDisposeOnSet,size:i=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:A=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:l=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:u=this.allowStaleOnFetchAbort,fetchContext:p=this.fetchContext,forceRefresh:d=false,status:E,signal:h}={}){if(!this.fetchMethod){if(E)E.fetch="get";return this.get(e,{allowStale:t,updateAgeOnGet:r,noDeleteOnStaleGet:s,status:E})}const m={allowStale:t,updateAgeOnGet:r,noDeleteOnStaleGet:s,ttl:o,noDisposeOnSet:n,size:i,sizeCalculation:a,noUpdateTTL:A,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:l,allowStaleOnFetchAbort:u,ignoreFetchAbort:g,status:E,signal:h};let f=this.keyMap.get(e);if(f===undefined){if(E)E.fetch="miss";const t=this.backgroundFetch(e,f,m,p);return t.__returned=t}else{const s=this.valList[f];if(this.isBackgroundFetch(s)){const e=t&&s.__staleWhileFetching!==undefined;if(E){E.fetch="inflight";if(e)E.returnedStale=true}return e?s.__staleWhileFetching:s.__returned=s}const o=this.isStale(f);if(!d&&!o){if(E)E.fetch="hit";this.moveToTail(f);if(r){this.updateItemAge(f)}this.statusTTL(E,f);return s}const n=this.backgroundFetch(e,f,m,p);const i=n.__staleWhileFetching!==undefined;const a=i&&t;if(E){E.fetch=i&&o?"stale":"refresh";if(a&&o)E.returnedStale=true}return a?n.__staleWhileFetching:n.__returned=n}}get(e,{allowStale:t=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:o}={}){const n=this.keyMap.get(e);if(n!==undefined){const i=this.valList[n];const a=this.isBackgroundFetch(i);this.statusTTL(o,n);if(this.isStale(n)){if(o)o.get="stale";if(!a){if(!s){this.delete(e)}if(o)o.returnedStale=t;return t?i:undefined}else{if(o){o.returnedStale=t&&i.__staleWhileFetching!==undefined}return t?i.__staleWhileFetching:undefined}}else{if(o)o.get="hit";if(a){return i.__staleWhileFetching}this.moveToTail(n);if(r){this.updateItemAge(n)}return i}}else if(o){o.get="miss"}}connect(e,t){this.prev[t]=e;this.next[e]=t}moveToTail(e){if(e!==this.tail){if(e===this.head){this.head=this.next[e]}else{this.connect(this.prev[e],this.next[e])}this.connect(this.tail,e);this.tail=e}}get del(){deprecatedMethod("del","delete");return this.delete}delete(e){let t=false;if(this.size!==0){const r=this.keyMap.get(e);if(r!==undefined){t=true;if(this.size===1){this.clear()}else{this.removeItemSize(r);const t=this.valList[r];if(this.isBackgroundFetch(t)){t.__abortController.abort(new Error("deleted"))}else{this.dispose(t,e,"delete");if(this.disposeAfter){this.disposed.push([t,e,"delete"])}}this.keyMap.delete(e);this.keyList[r]=null;this.valList[r]=null;if(r===this.tail){this.tail=this.prev[r]}else if(r===this.head){this.head=this.next[r]}else{this.next[this.prev[r]]=this.next[r];this.prev[this.next[r]]=this.prev[r]}this.size--;this.free.push(r)}}}if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}return t}clear(){for(const e of this.rindexes({allowStale:true})){const t=this.valList[e];if(this.isBackgroundFetch(t)){t.__abortController.abort(new Error("deleted"))}else{const r=this.keyList[e];this.dispose(t,r,"delete");if(this.disposeAfter){this.disposed.push([t,r,"delete"])}}}this.keyMap.clear();this.valList.fill(null);this.keyList.fill(null);if(this.ttls){this.ttls.fill(0);this.starts.fill(0)}if(this.sizes){this.sizes.fill(0)}this.head=0;this.tail=0;this.initialFill=1;this.free.length=0;this.calculatedSize=0;this.size=0;if(this.disposed){while(this.disposed.length){this.disposeAfter(...this.disposed.shift())}}}get reset(){deprecatedMethod("reset","clear");return this.clear}get length(){deprecatedProperty("length","size");return this.size}static get AbortController(){return to}static get AbortSignal(){return oo}}const io=LRUCache;var ao=__nccwpck_require__(319);var Ao=__nccwpck_require__(2830);var co={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function proxy_from_env_parseUrl(e){try{return new URL(e)}catch{return null}}function getProxyForUrl(e){var t=(typeof e==="string"?proxy_from_env_parseUrl(e):e)||{};var r=t.protocol;var s=t.host;var o=t.port;if(typeof s!=="string"||!s||typeof r!=="string"){return""}r=r.split(":",1)[0];s=s.replace(/:\d*$/,"");o=parseInt(o)||co[r]||0;if(!shouldProxy(s,o)){return""}var n=getEnv(r+"_proxy")||getEnv("all_proxy");if(n&&n.indexOf("://")===-1){n=r+"://"+n}return n}function shouldProxy(e,t){var r=getEnv("no_proxy").toLowerCase();if(!r){return true}if(r==="*"){return false}return r.split(/[,\s]/).every(function(r){if(!r){return true}var s=r.match(/^(.+):(\d+)$/);var o=s?s[1]:r;var n=s?parseInt(s[2]):0;if(n&&n!==t){return true}if(!/^[.*]/.test(o)){return e!==o}if(o.charAt(0)==="*"){o=o.slice(1)}return!e.endsWith(o)})}function getEnv(e){return process.env[e.toLowerCase()]||process.env[e.toUpperCase()]||""}const lo=Ao("proxy-agent");const go={http:async()=>(await __nccwpck_require__.e(947).then(__nccwpck_require__.bind(__nccwpck_require__,8947))).HttpProxyAgent,https:async()=>(await __nccwpck_require__.e(566).then(__nccwpck_require__.bind(__nccwpck_require__,1566))).HttpsProxyAgent,socks:async()=>(await __nccwpck_require__.e(814).then(__nccwpck_require__.bind(__nccwpck_require__,5814))).SocksProxyAgent,pac:async()=>(await __nccwpck_require__.e(303).then(__nccwpck_require__.bind(__nccwpck_require__,2303))).PacProxyAgent};const uo={http:[go.http,go.https],https:[go.http,go.https],socks:[go.socks,go.socks],socks4:[go.socks,go.socks],socks4a:[go.socks,go.socks],socks5:[go.socks,go.socks],socks5h:[go.socks,go.socks],"pac+data":[go.pac,go.pac],"pac+file":[go.pac,go.pac],"pac+ftp":[go.pac,go.pac],"pac+http":[go.pac,go.pac],"pac+https":[go.pac,go.pac]};function isValidProtocol(e){return Object.keys(uo).includes(e)}class dist_ProxyAgent extends ao.g6{constructor(e){super(e);this.cache=new io({max:20,dispose:e=>e.destroy()});lo("Creating new ProxyAgent instance: %o",e);this.connectOpts=e;this.httpAgent=e?.httpAgent||new n.Agent(e);this.httpsAgent=e?.httpsAgent||new i.Agent(e);this.getProxyForUrl=e?.getProxyForUrl||getProxyForUrl}async connect(e,t){const{secureEndpoint:r}=t;const s=e.getHeader("upgrade")==="websocket";const o=r?s?"wss:":"https:":s?"ws:":"http:";const n=e.getHeader("host");const i=new Xs.URL(e.path,`${o}//${n}`).href;const a=await this.getProxyForUrl(i,e);if(!a){lo("Proxy not enabled for URL: %o",i);return r?this.httpsAgent:this.httpAgent}lo("Request URL: %o",i);lo("Proxy URL: %o",a);const A=`${o}+${a}`;let c=this.cache.get(A);if(!c){const e=new Xs.URL(a);const t=e.protocol.replace(":","");if(!isValidProtocol(t)){throw new Error(`Unsupported protocol for proxy URL: ${a}`)}const o=await uo[t][r||s?1:0]();c=new o(a,this.connectOpts);this.cache.set(A,c)}else{lo("Cache hit for proxy URL: %o",a)}return c}destroy(){for(const e of this.cache.values()){e.destroy()}super.destroy()}}const po=it.defaults({headers:{"X-Github-Next-Global-ID":1},request:{agent:new dist_ProxyAgent},userAgent:"github-actions-allow-list-as-code"}).plugin(enterpriseCloud,enterpriseServer315Admin);class ActionPolicy{constructor({token:e,enterprise:t,organization:r,allowListPath:s,ghApiUrl:o}){if(!e){throw new Error("❗ `token` is required")}this.octokit=new po(getOctokitOptions(e,{baseUrl:o,request:{agent:new dist_ProxyAgent}}));if(!t&&!r){throw new Error("❗ `enterprise` or `organization` is required")}this.enterprise=t;this.organization=r;if(!s){throw new Error("❗ `allowListPath` is required")}this.allowListPath=s;this.allowList=undefined;this.policy=undefined}async loadCurrentEnterpriseActionsPolicy(){const{enterprise:e,octokit:t}=this;try{const{data:{allowed_actions:r,enabled_organizations:s}}=await t.request("GET /enterprises/{enterprise}/actions/permissions",{enterprise:e});if(s==="none"){throw new Error(`❗ GitHub Actions disabled`)}const o=r;this.policy={actions:o};if(o==="selected"){const{data:r}=await t.request("GET /enterprises/{enterprise}/actions/permissions/selected-actions",{enterprise:e});this.policy.selected=r}else{throw new Error('❗ GitHub Actions allow list automation is only possible with "Allow select actions" selected!')}}catch(t){if(t.status===404)throw new Error(`${e} is not a GitHub Enterprise Cloud account`);else throw t}}async updateEnterpriseActionsAllowList(){const{enterprise:e,octokit:t,policy:{actions:r,selected:s},allowList:o}=this;if(r==="selected"&&s.patterns_allowed){try{const{status:r}=await t.request("PUT /enterprises/{enterprise}/actions/permissions/selected-actions",{enterprise:e,patterns_allowed:o});if(r!==204){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}catch(e){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}s.patterns_allowed=o;return true}async loadCurrentOrganizationActionsPolicy(){const{organization:e,octokit:t}=this;try{const{data:{allowed_actions:r}}=await t.request("GET /orgs/{org}/actions/permissions",{org:e});const s=r;if(s===undefined){throw new Error(`❗ GitHub Actions disabled`)}this.policy={organization:e,actions:s};if(s==="selected"){const{data:r}=await t.request("GET /orgs/{org}/actions/permissions/selected-actions",{org:e});this.policy.selected=r}else{throw new Error('❗ GitHub Actions allow list automation is only possible with "Allow select actions" selected!')}}catch(t){if(t.status===404)throw new Error(`${e} is not a GitHub organization account`);else throw t}}async updateOrganizationActionsAllowList(){const{organization:e,octokit:t,policy:{actions:r,selected:s},allowList:o}=this;if(r==="selected"&&s.patterns_allowed){try{const{status:r}=await t.request("PUT /orgs/{org}/actions/permissions/selected-actions",{org:e,patterns_allowed:o});if(r!==204){throw new Error(`❗ Failed to update GitHub Actions allow list!`)}}catch(e){throw new Error(e.errors||`❗ Failed to update GitHub Actions allow list!`)}}s.patterns_allowed=o;return true}getPolicy(){return this.policy}async loadAllowListYAML(){const e=(0,o.readFileSync)(this.allowListPath,"utf8");const{actions:t}=load(e,{json:true});this.allowList=[...new Set(t)];return t}}const Eo=ActionPolicy;(async()=>{try{const t=getInput("token",{required:true});core_setSecret(t);const r=getInput("enterprise",{required:false})||null;const s=getInput("organization",{required:false})||null;const o=getInput("gh_api_url",{required:false})||"https://api.github.com";if(r&&s){throw new Error("❗ Please provide only one of: enterprise, organization")}const n=getInput("allow_list_path");const i=process.env.GITHUB_WORKSPACE;if(!i){throw new Error("❗ GITHUB_WORKSPACE environment variable is not set")}const a=(0,e.join)(i,n);const{dir:A}=(0,e.parse)(a);if(A.indexOf(i)<0){throw new Error(`❗ ${n} is not an allowed path`)}const c=new Eo({token:t,enterprise:r,organization:s,allowListPath:a,ghApiUrl:o});if(r)await c.loadCurrentEnterpriseActionsPolicy();if(s)await c.loadCurrentOrganizationActionsPolicy();info("✅ Loaded Existing GitHub Actions allow list for "+(r||s));await c.loadAllowListYAML();info("✅ Loaded updated allow list from file "+a);if(r)await c.updateEnterpriseActionsAllowList();if(s)await c.updateOrganizationActionsAllowList();info("✅ Updated GitHub Actions allow list for "+(r||s));setOutput("output","GitHub Actions allow list updated for "+(r||s))}catch(e){if(isDebug()){console.error(e.stack)}info("❗ GitHub Actions allow list update failed with error: "+e.message);setFailed(e.message)}})()})();module.exports=__webpack_exports__})(); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index b76ac3b..637bbc0 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","names":["__createBinding","this","Object","create","o","m","k","k2","undefined","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","enumerable","get","defineProperty","__setModuleDefault","v","value","__importStar","ownKeys","getOwnPropertyNames","ar","prototype","hasOwnProperty","call","length","mod","result","i","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","e","rejected","done","then","apply","exports","HttpClient","HttpClientResponse","HttpClientError","MediaTypes","Headers","HttpCodes","getProxyUrl","isHttps","http","__webpack_require__","https","pm","tunnel","undici_1","serverUrl","proxyUrl","URL","href","HttpRedirectCodes","MovedPermanently","ResourceMoved","SeeOther","TemporaryRedirect","PermanentRedirect","HttpResponseRetryCodes","BadGateway","ServiceUnavailable","GatewayTimeout","RetryableHttpVerbs","ExponentialBackoffCeiling","ExponentialBackoffTimeSlice","Error","constructor","message","statusCode","super","name","setPrototypeOf","readBody","output","Buffer","alloc","on","chunk","concat","toString","readBodyBuffer","chunks","push","requestUrl","parsedUrl","protocol","userAgent","handlers","requestOptions","_ignoreSslError","_allowRedirects","_allowRedirectDowngrade","_maxRedirects","_allowRetries","_maxRetries","_keepAlive","_disposed","_getUserAgentWithOrchestrationId","ignoreSslError","_socketTimeout","socketTimeout","allowRedirects","allowRedirectDowngrade","maxRedirects","Math","max","keepAlive","allowRetries","maxRetries","options","additionalHeaders","request","del","post","data","patch","put","head","sendStream","verb","stream","getJson","requestUrl_1","arguments","Accept","_getExistingOrDefaultHeader","ApplicationJson","res","_processResponse","postJson","obj_1","obj","JSON","stringify","ContentType","_getExistingOrDefaultContentTypeHeader","putJson","patchJson","headers","info","_prepareRequest","maxTries","includes","numTries","response","requestRaw","Unauthorized","authenticationHandler","handler","canHandleAuthentication","handleAuthentication","redirectsRemaining","redirectUrl","parsedRedirectUrl","hostname","header","toLowerCase","_performExponentialBackoff","dispose","_agent","destroy","callbackForResult","err","requestRawWithCallback","onResult","byteLength","callbackCalled","handleResult","req","httpModule","msg","socket","sock","setTimeout","end","path","write","pipe","getAgent","_getAgent","getAgentDispatcher","useProxy","_getProxyAgentDispatcher","method","usingSsl","defaultPort","host","port","parseInt","pathname","search","_mergeHeaders","agent","prepareRequest","assign","lowercaseKeys","_default","clientHeader","headerValue","additionalValue","String","Array","isArray","join","_proxyAgent","maxSockets","globalAgent","agentOptions","proxy","username","password","proxyAuth","tunnelAgent","overHttps","httpsOverHttps","httpsOverHttp","httpOverHttps","httpOverHttp","Agent","rejectUnauthorized","proxyAgent","_proxyAgentDispatcher","ProxyAgent","uri","pipelining","token","from","requestTls","baseUserAgent","orchId","process","env","sanitizedId","replace","retryNumber","min","ms","pow","NotFound","dateTimeDeserializer","key","a","Date","isNaN","valueOf","contents","deserializeDates","parse","keys","reduce","c","checkBypass","reqUrl","proxyVar","DecodedURL","_a","startsWith","reqHost","isLoopbackAddress","noProxy","reqPort","Number","upperReqHosts","toUpperCase","upperNoProxyItem","split","map","x","trim","filter","some","endsWith","hostLower","url","base","_decodedUsername","decodeURIComponent","_decodedPassword","formatArgs","save","load","useColors","storage","localstorage","warned","console","warn","colors","window","type","__nwjs","navigator","match","document","documentElement","style","WebkitAppearance","firebug","exception","table","args","namespace","module","humanize","diff","color","splice","index","lastC","log","debug","namespaces","setItem","removeItem","error","r","getItem","DEBUG","localStorage","formatters","j","setup","createDebug","default","coerce","disable","enable","enabled","forEach","names","skips","selectColor","hash","charCodeAt","abs","prevTime","enableOverride","namespacesCache","enabledCache","self","curr","prev","unshift","format","formatter","val","logFn","extend","set","init","delimiter","newDebug","Boolean","ns","slice","matchesTemplate","template","searchIndex","templateIndex","starIndex","matchIndex","skip","stack","browser","tty","util","deprecate","supportsColor","stderr","level","inspectOpts","test","prop","substring","_","isatty","fd","colorCode","prefix","getDate","hideDate","toISOString","formatWithOptions","inspect","str","O","s","h","d","w","y","isFinite","long","fmtLong","fmtShort","exec","n","parseFloat","msAbs","round","plural","isPlural","net","tls","events","assert","TunnelingAgent","createSocket","createSecureSocket","proxyOptions","defaultMaxSockets","requests","sockets","onFree","localAddress","toOptions","len","pending","onSocket","removeSocket","inherits","EventEmitter","addRequest","mergeOptions","onCloseOrRemove","emit","removeListener","cb","placeholder","connectOptions","connectReq","useChunkedEncodingByDefault","once","onResponse","onUpgrade","onConnect","onError","upgrade","nextTick","removeAllListeners","code","indexOf","cause","pos","shift","hostHeader","getHeader","tlsOptions","servername","secureSocket","connect","target","overrides","keyLen","NODE_DEBUG","Client","Dispatcher","Pool","BalancedPool","EnvHttpProxyAgent","RetryAgent","errors","InvalidArgumentError","api","buildConnector","MockClient","MockAgent","MockPool","mockErrors","RetryHandler","getGlobalDispatcher","setGlobalDispatcher","DecoratorHandler","RedirectHandler","createRedirectInterceptor","interceptors","redirect","retry","dump","dns","parseHeaders","headerNameToString","makeDispatcher","fn","opts","parseOrigin","origin","parseURL","dispatcher","body","fetchImpl","fetch","async","captureStackTrace","Response","Request","FormData","File","globalThis","FileReader","setGlobalOrigin","getGlobalOrigin","CacheStorage","kConstruct","caches","deleteCookie","getCookies","getSetCookies","setCookie","parseMIMEType","serializeAMimeType","CloseEvent","ErrorEvent","MessageEvent","WebSocket","pipeline","EventSource","addAbortListener","RequestAbortedError","kListener","Symbol","kSignal","abort","reason","removeSignal","addSignal","signal","aborted","removeEventListener","AsyncResource","SocketError","ConnectHandler","callback","opaque","responseHeaders","addEventListener","context","onHeaders","rawHeaders","parseRawHeaders","runInAsyncScope","queueMicrotask","connectHandler","dispatch","Readable","Duplex","PassThrough","InvalidReturnValueError","kResume","PipelineRequest","autoDestroy","_read","resume","_destroy","PipelineResponse","_readableState","endEmitted","PipelineHandler","onInfo","nop","ret","readableObjectMode","objectMode","read","encoding","destroyed","pause","ended","onData","onComplete","trailers","pipelineHandler","getResolveErrorBodyCallback","RequestHandler","throwOnError","highWaterMark","isStream","removeAbortListener","off","statusMessage","parsedHeaders","contentType","contentLength","finished","StreamHandler","factory","readable","needDrain","writableNeedDrain","_writableState","UpgradeHandler","upgradeHandler","NotSupportedError","AbortError","ReadableStreamFrom","kConsume","kReading","kBody","kAbort","kContentType","kContentLength","noop","BodyReadable","dataEmitted","setImmediate","ev","addListener","listenerCount","consumePush","text","consume","json","blob","bytes","arrayBuffer","formData","bodyUsed","isDisturbed","getReader","locked","limit","throwIfAborted","closeEmitted","onAbort","isLocked","isUnusable","rState","TypeError","errored","consumeFinish","consumeStart","state","bufferIndex","start","buffer","consumeEnd","chunksDecode","bufferLength","utf8Slice","chunksConcat","Uint8Array","allocUnsafeSlow","offset","Blob","ResponseStatusCodeError","CHUNK_LIMIT","stackTraceLimit","payload","isContentTypeApplicationJson","isContentTypeText","ConnectTimeoutError","timers","SessionCache","global","FinalizationRegistry","NODE_V8_COVERAGE","UNDICI_NO_FG","WeakSessionCache","maxCachedSessions","_maxCachedSessions","_sessionCache","Map","_sessionRegistry","size","ref","deref","delete","sessionKey","session","WeakRef","register","SimpleSessionCache","oldestKey","allowH2","socketPath","timeout","customSession","isInteger","sessionCache","httpSocket","getServerName","ALPNProtocols","keepAliveInitialDelay","setKeepAlive","clearConnectTimeout","setupConnectTimeout","setNoDelay","platform","socketWeakRef","s1","s2","fastTimer","setFastTimeout","onConnectTimeout","clearFastTimeout","clearImmediate","autoSelectFamilyAttemptedAddresses","headerNameLowerCasedRecord","wellknownHeaderNames","lowerCasedKey","diagnosticsChannel","undiciDebugLog","debuglog","fetchDebuglog","websocketDebuglog","isClientSet","channels","beforeConnect","channel","connected","connectError","sendHeaders","bodySent","open","close","socketError","ping","pong","subscribe","evt","connectParams","version","address","websocket","kUndiciError","for","UndiciError","hasInstance","instance","kConnectTimeoutError","kHeadersTimeoutError","HeadersTimeoutError","kHeadersOverflowError","HeadersOverflowError","kBodyTimeoutError","BodyTimeoutError","kResponseStatusCodeError","status","kInvalidArgumentError","kInvalidReturnValueError","kAbortError","kRequestAbortedError","kInformationalError","InformationalError","kRequestContentLengthMismatchError","RequestContentLengthMismatchError","kResponseContentLengthMismatchError","ResponseContentLengthMismatchError","kClientDestroyedError","ClientDestroyedError","kClientClosedError","ClientClosedError","kSocketError","kNotSupportedError","kBalancedPoolMissingUpstreamError","BalancedPoolMissingUpstreamError","kHTTPParserError","HTTPParserError","kResponseExceededMaxSizeError","ResponseExceededMaxSizeError","kRequestRetryError","RequestRetryError","kResponseError","ResponseError","kSecureProxyConnectionError","SecureProxyConnectionError","kMessageSizeExceededError","MessageSizeExceededError","isValidHTTPToken","isValidHeaderValue","isBuffer","isFormDataLike","isIterable","isBlobLike","buildURL","validateHandler","normalizedMethodRecords","invalidPathRegex","kHandler","query","idempotent","blocking","headersTimeout","bodyTimeout","reset","expectContinue","endHandler","errorHandler","ArrayBuffer","isView","byteOffset","completed","processHeader","iterator","hasSubscribers","publish","onBodySent","onRequestSent","onResponseStarted","statusText","onFinally","addHeader","headerName","arr","kClose","kDestroy","kDispatch","kUrl","kWriting","kResuming","kQueue","kConnect","kConnecting","kKeepAliveDefaultTimeout","kKeepAliveMaxTimeout","kKeepAliveTimeoutThreshold","kKeepAliveTimeoutValue","kKeepAlive","kHeadersTimeout","kBodyTimeout","kServerName","kLocalAddress","kHost","kNoRef","kBodyUsed","kRunning","kBlocking","kPending","kSize","kBusy","kQueued","kFree","kConnected","kClosed","kNeedDrain","kReset","kDestroyed","kOnError","kMaxHeadersSize","kRunningIdx","kPendingIdx","kError","kClients","kClient","kParser","kOnDestroyed","kPipelining","kSocket","kHostHeader","kConnector","kStrictContentLength","kMaxRedirections","kMaxRequests","kProxy","kCounter","kInterceptors","kMaxResponseSize","kHTTP2Session","kHTTP2SessionState","kRetryHandlerDefaultRetry","kListeners","kHTTPContext","kMaxConcurrentStreams","kNoProxyAgent","kHttpProxyAgent","kHttpsProxyAgent","TstNode","left","middle","right","add","node","keylength","TernarySearchTree","insert","lookup","tree","IncomingMessage","nodeUtil","EE","nodeMajor","nodeMinor","versions","BodyAsyncIterable","asyncIterator","wrapRequestBody","bodyLength","readableDidRead","pipeTo","object","sTag","toStringTag","queryParams","stringified","isValidPort","isHttpOrHttpsPrefixed","getHostname","idx","isIP","deepClone","isAsyncIterable","isDestroyed","getPrototypeOf","KEEPALIVE_TIMEOUT_EXPR","parseKeepAliveTimeout","bufferToLowerCasedHeaderName","headersValue","hasContentLength","contentDispositionIdx","kLen","isErrored","isReadable","getSocketInfo","localPort","remoteAddress","remotePort","remoteFamily","bytesWritten","bytesRead","iterable","ReadableStream","pull","controller","byobRequest","respond","buf","enqueue","desiredSize","cancel","return","append","getAll","has","listener","hasToWellFormed","toWellFormed","hasIsWellFormed","isWellFormed","toUSVString","isUSVString","isTokenCharCode","characters","headerCharRegex","parseRangeHeader","range","listeners","errorRequest","client","kEnumerableProperty","normalizedMethodRecordsBase","DELETE","GET","HEAD","OPTIONS","POST","PUT","PATCH","safeHTTPMethods","DispatcherBase","kOnConnect","kOnDisconnect","kOnConnectionError","kOnDrain","kFactory","kOptions","defaultFactory","connections","maxRedirections","targets","values","closePromises","clear","all","destroyPromises","PoolBase","kAddClient","kRemoveClient","kGetDispatcher","kGreatestCommonDivisor","kCurrentWeight","kIndex","kWeight","kMaxWeightPerServer","kErrorPenalty","getGreatestCommonDivisor","b","t","upstreams","maxWeightPerServer","errorPenalty","upstream","addUpstream","_updateBalancedPoolStats","upstreamOrigin","find","pool","closed","removeUpstream","p","allClientsBusy","counter","maxWeightIndex","findIndex","constants","EMPTY_BUF","FastBuffer","species","kIdleSocketValidation","kIdleSocketValidationTimeout","kSocketUsed","extractBody","lazyllhttp","llhttpWasmData","JEST_WORKER_ID","WebAssembly","compile","instantiate","wasm_on_url","at","wasm_on_status","currentParser","ptr","currentBufferPtr","currentBufferRef","onStatus","wasm_on_message_begin","onMessageBegin","wasm_on_header_field","onHeaderField","wasm_on_header_value","onHeaderValue","wasm_on_headers_complete","shouldKeepAlive","onHeadersComplete","wasm_on_body","onBody","wasm_on_message_complete","onMessageComplete","llhttpInstance","llhttpPromise","catch","currentBufferSize","USE_NATIVE_TIMER","USE_FAST_TIMER","TIMEOUT_HEADERS","TIMEOUT_BODY","TIMEOUT_KEEP_ALIVE","Parser","llhttp","llhttp_alloc","TYPE","RESPONSE","timeoutValue","timeoutType","headersSize","headersMaxSize","paused","bind","connection","maxResponseSize","delay","clearTimeout","onParserTimeout","unref","refresh","llhttp_resume","execute","readMore","free","ceil","malloc","memory","llhttp_execute","llhttp_get_error_pos","ERROR","OK","subarray","PAUSED_UPGRADE","PAUSED","createError","finish","llhttp_finish","llhttp_get_error_reason","llhttp_free","trackHeader","keepAliveTimeout","parser","connectH1","parserErr","clearIdleSocketValidation","defaultPipelining","writeH1","resumeH1","busy","scheduleIdleSocketValidation","shouldSendContentLength","expectsPayload","bodyStream","contentTypeValue","emitWarning","writeBuffer","writeIterable","writeBlob","writeStream","writer","AsyncWriter","onDrain","onClose","onFinished","er","errorEmitted","readableEnded","cork","uncork","waitForDrain","kOpenStreams","h2ExperimentalWarned","http2","HTTP2_HEADER_AUTHORITY","HTTP2_HEADER_METHOD","HTTP2_HEADER_PATH","HTTP2_HEADER_SCHEME","HTTP2_HEADER_CONTENT_LENGTH","HTTP2_HEADER_EXPECT","HTTP2_HEADER_STATUS","parseH2Headers","entries","subvalue","connectH2","createConnection","peerMaxConcurrentStreams","onHttp2SessionError","onHttp2FrameError","onHttp2SessionEnd","onHTTP2GoAway","Infinity","writeH2","resumeH2","id","reqHeaders","endStream","shouldEndStream","writeBodyH2","realHeaders","h2stream","onPipeData","deprecatedInterceptorWarned","kClosedResolve","getPipelining","maxHeaderSize","requestTimeout","connectTimeout","idleTimeout","maxKeepAliveTimeout","keepAliveMaxTimeout","keepAliveTimeoutThreshold","strictContentLength","maxRequestsPerClient","autoSelectFamily","autoSelectFamilyAttemptTimeout","maxConcurrentStreams","webSocket","sync","ip","connector","alpnProtocol","emitDrain","_resume","kOnClosed","kInterceptedDispatch","kWebSocketOptions","webSocketOptions","maxFragments","maxPayloadSize","newInterceptors","interceptor","onClosed","callbacks","onDestroyed","compose","ComposedDispatcher","DEFAULT_PORTS","experimentalWarned","noProxyValue","noProxyEntries","httpProxy","httpsProxy","agentOpts","HTTP_PROXY","http_proxy","HTTPS_PROXY","https_proxy","parseNoProxy","getProxyAgentForUrl","shouldProxy","noProxyChanged","entry","noProxyEnv","noProxySplit","parsed","no_proxy","NO_PROXY","kMask","FixedCircularBuffer","bottom","top","list","isEmpty","isFull","nextItem","FixedQueue","tail","PoolStats","kStats","queue","item","running","stats","kPool","queued","kConnections","kAgent","kProxyHeaders","kRequestTls","kProxyTls","kConnectEndpoint","kTunnelProxy","defaultProtocolPort","defaultAgentFactory","Http1ProxyWrapper","clientFactory","proxyTunnel","getUrl","proxyHostname","proxyTls","auth","agentFactory","requestedPath","buildHeaders","throwIfProxyAuthIsSent","headersPair","existProxyAuth","retryOptions","globalDispatcher","redirectableStatusCodes","location","history","redirectionLimitReached","parseLocation","throwOnMaxRedirect","cleanRequestHeaders","shouldRemoveHeader","removeContent","unknownOrigin","calculateRetryAfterHeader","retryAfter","current","now","getTime","validatePartialResponseContentLength","retryCount","expectedLength","count","dispatchOpts","retryFn","maxTimeout","minTimeout","timeoutFactor","methods","errorCodes","statusCodes","retryOpts","retryCountCheckpoint","etag","retryAfterHeader","retryTimeout","contentRange","contentLengthError","rawTrailers","onRetry","maxInt","DNSInstance","maxTTL","maxItems","records","dualStack","affinity","pick","defaultLookup","defaultPick","full","runLookup","ips","newOpts","addresses","setRecords","family","order","results","addr","hostnameRecords","position","timestamp","ttl","record","familyRecords","getHandler","meta","DNSDispatchHandler","newOrigin","deleteRecord","interceptorOpts","dnsInterceptor","origDispatchOpts","DumpHandler","maxSize","dumped","customAbort","createDumpInterceptor","defaultMaxSize","Intercept","dumpMaxSize","dumpHandler","defaultMaxRedirections","redirectHandler","globalMaxRedirections","redirectInterceptor","baseOpts","globalOpts","retryInterceptor","SPECIAL_HEADERS","HEADER_STATE","MINOR","MAJOR","CONNECTION_TOKEN_CHARS","HEADER_CHARS","TOKEN","STRICT_TOKEN","HEX","URL_CHAR","STRICT_URL_CHAR","USERINFO_CHARS","MARK","ALPHANUM","NUM","HEX_MAP","NUM_MAP","ALPHA","FINISH","H_METHOD_MAP","METHOD_MAP","METHODS_RTSP","METHODS_ICE","METHODS_HTTP","METHODS","LENIENT_FLAGS","FLAGS","utils_1","CONNECT","TRACE","COPY","LOCK","MKCOL","MOVE","PROPFIND","PROPPATCH","SEARCH","UNLOCK","BIND","REBIND","UNBIND","ACL","REPORT","MKACTIVITY","CHECKOUT","MERGE","NOTIFY","SUBSCRIBE","UNSUBSCRIBE","PURGE","MKCALENDAR","LINK","UNLINK","PRI","SOURCE","DESCRIBE","ANNOUNCE","SETUP","PLAY","PAUSE","TEARDOWN","GET_PARAMETER","SET_PARAMETER","REDIRECT","RECORD","FLUSH","enumToMap","fromCharCode","A","B","C","D","E","F","f","CONNECTION","CONTENT_LENGTH","TRANSFER_ENCODING","UPGRADE","kMockAgentSet","kMockAgentGet","kDispatches","kIsMockActive","kNetConnect","kGetNetConnect","matchValue","buildMockOptions","Pluralizer","PendingInterceptorsFormatter","deactivate","activate","enableNetConnect","matcher","RegExp","disableNetConnect","isMockActive","mockOptions","keyMatcher","nonExplicitDispatcher","pendingInterceptors","mockAgentClients","flatMap","scope","assertNoPendingInterceptors","pendingInterceptorsFormatter","pluralizer","pluralize","noun","is","promisify","buildMockDispatch","kMockAgent","kOriginalClose","kOrigin","kOriginalDispatch","MockInterceptor","Symbols","intercept","kMockNotMatchedError","MockNotMatchedError","getResponseData","buildKey","addMockDispatch","kDispatchKey","kDefaultHeaders","kDefaultTrailers","kMockDispatch","MockScope","mockDispatch","waitInMs","persist","times","repeatTimes","mockDispatches","parsedURL","createMockScopeDispatchData","responseOptions","responseData","validateReplyParameters","replyParameters","reply","replyOptionsCallbackOrStatusCode","wrappedDefaultsCallback","resolvedData","newMockDispatch","dispatchData","replyWithError","defaultReplyHeaders","defaultReplyTrailers","replyContentLength","STATUS_CODES","types","isPromise","lowerCaseEntries","fromEntries","toLocaleLowerCase","getHeaderByName","buildHeadersFromArray","clone","matchHeaders","matchHeaderName","matchHeaderValue","safeUrl","pathSegments","qp","URLSearchParams","pop","sort","matchKey","pathMatch","methodMatch","bodyMatch","headersMatch","getMockDispatch","basePath","resolvedPath","matchedMockDispatches","consumed","baseData","timesInvoked","replyData","deleteMockDispatch","generateKeyValues","getStatusText","getResponse","buffers","handleReply","_data","optsHeaders","newData","responseTrailers","originalDispatch","netConnect","checkNetConnect","Transform","Console","PERSISTENT","icu","NOT_PERSISTENT","disableColors","transform","_enc","logger","stdout","inspectOptions","CI","withPrettyHeaders","Method","Origin","Path","Persistent","Invocations","Remaining","singulars","pronoun","was","plurals","singular","one","fastNow","RESOLUTION_MS","TICK_MS","fastNowTimeout","kFastTimer","fastTimers","NOT_IN_LIST","TO_BE_CLEARED","PENDING","ACTIVE","onTick","timer","_state","_idleStart","_idleTimeout","_onTimeout","_timerArg","refreshTimeout","FastTimer","arg","tick","urlEquals","getFieldValues","webidl","cloneResponse","fromInnerResponse","fromInnerRequest","kState","fetching","urlIsHttpHttpsScheme","createDeferredPromise","readAllBytes","Cache","relevantRequestResponseList","illegalConstructor","markAsUncloneable","brandCheck","argumentLengthCheck","converters","RequestInfo","CacheQueryOptions","internalMatchAll","matchAll","responseArrayPromise","addAll","responsePromises","requestList","conversionFailed","argument","fetchControllers","initiator","destination","responsePromise","processResponse","headersList","contains","fieldValues","fieldValue","processResponseEndOfBody","DOMException","promise","responses","operations","operation","cacheJobPromise","errorData","batchCacheOperations","innerRequest","innerResponse","clonedResponse","bodyReadPromise","reader","source","ignoreMethod","requestResponses","requestResponse","queryCache","requestObject","AbortController","freeze","cache","backupCache","addedItems","resultList","requestQuery","targetStorage","cachedRequest","cachedResponse","requestMatchesCachedItem","queryURL","cachedURL","ignoreSearch","ignoreVary","requestValue","queryValue","maxResponses","responseList","responseObject","defineProperties","cacheQueryOptionConverters","converter","boolean","defaultValue","dictionaryConverter","MultiCacheQueryOptions","DOMString","interfaceConverter","sequenceConverter","cacheName","cacheList","URLSerializer","isValidHeaderName","excludeFragment","serializedA","serializedB","maxAttributeValueSize","maxNameValuePairSize","parseSetCookie","strict","cookie","out","piece","attributes","DeleteCookieAttributes","expires","cookies","getSetCookie","pair","Cookie","nullableConverter","USVString","allowedValues","isCTLExcludingHtab","collectASequenceOfCodePointsFast","nameValuePair","unparsedAttributes","parseUnparsedAttributes","cookieAttributeList","cookieAv","attributeName","attributeValue","attributeNameLowercase","expiryTime","charCode","deltaSeconds","maxAge","cookieDomain","domain","cookiePath","secure","httpOnly","attributeValueLowercase","sameSite","unparsed","validateCookieName","validateCookieValue","validateCookiePath","isLetterOrDigit","validateCookieDomain","labelLength","IMFDays","IMFMonths","IMFPaddedNumbers","fill","padStart","toIMFDate","date","getUTCDay","getUTCDate","getUTCMonth","getUTCFullYear","getUTCHours","getUTCMinutes","getUTCSeconds","validateCookieMaxAge","part","trimmedKey","joinedValue","isASCIINumber","isValidLastEventId","BOM","LF","CR","COLON","SPACE","EventSourceStream","checkBOM","crlfCheck","eventEndCheck","event","eventSourceSettings","_transform","_encoding","processEvent","clearEvent","parseLine","line","colonPosition","field","valueStart","reconnectionTime","lastEventId","makeRequest","createFastMessageEvent","isNetworkError","environmentSettingsObject","defaultReconnectionTime","CONNECTING","OPEN","CLOSED","ANONYMOUS","USE_CREDENTIALS","EventTarget","withCredentials","readyState","eventSourceInitDict","EventSourceInitDict","settings","urlRecord","settingsObject","baseUrl","corsAttributeState","initRequest","keepalive","mode","credentials","referrer","urlList","fetchParams","processEventSourceEndOfBody","dispatchEvent","Event","reconnect","mimeType","contentTypeValid","essence","eventSourceStream","onopen","onmessage","onerror","constantsPropertyDescriptors","__proto__","any","isReadableStreamLike","readableStreamClose","fullyReadBody","extractMimeType","utf8DecodeBytes","isArrayBuffer","multipartFormDataParser","random","crypto","randomInt","floor","textEncoder","TextEncoder","hasFinalizationRegistry","streamRegistry","weakRef","encode","action","boundary","escape","normalizeLinefeeds","blobParts","rn","hasUnknownSizeValue","safelyExtractBody","cloneBody","out1","out2","tee","bodyMixinMethods","consumeBody","bodyMimeType","parseJSONFromBytes","mixinBody","convertBytesToJSValue","bodyUnusable","errorSteps","successSteps","allocUnsafe","requestOrResponse","corsSafeListedMethods","corsSafeListedMethodsSet","Set","nullBodyStatus","redirectStatus","redirectStatusSet","badPorts","badPortsSet","referrerPolicy","referrerPolicySet","requestRedirect","safeMethods","safeMethodsSet","requestMode","requestCredentials","requestCache","requestBodyHeader","requestDuplex","forbiddenMethods","forbiddenMethodsSet","subresource","subresourceSet","encoder","HTTP_TOKEN_CODEPOINTS","HTTP_WHITESPACE_REGEX","ASCII_WHITESPACE_REPLACE_REGEX","HTTP_QUOTED_STRING_TOKENS","dataURLProcessor","dataURL","input","mimeTypeLength","removeASCIIWhitespace","encodedBody","stringPercentDecode","stringBody","isomorphicDecode","forgivingBase64","mimeTypeRecord","hashLength","serialized","collectASequenceOfCodePoints","condition","char","percentDecode","isHexCharByte","byte","hexByteToNumber","removeHTTPWhitespace","subtype","typeLowercase","subtypeLowercase","parameters","parameterName","parameterValue","collectAnHTTPQuotedString","dataLength","extractValue","positionStart","quoteOrBackslash","serialization","isHTTPWhiteSpace","leading","trailing","removeChars","isASCIIWhitespace","predicate","lead","trail","addition","minimizeSupportedMimeType","CompatWeakRef","CompatFinalizer","finalizer","unregister","_rawDebug","FileLike","blobLike","fileName","lastModified","isFileLike","makeEntry","NodeFile","formDataNameBuffer","filenameBuffer","dd","ddcrlf","isAsciiString","chars","validateBoundary","cp","boundaryString","entryList","equals","bufferStartsWith","parseMultipartFormDataHeaders","filename","boundaryIndex","collectASequenceOfBytes","parseMultipartFormDataName","check","TextDecoder","decode","iteratorMixin","NativeFile","form","custom","depth","globalOrigin","kHeadersMap","kHeadersSortedMap","isHTTPWhiteSpaceCharCode","headerValueNormalize","potentialValue","appendHeader","invalidArgument","getHeadersGuard","getHeadersList","compareHeaderName","HeadersList","isLowerCase","lowercaseName","exists","rawValues","entriesList","lowerName","toSortedArray","array","firstValue","pivot","guard","HeadersInit","ByteString","setHeadersGuard","setHeadersList","Reflect","deleteProperty","V","Type","isProxy","makeNetworkError","makeAppropriateNetworkError","filterResponse","makeResponse","cloneRequest","zlib","bytesMatch","makePolicyContainer","clonePolicyContainer","requestBadPort","TAOCheck","appendRequestOriginHeader","responseLocationURL","requestCurrentURL","setRequestReferrerPolicyOnRedirect","tryUpgradeRequestToAPotentiallyTrustworthyURL","createOpaqueTimingInfo","appendFetchMetadata","corsCheck","crossOriginResourcePolicyCheck","determineRequestsReferrer","coarsenedSharedCurrentTime","sameOrigin","isCancelled","isAborted","isErrorLike","isomorphicEncode","urlIsLocal","urlHasHttpsScheme","clampAndCoarsenConnectionTimingInfo","simpleRangeHeaderValue","buildContentRange","createInflate","kDispatcher","GET_OR_HEAD","defaultUserAgent","__UNDICI_IS_NODE__","esbuildDetection","resolveObjectURL","Fetch","terminate","serializedAbortReason","handleFetchDone","finalizeAndReportTiming","abortFetch","globalObject","serviceWorkers","locallyAborted","realResponse","initiatorType","originalURL","timingInfo","cacheState","timingAllowPassed","startTime","endTime","markResourceTiming","performance","processRequestBodyChunkLength","processRequestEndOfBody","processResponseConsumeBody","useParallelQueue","taskDestination","crossOriginIsolatedCapability","currentTime","policyContainer","priority","mainFetch","recursive","localURLsOnly","currentURL","responseTainting","schemeFetch","httpFetch","internalResponse","timingAllowFailed","rangeRequested","integrity","processBodyError","fetchFinale","processBody","redirectCount","scheme","blobURLEntry","fullLength","serializedFullLength","bodyWithType","rangeHeader","rangeValue","rangeStartValue","rangeStart","rangeEndValue","rangeEnd","slicedBlob","slicedBodyWithType","serializedSlicedLength","dataURLStruct","finalizeResponse","processResponseDone","unsafeEndTime","fullTimingInfo","reportTimingSteps","bodyInfo","responseStatus","hasCrossOriginRedirects","processResponseEndOfBodyTask","actualResponse","httpNetworkOrCacheFetch","httpRedirectFetch","locationURL","redirectEndTime","postRedirectStartTime","redirectStartTime","isAuthenticationFetch","isNewConnectionFetch","httpFetchParams","httpRequest","httpCache","revalidatingFlag","includeCredentials","contentLengthHeaderValue","preventNoCacheCacheControlHeaderModification","forwardResponse","httpNetworkFetch","requestIncludesCredentials","forceNewConnection","newConnection","requestBody","processBodyChunk","processEndOfBody","pullAlgorithm","cancelAlgorithm","onAborted","isFailure","encodedBodySize","decodedBodySize","finalConnectionTimingInfo","finalNetworkRequestStartTime","finalNetworkResponseStartTime","decoders","willFollow","contentEncoding","codings","maxContentEncodings","coding","createGunzip","flush","Z_SYNC_FLUSH","finishFlush","createBrotliDecompress","BROTLI_OPERATION_FLUSH","fillHeaders","kHeaders","getMaxListeners","setMaxListeners","getEventListeners","defaultMaxListeners","kAbortController","requestFinalizer","dependentControllerMap","WeakMap","buildAbort","acRef","ac","controllerList","ctrl","patchMethodWarning","RequestInit","fallbackMode","unsafeRequest","reloadNavigation","historyNavigation","initHasKey","parsedReferrer","mayBeNormalized","upperCase","inputBody","initBody","extractedBody","inputOrInitBody","duplex","useCORSPreflightFlag","finalBody","identityTransform","TransformStream","pipeThrough","isReloadNavigation","isHistoryNavigation","clonedRequest","properties","reservedClient","replacesClientId","useCredentials","cryptoGraphicsNonceMetadata","parserMetadata","userActivation","taintedOrigin","newRequest","attribute","AbortSignal","BodyInit","isValidReasonPhrase","serializeJavascriptValueToJSONString","relevantRealm","ResponseInit","initializeResponse","RangeError","redirected","ok","newResponse","isError","makeFilteredResponse","Proxy","XMLHttpRequestBodyInit","BufferSource","referrerPolicyTokens","isUint8Array","supportedHashes","possibleRelevantHashes","getHashes","responseURL","requestFragment","isValidEncodedURL","normalizeBinaryStringToUtf8","policyHeader","policy","serializedOrigin","coarsenTime","connectionTimingInfo","defaultStartTime","domainLookupStartTime","domainLookupEndTime","connectionStartTime","connectionEndTime","secureConnectionStartTime","ALPNNegotiatedProtocol","finalServiceWorkerStartTime","referrerSource","referrerURL","stripURLForReferrer","referrerOrigin","areSameOrigin","isNonPotentiallyTrustWorthy","isURLPotentiallyTrustworthy","originOnly","isOriginPotentiallyTrustworthy","originAsURL","metadataList","parsedMetadata","parseMetadata","strongest","getStrongestMetadata","metadata","filterMetadataListByAlgorithm","algorithm","algo","expectedValue","actualValue","createHash","update","digest","compareBase64Mixed","parseHashWithOptions","empty","parsedToken","groups","rej","normalizeMethod","esIteratorPrototype","createIterator","kInternalIterator","keyIndex","valueIndex","FastIterableIterator","kind","makeIterator","callbackfn","invalidIsomorphicEncodeValueRegex","allowWhitespace","InflateStream","zlibOptions","_inflateStream","createInflateRaw","_final","charset","getDecodeSplit","temporaryMimeType","gettingDecodingSplitting","temporaryValue","textDecoder","EnvironmentSettingsObjectBase","EnvironmentSettingsObject","I","ctx","ConvertToInt","bitLength","signedness","upperBound","lowerBound","enforceRange","POSITIVE_INFINITY","NEGATIVE_INFINITY","Stringify","IntegerPart","clamp","description","Iterable","seq","recordConverter","keyConverter","valueConverter","getOwnPropertySymbols","typedKey","typedValue","dictionary","dict","required","hasOwn","hasDefault","legacyNullToEmptyString","isAnyArrayBuffer","allowShared","isSharedArrayBuffer","resizable","growable","TypedArray","T","isTypedArray","DataView","isDataView","getEncoding","label","staticPropertyDescriptors","readOperation","fireAProgressEvent","kResult","kEvents","kAborted","loadend","progress","loadstart","readAsArrayBuffer","readAsBinaryString","readAsText","readAsDataURL","EMPTY","LOADING","DONE","onloadend","onloadstart","onprogress","onload","onabort","ProgressEvent","eventInitDict","ProgressEventInit","lengthComputable","loaded","total","kLastProgressEventFired","StringDecoder","btoa","fr","encodingName","chunkPromise","isFirstChunk","packageData","bubbles","cancelable","decoder","sequence","combineByteSequences","binaryString","ioQueue","BOMEncoding","BOMSniffing","sliced","sequences","uid","states","sentCloseFrameState","emptyBuffer","opcodes","kReadyState","kSentClose","kByteParser","kReceivedClose","kResponse","fireEvent","failWebsocketConnection","isClosing","isClosed","isEstablished","parseExtensions","WebsocketFrameSend","establishWebSocketConnection","protocols","ws","onEstablish","requestURL","keyValue","randomBytes","permessageDeflate","secWSAccept","secExtension","extensions","secProtocol","requestProtocols","onSocketData","onSocketClose","onSocketError","closeWebSocketConnection","reasonByteLength","CLOSING","NOT_SENT","PROCESSING","frame","frameData","writeUInt16BE","createFrame","CLOSE","SENT","wasClean","closingInfo","CONTINUATION","TEXT","BINARY","PING","PONG","maxUnsigned16Bit","parserStates","INFO","PAYLOADLENGTH_16","PAYLOADLENGTH_64","READ_DATA","sendHints","string","typedArray","MessagePort","eventInit","MessageEventInit","ports","isFrozen","initMessageEvent","messageEvent","CloseEventInit","ErrorEventInit","lineno","colno","BUFFER_SIZE","bufIdx","randomFillSync","_offset","_size","generateMask","opcode","maskKey","payloadLength","writeUIntBE","Z_DEFAULT_WINDOWBITS","isValidClientWindowBits","kBuffer","kLength","PerMessageDeflate","inflate","serverNoContextTakeover","serverMaxWindowBits","decompress","fin","windowBits","Writable","isValidStatusCode","isValidOpcode","websocketMessageReceived","utf8Decode","isControlFrame","isTextBinaryFrame","isContinuationFrame","failWebsocketConnectionWithCode","ByteParser","fragmentsBytes","loop","fragments","_write","run","validatePayloadLength","masked","fragmented","rsv1","rsv2","rsv3","compressed","binaryType","readUInt16BE","upper","readUInt32BE","lower","parseControlFrame","writeFragments","consumeFragments","fragment","parseCloseBody","closeInfo","closeFrame","SendQueue","hint","ab","toBuffer","kWebSocketURL","kController","kBinaryType","isUtf8","isConnecting","eventFactory","dataForEvent","toArrayBuffer","isValidSubprotocol","extensionList","num","hasIntl","fatalDecoder","fatal","bufferedAmount","sendQueue","baseURL","every","onConnectionEstablished","send","WebSocketSendData","onclose","parsedExtensions","onParserDrain","onParserError","WebSocketInit","eval","require","NullObject","paramRE","quotedPairRE","mediaTypeRE","defaultContentType","lastIndex","safeParse","__webpack_unused_export__","xL","_err","INTERNAL","external_http_","isSecureEndpoint","secureEndpoint","l","incrementSockets","maxTotalSockets","fakeSocket","external_net_","Socket","totalSocketCount","decrementSockets","getName","external_https_","connectOpts","currentSocket","__webpack_module_cache__","moduleId","cachedModule","threw","__webpack_modules__","getProto","leafPrototypes","def","definition","chunkId","promises","u","__dirname","installedChunks","installChunk","moreModules","modules","chunkIds","ids","runtime","utils_toCommandValue","utils_toCommandProperties","annotationProperties","title","file","startLine","endLine","col","startColumn","endColumn","command_issueCommand","command","cmd","Command","external_os_","EOL","command_issue","CMD_STRING","cmdStr","first","escapeProperty","escapeData","file_command_issueFileCommand","filePath","external_fs_","existsSync","appendFileSync","file_command_prepareKeyValueMessage","external_crypto_","randomUUID","convertedValue","lib_getProxyUrl","lib_HttpClient","auth_awaiter","BasicCredentialHandler","auth_BearerCredentialHandler","PersonalAccessTokenCredentialHandler","oidc_utils_awaiter","oidc_utils_OidcClient","createHttpClient","allowRetry","maxRetry","BearerCredentialHandler","getRequestToken","getIDTokenUrl","runtimeUrl","getCall","id_token_url","httpclient","id_token","getIDToken","audience","encodedAudience","encodeURIComponent","setSecret","summary_awaiter","access","appendFile","writeFile","SUMMARY_ENV_VAR","SUMMARY_DOCS_URL","Summary","_buffer","_filePath","pathFromEnv","R_OK","W_OK","wrap","tag","content","attrs","htmlAttrs","overwrite","writeFunc","isEmptyBuffer","addRaw","addEOL","addCodeBlock","lang","element","addList","items","ordered","listItems","addTable","rows","tableBody","row","cells","cell","colspan","rowspan","addDetails","addImage","src","alt","width","height","addHeading","allowedTag","addSeparator","addBreak","addQuote","cite","addLink","_summary","markdownSummary","summary","toPosixPath","pth","toWin32Path","toPlatformPath","sep","external_child_process_namespaceObject","io_util_awaiter","chmod","copyFile","lstat","mkdir","io_util_open","readdir","rename","rm","rmdir","stat","symlink","unlink","IS_WINDOWS","readlink","fsPath","fs","UV_FS_O_EXLOCK","READONLY","O_RDONLY","isDirectory","fsPath_1","useStat","isRooted","normalizeSeparators","tryGetExecutablePath","isFile","upperExt","external_path_","extname","validExt","isUnixExecutable","originalFilePath","extension","directory","dirname","upperName","basename","actualName","getgid","gid","getuid","getCmdPath","io_awaiter","source_1","dest_1","dest","force","copySourceDirectory","readCopyOptions","destStat","ioUtil","newDest","sourceStat","cpDirRecursive","relative","io_copyFile","mv","destExists","rmRF","mkdirP","inputPath","retryDelay","which","tool","matches","findInPath","directories","PATH","sourceDir","destDir","currentDepth","files","srcFile","destFile","srcFileStat","isSymbolicLink","symlinkFull","external_timers_namespaceObject","toolrunner_awaiter","toolrunner_IS_WINDOWS","ToolRunner","external_events_","toolPath","_debug","_getCommandString","noPrefix","_getSpawnFileName","_getSpawnArgs","_isCmdFile","windowsVerbatimArguments","_windowsQuoteCmdArg","_processLineBuffer","strBuffer","onLine","argline","_endsWith","upperToolPath","_uvQuoteCmdArg","cmdSpecialChars","needsQuotes","reverse","quoteHit","_cloneExecOptions","cwd","silent","failOnStdErr","ignoreReturnCode","outStream","errStream","_getSpawnOptions","argv0","optionsNonNull","ExecState","spawn","stdbuffer","stdline","errbuffer","processStderr","errline","processError","processExited","processClosed","CheckComplete","processExitCode","exitCode","stdin","argStringToArray","argString","inQuotes","escaped","charAt","_setResult","HandleTimeout","exec_awaiter","exec_exec","commandLine","commandArgs","tr","runner","getExecOutput","_b","stdoutDecoder","stderrDecoder","originalStdoutListener","originalStdErrListener","stdErrListener","stdOutListener","platform_awaiter","getWindowsInfo","getMacOsInfo","_c","_d","getLinuxInfo","arch","isWindows","isMacOS","isLinux","getDetails","core_awaiter","ExitCode","exportVariable","convertedVal","toCommandValue","issueFileCommand","prepareKeyValueMessage","issueCommand","core_setSecret","secret","addPath","getInput","trimWhitespace","getMultilineInput","inputs","getBooleanInput","trueValue","falseValue","setOutput","setCommandEcho","issue","setFailed","Failure","isDebug","core_debug","warning","toCommandProperties","notice","startGroup","endGroup","group","saveState","getState","aud","OidcClient","Context","GITHUB_EVENT_PATH","readFileSync","eventName","GITHUB_EVENT_NAME","sha","GITHUB_SHA","GITHUB_REF","workflow","GITHUB_WORKFLOW","GITHUB_ACTION","actor","GITHUB_ACTOR","job","GITHUB_JOB","runAttempt","GITHUB_RUN_ATTEMPT","runNumber","GITHUB_RUN_NUMBER","runId","GITHUB_RUN_ID","apiUrl","GITHUB_API_URL","GITHUB_SERVER_URL","graphqlUrl","GITHUB_GRAPHQL_URL","repo","number","pull_request","GITHUB_REPOSITORY","owner","repository","login","utils_awaiter","getAuthString","getProxyAgent","destinationUrl","hc","lib","getProxyAgentDispatcher","getProxyFetch","httpDispatcher","proxyFetch","undici","getApiBaseUrl","getUserAgentWithOrchestrationId","ua","getUserAgent","substr","registry","registered","hook","addHook","orig","result_","removeHook","Function","bindable","bindApi","removeHookRef","remove","Singular","singularHookName","singularHookState","singularHook","Collection","before_after_hook","VERSION","DEFAULTS","accept","mediaType","dist_bundle_lowercaseKeys","newObj","isPlainObject","proto","Ctor","mergeDeep","defaults","removeUndefinedProperties","merge","route","mergedOptions","previews","preview","addQueryParameters","separator","q","urlVariableRegex","removeNonChars","variableName","extractUrlVariableNames","omit","keysToOmit","encodeReserved","encodeURI","encodeUnreserved","encodeValue","operator","isDefined","isKeyOperator","getValues","modifier","value2","tmp","parseUrl","expand","operators","expression","literal","variable","urlVariableNames","omittedParameters","option","remainingParameters","isBinaryRequest","previewsFromAcceptHeader","endpointWithDefaults","withDefaults","oldDefaults","newDefaults","DEFAULTS2","endpoint2","endpoint","intRegex","noiseValue","originalStringify","originalParse","customFormat","bigIntsStringify","noiseStringify","JSONStringify","replacer","space","rawJSON","convertedToCustomJSON","isNoise","processedJSON","denoisedJSON","featureCache","isContextSourceSupported","parseFingerprint","__","convertMarkedBigIntsReviver","userReviver","isCustomFormatBigInt","BigInt","isNoiseValue","JSONParseV2","reviver","isBigNumber","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isInt","isBigInt","MAX_INT","MAX_DIGITS","stringsOrLargeNumbers","noiseValueWithQuotes","JSONParse","serializedData","digits","fractional","exponential","isString","isFractionalOrExponential","isLessThanMaxSafeInt","RequestError","requestCopy","authorization","dist_bundle_VERSION","defaults_default","dist_bundle_isPlainObject","fetchWrapper","parseSuccessResponseBody","requestHeaders","fetchResponse","requestError","octokitResponse","link","deprecationLink","sunset","toErrorMessage","mimetype","fast_content_type_parse","isJSONResponse","suffix","documentation_url","dist_bundle_withDefaults","oldEndpoint","newApi","endpointOptions","request2","route2","parameters2","graphql_dist_bundle_VERSION","_buildMessageForResponseErrors","GraphqlResponseError","NON_VARIABLE_OPTIONS","FORBIDDEN_VARIABLE_OPTIONS","GHES_V3_SUFFIX_REGEX","graphql","parsedOptions","variables","graphql_dist_bundle_withDefaults","graphql2","withCustomRequest","customRequest","b64url","jwtRE","isJWT","isApp","isInstallation","isUserToServer","tokenType","withAuthorizationPrefix","createTokenAuth","createTokenAuth2","version_VERSION","dist_src_noop","consoleWarn","consoleError","createLogger","userAgentTrail","Octokit","static","OctokitWithDefaults","plugin","newPlugins","currentPlugins","plugins","NewOctokit","requestDefaults","timeZone","authStrategy","otherOptions","octokit","octokitOptions","classConstructor","dist_src_version_VERSION","Endpoints","actions","addCustomLabelsToSelfHostedRunnerForOrg","addCustomLabelsToSelfHostedRunnerForRepo","addRepoAccessToSelfHostedRunnerGroupInOrg","addSelectedRepoToOrgSecret","addSelectedRepoToOrgVariable","approveWorkflowRun","cancelWorkflowRun","createEnvironmentVariable","createHostedRunnerForOrg","createOrUpdateEnvironmentSecret","createOrUpdateOrgSecret","createOrUpdateRepoSecret","createOrgVariable","createRegistrationTokenForOrg","createRegistrationTokenForRepo","createRemoveTokenForOrg","createRemoveTokenForRepo","createRepoVariable","createWorkflowDispatch","deleteActionsCacheById","deleteActionsCacheByKey","deleteArtifact","deleteCustomImageFromOrg","deleteCustomImageVersionFromOrg","deleteEnvironmentSecret","deleteEnvironmentVariable","deleteHostedRunnerForOrg","deleteOrgSecret","deleteOrgVariable","deleteRepoSecret","deleteRepoVariable","deleteSelfHostedRunnerFromOrg","deleteSelfHostedRunnerFromRepo","deleteWorkflowRun","deleteWorkflowRunLogs","disableSelectedRepositoryGithubActionsOrganization","disableWorkflow","downloadArtifact","downloadJobLogsForWorkflowRun","downloadWorkflowRunAttemptLogs","downloadWorkflowRunLogs","enableSelectedRepositoryGithubActionsOrganization","enableWorkflow","forceCancelWorkflowRun","generateRunnerJitconfigForOrg","generateRunnerJitconfigForRepo","getActionsCacheList","getActionsCacheUsage","getActionsCacheUsageByRepoForOrg","getActionsCacheUsageForOrg","getAllowedActionsOrganization","getAllowedActionsRepository","getArtifact","getCustomImageForOrg","getCustomImageVersionForOrg","getCustomOidcSubClaimForRepo","getEnvironmentPublicKey","getEnvironmentSecret","getEnvironmentVariable","getGithubActionsDefaultWorkflowPermissionsOrganization","getGithubActionsDefaultWorkflowPermissionsRepository","getGithubActionsPermissionsOrganization","getGithubActionsPermissionsRepository","getHostedRunnerForOrg","getHostedRunnersGithubOwnedImagesForOrg","getHostedRunnersLimitsForOrg","getHostedRunnersMachineSpecsForOrg","getHostedRunnersPartnerImagesForOrg","getHostedRunnersPlatformsForOrg","getJobForWorkflowRun","getOrgPublicKey","getOrgSecret","getOrgVariable","getPendingDeploymentsForRun","getRepoPermissions","renamed","getRepoPublicKey","getRepoSecret","getRepoVariable","getReviewsForRun","getSelfHostedRunnerForOrg","getSelfHostedRunnerForRepo","getWorkflow","getWorkflowAccessToRepository","getWorkflowRun","getWorkflowRunAttempt","getWorkflowRunUsage","getWorkflowUsage","listArtifactsForRepo","listCustomImageVersionsForOrg","listCustomImagesForOrg","listEnvironmentSecrets","listEnvironmentVariables","listGithubHostedRunnersInGroupForOrg","listHostedRunnersForOrg","listJobsForWorkflowRun","listJobsForWorkflowRunAttempt","listLabelsForSelfHostedRunnerForOrg","listLabelsForSelfHostedRunnerForRepo","listOrgSecrets","listOrgVariables","listRepoOrganizationSecrets","listRepoOrganizationVariables","listRepoSecrets","listRepoVariables","listRepoWorkflows","listRunnerApplicationsForOrg","listRunnerApplicationsForRepo","listSelectedReposForOrgSecret","listSelectedReposForOrgVariable","listSelectedRepositoriesEnabledGithubActionsOrganization","listSelfHostedRunnersForOrg","listSelfHostedRunnersForRepo","listWorkflowRunArtifacts","listWorkflowRuns","listWorkflowRunsForRepo","reRunJobForWorkflowRun","reRunWorkflow","reRunWorkflowFailedJobs","removeAllCustomLabelsFromSelfHostedRunnerForOrg","removeAllCustomLabelsFromSelfHostedRunnerForRepo","removeCustomLabelFromSelfHostedRunnerForOrg","removeCustomLabelFromSelfHostedRunnerForRepo","removeSelectedRepoFromOrgSecret","removeSelectedRepoFromOrgVariable","reviewCustomGatesForRun","reviewPendingDeploymentsForRun","setAllowedActionsOrganization","setAllowedActionsRepository","setCustomLabelsForSelfHostedRunnerForOrg","setCustomLabelsForSelfHostedRunnerForRepo","setCustomOidcSubClaimForRepo","setGithubActionsDefaultWorkflowPermissionsOrganization","setGithubActionsDefaultWorkflowPermissionsRepository","setGithubActionsPermissionsOrganization","setGithubActionsPermissionsRepository","setSelectedReposForOrgSecret","setSelectedReposForOrgVariable","setSelectedRepositoriesEnabledGithubActionsOrganization","setWorkflowAccessToRepository","updateEnvironmentVariable","updateHostedRunnerForOrg","updateOrgVariable","updateRepoVariable","activity","checkRepoIsStarredByAuthenticatedUser","deleteRepoSubscription","deleteThreadSubscription","getFeeds","getRepoSubscription","getThread","getThreadSubscriptionForAuthenticatedUser","listEventsForAuthenticatedUser","listNotificationsForAuthenticatedUser","listOrgEventsForAuthenticatedUser","listPublicEvents","listPublicEventsForRepoNetwork","listPublicEventsForUser","listPublicOrgEvents","listReceivedEventsForUser","listReceivedPublicEventsForUser","listRepoEvents","listRepoNotificationsForAuthenticatedUser","listReposStarredByAuthenticatedUser","listReposStarredByUser","listReposWatchedByUser","listStargazersForRepo","listWatchedReposForAuthenticatedUser","listWatchersForRepo","markNotificationsAsRead","markRepoNotificationsAsRead","markThreadAsDone","markThreadAsRead","setRepoSubscription","setThreadSubscription","starRepoForAuthenticatedUser","unstarRepoForAuthenticatedUser","apps","addRepoToInstallation","addRepoToInstallationForAuthenticatedUser","checkToken","createFromManifest","createInstallationAccessToken","deleteAuthorization","deleteInstallation","deleteToken","getAuthenticated","getBySlug","getInstallation","getOrgInstallation","getRepoInstallation","getSubscriptionPlanForAccount","getSubscriptionPlanForAccountStubbed","getUserInstallation","getWebhookConfigForApp","getWebhookDelivery","listAccountsForPlan","listAccountsForPlanStubbed","listInstallationReposForAuthenticatedUser","listInstallationRequestsForAuthenticatedApp","listInstallations","listInstallationsForAuthenticatedUser","listPlans","listPlansStubbed","listReposAccessibleToInstallation","listSubscriptionsForAuthenticatedUser","listSubscriptionsForAuthenticatedUserStubbed","listWebhookDeliveries","redeliverWebhookDelivery","removeRepoFromInstallation","removeRepoFromInstallationForAuthenticatedUser","resetToken","revokeInstallationAccessToken","scopeToken","suspendInstallation","unsuspendInstallation","updateWebhookConfigForApp","billing","getGithubActionsBillingOrg","getGithubActionsBillingUser","getGithubBillingPremiumRequestUsageReportOrg","getGithubBillingPremiumRequestUsageReportUser","getGithubBillingUsageReportOrg","getGithubBillingUsageReportUser","getGithubPackagesBillingOrg","getGithubPackagesBillingUser","getSharedStorageBillingOrg","getSharedStorageBillingUser","campaigns","createCampaign","deleteCampaign","getCampaignSummary","listOrgCampaigns","updateCampaign","checks","createSuite","getSuite","listAnnotations","listForRef","listForSuite","listSuitesForRef","rerequestRun","rerequestSuite","setSuitesPreferences","codeScanning","commitAutofix","createAutofix","createVariantAnalysis","deleteAnalysis","deleteCodeqlDatabase","getAlert","renamedParameters","alert_id","getAnalysis","getAutofix","getCodeqlDatabase","getDefaultSetup","getSarif","getVariantAnalysis","getVariantAnalysisRepoTask","listAlertInstances","listAlertsForOrg","listAlertsForRepo","listAlertsInstances","listCodeqlDatabases","listRecentAnalyses","updateAlert","updateDefaultSetup","uploadSarif","codeSecurity","attachConfiguration","attachEnterpriseConfiguration","createConfiguration","createConfigurationForEnterprise","deleteConfiguration","deleteConfigurationForEnterprise","detachConfiguration","getConfiguration","getConfigurationForRepository","getConfigurationsForEnterprise","getConfigurationsForOrg","getDefaultConfigurations","getDefaultConfigurationsForEnterprise","getRepositoriesForConfiguration","getRepositoriesForEnterpriseConfiguration","getSingleConfigurationForEnterprise","setConfigurationAsDefault","setConfigurationAsDefaultForEnterprise","updateConfiguration","updateEnterpriseConfiguration","codesOfConduct","getAllCodesOfConduct","getConductCode","codespaces","addRepositoryForSecretForAuthenticatedUser","checkPermissionsForDevcontainer","codespaceMachinesForAuthenticatedUser","createForAuthenticatedUser","createOrUpdateSecretForAuthenticatedUser","createWithPrForAuthenticatedUser","createWithRepoForAuthenticatedUser","deleteForAuthenticatedUser","deleteFromOrganization","deleteSecretForAuthenticatedUser","exportForAuthenticatedUser","getCodespacesForUserInOrg","getExportDetailsForAuthenticatedUser","getForAuthenticatedUser","getPublicKeyForAuthenticatedUser","getSecretForAuthenticatedUser","listDevcontainersInRepositoryForAuthenticatedUser","listForAuthenticatedUser","listInOrganization","org_id","listInRepositoryForAuthenticatedUser","listRepositoriesForSecretForAuthenticatedUser","listSecretsForAuthenticatedUser","preFlightWithRepoForAuthenticatedUser","publishForAuthenticatedUser","removeRepositoryForSecretForAuthenticatedUser","repoMachinesForAuthenticatedUser","setRepositoriesForSecretForAuthenticatedUser","startForAuthenticatedUser","stopForAuthenticatedUser","stopInOrganization","updateForAuthenticatedUser","copilot","addCopilotSeatsForTeams","addCopilotSeatsForUsers","cancelCopilotSeatAssignmentForTeams","cancelCopilotSeatAssignmentForUsers","copilotMetricsForOrganization","copilotMetricsForTeam","getCopilotOrganizationDetails","getCopilotSeatDetailsForUser","listCopilotSeats","revoke","dependabot","listAlertsForEnterprise","repositoryAccessForOrg","setRepositoryAccessDefaultLevel","updateRepositoryAccessForOrg","dependencyGraph","createRepositorySnapshot","diffRange","exportSbom","emojis","enterpriseTeamMemberships","bulkAdd","bulkRemove","enterpriseTeamOrganizations","getAssignment","getAssignments","enterpriseTeams","gists","checkIsStarred","createComment","deleteComment","fork","getComment","getRevision","listComments","listCommits","listForUser","listForks","listPublic","listStarred","star","unstar","updateComment","git","createBlob","createCommit","createRef","createTag","createTree","deleteRef","getBlob","getCommit","getRef","getTag","getTree","listMatchingRefs","updateRef","gitignore","getAllTemplates","getTemplate","hostedCompute","createNetworkConfigurationForOrg","deleteNetworkConfigurationFromOrg","getNetworkConfigurationForOrg","getNetworkSettingsForOrg","listNetworkConfigurationsForOrg","updateNetworkConfigurationForOrg","interactions","getRestrictionsForAuthenticatedUser","getRestrictionsForOrg","getRestrictionsForRepo","getRestrictionsForYourPublicRepos","removeRestrictionsForAuthenticatedUser","removeRestrictionsForOrg","removeRestrictionsForRepo","removeRestrictionsForYourPublicRepos","setRestrictionsForAuthenticatedUser","setRestrictionsForOrg","setRestrictionsForRepo","setRestrictionsForYourPublicRepos","issues","addAssignees","addBlockedByDependency","addLabels","addSubIssue","checkUserCanBeAssigned","checkUserCanBeAssignedToIssue","createLabel","createMilestone","deleteLabel","deleteMilestone","getEvent","getLabel","getMilestone","getParent","listAssignees","listCommentsForRepo","listDependenciesBlockedBy","listDependenciesBlocking","listEvents","listEventsForRepo","listEventsForTimeline","listForOrg","listForRepo","listLabelsForMilestone","listLabelsForRepo","listLabelsOnIssue","listMilestones","listSubIssues","lock","removeAllLabels","removeAssignees","removeDependencyBlockedBy","removeLabel","removeSubIssue","reprioritizeSubIssue","setLabels","unlock","updateLabel","updateMilestone","licenses","getAllCommonlyUsed","getForRepo","markdown","render","renderRaw","getAllVersions","getOctocat","getZen","root","migrations","deleteArchiveForAuthenticatedUser","deleteArchiveForOrg","downloadArchiveForOrg","getArchiveForAuthenticatedUser","getStatusForAuthenticatedUser","getStatusForOrg","listReposForAuthenticatedUser","listReposForOrg","listReposForUser","startForOrg","unlockRepoForAuthenticatedUser","unlockRepoForOrg","oidc","getOidcCustomSubTemplateForOrg","updateOidcCustomSubTemplateForOrg","orgs","addSecurityManagerTeam","deprecated","assignTeamToOrgRole","assignUserToOrgRole","blockUser","cancelInvitation","checkBlockedUser","checkMembershipForUser","checkPublicMembershipForUser","convertMemberToOutsideCollaborator","createArtifactStorageRecord","createInvitation","createIssueType","createWebhook","customPropertiesForOrgsCreateOrUpdateOrganizationValues","customPropertiesForOrgsGetOrganizationValues","customPropertiesForReposCreateOrUpdateOrganizationDefinition","customPropertiesForReposCreateOrUpdateOrganizationDefinitions","customPropertiesForReposCreateOrUpdateOrganizationValues","customPropertiesForReposDeleteOrganizationDefinition","customPropertiesForReposGetOrganizationDefinition","customPropertiesForReposGetOrganizationDefinitions","customPropertiesForReposGetOrganizationValues","deleteAttestationsBulk","deleteAttestationsById","deleteAttestationsBySubjectDigest","deleteIssueType","deleteWebhook","disableSelectedRepositoryImmutableReleasesOrganization","enableSelectedRepositoryImmutableReleasesOrganization","getImmutableReleasesSettings","getImmutableReleasesSettingsRepositories","getMembershipForAuthenticatedUser","getMembershipForUser","getOrgRole","getOrgRulesetHistory","getOrgRulesetVersion","getWebhook","getWebhookConfigForOrg","listAppInstallations","listArtifactStorageRecords","listAttestationRepositories","listAttestations","listAttestationsBulk","listBlockedUsers","listFailedInvitations","listInvitationTeams","listIssueTypes","listMembers","listMembershipsForAuthenticatedUser","listOrgRoleTeams","listOrgRoleUsers","listOrgRoles","listOrganizationFineGrainedPermissions","listOutsideCollaborators","listPatGrantRepositories","listPatGrantRequestRepositories","listPatGrantRequests","listPatGrants","listPendingInvitations","listPublicMembers","listSecurityManagerTeams","listWebhooks","pingWebhook","removeMember","removeMembershipForUser","removeOutsideCollaborator","removePublicMembershipForAuthenticatedUser","removeSecurityManagerTeam","reviewPatGrantRequest","reviewPatGrantRequestsInBulk","revokeAllOrgRolesTeam","revokeAllOrgRolesUser","revokeOrgRoleTeam","revokeOrgRoleUser","setImmutableReleasesSettings","setImmutableReleasesSettingsRepositories","setMembershipForUser","setPublicMembershipForAuthenticatedUser","unblockUser","updateIssueType","updateMembershipForAuthenticatedUser","updatePatAccess","updatePatAccesses","updateWebhook","updateWebhookConfigForOrg","packages","deletePackageForAuthenticatedUser","deletePackageForOrg","deletePackageForUser","deletePackageVersionForAuthenticatedUser","deletePackageVersionForOrg","deletePackageVersionForUser","getAllPackageVersionsForAPackageOwnedByAnOrg","getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser","getAllPackageVersionsForPackageOwnedByAuthenticatedUser","getAllPackageVersionsForPackageOwnedByOrg","getAllPackageVersionsForPackageOwnedByUser","getPackageForAuthenticatedUser","getPackageForOrganization","getPackageForUser","getPackageVersionForAuthenticatedUser","getPackageVersionForOrganization","getPackageVersionForUser","listDockerMigrationConflictingPackagesForAuthenticatedUser","listDockerMigrationConflictingPackagesForOrganization","listDockerMigrationConflictingPackagesForUser","listPackagesForAuthenticatedUser","listPackagesForOrganization","listPackagesForUser","restorePackageForAuthenticatedUser","restorePackageForOrg","restorePackageForUser","restorePackageVersionForAuthenticatedUser","restorePackageVersionForOrg","restorePackageVersionForUser","privateRegistries","createOrgPrivateRegistry","deleteOrgPrivateRegistry","getOrgPrivateRegistry","listOrgPrivateRegistries","updateOrgPrivateRegistry","projects","addItemForOrg","addItemForUser","deleteItemForOrg","deleteItemForUser","getFieldForOrg","getFieldForUser","getForOrg","getForUser","getOrgItem","getUserItem","listFieldsForOrg","listFieldsForUser","listItemsForOrg","listItemsForUser","updateItemForOrg","updateItemForUser","pulls","checkIfMerged","createReplyForReviewComment","createReview","createReviewComment","deletePendingReview","deleteReviewComment","dismissReview","getReview","getReviewComment","listCommentsForReview","listFiles","listRequestedReviewers","listReviewComments","listReviewCommentsForRepo","listReviews","removeRequestedReviewers","requestReviewers","submitReview","updateBranch","updateReview","updateReviewComment","rateLimit","reactions","createForCommitComment","createForIssue","createForIssueComment","createForPullRequestReviewComment","createForRelease","createForTeamDiscussionCommentInOrg","createForTeamDiscussionInOrg","deleteForCommitComment","deleteForIssue","deleteForIssueComment","deleteForPullRequestComment","deleteForRelease","deleteForTeamDiscussion","deleteForTeamDiscussionComment","listForCommitComment","listForIssue","listForIssueComment","listForPullRequestReviewComment","listForRelease","listForTeamDiscussionCommentInOrg","listForTeamDiscussionInOrg","repos","acceptInvitation","acceptInvitationForAuthenticatedUser","addAppAccessRestrictions","mapToData","addCollaborator","addStatusCheckContexts","addTeamAccessRestrictions","addUserAccessRestrictions","cancelPagesDeployment","checkAutomatedSecurityFixes","checkCollaborator","checkImmutableReleases","checkPrivateVulnerabilityReporting","checkVulnerabilityAlerts","codeownersErrors","compareCommits","compareCommitsWithBasehead","createAttestation","createAutolink","createCommitComment","createCommitSignatureProtection","createCommitStatus","createDeployKey","createDeployment","createDeploymentBranchPolicy","createDeploymentProtectionRule","createDeploymentStatus","createDispatchEvent","createFork","createInOrg","createOrUpdateEnvironment","createOrUpdateFileContents","createOrgRuleset","createPagesDeployment","createPagesSite","createRelease","createRepoRuleset","createUsingTemplate","customPropertiesForReposCreateOrUpdateRepositoryValues","customPropertiesForReposGetRepositoryValues","declineInvitation","declineInvitationForAuthenticatedUser","deleteAccessRestrictions","deleteAdminBranchProtection","deleteAnEnvironment","deleteAutolink","deleteBranchProtection","deleteCommitComment","deleteCommitSignatureProtection","deleteDeployKey","deleteDeployment","deleteDeploymentBranchPolicy","deleteFile","deleteInvitation","deleteOrgRuleset","deletePagesSite","deletePullRequestReviewProtection","deleteRelease","deleteReleaseAsset","deleteRepoRuleset","disableAutomatedSecurityFixes","disableDeploymentProtectionRule","disableImmutableReleases","disablePrivateVulnerabilityReporting","disableVulnerabilityAlerts","downloadArchive","downloadTarballArchive","downloadZipballArchive","enableAutomatedSecurityFixes","enableImmutableReleases","enablePrivateVulnerabilityReporting","enableVulnerabilityAlerts","generateReleaseNotes","getAccessRestrictions","getAdminBranchProtection","getAllDeploymentProtectionRules","getAllEnvironments","getAllStatusCheckContexts","getAllTopics","getAppsWithAccessToProtectedBranch","getAutolink","getBranch","getBranchProtection","getBranchRules","getClones","getCodeFrequencyStats","getCollaboratorPermissionLevel","getCombinedStatusForRef","getCommitActivityStats","getCommitComment","getCommitSignatureProtection","getCommunityProfileMetrics","getContent","getContributorsStats","getCustomDeploymentProtectionRule","getDeployKey","getDeployment","getDeploymentBranchPolicy","getDeploymentStatus","getEnvironment","getLatestPagesBuild","getLatestRelease","getOrgRuleSuite","getOrgRuleSuites","getOrgRuleset","getOrgRulesets","getPages","getPagesBuild","getPagesDeployment","getPagesHealthCheck","getParticipationStats","getPullRequestReviewProtection","getPunchCardStats","getReadme","getReadmeInDirectory","getRelease","getReleaseAsset","getReleaseByTag","getRepoRuleSuite","getRepoRuleSuites","getRepoRuleset","getRepoRulesetHistory","getRepoRulesetVersion","getRepoRulesets","getStatusChecksProtection","getTeamsWithAccessToProtectedBranch","getTopPaths","getTopReferrers","getUsersWithAccessToProtectedBranch","getViews","getWebhookConfigForRepo","listActivities","listAutolinks","listBranches","listBranchesForHeadCommit","listCollaborators","listCommentsForCommit","listCommitCommentsForRepo","listCommitStatusesForRef","listContributors","listCustomDeploymentRuleIntegrations","listDeployKeys","listDeploymentBranchPolicies","listDeploymentStatuses","listDeployments","listInvitations","listInvitationsForAuthenticatedUser","listLanguages","listPagesBuilds","listPullRequestsAssociatedWithCommit","listReleaseAssets","listReleases","listTags","listTeams","mergeUpstream","removeAppAccessRestrictions","removeCollaborator","removeStatusCheckContexts","removeStatusCheckProtection","removeTeamAccessRestrictions","removeUserAccessRestrictions","renameBranch","replaceAllTopics","requestPagesBuild","setAdminBranchProtection","setAppAccessRestrictions","setStatusCheckContexts","setTeamAccessRestrictions","setUserAccessRestrictions","testPushWebhook","transfer","updateBranchProtection","updateCommitComment","updateDeploymentBranchPolicy","updateInformationAboutPagesSite","updateInvitation","updateOrgRuleset","updatePullRequestReviewProtection","updateRelease","updateReleaseAsset","updateRepoRuleset","updateStatusCheckPotection","updateStatusCheckProtection","updateWebhookConfigForRepo","uploadReleaseAsset","commits","issuesAndPullRequests","labels","topics","users","secretScanning","createPushProtectionBypass","getScanHistory","listLocationsForAlert","listOrgPatternConfigs","updateOrgPatternConfigs","securityAdvisories","createPrivateVulnerabilityReport","createRepositoryAdvisory","createRepositoryAdvisoryCveRequest","getGlobalAdvisory","getRepositoryAdvisory","listGlobalAdvisories","listOrgRepositoryAdvisories","listRepositoryAdvisories","updateRepositoryAdvisory","teams","addOrUpdateMembershipForUserInOrg","addOrUpdateRepoPermissionsInOrg","checkPermissionsForRepoInOrg","createDiscussionCommentInOrg","createDiscussionInOrg","deleteDiscussionCommentInOrg","deleteDiscussionInOrg","deleteInOrg","getByName","getDiscussionCommentInOrg","getDiscussionInOrg","getMembershipForUserInOrg","listChildInOrg","listDiscussionCommentsInOrg","listDiscussionsInOrg","listMembersInOrg","listPendingInvitationsInOrg","listReposInOrg","removeMembershipForUserInOrg","removeRepoInOrg","updateDiscussionCommentInOrg","updateDiscussionInOrg","updateInOrg","addEmailForAuthenticated","addEmailForAuthenticatedUser","addSocialAccountForAuthenticatedUser","block","checkBlocked","checkFollowingForUser","checkPersonIsFollowedByAuthenticated","createGpgKeyForAuthenticated","createGpgKeyForAuthenticatedUser","createPublicSshKeyForAuthenticated","createPublicSshKeyForAuthenticatedUser","createSshSigningKeyForAuthenticatedUser","deleteEmailForAuthenticated","deleteEmailForAuthenticatedUser","deleteGpgKeyForAuthenticated","deleteGpgKeyForAuthenticatedUser","deletePublicSshKeyForAuthenticated","deletePublicSshKeyForAuthenticatedUser","deleteSocialAccountForAuthenticatedUser","deleteSshSigningKeyForAuthenticatedUser","follow","getById","getByUsername","getContextForUser","getGpgKeyForAuthenticated","getGpgKeyForAuthenticatedUser","getPublicSshKeyForAuthenticated","getPublicSshKeyForAuthenticatedUser","getSshSigningKeyForAuthenticatedUser","listBlockedByAuthenticated","listBlockedByAuthenticatedUser","listEmailsForAuthenticated","listEmailsForAuthenticatedUser","listFollowedByAuthenticated","listFollowedByAuthenticatedUser","listFollowersForAuthenticatedUser","listFollowersForUser","listFollowingForUser","listGpgKeysForAuthenticated","listGpgKeysForAuthenticatedUser","listGpgKeysForUser","listPublicEmailsForAuthenticated","listPublicEmailsForAuthenticatedUser","listPublicKeysForUser","listPublicSshKeysForAuthenticated","listPublicSshKeysForAuthenticatedUser","listSocialAccountsForAuthenticatedUser","listSocialAccountsForUser","listSshSigningKeysForAuthenticatedUser","listSshSigningKeysForUser","setPrimaryEmailVisibilityForAuthenticated","setPrimaryEmailVisibilityForAuthenticatedUser","unblock","unfollow","updateAuthenticated","endpoints_default","endpointMethodsMap","endpoints","methodName","decorations","endpointDefaults","descriptor","decorate","endpointsToMethods","newMethods","requestWithDefaults","withDecorations","newScope","newMethodName","options2","alias","restEndpointMethods","rest","legacyRestEndpointMethods","plugin_paginate_rest_dist_bundle_VERSION","normalizePaginatedListResponse","responseNeedsNormalization","incompleteResults","incomplete_results","repositorySelection","repository_selection","totalCount","total_count","totalCommits","total_commits","namespaceKey","requestMethod","normalizedResponse","params","searchParams","page","per_page","paginate","mapFn","gather","iterator2","earlyExit","composePaginateRest","paginatingEndpoints","isPaginatingEndpoint","paginateRest","GitHub","getOctokitOptions","dist_bundle_Endpoints","addSelfHostedRunnerToGroupForOrg","createHostedRunnerForEnterprise","createSelfHostedRunnerGroupForOrg","deleteHostedRunnerForEnterprise","deleteSelfHostedRunnerGroupFromOrg","generateRunnerJitconfigForEnterprise","getActionsCacheUsageForEnterprise","getGithubActionsDefaultWorkflowPermissionsEnterprise","getHostedRunnerForEnterprise","getHostedRunnersGithubOwnedImagesForEnterprise","getHostedRunnersLimitsForEnterprise","getHostedRunnersMachineSpecsForEnterprise","getHostedRunnersPartnerImagesForEnterprise","getHostedRunnersPlatformsForEnterprise","getSelfHostedRunnerGroupForOrg","listHostedRunnersForEnterprise","listRepoAccessToSelfHostedRunnerGroupInOrg","listSelfHostedRunnerGroupsForOrg","listSelfHostedRunnersInGroupForOrg","removeRepoAccessToSelfHostedRunnerGroupInOrg","removeSelfHostedRunnerFromGroupForOrg","setActionsOidcCustomIssuerPolicyForEnterprise","setGithubActionsDefaultWorkflowPermissionsEnterprise","setRepoAccessToSelfHostedRunnerGroupInOrg","setSelfHostedRunnersInGroupForOrg","updateHostedRunnerForEnterprise","updateSelfHostedRunnerGroupForOrg","announcementBanners","getAnnouncementBannerForEnterprise","getAnnouncementBannerForOrg","removeAnnouncementBannerForEnterprise","removeAnnouncementBannerForOrg","setAnnouncementBannerForEnterprise","setAnnouncementBannerForOrg","addResourceToCostCenter","createCostCenter","deleteCostCenter","getAllCostCenters","getCostCenter","getGithubActionsBillingGhe","getGithubAdvancedSecurityBillingGhe","getGithubAdvancedSecurityBillingOrg","getGithubBillingUsageReportGhe","getGithubPackagesBillingGhe","getSharedStorageBillingGhe","removeResourceFromCostCenter","updateCostCenter","getDismissalRequestForRepo","listDismissalRequestsForRepo","listOrgDismissalRequests","reviewDismissalRequestForRepo","addCopilotSeatsForEnterpriseTeams","addCopilotSeatsForEnterpriseUsers","cancelCopilotSeatsForEnterpriseTeams","cancelCopilotSeatsForEnterpriseUsers","copilotMetricsForEnterprise","copilotMetricsForEnterpriseTeam","getCopilotSeatDetailsForEnterpriseUser","listCopilotSeatsForEnterprise","enterpriseAdmin","addCustomLabelsToSelfHostedRunnerForEnterprise","addOrgAccessToSelfHostedRunnerGroupInEnterprise","addSelfHostedRunnerToGroupForEnterprise","createAuditLogStream","createRegistrationTokenForEnterprise","createRemoveTokenForEnterprise","createSelfHostedRunnerGroupForEnterprise","customPropertiesForReposCreateOrUpdateEnterpriseDefinition","customPropertiesForReposCreateOrUpdateEnterpriseDefinitions","customPropertiesForReposDeleteEnterpriseDefinition","customPropertiesForReposGetEnterpriseDefinition","customPropertiesForReposGetEnterpriseDefinitions","customPropertiesForReposPromoteDefinitionToEnterprise","deleteAuditLogStream","deleteScimGroupFromEnterprise","deleteSelfHostedRunnerFromEnterprise","deleteSelfHostedRunnerGroupFromEnterprise","deleteUserFromEnterprise","disableSelectedOrganizationGithubActionsEnterprise","enableSelectedOrganizationGithubActionsEnterprise","getAllowedActionsEnterprise","getArtifactAndLogRetentionSettings","getAuditLog","getAuditLogStreamKey","getAuditLogStreams","getConsumedLicenses","getEnterpriseRulesetHistory","getEnterpriseRulesetVersion","getForkPrContributorApprovalPermissions","getGithubActionsPermissionsEnterprise","getLicenseSyncStatus","getOneAuditLogStream","getPrivateRepoForkPrWorkflowsSettings","getProvisioningInformationForEnterpriseGroup","getProvisioningInformationForEnterpriseUser","getSelfHostedRunnerForEnterprise","getSelfHostedRunnerGroupForEnterprise","getSelfHostedRunnersPermissions","getServerStatistics","listLabelsForSelfHostedRunnerForEnterprise","listOrgAccessToSelfHostedRunnerGroupInEnterprise","listProvisionedGroupsEnterprise","listProvisionedIdentitiesEnterprise","listPushBypassRequests","listRunnerApplicationsForEnterprise","listSelectedOrganizationsEnabledGithubActionsEnterprise","listSelfHostedRunnerGroupsForEnterprise","listSelfHostedRunnersForEnterprise","listSelfHostedRunnersInGroupForEnterprise","provisionEnterpriseGroup","provisionEnterpriseUser","removeAllCustomLabelsFromSelfHostedRunnerForEnterprise","removeCustomLabelFromSelfHostedRunnerForEnterprise","removeOrgAccessToSelfHostedRunnerGroupInEnterprise","removeSelfHostedRunnerFromGroupForEnterprise","setAllowedActionsEnterprise","setArtifactAndLogRetentionSettings","setCustomLabelsForSelfHostedRunnerForEnterprise","setForkPrContributorApprovalPermissions","setGithubActionsPermissionsEnterprise","setInformationForProvisionedEnterpriseGroup","setInformationForProvisionedEnterpriseUser","setOrgAccessToSelfHostedRunnerGroupInEnterprise","setPrivateRepoForkPrWorkflowsSettings","setSelectedOrganizationsEnabledGithubActionsEnterprise","setSelfHostedRunnersInGroupForEnterprise","setSelfHostedRunnersPermissions","updateAttributeForEnterpriseGroup","updateAttributeForEnterpriseUser","updateAuditLogStream","updateSelfHostedRunnerGroupForEnterprise","enterpriseApps","changeInstallationRepositoryAccessSelection","createInstallation","grantRepositoryAccessToInstallation","installableOrganizationAccessibleRepositories","installableOrganizations","organizationInstallationRepositories","organizationInstallations","removeRepositoryAccessToInstallation","createNetworkConfigurationForEnterprise","deleteNetworkConfigurationFromEnterprise","getNetworkConfigurationForEnterprise","getNetworkSettingsForEnterprise","listNetworkConfigurationsForEnterprise","updateNetworkConfigurationForEnterprise","createCustomOrganizationRole","createCustomRepoRole","createCustomRole","deleteCustomOrganizationRole","deleteCustomRepoRole","deleteCustomRole","getCustomRepoRole","getCustomRole","listCustomRepoRoles","listCustomRoles","listFineGrainedPermissions","listRepoFineGrainedPermissions","listSamlSsoAuthorizations","patchCustomOrganizationRole","removeSamlSsoAuthorization","updateCustomRepoRole","updateCustomRole","projectsClassic","createCard","deleteCard","getCard","listCards","moveCard","updateCard","createEnterpriseRuleset","deleteEnterpriseRuleset","disableLfsForRepo","enableLfsForRepo","getEnterpriseRuleset","getRepoPushBypassRequest","listRepoPushBypassRequests","updateEnterpriseRuleset","scim","deleteUserFromOrg","getProvisioningInformationForUser","listProvisionedIdentities","provisionAndInviteUser","setInformationForProvisionedUser","updateAttributeForUser","dismissBypassResponse","getBypassRequest","getDismissalRequest","getSecurityAnalysisSettingsForEnterprise","listEnterpriseBypassRequests","listEnterprisePatternConfigs","listOrgBypassRequests","listRepoBypassRequests","listRepoDismissalRequests","patchSecurityAnalysisSettingsForEnterprise","postSecurityProductEnablementForEnterprise","reviewBypassRequest","reviewDismissalRequest","updateEnterprisePatternConfigs","createOrUpdateIdpGroupConnectionsInOrg","externalIdpGroupInfoForOrg","linkExternalIdpGroupToTeamForOrg","listExternalIdpGroupsForOrg","listIdpGroupsForOrg","listIdpGroupsInOrg","listLinkedExternalIdpGroupsToTeamForOrg","unlinkExternalIdpGroupFromTeamForOrg","dist_bundle_endpoints_default","plugin_enterprise_cloud_dist_bundle_VERSION","dist_bundle_endpointsToMethods","endpointsMap","scopeMethods","deprecation","enterpriseCloud","plugin_enterprise_server_dist_bundle_VERSION","plugin_enterprise_server_dist_bundle_endpointsToMethods","dist_bundle_deprecate","plugin_enterprise_server_dist_bundle_Endpoints","getActionsCacheUsagePolicy","getActionsCacheUsagePolicyForEnterprise","setActionsCacheUsagePolicy","setActionsCacheUsagePolicyForEnterprise","addAuthorizedSshKey","createEnterpriseServerLicense","createGlobalWebhook","createImpersonationOAuthToken","createOrg","createPreReceiveEnvironment","createPreReceiveHook","createUser","deleteGlobalWebhook","deleteImpersonationOAuthToken","deleteManageSsh","deletePersonalAccessToken","deletePreReceiveEnvironment","deletePreReceiveHook","deletePublicKey","deleteUser","demoteSiteAdministrator","enableOrDisableMaintenanceMode","getAllAuthorizedSshKeys","getAllStats","getAnnouncement","getChecksSystemRequirements","getClusterStatus","getCommentStats","getConfigNodes","getConfigurationStatus","getDownloadStatusForPreReceiveEnvironment","getGistStats","getGlobalWebhook","getHooksStats","getIssueStats","getLicenseInformation","getMaintenanceStatus","getManageConfigApplyEvents","getManageConfigApplyStatus","getManageMaintenance","getManageSettings","getManageSsh","getMilestoneStats","getOrgStats","getPagesStats","getPreReceiveEnvironment","getPreReceiveHook","getPreReceiveHookForOrg","getPreReceiveHookForRepo","getPullRequestStats","getReplicationStatus","getRepoStats","getSecurityProducts","getSettings","getUserStats","getVersion","initializeInstanceConfiguration","licenseCheck","licenseInfo","licenseUpload","listGlobalWebhooks","listPersonalAccessTokens","listPreReceiveEnvironments","listPreReceiveHooks","listPreReceiveHooksForOrg","listPreReceiveHooksForRepo","listPublicKeys","pingGlobalWebhook","postManageRunConfigApply","promoteUserToBeSiteAdministrator","removeAnnouncement","removeAuthorizedSshKey","removePreReceiveHookEnforcementForOrg","removePreReceiveHookEnforcementForRepo","setAnnouncement","setManageMaintenance","setManageSettings","setManageSsh","setSettings","startConfigurationProcess","startPreReceiveEnvironmentDownload","suspendUser","syncLdapMappingForTeam","syncLdapMappingForUser","unsuspendUser","updateGlobalWebhook","updateLdapMappingForTeam","updateLdapMappingForUser","updateOrgName","updatePreReceiveEnvironment","updatePreReceiveHook","updatePreReceiveHookEnforcementForOrg","updatePreReceiveHookEnforcementForRepo","updateUsernameForUser","upgradeLicense","createOrUpdateCustomProperties","createOrUpdateCustomPropertiesValuesForRepos","createOrUpdateCustomProperty","enableOrDisableSecurityProductOnAllOrgRepos","getAllCustomProperties","getCustomProperty","listCustomPropertiesValuesForRepos","removeCustomProperty","createColumn","createForOrg","createForRepo","deleteColumn","getColumn","getPermissionForUser","listColumns","moveColumn","updateColumn","createForTeamDiscussionCommentLegacy","createForTeamDiscussionLegacy","listForTeamDiscussionCommentLegacy","listForTeamDiscussionLegacy","createOrUpdateCustomPropertiesValues","createTagProtection","deleteTagProtection","getCustomPropertiesValues","listCacheInfo","listTagProtection","addMemberLegacy","addOrUpdateMembershipForUserLegacy","addOrUpdateProjectPermissionsInOrg","addOrUpdateProjectPermissionsLegacy","addOrUpdateRepoPermissionsLegacy","checkPermissionsForProjectInOrg","checkPermissionsForProjectLegacy","checkPermissionsForRepoLegacy","createDiscussionCommentLegacy","createDiscussionLegacy","deleteDiscussionCommentLegacy","deleteDiscussionLegacy","deleteLegacy","getDiscussionCommentLegacy","getDiscussionLegacy","getLegacy","getMemberLegacy","getMembershipForUserLegacy","listChildLegacy","listDiscussionCommentsLegacy","listDiscussionsLegacy","listMembersLegacy","listProjectsInOrg","listProjectsLegacy","listReposLegacy","removeMemberLegacy","removeMembershipForUserLegacy","removeProjectInOrg","removeProjectLegacy","removeRepoLegacy","updateDiscussionCommentLegacy","updateDiscussionLegacy","updateLegacy","ghe_313_endpoints_default","Endpoints2","ghe_313_admin_endpoints_default","Endpoints3","ghe_314_endpoints_default","Endpoints4","ghe_314_admin_endpoints_default","Endpoints5","ghe_315_endpoints_default","Endpoints6","ghe_315_admin_endpoints_default","Endpoints7","ghe_316_endpoints_default","Endpoints8","ghe_316_admin_endpoints_default","enterpriseServer313Admin","enterpriseServer313","enterpriseServer314Admin","enterpriseServer314","enterpriseServer315Admin","enterpriseServer315","enterpriseServer316Admin","enterpriseServer316","NOT_RESOLVED","MERGE_KEY","defineScalarTag","tagName","nodeKind","implicit","matchByTagPrefix","implicitFirstChars","identify","represent","representTagName","defineSequenceTag","carrierIsResult","finalize","addItem","carrier","defineMappingTag","addPair","strTag","NULL_VALUES$1","nullCoreTag","nullJsonTag","isExplicit","NULL_VALUES","nullYaml11Tag","TRUE_VALUES$2","FALSE_VALUES$2","boolCoreTag","TRUE_VALUES$1","FALSE_VALUES$1","boolJsonTag","TRUE_VALUES","FALSE_VALUES","boolYaml11Tag","YAML_INTEGER_IMPLICIT_PATTERN$1","YAML_INTEGER_EXPLICIT_PATTERN$1","parseYamlInteger$2","sign","resolveYamlInteger$2","intCoreTag","YAML_INTEGER_IMPLICIT_PATTERN","YAML_INTEGER_EXPLICIT_PATTERN","parseYamlInteger$1","resolveYamlInteger$1","intJsonTag","YAML_INTEGER_PATTERN","parseYamlInteger","resolveYamlInteger","intYaml11Tag","YAML_FLOAT_PATTERN$1","YAML_FLOAT_SPECIAL_PATTERN$1","resolveYamlFloat$2","NaN","representYamlFloat$2","floatCoreTag","YAML_FLOAT_IMPLICIT_PATTERN","YAML_FLOAT_EXPLICIT_PATTERN","resolveYamlFloat$1","representYamlFloat$1","floatJsonTag","YAML_FLOAT_PATTERN","YAML_FLOAT_SPECIAL_PATTERN","resolveYamlFloat","representYamlFloat","floatYaml11Tag","mergeTag","BASE64_PATTERN","resolveYamlBinary","binary","atob","representYamlBinary","binaryTag","YAML_DATE_REGEXP","YAML_TIMESTAMP_REGEXP","makeUtcDate","year","month","day","hour","minute","second","fraction","UTC","setUTCFullYear","resolveYamlTimestamp","offsetHour","offsetMinute","setTime","timestampTag","seqTag","container","js_yaml_isPlainObject","omapTag","seen","itemKeys","pairsTag","mapTag","normalizedKey","setTag","createTagDefinitionMap","scalar","mapping","createTagDefinitionListMap","compileTags","tags","previousIndex","previous","Schema","implicitScalarTags","implicitScalarByFirstChar","implicitScalarAnyFirstChar","defaultScalarTag","defaultSequenceTag","defaultMappingTag","exact","compiledTags","withTags","flatTags","FAILSAFE_SCHEMA","JSON_SCHEMA","CORE_SCHEMA","YAML11_SCHEMA","realMapTag","normalizeKey","legacyMapTag","DEFAULT_SNIPPET_OPTIONS","maxLength","indent","linesBefore","linesAfter","getLine","lineStart","lineEnd","maxLineLength","maxHalfLength","repeat","makeSnippet","mark","re","lineStarts","lineEnds","foundLineNo","lineNoLength","formatError","compact","where","column","snippet","YAMLException","throwErrorAt","ch","EVENT_DOCUMENT","EVENT_SEQUENCE","EVENT_MAPPING","EVENT_SCALAR","EVENT_ALIAS","EVENT_POP","SCALAR_STYLE_PLAIN","SCALAR_STYLE_SINGLE_QUOTED","SCALAR_STYLE_DOUBLE_QUOTED","SCALAR_STYLE_LITERAL_BLOCK","SCALAR_STYLE_FOLDED_BLOCK","COLLECTION_STYLE_BLOCK","COLLECTION_STYLE_FLOW","CHOMPING_CLIP","CHOMPING_STRIP","CHOMPING_KEEP","NO_RANGE$3","simpleEscapeSequence","simpleEscapeCheck","simpleEscapeMap","charFromCodepoint","fromHexCode$1","escapedHexLen$1","skipFoldedBreaks","breaks","foldedBreaks","getPlainValue","captureStart","captureEnd","fold","getSingleQuotedValue","getDoubleQuotedValue","hexLength","hexResult","digit","getBlockValue","chomping","folded","textIndent","region","lines","didReadContent","emptyLines","atMoreIndented","getScalarValue","valueEnd","fast","DEFAULT_TAG_HANDLERS","tagPercentEncode","tagNameFull","rawTag","tagHandlers","handleEnd","handle","tagNameShort","fullTag","NO_RANGE$2","DEFAULT_CONSTRUCTOR_OPTIONS","schema","maxTotalMergeKeys","maxAliases","eventPosition$1","tagStart","anchorStart","throwError$1","finalizeCollection","lookupTag","exactTag","findExplicitTag","constructScalar","tagEnd","scalarTag","collectionTagDef","candidates","collectionTag","defaultTagName","isMappingTag","mergeKeys","sourceTag","sourceKey","totalMergeKeys","overridable","mergeSource","keyPosition","addMappingValue","addValue","frames","hasValue","hasKey","storeAnchor","isValueFinal","anchor","anchors","anchorEnd","constructFromEvents","documents","eventIndex","aliasCount","directive","directives","parent","NO_RANGE$1","HAS_OWN","CONTEXT_FLOW_IN","CONTEXT_FLOW_OUT","CONTEXT_BLOCK_IN","CONTEXT_BLOCK_OUT","PATTERN_NON_PRINTABLE","PATTERN_FLOW_INDICATORS","PATTERN_TAG_HANDLE","NS_URI_CHAR","raw","NS_TAG_CHAR","PATTERN_TAG_URI","PATTERN_TAG_SUFFIX","PATTERN_TAG_PREFIX","DEFAULT_PARSER_OPTIONS","maxDepth","addDocumentEvent","explicitStart","explicitEnd","addSequenceEvent","addMappingEvent","insertFlowPairMappingEvent","snapshot","eventsLength","addScalarEvent","addAliasEvent","addPopEvent","addEmptyScalarEvent","emptyProperties","snapshotState","lineIndent","firstTabInLine","restoreState","throwError","isEol","isWhiteSpace","isWsOrEol","isWsOrEolOrEnd","isFlowIndicator","fromDecimalCode","fromHexCode","lc","escapedHexLen","isSimpleEscape","consumeLineBreak","skipSeparationSpace","allowComments","lineBreaks","hasSeparation","testDocumentSeparator","following","skipUntilLineEnd","checkPrintable","readTagProperty","props","inFlow","isVerbatim","isNamed","tagHandle","suffixStart","readAnchorProperty","readAlias","readFlowScalarBreak","nodeIndent","readSingleQuotedScalar","simple","readDoubleQuotedScalar","readBlockScalar","parentIndent","detectedIndent","hadWhitespace","contentIndent","maxLeadingIndent","linePosition","requiredIndent","canStartPlainScalar","nodeContext","readPlainScalar","multiline","savedPosition","savedLine","savedLineStart","savedLineIndent","skipFlowSeparationSpace","readFlowCollection","isMapping","readNext","terminator","isPair","isExplicitPair","entryLine","entryStart","keyWasRead","parseNode","readBlockSequence","hadBreak","readBlockMapping","flowIndent","atExplicitKey","detected","mappingOpened","pendingExplicitKey","beforeKey","allowToSeek","allowCompact","allowPropertyMapping","indentStatus","atNewLine","hasContent","propertyStart","allowBlockScalars","allowBlockCollections","allowBlockStyles","propertyState","fallbackState","blockIndent","propertyIndent","readDirective","nameStart","readDocument","hasDirectives","markerLine","documentEventIndex","documentEvent","parseEvents","nullpos","documentStart","DEFAULT_LOAD_OPTIONS","loadDocuments","PARSER_OPT_KEYS","CONSTRUCTOR_OPT_KEYS","loadAll","iteratorOrOptions","Style","tagged","flow","singleQuoted","doubleQuoted","INVALID","buildRepresentTypes","defaultTags","implicitScalars","explicitTags","defaultTagsLast","implicitTag","matchTag","representTypes","build","noRefs","existing","refs","refCounter","matched","skipInvalid","nodeTagName","objectKey","objectValue","jsToAst","VISIT_BREAK","VISIT_SKIP","visitNode","visitor","control","isKey","visit","doc","CHAR_BOM","CHAR_TAB","CHAR_LINE_FEED","CHAR_CARRIAGE_RETURN","CHAR_SPACE","CHAR_EXCLAMATION","CHAR_DOUBLE_QUOTE","CHAR_SHARP","CHAR_PERCENT","CHAR_AMPERSAND","CHAR_SINGLE_QUOTE","CHAR_ASTERISK","CHAR_COMMA","CHAR_MINUS","CHAR_COLON","CHAR_EQUALS","CHAR_GREATER_THAN","CHAR_QUESTION","CHAR_COMMERCIAL_AT","CHAR_LEFT_SQUARE_BRACKET","CHAR_RIGHT_SQUARE_BRACKET","CHAR_GRAVE_ACCENT","CHAR_LEFT_CURLY_BRACKET","CHAR_VERTICAL_LINE","CHAR_RIGHT_CURLY_BRACKET","ESCAPE_SEQUENCES","DEFAULT_PRESENTER_OPTIONS","seqNoIndent","seqInlineFirst","sortKeys","lineWidth","flowBracketPadding","flowSkipCommaSpace","flowSkipColonSpace","quoteFlowKeys","quoteStyle","forceQuotes","tagBeforeAnchor","nodeTagShort","createPresenterState","defaultScalarTagName","implicitResolvers","encodeNonPrintable","character","indentString","spaces","ind","generateNextLine","scalarLayout","resolveImplicitTag","tagDefinition","isWhitespace","startsWithDocumentSeparator","marker","isPrintable","isNsCharOrWhitespace","isPlainSafe","inblock","cIsNsCharOrWhitespace","cIsNsChar","isPlainSafeFirst","isPlainSafeAtStart","codePointAt","isPlainSafeLast","needIndentIndicator","STYLE_PLAIN","STYLE_SINGLE","STYLE_LITERAL","STYLE_FOLDED","STYLE_DOUBLE","chooseScalarStyle","layout","singleLineOnly","forceQuote","prevChar","hasLineBreak","hasFoldableLine","shouldTrackWidth","previousLineBreak","plain","isMoreIndented","renderScalarStyle","encodeFlowBreaks","blockHeader","dropEndingNewline","foldBlockScalar","escapeString","resolveScalarStyle","iskey","indentPerLevel","indentIndicator","clip","nextLF","pad","lineRe","foldLine","prevMoreIndented","moreIndented","breakRe","escapeSeq","writeFlowSequence","writeNode","writeBlockSequence","isblockseq","writeFlowMapping","sortMappingItems","pairBuffer","keyText","explicitPair","valueText","sortKeyValue","copy","writeBlockMapping","keyIsBlock","cannotBeCompact","keyHasLineBreak","keyIsBareProps","keyColonSep","hasAnchor","shouldPrintTag","useBlockCollection","rootStartsOwnLine","isOpenEnded","leaf","writeDocumentDirectives","present","previousEnded","DEFAULT_DUMP_SCHEMA","DEFAULT_DUMP_OPTIONS","flowLevel","NO_RANGE","eventPosition","anchorName","implicitScalarTagName","buildScalar","buildCollection","addNode","eventsToAst","perf","hasAbortController","AC","AS","hasAbortSignal","hasACAbortSignal","_listeners","deprecatedOption","opt","instead","shouldWarn","LRUCache","deprecatedMethod","deprecatedProperty","what","isPosInt","getUintArray","Uint16Array","Uint32Array","ZeroArray","Stack","UintArray","heap","ttlResolution","ttlAutopurge","updateAgeOnGet","updateAgeOnHas","allowStale","disposeAfter","noDisposeOnSet","noUpdateTTL","maxEntrySize","sizeCalculation","fetchMethod","fetchContext","noDeleteOnFetchRejection","noDeleteOnStaleGet","allowStaleOnFetchRejection","allowStaleOnFetchAbort","ignoreFetchAbort","stale","keyMap","keyList","valList","initialFill","disposed","initializeSizeTracking","initializeTTLTracking","getRemainingTTL","ttls","starts","setItemTTL","isStale","updateItemAge","statusTTL","cachedNow","getNow","remainingTTL","_index","_status","_ttl","_start","calculatedSize","sizes","removeItemSize","requireSize","isBackgroundFetch","addItemSize","evict","entrySize","totalCalculatedSize","_k","_v","indexes","isValidIndex","rindexes","rentries","rkeys","rvalues","getOptions","__staleWhileFetching","thisp","rforEach","prune","purgeStale","deleted","age","_reason","maxEntrySizeExceeded","newIndex","moveToTail","oldVal","__abortController","oldValue","peek","backgroundFetch","fetchOpts","updateCache","ignoreAbort","fetchAborted","fetchError","fetchAbortIgnored","fetchResolved","fetchFail","fetchUpdated","eb","fetchRejected","allowStaleAborted","noDelete","returnedStale","__returned","pcall","fetchDispatched","forceRefresh","hasStale","staleVal","lru_cache","ftp","gopher","wss","proxy_from_env_parseUrl","urlString","getProxyForUrl","getEnv","parsedProxy","parsedProxyHostname","parsedProxyPort","dist_debug","wellKnownAgents","HttpProxyAgent","HttpsProxyAgent","socks","SocksProxyAgent","pac","PacProxyAgent","proxies","socks4","socks4a","socks5","socks5h","isValidProtocol","dist_ProxyAgent","dist","g6","httpAgent","httpsAgent","isWebSocket","external_url_","cacheKey","proxyProto","ctor","MyOctokit","ActionPolicy","enterprise","organization","allowListPath","ghApiUrl","allowList","loadCurrentEnterpriseActionsPolicy","allowed_actions","enabled_organizations","selected","updateEnterpriseActionsAllowList","patterns_allowed","loadCurrentOrganizationActionsPolicy","org","updateOrganizationActionsAllowList","getPolicy","loadAllowListYAML","utils_ActionPolicy","workspace","GITHUB_WORKSPACE","dir","ap"],"sources":["../node_modules/@actions/http-client/lib/index.js","../node_modules/@actions/http-client/lib/proxy.js","../node_modules/debug/src/browser.js","../node_modules/debug/src/common.js","../node_modules/debug/src/index.js","../node_modules/debug/src/node.js","../node_modules/ms/index.js","../node_modules/tunnel/index.js","../node_modules/tunnel/lib/tunnel.js","../node_modules/undici/index.js","../node_modules/undici/lib/api/abort-signal.js","../node_modules/undici/lib/api/api-connect.js","../node_modules/undici/lib/api/api-pipeline.js","../node_modules/undici/lib/api/api-request.js","../node_modules/undici/lib/api/api-stream.js","../node_modules/undici/lib/api/api-upgrade.js","../node_modules/undici/lib/api/index.js","../node_modules/undici/lib/api/readable.js","../node_modules/undici/lib/api/util.js","../node_modules/undici/lib/core/connect.js","../node_modules/undici/lib/core/constants.js","../node_modules/undici/lib/core/diagnostics.js","../node_modules/undici/lib/core/errors.js","../node_modules/undici/lib/core/request.js","../node_modules/undici/lib/core/symbols.js","../node_modules/undici/lib/core/tree.js","../node_modules/undici/lib/core/util.js","../node_modules/undici/lib/dispatcher/agent.js","../node_modules/undici/lib/dispatcher/balanced-pool.js","../node_modules/undici/lib/dispatcher/client-h1.js","../node_modules/undici/lib/dispatcher/client-h2.js","../node_modules/undici/lib/dispatcher/client.js","../node_modules/undici/lib/dispatcher/dispatcher-base.js","../node_modules/undici/lib/dispatcher/dispatcher.js","../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js","../node_modules/undici/lib/dispatcher/fixed-queue.js","../node_modules/undici/lib/dispatcher/pool-base.js","../node_modules/undici/lib/dispatcher/pool-stats.js","../node_modules/undici/lib/dispatcher/pool.js","../node_modules/undici/lib/dispatcher/proxy-agent.js","../node_modules/undici/lib/dispatcher/retry-agent.js","../node_modules/undici/lib/global.js","../node_modules/undici/lib/handler/decorator-handler.js","../node_modules/undici/lib/handler/redirect-handler.js","../node_modules/undici/lib/handler/retry-handler.js","../node_modules/undici/lib/interceptor/dns.js","../node_modules/undici/lib/interceptor/dump.js","../node_modules/undici/lib/interceptor/redirect-interceptor.js","../node_modules/undici/lib/interceptor/redirect.js","../node_modules/undici/lib/interceptor/retry.js","../node_modules/undici/lib/llhttp/constants.js","../node_modules/undici/lib/llhttp/llhttp-wasm.js","../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js","../node_modules/undici/lib/llhttp/utils.js","../node_modules/undici/lib/mock/mock-agent.js","../node_modules/undici/lib/mock/mock-client.js","../node_modules/undici/lib/mock/mock-errors.js","../node_modules/undici/lib/mock/mock-interceptor.js","../node_modules/undici/lib/mock/mock-pool.js","../node_modules/undici/lib/mock/mock-symbols.js","../node_modules/undici/lib/mock/mock-utils.js","../node_modules/undici/lib/mock/pending-interceptors-formatter.js","../node_modules/undici/lib/mock/pluralizer.js","../node_modules/undici/lib/util/timers.js","../node_modules/undici/lib/web/cache/cache.js","../node_modules/undici/lib/web/cache/cachestorage.js","../node_modules/undici/lib/web/cache/symbols.js","../node_modules/undici/lib/web/cache/util.js","../node_modules/undici/lib/web/cookies/constants.js","../node_modules/undici/lib/web/cookies/index.js","../node_modules/undici/lib/web/cookies/parse.js","../node_modules/undici/lib/web/cookies/util.js","../node_modules/undici/lib/web/eventsource/eventsource-stream.js","../node_modules/undici/lib/web/eventsource/eventsource.js","../node_modules/undici/lib/web/eventsource/util.js","../node_modules/undici/lib/web/fetch/body.js","../node_modules/undici/lib/web/fetch/constants.js","../node_modules/undici/lib/web/fetch/data-url.js","../node_modules/undici/lib/web/fetch/dispatcher-weakref.js","../node_modules/undici/lib/web/fetch/file.js","../node_modules/undici/lib/web/fetch/formdata-parser.js","../node_modules/undici/lib/web/fetch/formdata.js","../node_modules/undici/lib/web/fetch/global.js","../node_modules/undici/lib/web/fetch/headers.js","../node_modules/undici/lib/web/fetch/index.js","../node_modules/undici/lib/web/fetch/request.js","../node_modules/undici/lib/web/fetch/response.js","../node_modules/undici/lib/web/fetch/symbols.js","../node_modules/undici/lib/web/fetch/util.js","../node_modules/undici/lib/web/fetch/webidl.js","../node_modules/undici/lib/web/fileapi/encoding.js","../node_modules/undici/lib/web/fileapi/filereader.js","../node_modules/undici/lib/web/fileapi/progressevent.js","../node_modules/undici/lib/web/fileapi/symbols.js","../node_modules/undici/lib/web/fileapi/util.js","../node_modules/undici/lib/web/websocket/connection.js","../node_modules/undici/lib/web/websocket/constants.js","../node_modules/undici/lib/web/websocket/events.js","../node_modules/undici/lib/web/websocket/frame.js","../node_modules/undici/lib/web/websocket/permessage-deflate.js","../node_modules/undici/lib/web/websocket/receiver.js","../node_modules/undici/lib/web/websocket/sender.js","../node_modules/undici/lib/web/websocket/symbols.js","../node_modules/undici/lib/web/websocket/util.js","../node_modules/undici/lib/web/websocket/websocket.js","../node_modules/@vercel/ncc/dist/ncc/@@notfound.js","../external node-commonjs \"assert\"","../external node-commonjs \"buffer\"","../external node-commonjs \"crypto\"","../external node-commonjs \"dns\"","../external node-commonjs \"events\"","../external node-commonjs \"fs\"","../external node-commonjs \"http\"","../external node-commonjs \"https\"","../external node-commonjs \"net\"","../external node-commonjs \"node:assert\"","../external node-commonjs \"node:async_hooks\"","../external node-commonjs \"node:buffer\"","../external node-commonjs \"node:console\"","../external node-commonjs \"node:crypto\"","../external node-commonjs \"node:diagnostics_channel\"","../external node-commonjs \"node:dns\"","../external node-commonjs \"node:events\"","../external node-commonjs \"node:fs/promises\"","../external node-commonjs \"node:http\"","../external node-commonjs \"node:http2\"","../external node-commonjs \"node:net\"","../external node-commonjs \"node:perf_hooks\"","../external node-commonjs \"node:querystring\"","../external node-commonjs \"node:stream\"","../external node-commonjs \"node:tls\"","../external node-commonjs \"node:url\"","../external node-commonjs \"node:util\"","../external node-commonjs \"node:util/types\"","../external node-commonjs \"node:worker_threads\"","../external node-commonjs \"node:zlib\"","../external node-commonjs \"os\"","../external node-commonjs \"path\"","../external node-commonjs \"stream\"","../external node-commonjs \"string_decoder\"","../external node-commonjs \"tls\"","../external node-commonjs \"tty\"","../external node-commonjs \"url\"","../external node-commonjs \"util\"","../node_modules/fast-content-type-parse/index.js","../node_modules/agent-base/dist/helpers.js","../node_modules/agent-base/dist/index.js","../webpack/bootstrap","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/make namespace object","../webpack/runtime/compat","../webpack/runtime/require chunk loading","../node_modules/@actions/core/lib/utils.js","../node_modules/@actions/core/lib/command.js","../node_modules/@actions/core/lib/file-command.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/proxy.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/index.js","../node_modules/@actions/core/node_modules/@actions/http-client/lib/auth.js","../node_modules/@actions/core/lib/oidc-utils.js","../node_modules/@actions/core/lib/summary.js","../node_modules/@actions/core/lib/path-utils.js","../external node-commonjs \"child_process\"","../node_modules/@actions/io/lib/io-util.js","../node_modules/@actions/io/lib/io.js","../external node-commonjs \"timers\"","../node_modules/@actions/exec/lib/toolrunner.js","../node_modules/@actions/exec/lib/exec.js","../node_modules/@actions/core/lib/platform.js","../node_modules/@actions/core/lib/core.js","../node_modules/@actions/github/lib/context.js","../node_modules/@actions/github/lib/internal/utils.js","../node_modules/universal-user-agent/index.js","../node_modules/before-after-hook/lib/register.js","../node_modules/before-after-hook/lib/add.js","../node_modules/before-after-hook/lib/remove.js","../node_modules/before-after-hook/index.js","../node_modules/@octokit/endpoint/dist-bundle/index.js","../node_modules/json-with-bigint/json-with-bigint.js","../node_modules/@octokit/request-error/dist-src/index.js","../node_modules/@octokit/request/dist-bundle/index.js","../node_modules/@octokit/graphql/dist-bundle/index.js","../node_modules/@octokit/auth-token/dist-bundle/index.js","../node_modules/@octokit/core/dist-src/version.js","../node_modules/@octokit/core/dist-src/index.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/generated/endpoints.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/endpoints-to-methods.js","../node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/index.js","../node_modules/@octokit/plugin-paginate-rest/dist-bundle/index.js","../node_modules/@actions/github/lib/utils.js","../node_modules/@octokit/plugin-enterprise-cloud/dist-bundle/index.js","../node_modules/@octokit/plugin-enterprise-server/dist-bundle/index.js","../node_modules/js-yaml/dist/js-yaml.mjs","../node_modules/lru-cache/index.mjs","../node_modules/proxy-from-env/index.js","../node_modules/proxy-agent/dist/index.js","../utils/ActionPolicy.js","../action.js"],"sourcesContent":["\"use strict\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpClient = exports.HttpClientResponse = exports.HttpClientError = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;\nexports.getProxyUrl = getProxyUrl;\nexports.isHttps = isHttps;\nconst http = __importStar(require(\"http\"));\nconst https = __importStar(require(\"https\"));\nconst pm = __importStar(require(\"./proxy\"));\nconst tunnel = __importStar(require(\"tunnel\"));\nconst undici_1 = require(\"undici\");\nvar HttpCodes;\n(function (HttpCodes) {\n HttpCodes[HttpCodes[\"OK\"] = 200] = \"OK\";\n HttpCodes[HttpCodes[\"MultipleChoices\"] = 300] = \"MultipleChoices\";\n HttpCodes[HttpCodes[\"MovedPermanently\"] = 301] = \"MovedPermanently\";\n HttpCodes[HttpCodes[\"ResourceMoved\"] = 302] = \"ResourceMoved\";\n HttpCodes[HttpCodes[\"SeeOther\"] = 303] = \"SeeOther\";\n HttpCodes[HttpCodes[\"NotModified\"] = 304] = \"NotModified\";\n HttpCodes[HttpCodes[\"UseProxy\"] = 305] = \"UseProxy\";\n HttpCodes[HttpCodes[\"SwitchProxy\"] = 306] = \"SwitchProxy\";\n HttpCodes[HttpCodes[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n HttpCodes[HttpCodes[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n HttpCodes[HttpCodes[\"BadRequest\"] = 400] = \"BadRequest\";\n HttpCodes[HttpCodes[\"Unauthorized\"] = 401] = \"Unauthorized\";\n HttpCodes[HttpCodes[\"PaymentRequired\"] = 402] = \"PaymentRequired\";\n HttpCodes[HttpCodes[\"Forbidden\"] = 403] = \"Forbidden\";\n HttpCodes[HttpCodes[\"NotFound\"] = 404] = \"NotFound\";\n HttpCodes[HttpCodes[\"MethodNotAllowed\"] = 405] = \"MethodNotAllowed\";\n HttpCodes[HttpCodes[\"NotAcceptable\"] = 406] = \"NotAcceptable\";\n HttpCodes[HttpCodes[\"ProxyAuthenticationRequired\"] = 407] = \"ProxyAuthenticationRequired\";\n HttpCodes[HttpCodes[\"RequestTimeout\"] = 408] = \"RequestTimeout\";\n HttpCodes[HttpCodes[\"Conflict\"] = 409] = \"Conflict\";\n HttpCodes[HttpCodes[\"Gone\"] = 410] = \"Gone\";\n HttpCodes[HttpCodes[\"TooManyRequests\"] = 429] = \"TooManyRequests\";\n HttpCodes[HttpCodes[\"InternalServerError\"] = 500] = \"InternalServerError\";\n HttpCodes[HttpCodes[\"NotImplemented\"] = 501] = \"NotImplemented\";\n HttpCodes[HttpCodes[\"BadGateway\"] = 502] = \"BadGateway\";\n HttpCodes[HttpCodes[\"ServiceUnavailable\"] = 503] = \"ServiceUnavailable\";\n HttpCodes[HttpCodes[\"GatewayTimeout\"] = 504] = \"GatewayTimeout\";\n})(HttpCodes || (exports.HttpCodes = HttpCodes = {}));\nvar Headers;\n(function (Headers) {\n Headers[\"Accept\"] = \"accept\";\n Headers[\"ContentType\"] = \"content-type\";\n})(Headers || (exports.Headers = Headers = {}));\nvar MediaTypes;\n(function (MediaTypes) {\n MediaTypes[\"ApplicationJson\"] = \"application/json\";\n})(MediaTypes || (exports.MediaTypes = MediaTypes = {}));\n/**\n * Returns the proxy URL, depending upon the supplied url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\nfunction getProxyUrl(serverUrl) {\n const proxyUrl = pm.getProxyUrl(new URL(serverUrl));\n return proxyUrl ? proxyUrl.href : '';\n}\nconst HttpRedirectCodes = [\n HttpCodes.MovedPermanently,\n HttpCodes.ResourceMoved,\n HttpCodes.SeeOther,\n HttpCodes.TemporaryRedirect,\n HttpCodes.PermanentRedirect\n];\nconst HttpResponseRetryCodes = [\n HttpCodes.BadGateway,\n HttpCodes.ServiceUnavailable,\n HttpCodes.GatewayTimeout\n];\nconst RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];\nconst ExponentialBackoffCeiling = 10;\nconst ExponentialBackoffTimeSlice = 5;\nclass HttpClientError extends Error {\n constructor(message, statusCode) {\n super(message);\n this.name = 'HttpClientError';\n this.statusCode = statusCode;\n Object.setPrototypeOf(this, HttpClientError.prototype);\n }\n}\nexports.HttpClientError = HttpClientError;\nclass HttpClientResponse {\n constructor(message) {\n this.message = message;\n }\n readBody() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n let output = Buffer.alloc(0);\n this.message.on('data', (chunk) => {\n output = Buffer.concat([output, chunk]);\n });\n this.message.on('end', () => {\n resolve(output.toString());\n });\n }));\n });\n }\n readBodyBuffer() {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {\n const chunks = [];\n this.message.on('data', (chunk) => {\n chunks.push(chunk);\n });\n this.message.on('end', () => {\n resolve(Buffer.concat(chunks));\n });\n }));\n });\n }\n}\nexports.HttpClientResponse = HttpClientResponse;\nfunction isHttps(requestUrl) {\n const parsedUrl = new URL(requestUrl);\n return parsedUrl.protocol === 'https:';\n}\nclass HttpClient {\n constructor(userAgent, handlers, requestOptions) {\n this._ignoreSslError = false;\n this._allowRedirects = true;\n this._allowRedirectDowngrade = false;\n this._maxRedirects = 50;\n this._allowRetries = false;\n this._maxRetries = 1;\n this._keepAlive = false;\n this._disposed = false;\n this.userAgent = this._getUserAgentWithOrchestrationId(userAgent);\n this.handlers = handlers || [];\n this.requestOptions = requestOptions;\n if (requestOptions) {\n if (requestOptions.ignoreSslError != null) {\n this._ignoreSslError = requestOptions.ignoreSslError;\n }\n this._socketTimeout = requestOptions.socketTimeout;\n if (requestOptions.allowRedirects != null) {\n this._allowRedirects = requestOptions.allowRedirects;\n }\n if (requestOptions.allowRedirectDowngrade != null) {\n this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;\n }\n if (requestOptions.maxRedirects != null) {\n this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);\n }\n if (requestOptions.keepAlive != null) {\n this._keepAlive = requestOptions.keepAlive;\n }\n if (requestOptions.allowRetries != null) {\n this._allowRetries = requestOptions.allowRetries;\n }\n if (requestOptions.maxRetries != null) {\n this._maxRetries = requestOptions.maxRetries;\n }\n }\n }\n options(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});\n });\n }\n get(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('GET', requestUrl, null, additionalHeaders || {});\n });\n }\n del(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('DELETE', requestUrl, null, additionalHeaders || {});\n });\n }\n post(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('POST', requestUrl, data, additionalHeaders || {});\n });\n }\n patch(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PATCH', requestUrl, data, additionalHeaders || {});\n });\n }\n put(requestUrl, data, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('PUT', requestUrl, data, additionalHeaders || {});\n });\n }\n head(requestUrl, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request('HEAD', requestUrl, null, additionalHeaders || {});\n });\n }\n sendStream(verb, requestUrl, stream, additionalHeaders) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.request(verb, requestUrl, stream, additionalHeaders);\n });\n }\n /**\n * Gets a typed object from an endpoint\n * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise\n */\n getJson(requestUrl_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, additionalHeaders = {}) {\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n const res = yield this.get(requestUrl, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n postJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.post(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n putJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.put(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n patchJson(requestUrl_1, obj_1) {\n return __awaiter(this, arguments, void 0, function* (requestUrl, obj, additionalHeaders = {}) {\n const data = JSON.stringify(obj, null, 2);\n additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);\n additionalHeaders[Headers.ContentType] =\n this._getExistingOrDefaultContentTypeHeader(additionalHeaders, MediaTypes.ApplicationJson);\n const res = yield this.patch(requestUrl, data, additionalHeaders);\n return this._processResponse(res, this.requestOptions);\n });\n }\n /**\n * Makes a raw http request.\n * All other methods such as get, post, patch, and request ultimately call this.\n * Prefer get, del, post and patch\n */\n request(verb, requestUrl, data, headers) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._disposed) {\n throw new Error('Client has already been disposed.');\n }\n const parsedUrl = new URL(requestUrl);\n let info = this._prepareRequest(verb, parsedUrl, headers);\n // Only perform retries on reads since writes may not be idempotent.\n const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)\n ? this._maxRetries + 1\n : 1;\n let numTries = 0;\n let response;\n do {\n response = yield this.requestRaw(info, data);\n // Check if it's an authentication challenge\n if (response &&\n response.message &&\n response.message.statusCode === HttpCodes.Unauthorized) {\n let authenticationHandler;\n for (const handler of this.handlers) {\n if (handler.canHandleAuthentication(response)) {\n authenticationHandler = handler;\n break;\n }\n }\n if (authenticationHandler) {\n return authenticationHandler.handleAuthentication(this, info, data);\n }\n else {\n // We have received an unauthorized response but have no handlers to handle it.\n // Let the response return to the caller.\n return response;\n }\n }\n let redirectsRemaining = this._maxRedirects;\n while (response.message.statusCode &&\n HttpRedirectCodes.includes(response.message.statusCode) &&\n this._allowRedirects &&\n redirectsRemaining > 0) {\n const redirectUrl = response.message.headers['location'];\n if (!redirectUrl) {\n // if there's no location to redirect to, we won't\n break;\n }\n const parsedRedirectUrl = new URL(redirectUrl);\n if (parsedUrl.protocol === 'https:' &&\n parsedUrl.protocol !== parsedRedirectUrl.protocol &&\n !this._allowRedirectDowngrade) {\n 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.');\n }\n // we need to finish reading the response before reassigning response\n // which will leak the open socket.\n yield response.readBody();\n // strip authorization header if redirected to a different hostname\n if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {\n for (const header in headers) {\n // header names are case insensitive\n if (header.toLowerCase() === 'authorization') {\n delete headers[header];\n }\n }\n }\n // let's make the request with the new redirectUrl\n info = this._prepareRequest(verb, parsedRedirectUrl, headers);\n response = yield this.requestRaw(info, data);\n redirectsRemaining--;\n }\n if (!response.message.statusCode ||\n !HttpResponseRetryCodes.includes(response.message.statusCode)) {\n // If not a retry code, return immediately instead of retrying\n return response;\n }\n numTries += 1;\n if (numTries < maxTries) {\n yield response.readBody();\n yield this._performExponentialBackoff(numTries);\n }\n } while (numTries < maxTries);\n return response;\n });\n }\n /**\n * Needs to be called if keepAlive is set to true in request options.\n */\n dispose() {\n if (this._agent) {\n this._agent.destroy();\n }\n this._disposed = true;\n }\n /**\n * Raw request.\n * @param info\n * @param data\n */\n requestRaw(info, data) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => {\n function callbackForResult(err, res) {\n if (err) {\n reject(err);\n }\n else if (!res) {\n // If `err` is not passed, then `res` must be passed.\n reject(new Error('Unknown error'));\n }\n else {\n resolve(res);\n }\n }\n this.requestRawWithCallback(info, data, callbackForResult);\n });\n });\n }\n /**\n * Raw request with callback.\n * @param info\n * @param data\n * @param onResult\n */\n requestRawWithCallback(info, data, onResult) {\n if (typeof data === 'string') {\n if (!info.options.headers) {\n info.options.headers = {};\n }\n info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');\n }\n let callbackCalled = false;\n function handleResult(err, res) {\n if (!callbackCalled) {\n callbackCalled = true;\n onResult(err, res);\n }\n }\n const req = info.httpModule.request(info.options, (msg) => {\n const res = new HttpClientResponse(msg);\n handleResult(undefined, res);\n });\n let socket;\n req.on('socket', sock => {\n socket = sock;\n });\n // If we ever get disconnected, we want the socket to timeout eventually\n req.setTimeout(this._socketTimeout || 3 * 60000, () => {\n if (socket) {\n socket.end();\n }\n handleResult(new Error(`Request timeout: ${info.options.path}`));\n });\n req.on('error', function (err) {\n // err has statusCode property\n // res should have headers\n handleResult(err);\n });\n if (data && typeof data === 'string') {\n req.write(data, 'utf8');\n }\n if (data && typeof data !== 'string') {\n data.on('close', function () {\n req.end();\n });\n data.pipe(req);\n }\n else {\n req.end();\n }\n }\n /**\n * Gets an http agent. This function is useful when you need an http agent that handles\n * routing through a proxy server - depending upon the url and proxy environment variables.\n * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com\n */\n getAgent(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n return this._getAgent(parsedUrl);\n }\n getAgentDispatcher(serverUrl) {\n const parsedUrl = new URL(serverUrl);\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (!useProxy) {\n return;\n }\n return this._getProxyAgentDispatcher(parsedUrl, proxyUrl);\n }\n _prepareRequest(method, requestUrl, headers) {\n const info = {};\n info.parsedUrl = requestUrl;\n const usingSsl = info.parsedUrl.protocol === 'https:';\n info.httpModule = usingSsl ? https : http;\n const defaultPort = usingSsl ? 443 : 80;\n info.options = {};\n info.options.host = info.parsedUrl.hostname;\n info.options.port = info.parsedUrl.port\n ? parseInt(info.parsedUrl.port)\n : defaultPort;\n info.options.path =\n (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');\n info.options.method = method;\n info.options.headers = this._mergeHeaders(headers);\n if (this.userAgent != null) {\n info.options.headers['user-agent'] = this.userAgent;\n }\n info.options.agent = this._getAgent(info.parsedUrl);\n // gives handlers an opportunity to participate\n if (this.handlers) {\n for (const handler of this.handlers) {\n handler.prepareRequest(info.options);\n }\n }\n return info;\n }\n _mergeHeaders(headers) {\n if (this.requestOptions && this.requestOptions.headers) {\n return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));\n }\n return lowercaseKeys(headers || {});\n }\n /**\n * Gets an existing header value or returns a default.\n * Handles converting number header values to strings since HTTP headers must be strings.\n * Note: This returns string | string[] since some headers can have multiple values.\n * For headers that must always be a single string (like Content-Type), use the\n * specialized _getExistingOrDefaultContentTypeHeader method instead.\n */\n _getExistingOrDefaultHeader(additionalHeaders, header, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[header];\n if (headerValue) {\n clientHeader =\n typeof headerValue === 'number' ? headerValue.toString() : headerValue;\n }\n }\n const additionalValue = additionalHeaders[header];\n if (additionalValue !== undefined) {\n return typeof additionalValue === 'number'\n ? additionalValue.toString()\n : additionalValue;\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n /**\n * Specialized version of _getExistingOrDefaultHeader for Content-Type header.\n * Always returns a single string (not an array) since Content-Type should be a single value.\n * Converts arrays to comma-separated strings and numbers to strings to ensure type safety.\n * This was split from _getExistingOrDefaultHeader to provide stricter typing for callers\n * that assign the result to places expecting a string (e.g., additionalHeaders[Headers.ContentType]).\n */\n _getExistingOrDefaultContentTypeHeader(additionalHeaders, _default) {\n let clientHeader;\n if (this.requestOptions && this.requestOptions.headers) {\n const headerValue = lowercaseKeys(this.requestOptions.headers)[Headers.ContentType];\n if (headerValue) {\n if (typeof headerValue === 'number') {\n clientHeader = String(headerValue);\n }\n else if (Array.isArray(headerValue)) {\n clientHeader = headerValue.join(', ');\n }\n else {\n clientHeader = headerValue;\n }\n }\n }\n const additionalValue = additionalHeaders[Headers.ContentType];\n // Return the first non-undefined value, converting numbers or arrays to strings if necessary\n if (additionalValue !== undefined) {\n if (typeof additionalValue === 'number') {\n return String(additionalValue);\n }\n else if (Array.isArray(additionalValue)) {\n return additionalValue.join(', ');\n }\n else {\n return additionalValue;\n }\n }\n if (clientHeader !== undefined) {\n return clientHeader;\n }\n return _default;\n }\n _getAgent(parsedUrl) {\n let agent;\n const proxyUrl = pm.getProxyUrl(parsedUrl);\n const useProxy = proxyUrl && proxyUrl.hostname;\n if (this._keepAlive && useProxy) {\n agent = this._proxyAgent;\n }\n if (!useProxy) {\n agent = this._agent;\n }\n // if agent is already assigned use that agent.\n if (agent) {\n return agent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n let maxSockets = 100;\n if (this.requestOptions) {\n maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;\n }\n // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.\n if (proxyUrl && proxyUrl.hostname) {\n const agentOptions = {\n maxSockets,\n keepAlive: this._keepAlive,\n proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {\n proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`\n })), { host: proxyUrl.hostname, port: proxyUrl.port })\n };\n let tunnelAgent;\n const overHttps = proxyUrl.protocol === 'https:';\n if (usingSsl) {\n tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;\n }\n else {\n tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;\n }\n agent = tunnelAgent(agentOptions);\n this._proxyAgent = agent;\n }\n // if tunneling agent isn't assigned create a new agent\n if (!agent) {\n const options = { keepAlive: this._keepAlive, maxSockets };\n agent = usingSsl ? new https.Agent(options) : new http.Agent(options);\n this._agent = agent;\n }\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n agent.options = Object.assign(agent.options || {}, {\n rejectUnauthorized: false\n });\n }\n return agent;\n }\n _getProxyAgentDispatcher(parsedUrl, proxyUrl) {\n let proxyAgent;\n if (this._keepAlive) {\n proxyAgent = this._proxyAgentDispatcher;\n }\n // if agent is already assigned use that agent.\n if (proxyAgent) {\n return proxyAgent;\n }\n const usingSsl = parsedUrl.protocol === 'https:';\n proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && {\n token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}`\n })));\n this._proxyAgentDispatcher = proxyAgent;\n if (usingSsl && this._ignoreSslError) {\n // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process\n // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options\n // we have to cast it to any and change it directly\n proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, {\n rejectUnauthorized: false\n });\n }\n return proxyAgent;\n }\n _getUserAgentWithOrchestrationId(userAgent) {\n const baseUserAgent = userAgent || 'actions/http-client';\n const orchId = process.env['ACTIONS_ORCHESTRATION_ID'];\n if (orchId) {\n // Sanitize the orchestration ID to ensure it contains only valid characters\n // Valid characters: 0-9, a-z, _, -, .\n const sanitizedId = orchId.replace(/[^a-z0-9_.-]/gi, '_');\n return `${baseUserAgent} actions_orchestration_id/${sanitizedId}`;\n }\n return baseUserAgent;\n }\n _performExponentialBackoff(retryNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);\n const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);\n return new Promise(resolve => setTimeout(() => resolve(), ms));\n });\n }\n _processResponse(res, options) {\n return __awaiter(this, void 0, void 0, function* () {\n return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {\n const statusCode = res.message.statusCode || 0;\n const response = {\n statusCode,\n result: null,\n headers: {}\n };\n // not found leads to null obj returned\n if (statusCode === HttpCodes.NotFound) {\n resolve(response);\n }\n // get the result from the body\n function dateTimeDeserializer(key, value) {\n if (typeof value === 'string') {\n const a = new Date(value);\n if (!isNaN(a.valueOf())) {\n return a;\n }\n }\n return value;\n }\n let obj;\n let contents;\n try {\n contents = yield res.readBody();\n if (contents && contents.length > 0) {\n if (options && options.deserializeDates) {\n obj = JSON.parse(contents, dateTimeDeserializer);\n }\n else {\n obj = JSON.parse(contents);\n }\n response.result = obj;\n }\n response.headers = res.message.headers;\n }\n catch (err) {\n // Invalid resource (contents not json); leaving result obj null\n }\n // note that 3xx redirects are handled by the http layer.\n if (statusCode > 299) {\n let msg;\n // if exception/error in body, attempt to get better error\n if (obj && obj.message) {\n msg = obj.message;\n }\n else if (contents && contents.length > 0) {\n // it may be the case that the exception is in the body message as string\n msg = contents;\n }\n else {\n msg = `Failed request: (${statusCode})`;\n }\n const err = new HttpClientError(msg, statusCode);\n err.result = response.result;\n reject(err);\n }\n else {\n resolve(response);\n }\n }));\n });\n }\n}\nexports.HttpClient = HttpClient;\nconst lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProxyUrl = getProxyUrl;\nexports.checkBypass = checkBypass;\nfunction getProxyUrl(reqUrl) {\n const usingSsl = reqUrl.protocol === 'https:';\n if (checkBypass(reqUrl)) {\n return undefined;\n }\n const proxyVar = (() => {\n if (usingSsl) {\n return process.env['https_proxy'] || process.env['HTTPS_PROXY'];\n }\n else {\n return process.env['http_proxy'] || process.env['HTTP_PROXY'];\n }\n })();\n if (proxyVar) {\n try {\n return new DecodedURL(proxyVar);\n }\n catch (_a) {\n if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://'))\n return new DecodedURL(`http://${proxyVar}`);\n }\n }\n else {\n return undefined;\n }\n}\nfunction checkBypass(reqUrl) {\n if (!reqUrl.hostname) {\n return false;\n }\n const reqHost = reqUrl.hostname;\n if (isLoopbackAddress(reqHost)) {\n return true;\n }\n const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';\n if (!noProxy) {\n return false;\n }\n // Determine the request port\n let reqPort;\n if (reqUrl.port) {\n reqPort = Number(reqUrl.port);\n }\n else if (reqUrl.protocol === 'http:') {\n reqPort = 80;\n }\n else if (reqUrl.protocol === 'https:') {\n reqPort = 443;\n }\n // Format the request hostname and hostname with port\n const upperReqHosts = [reqUrl.hostname.toUpperCase()];\n if (typeof reqPort === 'number') {\n upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);\n }\n // Compare request host against noproxy\n for (const upperNoProxyItem of noProxy\n .split(',')\n .map(x => x.trim().toUpperCase())\n .filter(x => x)) {\n if (upperNoProxyItem === '*' ||\n upperReqHosts.some(x => x === upperNoProxyItem ||\n x.endsWith(`.${upperNoProxyItem}`) ||\n (upperNoProxyItem.startsWith('.') &&\n x.endsWith(`${upperNoProxyItem}`)))) {\n return true;\n }\n }\n return false;\n}\nfunction isLoopbackAddress(host) {\n const hostLower = host.toLowerCase();\n return (hostLower === 'localhost' ||\n hostLower.startsWith('127.') ||\n hostLower.startsWith('[::1]') ||\n hostLower.startsWith('[0:0:0:0:0:0:0:1]'));\n}\nclass DecodedURL extends URL {\n constructor(url, base) {\n super(url, base);\n this._decodedUsername = decodeURIComponent(super.username);\n this._decodedPassword = decodeURIComponent(super.password);\n }\n get username() {\n return this._decodedUsername;\n }\n get password() {\n return this._decodedPassword;\n }\n}\n//# sourceMappingURL=proxy.js.map","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","module.exports = require('./lib/tunnel');\n","'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('got illegal response body from proxy');\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n debug('tunneling connection has established');\n self.sockets[self.sockets.indexOf(placeholder)] = socket;\n return cb(socket);\n }\n\n function onError(cause) {\n connectReq.removeAllListeners();\n\n debug('tunneling socket could not be established, cause=%s\\n',\n cause.message, cause.stack);\n var error = new Error('tunneling socket could not be established, ' +\n 'cause=' + cause.message);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n }\n};\n\nTunnelingAgent.prototype.removeSocket = function removeSocket(socket) {\n var pos = this.sockets.indexOf(socket)\n if (pos === -1) {\n return;\n }\n this.sockets.splice(pos, 1);\n\n var pending = this.requests.shift();\n if (pending) {\n // If we have pending requests and a socket gets closed a new one\n // needs to be created to take over in the pool for the one that closed.\n this.createSocket(pending, function(socket) {\n pending.request.onSocket(socket);\n });\n }\n};\n\nfunction createSecureSocket(options, cb) {\n var self = this;\n TunnelingAgent.prototype.createSocket.call(self, options, function(socket) {\n var hostHeader = options.request.getHeader('host');\n var tlsOptions = mergeOptions({}, self.options, {\n socket: socket,\n servername: hostHeader ? hostHeader.replace(/:.*$/, '') : options.host\n });\n\n // 0 is dummy port for v0.6\n var secureSocket = tls.connect(0, tlsOptions);\n self.sockets[self.sockets.indexOf(socket)] = secureSocket;\n cb(secureSocket);\n });\n}\n\n\nfunction toOptions(host, port, localAddress) {\n if (typeof host === 'string') { // since v0.10\n return {\n host: host,\n port: port,\n localAddress: localAddress\n };\n }\n return host; // for v0.11 or later\n}\n\nfunction mergeOptions(target) {\n for (var i = 1, len = arguments.length; i < len; ++i) {\n var overrides = arguments[i];\n if (typeof overrides === 'object') {\n var keys = Object.keys(overrides);\n for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {\n var k = keys[j];\n if (overrides[k] !== undefined) {\n target[k] = overrides[k];\n }\n }\n }\n }\n return target;\n}\n\n\nvar debug;\nif (process.env.NODE_DEBUG && /\\btunnel\\b/.test(process.env.NODE_DEBUG)) {\n debug = function() {\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'string') {\n args[0] = 'TUNNEL: ' + args[0];\n } else {\n args.unshift('TUNNEL:');\n }\n console.error.apply(console, args);\n }\n} else {\n debug = function() {};\n}\nexports.debug = debug; // for test\n","'use strict'\n\nconst Client = require('./lib/dispatcher/client')\nconst Dispatcher = require('./lib/dispatcher/dispatcher')\nconst Pool = require('./lib/dispatcher/pool')\nconst BalancedPool = require('./lib/dispatcher/balanced-pool')\nconst Agent = require('./lib/dispatcher/agent')\nconst ProxyAgent = require('./lib/dispatcher/proxy-agent')\nconst EnvHttpProxyAgent = require('./lib/dispatcher/env-http-proxy-agent')\nconst RetryAgent = require('./lib/dispatcher/retry-agent')\nconst errors = require('./lib/core/errors')\nconst util = require('./lib/core/util')\nconst { InvalidArgumentError } = errors\nconst api = require('./lib/api')\nconst buildConnector = require('./lib/core/connect')\nconst MockClient = require('./lib/mock/mock-client')\nconst MockAgent = require('./lib/mock/mock-agent')\nconst MockPool = require('./lib/mock/mock-pool')\nconst mockErrors = require('./lib/mock/mock-errors')\nconst RetryHandler = require('./lib/handler/retry-handler')\nconst { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global')\nconst DecoratorHandler = require('./lib/handler/decorator-handler')\nconst RedirectHandler = require('./lib/handler/redirect-handler')\nconst createRedirectInterceptor = require('./lib/interceptor/redirect-interceptor')\n\nObject.assign(Dispatcher.prototype, api)\n\nmodule.exports.Dispatcher = Dispatcher\nmodule.exports.Client = Client\nmodule.exports.Pool = Pool\nmodule.exports.BalancedPool = BalancedPool\nmodule.exports.Agent = Agent\nmodule.exports.ProxyAgent = ProxyAgent\nmodule.exports.EnvHttpProxyAgent = EnvHttpProxyAgent\nmodule.exports.RetryAgent = RetryAgent\nmodule.exports.RetryHandler = RetryHandler\n\nmodule.exports.DecoratorHandler = DecoratorHandler\nmodule.exports.RedirectHandler = RedirectHandler\nmodule.exports.createRedirectInterceptor = createRedirectInterceptor\nmodule.exports.interceptors = {\n redirect: require('./lib/interceptor/redirect'),\n retry: require('./lib/interceptor/retry'),\n dump: require('./lib/interceptor/dump'),\n dns: require('./lib/interceptor/dns')\n}\n\nmodule.exports.buildConnector = buildConnector\nmodule.exports.errors = errors\nmodule.exports.util = {\n parseHeaders: util.parseHeaders,\n headerNameToString: util.headerNameToString\n}\n\nfunction makeDispatcher (fn) {\n return (url, opts, handler) => {\n if (typeof opts === 'function') {\n handler = opts\n opts = null\n }\n\n if (!url || (typeof url !== 'string' && typeof url !== 'object' && !(url instanceof URL))) {\n throw new InvalidArgumentError('invalid url')\n }\n\n if (opts != null && typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (opts && opts.path != null) {\n if (typeof opts.path !== 'string') {\n throw new InvalidArgumentError('invalid opts.path')\n }\n\n let path = opts.path\n if (!opts.path.startsWith('/')) {\n path = `/${path}`\n }\n\n url = new URL(util.parseOrigin(url).origin + path)\n } else {\n if (!opts) {\n opts = typeof url === 'object' ? url : {}\n }\n\n url = util.parseURL(url)\n }\n\n const { agent, dispatcher = getGlobalDispatcher() } = opts\n\n if (agent) {\n throw new InvalidArgumentError('unsupported opts.agent. Did you mean opts.client?')\n }\n\n return fn.call(dispatcher, {\n ...opts,\n origin: url.origin,\n path: url.search ? `${url.pathname}${url.search}` : url.pathname,\n method: opts.method || (opts.body ? 'PUT' : 'GET')\n }, handler)\n }\n}\n\nmodule.exports.setGlobalDispatcher = setGlobalDispatcher\nmodule.exports.getGlobalDispatcher = getGlobalDispatcher\n\nconst fetchImpl = require('./lib/web/fetch').fetch\nmodule.exports.fetch = async function fetch (init, options = undefined) {\n try {\n return await fetchImpl(init, options)\n } catch (err) {\n if (err && typeof err === 'object') {\n Error.captureStackTrace(err)\n }\n\n throw err\n }\n}\nmodule.exports.Headers = require('./lib/web/fetch/headers').Headers\nmodule.exports.Response = require('./lib/web/fetch/response').Response\nmodule.exports.Request = require('./lib/web/fetch/request').Request\nmodule.exports.FormData = require('./lib/web/fetch/formdata').FormData\nmodule.exports.File = globalThis.File ?? require('node:buffer').File\nmodule.exports.FileReader = require('./lib/web/fileapi/filereader').FileReader\n\nconst { setGlobalOrigin, getGlobalOrigin } = require('./lib/web/fetch/global')\n\nmodule.exports.setGlobalOrigin = setGlobalOrigin\nmodule.exports.getGlobalOrigin = getGlobalOrigin\n\nconst { CacheStorage } = require('./lib/web/cache/cachestorage')\nconst { kConstruct } = require('./lib/web/cache/symbols')\n\n// Cache & CacheStorage are tightly coupled with fetch. Even if it may run\n// in an older version of Node, it doesn't have any use without fetch.\nmodule.exports.caches = new CacheStorage(kConstruct)\n\nconst { deleteCookie, getCookies, getSetCookies, setCookie } = require('./lib/web/cookies')\n\nmodule.exports.deleteCookie = deleteCookie\nmodule.exports.getCookies = getCookies\nmodule.exports.getSetCookies = getSetCookies\nmodule.exports.setCookie = setCookie\n\nconst { parseMIMEType, serializeAMimeType } = require('./lib/web/fetch/data-url')\n\nmodule.exports.parseMIMEType = parseMIMEType\nmodule.exports.serializeAMimeType = serializeAMimeType\n\nconst { CloseEvent, ErrorEvent, MessageEvent } = require('./lib/web/websocket/events')\nmodule.exports.WebSocket = require('./lib/web/websocket/websocket').WebSocket\nmodule.exports.CloseEvent = CloseEvent\nmodule.exports.ErrorEvent = ErrorEvent\nmodule.exports.MessageEvent = MessageEvent\n\nmodule.exports.request = makeDispatcher(api.request)\nmodule.exports.stream = makeDispatcher(api.stream)\nmodule.exports.pipeline = makeDispatcher(api.pipeline)\nmodule.exports.connect = makeDispatcher(api.connect)\nmodule.exports.upgrade = makeDispatcher(api.upgrade)\n\nmodule.exports.MockClient = MockClient\nmodule.exports.MockPool = MockPool\nmodule.exports.MockAgent = MockAgent\nmodule.exports.mockErrors = mockErrors\n\nconst { EventSource } = require('./lib/web/eventsource/eventsource')\n\nmodule.exports.EventSource = EventSource\n","const { addAbortListener } = require('../core/util')\nconst { RequestAbortedError } = require('../core/errors')\n\nconst kListener = Symbol('kListener')\nconst kSignal = Symbol('kSignal')\n\nfunction abort (self) {\n if (self.abort) {\n self.abort(self[kSignal]?.reason)\n } else {\n self.reason = self[kSignal]?.reason ?? new RequestAbortedError()\n }\n removeSignal(self)\n}\n\nfunction addSignal (self, signal) {\n self.reason = null\n\n self[kSignal] = null\n self[kListener] = null\n\n if (!signal) {\n return\n }\n\n if (signal.aborted) {\n abort(self)\n return\n }\n\n self[kSignal] = signal\n self[kListener] = () => {\n abort(self)\n }\n\n addAbortListener(self[kSignal], self[kListener])\n}\n\nfunction removeSignal (self) {\n if (!self[kSignal]) {\n return\n }\n\n if ('removeEventListener' in self[kSignal]) {\n self[kSignal].removeEventListener('abort', self[kListener])\n } else {\n self[kSignal].removeListener('abort', self[kListener])\n }\n\n self[kSignal] = null\n self[kListener] = null\n}\n\nmodule.exports = {\n addSignal,\n removeSignal\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { AsyncResource } = require('node:async_hooks')\nconst { InvalidArgumentError, SocketError } = require('../core/errors')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass ConnectHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_CONNECT')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.callback = callback\n this.abort = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders () {\n throw new SocketError('bad connect', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n const { callback, opaque, context } = this\n\n removeSignal(this)\n\n this.callback = null\n\n let headers = rawHeaders\n // Indicates is an HTTP2Session\n if (headers != null) {\n headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n }\n\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction connect (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n connect.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const connectHandler = new ConnectHandler(opts, callback)\n this.dispatch({ ...opts, method: 'CONNECT' }, connectHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = connect\n","'use strict'\n\nconst {\n Readable,\n Duplex,\n PassThrough\n} = require('node:stream')\nconst {\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { AsyncResource } = require('node:async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node:assert')\n\nconst kResume = Symbol('resume')\n\nclass PipelineRequest extends Readable {\n constructor () {\n super({ autoDestroy: true })\n\n this[kResume] = null\n }\n\n _read () {\n const { [kResume]: resume } = this\n\n if (resume) {\n this[kResume] = null\n resume()\n }\n }\n\n _destroy (err, callback) {\n this._read()\n\n callback(err)\n }\n}\n\nclass PipelineResponse extends Readable {\n constructor (resume) {\n super({ autoDestroy: true })\n this[kResume] = resume\n }\n\n _read () {\n this[kResume]()\n }\n\n _destroy (err, callback) {\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n callback(err)\n }\n}\n\nclass PipelineHandler extends AsyncResource {\n constructor (opts, handler) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof handler !== 'function') {\n throw new InvalidArgumentError('invalid handler')\n }\n\n const { signal, method, opaque, onInfo, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_PIPELINE')\n\n this.opaque = opaque || null\n this.responseHeaders = responseHeaders || null\n this.handler = handler\n this.abort = null\n this.context = null\n this.onInfo = onInfo || null\n\n this.req = new PipelineRequest().on('error', util.nop)\n\n this.ret = new Duplex({\n readableObjectMode: opts.objectMode,\n autoDestroy: true,\n read: () => {\n const { body } = this\n\n if (body?.resume) {\n body.resume()\n }\n },\n write: (chunk, encoding, callback) => {\n const { req } = this\n\n if (req.push(chunk, encoding) || req._readableState.destroyed) {\n callback()\n } else {\n req[kResume] = callback\n }\n },\n destroy: (err, callback) => {\n const { body, req, res, ret, abort } = this\n\n if (!err && !ret._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (abort && err) {\n abort()\n }\n\n util.destroy(body, err)\n util.destroy(req, err)\n util.destroy(res, err)\n\n removeSignal(this)\n\n callback(err)\n }\n }).on('prefinish', () => {\n const { req } = this\n\n // Node < 15 does not call _final in same tick.\n req.push(null)\n })\n\n this.res = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n const { ret, res } = this\n\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(!res, 'pipeline cannot be retried')\n assert(!ret.destroyed)\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume) {\n const { opaque, handler, context } = this\n\n if (statusCode < 200) {\n if (this.onInfo) {\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.res = new PipelineResponse(resume)\n\n let body\n try {\n this.handler = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n body = this.runInAsyncScope(handler, null, {\n statusCode,\n headers,\n opaque,\n body: this.res,\n context\n })\n } catch (err) {\n this.res.on('error', util.nop)\n throw err\n }\n\n if (!body || typeof body.on !== 'function') {\n throw new InvalidReturnValueError('expected Readable')\n }\n\n body\n .on('data', (chunk) => {\n const { ret, body } = this\n\n if (!ret.push(chunk) && body.pause) {\n body.pause()\n }\n })\n .on('error', (err) => {\n const { ret } = this\n\n util.destroy(ret, err)\n })\n .on('end', () => {\n const { ret } = this\n\n ret.push(null)\n })\n .on('close', () => {\n const { ret } = this\n\n if (!ret._readableState.ended) {\n util.destroy(ret, new RequestAbortedError())\n }\n })\n\n this.body = body\n }\n\n onData (chunk) {\n const { res } = this\n return res.push(chunk)\n }\n\n onComplete (trailers) {\n const { res } = this\n res.push(null)\n }\n\n onError (err) {\n const { ret } = this\n this.handler = null\n util.destroy(ret, err)\n }\n}\n\nfunction pipeline (opts, handler) {\n try {\n const pipelineHandler = new PipelineHandler(opts, handler)\n this.dispatch({ ...opts, body: pipelineHandler.req }, pipelineHandler)\n return pipelineHandler.ret\n } catch (err) {\n return new PassThrough().destroy(err)\n }\n}\n\nmodule.exports = pipeline\n","'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('./readable')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node:async_hooks')\n\nclass RequestHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError, highWaterMark } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (highWaterMark && (typeof highWaterMark !== 'number' || highWaterMark < 0)) {\n throw new InvalidArgumentError('invalid highWaterMark')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_REQUEST')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.method = method\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.res = null\n this.abort = null\n this.body = body\n this.trailers = {}\n this.context = null\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError\n this.highWaterMark = highWaterMark\n this.signal = signal\n this.reason = null\n this.removeAbortListener = null\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n if (this.signal) {\n if (this.signal.aborted) {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n } else {\n this.removeAbortListener = util.addAbortListener(this.signal, () => {\n this.reason = this.signal.reason ?? new RequestAbortedError()\n if (this.res) {\n util.destroy(this.res.on('error', util.nop), this.reason)\n } else if (this.abort) {\n this.abort(this.reason)\n }\n\n if (this.removeAbortListener) {\n this.res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\n }\n })\n }\n }\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { callback, opaque, abort, context, responseHeaders, highWaterMark } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n const contentLength = parsedHeaders['content-length']\n const res = new Readable({\n resume,\n abort,\n contentType,\n contentLength: this.method !== 'HEAD' && contentLength\n ? Number(contentLength)\n : null,\n highWaterMark\n })\n\n if (this.removeAbortListener) {\n res.on('close', this.removeAbortListener)\n }\n\n this.callback = null\n this.res = res\n if (callback !== null) {\n if (this.throwOnError && statusCode >= 400) {\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, contentType, statusCode, statusMessage, headers }\n )\n } else {\n this.runInAsyncScope(callback, null, null, {\n statusCode,\n headers,\n trailers: this.trailers,\n opaque,\n body: res,\n context\n })\n }\n }\n }\n\n onData (chunk) {\n return this.res.push(chunk)\n }\n\n onComplete (trailers) {\n util.parseHeaders(trailers, this.trailers)\n this.res.push(null)\n }\n\n onError (err) {\n const { res, callback, body, opaque } = this\n\n if (callback) {\n // TODO: Does this need queueMicrotask?\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (res) {\n this.res = null\n // Ensure all queued handlers are invoked before destroying res.\n queueMicrotask(() => {\n util.destroy(res, err)\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n\n if (this.removeAbortListener) {\n res?.off('close', this.removeAbortListener)\n this.removeAbortListener()\n this.removeAbortListener = null\n }\n }\n}\n\nfunction request (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n request.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new RequestHandler(opts, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = request\nmodule.exports.RequestHandler = RequestHandler\n","'use strict'\n\nconst assert = require('node:assert')\nconst { finished, PassThrough } = require('node:stream')\nconst { InvalidArgumentError, InvalidReturnValueError } = require('../core/errors')\nconst util = require('../core/util')\nconst { getResolveErrorBodyCallback } = require('./util')\nconst { AsyncResource } = require('node:async_hooks')\nconst { addSignal, removeSignal } = require('./abort-signal')\n\nclass StreamHandler extends AsyncResource {\n constructor (opts, factory, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n const { signal, method, opaque, body, onInfo, responseHeaders, throwOnError } = opts\n\n try {\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('invalid factory')\n }\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n if (method === 'CONNECT') {\n throw new InvalidArgumentError('invalid method')\n }\n\n if (onInfo && typeof onInfo !== 'function') {\n throw new InvalidArgumentError('invalid onInfo callback')\n }\n\n super('UNDICI_STREAM')\n } catch (err) {\n if (util.isStream(body)) {\n util.destroy(body.on('error', util.nop), err)\n }\n throw err\n }\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.factory = factory\n this.callback = callback\n this.res = null\n this.abort = null\n this.context = null\n this.trailers = null\n this.body = body\n this.onInfo = onInfo || null\n this.throwOnError = throwOnError || false\n\n if (util.isStream(body)) {\n body.on('error', (err) => {\n this.onError(err)\n })\n }\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\n\n this.abort = abort\n this.context = context\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const { factory, opaque, context, callback, responseHeaders } = this\n\n const headers = responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n\n if (statusCode < 200) {\n if (this.onInfo) {\n this.onInfo({ statusCode, headers })\n }\n return\n }\n\n this.factory = null\n\n let res\n\n if (this.throwOnError && statusCode >= 400) {\n const parsedHeaders = responseHeaders === 'raw' ? util.parseHeaders(rawHeaders) : headers\n const contentType = parsedHeaders['content-type']\n res = new PassThrough()\n\n this.callback = null\n this.runInAsyncScope(getResolveErrorBodyCallback, null,\n { callback, body: res, contentType, statusCode, statusMessage, headers }\n )\n } else {\n if (factory === null) {\n return\n }\n\n res = this.runInAsyncScope(factory, null, {\n statusCode,\n headers,\n opaque,\n context\n })\n\n if (\n !res ||\n typeof res.write !== 'function' ||\n typeof res.end !== 'function' ||\n typeof res.on !== 'function'\n ) {\n throw new InvalidReturnValueError('expected Writable')\n }\n\n // TODO: Avoid finished. It registers an unnecessary amount of listeners.\n finished(res, { readable: false }, (err) => {\n const { callback, res, opaque, trailers, abort } = this\n\n this.res = null\n if (err || !res.readable) {\n util.destroy(res, err)\n }\n\n this.callback = null\n this.runInAsyncScope(callback, null, err || null, { opaque, trailers })\n\n if (err) {\n abort()\n }\n })\n }\n\n res.on('drain', resume)\n\n this.res = res\n\n const needDrain = res.writableNeedDrain !== undefined\n ? res.writableNeedDrain\n : res._writableState?.needDrain\n\n return needDrain !== true\n }\n\n onData (chunk) {\n const { res } = this\n\n return res ? res.write(chunk) : true\n }\n\n onComplete (trailers) {\n const { res } = this\n\n removeSignal(this)\n\n if (!res) {\n return\n }\n\n this.trailers = util.parseHeaders(trailers)\n\n res.end()\n }\n\n onError (err) {\n const { res, callback, opaque, body } = this\n\n removeSignal(this)\n\n this.factory = null\n\n if (res) {\n this.res = null\n util.destroy(res, err)\n } else if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n\n if (body) {\n this.body = null\n util.destroy(body, err)\n }\n }\n}\n\nfunction stream (opts, factory, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n stream.call(this, opts, factory, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n this.dispatch(opts, new StreamHandler(opts, factory, callback))\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = stream\n","'use strict'\n\nconst { InvalidArgumentError, SocketError } = require('../core/errors')\nconst { AsyncResource } = require('node:async_hooks')\nconst util = require('../core/util')\nconst { addSignal, removeSignal } = require('./abort-signal')\nconst assert = require('node:assert')\n\nclass UpgradeHandler extends AsyncResource {\n constructor (opts, callback) {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('invalid opts')\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n const { signal, opaque, responseHeaders } = opts\n\n if (signal && typeof signal.on !== 'function' && typeof signal.addEventListener !== 'function') {\n throw new InvalidArgumentError('signal must be an EventEmitter or EventTarget')\n }\n\n super('UNDICI_UPGRADE')\n\n this.responseHeaders = responseHeaders || null\n this.opaque = opaque || null\n this.callback = callback\n this.abort = null\n this.context = null\n\n addSignal(this, signal)\n }\n\n onConnect (abort, context) {\n if (this.reason) {\n abort(this.reason)\n return\n }\n\n assert(this.callback)\n\n this.abort = abort\n this.context = null\n }\n\n onHeaders () {\n throw new SocketError('bad upgrade', null)\n }\n\n onUpgrade (statusCode, rawHeaders, socket) {\n assert(statusCode === 101)\n\n const { callback, opaque, context } = this\n\n removeSignal(this)\n\n this.callback = null\n const headers = this.responseHeaders === 'raw' ? util.parseRawHeaders(rawHeaders) : util.parseHeaders(rawHeaders)\n this.runInAsyncScope(callback, null, null, {\n headers,\n socket,\n opaque,\n context\n })\n }\n\n onError (err) {\n const { callback, opaque } = this\n\n removeSignal(this)\n\n if (callback) {\n this.callback = null\n queueMicrotask(() => {\n this.runInAsyncScope(callback, null, err, { opaque })\n })\n }\n }\n}\n\nfunction upgrade (opts, callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n upgrade.call(this, opts, (err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n try {\n const upgradeHandler = new UpgradeHandler(opts, callback)\n this.dispatch({\n ...opts,\n method: opts.method || 'GET',\n upgrade: opts.protocol || 'Websocket'\n }, upgradeHandler)\n } catch (err) {\n if (typeof callback !== 'function') {\n throw err\n }\n const opaque = opts?.opaque\n queueMicrotask(() => callback(err, { opaque }))\n }\n}\n\nmodule.exports = upgrade\n","'use strict'\n\nmodule.exports.request = require('./api-request')\nmodule.exports.stream = require('./api-stream')\nmodule.exports.pipeline = require('./api-pipeline')\nmodule.exports.upgrade = require('./api-upgrade')\nmodule.exports.connect = require('./api-connect')\n","// Ported from https://github.com/nodejs/undici/pull/907\n\n'use strict'\n\nconst assert = require('node:assert')\nconst { Readable } = require('node:stream')\nconst { RequestAbortedError, NotSupportedError, InvalidArgumentError, AbortError } = require('../core/errors')\nconst util = require('../core/util')\nconst { ReadableStreamFrom } = require('../core/util')\n\nconst kConsume = Symbol('kConsume')\nconst kReading = Symbol('kReading')\nconst kBody = Symbol('kBody')\nconst kAbort = Symbol('kAbort')\nconst kContentType = Symbol('kContentType')\nconst kContentLength = Symbol('kContentLength')\n\nconst noop = () => {}\n\nclass BodyReadable extends Readable {\n constructor ({\n resume,\n abort,\n contentType = '',\n contentLength,\n highWaterMark = 64 * 1024 // Same as nodejs fs streams.\n }) {\n super({\n autoDestroy: true,\n read: resume,\n highWaterMark\n })\n\n this._readableState.dataEmitted = false\n\n this[kAbort] = abort\n this[kConsume] = null\n this[kBody] = null\n this[kContentType] = contentType\n this[kContentLength] = contentLength\n\n // Is stream being consumed through Readable API?\n // This is an optimization so that we avoid checking\n // for 'data' and 'readable' listeners in the hot path\n // inside push().\n this[kReading] = false\n }\n\n destroy (err) {\n if (!err && !this._readableState.endEmitted) {\n err = new RequestAbortedError()\n }\n\n if (err) {\n this[kAbort]()\n }\n\n return super.destroy(err)\n }\n\n _destroy (err, callback) {\n // Workaround for Node \"bug\". If the stream is destroyed in same\n // tick as it is created, then a user who is waiting for a\n // promise (i.e micro tick) for installing a 'error' listener will\n // never get a chance and will always encounter an unhandled exception.\n if (!this[kReading]) {\n setImmediate(() => {\n callback(err)\n })\n } else {\n callback(err)\n }\n }\n\n on (ev, ...args) {\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = true\n }\n return super.on(ev, ...args)\n }\n\n addListener (ev, ...args) {\n return this.on(ev, ...args)\n }\n\n off (ev, ...args) {\n const ret = super.off(ev, ...args)\n if (ev === 'data' || ev === 'readable') {\n this[kReading] = (\n this.listenerCount('data') > 0 ||\n this.listenerCount('readable') > 0\n )\n }\n return ret\n }\n\n removeListener (ev, ...args) {\n return this.off(ev, ...args)\n }\n\n push (chunk) {\n if (this[kConsume] && chunk !== null) {\n consumePush(this[kConsume], chunk)\n return this[kReading] ? super.push(chunk) : true\n }\n return super.push(chunk)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-text\n async text () {\n return consume(this, 'text')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-json\n async json () {\n return consume(this, 'json')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-blob\n async blob () {\n return consume(this, 'blob')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-bytes\n async bytes () {\n return consume(this, 'bytes')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-arraybuffer\n async arrayBuffer () {\n return consume(this, 'arrayBuffer')\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-formdata\n async formData () {\n // TODO: Implement.\n throw new NotSupportedError()\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-bodyused\n get bodyUsed () {\n return util.isDisturbed(this)\n }\n\n // https://fetch.spec.whatwg.org/#dom-body-body\n get body () {\n if (!this[kBody]) {\n this[kBody] = ReadableStreamFrom(this)\n if (this[kConsume]) {\n // TODO: Is this the best way to force a lock?\n this[kBody].getReader() // Ensure stream is locked.\n assert(this[kBody].locked)\n }\n }\n return this[kBody]\n }\n\n async dump (opts) {\n let limit = Number.isFinite(opts?.limit) ? opts.limit : 128 * 1024\n const signal = opts?.signal\n\n if (signal != null && (typeof signal !== 'object' || !('aborted' in signal))) {\n throw new InvalidArgumentError('signal must be an AbortSignal')\n }\n\n signal?.throwIfAborted()\n\n if (this._readableState.closeEmitted) {\n return null\n }\n\n return await new Promise((resolve, reject) => {\n if (this[kContentLength] > limit) {\n this.destroy(new AbortError())\n }\n\n const onAbort = () => {\n this.destroy(signal.reason ?? new AbortError())\n }\n signal?.addEventListener('abort', onAbort)\n\n this\n .on('close', function () {\n signal?.removeEventListener('abort', onAbort)\n if (signal?.aborted) {\n reject(signal.reason ?? new AbortError())\n } else {\n resolve(null)\n }\n })\n .on('error', noop)\n .on('data', function (chunk) {\n limit -= chunk.length\n if (limit <= 0) {\n this.destroy()\n }\n })\n .resume()\n })\n }\n}\n\n// https://streams.spec.whatwg.org/#readablestream-locked\nfunction isLocked (self) {\n // Consume is an implicit lock.\n return (self[kBody] && self[kBody].locked === true) || self[kConsume]\n}\n\n// https://fetch.spec.whatwg.org/#body-unusable\nfunction isUnusable (self) {\n return util.isDisturbed(self) || isLocked(self)\n}\n\nasync function consume (stream, type) {\n assert(!stream[kConsume])\n\n return new Promise((resolve, reject) => {\n if (isUnusable(stream)) {\n const rState = stream._readableState\n if (rState.destroyed && rState.closeEmitted === false) {\n stream\n .on('error', err => {\n reject(err)\n })\n .on('close', () => {\n reject(new TypeError('unusable'))\n })\n } else {\n reject(rState.errored ?? new TypeError('unusable'))\n }\n } else {\n queueMicrotask(() => {\n stream[kConsume] = {\n type,\n stream,\n resolve,\n reject,\n length: 0,\n body: []\n }\n\n stream\n .on('error', function (err) {\n consumeFinish(this[kConsume], err)\n })\n .on('close', function () {\n if (this[kConsume].body !== null) {\n consumeFinish(this[kConsume], new RequestAbortedError())\n }\n })\n\n consumeStart(stream[kConsume])\n })\n }\n })\n}\n\nfunction consumeStart (consume) {\n if (consume.body === null) {\n return\n }\n\n const { _readableState: state } = consume.stream\n\n if (state.bufferIndex) {\n const start = state.bufferIndex\n const end = state.buffer.length\n for (let n = start; n < end; n++) {\n consumePush(consume, state.buffer[n])\n }\n } else {\n for (const chunk of state.buffer) {\n consumePush(consume, chunk)\n }\n }\n\n if (state.endEmitted) {\n consumeEnd(this[kConsume])\n } else {\n consume.stream.on('end', function () {\n consumeEnd(this[kConsume])\n })\n }\n\n consume.stream.resume()\n\n while (consume.stream.read() != null) {\n // Loop\n }\n}\n\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n */\nfunction chunksDecode (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return ''\n }\n const buffer = chunks.length === 1 ? chunks[0] : Buffer.concat(chunks, length)\n const bufferLength = buffer.length\n\n // Skip BOM.\n const start =\n bufferLength > 2 &&\n buffer[0] === 0xef &&\n buffer[1] === 0xbb &&\n buffer[2] === 0xbf\n ? 3\n : 0\n return buffer.utf8Slice(start, bufferLength)\n}\n\n/**\n * @param {Buffer[]} chunks\n * @param {number} length\n * @returns {Uint8Array}\n */\nfunction chunksConcat (chunks, length) {\n if (chunks.length === 0 || length === 0) {\n return new Uint8Array(0)\n }\n if (chunks.length === 1) {\n // fast-path\n return new Uint8Array(chunks[0])\n }\n const buffer = new Uint8Array(Buffer.allocUnsafeSlow(length).buffer)\n\n let offset = 0\n for (let i = 0; i < chunks.length; ++i) {\n const chunk = chunks[i]\n buffer.set(chunk, offset)\n offset += chunk.length\n }\n\n return buffer\n}\n\nfunction consumeEnd (consume) {\n const { type, body, resolve, stream, length } = consume\n\n try {\n if (type === 'text') {\n resolve(chunksDecode(body, length))\n } else if (type === 'json') {\n resolve(JSON.parse(chunksDecode(body, length)))\n } else if (type === 'arrayBuffer') {\n resolve(chunksConcat(body, length).buffer)\n } else if (type === 'blob') {\n resolve(new Blob(body, { type: stream[kContentType] }))\n } else if (type === 'bytes') {\n resolve(chunksConcat(body, length))\n }\n\n consumeFinish(consume)\n } catch (err) {\n stream.destroy(err)\n }\n}\n\nfunction consumePush (consume, chunk) {\n consume.length += chunk.length\n consume.body.push(chunk)\n}\n\nfunction consumeFinish (consume, err) {\n if (consume.body === null) {\n return\n }\n\n if (err) {\n consume.reject(err)\n } else {\n consume.resolve()\n }\n\n consume.type = null\n consume.stream = null\n consume.resolve = null\n consume.reject = null\n consume.length = 0\n consume.body = null\n}\n\nmodule.exports = { Readable: BodyReadable, chunksDecode }\n","const assert = require('node:assert')\nconst {\n ResponseStatusCodeError\n} = require('../core/errors')\n\nconst { chunksDecode } = require('./readable')\nconst CHUNK_LIMIT = 128 * 1024\n\nasync function getResolveErrorBodyCallback ({ callback, body, contentType, statusCode, statusMessage, headers }) {\n assert(body)\n\n let chunks = []\n let length = 0\n\n try {\n for await (const chunk of body) {\n chunks.push(chunk)\n length += chunk.length\n if (length > CHUNK_LIMIT) {\n chunks = []\n length = 0\n break\n }\n }\n } catch {\n chunks = []\n length = 0\n // Do nothing....\n }\n\n const message = `Response status code ${statusCode}${statusMessage ? `: ${statusMessage}` : ''}`\n\n if (statusCode === 204 || !contentType || !length) {\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers)))\n return\n }\n\n const stackTraceLimit = Error.stackTraceLimit\n Error.stackTraceLimit = 0\n let payload\n\n try {\n if (isContentTypeApplicationJson(contentType)) {\n payload = JSON.parse(chunksDecode(chunks, length))\n } else if (isContentTypeText(contentType)) {\n payload = chunksDecode(chunks, length)\n }\n } catch {\n // process in a callback to avoid throwing in the microtask queue\n } finally {\n Error.stackTraceLimit = stackTraceLimit\n }\n queueMicrotask(() => callback(new ResponseStatusCodeError(message, statusCode, headers, payload)))\n}\n\nconst isContentTypeApplicationJson = (contentType) => {\n return (\n contentType.length > 15 &&\n contentType[11] === '/' &&\n contentType[0] === 'a' &&\n contentType[1] === 'p' &&\n contentType[2] === 'p' &&\n contentType[3] === 'l' &&\n contentType[4] === 'i' &&\n contentType[5] === 'c' &&\n contentType[6] === 'a' &&\n contentType[7] === 't' &&\n contentType[8] === 'i' &&\n contentType[9] === 'o' &&\n contentType[10] === 'n' &&\n contentType[12] === 'j' &&\n contentType[13] === 's' &&\n contentType[14] === 'o' &&\n contentType[15] === 'n'\n )\n}\n\nconst isContentTypeText = (contentType) => {\n return (\n contentType.length > 4 &&\n contentType[4] === '/' &&\n contentType[0] === 't' &&\n contentType[1] === 'e' &&\n contentType[2] === 'x' &&\n contentType[3] === 't'\n )\n}\n\nmodule.exports = {\n getResolveErrorBodyCallback,\n isContentTypeApplicationJson,\n isContentTypeText\n}\n","'use strict'\n\nconst net = require('node:net')\nconst assert = require('node:assert')\nconst util = require('./util')\nconst { InvalidArgumentError, ConnectTimeoutError } = require('./errors')\nconst timers = require('../util/timers')\n\nfunction noop () {}\n\nlet tls // include tls conditionally since it is not always available\n\n// TODO: session re-use does not wait for the first\n// connection to resolve the session and might therefore\n// resolve the same servername multiple times even when\n// re-use is enabled.\n\nlet SessionCache\n// FIXME: remove workaround when the Node bug is fixed\n// https://github.com/nodejs/node/issues/49344#issuecomment-1741776308\nif (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {\n SessionCache = class WeakSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n this._sessionRegistry = new global.FinalizationRegistry((key) => {\n if (this._sessionCache.size < this._maxCachedSessions) {\n return\n }\n\n const ref = this._sessionCache.get(key)\n if (ref !== undefined && ref.deref() === undefined) {\n this._sessionCache.delete(key)\n }\n })\n }\n\n get (sessionKey) {\n const ref = this._sessionCache.get(sessionKey)\n return ref ? ref.deref() : null\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n this._sessionCache.set(sessionKey, new WeakRef(session))\n this._sessionRegistry.register(session, sessionKey)\n }\n }\n} else {\n SessionCache = class SimpleSessionCache {\n constructor (maxCachedSessions) {\n this._maxCachedSessions = maxCachedSessions\n this._sessionCache = new Map()\n }\n\n get (sessionKey) {\n return this._sessionCache.get(sessionKey)\n }\n\n set (sessionKey, session) {\n if (this._maxCachedSessions === 0) {\n return\n }\n\n if (this._sessionCache.size >= this._maxCachedSessions) {\n // remove the oldest session\n const { value: oldestKey } = this._sessionCache.keys().next()\n this._sessionCache.delete(oldestKey)\n }\n\n this._sessionCache.set(sessionKey, session)\n }\n }\n}\n\nfunction buildConnector ({ allowH2, maxCachedSessions, socketPath, timeout, session: customSession, ...opts }) {\n if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {\n throw new InvalidArgumentError('maxCachedSessions must be a positive integer or zero')\n }\n\n const options = { path: socketPath, ...opts }\n const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions)\n timeout = timeout == null ? 10e3 : timeout\n allowH2 = allowH2 != null ? allowH2 : false\n return function connect ({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {\n let socket\n if (protocol === 'https:') {\n if (!tls) {\n tls = require('node:tls')\n }\n servername = servername || options.servername || util.getServerName(host) || null\n\n const sessionKey = servername || hostname\n assert(sessionKey)\n\n const session = customSession || sessionCache.get(sessionKey) || null\n\n port = port || 443\n\n socket = tls.connect({\n highWaterMark: 16384, // TLS in node can't have bigger HWM anyway...\n ...options,\n servername,\n session,\n localAddress,\n // TODO(HTTP/2): Add support for h2c\n ALPNProtocols: allowH2 ? ['http/1.1', 'h2'] : ['http/1.1'],\n socket: httpSocket, // upgrade socket connection\n port,\n host: hostname\n })\n\n socket\n .on('session', function (session) {\n // TODO (fix): Can a session become invalid once established? Don't think so?\n sessionCache.set(sessionKey, session)\n })\n } else {\n assert(!httpSocket, 'httpSocket can only be sent on TLS update')\n\n port = port || 80\n\n socket = net.connect({\n highWaterMark: 64 * 1024, // Same as nodejs fs streams.\n ...options,\n localAddress,\n port,\n host: hostname\n })\n }\n\n // Set TCP keep alive options on the socket here instead of in connect() for the case of assigning the socket\n if (options.keepAlive == null || options.keepAlive) {\n const keepAliveInitialDelay = options.keepAliveInitialDelay === undefined ? 60e3 : options.keepAliveInitialDelay\n socket.setKeepAlive(true, keepAliveInitialDelay)\n }\n\n const clearConnectTimeout = setupConnectTimeout(new WeakRef(socket), { timeout, hostname, port })\n\n socket\n .setNoDelay(true)\n .once(protocol === 'https:' ? 'secureConnect' : 'connect', function () {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(null, this)\n }\n })\n .on('error', function (err) {\n queueMicrotask(clearConnectTimeout)\n\n if (callback) {\n const cb = callback\n callback = null\n cb(err)\n }\n })\n\n return socket\n }\n}\n\n/**\n * @param {WeakRef} socketWeakRef\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n * @returns {() => void}\n */\nconst setupConnectTimeout = process.platform === 'win32'\n ? (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n let s2 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n // Windows needs an extra setImmediate probably due to implementation differences in the socket logic\n s2 = setImmediate(() => onConnectTimeout(socketWeakRef.deref(), opts))\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n clearImmediate(s2)\n }\n }\n : (socketWeakRef, opts) => {\n if (!opts.timeout) {\n return noop\n }\n\n let s1 = null\n const fastTimer = timers.setFastTimeout(() => {\n // setImmediate is added to make sure that we prioritize socket error events over timeouts\n s1 = setImmediate(() => {\n onConnectTimeout(socketWeakRef.deref(), opts)\n })\n }, opts.timeout)\n return () => {\n timers.clearFastTimeout(fastTimer)\n clearImmediate(s1)\n }\n }\n\n/**\n * @param {net.Socket} socket\n * @param {object} opts\n * @param {number} opts.timeout\n * @param {string} opts.hostname\n * @param {number} opts.port\n */\nfunction onConnectTimeout (socket, opts) {\n // The socket could be already garbage collected\n if (socket == null) {\n return\n }\n\n let message = 'Connect Timeout Error'\n if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {\n message += ` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(', ')},`\n } else {\n message += ` (attempted address: ${opts.hostname}:${opts.port},`\n }\n\n message += ` timeout: ${opts.timeout}ms)`\n\n util.destroy(socket, new ConnectTimeoutError(message))\n}\n\nmodule.exports = buildConnector\n","'use strict'\n\n/** @type {Record} */\nconst headerNameLowerCasedRecord = {}\n\n// https://developer.mozilla.org/docs/Web/HTTP/Headers\nconst wellknownHeaderNames = [\n 'Accept',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Ranges',\n 'Access-Control-Allow-Credentials',\n 'Access-Control-Allow-Headers',\n 'Access-Control-Allow-Methods',\n 'Access-Control-Allow-Origin',\n 'Access-Control-Expose-Headers',\n 'Access-Control-Max-Age',\n 'Access-Control-Request-Headers',\n 'Access-Control-Request-Method',\n 'Age',\n 'Allow',\n 'Alt-Svc',\n 'Alt-Used',\n 'Authorization',\n 'Cache-Control',\n 'Clear-Site-Data',\n 'Connection',\n 'Content-Disposition',\n 'Content-Encoding',\n 'Content-Language',\n 'Content-Length',\n 'Content-Location',\n 'Content-Range',\n 'Content-Security-Policy',\n 'Content-Security-Policy-Report-Only',\n 'Content-Type',\n 'Cookie',\n 'Cross-Origin-Embedder-Policy',\n 'Cross-Origin-Opener-Policy',\n 'Cross-Origin-Resource-Policy',\n 'Date',\n 'Device-Memory',\n 'Downlink',\n 'ECT',\n 'ETag',\n 'Expect',\n 'Expect-CT',\n 'Expires',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Range',\n 'If-Unmodified-Since',\n 'Keep-Alive',\n 'Last-Modified',\n 'Link',\n 'Location',\n 'Max-Forwards',\n 'Origin',\n 'Permissions-Policy',\n 'Pragma',\n 'Proxy-Authenticate',\n 'Proxy-Authorization',\n 'RTT',\n 'Range',\n 'Referer',\n 'Referrer-Policy',\n 'Refresh',\n 'Retry-After',\n 'Sec-WebSocket-Accept',\n 'Sec-WebSocket-Extensions',\n 'Sec-WebSocket-Key',\n 'Sec-WebSocket-Protocol',\n 'Sec-WebSocket-Version',\n 'Server',\n 'Server-Timing',\n 'Service-Worker-Allowed',\n 'Service-Worker-Navigation-Preload',\n 'Set-Cookie',\n 'SourceMap',\n 'Strict-Transport-Security',\n 'Supports-Loading-Mode',\n 'TE',\n 'Timing-Allow-Origin',\n 'Trailer',\n 'Transfer-Encoding',\n 'Upgrade',\n 'Upgrade-Insecure-Requests',\n 'User-Agent',\n 'Vary',\n 'Via',\n 'WWW-Authenticate',\n 'X-Content-Type-Options',\n 'X-DNS-Prefetch-Control',\n 'X-Frame-Options',\n 'X-Permitted-Cross-Domain-Policies',\n 'X-Powered-By',\n 'X-Requested-With',\n 'X-XSS-Protection'\n]\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = wellknownHeaderNames[i]\n const lowerCasedKey = key.toLowerCase()\n headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] =\n lowerCasedKey\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(headerNameLowerCasedRecord, null)\n\nmodule.exports = {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n}\n","'use strict'\nconst diagnosticsChannel = require('node:diagnostics_channel')\nconst util = require('node:util')\n\nconst undiciDebugLog = util.debuglog('undici')\nconst fetchDebuglog = util.debuglog('fetch')\nconst websocketDebuglog = util.debuglog('websocket')\nlet isClientSet = false\nconst channels = {\n // Client\n beforeConnect: diagnosticsChannel.channel('undici:client:beforeConnect'),\n connected: diagnosticsChannel.channel('undici:client:connected'),\n connectError: diagnosticsChannel.channel('undici:client:connectError'),\n sendHeaders: diagnosticsChannel.channel('undici:client:sendHeaders'),\n // Request\n create: diagnosticsChannel.channel('undici:request:create'),\n bodySent: diagnosticsChannel.channel('undici:request:bodySent'),\n headers: diagnosticsChannel.channel('undici:request:headers'),\n trailers: diagnosticsChannel.channel('undici:request:trailers'),\n error: diagnosticsChannel.channel('undici:request:error'),\n // WebSocket\n open: diagnosticsChannel.channel('undici:websocket:open'),\n close: diagnosticsChannel.channel('undici:websocket:close'),\n socketError: diagnosticsChannel.channel('undici:websocket:socket_error'),\n ping: diagnosticsChannel.channel('undici:websocket:ping'),\n pong: diagnosticsChannel.channel('undici:websocket:pong')\n}\n\nif (undiciDebugLog.enabled || fetchDebuglog.enabled) {\n const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog\n\n // Track all Client events\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s using %s%s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s using %s%s errored - %s',\n `${host}${port ? `:${port}` : ''}`,\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n\n // Track Request events\n diagnosticsChannel.channel('undici:request:headers').subscribe(evt => {\n const {\n request: { method, path, origin },\n response: { statusCode }\n } = evt\n debuglog(\n 'received response to %s %s/%s - HTTP %d',\n method,\n origin,\n path,\n statusCode\n )\n })\n\n diagnosticsChannel.channel('undici:request:trailers').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('trailers received from %s %s/%s', method, origin, path)\n })\n\n diagnosticsChannel.channel('undici:request:error').subscribe(evt => {\n const {\n request: { method, path, origin },\n error\n } = evt\n debuglog(\n 'request to %s %s/%s errored - %s',\n method,\n origin,\n path,\n error.message\n )\n })\n\n isClientSet = true\n}\n\nif (websocketDebuglog.enabled) {\n if (!isClientSet) {\n const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog\n diagnosticsChannel.channel('undici:client:beforeConnect').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connecting to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connected').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host }\n } = evt\n debuglog(\n 'connected to %s%s using %s%s',\n host,\n port ? `:${port}` : '',\n protocol,\n version\n )\n })\n\n diagnosticsChannel.channel('undici:client:connectError').subscribe(evt => {\n const {\n connectParams: { version, protocol, port, host },\n error\n } = evt\n debuglog(\n 'connection to %s%s using %s%s errored - %s',\n host,\n port ? `:${port}` : '',\n protocol,\n version,\n error.message\n )\n })\n\n diagnosticsChannel.channel('undici:client:sendHeaders').subscribe(evt => {\n const {\n request: { method, path, origin }\n } = evt\n debuglog('sending request to %s %s/%s', method, origin, path)\n })\n }\n\n // Track all WebSocket events\n diagnosticsChannel.channel('undici:websocket:open').subscribe(evt => {\n const {\n address: { address, port }\n } = evt\n websocketDebuglog('connection opened %s%s', address, port ? `:${port}` : '')\n })\n\n diagnosticsChannel.channel('undici:websocket:close').subscribe(evt => {\n const { websocket, code, reason } = evt\n websocketDebuglog(\n 'closed connection to %s - %s %s',\n websocket.url,\n code,\n reason\n )\n })\n\n diagnosticsChannel.channel('undici:websocket:socket_error').subscribe(err => {\n websocketDebuglog('connection errored - %s', err.message)\n })\n\n diagnosticsChannel.channel('undici:websocket:ping').subscribe(evt => {\n websocketDebuglog('ping received')\n })\n\n diagnosticsChannel.channel('undici:websocket:pong').subscribe(evt => {\n websocketDebuglog('pong received')\n })\n}\n\nmodule.exports = {\n channels\n}\n","'use strict'\n\nconst kUndiciError = Symbol.for('undici.error.UND_ERR')\nclass UndiciError extends Error {\n constructor (message) {\n super(message)\n this.name = 'UndiciError'\n this.code = 'UND_ERR'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kUndiciError] === true\n }\n\n [kUndiciError] = true\n}\n\nconst kConnectTimeoutError = Symbol.for('undici.error.UND_ERR_CONNECT_TIMEOUT')\nclass ConnectTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ConnectTimeoutError'\n this.message = message || 'Connect Timeout Error'\n this.code = 'UND_ERR_CONNECT_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kConnectTimeoutError] === true\n }\n\n [kConnectTimeoutError] = true\n}\n\nconst kHeadersTimeoutError = Symbol.for('undici.error.UND_ERR_HEADERS_TIMEOUT')\nclass HeadersTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersTimeoutError'\n this.message = message || 'Headers Timeout Error'\n this.code = 'UND_ERR_HEADERS_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersTimeoutError] === true\n }\n\n [kHeadersTimeoutError] = true\n}\n\nconst kHeadersOverflowError = Symbol.for('undici.error.UND_ERR_HEADERS_OVERFLOW')\nclass HeadersOverflowError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'HeadersOverflowError'\n this.message = message || 'Headers Overflow Error'\n this.code = 'UND_ERR_HEADERS_OVERFLOW'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHeadersOverflowError] === true\n }\n\n [kHeadersOverflowError] = true\n}\n\nconst kBodyTimeoutError = Symbol.for('undici.error.UND_ERR_BODY_TIMEOUT')\nclass BodyTimeoutError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'BodyTimeoutError'\n this.message = message || 'Body Timeout Error'\n this.code = 'UND_ERR_BODY_TIMEOUT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kBodyTimeoutError] === true\n }\n\n [kBodyTimeoutError] = true\n}\n\nconst kResponseStatusCodeError = Symbol.for('undici.error.UND_ERR_RESPONSE_STATUS_CODE')\nclass ResponseStatusCodeError extends UndiciError {\n constructor (message, statusCode, headers, body) {\n super(message)\n this.name = 'ResponseStatusCodeError'\n this.message = message || 'Response Status Code Error'\n this.code = 'UND_ERR_RESPONSE_STATUS_CODE'\n this.body = body\n this.status = statusCode\n this.statusCode = statusCode\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseStatusCodeError] === true\n }\n\n [kResponseStatusCodeError] = true\n}\n\nconst kInvalidArgumentError = Symbol.for('undici.error.UND_ERR_INVALID_ARG')\nclass InvalidArgumentError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidArgumentError'\n this.message = message || 'Invalid Argument Error'\n this.code = 'UND_ERR_INVALID_ARG'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidArgumentError] === true\n }\n\n [kInvalidArgumentError] = true\n}\n\nconst kInvalidReturnValueError = Symbol.for('undici.error.UND_ERR_INVALID_RETURN_VALUE')\nclass InvalidReturnValueError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InvalidReturnValueError'\n this.message = message || 'Invalid Return Value Error'\n this.code = 'UND_ERR_INVALID_RETURN_VALUE'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInvalidReturnValueError] === true\n }\n\n [kInvalidReturnValueError] = true\n}\n\nconst kAbortError = Symbol.for('undici.error.UND_ERR_ABORT')\nclass AbortError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'The operation was aborted'\n this.code = 'UND_ERR_ABORT'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kAbortError] === true\n }\n\n [kAbortError] = true\n}\n\nconst kRequestAbortedError = Symbol.for('undici.error.UND_ERR_ABORTED')\nclass RequestAbortedError extends AbortError {\n constructor (message) {\n super(message)\n this.name = 'AbortError'\n this.message = message || 'Request aborted'\n this.code = 'UND_ERR_ABORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestAbortedError] === true\n }\n\n [kRequestAbortedError] = true\n}\n\nconst kInformationalError = Symbol.for('undici.error.UND_ERR_INFO')\nclass InformationalError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'InformationalError'\n this.message = message || 'Request information'\n this.code = 'UND_ERR_INFO'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kInformationalError] === true\n }\n\n [kInformationalError] = true\n}\n\nconst kRequestContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH')\nclass RequestContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'RequestContentLengthMismatchError'\n this.message = message || 'Request body length does not match content-length header'\n this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestContentLengthMismatchError] === true\n }\n\n [kRequestContentLengthMismatchError] = true\n}\n\nconst kResponseContentLengthMismatchError = Symbol.for('undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH')\nclass ResponseContentLengthMismatchError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ResponseContentLengthMismatchError'\n this.message = message || 'Response body length does not match content-length header'\n this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseContentLengthMismatchError] === true\n }\n\n [kResponseContentLengthMismatchError] = true\n}\n\nconst kClientDestroyedError = Symbol.for('undici.error.UND_ERR_DESTROYED')\nclass ClientDestroyedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientDestroyedError'\n this.message = message || 'The client is destroyed'\n this.code = 'UND_ERR_DESTROYED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientDestroyedError] === true\n }\n\n [kClientDestroyedError] = true\n}\n\nconst kClientClosedError = Symbol.for('undici.error.UND_ERR_CLOSED')\nclass ClientClosedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ClientClosedError'\n this.message = message || 'The client is closed'\n this.code = 'UND_ERR_CLOSED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kClientClosedError] === true\n }\n\n [kClientClosedError] = true\n}\n\nconst kSocketError = Symbol.for('undici.error.UND_ERR_SOCKET')\nclass SocketError extends UndiciError {\n constructor (message, socket) {\n super(message)\n this.name = 'SocketError'\n this.message = message || 'Socket error'\n this.code = 'UND_ERR_SOCKET'\n this.socket = socket\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSocketError] === true\n }\n\n [kSocketError] = true\n}\n\nconst kNotSupportedError = Symbol.for('undici.error.UND_ERR_NOT_SUPPORTED')\nclass NotSupportedError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'NotSupportedError'\n this.message = message || 'Not supported error'\n this.code = 'UND_ERR_NOT_SUPPORTED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kNotSupportedError] === true\n }\n\n [kNotSupportedError] = true\n}\n\nconst kBalancedPoolMissingUpstreamError = Symbol.for('undici.error.UND_ERR_BPL_MISSING_UPSTREAM')\nclass BalancedPoolMissingUpstreamError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'MissingUpstreamError'\n this.message = message || 'No upstream has been added to the BalancedPool'\n this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kBalancedPoolMissingUpstreamError] === true\n }\n\n [kBalancedPoolMissingUpstreamError] = true\n}\n\nconst kHTTPParserError = Symbol.for('undici.error.UND_ERR_HTTP_PARSER')\nclass HTTPParserError extends Error {\n constructor (message, code, data) {\n super(message)\n this.name = 'HTTPParserError'\n this.code = code ? `HPE_${code}` : undefined\n this.data = data ? data.toString() : undefined\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kHTTPParserError] === true\n }\n\n [kHTTPParserError] = true\n}\n\nconst kResponseExceededMaxSizeError = Symbol.for('undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE')\nclass ResponseExceededMaxSizeError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'ResponseExceededMaxSizeError'\n this.message = message || 'Response content exceeded max size'\n this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseExceededMaxSizeError] === true\n }\n\n [kResponseExceededMaxSizeError] = true\n}\n\nconst kRequestRetryError = Symbol.for('undici.error.UND_ERR_REQ_RETRY')\nclass RequestRetryError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'RequestRetryError'\n this.message = message || 'Request retry error'\n this.code = 'UND_ERR_REQ_RETRY'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kRequestRetryError] === true\n }\n\n [kRequestRetryError] = true\n}\n\nconst kResponseError = Symbol.for('undici.error.UND_ERR_RESPONSE')\nclass ResponseError extends UndiciError {\n constructor (message, code, { headers, data }) {\n super(message)\n this.name = 'ResponseError'\n this.message = message || 'Response error'\n this.code = 'UND_ERR_RESPONSE'\n this.statusCode = code\n this.data = data\n this.headers = headers\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kResponseError] === true\n }\n\n [kResponseError] = true\n}\n\nconst kSecureProxyConnectionError = Symbol.for('undici.error.UND_ERR_PRX_TLS')\nclass SecureProxyConnectionError extends UndiciError {\n constructor (cause, message, options) {\n super(message, { cause, ...(options ?? {}) })\n this.name = 'SecureProxyConnectionError'\n this.message = message || 'Secure Proxy Connection failed'\n this.code = 'UND_ERR_PRX_TLS'\n this.cause = cause\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kSecureProxyConnectionError] === true\n }\n\n [kSecureProxyConnectionError] = true\n}\n\nconst kMessageSizeExceededError = Symbol.for('undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED')\nclass MessageSizeExceededError extends UndiciError {\n constructor (message) {\n super(message)\n this.name = 'MessageSizeExceededError'\n this.message = message || 'Max decompressed message size exceeded'\n this.code = 'UND_ERR_WS_MESSAGE_SIZE_EXCEEDED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kMessageSizeExceededError] === true\n }\n\n get [kMessageSizeExceededError] () {\n return true\n }\n}\n\nmodule.exports = {\n AbortError,\n HTTPParserError,\n UndiciError,\n HeadersTimeoutError,\n HeadersOverflowError,\n BodyTimeoutError,\n RequestContentLengthMismatchError,\n ConnectTimeoutError,\n ResponseStatusCodeError,\n InvalidArgumentError,\n InvalidReturnValueError,\n RequestAbortedError,\n ClientDestroyedError,\n ClientClosedError,\n InformationalError,\n SocketError,\n NotSupportedError,\n ResponseContentLengthMismatchError,\n BalancedPoolMissingUpstreamError,\n ResponseExceededMaxSizeError,\n RequestRetryError,\n ResponseError,\n SecureProxyConnectionError,\n MessageSizeExceededError\n}\n","'use strict'\n\nconst {\n InvalidArgumentError,\n NotSupportedError\n} = require('./errors')\nconst assert = require('node:assert')\nconst {\n isValidHTTPToken,\n isValidHeaderValue,\n isStream,\n destroy,\n isBuffer,\n isFormDataLike,\n isIterable,\n isBlobLike,\n buildURL,\n validateHandler,\n getServerName,\n normalizedMethodRecords\n} = require('./util')\nconst { channels } = require('./diagnostics.js')\nconst { headerNameLowerCasedRecord } = require('./constants')\n\n// Verifies that a given path is valid does not contain control chars \\x00 to \\x20\nconst invalidPathRegex = /[^\\u0021-\\u00ff]/\n\nconst kHandler = Symbol('handler')\n\nclass Request {\n constructor (origin, {\n path,\n method,\n body,\n headers,\n query,\n idempotent,\n blocking,\n upgrade,\n headersTimeout,\n bodyTimeout,\n reset,\n throwOnError,\n expectContinue,\n servername\n }, handler) {\n if (typeof path !== 'string') {\n throw new InvalidArgumentError('path must be a string')\n } else if (\n path[0] !== '/' &&\n !(path.startsWith('http://') || path.startsWith('https://')) &&\n method !== 'CONNECT'\n ) {\n throw new InvalidArgumentError('path must be an absolute URL or start with a slash')\n } else if (invalidPathRegex.test(path)) {\n throw new InvalidArgumentError('invalid request path')\n }\n\n if (typeof method !== 'string') {\n throw new InvalidArgumentError('method must be a string')\n } else if (normalizedMethodRecords[method] === undefined && !isValidHTTPToken(method)) {\n throw new InvalidArgumentError('invalid request method')\n }\n\n if (upgrade && typeof upgrade !== 'string') {\n throw new InvalidArgumentError('upgrade must be a string')\n }\n\n if (upgrade && !isValidHeaderValue(upgrade)) {\n throw new InvalidArgumentError('invalid upgrade header')\n }\n\n if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('invalid headersTimeout')\n }\n\n if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('invalid bodyTimeout')\n }\n\n if (reset != null && typeof reset !== 'boolean') {\n throw new InvalidArgumentError('invalid reset')\n }\n\n if (expectContinue != null && typeof expectContinue !== 'boolean') {\n throw new InvalidArgumentError('invalid expectContinue')\n }\n\n this.headersTimeout = headersTimeout\n\n this.bodyTimeout = bodyTimeout\n\n this.throwOnError = throwOnError === true\n\n this.method = method\n\n this.abort = null\n\n if (body == null) {\n this.body = null\n } else if (isStream(body)) {\n this.body = body\n\n const rState = this.body._readableState\n if (!rState || !rState.autoDestroy) {\n this.endHandler = function autoDestroy () {\n destroy(this)\n }\n this.body.on('end', this.endHandler)\n }\n\n this.errorHandler = err => {\n if (this.abort) {\n this.abort(err)\n } else {\n this.error = err\n }\n }\n this.body.on('error', this.errorHandler)\n } else if (isBuffer(body)) {\n this.body = body.byteLength ? body : null\n } else if (ArrayBuffer.isView(body)) {\n this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null\n } else if (body instanceof ArrayBuffer) {\n this.body = body.byteLength ? Buffer.from(body) : null\n } else if (typeof body === 'string') {\n this.body = body.length ? Buffer.from(body) : null\n } else if (isFormDataLike(body) || isIterable(body) || isBlobLike(body)) {\n this.body = body\n } else {\n throw new InvalidArgumentError('body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable')\n }\n\n this.completed = false\n\n this.aborted = false\n\n this.upgrade = upgrade || null\n\n this.path = query ? buildURL(path, query) : path\n\n this.origin = origin\n\n this.idempotent = idempotent == null\n ? method === 'HEAD' || method === 'GET'\n : idempotent\n\n this.blocking = blocking == null ? false : blocking\n\n this.reset = reset == null ? null : reset\n\n this.host = null\n\n this.contentLength = null\n\n this.contentType = null\n\n this.headers = []\n\n // Only for H2\n this.expectContinue = expectContinue != null ? expectContinue : false\n\n if (Array.isArray(headers)) {\n if (headers.length % 2 !== 0) {\n throw new InvalidArgumentError('headers array must be even')\n }\n for (let i = 0; i < headers.length; i += 2) {\n processHeader(this, headers[i], headers[i + 1])\n }\n } else if (headers && typeof headers === 'object') {\n if (headers[Symbol.iterator]) {\n for (const header of headers) {\n if (!Array.isArray(header) || header.length !== 2) {\n throw new InvalidArgumentError('headers must be in key-value pair format')\n }\n processHeader(this, header[0], header[1])\n }\n } else {\n const keys = Object.keys(headers)\n for (let i = 0; i < keys.length; ++i) {\n processHeader(this, keys[i], headers[keys[i]])\n }\n }\n } else if (headers != null) {\n throw new InvalidArgumentError('headers must be an object or an array')\n }\n\n validateHandler(handler, method, upgrade)\n\n this.servername = servername || getServerName(this.host)\n\n this[kHandler] = handler\n\n if (channels.create.hasSubscribers) {\n channels.create.publish({ request: this })\n }\n }\n\n onBodySent (chunk) {\n if (this[kHandler].onBodySent) {\n try {\n return this[kHandler].onBodySent(chunk)\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onRequestSent () {\n if (channels.bodySent.hasSubscribers) {\n channels.bodySent.publish({ request: this })\n }\n\n if (this[kHandler].onRequestSent) {\n try {\n return this[kHandler].onRequestSent()\n } catch (err) {\n this.abort(err)\n }\n }\n }\n\n onConnect (abort) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (this.error) {\n abort(this.error)\n } else {\n this.abort = abort\n return this[kHandler].onConnect(abort)\n }\n }\n\n onResponseStarted () {\n return this[kHandler].onResponseStarted?.()\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n assert(!this.aborted)\n assert(!this.completed)\n\n if (channels.headers.hasSubscribers) {\n channels.headers.publish({ request: this, response: { statusCode, headers, statusText } })\n }\n\n try {\n return this[kHandler].onHeaders(statusCode, headers, resume, statusText)\n } catch (err) {\n this.abort(err)\n }\n }\n\n onData (chunk) {\n assert(!this.aborted)\n assert(!this.completed)\n\n try {\n return this[kHandler].onData(chunk)\n } catch (err) {\n this.abort(err)\n return false\n }\n }\n\n onUpgrade (statusCode, headers, socket) {\n assert(!this.aborted)\n assert(!this.completed)\n\n return this[kHandler].onUpgrade(statusCode, headers, socket)\n }\n\n onComplete (trailers) {\n this.onFinally()\n\n assert(!this.aborted)\n\n this.completed = true\n if (channels.trailers.hasSubscribers) {\n channels.trailers.publish({ request: this, trailers })\n }\n\n try {\n return this[kHandler].onComplete(trailers)\n } catch (err) {\n // TODO (fix): This might be a bad idea?\n this.onError(err)\n }\n }\n\n onError (error) {\n this.onFinally()\n\n if (channels.error.hasSubscribers) {\n channels.error.publish({ request: this, error })\n }\n\n if (this.aborted) {\n return\n }\n this.aborted = true\n\n return this[kHandler].onError(error)\n }\n\n onFinally () {\n if (this.errorHandler) {\n this.body.off('error', this.errorHandler)\n this.errorHandler = null\n }\n\n if (this.endHandler) {\n this.body.off('end', this.endHandler)\n this.endHandler = null\n }\n }\n\n addHeader (key, value) {\n processHeader(this, key, value)\n return this\n }\n}\n\nfunction processHeader (request, key, val) {\n if (val && (typeof val === 'object' && !Array.isArray(val))) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else if (val === undefined) {\n return\n }\n\n let headerName = headerNameLowerCasedRecord[key]\n\n if (headerName === undefined) {\n headerName = key.toLowerCase()\n if (headerNameLowerCasedRecord[headerName] === undefined && !isValidHTTPToken(headerName)) {\n throw new InvalidArgumentError('invalid header key')\n }\n }\n\n if (Array.isArray(val)) {\n const arr = []\n for (let i = 0; i < val.length; i++) {\n if (typeof val[i] === 'string') {\n if (!isValidHeaderValue(val[i])) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n arr.push(val[i])\n } else if (val[i] === null) {\n arr.push('')\n } else if (typeof val[i] === 'object') {\n throw new InvalidArgumentError(`invalid ${key} header`)\n } else {\n // Coerce primitives (and reject unsafe coercions such as functions\n // with a crafted toString/Symbol.toPrimitive).\n const str = `${val[i]}`\n if (!isValidHeaderValue(str)) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n arr.push(str)\n }\n }\n val = arr\n } else if (typeof val === 'string') {\n if (!isValidHeaderValue(val)) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n } else if (val === null) {\n val = ''\n } else {\n // Coerce primitives (and reject unsafe coercions such as functions\n // with a crafted toString/Symbol.toPrimitive).\n val = `${val}`\n if (!isValidHeaderValue(val)) {\n throw new InvalidArgumentError(`invalid ${key} header`)\n }\n }\n\n if (headerName === 'host') {\n if (request.host !== null) {\n throw new InvalidArgumentError('duplicate host header')\n }\n if (typeof val !== 'string') {\n throw new InvalidArgumentError('invalid host header')\n }\n // Consumed by Client\n request.host = val\n } else if (headerName === 'content-length') {\n if (request.contentLength !== null) {\n throw new InvalidArgumentError('duplicate content-length header')\n }\n request.contentLength = parseInt(val, 10)\n if (!Number.isFinite(request.contentLength)) {\n throw new InvalidArgumentError('invalid content-length header')\n }\n } else if (request.contentType === null && headerName === 'content-type') {\n request.contentType = val\n request.headers.push(key, val)\n } else if (headerName === 'transfer-encoding' || headerName === 'keep-alive' || headerName === 'upgrade') {\n throw new InvalidArgumentError(`invalid ${headerName} header`)\n } else if (headerName === 'connection') {\n const value = typeof val === 'string' ? val.toLowerCase() : null\n if (value !== 'close' && value !== 'keep-alive') {\n throw new InvalidArgumentError('invalid connection header')\n }\n\n if (value === 'close') {\n request.reset = true\n }\n } else if (headerName === 'expect') {\n throw new NotSupportedError('expect header not supported')\n } else {\n request.headers.push(key, val)\n }\n}\n\nmodule.exports = Request\n","module.exports = {\n kClose: Symbol('close'),\n kDestroy: Symbol('destroy'),\n kDispatch: Symbol('dispatch'),\n kUrl: Symbol('url'),\n kWriting: Symbol('writing'),\n kResuming: Symbol('resuming'),\n kQueue: Symbol('queue'),\n kConnect: Symbol('connect'),\n kConnecting: Symbol('connecting'),\n kKeepAliveDefaultTimeout: Symbol('default keep alive timeout'),\n kKeepAliveMaxTimeout: Symbol('max keep alive timeout'),\n kKeepAliveTimeoutThreshold: Symbol('keep alive timeout threshold'),\n kKeepAliveTimeoutValue: Symbol('keep alive timeout'),\n kKeepAlive: Symbol('keep alive'),\n kHeadersTimeout: Symbol('headers timeout'),\n kBodyTimeout: Symbol('body timeout'),\n kServerName: Symbol('server name'),\n kLocalAddress: Symbol('local address'),\n kHost: Symbol('host'),\n kNoRef: Symbol('no ref'),\n kBodyUsed: Symbol('used'),\n kBody: Symbol('abstracted request body'),\n kRunning: Symbol('running'),\n kBlocking: Symbol('blocking'),\n kPending: Symbol('pending'),\n kSize: Symbol('size'),\n kBusy: Symbol('busy'),\n kQueued: Symbol('queued'),\n kFree: Symbol('free'),\n kConnected: Symbol('connected'),\n kClosed: Symbol('closed'),\n kNeedDrain: Symbol('need drain'),\n kReset: Symbol('reset'),\n kDestroyed: Symbol.for('nodejs.stream.destroyed'),\n kResume: Symbol('resume'),\n kOnError: Symbol('on error'),\n kMaxHeadersSize: Symbol('max headers size'),\n kRunningIdx: Symbol('running index'),\n kPendingIdx: Symbol('pending index'),\n kError: Symbol('error'),\n kClients: Symbol('clients'),\n kClient: Symbol('client'),\n kParser: Symbol('parser'),\n kOnDestroyed: Symbol('destroy callbacks'),\n kPipelining: Symbol('pipelining'),\n kSocket: Symbol('socket'),\n kHostHeader: Symbol('host header'),\n kConnector: Symbol('connector'),\n kStrictContentLength: Symbol('strict content length'),\n kMaxRedirections: Symbol('maxRedirections'),\n kMaxRequests: Symbol('maxRequestsPerClient'),\n kProxy: Symbol('proxy agent options'),\n kCounter: Symbol('socket request counter'),\n kInterceptors: Symbol('dispatch interceptors'),\n kMaxResponseSize: Symbol('max response size'),\n kHTTP2Session: Symbol('http2Session'),\n kHTTP2SessionState: Symbol('http2Session state'),\n kRetryHandlerDefaultRetry: Symbol('retry agent default retry'),\n kConstruct: Symbol('constructable'),\n kListeners: Symbol('listeners'),\n kHTTPContext: Symbol('http context'),\n kMaxConcurrentStreams: Symbol('max concurrent streams'),\n kNoProxyAgent: Symbol('no proxy agent'),\n kHttpProxyAgent: Symbol('http proxy agent'),\n kHttpsProxyAgent: Symbol('https proxy agent')\n}\n","'use strict'\n\nconst {\n wellknownHeaderNames,\n headerNameLowerCasedRecord\n} = require('./constants')\n\nclass TstNode {\n /** @type {any} */\n value = null\n /** @type {null | TstNode} */\n left = null\n /** @type {null | TstNode} */\n middle = null\n /** @type {null | TstNode} */\n right = null\n /** @type {number} */\n code\n /**\n * @param {string} key\n * @param {any} value\n * @param {number} index\n */\n constructor (key, value, index) {\n if (index === undefined || index >= key.length) {\n throw new TypeError('Unreachable')\n }\n const code = this.code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (key.length !== ++index) {\n this.middle = new TstNode(key, value, index)\n } else {\n this.value = value\n }\n }\n\n /**\n * @param {string} key\n * @param {any} value\n */\n add (key, value) {\n const length = key.length\n if (length === 0) {\n throw new TypeError('Unreachable')\n }\n let index = 0\n let node = this\n while (true) {\n const code = key.charCodeAt(index)\n // check code is ascii string\n if (code > 0x7F) {\n throw new TypeError('key must be ascii string')\n }\n if (node.code === code) {\n if (length === ++index) {\n node.value = value\n break\n } else if (node.middle !== null) {\n node = node.middle\n } else {\n node.middle = new TstNode(key, value, index)\n break\n }\n } else if (node.code < code) {\n if (node.left !== null) {\n node = node.left\n } else {\n node.left = new TstNode(key, value, index)\n break\n }\n } else if (node.right !== null) {\n node = node.right\n } else {\n node.right = new TstNode(key, value, index)\n break\n }\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {TstNode | null}\n */\n search (key) {\n const keylength = key.length\n let index = 0\n let node = this\n while (node !== null && index < keylength) {\n let code = key[index]\n // A-Z\n // First check if it is bigger than 0x5a.\n // Lowercase letters have higher char codes than uppercase ones.\n // Also we assume that headers will mostly contain lowercase characters.\n if (code <= 0x5a && code >= 0x41) {\n // Lowercase for uppercase.\n code |= 32\n }\n while (node !== null) {\n if (code === node.code) {\n if (keylength === ++index) {\n // Returns Node since it is the last key.\n return node\n }\n node = node.middle\n break\n }\n node = node.code < code ? node.left : node.right\n }\n }\n return null\n }\n}\n\nclass TernarySearchTree {\n /** @type {TstNode | null} */\n node = null\n\n /**\n * @param {string} key\n * @param {any} value\n * */\n insert (key, value) {\n if (this.node === null) {\n this.node = new TstNode(key, value, 0)\n } else {\n this.node.add(key, value)\n }\n }\n\n /**\n * @param {Uint8Array} key\n * @return {any}\n */\n lookup (key) {\n return this.node?.search(key)?.value ?? null\n }\n}\n\nconst tree = new TernarySearchTree()\n\nfor (let i = 0; i < wellknownHeaderNames.length; ++i) {\n const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]]\n tree.insert(key, key)\n}\n\nmodule.exports = {\n TernarySearchTree,\n tree\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { kDestroyed, kBodyUsed, kListeners, kBody } = require('./symbols')\nconst { IncomingMessage } = require('node:http')\nconst stream = require('node:stream')\nconst net = require('node:net')\nconst { Blob } = require('node:buffer')\nconst nodeUtil = require('node:util')\nconst { stringify } = require('node:querystring')\nconst { EventEmitter: EE } = require('node:events')\nconst { InvalidArgumentError } = require('./errors')\nconst { headerNameLowerCasedRecord } = require('./constants')\nconst { tree } = require('./tree')\n\nconst [nodeMajor, nodeMinor] = process.versions.node.split('.').map(v => Number(v))\n\nclass BodyAsyncIterable {\n constructor (body) {\n this[kBody] = body\n this[kBodyUsed] = false\n }\n\n async * [Symbol.asyncIterator] () {\n assert(!this[kBodyUsed], 'disturbed')\n this[kBodyUsed] = true\n yield * this[kBody]\n }\n}\n\nfunction wrapRequestBody (body) {\n if (isStream(body)) {\n // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp\n // so that it can be dispatched again?\n // TODO (fix): Do we need 100-expect support to provide a way to do this properly?\n if (bodyLength(body) === 0) {\n body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof body.readableDidRead !== 'boolean') {\n body[kBodyUsed] = false\n EE.prototype.on.call(body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n\n return body\n } else if (body && typeof body.pipeTo === 'function') {\n // TODO (fix): We can't access ReadableStream internal state\n // to determine whether or not it has been disturbed. This is just\n // a workaround.\n return new BodyAsyncIterable(body)\n } else if (\n body &&\n typeof body !== 'string' &&\n !ArrayBuffer.isView(body) &&\n isIterable(body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n return new BodyAsyncIterable(body)\n } else {\n return body\n }\n}\n\nfunction nop () {}\n\nfunction isStream (obj) {\n return obj && typeof obj === 'object' && typeof obj.pipe === 'function' && typeof obj.on === 'function'\n}\n\n// based on https://github.com/node-fetch/fetch-blob/blob/8ab587d34080de94140b54f07168451e7d0b655e/index.js#L229-L241 (MIT License)\nfunction isBlobLike (object) {\n if (object === null) {\n return false\n } else if (object instanceof Blob) {\n return true\n } else if (typeof object !== 'object') {\n return false\n } else {\n const sTag = object[Symbol.toStringTag]\n\n return (sTag === 'Blob' || sTag === 'File') && (\n ('stream' in object && typeof object.stream === 'function') ||\n ('arrayBuffer' in object && typeof object.arrayBuffer === 'function')\n )\n }\n}\n\nfunction buildURL (url, queryParams) {\n if (url.includes('?') || url.includes('#')) {\n throw new Error('Query params cannot be passed when url already contains \"?\" or \"#\".')\n }\n\n const stringified = stringify(queryParams)\n\n if (stringified) {\n url += '?' + stringified\n }\n\n return url\n}\n\nfunction isValidPort (port) {\n const value = parseInt(port, 10)\n return (\n value === Number(port) &&\n value >= 0 &&\n value <= 65535\n )\n}\n\nfunction isHttpOrHttpsPrefixed (value) {\n return (\n value != null &&\n value[0] === 'h' &&\n value[1] === 't' &&\n value[2] === 't' &&\n value[3] === 'p' &&\n (\n value[4] === ':' ||\n (\n value[4] === 's' &&\n value[5] === ':'\n )\n )\n )\n}\n\nfunction parseURL (url) {\n if (typeof url === 'string') {\n url = new URL(url)\n\n if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n return url\n }\n\n if (!url || typeof url !== 'object') {\n throw new InvalidArgumentError('Invalid URL: The URL argument must be a non-null object.')\n }\n\n if (!(url instanceof URL)) {\n if (url.port != null && url.port !== '' && isValidPort(url.port) === false) {\n throw new InvalidArgumentError('Invalid URL: port must be a valid integer or a string representation of an integer.')\n }\n\n if (url.path != null && typeof url.path !== 'string') {\n throw new InvalidArgumentError('Invalid URL path: the path must be a string or null/undefined.')\n }\n\n if (url.pathname != null && typeof url.pathname !== 'string') {\n throw new InvalidArgumentError('Invalid URL pathname: the pathname must be a string or null/undefined.')\n }\n\n if (url.hostname != null && typeof url.hostname !== 'string') {\n throw new InvalidArgumentError('Invalid URL hostname: the hostname must be a string or null/undefined.')\n }\n\n if (url.origin != null && typeof url.origin !== 'string') {\n throw new InvalidArgumentError('Invalid URL origin: the origin must be a string or null/undefined.')\n }\n\n if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n const port = url.port != null\n ? url.port\n : (url.protocol === 'https:' ? 443 : 80)\n let origin = url.origin != null\n ? url.origin\n : `${url.protocol || ''}//${url.hostname || ''}:${port}`\n let path = url.path != null\n ? url.path\n : `${url.pathname || ''}${url.search || ''}`\n\n if (origin[origin.length - 1] === '/') {\n origin = origin.slice(0, origin.length - 1)\n }\n\n if (path && path[0] !== '/') {\n path = `/${path}`\n }\n // new URL(path, origin) is unsafe when `path` contains an absolute URL\n // From https://developer.mozilla.org/en-US/docs/Web/API/URL/URL:\n // If first parameter is a relative URL, second param is required, and will be used as the base URL.\n // If first parameter is an absolute URL, a given second param will be ignored.\n return new URL(`${origin}${path}`)\n }\n\n if (!isHttpOrHttpsPrefixed(url.origin || url.protocol)) {\n throw new InvalidArgumentError('Invalid URL protocol: the URL must start with `http:` or `https:`.')\n }\n\n return url\n}\n\nfunction parseOrigin (url) {\n url = parseURL(url)\n\n if (url.pathname !== '/' || url.search || url.hash) {\n throw new InvalidArgumentError('invalid url')\n }\n\n return url\n}\n\nfunction getHostname (host) {\n if (host[0] === '[') {\n const idx = host.indexOf(']')\n\n assert(idx !== -1)\n return host.substring(1, idx)\n }\n\n const idx = host.indexOf(':')\n if (idx === -1) return host\n\n return host.substring(0, idx)\n}\n\n// IP addresses are not valid server names per RFC6066\n// > Currently, the only server names supported are DNS hostnames\nfunction getServerName (host) {\n if (!host) {\n return null\n }\n\n assert(typeof host === 'string')\n\n const servername = getHostname(host)\n if (net.isIP(servername)) {\n return ''\n }\n\n return servername\n}\n\nfunction deepClone (obj) {\n return JSON.parse(JSON.stringify(obj))\n}\n\nfunction isAsyncIterable (obj) {\n return !!(obj != null && typeof obj[Symbol.asyncIterator] === 'function')\n}\n\nfunction isIterable (obj) {\n return !!(obj != null && (typeof obj[Symbol.iterator] === 'function' || typeof obj[Symbol.asyncIterator] === 'function'))\n}\n\nfunction bodyLength (body) {\n if (body == null) {\n return 0\n } else if (isStream(body)) {\n const state = body._readableState\n return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length)\n ? state.length\n : null\n } else if (isBlobLike(body)) {\n return body.size != null ? body.size : null\n } else if (isBuffer(body)) {\n return body.byteLength\n }\n\n return null\n}\n\nfunction isDestroyed (body) {\n return body && !!(body.destroyed || body[kDestroyed] || (stream.isDestroyed?.(body)))\n}\n\nfunction destroy (stream, err) {\n if (stream == null || !isStream(stream) || isDestroyed(stream)) {\n return\n }\n\n if (typeof stream.destroy === 'function') {\n if (Object.getPrototypeOf(stream).constructor === IncomingMessage) {\n // See: https://github.com/nodejs/node/pull/38505/files\n stream.socket = null\n }\n\n stream.destroy(err)\n } else if (err) {\n queueMicrotask(() => {\n stream.emit('error', err)\n })\n }\n\n if (stream.destroyed !== true) {\n stream[kDestroyed] = true\n }\n}\n\nconst KEEPALIVE_TIMEOUT_EXPR = /timeout=(\\d+)/\nfunction parseKeepAliveTimeout (val) {\n const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR)\n return m ? parseInt(m[1], 10) * 1000 : null\n}\n\n/**\n * Retrieves a header name and returns its lowercase value.\n * @param {string | Buffer} value Header name\n * @returns {string}\n */\nfunction headerNameToString (value) {\n return typeof value === 'string'\n ? headerNameLowerCasedRecord[value] ?? value.toLowerCase()\n : tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * Receive the buffer as a string and return its lowercase value.\n * @param {Buffer} value Header name\n * @returns {string}\n */\nfunction bufferToLowerCasedHeaderName (value) {\n return tree.lookup(value) ?? value.toString('latin1').toLowerCase()\n}\n\n/**\n * @param {Record | (Buffer | string | (Buffer | string)[])[]} headers\n * @param {Record} [obj]\n * @returns {Record}\n */\nfunction parseHeaders (headers, obj) {\n if (obj === undefined) obj = {}\n for (let i = 0; i < headers.length; i += 2) {\n const key = headerNameToString(headers[i])\n let val = obj[key]\n\n if (val) {\n if (typeof val === 'string') {\n val = [val]\n obj[key] = val\n }\n val.push(headers[i + 1].toString('utf8'))\n } else {\n const headersValue = headers[i + 1]\n if (typeof headersValue === 'string') {\n obj[key] = headersValue\n } else {\n obj[key] = Array.isArray(headersValue) ? headersValue.map(x => x.toString('utf8')) : headersValue.toString('utf8')\n }\n }\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if ('content-length' in obj && 'content-disposition' in obj) {\n obj['content-disposition'] = Buffer.from(obj['content-disposition']).toString('latin1')\n }\n\n return obj\n}\n\nfunction parseRawHeaders (headers) {\n const len = headers.length\n const ret = new Array(len)\n\n let hasContentLength = false\n let contentDispositionIdx = -1\n let key\n let val\n let kLen = 0\n\n for (let n = 0; n < headers.length; n += 2) {\n key = headers[n]\n val = headers[n + 1]\n\n typeof key !== 'string' && (key = key.toString())\n typeof val !== 'string' && (val = val.toString('utf8'))\n\n kLen = key.length\n if (kLen === 14 && key[7] === '-' && (key === 'content-length' || key.toLowerCase() === 'content-length')) {\n hasContentLength = true\n } else if (kLen === 19 && key[7] === '-' && (key === 'content-disposition' || key.toLowerCase() === 'content-disposition')) {\n contentDispositionIdx = n + 1\n }\n ret[n] = key\n ret[n + 1] = val\n }\n\n // See https://github.com/nodejs/node/pull/46528\n if (hasContentLength && contentDispositionIdx !== -1) {\n ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString('latin1')\n }\n\n return ret\n}\n\nfunction isBuffer (buffer) {\n // See, https://github.com/mcollina/undici/pull/319\n return buffer instanceof Uint8Array || Buffer.isBuffer(buffer)\n}\n\nfunction validateHandler (handler, method, upgrade) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n if (typeof handler.onConnect !== 'function') {\n throw new InvalidArgumentError('invalid onConnect method')\n }\n\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n if (typeof handler.onBodySent !== 'function' && handler.onBodySent !== undefined) {\n throw new InvalidArgumentError('invalid onBodySent method')\n }\n\n if (upgrade || method === 'CONNECT') {\n if (typeof handler.onUpgrade !== 'function') {\n throw new InvalidArgumentError('invalid onUpgrade method')\n }\n } else {\n if (typeof handler.onHeaders !== 'function') {\n throw new InvalidArgumentError('invalid onHeaders method')\n }\n\n if (typeof handler.onData !== 'function') {\n throw new InvalidArgumentError('invalid onData method')\n }\n\n if (typeof handler.onComplete !== 'function') {\n throw new InvalidArgumentError('invalid onComplete method')\n }\n }\n}\n\n// A body is disturbed if it has been read from and it cannot\n// be re-used without losing state or data.\nfunction isDisturbed (body) {\n // TODO (fix): Why is body[kBodyUsed] needed?\n return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]))\n}\n\nfunction isErrored (body) {\n return !!(body && stream.isErrored(body))\n}\n\nfunction isReadable (body) {\n return !!(body && stream.isReadable(body))\n}\n\nfunction getSocketInfo (socket) {\n return {\n localAddress: socket.localAddress,\n localPort: socket.localPort,\n remoteAddress: socket.remoteAddress,\n remotePort: socket.remotePort,\n remoteFamily: socket.remoteFamily,\n timeout: socket.timeout,\n bytesWritten: socket.bytesWritten,\n bytesRead: socket.bytesRead\n }\n}\n\n/** @type {globalThis['ReadableStream']} */\nfunction ReadableStreamFrom (iterable) {\n // We cannot use ReadableStream.from here because it does not return a byte stream.\n\n let iterator\n return new ReadableStream(\n {\n async start () {\n iterator = iterable[Symbol.asyncIterator]()\n },\n async pull (controller) {\n const { done, value } = await iterator.next()\n if (done) {\n queueMicrotask(() => {\n controller.close()\n controller.byobRequest?.respond(0)\n })\n } else {\n const buf = Buffer.isBuffer(value) ? value : Buffer.from(value)\n if (buf.byteLength) {\n controller.enqueue(new Uint8Array(buf))\n }\n }\n return controller.desiredSize > 0\n },\n async cancel (reason) {\n await iterator.return()\n },\n type: 'bytes'\n }\n )\n}\n\n// The chunk should be a FormData instance and contains\n// all the required methods.\nfunction isFormDataLike (object) {\n return (\n object &&\n typeof object === 'object' &&\n typeof object.append === 'function' &&\n typeof object.delete === 'function' &&\n typeof object.get === 'function' &&\n typeof object.getAll === 'function' &&\n typeof object.has === 'function' &&\n typeof object.set === 'function' &&\n object[Symbol.toStringTag] === 'FormData'\n )\n}\n\nfunction addAbortListener (signal, listener) {\n if ('addEventListener' in signal) {\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n }\n signal.addListener('abort', listener)\n return () => signal.removeListener('abort', listener)\n}\n\nconst hasToWellFormed = typeof String.prototype.toWellFormed === 'function'\nconst hasIsWellFormed = typeof String.prototype.isWellFormed === 'function'\n\n/**\n * @param {string} val\n */\nfunction toUSVString (val) {\n return hasToWellFormed ? `${val}`.toWellFormed() : nodeUtil.toUSVString(val)\n}\n\n/**\n * @param {string} val\n */\n// TODO: move this to webidl\nfunction isUSVString (val) {\n return hasIsWellFormed ? `${val}`.isWellFormed() : toUSVString(val) === `${val}`\n}\n\n/**\n * @see https://tools.ietf.org/html/rfc7230#section-3.2.6\n * @param {number} c\n */\nfunction isTokenCharCode (c) {\n switch (c) {\n case 0x22:\n case 0x28:\n case 0x29:\n case 0x2c:\n case 0x2f:\n case 0x3a:\n case 0x3b:\n case 0x3c:\n case 0x3d:\n case 0x3e:\n case 0x3f:\n case 0x40:\n case 0x5b:\n case 0x5c:\n case 0x5d:\n case 0x7b:\n case 0x7d:\n // DQUOTE and \"(),/:;<=>?@[\\]{}\"\n return false\n default:\n // VCHAR %x21-7E\n return c >= 0x21 && c <= 0x7e\n }\n}\n\n/**\n * @param {string} characters\n */\nfunction isValidHTTPToken (characters) {\n if (characters.length === 0) {\n return false\n }\n for (let i = 0; i < characters.length; ++i) {\n if (!isTokenCharCode(characters.charCodeAt(i))) {\n return false\n }\n }\n return true\n}\n\n// headerCharRegex have been lifted from\n// https://github.com/nodejs/node/blob/main/lib/_http_common.js\n\n/**\n * Matches if val contains an invalid field-vchar\n * field-value = *( field-content / obs-fold )\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n */\nconst headerCharRegex = /[^\\t\\x20-\\x7e\\x80-\\xff]/\n\n/**\n * @param {string} characters\n */\nfunction isValidHeaderValue (characters) {\n return !headerCharRegex.test(characters)\n}\n\n// Parsed accordingly to RFC 9110\n// https://www.rfc-editor.org/rfc/rfc9110#field.content-range\nfunction parseRangeHeader (range) {\n if (range == null || range === '') return { start: 0, end: null, size: null }\n\n const m = range ? range.match(/^bytes (\\d+)-(\\d+)\\/(\\d+)?$/) : null\n return m\n ? {\n start: parseInt(m[1]),\n end: m[2] ? parseInt(m[2]) : null,\n size: m[3] ? parseInt(m[3]) : null\n }\n : null\n}\n\nfunction addListener (obj, name, listener) {\n const listeners = (obj[kListeners] ??= [])\n listeners.push([name, listener])\n obj.on(name, listener)\n return obj\n}\n\nfunction removeAllListeners (obj) {\n for (const [name, listener] of obj[kListeners] ?? []) {\n obj.removeListener(name, listener)\n }\n obj[kListeners] = null\n}\n\nfunction errorRequest (client, request, err) {\n try {\n request.onError(err)\n assert(request.aborted)\n } catch (err) {\n client.emit('error', err)\n }\n}\n\nconst kEnumerableProperty = Object.create(null)\nkEnumerableProperty.enumerable = true\n\nconst normalizedMethodRecordsBase = {\n delete: 'DELETE',\n DELETE: 'DELETE',\n get: 'GET',\n GET: 'GET',\n head: 'HEAD',\n HEAD: 'HEAD',\n options: 'OPTIONS',\n OPTIONS: 'OPTIONS',\n post: 'POST',\n POST: 'POST',\n put: 'PUT',\n PUT: 'PUT'\n}\n\nconst normalizedMethodRecords = {\n ...normalizedMethodRecordsBase,\n patch: 'patch',\n PATCH: 'PATCH'\n}\n\n// Note: object prototypes should not be able to be referenced. e.g. `Object#hasOwnProperty`.\nObject.setPrototypeOf(normalizedMethodRecordsBase, null)\nObject.setPrototypeOf(normalizedMethodRecords, null)\n\nmodule.exports = {\n kEnumerableProperty,\n nop,\n isDisturbed,\n isErrored,\n isReadable,\n toUSVString,\n isUSVString,\n isBlobLike,\n parseOrigin,\n parseURL,\n getServerName,\n isStream,\n isIterable,\n isAsyncIterable,\n isDestroyed,\n headerNameToString,\n bufferToLowerCasedHeaderName,\n addListener,\n removeAllListeners,\n errorRequest,\n parseRawHeaders,\n parseHeaders,\n parseKeepAliveTimeout,\n destroy,\n bodyLength,\n deepClone,\n ReadableStreamFrom,\n isBuffer,\n validateHandler,\n getSocketInfo,\n isFormDataLike,\n buildURL,\n addAbortListener,\n isValidHTTPToken,\n isValidHeaderValue,\n isTokenCharCode,\n parseRangeHeader,\n normalizedMethodRecordsBase,\n normalizedMethodRecords,\n isValidPort,\n isHttpOrHttpsPrefixed,\n nodeMajor,\n nodeMinor,\n safeHTTPMethods: ['GET', 'HEAD', 'OPTIONS', 'TRACE'],\n wrapRequestBody\n}\n","'use strict'\n\nconst { InvalidArgumentError } = require('../core/errors')\nconst { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require('../core/symbols')\nconst DispatcherBase = require('./dispatcher-base')\nconst Pool = require('./pool')\nconst Client = require('./client')\nconst util = require('../core/util')\nconst createRedirectInterceptor = require('../interceptor/redirect-interceptor')\n\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kMaxRedirections = Symbol('maxRedirections')\nconst kOnDrain = Symbol('onDrain')\nconst kFactory = Symbol('factory')\nconst kOptions = Symbol('options')\n\nfunction defaultFactory (origin, opts) {\n return opts && opts.connections === 1\n ? new Client(origin, opts)\n : new Pool(origin, opts)\n}\n\nclass Agent extends DispatcherBase {\n constructor ({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n super(options)\n\n if (connect && typeof connect !== 'function') {\n connect = { ...connect }\n }\n\n this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent)\n ? options.interceptors.Agent\n : [createRedirectInterceptor({ maxRedirections })]\n\n this[kOptions] = { ...util.deepClone(options), connect }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kMaxRedirections] = maxRedirections\n this[kFactory] = factory\n this[kClients] = new Map()\n\n this[kOnDrain] = (origin, targets) => {\n this.emit('drain', origin, [this, ...targets])\n }\n\n this[kOnConnect] = (origin, targets) => {\n this.emit('connect', origin, [this, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n this.emit('disconnect', origin, [this, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n this.emit('connectionError', origin, [this, ...targets], err)\n }\n }\n\n get [kRunning] () {\n let ret = 0\n for (const client of this[kClients].values()) {\n ret += client[kRunning]\n }\n return ret\n }\n\n [kDispatch] (opts, handler) {\n let key\n if (opts.origin && (typeof opts.origin === 'string' || opts.origin instanceof URL)) {\n key = String(opts.origin)\n } else {\n throw new InvalidArgumentError('opts.origin must be a non-empty string or URL.')\n }\n\n let dispatcher = this[kClients].get(key)\n\n if (!dispatcher) {\n dispatcher = this[kFactory](opts.origin, this[kOptions])\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n // This introduces a tiny memory leak, as dispatchers are never removed from the map.\n // TODO(mcollina): remove te timer when the client/pool do not have any more\n // active connections.\n this[kClients].set(key, dispatcher)\n }\n\n return dispatcher.dispatch(opts, handler)\n }\n\n async [kClose] () {\n const closePromises = []\n for (const client of this[kClients].values()) {\n closePromises.push(client.close())\n }\n this[kClients].clear()\n\n await Promise.all(closePromises)\n }\n\n async [kDestroy] (err) {\n const destroyPromises = []\n for (const client of this[kClients].values()) {\n destroyPromises.push(client.destroy(err))\n }\n this[kClients].clear()\n\n await Promise.all(destroyPromises)\n }\n}\n\nmodule.exports = Agent\n","'use strict'\n\nconst {\n BalancedPoolMissingUpstreamError,\n InvalidArgumentError\n} = require('../core/errors')\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Pool = require('./pool')\nconst { kUrl, kInterceptors } = require('../core/symbols')\nconst { parseOrigin } = require('../core/util')\nconst kFactory = Symbol('factory')\n\nconst kOptions = Symbol('options')\nconst kGreatestCommonDivisor = Symbol('kGreatestCommonDivisor')\nconst kCurrentWeight = Symbol('kCurrentWeight')\nconst kIndex = Symbol('kIndex')\nconst kWeight = Symbol('kWeight')\nconst kMaxWeightPerServer = Symbol('kMaxWeightPerServer')\nconst kErrorPenalty = Symbol('kErrorPenalty')\n\n/**\n * Calculate the greatest common divisor of two numbers by\n * using the Euclidean algorithm.\n *\n * @param {number} a\n * @param {number} b\n * @returns {number}\n */\nfunction getGreatestCommonDivisor (a, b) {\n if (a === 0) return b\n\n while (b !== 0) {\n const t = b\n b = a % b\n a = t\n }\n return a\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nclass BalancedPool extends PoolBase {\n constructor (upstreams = [], { factory = defaultFactory, ...opts } = {}) {\n super()\n\n this[kOptions] = opts\n this[kIndex] = -1\n this[kCurrentWeight] = 0\n\n this[kMaxWeightPerServer] = this[kOptions].maxWeightPerServer || 100\n this[kErrorPenalty] = this[kOptions].errorPenalty || 15\n\n if (!Array.isArray(upstreams)) {\n upstreams = [upstreams]\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n this[kInterceptors] = opts.interceptors?.BalancedPool && Array.isArray(opts.interceptors.BalancedPool)\n ? opts.interceptors.BalancedPool\n : []\n this[kFactory] = factory\n\n for (const upstream of upstreams) {\n this.addUpstream(upstream)\n }\n this._updateBalancedPoolStats()\n }\n\n addUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n if (this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))) {\n return this\n }\n const pool = this[kFactory](upstreamOrigin, Object.assign({}, this[kOptions]))\n\n this[kAddClient](pool)\n pool.on('connect', () => {\n pool[kWeight] = Math.min(this[kMaxWeightPerServer], pool[kWeight] + this[kErrorPenalty])\n })\n\n pool.on('connectionError', () => {\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n })\n\n pool.on('disconnect', (...args) => {\n const err = args[2]\n if (err && err.code === 'UND_ERR_SOCKET') {\n // decrease the weight of the pool.\n pool[kWeight] = Math.max(1, pool[kWeight] - this[kErrorPenalty])\n this._updateBalancedPoolStats()\n }\n })\n\n for (const client of this[kClients]) {\n client[kWeight] = this[kMaxWeightPerServer]\n }\n\n this._updateBalancedPoolStats()\n\n return this\n }\n\n _updateBalancedPoolStats () {\n let result = 0\n for (let i = 0; i < this[kClients].length; i++) {\n result = getGreatestCommonDivisor(this[kClients][i][kWeight], result)\n }\n\n this[kGreatestCommonDivisor] = result\n }\n\n removeUpstream (upstream) {\n const upstreamOrigin = parseOrigin(upstream).origin\n\n const pool = this[kClients].find((pool) => (\n pool[kUrl].origin === upstreamOrigin &&\n pool.closed !== true &&\n pool.destroyed !== true\n ))\n\n if (pool) {\n this[kRemoveClient](pool)\n }\n\n return this\n }\n\n get upstreams () {\n return this[kClients]\n .filter(dispatcher => dispatcher.closed !== true && dispatcher.destroyed !== true)\n .map((p) => p[kUrl].origin)\n }\n\n [kGetDispatcher] () {\n // We validate that pools is greater than 0,\n // otherwise we would have to wait until an upstream\n // is added, which might never happen.\n if (this[kClients].length === 0) {\n throw new BalancedPoolMissingUpstreamError()\n }\n\n const dispatcher = this[kClients].find(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n\n if (!dispatcher) {\n return\n }\n\n const allClientsBusy = this[kClients].map(pool => pool[kNeedDrain]).reduce((a, b) => a && b, true)\n\n if (allClientsBusy) {\n return\n }\n\n let counter = 0\n\n let maxWeightIndex = this[kClients].findIndex(pool => !pool[kNeedDrain])\n\n while (counter++ < this[kClients].length) {\n this[kIndex] = (this[kIndex] + 1) % this[kClients].length\n const pool = this[kClients][this[kIndex]]\n\n // find pool index with the largest weight\n if (pool[kWeight] > this[kClients][maxWeightIndex][kWeight] && !pool[kNeedDrain]) {\n maxWeightIndex = this[kIndex]\n }\n\n // decrease the current weight every `this[kClients].length`.\n if (this[kIndex] === 0) {\n // Set the current weight to the next lower weight.\n this[kCurrentWeight] = this[kCurrentWeight] - this[kGreatestCommonDivisor]\n\n if (this[kCurrentWeight] <= 0) {\n this[kCurrentWeight] = this[kMaxWeightPerServer]\n }\n }\n if (pool[kWeight] >= this[kCurrentWeight] && (!pool[kNeedDrain])) {\n return pool\n }\n }\n\n this[kCurrentWeight] = this[kClients][maxWeightIndex][kWeight]\n this[kIndex] = maxWeightIndex\n return this[kClients][maxWeightIndex]\n }\n}\n\nmodule.exports = BalancedPool\n","'use strict'\n\n/* global WebAssembly */\n\nconst assert = require('node:assert')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst timers = require('../util/timers.js')\nconst {\n RequestContentLengthMismatchError,\n ResponseContentLengthMismatchError,\n RequestAbortedError,\n InvalidArgumentError,\n HeadersTimeoutError,\n HeadersOverflowError,\n SocketError,\n InformationalError,\n BodyTimeoutError,\n HTTPParserError,\n ResponseExceededMaxSizeError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kParser,\n kBlocking,\n kRunning,\n kPending,\n kSize,\n kWriting,\n kQueue,\n kNoRef,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kSocket,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kMaxRequests,\n kCounter,\n kMaxResponseSize,\n kOnError,\n kResume,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst constants = require('../llhttp/constants.js')\nconst EMPTY_BUF = Buffer.alloc(0)\nconst FastBuffer = Buffer[Symbol.species]\nconst addListener = util.addListener\nconst removeAllListeners = util.removeAllListeners\nconst kIdleSocketValidation = Symbol('kIdleSocketValidation')\nconst kIdleSocketValidationTimeout = Symbol('kIdleSocketValidationTimeout')\nconst kSocketUsed = Symbol('kSocketUsed')\n\nlet extractBody\n\nasync function lazyllhttp () {\n const llhttpWasmData = process.env.JEST_WORKER_ID ? require('../llhttp/llhttp-wasm.js') : undefined\n\n let mod\n try {\n mod = await WebAssembly.compile(require('../llhttp/llhttp_simd-wasm.js'))\n } catch (e) {\n /* istanbul ignore next */\n\n // We could check if the error was caused by the simd option not\n // being enabled, but the occurring of this other error\n // * https://github.com/emscripten-core/emscripten/issues/11495\n // got me to remove that check to avoid breaking Node 12.\n mod = await WebAssembly.compile(llhttpWasmData || require('../llhttp/llhttp-wasm.js'))\n }\n\n return await WebAssembly.instantiate(mod, {\n env: {\n /* eslint-disable camelcase */\n\n wasm_on_url: (p, at, len) => {\n /* istanbul ignore next */\n return 0\n },\n wasm_on_status: (p, at, len) => {\n assert(currentParser.ptr === p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_begin: (p) => {\n assert(currentParser.ptr === p)\n return currentParser.onMessageBegin() || 0\n },\n wasm_on_header_field: (p, at, len) => {\n assert(currentParser.ptr === p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_header_value: (p, at, len) => {\n assert(currentParser.ptr === p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {\n assert(currentParser.ptr === p)\n return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0\n },\n wasm_on_body: (p, at, len) => {\n assert(currentParser.ptr === p)\n const start = at - currentBufferPtr + currentBufferRef.byteOffset\n return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0\n },\n wasm_on_message_complete: (p) => {\n assert(currentParser.ptr === p)\n return currentParser.onMessageComplete() || 0\n }\n\n /* eslint-enable camelcase */\n }\n })\n}\n\nlet llhttpInstance = null\nlet llhttpPromise = lazyllhttp()\nllhttpPromise.catch()\n\nlet currentParser = null\nlet currentBufferRef = null\nlet currentBufferSize = 0\nlet currentBufferPtr = null\n\nconst USE_NATIVE_TIMER = 0\nconst USE_FAST_TIMER = 1\n\n// Use fast timers for headers and body to take eventual event loop\n// latency into account.\nconst TIMEOUT_HEADERS = 2 | USE_FAST_TIMER\nconst TIMEOUT_BODY = 4 | USE_FAST_TIMER\n\n// Use native timers to ignore event loop latency for keep-alive\n// handling.\nconst TIMEOUT_KEEP_ALIVE = 8 | USE_NATIVE_TIMER\n\nclass Parser {\n constructor (client, socket, { exports }) {\n assert(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0)\n\n this.llhttp = exports\n this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE)\n this.client = client\n this.socket = socket\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n this.statusCode = null\n this.statusText = ''\n this.upgrade = false\n this.headers = []\n this.headersSize = 0\n this.headersMaxSize = client[kMaxHeadersSize]\n this.shouldKeepAlive = false\n this.paused = false\n this.resume = this.resume.bind(this)\n\n this.bytesRead = 0\n\n this.keepAlive = ''\n this.contentLength = ''\n this.connection = ''\n this.maxResponseSize = client[kMaxResponseSize]\n }\n\n setTimeout (delay, type) {\n // If the existing timer and the new timer are of different timer type\n // (fast or native) or have different delay, we need to clear the existing\n // timer and set a new one.\n if (\n delay !== this.timeoutValue ||\n (type & USE_FAST_TIMER) ^ (this.timeoutType & USE_FAST_TIMER)\n ) {\n // If a timeout is already set, clear it with clearTimeout of the fast\n // timer implementation, as it can clear fast and native timers.\n if (this.timeout) {\n timers.clearTimeout(this.timeout)\n this.timeout = null\n }\n\n if (delay) {\n if (type & USE_FAST_TIMER) {\n this.timeout = timers.setFastTimeout(onParserTimeout, delay, new WeakRef(this))\n } else {\n this.timeout = setTimeout(onParserTimeout, delay, new WeakRef(this))\n this.timeout.unref()\n }\n }\n\n this.timeoutValue = delay\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n this.timeoutType = type\n }\n\n resume () {\n if (this.socket.destroyed || !this.paused) {\n return\n }\n\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_resume(this.ptr)\n\n assert(this.timeoutType === TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n this.paused = false\n this.execute(this.socket.read() || EMPTY_BUF) // Flush parser.\n this.readMore()\n }\n\n readMore () {\n while (!this.paused && this.ptr) {\n const chunk = this.socket.read()\n if (chunk === null) {\n break\n }\n this.execute(chunk)\n }\n }\n\n execute (data) {\n assert(this.ptr != null)\n assert(currentParser == null)\n assert(!this.paused)\n\n const { socket, llhttp } = this\n\n if (data.length > currentBufferSize) {\n if (currentBufferPtr) {\n llhttp.free(currentBufferPtr)\n }\n currentBufferSize = Math.ceil(data.length / 4096) * 4096\n currentBufferPtr = llhttp.malloc(currentBufferSize)\n }\n\n new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data)\n\n // Call `execute` on the wasm parser.\n // We pass the `llhttp_parser` pointer address, the pointer address of buffer view data,\n // and finally the length of bytes to parse.\n // The return value is an error code or `constants.ERROR.OK`.\n try {\n let ret\n\n try {\n currentBufferRef = data\n currentParser = this\n ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length)\n /* eslint-disable-next-line no-useless-catch */\n } catch (err) {\n /* istanbul ignore next: difficult to make a test case for */\n throw err\n } finally {\n currentParser = null\n currentBufferRef = null\n }\n\n const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr\n\n if (ret !== constants.ERROR.OK) {\n const body = data.subarray(offset)\n\n if (ret === constants.ERROR.PAUSED_UPGRADE) {\n this.onUpgrade(body)\n } else if (ret === constants.ERROR.PAUSED) {\n this.paused = true\n socket.unshift(body)\n } else {\n throw this.createError(ret, body)\n }\n }\n } catch (err) {\n util.destroy(socket, err)\n }\n }\n\n finish () {\n assert(currentParser === null)\n assert(this.ptr != null)\n assert(!this.paused)\n\n const { llhttp } = this\n\n let ret\n\n try {\n currentParser = this\n ret = llhttp.llhttp_finish(this.ptr)\n } finally {\n currentParser = null\n }\n\n if (ret === constants.ERROR.OK) {\n return null\n }\n\n if (ret === constants.ERROR.PAUSED || ret === constants.ERROR.PAUSED_UPGRADE) {\n this.paused = true\n return null\n }\n\n return this.createError(ret, EMPTY_BUF)\n }\n\n createError (ret, data) {\n const { llhttp, contentLength, bytesRead } = this\n\n if (contentLength && bytesRead !== parseInt(contentLength, 10)) {\n return new ResponseContentLengthMismatchError()\n }\n\n const ptr = llhttp.llhttp_get_error_reason(this.ptr)\n let message = ''\n if (ptr) {\n const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0)\n message =\n 'Response does not match the HTTP/1.1 protocol (' +\n Buffer.from(llhttp.memory.buffer, ptr, len).toString() +\n ')'\n }\n\n return new HTTPParserError(message, constants.ERROR[ret], data)\n }\n\n destroy () {\n assert(this.ptr != null)\n assert(currentParser == null)\n\n this.llhttp.llhttp_free(this.ptr)\n this.ptr = null\n\n this.timeout && timers.clearTimeout(this.timeout)\n this.timeout = null\n this.timeoutValue = null\n this.timeoutType = null\n\n this.paused = false\n }\n\n onStatus (buf) {\n this.statusText = buf.toString()\n }\n\n onMessageBegin () {\n const { socket, client } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n if (client[kRunning] === 0) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n if (!request) {\n return -1\n }\n request.onResponseStarted()\n }\n\n onHeaderField (buf) {\n const len = this.headers.length\n\n if ((len & 1) === 0) {\n this.headers.push(buf)\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n this.trackHeader(buf.length)\n }\n\n onHeaderValue (buf) {\n let len = this.headers.length\n\n if ((len & 1) === 1) {\n this.headers.push(buf)\n len += 1\n } else {\n this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf])\n }\n\n const key = this.headers[len - 2]\n if (key.length === 10) {\n const headerName = util.bufferToLowerCasedHeaderName(key)\n if (headerName === 'keep-alive') {\n this.keepAlive += buf.toString()\n } else if (headerName === 'connection') {\n this.connection += buf.toString()\n }\n } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === 'content-length') {\n this.contentLength += buf.toString()\n }\n\n this.trackHeader(buf.length)\n }\n\n trackHeader (len) {\n this.headersSize += len\n if (this.headersSize >= this.headersMaxSize) {\n util.destroy(this.socket, new HeadersOverflowError())\n }\n }\n\n onUpgrade (head) {\n const { upgrade, client, socket, headers, statusCode } = this\n\n assert(upgrade)\n assert(client[kSocket] === socket)\n assert(!socket.destroyed)\n assert(!this.paused)\n assert((headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n assert(request.upgrade || request.method === 'CONNECT')\n\n this.statusCode = null\n this.statusText = ''\n this.shouldKeepAlive = null\n\n this.headers = []\n this.headersSize = 0\n\n socket.unshift(head)\n\n socket[kParser].destroy()\n socket[kParser] = null\n\n socket[kClient] = null\n socket[kError] = null\n\n removeAllListeners(socket)\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\n client[kQueue][client[kRunningIdx]++] = null\n client.emit('disconnect', client[kUrl], [client], new InformationalError('upgrade'))\n\n try {\n request.onUpgrade(statusCode, headers, socket)\n } catch (err) {\n util.destroy(socket, err)\n }\n\n client[kResume]()\n }\n\n onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {\n const { client, socket, headers, statusText } = this\n\n /* istanbul ignore next: difficult to make a test case for */\n if (socket.destroyed) {\n return -1\n }\n\n if (client[kRunning] === 0) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n\n /* istanbul ignore next: difficult to make a test case for */\n if (!request) {\n return -1\n }\n\n assert(!this.upgrade)\n assert(this.statusCode < 200)\n\n if (statusCode === 100) {\n util.destroy(socket, new SocketError('bad response', util.getSocketInfo(socket)))\n return -1\n }\n\n /* this can only happen if server is misbehaving */\n if (upgrade && !request.upgrade) {\n util.destroy(socket, new SocketError('bad upgrade', util.getSocketInfo(socket)))\n return -1\n }\n\n assert(this.timeoutType === TIMEOUT_HEADERS)\n\n this.statusCode = statusCode\n this.shouldKeepAlive = (\n shouldKeepAlive ||\n // Override llhttp value which does not allow keepAlive for HEAD.\n (request.method === 'HEAD' && !socket[kReset] && this.connection.toLowerCase() === 'keep-alive')\n )\n\n if (this.statusCode >= 200) {\n const bodyTimeout = request.bodyTimeout != null\n ? request.bodyTimeout\n : client[kBodyTimeout]\n this.setTimeout(bodyTimeout, TIMEOUT_BODY)\n } else if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n if (request.method === 'CONNECT') {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n if (upgrade) {\n assert(client[kRunning] === 1)\n this.upgrade = true\n return 2\n }\n\n assert((this.headers.length & 1) === 0)\n this.headers = []\n this.headersSize = 0\n\n if (this.shouldKeepAlive && client[kPipelining]) {\n const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null\n\n if (keepAliveTimeout != null) {\n const timeout = Math.min(\n keepAliveTimeout - client[kKeepAliveTimeoutThreshold],\n client[kKeepAliveMaxTimeout]\n )\n if (timeout <= 0) {\n socket[kReset] = true\n } else {\n client[kKeepAliveTimeoutValue] = timeout\n }\n } else {\n client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout]\n }\n } else {\n // Stop more requests from being dispatched.\n socket[kReset] = true\n }\n\n const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false\n\n if (request.aborted) {\n return -1\n }\n\n if (request.method === 'HEAD') {\n return 1\n }\n\n if (statusCode < 200) {\n return 1\n }\n\n if (socket[kBlocking]) {\n socket[kBlocking] = false\n client[kResume]()\n }\n\n return pause ? constants.ERROR.PAUSED : 0\n }\n\n onBody (buf) {\n const { client, socket, statusCode, maxResponseSize } = this\n\n if (socket.destroyed) {\n return -1\n }\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n assert(this.timeoutType === TIMEOUT_BODY)\n if (this.timeout) {\n // istanbul ignore else: only for jest\n if (this.timeout.refresh) {\n this.timeout.refresh()\n }\n }\n\n assert(statusCode >= 200)\n\n if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {\n util.destroy(socket, new ResponseExceededMaxSizeError())\n return -1\n }\n\n this.bytesRead += buf.length\n\n if (request.onData(buf) === false) {\n return constants.ERROR.PAUSED\n }\n }\n\n onMessageComplete () {\n const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this\n\n if (socket.destroyed && (!statusCode || shouldKeepAlive)) {\n return -1\n }\n\n if (upgrade) {\n return\n }\n\n assert(statusCode >= 100)\n assert((this.headers.length & 1) === 0)\n\n const request = client[kQueue][client[kRunningIdx]]\n assert(request)\n\n this.statusCode = null\n this.statusText = ''\n this.bytesRead = 0\n this.contentLength = ''\n this.keepAlive = ''\n this.connection = ''\n\n this.headers = []\n this.headersSize = 0\n\n if (statusCode < 200) {\n return\n }\n\n /* istanbul ignore next: should be handled by llhttp? */\n if (request.method !== 'HEAD' && contentLength && bytesRead !== parseInt(contentLength, 10)) {\n util.destroy(socket, new ResponseContentLengthMismatchError())\n return -1\n }\n\n request.onComplete(headers)\n\n client[kQueue][client[kRunningIdx]++] = null\n socket[kSocketUsed] = true\n\n if (socket[kWriting]) {\n assert(client[kRunning] === 0)\n // Response completed before request.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (!shouldKeepAlive) {\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (socket[kReset] && client[kRunning] === 0) {\n // Destroy socket once all requests have completed.\n // The request at the tail of the pipeline is the one\n // that requested reset and no further requests should\n // have been queued since then.\n util.destroy(socket, new InformationalError('reset'))\n return constants.ERROR.PAUSED\n } else if (client[kPipelining] == null || client[kPipelining] === 1) {\n // We must wait a full event loop cycle to reuse this socket to make sure\n // that non-spec compliant servers are not closing the connection even if they\n // said they won't.\n setImmediate(() => client[kResume]())\n } else {\n client[kResume]()\n }\n }\n}\n\nfunction onParserTimeout (parser) {\n const { socket, timeoutType, client, paused } = parser.deref()\n\n /* istanbul ignore else */\n if (timeoutType === TIMEOUT_HEADERS) {\n if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {\n assert(!paused, 'cannot be paused while waiting for headers')\n util.destroy(socket, new HeadersTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_BODY) {\n if (!paused) {\n util.destroy(socket, new BodyTimeoutError())\n }\n } else if (timeoutType === TIMEOUT_KEEP_ALIVE) {\n assert(client[kRunning] === 0 && client[kKeepAliveTimeoutValue])\n util.destroy(socket, new InformationalError('socket idle timeout'))\n }\n}\n\nasync function connectH1 (client, socket) {\n client[kSocket] = socket\n\n if (!llhttpInstance) {\n llhttpInstance = await llhttpPromise\n llhttpPromise = null\n }\n\n socket[kNoRef] = false\n socket[kWriting] = false\n socket[kReset] = false\n socket[kBlocking] = false\n socket[kIdleSocketValidation] = 0\n socket[kIdleSocketValidationTimeout] = null\n socket[kSocketUsed] = false\n socket[kParser] = new Parser(client, socket, llhttpInstance)\n\n addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n const parser = this[kParser]\n\n // On Mac OS, we get an ECONNRESET even if there is a full body to be forwarded\n // to the user.\n if (err.code === 'ECONNRESET' && parser.statusCode && !parser.shouldKeepAlive) {\n const parserErr = parser.finish()\n if (parserErr) {\n this[kError] = parserErr\n this[kClient][kOnError](parserErr)\n }\n return\n }\n\n this[kError] = err\n\n this[kClient][kOnError](err)\n })\n addListener(socket, 'readable', function () {\n const parser = this[kParser]\n\n if (parser) {\n parser.readMore()\n }\n })\n addListener(socket, 'end', function () {\n const parser = this[kParser]\n\n if (parser.statusCode && !parser.shouldKeepAlive) {\n const parserErr = parser.finish()\n if (parserErr) {\n util.destroy(this, parserErr)\n }\n return\n }\n\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n })\n addListener(socket, 'close', function () {\n const client = this[kClient]\n const parser = this[kParser]\n\n clearIdleSocketValidation(this)\n\n if (parser) {\n if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {\n this[kError] = parser.finish() || this[kError]\n }\n\n this[kParser].destroy()\n this[kParser] = null\n }\n\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n client[kHTTPContext] = null // TODO (fix): This is hacky...\n\n if (client.destroyed) {\n assert(client[kPending] === 0)\n\n // Fail entire queue.\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(client, request, err)\n }\n } else if (client[kRunning] > 0 && err.code !== 'UND_ERR_INFO') {\n // Fail head of pipeline.\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n\n util.errorRequest(client, request, err)\n }\n\n client[kPendingIdx] = client[kRunningIdx]\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h1',\n defaultPipelining: 1,\n write (...args) {\n return writeH1(client, ...args)\n },\n resume () {\n resumeH1(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy (request) {\n if (socket[kWriting] || socket[kReset] || socket[kBlocking] || socket[kIdleSocketValidation] === 1) {\n return true\n }\n\n if (request) {\n if (client[kRunning] > 0 && !request.idempotent) {\n // Non-idempotent request cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return true\n }\n\n if (client[kRunning] > 0 && (request.upgrade || request.method === 'CONNECT')) {\n // Don't dispatch an upgrade until all preceding requests have completed.\n // A misbehaving server might upgrade the connection before all pipelined\n // request has completed.\n return true\n }\n\n if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 &&\n (util.isStream(request.body) || util.isAsyncIterable(request.body) || util.isFormDataLike(request.body))) {\n // Request with stream or iterator body can error while other requests\n // are inflight and indirectly error those as well.\n // Ensure this doesn't happen by waiting for inflight\n // to complete before dispatching.\n\n // Request with stream or iterator body cannot be retried.\n // Ensure that no other requests are inflight and\n // could cause failure.\n return true\n }\n }\n\n return false\n }\n }\n}\n\nfunction clearIdleSocketValidation (socket) {\n if (socket[kIdleSocketValidationTimeout]) {\n clearTimeout(socket[kIdleSocketValidationTimeout])\n socket[kIdleSocketValidationTimeout] = null\n }\n\n socket[kIdleSocketValidation] = 0\n}\n\nfunction scheduleIdleSocketValidation (client, socket) {\n socket[kIdleSocketValidation] = 1\n socket[kIdleSocketValidationTimeout] = setTimeout(() => {\n socket[kIdleSocketValidationTimeout] = null\n socket[kIdleSocketValidation] = 2\n\n if (client[kSocket] === socket && !socket.destroyed) {\n client[kResume]()\n }\n }, 0)\n socket[kIdleSocketValidationTimeout].unref?.()\n}\n\n/**\n * @param {import('./client.js')} client\n */\nfunction resumeH1 (client) {\n const socket = client[kSocket]\n\n if (socket && !socket.destroyed) {\n if (client[kSize] === 0) {\n if (!socket[kNoRef] && socket.unref) {\n socket.unref()\n socket[kNoRef] = true\n }\n } else if (socket[kNoRef] && socket.ref) {\n socket.ref()\n socket[kNoRef] = false\n }\n\n if (client[kRunning] === 0 && client[kPending] > 0 && socket[kSocketUsed]) {\n if (socket[kIdleSocketValidation] === 0) {\n scheduleIdleSocketValidation(client, socket)\n socket[kParser].readMore()\n if (socket.destroyed) {\n return\n }\n return\n }\n\n if (socket[kIdleSocketValidation] === 1) {\n socket[kParser].readMore()\n if (socket.destroyed) {\n return\n }\n return\n }\n }\n\n if (client[kRunning] === 0) {\n socket[kParser].readMore()\n if (socket.destroyed) {\n return\n }\n }\n\n if (client[kSize] === 0) {\n if (socket[kParser].timeoutType !== TIMEOUT_KEEP_ALIVE) {\n socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_KEEP_ALIVE)\n }\n } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {\n if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {\n const request = client[kQueue][client[kRunningIdx]]\n const headersTimeout = request.headersTimeout != null\n ? request.headersTimeout\n : client[kHeadersTimeout]\n socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS)\n }\n }\n }\n}\n\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH1 (client, request) {\n const { method, path, host, upgrade, blocking, reset } = request\n\n let { body, headers, contentLength } = request\n\n // https://tools.ietf.org/html/rfc7231#section-4.3.1\n // https://tools.ietf.org/html/rfc7231#section-4.3.2\n // https://tools.ietf.org/html/rfc7231#section-4.3.5\n\n // Sending a payload body on a request that does not\n // expect it can cause undefined behavior on some\n // servers and corrupt connection state. Do not\n // re-use the connection for further requests.\n\n const expectsPayload = (\n method === 'PUT' ||\n method === 'POST' ||\n method === 'PATCH' ||\n method === 'QUERY' ||\n method === 'PROPFIND' ||\n method === 'PROPPATCH'\n )\n\n if (util.isFormDataLike(body)) {\n if (!extractBody) {\n extractBody = require('../web/fetch/body.js').extractBody\n }\n\n const [bodyStream, contentType] = extractBody(body)\n if (request.contentType == null) {\n headers.push('content-type', contentType)\n }\n body = bodyStream.stream\n contentLength = bodyStream.length\n } else if (util.isBlobLike(body) && request.contentType == null) {\n const contentType = body.type\n if (contentType) {\n const contentTypeValue = `${contentType}`\n if (!util.isValidHeaderValue(contentTypeValue)) {\n util.errorRequest(client, request, new InvalidArgumentError('invalid content-type header'))\n return false\n }\n headers.push('content-type', contentTypeValue)\n }\n }\n\n if (body && typeof body.read === 'function') {\n // Try to read EOF in order to get length.\n body.read(0)\n }\n\n const bodyLength = util.bodyLength(body)\n\n contentLength = bodyLength ?? contentLength\n\n if (contentLength === null) {\n contentLength = request.contentLength\n }\n\n if (contentLength === 0 && !expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD NOT send a Content-Length header field when\n // the request message does not contain a payload body and the method\n // semantics do not anticipate such a body.\n\n contentLength = null\n }\n\n // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n const socket = client[kSocket]\n clearIdleSocketValidation(socket)\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n util.errorRequest(client, request, err || new RequestAbortedError())\n\n util.destroy(body)\n util.destroy(socket, new InformationalError('aborted'))\n }\n\n try {\n request.onConnect(abort)\n } catch (err) {\n util.errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'HEAD') {\n // https://github.com/mcollina/undici/issues/258\n // Close after a HEAD request to interop with misbehaving servers\n // that may send a body in the response.\n\n socket[kReset] = true\n }\n\n if (upgrade || method === 'CONNECT') {\n // On CONNECT or upgrade, block pipeline from dispatching further\n // requests on this connection.\n\n socket[kReset] = true\n }\n\n if (reset != null) {\n socket[kReset] = reset\n }\n\n if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {\n socket[kReset] = true\n }\n\n if (blocking) {\n socket[kBlocking] = true\n }\n\n let header = `${method} ${path} HTTP/1.1\\r\\n`\n\n if (typeof host === 'string') {\n header += `host: ${host}\\r\\n`\n } else {\n header += client[kHostHeader]\n }\n\n if (upgrade) {\n header += `connection: upgrade\\r\\nupgrade: ${upgrade}\\r\\n`\n } else if (client[kPipelining] && !socket[kReset]) {\n header += 'connection: keep-alive\\r\\n'\n } else {\n header += 'connection: close\\r\\n'\n }\n\n if (Array.isArray(headers)) {\n for (let n = 0; n < headers.length; n += 2) {\n const key = headers[n + 0]\n const val = headers[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n header += `${key}: ${val[i]}\\r\\n`\n }\n } else {\n header += `${key}: ${val}\\r\\n`\n }\n }\n }\n\n if (channels.sendHeaders.hasSubscribers) {\n channels.sendHeaders.publish({ request, headers: header, socket })\n }\n\n /* istanbul ignore else: assertion */\n if (!body || bodyLength === 0) {\n writeBuffer(abort, null, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBuffer(body)) {\n writeBuffer(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(abort, body.stream(), client, request, socket, contentLength, header, expectsPayload)\n } else {\n writeBlob(abort, body, client, request, socket, contentLength, header, expectsPayload)\n }\n } else if (util.isStream(body)) {\n writeStream(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else if (util.isIterable(body)) {\n writeIterable(abort, body, client, request, socket, contentLength, header, expectsPayload)\n } else {\n assert(false)\n }\n\n return true\n}\n\nfunction writeStream (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n let finished = false\n\n const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header })\n\n const onData = function (chunk) {\n if (finished) {\n return\n }\n\n try {\n if (!writer.write(chunk) && this.pause) {\n this.pause()\n }\n } catch (err) {\n util.destroy(this, err)\n }\n }\n const onDrain = function () {\n if (finished) {\n return\n }\n\n if (body.resume) {\n body.resume()\n }\n }\n const onClose = function () {\n // 'close' might be emitted *before* 'error' for\n // broken streams. Wait a tick to avoid this case.\n queueMicrotask(() => {\n // It's only safe to remove 'error' listener after\n // 'close'.\n body.removeListener('error', onFinished)\n })\n\n if (!finished) {\n const err = new RequestAbortedError()\n queueMicrotask(() => onFinished(err))\n }\n }\n const onFinished = function (err) {\n if (finished) {\n return\n }\n\n finished = true\n\n assert(socket.destroyed || (socket[kWriting] && client[kRunning] <= 1))\n\n socket\n .off('drain', onDrain)\n .off('error', onFinished)\n\n body\n .removeListener('data', onData)\n .removeListener('end', onFinished)\n .removeListener('close', onClose)\n\n if (!err) {\n try {\n writer.end()\n } catch (er) {\n err = er\n }\n }\n\n writer.destroy(err)\n\n if (err && (err.code !== 'UND_ERR_INFO' || err.message !== 'reset')) {\n util.destroy(body, err)\n } else {\n util.destroy(body)\n }\n }\n\n body\n .on('data', onData)\n .on('end', onFinished)\n .on('error', onFinished)\n .on('close', onClose)\n\n if (body.resume) {\n body.resume()\n }\n\n socket\n .on('drain', onDrain)\n .on('error', onFinished)\n\n if (body.errorEmitted ?? body.errored) {\n setImmediate(() => onFinished(body.errored))\n } else if (body.endEmitted ?? body.readableEnded) {\n setImmediate(() => onFinished(null))\n }\n\n if (body.closeEmitted ?? body.closed) {\n setImmediate(onClose)\n }\n}\n\nfunction writeBuffer (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n try {\n if (!body) {\n if (contentLength === 0) {\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n assert(contentLength === null, 'no body must not have content length')\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n } else if (util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(body)\n socket.uncork()\n request.onBodySent(body)\n\n if (!expectsPayload && request.reset !== false) {\n socket[kReset] = true\n }\n }\n request.onRequestSent()\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeBlob (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n assert(contentLength === body.size, 'blob body must have content length')\n\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError()\n }\n\n const buffer = Buffer.from(await body.arrayBuffer())\n\n socket.cork()\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n socket.write(buffer)\n socket.uncork()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload && request.reset !== false) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, body, client, request, socket, contentLength, header, expectsPayload) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')\n\n let callback = null\n function onDrain () {\n if (callback) {\n const cb = callback\n callback = null\n cb()\n }\n }\n\n const waitForDrain = () => new Promise((resolve, reject) => {\n assert(callback === null)\n\n if (socket[kError]) {\n reject(socket[kError])\n } else {\n callback = resolve\n }\n })\n\n socket\n .on('close', onDrain)\n .on('drain', onDrain)\n\n const writer = new AsyncWriter({ abort, socket, request, contentLength, client, expectsPayload, header })\n try {\n // It's up to the user to somehow abort the async iterable.\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (!writer.write(chunk)) {\n await waitForDrain()\n }\n }\n\n writer.end()\n } catch (err) {\n writer.destroy(err)\n } finally {\n socket\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nclass AsyncWriter {\n constructor ({ abort, socket, request, contentLength, client, expectsPayload, header }) {\n this.socket = socket\n this.request = request\n this.contentLength = contentLength\n this.client = client\n this.bytesWritten = 0\n this.expectsPayload = expectsPayload\n this.header = header\n this.abort = abort\n\n socket[kWriting] = true\n }\n\n write (chunk) {\n const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return false\n }\n\n const len = Buffer.byteLength(chunk)\n if (!len) {\n return true\n }\n\n // We should defer writing chunks.\n if (contentLength !== null && bytesWritten + len > contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n socket.cork()\n\n if (bytesWritten === 0) {\n if (!expectsPayload && request.reset !== false) {\n socket[kReset] = true\n }\n\n if (contentLength === null) {\n socket.write(`${header}transfer-encoding: chunked\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}content-length: ${contentLength}\\r\\n\\r\\n`, 'latin1')\n }\n }\n\n if (contentLength === null) {\n socket.write(`\\r\\n${len.toString(16)}\\r\\n`, 'latin1')\n }\n\n this.bytesWritten += len\n\n const ret = socket.write(chunk)\n\n socket.uncork()\n\n request.onBodySent(chunk)\n\n if (!ret) {\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n }\n\n return ret\n }\n\n end () {\n const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this\n request.onRequestSent()\n\n socket[kWriting] = false\n\n if (socket[kError]) {\n throw socket[kError]\n }\n\n if (socket.destroyed) {\n return\n }\n\n if (bytesWritten === 0) {\n if (expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body.\n\n socket.write(`${header}content-length: 0\\r\\n\\r\\n`, 'latin1')\n } else {\n socket.write(`${header}\\r\\n`, 'latin1')\n }\n } else if (contentLength === null) {\n socket.write('\\r\\n0\\r\\n\\r\\n', 'latin1')\n }\n\n if (contentLength !== null && bytesWritten !== contentLength) {\n if (client[kStrictContentLength]) {\n throw new RequestContentLengthMismatchError()\n } else {\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n }\n\n if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {\n // istanbul ignore else: only for jest\n if (socket[kParser].timeout.refresh) {\n socket[kParser].timeout.refresh()\n }\n }\n\n client[kResume]()\n }\n\n destroy (err) {\n const { socket, client, abort } = this\n\n socket[kWriting] = false\n\n if (err) {\n assert(client[kRunning] <= 1, 'pipeline should only contain this request')\n abort(err)\n }\n }\n}\n\nmodule.exports = connectH1\n","'use strict'\n\nconst assert = require('node:assert')\nconst { pipeline } = require('node:stream')\nconst util = require('../core/util.js')\nconst {\n RequestContentLengthMismatchError,\n RequestAbortedError,\n SocketError,\n InformationalError\n} = require('../core/errors.js')\nconst {\n kUrl,\n kReset,\n kClient,\n kRunning,\n kPending,\n kQueue,\n kPendingIdx,\n kRunningIdx,\n kError,\n kSocket,\n kStrictContentLength,\n kOnError,\n kMaxConcurrentStreams,\n kHTTP2Session,\n kResume,\n kSize,\n kHTTPContext\n} = require('../core/symbols.js')\n\nconst kOpenStreams = Symbol('open streams')\n\nlet extractBody\n\n// Experimental\nlet h2ExperimentalWarned = false\n\n/** @type {import('http2')} */\nlet http2\ntry {\n http2 = require('node:http2')\n} catch {\n // @ts-ignore\n http2 = { constants: {} }\n}\n\nconst {\n constants: {\n HTTP2_HEADER_AUTHORITY,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_CONTENT_LENGTH,\n HTTP2_HEADER_EXPECT,\n HTTP2_HEADER_STATUS\n }\n} = http2\n\nfunction parseH2Headers (headers) {\n const result = []\n\n for (const [name, value] of Object.entries(headers)) {\n // h2 may concat the header value by array\n // e.g. Set-Cookie\n if (Array.isArray(value)) {\n for (const subvalue of value) {\n // we need to provide each header value of header name\n // because the headers handler expect name-value pair\n result.push(Buffer.from(name), Buffer.from(subvalue))\n }\n } else {\n result.push(Buffer.from(name), Buffer.from(value))\n }\n }\n\n return result\n}\n\nasync function connectH2 (client, socket) {\n client[kSocket] = socket\n\n if (!h2ExperimentalWarned) {\n h2ExperimentalWarned = true\n process.emitWarning('H2 support is experimental, expect them to change at any time.', {\n code: 'UNDICI-H2'\n })\n }\n\n const session = http2.connect(client[kUrl], {\n createConnection: () => socket,\n peerMaxConcurrentStreams: client[kMaxConcurrentStreams]\n })\n\n session[kOpenStreams] = 0\n session[kClient] = client\n session[kSocket] = socket\n\n util.addListener(session, 'error', onHttp2SessionError)\n util.addListener(session, 'frameError', onHttp2FrameError)\n util.addListener(session, 'end', onHttp2SessionEnd)\n util.addListener(session, 'goaway', onHTTP2GoAway)\n util.addListener(session, 'close', function () {\n const { [kClient]: client } = this\n const { [kSocket]: socket } = client\n\n const err = this[kSocket][kError] || this[kError] || new SocketError('closed', util.getSocketInfo(socket))\n\n client[kHTTP2Session] = null\n\n if (client.destroyed) {\n assert(client[kPending] === 0)\n\n // Fail entire queue.\n const requests = client[kQueue].splice(client[kRunningIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(client, request, err)\n }\n }\n })\n\n session.unref()\n\n client[kHTTP2Session] = session\n socket[kHTTP2Session] = session\n\n util.addListener(socket, 'error', function (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kError] = err\n\n this[kClient][kOnError](err)\n })\n\n util.addListener(socket, 'end', function () {\n util.destroy(this, new SocketError('other side closed', util.getSocketInfo(this)))\n })\n\n util.addListener(socket, 'close', function () {\n const err = this[kError] || new SocketError('closed', util.getSocketInfo(this))\n\n client[kSocket] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(err)\n }\n\n client[kPendingIdx] = client[kRunningIdx]\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n client[kResume]()\n })\n\n let closed = false\n socket.on('close', () => {\n closed = true\n })\n\n return {\n version: 'h2',\n defaultPipelining: Infinity,\n write (...args) {\n return writeH2(client, ...args)\n },\n resume () {\n resumeH2(client)\n },\n destroy (err, callback) {\n if (closed) {\n queueMicrotask(callback)\n } else {\n // Destroying the socket will trigger the session close\n socket.destroy(err).on('close', callback)\n }\n },\n get destroyed () {\n return socket.destroyed\n },\n busy () {\n return false\n }\n }\n}\n\nfunction resumeH2 (client) {\n const socket = client[kSocket]\n\n if (socket?.destroyed === false) {\n if (client[kSize] === 0 && client[kMaxConcurrentStreams] === 0) {\n socket.unref()\n client[kHTTP2Session].unref()\n } else {\n socket.ref()\n client[kHTTP2Session].ref()\n }\n }\n}\n\nfunction onHttp2SessionError (err) {\n assert(err.code !== 'ERR_TLS_CERT_ALTNAME_INVALID')\n\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n}\n\nfunction onHttp2FrameError (type, code, id) {\n if (id === 0) {\n const err = new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`)\n this[kSocket][kError] = err\n this[kClient][kOnError](err)\n }\n}\n\nfunction onHttp2SessionEnd () {\n const err = new SocketError('other side closed', util.getSocketInfo(this[kSocket]))\n this.destroy(err)\n util.destroy(this[kSocket], err)\n}\n\n/**\n * This is the root cause of #3011\n * We need to handle GOAWAY frames properly, and trigger the session close\n * along with the socket right away\n */\nfunction onHTTP2GoAway (code) {\n // We cannot recover, so best to close the session and the socket\n const err = this[kError] || new SocketError(`HTTP/2: \"GOAWAY\" frame received with code ${code}`, util.getSocketInfo(this))\n const client = this[kClient]\n\n client[kSocket] = null\n client[kHTTPContext] = null\n\n if (this[kHTTP2Session] != null) {\n this[kHTTP2Session].destroy(err)\n this[kHTTP2Session] = null\n }\n\n util.destroy(this[kSocket], err)\n\n // Fail head of pipeline.\n if (client[kRunningIdx] < client[kQueue].length) {\n const request = client[kQueue][client[kRunningIdx]]\n client[kQueue][client[kRunningIdx]++] = null\n util.errorRequest(client, request, err)\n client[kPendingIdx] = client[kRunningIdx]\n }\n\n assert(client[kRunning] === 0)\n\n client.emit('disconnect', client[kUrl], [client], err)\n\n client[kResume]()\n}\n\n// https://www.rfc-editor.org/rfc/rfc7230#section-3.3.2\nfunction shouldSendContentLength (method) {\n return method !== 'GET' && method !== 'HEAD' && method !== 'OPTIONS' && method !== 'TRACE' && method !== 'CONNECT'\n}\n\nfunction writeH2 (client, request) {\n const session = client[kHTTP2Session]\n const { method, path, host, upgrade, expectContinue, signal, headers: reqHeaders } = request\n let { body } = request\n\n if (upgrade) {\n util.errorRequest(client, request, new Error('Upgrade not supported for H2'))\n return false\n }\n\n const headers = {}\n for (let n = 0; n < reqHeaders.length; n += 2) {\n const key = reqHeaders[n + 0]\n const val = reqHeaders[n + 1]\n\n if (Array.isArray(val)) {\n for (let i = 0; i < val.length; i++) {\n if (headers[key]) {\n headers[key] += `,${val[i]}`\n } else {\n headers[key] = val[i]\n }\n }\n } else {\n headers[key] = val\n }\n }\n\n /** @type {import('node:http2').ClientHttp2Stream} */\n let stream\n\n const { hostname, port } = client[kUrl]\n\n headers[HTTP2_HEADER_AUTHORITY] = host || `${hostname}${port ? `:${port}` : ''}`\n headers[HTTP2_HEADER_METHOD] = method\n\n const abort = (err) => {\n if (request.aborted || request.completed) {\n return\n }\n\n err = err || new RequestAbortedError()\n\n util.errorRequest(client, request, err)\n\n if (stream != null) {\n util.destroy(stream, err)\n }\n\n // We do not destroy the socket as we can continue using the session\n // the stream get's destroyed and the session remains to create new streams\n util.destroy(body, err)\n client[kQueue][client[kRunningIdx]++] = null\n client[kResume]()\n }\n\n try {\n // We are already connected, streams are pending.\n // We can call on connect, and wait for abort\n request.onConnect(abort)\n } catch (err) {\n util.errorRequest(client, request, err)\n }\n\n if (request.aborted) {\n return false\n }\n\n if (method === 'CONNECT') {\n session.ref()\n // We are already connected, streams are pending, first request\n // will create a new stream. We trigger a request to create the stream and wait until\n // `ready` event is triggered\n // We disabled endStream to allow the user to write to the stream\n stream = session.request(headers, { endStream: false, signal })\n\n if (stream.id && !stream.pending) {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n } else {\n stream.once('ready', () => {\n request.onUpgrade(null, null, stream)\n ++session[kOpenStreams]\n client[kQueue][client[kRunningIdx]++] = null\n })\n }\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) session.unref()\n })\n\n return true\n }\n\n // https://tools.ietf.org/html/rfc7540#section-8.3\n // :path and :scheme headers must be omitted when sending CONNECT\n\n headers[HTTP2_HEADER_PATH] = path\n headers[HTTP2_HEADER_SCHEME] = 'https'\n\n // https://tools.ietf.org/html/rfc7231#section-4.3.1\n // https://tools.ietf.org/html/rfc7231#section-4.3.2\n // https://tools.ietf.org/html/rfc7231#section-4.3.5\n\n // Sending a payload body on a request that does not\n // expect it can cause undefined behavior on some\n // servers and corrupt connection state. Do not\n // re-use the connection for further requests.\n\n const expectsPayload = (\n method === 'PUT' ||\n method === 'POST' ||\n method === 'PATCH'\n )\n\n if (body && typeof body.read === 'function') {\n // Try to read EOF in order to get length.\n body.read(0)\n }\n\n let contentLength = util.bodyLength(body)\n\n if (util.isFormDataLike(body)) {\n extractBody ??= require('../web/fetch/body.js').extractBody\n\n const [bodyStream, contentType] = extractBody(body)\n headers['content-type'] = contentType\n\n body = bodyStream.stream\n contentLength = bodyStream.length\n }\n\n if (contentLength == null) {\n contentLength = request.contentLength\n }\n\n if (contentLength === 0 || !expectsPayload) {\n // https://tools.ietf.org/html/rfc7230#section-3.3.2\n // A user agent SHOULD NOT send a Content-Length header field when\n // the request message does not contain a payload body and the method\n // semantics do not anticipate such a body.\n\n contentLength = null\n }\n\n // https://github.com/nodejs/undici/issues/2046\n // A user agent may send a Content-Length header with 0 value, this should be allowed.\n if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {\n if (client[kStrictContentLength]) {\n util.errorRequest(client, request, new RequestContentLengthMismatchError())\n return false\n }\n\n process.emitWarning(new RequestContentLengthMismatchError())\n }\n\n if (contentLength != null) {\n assert(body, 'no body must not have content length')\n headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`\n }\n\n session.ref()\n\n const shouldEndStream = method === 'GET' || method === 'HEAD' || body === null\n if (expectContinue) {\n headers[HTTP2_HEADER_EXPECT] = '100-continue'\n stream = session.request(headers, { endStream: shouldEndStream, signal })\n\n stream.once('continue', writeBodyH2)\n } else {\n stream = session.request(headers, {\n endStream: shouldEndStream,\n signal\n })\n writeBodyH2()\n }\n\n // Increment counter as we have new streams open\n ++session[kOpenStreams]\n\n stream.once('response', headers => {\n const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers\n request.onResponseStarted()\n\n // Due to the stream nature, it is possible we face a race condition\n // where the stream has been assigned, but the request has been aborted\n // the request remains in-flight and headers hasn't been received yet\n // for those scenarios, best effort is to destroy the stream immediately\n // as there's no value to keep it open.\n if (request.aborted) {\n const err = new RequestAbortedError()\n util.errorRequest(client, request, err)\n util.destroy(stream, err)\n return\n }\n\n if (request.onHeaders(Number(statusCode), parseH2Headers(realHeaders), stream.resume.bind(stream), '') === false) {\n stream.pause()\n }\n\n stream.on('data', (chunk) => {\n if (request.onData(chunk) === false) {\n stream.pause()\n }\n })\n })\n\n stream.once('end', () => {\n // When state is null, it means we haven't consumed body and the stream still do not have\n // a state.\n // Present specially when using pipeline or stream\n if (stream.state?.state == null || stream.state.state < 6) {\n request.onComplete([])\n }\n\n if (session[kOpenStreams] === 0) {\n // Stream is closed or half-closed-remote (6), decrement counter and cleanup\n // It does not have sense to continue working with the stream as we do not\n // have yet RST_STREAM support on client-side\n\n session.unref()\n }\n\n abort(new InformationalError('HTTP/2: stream half-closed (remote)'))\n client[kQueue][client[kRunningIdx]++] = null\n client[kPendingIdx] = client[kRunningIdx]\n client[kResume]()\n })\n\n stream.once('close', () => {\n session[kOpenStreams] -= 1\n if (session[kOpenStreams] === 0) {\n session.unref()\n }\n })\n\n stream.once('error', function (err) {\n abort(err)\n })\n\n stream.once('frameError', (type, code) => {\n abort(new InformationalError(`HTTP/2: \"frameError\" received - type ${type}, code ${code}`))\n })\n\n // stream.on('aborted', () => {\n // // TODO(HTTP/2): Support aborted\n // })\n\n // stream.on('timeout', () => {\n // // TODO(HTTP/2): Support timeout\n // })\n\n // stream.on('push', headers => {\n // // TODO(HTTP/2): Support push\n // })\n\n // stream.on('trailers', headers => {\n // // TODO(HTTP/2): Support trailers\n // })\n\n return true\n\n function writeBodyH2 () {\n /* istanbul ignore else: assertion */\n if (!body || contentLength === 0) {\n writeBuffer(\n abort,\n stream,\n null,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBuffer(body)) {\n writeBuffer(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else if (util.isBlobLike(body)) {\n if (typeof body.stream === 'function') {\n writeIterable(\n abort,\n stream,\n body.stream(),\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n writeBlob(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n }\n } else if (util.isStream(body)) {\n writeStream(\n abort,\n client[kSocket],\n expectsPayload,\n stream,\n body,\n client,\n request,\n contentLength\n )\n } else if (util.isIterable(body)) {\n writeIterable(\n abort,\n stream,\n body,\n client,\n request,\n client[kSocket],\n contentLength,\n expectsPayload\n )\n } else {\n assert(false)\n }\n }\n}\n\nfunction writeBuffer (abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {\n try {\n if (body != null && util.isBuffer(body)) {\n assert(contentLength === body.byteLength, 'buffer body must have content length')\n h2stream.cork()\n h2stream.write(body)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(body)\n }\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n request.onRequestSent()\n client[kResume]()\n } catch (error) {\n abort(error)\n }\n}\n\nfunction writeStream (abort, socket, expectsPayload, h2stream, body, client, request, contentLength) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'stream body cannot be pipelined')\n\n // For HTTP/2, is enough to pipe the stream\n const pipe = pipeline(\n body,\n h2stream,\n (err) => {\n if (err) {\n util.destroy(pipe, err)\n abort(err)\n } else {\n util.removeAllListeners(pipe)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n }\n }\n )\n\n util.addListener(pipe, 'data', onPipeData)\n\n function onPipeData (chunk) {\n request.onBodySent(chunk)\n }\n}\n\nasync function writeBlob (abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {\n assert(contentLength === body.size, 'blob body must have content length')\n\n try {\n if (contentLength != null && contentLength !== body.size) {\n throw new RequestContentLengthMismatchError()\n }\n\n const buffer = Buffer.from(await body.arrayBuffer())\n\n h2stream.cork()\n h2stream.write(buffer)\n h2stream.uncork()\n h2stream.end()\n\n request.onBodySent(buffer)\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n }\n}\n\nasync function writeIterable (abort, h2stream, body, client, request, socket, contentLength, expectsPayload) {\n assert(contentLength !== 0 || client[kRunning] === 0, 'iterator body cannot be pipelined')\n\n let callback = null\n function onDrain () {\n if (callback) {\n const cb = callback\n callback = null\n cb()\n }\n }\n\n const waitForDrain = () => new Promise((resolve, reject) => {\n assert(callback === null)\n\n if (socket[kError]) {\n reject(socket[kError])\n } else {\n callback = resolve\n }\n })\n\n h2stream\n .on('close', onDrain)\n .on('drain', onDrain)\n\n try {\n // It's up to the user to somehow abort the async iterable.\n for await (const chunk of body) {\n if (socket[kError]) {\n throw socket[kError]\n }\n\n const res = h2stream.write(chunk)\n request.onBodySent(chunk)\n if (!res) {\n await waitForDrain()\n }\n }\n\n h2stream.end()\n\n request.onRequestSent()\n\n if (!expectsPayload) {\n socket[kReset] = true\n }\n\n client[kResume]()\n } catch (err) {\n abort(err)\n } finally {\n h2stream\n .off('close', onDrain)\n .off('drain', onDrain)\n }\n}\n\nmodule.exports = connectH2\n","// @ts-check\n\n'use strict'\n\nconst assert = require('node:assert')\nconst net = require('node:net')\nconst http = require('node:http')\nconst util = require('../core/util.js')\nconst { channels } = require('../core/diagnostics.js')\nconst Request = require('../core/request.js')\nconst DispatcherBase = require('./dispatcher-base')\nconst {\n InvalidArgumentError,\n InformationalError,\n ClientDestroyedError\n} = require('../core/errors.js')\nconst buildConnector = require('../core/connect.js')\nconst {\n kUrl,\n kServerName,\n kClient,\n kBusy,\n kConnect,\n kResuming,\n kRunning,\n kPending,\n kSize,\n kQueue,\n kConnected,\n kConnecting,\n kNeedDrain,\n kKeepAliveDefaultTimeout,\n kHostHeader,\n kPendingIdx,\n kRunningIdx,\n kError,\n kPipelining,\n kKeepAliveTimeoutValue,\n kMaxHeadersSize,\n kKeepAliveMaxTimeout,\n kKeepAliveTimeoutThreshold,\n kHeadersTimeout,\n kBodyTimeout,\n kStrictContentLength,\n kConnector,\n kMaxRedirections,\n kMaxRequests,\n kCounter,\n kClose,\n kDestroy,\n kDispatch,\n kInterceptors,\n kLocalAddress,\n kMaxResponseSize,\n kOnError,\n kHTTPContext,\n kMaxConcurrentStreams,\n kResume\n} = require('../core/symbols.js')\nconst connectH1 = require('./client-h1.js')\nconst connectH2 = require('./client-h2.js')\nlet deprecatedInterceptorWarned = false\n\nconst kClosedResolve = Symbol('kClosedResolve')\n\nconst noop = () => {}\n\nfunction getPipelining (client) {\n return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1\n}\n\n/**\n * @type {import('../../types/client.js').default}\n */\nclass Client extends DispatcherBase {\n /**\n *\n * @param {string|URL} url\n * @param {import('../../types/client.js').Client.Options} options\n */\n constructor (url, {\n interceptors,\n maxHeaderSize,\n headersTimeout,\n socketTimeout,\n requestTimeout,\n connectTimeout,\n bodyTimeout,\n idleTimeout,\n keepAlive,\n keepAliveTimeout,\n maxKeepAliveTimeout,\n keepAliveMaxTimeout,\n keepAliveTimeoutThreshold,\n socketPath,\n pipelining,\n tls,\n strictContentLength,\n maxCachedSessions,\n maxRedirections,\n connect,\n maxRequestsPerClient,\n localAddress,\n maxResponseSize,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n // h2\n maxConcurrentStreams,\n allowH2,\n webSocket\n } = {}) {\n super({ webSocket })\n\n if (keepAlive !== undefined) {\n throw new InvalidArgumentError('unsupported keepAlive, use pipelining=0 instead')\n }\n\n if (socketTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported socketTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (requestTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported requestTimeout, use headersTimeout & bodyTimeout instead')\n }\n\n if (idleTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported idleTimeout, use keepAliveTimeout instead')\n }\n\n if (maxKeepAliveTimeout !== undefined) {\n throw new InvalidArgumentError('unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead')\n }\n\n if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {\n throw new InvalidArgumentError('invalid maxHeaderSize')\n }\n\n if (socketPath != null && typeof socketPath !== 'string') {\n throw new InvalidArgumentError('invalid socketPath')\n }\n\n if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {\n throw new InvalidArgumentError('invalid connectTimeout')\n }\n\n if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveTimeout')\n }\n\n if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {\n throw new InvalidArgumentError('invalid keepAliveMaxTimeout')\n }\n\n if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {\n throw new InvalidArgumentError('invalid keepAliveTimeoutThreshold')\n }\n\n if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {\n throw new InvalidArgumentError('headersTimeout must be a positive integer or zero')\n }\n\n if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {\n throw new InvalidArgumentError('bodyTimeout must be a positive integer or zero')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {\n throw new InvalidArgumentError('maxRequestsPerClient must be a positive number')\n }\n\n if (localAddress != null && (typeof localAddress !== 'string' || net.isIP(localAddress) === 0)) {\n throw new InvalidArgumentError('localAddress must be valid string IP address')\n }\n\n if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {\n throw new InvalidArgumentError('maxResponseSize must be a positive number')\n }\n\n if (\n autoSelectFamilyAttemptTimeout != null &&\n (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)\n ) {\n throw new InvalidArgumentError('autoSelectFamilyAttemptTimeout must be a positive number')\n }\n\n // h2\n if (allowH2 != null && typeof allowH2 !== 'boolean') {\n throw new InvalidArgumentError('allowH2 must be a valid boolean value')\n }\n\n if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== 'number' || maxConcurrentStreams < 1)) {\n throw new InvalidArgumentError('maxConcurrentStreams must be a positive integer, greater than 0')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n if (interceptors?.Client && Array.isArray(interceptors.Client)) {\n this[kInterceptors] = interceptors.Client\n if (!deprecatedInterceptorWarned) {\n deprecatedInterceptorWarned = true\n process.emitWarning('Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.', {\n code: 'UNDICI-CLIENT-INTERCEPTOR-DEPRECATED'\n })\n }\n } else {\n this[kInterceptors] = [createRedirectInterceptor({ maxRedirections })]\n }\n\n this[kUrl] = util.parseOrigin(url)\n this[kConnector] = connect\n this[kPipelining] = pipelining != null ? pipelining : 1\n this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize\n this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout\n this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 600e3 : keepAliveMaxTimeout\n this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 2e3 : keepAliveTimeoutThreshold\n this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout]\n this[kServerName] = null\n this[kLocalAddress] = localAddress != null ? localAddress : null\n this[kResuming] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kNeedDrain] = 0 // 0, idle, 1, scheduled, 2 resuming\n this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ''}\\r\\n`\n this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 300e3\n this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 300e3\n this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength\n this[kMaxRedirections] = maxRedirections\n this[kMaxRequests] = maxRequestsPerClient\n this[kClosedResolve] = null\n this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1\n this[kMaxConcurrentStreams] = maxConcurrentStreams != null ? maxConcurrentStreams : 100 // Max peerConcurrentStreams for a Node h2 server\n this[kHTTPContext] = null\n\n // kQueue is built up of 3 sections separated by\n // the kRunningIdx and kPendingIdx indices.\n // | complete | running | pending |\n // ^ kRunningIdx ^ kPendingIdx ^ kQueue.length\n // kRunningIdx points to the first running element.\n // kPendingIdx points to the first pending element.\n // This implements a fast queue with an amortized\n // time of O(1).\n\n this[kQueue] = []\n this[kRunningIdx] = 0\n this[kPendingIdx] = 0\n\n this[kResume] = (sync) => resume(this, sync)\n this[kOnError] = (err) => onError(this, err)\n }\n\n get pipelining () {\n return this[kPipelining]\n }\n\n set pipelining (value) {\n this[kPipelining] = value\n this[kResume](true)\n }\n\n get [kPending] () {\n return this[kQueue].length - this[kPendingIdx]\n }\n\n get [kRunning] () {\n return this[kPendingIdx] - this[kRunningIdx]\n }\n\n get [kSize] () {\n return this[kQueue].length - this[kRunningIdx]\n }\n\n get [kConnected] () {\n return !!this[kHTTPContext] && !this[kConnecting] && !this[kHTTPContext].destroyed\n }\n\n get [kBusy] () {\n return Boolean(\n this[kHTTPContext]?.busy(null) ||\n (this[kSize] >= (getPipelining(this) || 1)) ||\n this[kPending] > 0\n )\n }\n\n /* istanbul ignore: only used for test */\n [kConnect] (cb) {\n connect(this)\n this.once('connect', cb)\n }\n\n [kDispatch] (opts, handler) {\n const origin = opts.origin || this[kUrl].origin\n const request = new Request(origin, opts, handler)\n\n this[kQueue].push(request)\n if (this[kResuming]) {\n // Do nothing.\n } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {\n // Wait a tick in case stream/iterator is ended in the same tick.\n this[kResuming] = 1\n queueMicrotask(() => resume(this))\n } else {\n this[kResume](true)\n }\n\n if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {\n this[kNeedDrain] = 2\n }\n\n return this[kNeedDrain] < 2\n }\n\n async [kClose] () {\n // TODO: for H2 we need to gracefully flush the remaining enqueued\n // request and close each stream.\n return new Promise((resolve) => {\n if (this[kSize]) {\n this[kClosedResolve] = resolve\n } else {\n resolve(null)\n }\n })\n }\n\n async [kDestroy] (err) {\n return new Promise((resolve) => {\n const requests = this[kQueue].splice(this[kPendingIdx])\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(this, request, err)\n }\n\n const callback = () => {\n if (this[kClosedResolve]) {\n // TODO (fix): Should we error here with ClientDestroyedError?\n this[kClosedResolve]()\n this[kClosedResolve] = null\n }\n resolve(null)\n }\n\n if (this[kHTTPContext]) {\n this[kHTTPContext].destroy(err, callback)\n this[kHTTPContext] = null\n } else {\n queueMicrotask(callback)\n }\n\n this[kResume]()\n })\n }\n}\n\nconst createRedirectInterceptor = require('../interceptor/redirect-interceptor.js')\n\nfunction onError (client, err) {\n if (\n client[kRunning] === 0 &&\n err.code !== 'UND_ERR_INFO' &&\n err.code !== 'UND_ERR_SOCKET'\n ) {\n // Error is not caused by running request and not a recoverable\n // socket error.\n\n assert(client[kPendingIdx] === client[kRunningIdx])\n\n const requests = client[kQueue].splice(client[kRunningIdx])\n\n for (let i = 0; i < requests.length; i++) {\n const request = requests[i]\n util.errorRequest(client, request, err)\n }\n assert(client[kSize] === 0)\n }\n}\n\n/**\n * @param {Client} client\n * @returns\n */\nasync function connect (client) {\n assert(!client[kConnecting])\n assert(!client[kHTTPContext])\n\n let { host, hostname, protocol, port } = client[kUrl]\n\n // Resolve ipv6\n if (hostname[0] === '[') {\n const idx = hostname.indexOf(']')\n\n assert(idx !== -1)\n const ip = hostname.substring(1, idx)\n\n assert(net.isIP(ip))\n hostname = ip\n }\n\n client[kConnecting] = true\n\n if (channels.beforeConnect.hasSubscribers) {\n channels.beforeConnect.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n version: client[kHTTPContext]?.version,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector]\n })\n }\n\n try {\n const socket = await new Promise((resolve, reject) => {\n client[kConnector]({\n host,\n hostname,\n protocol,\n port,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n }, (err, socket) => {\n if (err) {\n reject(err)\n } else {\n resolve(socket)\n }\n })\n })\n\n if (client.destroyed) {\n util.destroy(socket.on('error', noop), new ClientDestroyedError())\n return\n }\n\n assert(socket)\n\n try {\n client[kHTTPContext] = socket.alpnProtocol === 'h2'\n ? await connectH2(client, socket)\n : await connectH1(client, socket)\n } catch (err) {\n socket.destroy().on('error', noop)\n throw err\n }\n\n client[kConnecting] = false\n\n socket[kCounter] = 0\n socket[kMaxRequests] = client[kMaxRequests]\n socket[kClient] = client\n socket[kError] = null\n\n if (channels.connected.hasSubscribers) {\n channels.connected.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n version: client[kHTTPContext]?.version,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n socket\n })\n }\n client.emit('connect', client[kUrl], [client])\n } catch (err) {\n if (client.destroyed) {\n return\n }\n\n client[kConnecting] = false\n\n if (channels.connectError.hasSubscribers) {\n channels.connectError.publish({\n connectParams: {\n host,\n hostname,\n protocol,\n port,\n version: client[kHTTPContext]?.version,\n servername: client[kServerName],\n localAddress: client[kLocalAddress]\n },\n connector: client[kConnector],\n error: err\n })\n }\n\n if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n assert(client[kRunning] === 0)\n while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {\n const request = client[kQueue][client[kPendingIdx]++]\n util.errorRequest(client, request, err)\n }\n } else {\n onError(client, err)\n }\n\n client.emit('connectionError', client[kUrl], [client], err)\n }\n\n client[kResume]()\n}\n\nfunction emitDrain (client) {\n client[kNeedDrain] = 0\n client.emit('drain', client[kUrl], [client])\n}\n\nfunction resume (client, sync) {\n if (client[kResuming] === 2) {\n return\n }\n\n client[kResuming] = 2\n\n _resume(client, sync)\n client[kResuming] = 0\n\n if (client[kRunningIdx] > 256) {\n client[kQueue].splice(0, client[kRunningIdx])\n client[kPendingIdx] -= client[kRunningIdx]\n client[kRunningIdx] = 0\n }\n}\n\nfunction _resume (client, sync) {\n while (true) {\n if (client.destroyed) {\n assert(client[kPending] === 0)\n return\n }\n\n if (client[kClosedResolve] && !client[kSize]) {\n client[kClosedResolve]()\n client[kClosedResolve] = null\n return\n }\n\n if (client[kHTTPContext]) {\n client[kHTTPContext].resume()\n }\n\n if (client[kBusy]) {\n client[kNeedDrain] = 2\n } else if (client[kNeedDrain] === 2) {\n if (sync) {\n client[kNeedDrain] = 1\n queueMicrotask(() => emitDrain(client))\n } else {\n emitDrain(client)\n }\n continue\n }\n\n if (client[kPending] === 0) {\n return\n }\n\n if (client[kRunning] >= (getPipelining(client) || 1)) {\n return\n }\n\n const request = client[kQueue][client[kPendingIdx]]\n\n if (client[kUrl].protocol === 'https:' && client[kServerName] !== request.servername) {\n if (client[kRunning] > 0) {\n return\n }\n\n client[kServerName] = request.servername\n client[kHTTPContext]?.destroy(new InformationalError('servername changed'), () => {\n client[kHTTPContext] = null\n resume(client)\n })\n }\n\n if (client[kConnecting]) {\n return\n }\n\n if (!client[kHTTPContext]) {\n connect(client)\n return\n }\n\n if (client[kHTTPContext].destroyed) {\n return\n }\n\n if (client[kHTTPContext].busy(request)) {\n return\n }\n\n if (!request.aborted && client[kHTTPContext].write(request)) {\n client[kPendingIdx]++\n } else {\n client[kQueue].splice(client[kPendingIdx], 1)\n }\n }\n}\n\nmodule.exports = Client\n","'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst {\n ClientDestroyedError,\n ClientClosedError,\n InvalidArgumentError\n} = require('../core/errors')\nconst { kDestroy, kClose, kClosed, kDestroyed, kDispatch, kInterceptors } = require('../core/symbols')\n\nconst kOnDestroyed = Symbol('onDestroyed')\nconst kOnClosed = Symbol('onClosed')\nconst kInterceptedDispatch = Symbol('Intercepted Dispatch')\nconst kWebSocketOptions = Symbol('webSocketOptions')\n\nclass DispatcherBase extends Dispatcher {\n constructor (opts) {\n super()\n\n this[kDestroyed] = false\n this[kOnDestroyed] = null\n this[kClosed] = false\n this[kOnClosed] = []\n this[kWebSocketOptions] = opts?.webSocket ?? {}\n }\n\n get webSocketOptions () {\n return {\n maxFragments: this[kWebSocketOptions].maxFragments ?? 131072,\n maxPayloadSize: this[kWebSocketOptions].maxPayloadSize ?? 128 * 1024 * 1024\n }\n }\n\n get destroyed () {\n return this[kDestroyed]\n }\n\n get closed () {\n return this[kClosed]\n }\n\n get interceptors () {\n return this[kInterceptors]\n }\n\n set interceptors (newInterceptors) {\n if (newInterceptors) {\n for (let i = newInterceptors.length - 1; i >= 0; i--) {\n const interceptor = this[kInterceptors][i]\n if (typeof interceptor !== 'function') {\n throw new InvalidArgumentError('interceptor must be an function')\n }\n }\n }\n\n this[kInterceptors] = newInterceptors\n }\n\n close (callback) {\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.close((err, data) => {\n return err ? reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n queueMicrotask(() => callback(new ClientDestroyedError(), null))\n return\n }\n\n if (this[kClosed]) {\n if (this[kOnClosed]) {\n this[kOnClosed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n this[kClosed] = true\n this[kOnClosed].push(callback)\n\n const onClosed = () => {\n const callbacks = this[kOnClosed]\n this[kOnClosed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kClose]()\n .then(() => this.destroy())\n .then(() => {\n queueMicrotask(onClosed)\n })\n }\n\n destroy (err, callback) {\n if (typeof err === 'function') {\n callback = err\n err = null\n }\n\n if (callback === undefined) {\n return new Promise((resolve, reject) => {\n this.destroy(err, (err, data) => {\n return err ? /* istanbul ignore next: should never error */ reject(err) : resolve(data)\n })\n })\n }\n\n if (typeof callback !== 'function') {\n throw new InvalidArgumentError('invalid callback')\n }\n\n if (this[kDestroyed]) {\n if (this[kOnDestroyed]) {\n this[kOnDestroyed].push(callback)\n } else {\n queueMicrotask(() => callback(null, null))\n }\n return\n }\n\n if (!err) {\n err = new ClientDestroyedError()\n }\n\n this[kDestroyed] = true\n this[kOnDestroyed] = this[kOnDestroyed] || []\n this[kOnDestroyed].push(callback)\n\n const onDestroyed = () => {\n const callbacks = this[kOnDestroyed]\n this[kOnDestroyed] = null\n for (let i = 0; i < callbacks.length; i++) {\n callbacks[i](null, null)\n }\n }\n\n // Should not error.\n this[kDestroy](err).then(() => {\n queueMicrotask(onDestroyed)\n })\n }\n\n [kInterceptedDispatch] (opts, handler) {\n if (!this[kInterceptors] || this[kInterceptors].length === 0) {\n this[kInterceptedDispatch] = this[kDispatch]\n return this[kDispatch](opts, handler)\n }\n\n let dispatch = this[kDispatch].bind(this)\n for (let i = this[kInterceptors].length - 1; i >= 0; i--) {\n dispatch = this[kInterceptors][i](dispatch)\n }\n this[kInterceptedDispatch] = dispatch\n return dispatch(opts, handler)\n }\n\n dispatch (opts, handler) {\n if (!handler || typeof handler !== 'object') {\n throw new InvalidArgumentError('handler must be an object')\n }\n\n try {\n if (!opts || typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object.')\n }\n\n if (this[kDestroyed] || this[kOnDestroyed]) {\n throw new ClientDestroyedError()\n }\n\n if (this[kClosed]) {\n throw new ClientClosedError()\n }\n\n return this[kInterceptedDispatch](opts, handler)\n } catch (err) {\n if (typeof handler.onError !== 'function') {\n throw new InvalidArgumentError('invalid onError method')\n }\n\n handler.onError(err)\n\n return false\n }\n }\n}\n\nmodule.exports = DispatcherBase\n","'use strict'\nconst EventEmitter = require('node:events')\n\nclass Dispatcher extends EventEmitter {\n dispatch () {\n throw new Error('not implemented')\n }\n\n close () {\n throw new Error('not implemented')\n }\n\n destroy () {\n throw new Error('not implemented')\n }\n\n compose (...args) {\n // So we handle [interceptor1, interceptor2] or interceptor1, interceptor2, ...\n const interceptors = Array.isArray(args[0]) ? args[0] : args\n let dispatch = this.dispatch.bind(this)\n\n for (const interceptor of interceptors) {\n if (interceptor == null) {\n continue\n }\n\n if (typeof interceptor !== 'function') {\n throw new TypeError(`invalid interceptor, expected function received ${typeof interceptor}`)\n }\n\n dispatch = interceptor(dispatch)\n\n if (dispatch == null || typeof dispatch !== 'function' || dispatch.length !== 2) {\n throw new TypeError('invalid interceptor')\n }\n }\n\n return new ComposedDispatcher(this, dispatch)\n }\n}\n\nclass ComposedDispatcher extends Dispatcher {\n #dispatcher = null\n #dispatch = null\n\n constructor (dispatcher, dispatch) {\n super()\n this.#dispatcher = dispatcher\n this.#dispatch = dispatch\n }\n\n dispatch (...args) {\n this.#dispatch(...args)\n }\n\n close (...args) {\n return this.#dispatcher.close(...args)\n }\n\n destroy (...args) {\n return this.#dispatcher.destroy(...args)\n }\n}\n\nmodule.exports = Dispatcher\n","'use strict'\n\nconst DispatcherBase = require('./dispatcher-base')\nconst { kClose, kDestroy, kClosed, kDestroyed, kDispatch, kNoProxyAgent, kHttpProxyAgent, kHttpsProxyAgent } = require('../core/symbols')\nconst ProxyAgent = require('./proxy-agent')\nconst Agent = require('./agent')\n\nconst DEFAULT_PORTS = {\n 'http:': 80,\n 'https:': 443\n}\n\nlet experimentalWarned = false\n\nclass EnvHttpProxyAgent extends DispatcherBase {\n #noProxyValue = null\n #noProxyEntries = null\n #opts = null\n\n constructor (opts = {}) {\n super()\n this.#opts = opts\n\n if (!experimentalWarned) {\n experimentalWarned = true\n process.emitWarning('EnvHttpProxyAgent is experimental, expect them to change at any time.', {\n code: 'UNDICI-EHPA'\n })\n }\n\n const { httpProxy, httpsProxy, noProxy, ...agentOpts } = opts\n\n this[kNoProxyAgent] = new Agent(agentOpts)\n\n const HTTP_PROXY = httpProxy ?? process.env.http_proxy ?? process.env.HTTP_PROXY\n if (HTTP_PROXY) {\n this[kHttpProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTP_PROXY })\n } else {\n this[kHttpProxyAgent] = this[kNoProxyAgent]\n }\n\n const HTTPS_PROXY = httpsProxy ?? process.env.https_proxy ?? process.env.HTTPS_PROXY\n if (HTTPS_PROXY) {\n this[kHttpsProxyAgent] = new ProxyAgent({ ...agentOpts, uri: HTTPS_PROXY })\n } else {\n this[kHttpsProxyAgent] = this[kHttpProxyAgent]\n }\n\n this.#parseNoProxy()\n }\n\n [kDispatch] (opts, handler) {\n const url = new URL(opts.origin)\n const agent = this.#getProxyAgentForUrl(url)\n return agent.dispatch(opts, handler)\n }\n\n async [kClose] () {\n await this[kNoProxyAgent].close()\n if (!this[kHttpProxyAgent][kClosed]) {\n await this[kHttpProxyAgent].close()\n }\n if (!this[kHttpsProxyAgent][kClosed]) {\n await this[kHttpsProxyAgent].close()\n }\n }\n\n async [kDestroy] (err) {\n await this[kNoProxyAgent].destroy(err)\n if (!this[kHttpProxyAgent][kDestroyed]) {\n await this[kHttpProxyAgent].destroy(err)\n }\n if (!this[kHttpsProxyAgent][kDestroyed]) {\n await this[kHttpsProxyAgent].destroy(err)\n }\n }\n\n #getProxyAgentForUrl (url) {\n let { protocol, host: hostname, port } = url\n\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '').toLowerCase()\n port = Number.parseInt(port, 10) || DEFAULT_PORTS[protocol] || 0\n if (!this.#shouldProxy(hostname, port)) {\n return this[kNoProxyAgent]\n }\n if (protocol === 'https:') {\n return this[kHttpsProxyAgent]\n }\n return this[kHttpProxyAgent]\n }\n\n #shouldProxy (hostname, port) {\n if (this.#noProxyChanged) {\n this.#parseNoProxy()\n }\n\n if (this.#noProxyEntries.length === 0) {\n return true // Always proxy if NO_PROXY is not set or empty.\n }\n if (this.#noProxyValue === '*') {\n return false // Never proxy if wildcard is set.\n }\n\n for (let i = 0; i < this.#noProxyEntries.length; i++) {\n const entry = this.#noProxyEntries[i]\n if (entry.port && entry.port !== port) {\n continue // Skip if ports don't match.\n }\n if (!/^[.*]/.test(entry.hostname)) {\n // No wildcards, so don't proxy only if there is not an exact match.\n if (hostname === entry.hostname) {\n return false\n }\n } else {\n // Don't proxy if the hostname ends with the no_proxy host.\n if (hostname.endsWith(entry.hostname.replace(/^\\*/, ''))) {\n return false\n }\n }\n }\n\n return true\n }\n\n #parseNoProxy () {\n const noProxyValue = this.#opts.noProxy ?? this.#noProxyEnv\n const noProxySplit = noProxyValue.split(/[,\\s]/)\n const noProxyEntries = []\n\n for (let i = 0; i < noProxySplit.length; i++) {\n const entry = noProxySplit[i]\n if (!entry) {\n continue\n }\n const parsed = entry.match(/^(.+):(\\d+)$/)\n noProxyEntries.push({\n hostname: (parsed ? parsed[1] : entry).toLowerCase(),\n port: parsed ? Number.parseInt(parsed[2], 10) : 0\n })\n }\n\n this.#noProxyValue = noProxyValue\n this.#noProxyEntries = noProxyEntries\n }\n\n get #noProxyChanged () {\n if (this.#opts.noProxy !== undefined) {\n return false\n }\n return this.#noProxyValue !== this.#noProxyEnv\n }\n\n get #noProxyEnv () {\n return process.env.no_proxy ?? process.env.NO_PROXY ?? ''\n }\n}\n\nmodule.exports = EnvHttpProxyAgent\n","/* eslint-disable */\n\n'use strict'\n\n// Extracted from node/lib/internal/fixed_queue.js\n\n// Currently optimal queue size, tested on V8 6.0 - 6.6. Must be power of two.\nconst kSize = 2048;\nconst kMask = kSize - 1;\n\n// The FixedQueue is implemented as a singly-linked list of fixed-size\n// circular buffers. It looks something like this:\n//\n// head tail\n// | |\n// v v\n// +-----------+ <-----\\ +-----------+ <------\\ +-----------+\n// | [null] | \\----- | next | \\------- | next |\n// +-----------+ +-----------+ +-----------+\n// | item | <-- bottom | item | <-- bottom | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | | [empty] |\n// | item | | item | bottom --> | item |\n// | item | | item | | item |\n// | ... | | ... | | ... |\n// | item | | item | | item |\n// | item | | item | | item |\n// | [empty] | <-- top | item | | item |\n// | [empty] | | item | | item |\n// | [empty] | | [empty] | <-- top top --> | [empty] |\n// +-----------+ +-----------+ +-----------+\n//\n// Or, if there is only one circular buffer, it looks something\n// like either of these:\n//\n// head tail head tail\n// | | | |\n// v v v v\n// +-----------+ +-----------+\n// | [null] | | [null] |\n// +-----------+ +-----------+\n// | [empty] | | item |\n// | [empty] | | item |\n// | item | <-- bottom top --> | [empty] |\n// | item | | [empty] |\n// | [empty] | <-- top bottom --> | item |\n// | [empty] | | item |\n// +-----------+ +-----------+\n//\n// Adding a value means moving `top` forward by one, removing means\n// moving `bottom` forward by one. After reaching the end, the queue\n// wraps around.\n//\n// When `top === bottom` the current queue is empty and when\n// `top + 1 === bottom` it's full. This wastes a single space of storage\n// but allows much quicker checks.\n\nclass FixedCircularBuffer {\n constructor() {\n this.bottom = 0;\n this.top = 0;\n this.list = new Array(kSize);\n this.next = null;\n }\n\n isEmpty() {\n return this.top === this.bottom;\n }\n\n isFull() {\n return ((this.top + 1) & kMask) === this.bottom;\n }\n\n push(data) {\n this.list[this.top] = data;\n this.top = (this.top + 1) & kMask;\n }\n\n shift() {\n const nextItem = this.list[this.bottom];\n if (nextItem === undefined)\n return null;\n this.list[this.bottom] = undefined;\n this.bottom = (this.bottom + 1) & kMask;\n return nextItem;\n }\n}\n\nmodule.exports = class FixedQueue {\n constructor() {\n this.head = this.tail = new FixedCircularBuffer();\n }\n\n isEmpty() {\n return this.head.isEmpty();\n }\n\n push(data) {\n if (this.head.isFull()) {\n // Head is full: Creates a new queue, sets the old queue's `.next` to it,\n // and sets it as the new main queue.\n this.head = this.head.next = new FixedCircularBuffer();\n }\n this.head.push(data);\n }\n\n shift() {\n const tail = this.tail;\n const next = tail.shift();\n if (tail.isEmpty() && tail.next !== null) {\n // If there is another queue, it forms the new tail.\n this.tail = tail.next;\n }\n return next;\n }\n};\n","'use strict'\n\nconst DispatcherBase = require('./dispatcher-base')\nconst FixedQueue = require('./fixed-queue')\nconst { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require('../core/symbols')\nconst PoolStats = require('./pool-stats')\n\nconst kClients = Symbol('clients')\nconst kNeedDrain = Symbol('needDrain')\nconst kQueue = Symbol('queue')\nconst kClosedResolve = Symbol('closed resolve')\nconst kOnDrain = Symbol('onDrain')\nconst kOnConnect = Symbol('onConnect')\nconst kOnDisconnect = Symbol('onDisconnect')\nconst kOnConnectionError = Symbol('onConnectionError')\nconst kGetDispatcher = Symbol('get dispatcher')\nconst kAddClient = Symbol('add client')\nconst kRemoveClient = Symbol('remove client')\nconst kStats = Symbol('stats')\n\nclass PoolBase extends DispatcherBase {\n constructor (opts) {\n super(opts)\n\n this[kQueue] = new FixedQueue()\n this[kClients] = []\n this[kQueued] = 0\n\n const pool = this\n\n this[kOnDrain] = function onDrain (origin, targets) {\n const queue = pool[kQueue]\n\n let needDrain = false\n\n while (!needDrain) {\n const item = queue.shift()\n if (!item) {\n break\n }\n pool[kQueued]--\n needDrain = !this.dispatch(item.opts, item.handler)\n }\n\n this[kNeedDrain] = needDrain\n\n if (!this[kNeedDrain] && pool[kNeedDrain]) {\n pool[kNeedDrain] = false\n pool.emit('drain', origin, [pool, ...targets])\n }\n\n if (pool[kClosedResolve] && queue.isEmpty()) {\n Promise\n .all(pool[kClients].map(c => c.close()))\n .then(pool[kClosedResolve])\n }\n }\n\n this[kOnConnect] = (origin, targets) => {\n pool.emit('connect', origin, [pool, ...targets])\n }\n\n this[kOnDisconnect] = (origin, targets, err) => {\n pool.emit('disconnect', origin, [pool, ...targets], err)\n }\n\n this[kOnConnectionError] = (origin, targets, err) => {\n pool.emit('connectionError', origin, [pool, ...targets], err)\n }\n\n this[kStats] = new PoolStats(this)\n }\n\n get [kBusy] () {\n return this[kNeedDrain]\n }\n\n get [kConnected] () {\n return this[kClients].filter(client => client[kConnected]).length\n }\n\n get [kFree] () {\n return this[kClients].filter(client => client[kConnected] && !client[kNeedDrain]).length\n }\n\n get [kPending] () {\n let ret = this[kQueued]\n for (const { [kPending]: pending } of this[kClients]) {\n ret += pending\n }\n return ret\n }\n\n get [kRunning] () {\n let ret = 0\n for (const { [kRunning]: running } of this[kClients]) {\n ret += running\n }\n return ret\n }\n\n get [kSize] () {\n let ret = this[kQueued]\n for (const { [kSize]: size } of this[kClients]) {\n ret += size\n }\n return ret\n }\n\n get stats () {\n return this[kStats]\n }\n\n async [kClose] () {\n if (this[kQueue].isEmpty()) {\n await Promise.all(this[kClients].map(c => c.close()))\n } else {\n await new Promise((resolve) => {\n this[kClosedResolve] = resolve\n })\n }\n }\n\n async [kDestroy] (err) {\n while (true) {\n const item = this[kQueue].shift()\n if (!item) {\n break\n }\n item.handler.onError(err)\n }\n\n await Promise.all(this[kClients].map(c => c.destroy(err)))\n }\n\n [kDispatch] (opts, handler) {\n const dispatcher = this[kGetDispatcher]()\n\n if (!dispatcher) {\n this[kNeedDrain] = true\n this[kQueue].push({ opts, handler })\n this[kQueued]++\n } else if (!dispatcher.dispatch(opts, handler)) {\n dispatcher[kNeedDrain] = true\n this[kNeedDrain] = !this[kGetDispatcher]()\n }\n\n return !this[kNeedDrain]\n }\n\n [kAddClient] (client) {\n client\n .on('drain', this[kOnDrain])\n .on('connect', this[kOnConnect])\n .on('disconnect', this[kOnDisconnect])\n .on('connectionError', this[kOnConnectionError])\n\n this[kClients].push(client)\n\n if (this[kNeedDrain]) {\n queueMicrotask(() => {\n if (this[kNeedDrain]) {\n this[kOnDrain](client[kUrl], [this, client])\n }\n })\n }\n\n return this\n }\n\n [kRemoveClient] (client) {\n client.close(() => {\n const idx = this[kClients].indexOf(client)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n })\n\n this[kNeedDrain] = this[kClients].some(dispatcher => (\n !dispatcher[kNeedDrain] &&\n dispatcher.closed !== true &&\n dispatcher.destroyed !== true\n ))\n }\n}\n\nmodule.exports = {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kRemoveClient,\n kGetDispatcher\n}\n","const { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require('../core/symbols')\nconst kPool = Symbol('pool')\n\nclass PoolStats {\n constructor (pool) {\n this[kPool] = pool\n }\n\n get connected () {\n return this[kPool][kConnected]\n }\n\n get free () {\n return this[kPool][kFree]\n }\n\n get pending () {\n return this[kPool][kPending]\n }\n\n get queued () {\n return this[kPool][kQueued]\n }\n\n get running () {\n return this[kPool][kRunning]\n }\n\n get size () {\n return this[kPool][kSize]\n }\n}\n\nmodule.exports = PoolStats\n","'use strict'\n\nconst {\n PoolBase,\n kClients,\n kNeedDrain,\n kAddClient,\n kGetDispatcher\n} = require('./pool-base')\nconst Client = require('./client')\nconst {\n InvalidArgumentError\n} = require('../core/errors')\nconst util = require('../core/util')\nconst { kUrl, kInterceptors } = require('../core/symbols')\nconst buildConnector = require('../core/connect')\n\nconst kOptions = Symbol('options')\nconst kConnections = Symbol('connections')\nconst kFactory = Symbol('factory')\n\nfunction defaultFactory (origin, opts) {\n return new Client(origin, opts)\n}\n\nclass Pool extends PoolBase {\n constructor (origin, {\n connections,\n factory = defaultFactory,\n connect,\n connectTimeout,\n tls,\n maxCachedSessions,\n socketPath,\n autoSelectFamily,\n autoSelectFamilyAttemptTimeout,\n allowH2,\n ...options\n } = {}) {\n if (connections != null && (!Number.isFinite(connections) || connections < 0)) {\n throw new InvalidArgumentError('invalid connections')\n }\n\n if (typeof factory !== 'function') {\n throw new InvalidArgumentError('factory must be a function.')\n }\n\n if (connect != null && typeof connect !== 'function' && typeof connect !== 'object') {\n throw new InvalidArgumentError('connect must be a function or an object')\n }\n\n if (typeof connect !== 'function') {\n connect = buildConnector({\n ...tls,\n maxCachedSessions,\n allowH2,\n socketPath,\n timeout: connectTimeout,\n ...(autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : undefined),\n ...connect\n })\n }\n\n super(options)\n\n this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool)\n ? options.interceptors.Pool\n : []\n this[kConnections] = connections || null\n this[kUrl] = util.parseOrigin(origin)\n this[kOptions] = { ...util.deepClone(options), connect, allowH2 }\n this[kOptions].interceptors = options.interceptors\n ? { ...options.interceptors }\n : undefined\n this[kFactory] = factory\n\n this.on('connectionError', (origin, targets, error) => {\n // If a connection error occurs, we remove the client from the pool,\n // and emit a connectionError event. They will not be re-used.\n // Fixes https://github.com/nodejs/undici/issues/3895\n for (const target of targets) {\n // Do not use kRemoveClient here, as it will close the client,\n // but the client cannot be closed in this state.\n const idx = this[kClients].indexOf(target)\n if (idx !== -1) {\n this[kClients].splice(idx, 1)\n }\n }\n })\n }\n\n [kGetDispatcher] () {\n for (const client of this[kClients]) {\n if (!client[kNeedDrain]) {\n return client\n }\n }\n\n if (!this[kConnections] || this[kClients].length < this[kConnections]) {\n const dispatcher = this[kFactory](this[kUrl], this[kOptions])\n this[kAddClient](dispatcher)\n return dispatcher\n }\n }\n}\n\nmodule.exports = Pool\n","'use strict'\n\nconst { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require('../core/symbols')\nconst { URL } = require('node:url')\nconst Agent = require('./agent')\nconst Pool = require('./pool')\nconst DispatcherBase = require('./dispatcher-base')\nconst { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require('../core/errors')\nconst buildConnector = require('../core/connect')\nconst Client = require('./client')\n\nconst kAgent = Symbol('proxy agent')\nconst kClient = Symbol('proxy client')\nconst kProxyHeaders = Symbol('proxy headers')\nconst kRequestTls = Symbol('request tls settings')\nconst kProxyTls = Symbol('proxy tls settings')\nconst kConnectEndpoint = Symbol('connect endpoint function')\nconst kTunnelProxy = Symbol('tunnel proxy')\n\nfunction defaultProtocolPort (protocol) {\n return protocol === 'https:' ? 443 : 80\n}\n\nfunction defaultFactory (origin, opts) {\n return new Pool(origin, opts)\n}\n\nconst noop = () => {}\n\nfunction defaultAgentFactory (origin, opts) {\n if (opts.connections === 1) {\n return new Client(origin, opts)\n }\n return new Pool(origin, opts)\n}\n\nclass Http1ProxyWrapper extends DispatcherBase {\n #client\n\n constructor (proxyUrl, { headers = {}, connect, factory }) {\n super()\n if (!proxyUrl) {\n throw new InvalidArgumentError('Proxy URL is mandatory')\n }\n\n this[kProxyHeaders] = headers\n if (factory) {\n this.#client = factory(proxyUrl, { connect })\n } else {\n this.#client = new Client(proxyUrl, { connect })\n }\n }\n\n [kDispatch] (opts, handler) {\n const onHeaders = handler.onHeaders\n handler.onHeaders = function (statusCode, data, resume) {\n if (statusCode === 407) {\n if (typeof handler.onError === 'function') {\n handler.onError(new InvalidArgumentError('Proxy Authentication Required (407)'))\n }\n return\n }\n if (onHeaders) onHeaders.call(this, statusCode, data, resume)\n }\n\n // Rewrite request as an HTTP1 Proxy request, without tunneling.\n const {\n origin,\n path = '/',\n headers = {}\n } = opts\n\n opts.path = origin + path\n\n if (!('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(origin)\n headers.host = host\n }\n opts.headers = { ...this[kProxyHeaders], ...headers }\n\n return this.#client[kDispatch](opts, handler)\n }\n\n async [kClose] () {\n return this.#client.close()\n }\n\n async [kDestroy] (err) {\n return this.#client.destroy(err)\n }\n}\n\nclass ProxyAgent extends DispatcherBase {\n constructor (opts) {\n super()\n\n if (!opts || (typeof opts === 'object' && !(opts instanceof URL) && !opts.uri)) {\n throw new InvalidArgumentError('Proxy uri is mandatory')\n }\n\n const { clientFactory = defaultFactory } = opts\n if (typeof clientFactory !== 'function') {\n throw new InvalidArgumentError('Proxy opts.clientFactory must be a function.')\n }\n\n const { proxyTunnel = true } = opts\n\n const url = this.#getUrl(opts)\n const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url\n\n this[kProxy] = { uri: href, protocol }\n this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent)\n ? opts.interceptors.ProxyAgent\n : []\n this[kRequestTls] = opts.requestTls\n this[kProxyTls] = opts.proxyTls\n this[kProxyHeaders] = opts.headers || {}\n this[kTunnelProxy] = proxyTunnel\n\n if (opts.auth && opts.token) {\n throw new InvalidArgumentError('opts.auth cannot be used in combination with opts.token')\n } else if (opts.auth) {\n /* @deprecated in favour of opts.token */\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${opts.auth}`\n } else if (opts.token) {\n this[kProxyHeaders]['proxy-authorization'] = opts.token\n } else if (username && password) {\n this[kProxyHeaders]['proxy-authorization'] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString('base64')}`\n }\n\n const connect = buildConnector({ ...opts.proxyTls })\n this[kConnectEndpoint] = buildConnector({ ...opts.requestTls })\n\n const agentFactory = opts.factory || defaultAgentFactory\n const factory = (origin, options) => {\n const { protocol } = new URL(origin)\n if (!this[kTunnelProxy] && protocol === 'http:' && this[kProxy].protocol === 'http:') {\n return new Http1ProxyWrapper(this[kProxy].uri, {\n headers: this[kProxyHeaders],\n connect,\n factory: agentFactory\n })\n }\n return agentFactory(origin, options)\n }\n this[kClient] = clientFactory(url, { connect })\n this[kAgent] = new Agent({\n ...opts,\n factory,\n connect: async (opts, callback) => {\n let requestedPath = opts.host\n if (!opts.port) {\n requestedPath += `:${defaultProtocolPort(opts.protocol)}`\n }\n try {\n const { socket, statusCode } = await this[kClient].connect({\n origin,\n port,\n path: requestedPath,\n signal: opts.signal,\n headers: {\n ...this[kProxyHeaders],\n host: opts.host\n },\n servername: this[kProxyTls]?.servername || proxyHostname\n })\n if (statusCode !== 200) {\n socket.on('error', noop).destroy()\n callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`))\n }\n if (opts.protocol !== 'https:') {\n callback(null, socket)\n return\n }\n let servername\n if (this[kRequestTls]) {\n servername = this[kRequestTls].servername\n } else {\n servername = opts.servername\n }\n this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)\n } catch (err) {\n if (err.code === 'ERR_TLS_CERT_ALTNAME_INVALID') {\n // Throw a custom error to avoid loop in client.js#connect\n callback(new SecureProxyConnectionError(err))\n } else {\n callback(err)\n }\n }\n }\n })\n }\n\n dispatch (opts, handler) {\n const headers = buildHeaders(opts.headers)\n throwIfProxyAuthIsSent(headers)\n\n if (headers && !('host' in headers) && !('Host' in headers)) {\n const { host } = new URL(opts.origin)\n headers.host = host\n }\n\n return this[kAgent].dispatch(\n {\n ...opts,\n headers\n },\n handler\n )\n }\n\n /**\n * @param {import('../types/proxy-agent').ProxyAgent.Options | string | URL} opts\n * @returns {URL}\n */\n #getUrl (opts) {\n if (typeof opts === 'string') {\n return new URL(opts)\n } else if (opts instanceof URL) {\n return opts\n } else {\n return new URL(opts.uri)\n }\n }\n\n async [kClose] () {\n await this[kAgent].close()\n await this[kClient].close()\n }\n\n async [kDestroy] () {\n await this[kAgent].destroy()\n await this[kClient].destroy()\n }\n}\n\n/**\n * @param {string[] | Record} headers\n * @returns {Record}\n */\nfunction buildHeaders (headers) {\n // When using undici.fetch, the headers list is stored\n // as an array.\n if (Array.isArray(headers)) {\n /** @type {Record} */\n const headersPair = {}\n\n for (let i = 0; i < headers.length; i += 2) {\n headersPair[headers[i]] = headers[i + 1]\n }\n\n return headersPair\n }\n\n return headers\n}\n\n/**\n * @param {Record} headers\n *\n * Previous versions of ProxyAgent suggests the Proxy-Authorization in request headers\n * Nevertheless, it was changed and to avoid a security vulnerability by end users\n * this check was created.\n * It should be removed in the next major version for performance reasons\n */\nfunction throwIfProxyAuthIsSent (headers) {\n const existProxyAuth = headers && Object.keys(headers)\n .find((key) => key.toLowerCase() === 'proxy-authorization')\n if (existProxyAuth) {\n throw new InvalidArgumentError('Proxy-Authorization should be sent in ProxyAgent constructor')\n }\n}\n\nmodule.exports = ProxyAgent\n","'use strict'\n\nconst Dispatcher = require('./dispatcher')\nconst RetryHandler = require('../handler/retry-handler')\n\nclass RetryAgent extends Dispatcher {\n #agent = null\n #options = null\n constructor (agent, options = {}) {\n super(options)\n this.#agent = agent\n this.#options = options\n }\n\n dispatch (opts, handler) {\n const retry = new RetryHandler({\n ...opts,\n retryOptions: this.#options\n }, {\n dispatch: this.#agent.dispatch.bind(this.#agent),\n handler\n })\n return this.#agent.dispatch(opts, retry)\n }\n\n close () {\n return this.#agent.close()\n }\n\n destroy () {\n return this.#agent.destroy()\n }\n}\n\nmodule.exports = RetryAgent\n","'use strict'\n\n// We include a version number for the Dispatcher API. In case of breaking changes,\n// this version number must be increased to avoid conflicts.\nconst globalDispatcher = Symbol.for('undici.globalDispatcher.1')\nconst { InvalidArgumentError } = require('./core/errors')\nconst Agent = require('./dispatcher/agent')\n\nif (getGlobalDispatcher() === undefined) {\n setGlobalDispatcher(new Agent())\n}\n\nfunction setGlobalDispatcher (agent) {\n if (!agent || typeof agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument agent must implement Agent')\n }\n Object.defineProperty(globalThis, globalDispatcher, {\n value: agent,\n writable: true,\n enumerable: false,\n configurable: false\n })\n}\n\nfunction getGlobalDispatcher () {\n return globalThis[globalDispatcher]\n}\n\nmodule.exports = {\n setGlobalDispatcher,\n getGlobalDispatcher\n}\n","'use strict'\n\nmodule.exports = class DecoratorHandler {\n #handler\n\n constructor (handler) {\n if (typeof handler !== 'object' || handler === null) {\n throw new TypeError('handler must be an object')\n }\n this.#handler = handler\n }\n\n onConnect (...args) {\n return this.#handler.onConnect?.(...args)\n }\n\n onError (...args) {\n return this.#handler.onError?.(...args)\n }\n\n onUpgrade (...args) {\n return this.#handler.onUpgrade?.(...args)\n }\n\n onResponseStarted (...args) {\n return this.#handler.onResponseStarted?.(...args)\n }\n\n onHeaders (...args) {\n return this.#handler.onHeaders?.(...args)\n }\n\n onData (...args) {\n return this.#handler.onData?.(...args)\n }\n\n onComplete (...args) {\n return this.#handler.onComplete?.(...args)\n }\n\n onBodySent (...args) {\n return this.#handler.onBodySent?.(...args)\n }\n}\n","'use strict'\n\nconst util = require('../core/util')\nconst { kBodyUsed } = require('../core/symbols')\nconst assert = require('node:assert')\nconst { InvalidArgumentError } = require('../core/errors')\nconst EE = require('node:events')\n\nconst redirectableStatusCodes = [300, 301, 302, 303, 307, 308]\n\nconst kBody = Symbol('body')\n\nclass BodyAsyncIterable {\n constructor (body) {\n this[kBody] = body\n this[kBodyUsed] = false\n }\n\n async * [Symbol.asyncIterator] () {\n assert(!this[kBodyUsed], 'disturbed')\n this[kBodyUsed] = true\n yield * this[kBody]\n }\n}\n\nclass RedirectHandler {\n constructor (dispatch, maxRedirections, opts, handler) {\n if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {\n throw new InvalidArgumentError('maxRedirections must be a positive number')\n }\n\n util.validateHandler(handler, opts.method, opts.upgrade)\n\n this.dispatch = dispatch\n this.location = null\n this.abort = null\n this.opts = { ...opts, maxRedirections: 0 } // opts must be a copy\n this.maxRedirections = maxRedirections\n this.handler = handler\n this.history = []\n this.redirectionLimitReached = false\n\n if (util.isStream(this.opts.body)) {\n // TODO (fix): Provide some way for the user to cache the file to e.g. /tmp\n // so that it can be dispatched again?\n // TODO (fix): Do we need 100-expect support to provide a way to do this properly?\n if (util.bodyLength(this.opts.body) === 0) {\n this.opts.body\n .on('data', function () {\n assert(false)\n })\n }\n\n if (typeof this.opts.body.readableDidRead !== 'boolean') {\n this.opts.body[kBodyUsed] = false\n EE.prototype.on.call(this.opts.body, 'data', function () {\n this[kBodyUsed] = true\n })\n }\n } else if (this.opts.body && typeof this.opts.body.pipeTo === 'function') {\n // TODO (fix): We can't access ReadableStream internal state\n // to determine whether or not it has been disturbed. This is just\n // a workaround.\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n } else if (\n this.opts.body &&\n typeof this.opts.body !== 'string' &&\n !ArrayBuffer.isView(this.opts.body) &&\n util.isIterable(this.opts.body)\n ) {\n // TODO: Should we allow re-using iterable if !this.opts.idempotent\n // or through some other flag?\n this.opts.body = new BodyAsyncIterable(this.opts.body)\n }\n }\n\n onConnect (abort) {\n this.abort = abort\n this.handler.onConnect(abort, { history: this.history })\n }\n\n onUpgrade (statusCode, headers, socket) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n\n onError (error) {\n this.handler.onError(error)\n }\n\n onHeaders (statusCode, headers, resume, statusText) {\n this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body)\n ? null\n : parseLocation(statusCode, headers)\n\n if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {\n if (this.request) {\n this.request.abort(new Error('max redirects'))\n }\n\n this.redirectionLimitReached = true\n this.abort(new Error('max redirects'))\n return\n }\n\n if (this.opts.origin) {\n this.history.push(new URL(this.opts.path, this.opts.origin))\n }\n\n if (!this.location) {\n return this.handler.onHeaders(statusCode, headers, resume, statusText)\n }\n\n const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)))\n const path = search ? `${pathname}${search}` : pathname\n\n // Remove headers referring to the original URL.\n // By default it is Host only, unless it's a 303 (see below), which removes also all Content-* headers.\n // https://tools.ietf.org/html/rfc7231#section-6.4\n this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin)\n this.opts.path = path\n this.opts.origin = origin\n this.opts.maxRedirections = 0\n this.opts.query = null\n\n // https://tools.ietf.org/html/rfc7231#section-6.4.4\n // In case of HTTP 303, always replace method to be either HEAD or GET\n if (statusCode === 303 && this.opts.method !== 'HEAD') {\n this.opts.method = 'GET'\n this.opts.body = null\n }\n }\n\n onData (chunk) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response bodies.\n\n Redirection is used to serve the requested resource from another URL, so it is assumes that\n no body is generated (and thus can be ignored). Even though generating a body is not prohibited.\n\n For status 301, 302, 303, 307 and 308 (the latter from RFC 7238), the specs mention that the body usually\n (which means it's optional and not mandated) contain just an hyperlink to the value of\n the Location response header, so the body can be ignored safely.\n\n For status 300, which is \"Multiple Choices\", the spec mentions both generating a Location\n response header AND a response body with the other possible location to follow.\n Since the spec explicitly chooses not to specify a format for such body and leave it to\n servers and browsers implementors, we ignore the body as there is no specified way to eventually parse it.\n */\n } else {\n return this.handler.onData(chunk)\n }\n }\n\n onComplete (trailers) {\n if (this.location) {\n /*\n https://tools.ietf.org/html/rfc7231#section-6.4\n\n TLDR: undici always ignores 3xx response trailers as they are not expected in case of redirections\n and neither are useful if present.\n\n See comment on onData method above for more detailed information.\n */\n\n this.location = null\n this.abort = null\n\n this.dispatch(this.opts, this)\n } else {\n this.handler.onComplete(trailers)\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) {\n this.handler.onBodySent(chunk)\n }\n }\n}\n\nfunction parseLocation (statusCode, headers) {\n if (redirectableStatusCodes.indexOf(statusCode) === -1) {\n return null\n }\n\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].length === 8 && util.headerNameToString(headers[i]) === 'location') {\n return headers[i + 1]\n }\n }\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4.4\nfunction shouldRemoveHeader (header, removeContent, unknownOrigin) {\n if (header.length === 4) {\n return util.headerNameToString(header) === 'host'\n }\n if (removeContent && util.headerNameToString(header).startsWith('content-')) {\n return true\n }\n if (unknownOrigin && (header.length === 13 || header.length === 6 || header.length === 19)) {\n const name = util.headerNameToString(header)\n return name === 'authorization' || name === 'cookie' || name === 'proxy-authorization'\n }\n return false\n}\n\n// https://tools.ietf.org/html/rfc7231#section-6.4\nfunction cleanRequestHeaders (headers, removeContent, unknownOrigin) {\n const ret = []\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {\n ret.push(headers[i], headers[i + 1])\n }\n }\n } else if (headers && typeof headers === 'object') {\n for (const key of Object.keys(headers)) {\n if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {\n ret.push(key, headers[key])\n }\n }\n } else {\n assert(headers == null, 'headers must be an object or an array')\n }\n return ret\n}\n\nmodule.exports = RedirectHandler\n","'use strict'\nconst assert = require('node:assert')\n\nconst { kRetryHandlerDefaultRetry } = require('../core/symbols')\nconst { RequestRetryError } = require('../core/errors')\nconst {\n isDisturbed,\n parseHeaders,\n parseRangeHeader,\n wrapRequestBody\n} = require('../core/util')\n\nfunction calculateRetryAfterHeader (retryAfter) {\n const current = Date.now()\n return new Date(retryAfter).getTime() - current\n}\n\nfunction validatePartialResponseContentLength (headers, range, statusCode, retryCount) {\n const contentLength = headers['content-length']\n if (contentLength == null) {\n return null\n }\n\n if (!Number.isFinite(range.start) || !Number.isFinite(range.end)) {\n return null\n }\n\n const length = Number(contentLength)\n const expectedLength = range.end - range.start + 1\n if (!Number.isFinite(length) || length !== expectedLength) {\n return new RequestRetryError('Content-Length mismatch', statusCode, {\n headers,\n data: { count: retryCount }\n })\n }\n\n return null\n}\n\nclass RetryHandler {\n constructor (opts, handlers) {\n const { retryOptions, ...dispatchOpts } = opts\n const {\n // Retry scoped\n retry: retryFn,\n maxRetries,\n maxTimeout,\n minTimeout,\n timeoutFactor,\n // Response scoped\n methods,\n errorCodes,\n retryAfter,\n statusCodes\n } = retryOptions ?? {}\n\n this.dispatch = handlers.dispatch\n this.handler = handlers.handler\n this.opts = { ...dispatchOpts, body: wrapRequestBody(opts.body) }\n this.abort = null\n this.aborted = false\n this.retryOpts = {\n retry: retryFn ?? RetryHandler[kRetryHandlerDefaultRetry],\n retryAfter: retryAfter ?? true,\n maxTimeout: maxTimeout ?? 30 * 1000, // 30s,\n minTimeout: minTimeout ?? 500, // .5s\n timeoutFactor: timeoutFactor ?? 2,\n maxRetries: maxRetries ?? 5,\n // What errors we should retry\n methods: methods ?? ['GET', 'HEAD', 'OPTIONS', 'PUT', 'DELETE', 'TRACE'],\n // Indicates which errors to retry\n statusCodes: statusCodes ?? [500, 502, 503, 504, 429],\n // List of errors to retry\n errorCodes: errorCodes ?? [\n 'ECONNRESET',\n 'ECONNREFUSED',\n 'ENOTFOUND',\n 'ENETDOWN',\n 'ENETUNREACH',\n 'EHOSTDOWN',\n 'EHOSTUNREACH',\n 'EPIPE',\n 'UND_ERR_SOCKET'\n ]\n }\n\n this.retryCount = 0\n this.retryCountCheckpoint = 0\n this.start = 0\n this.end = null\n this.etag = null\n this.resume = null\n\n // Handle possible onConnect duplication\n this.handler.onConnect(reason => {\n this.aborted = true\n if (this.abort) {\n this.abort(reason)\n } else {\n this.reason = reason\n }\n })\n }\n\n onRequestSent () {\n if (this.handler.onRequestSent) {\n this.handler.onRequestSent()\n }\n }\n\n onUpgrade (statusCode, headers, socket) {\n if (this.handler.onUpgrade) {\n this.handler.onUpgrade(statusCode, headers, socket)\n }\n }\n\n onConnect (abort) {\n if (this.aborted) {\n abort(this.reason)\n } else {\n this.abort = abort\n }\n }\n\n onBodySent (chunk) {\n if (this.handler.onBodySent) return this.handler.onBodySent(chunk)\n }\n\n static [kRetryHandlerDefaultRetry] (err, { state, opts }, cb) {\n const { statusCode, code, headers } = err\n const { method, retryOptions } = opts\n const {\n maxRetries,\n minTimeout,\n maxTimeout,\n timeoutFactor,\n statusCodes,\n errorCodes,\n methods\n } = retryOptions\n const { counter } = state\n\n // Any code that is not a Undici's originated and allowed to retry\n if (code && code !== 'UND_ERR_REQ_RETRY' && !errorCodes.includes(code)) {\n cb(err)\n return\n }\n\n // If a set of method are provided and the current method is not in the list\n if (Array.isArray(methods) && !methods.includes(method)) {\n cb(err)\n return\n }\n\n // If a set of status code are provided and the current status code is not in the list\n if (\n statusCode != null &&\n Array.isArray(statusCodes) &&\n !statusCodes.includes(statusCode)\n ) {\n cb(err)\n return\n }\n\n // If we reached the max number of retries\n if (counter > maxRetries) {\n cb(err)\n return\n }\n\n let retryAfterHeader = headers?.['retry-after']\n if (retryAfterHeader) {\n retryAfterHeader = Number(retryAfterHeader)\n retryAfterHeader = Number.isNaN(retryAfterHeader)\n ? calculateRetryAfterHeader(retryAfterHeader)\n : retryAfterHeader * 1e3 // Retry-After is in seconds\n }\n\n const retryTimeout =\n retryAfterHeader > 0\n ? Math.min(retryAfterHeader, maxTimeout)\n : Math.min(minTimeout * timeoutFactor ** (counter - 1), maxTimeout)\n\n setTimeout(() => cb(null), retryTimeout)\n }\n\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = parseHeaders(rawHeaders)\n\n this.retryCount += 1\n\n if (statusCode >= 300) {\n if (this.retryOpts.statusCodes.includes(statusCode) === false) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n } else {\n this.abort(\n new RequestRetryError('Request failed', statusCode, {\n headers,\n data: {\n count: this.retryCount\n }\n })\n )\n return false\n }\n }\n\n // Checkpoint for resume from where we left it\n if (this.resume != null) {\n this.resume = null\n\n // Only Partial Content 206 supposed to provide Content-Range,\n // any other status code that partially consumed the payload\n // should not be retry because it would result in downstream\n // wrongly concatanete multiple responses.\n if (statusCode !== 206 && (this.start > 0 || statusCode !== 200)) {\n this.abort(\n new RequestRetryError('server does not support the range header and the payload was partially consumed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const contentRange = parseRangeHeader(headers['content-range'])\n // If no content range\n if (!contentRange) {\n this.abort(\n new RequestRetryError('Content-Range mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n // Let's start with a weak etag check\n if (this.etag != null && this.etag !== headers.etag) {\n this.abort(\n new RequestRetryError('ETag mismatch', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n )\n return false\n }\n\n const contentLengthError = validatePartialResponseContentLength(headers, contentRange, statusCode, this.retryCount)\n if (contentLengthError != null) {\n this.abort(contentLengthError)\n return false\n }\n\n const { start, size, end = size - 1 } = contentRange\n\n assert(this.start === start, 'content-range mismatch')\n assert(this.end == null || this.end === end, 'content-range mismatch')\n\n this.resume = resume\n return true\n }\n\n if (this.end == null) {\n if (statusCode === 206) {\n // First time we receive 206\n const range = parseRangeHeader(headers['content-range'])\n\n if (range == null) {\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const contentLengthError = validatePartialResponseContentLength(headers, range, statusCode, this.retryCount)\n if (contentLengthError != null) {\n this.abort(contentLengthError)\n return false\n }\n\n const { start, size, end = size - 1 } = range\n assert(\n start != null && Number.isFinite(start),\n 'content-range mismatch'\n )\n assert(end != null && Number.isFinite(end), 'invalid content-length')\n\n this.start = start\n this.end = end\n }\n\n // We make our best to checkpoint the body for further range headers\n if (this.end == null) {\n const contentLength = headers['content-length']\n this.end = contentLength != null ? Number(contentLength) - 1 : null\n }\n\n assert(Number.isFinite(this.start))\n assert(\n this.end == null || Number.isFinite(this.end),\n 'invalid content-length'\n )\n\n this.resume = resume\n this.etag = headers.etag != null ? headers.etag : null\n\n // Weak etags are not useful for comparison nor cache\n // for instance not safe to assume if the response is byte-per-byte\n // equal\n if (this.etag != null && this.etag.startsWith('W/')) {\n this.etag = null\n }\n\n return this.handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n const err = new RequestRetryError('Request failed', statusCode, {\n headers,\n data: { count: this.retryCount }\n })\n\n this.abort(err)\n\n return false\n }\n\n onData (chunk) {\n this.start += chunk.length\n\n return this.handler.onData(chunk)\n }\n\n onComplete (rawTrailers) {\n this.retryCount = 0\n return this.handler.onComplete(rawTrailers)\n }\n\n onError (err) {\n if (this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n // We reconcile in case of a mix between network errors\n // and server error response\n if (this.retryCount - this.retryCountCheckpoint > 0) {\n // We count the difference between the last checkpoint and the current retry count\n this.retryCount =\n this.retryCountCheckpoint +\n (this.retryCount - this.retryCountCheckpoint)\n } else {\n this.retryCount += 1\n }\n\n this.retryOpts.retry(\n err,\n {\n state: { counter: this.retryCount },\n opts: { retryOptions: this.retryOpts, ...this.opts }\n },\n onRetry.bind(this)\n )\n\n function onRetry (err) {\n if (err != null || this.aborted || isDisturbed(this.opts.body)) {\n return this.handler.onError(err)\n }\n\n if (this.start !== 0) {\n const headers = { range: `bytes=${this.start}-${this.end ?? ''}` }\n\n // Weak etag check - weak etags will make comparison algorithms never match\n if (this.etag != null) {\n headers['if-match'] = this.etag\n }\n\n this.opts = {\n ...this.opts,\n headers: {\n ...this.opts.headers,\n ...headers\n }\n }\n }\n\n try {\n this.retryCountCheckpoint = this.retryCount\n this.dispatch(this.opts, this)\n } catch (err) {\n this.handler.onError(err)\n }\n }\n }\n}\n\nmodule.exports = RetryHandler\n","'use strict'\nconst { isIP } = require('node:net')\nconst { lookup } = require('node:dns')\nconst DecoratorHandler = require('../handler/decorator-handler')\nconst { InvalidArgumentError, InformationalError } = require('../core/errors')\nconst maxInt = Math.pow(2, 31) - 1\n\nclass DNSInstance {\n #maxTTL = 0\n #maxItems = 0\n #records = new Map()\n dualStack = true\n affinity = null\n lookup = null\n pick = null\n\n constructor (opts) {\n this.#maxTTL = opts.maxTTL\n this.#maxItems = opts.maxItems\n this.dualStack = opts.dualStack\n this.affinity = opts.affinity\n this.lookup = opts.lookup ?? this.#defaultLookup\n this.pick = opts.pick ?? this.#defaultPick\n }\n\n get full () {\n return this.#records.size === this.#maxItems\n }\n\n runLookup (origin, opts, cb) {\n const ips = this.#records.get(origin.hostname)\n\n // If full, we just return the origin\n if (ips == null && this.full) {\n cb(null, origin.origin)\n return\n }\n\n const newOpts = {\n affinity: this.affinity,\n dualStack: this.dualStack,\n lookup: this.lookup,\n pick: this.pick,\n ...opts.dns,\n maxTTL: this.#maxTTL,\n maxItems: this.#maxItems\n }\n\n // If no IPs we lookup\n if (ips == null) {\n this.lookup(origin, newOpts, (err, addresses) => {\n if (err || addresses == null || addresses.length === 0) {\n cb(err ?? new InformationalError('No DNS entries found'))\n return\n }\n\n this.setRecords(origin, addresses)\n const records = this.#records.get(origin.hostname)\n\n const ip = this.pick(\n origin,\n records,\n newOpts.affinity\n )\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n })\n } else {\n // If there's IPs we pick\n const ip = this.pick(\n origin,\n ips,\n newOpts.affinity\n )\n\n // If no IPs we lookup - deleting old records\n if (ip == null) {\n this.#records.delete(origin.hostname)\n this.runLookup(origin, opts, cb)\n return\n }\n\n let port\n if (typeof ip.port === 'number') {\n port = `:${ip.port}`\n } else if (origin.port !== '') {\n port = `:${origin.port}`\n } else {\n port = ''\n }\n\n cb(\n null,\n `${origin.protocol}//${\n ip.family === 6 ? `[${ip.address}]` : ip.address\n }${port}`\n )\n }\n }\n\n #defaultLookup (origin, opts, cb) {\n lookup(\n origin.hostname,\n {\n all: true,\n family: this.dualStack === false ? this.affinity : 0,\n order: 'ipv4first'\n },\n (err, addresses) => {\n if (err) {\n return cb(err)\n }\n\n const results = new Map()\n\n for (const addr of addresses) {\n // On linux we found duplicates, we attempt to remove them with\n // the latest record\n results.set(`${addr.address}:${addr.family}`, addr)\n }\n\n cb(null, results.values())\n }\n )\n }\n\n #defaultPick (origin, hostnameRecords, affinity) {\n let ip = null\n const { records, offset } = hostnameRecords\n\n let family\n if (this.dualStack) {\n if (affinity == null) {\n // Balance between ip families\n if (offset == null || offset === maxInt) {\n hostnameRecords.offset = 0\n affinity = 4\n } else {\n hostnameRecords.offset++\n affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4\n }\n }\n\n if (records[affinity] != null && records[affinity].ips.length > 0) {\n family = records[affinity]\n } else {\n family = records[affinity === 4 ? 6 : 4]\n }\n } else {\n family = records[affinity]\n }\n\n // If no IPs we return null\n if (family == null || family.ips.length === 0) {\n return ip\n }\n\n if (family.offset == null || family.offset === maxInt) {\n family.offset = 0\n } else {\n family.offset++\n }\n\n const position = family.offset % family.ips.length\n ip = family.ips[position] ?? null\n\n if (ip == null) {\n return ip\n }\n\n if (Date.now() - ip.timestamp > ip.ttl) { // record TTL is already in ms\n // We delete expired records\n // It is possible that they have different TTL, so we manage them individually\n family.ips.splice(position, 1)\n return this.pick(origin, hostnameRecords, affinity)\n }\n\n return ip\n }\n\n setRecords (origin, addresses) {\n const timestamp = Date.now()\n const records = { records: { 4: null, 6: null } }\n for (const record of addresses) {\n record.timestamp = timestamp\n if (typeof record.ttl === 'number') {\n // The record TTL is expected to be in ms\n record.ttl = Math.min(record.ttl, this.#maxTTL)\n } else {\n record.ttl = this.#maxTTL\n }\n\n const familyRecords = records.records[record.family] ?? { ips: [] }\n\n familyRecords.ips.push(record)\n records.records[record.family] = familyRecords\n }\n\n this.#records.set(origin.hostname, records)\n }\n\n getHandler (meta, opts) {\n return new DNSDispatchHandler(this, meta, opts)\n }\n}\n\nclass DNSDispatchHandler extends DecoratorHandler {\n #state = null\n #opts = null\n #dispatch = null\n #handler = null\n #origin = null\n\n constructor (state, { origin, handler, dispatch }, opts) {\n super(handler)\n this.#origin = origin\n this.#handler = handler\n this.#opts = { ...opts }\n this.#state = state\n this.#dispatch = dispatch\n }\n\n onError (err) {\n switch (err.code) {\n case 'ETIMEDOUT':\n case 'ECONNREFUSED': {\n if (this.#state.dualStack) {\n // We delete the record and retry\n this.#state.runLookup(this.#origin, this.#opts, (err, newOrigin) => {\n if (err) {\n return this.#handler.onError(err)\n }\n\n const dispatchOpts = {\n ...this.#opts,\n origin: newOrigin\n }\n\n this.#dispatch(dispatchOpts, this)\n })\n\n // if dual-stack disabled, we error out\n return\n }\n\n this.#handler.onError(err)\n return\n }\n case 'ENOTFOUND':\n this.#state.deleteRecord(this.#origin)\n // eslint-disable-next-line no-fallthrough\n default:\n this.#handler.onError(err)\n break\n }\n }\n}\n\nmodule.exports = interceptorOpts => {\n if (\n interceptorOpts?.maxTTL != null &&\n (typeof interceptorOpts?.maxTTL !== 'number' || interceptorOpts?.maxTTL < 0)\n ) {\n throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number')\n }\n\n if (\n interceptorOpts?.maxItems != null &&\n (typeof interceptorOpts?.maxItems !== 'number' ||\n interceptorOpts?.maxItems < 1)\n ) {\n throw new InvalidArgumentError(\n 'Invalid maxItems. Must be a positive number and greater than zero'\n )\n }\n\n if (\n interceptorOpts?.affinity != null &&\n interceptorOpts?.affinity !== 4 &&\n interceptorOpts?.affinity !== 6\n ) {\n throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6')\n }\n\n if (\n interceptorOpts?.dualStack != null &&\n typeof interceptorOpts?.dualStack !== 'boolean'\n ) {\n throw new InvalidArgumentError('Invalid dualStack. Must be a boolean')\n }\n\n if (\n interceptorOpts?.lookup != null &&\n typeof interceptorOpts?.lookup !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid lookup. Must be a function')\n }\n\n if (\n interceptorOpts?.pick != null &&\n typeof interceptorOpts?.pick !== 'function'\n ) {\n throw new InvalidArgumentError('Invalid pick. Must be a function')\n }\n\n const dualStack = interceptorOpts?.dualStack ?? true\n let affinity\n if (dualStack) {\n affinity = interceptorOpts?.affinity ?? null\n } else {\n affinity = interceptorOpts?.affinity ?? 4\n }\n\n const opts = {\n maxTTL: interceptorOpts?.maxTTL ?? 10e3, // Expressed in ms\n lookup: interceptorOpts?.lookup ?? null,\n pick: interceptorOpts?.pick ?? null,\n dualStack,\n affinity,\n maxItems: interceptorOpts?.maxItems ?? Infinity\n }\n\n const instance = new DNSInstance(opts)\n\n return dispatch => {\n return function dnsInterceptor (origDispatchOpts, handler) {\n const origin =\n origDispatchOpts.origin.constructor === URL\n ? origDispatchOpts.origin\n : new URL(origDispatchOpts.origin)\n\n if (isIP(origin.hostname) !== 0) {\n return dispatch(origDispatchOpts, handler)\n }\n\n instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {\n if (err) {\n return handler.onError(err)\n }\n\n let dispatchOpts = null\n dispatchOpts = {\n ...origDispatchOpts,\n servername: origin.hostname, // For SNI on TLS\n origin: newOrigin,\n headers: {\n host: origin.hostname,\n ...origDispatchOpts.headers\n }\n }\n\n dispatch(\n dispatchOpts,\n instance.getHandler({ origin, dispatch, handler }, origDispatchOpts)\n )\n })\n\n return true\n }\n }\n}\n","'use strict'\n\nconst util = require('../core/util')\nconst { InvalidArgumentError, RequestAbortedError } = require('../core/errors')\nconst DecoratorHandler = require('../handler/decorator-handler')\n\nclass DumpHandler extends DecoratorHandler {\n #maxSize = 1024 * 1024\n #abort = null\n #dumped = false\n #aborted = false\n #size = 0\n #reason = null\n #handler = null\n\n constructor ({ maxSize }, handler) {\n super(handler)\n\n if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {\n throw new InvalidArgumentError('maxSize must be a number greater than 0')\n }\n\n this.#maxSize = maxSize ?? this.#maxSize\n this.#handler = handler\n }\n\n onConnect (abort) {\n this.#abort = abort\n\n this.#handler.onConnect(this.#customAbort.bind(this))\n }\n\n #customAbort (reason) {\n this.#aborted = true\n this.#reason = reason\n }\n\n // TODO: will require adjustment after new hooks are out\n onHeaders (statusCode, rawHeaders, resume, statusMessage) {\n const headers = util.parseHeaders(rawHeaders)\n const contentLength = headers['content-length']\n\n if (contentLength != null && contentLength > this.#maxSize) {\n throw new RequestAbortedError(\n `Response size (${contentLength}) larger than maxSize (${\n this.#maxSize\n })`\n )\n }\n\n if (this.#aborted) {\n return true\n }\n\n return this.#handler.onHeaders(\n statusCode,\n rawHeaders,\n resume,\n statusMessage\n )\n }\n\n onError (err) {\n if (this.#dumped) {\n return\n }\n\n err = this.#reason ?? err\n\n this.#handler.onError(err)\n }\n\n onData (chunk) {\n this.#size = this.#size + chunk.length\n\n if (this.#size >= this.#maxSize) {\n this.#dumped = true\n\n if (this.#aborted) {\n this.#handler.onError(this.#reason)\n } else {\n this.#handler.onComplete([])\n }\n }\n\n return true\n }\n\n onComplete (trailers) {\n if (this.#dumped) {\n return\n }\n\n if (this.#aborted) {\n this.#handler.onError(this.reason)\n return\n }\n\n this.#handler.onComplete(trailers)\n }\n}\n\nfunction createDumpInterceptor (\n { maxSize: defaultMaxSize } = {\n maxSize: 1024 * 1024\n }\n) {\n return dispatch => {\n return function Intercept (opts, handler) {\n const { dumpMaxSize = defaultMaxSize } =\n opts\n\n const dumpHandler = new DumpHandler(\n { maxSize: dumpMaxSize },\n handler\n )\n\n return dispatch(opts, dumpHandler)\n }\n }\n}\n\nmodule.exports = createDumpInterceptor\n","'use strict'\n\nconst RedirectHandler = require('../handler/redirect-handler')\n\nfunction createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) {\n return (dispatch) => {\n return function Intercept (opts, handler) {\n const { maxRedirections = defaultMaxRedirections } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler)\n opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.\n return dispatch(opts, redirectHandler)\n }\n }\n}\n\nmodule.exports = createRedirectInterceptor\n","'use strict'\nconst RedirectHandler = require('../handler/redirect-handler')\n\nmodule.exports = opts => {\n const globalMaxRedirections = opts?.maxRedirections\n return dispatch => {\n return function redirectInterceptor (opts, handler) {\n const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts\n\n if (!maxRedirections) {\n return dispatch(opts, handler)\n }\n\n const redirectHandler = new RedirectHandler(\n dispatch,\n maxRedirections,\n opts,\n handler\n )\n\n return dispatch(baseOpts, redirectHandler)\n }\n }\n}\n","'use strict'\nconst RetryHandler = require('../handler/retry-handler')\n\nmodule.exports = globalOpts => {\n return dispatch => {\n return function retryInterceptor (opts, handler) {\n return dispatch(\n opts,\n new RetryHandler(\n { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },\n {\n handler,\n dispatch\n }\n )\n )\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;\nconst utils_1 = require(\"./utils\");\n// C headers\nvar ERROR;\n(function (ERROR) {\n ERROR[ERROR[\"OK\"] = 0] = \"OK\";\n ERROR[ERROR[\"INTERNAL\"] = 1] = \"INTERNAL\";\n ERROR[ERROR[\"STRICT\"] = 2] = \"STRICT\";\n ERROR[ERROR[\"LF_EXPECTED\"] = 3] = \"LF_EXPECTED\";\n ERROR[ERROR[\"UNEXPECTED_CONTENT_LENGTH\"] = 4] = \"UNEXPECTED_CONTENT_LENGTH\";\n ERROR[ERROR[\"CLOSED_CONNECTION\"] = 5] = \"CLOSED_CONNECTION\";\n ERROR[ERROR[\"INVALID_METHOD\"] = 6] = \"INVALID_METHOD\";\n ERROR[ERROR[\"INVALID_URL\"] = 7] = \"INVALID_URL\";\n ERROR[ERROR[\"INVALID_CONSTANT\"] = 8] = \"INVALID_CONSTANT\";\n ERROR[ERROR[\"INVALID_VERSION\"] = 9] = \"INVALID_VERSION\";\n ERROR[ERROR[\"INVALID_HEADER_TOKEN\"] = 10] = \"INVALID_HEADER_TOKEN\";\n ERROR[ERROR[\"INVALID_CONTENT_LENGTH\"] = 11] = \"INVALID_CONTENT_LENGTH\";\n ERROR[ERROR[\"INVALID_CHUNK_SIZE\"] = 12] = \"INVALID_CHUNK_SIZE\";\n ERROR[ERROR[\"INVALID_STATUS\"] = 13] = \"INVALID_STATUS\";\n ERROR[ERROR[\"INVALID_EOF_STATE\"] = 14] = \"INVALID_EOF_STATE\";\n ERROR[ERROR[\"INVALID_TRANSFER_ENCODING\"] = 15] = \"INVALID_TRANSFER_ENCODING\";\n ERROR[ERROR[\"CB_MESSAGE_BEGIN\"] = 16] = \"CB_MESSAGE_BEGIN\";\n ERROR[ERROR[\"CB_HEADERS_COMPLETE\"] = 17] = \"CB_HEADERS_COMPLETE\";\n ERROR[ERROR[\"CB_MESSAGE_COMPLETE\"] = 18] = \"CB_MESSAGE_COMPLETE\";\n ERROR[ERROR[\"CB_CHUNK_HEADER\"] = 19] = \"CB_CHUNK_HEADER\";\n ERROR[ERROR[\"CB_CHUNK_COMPLETE\"] = 20] = \"CB_CHUNK_COMPLETE\";\n ERROR[ERROR[\"PAUSED\"] = 21] = \"PAUSED\";\n ERROR[ERROR[\"PAUSED_UPGRADE\"] = 22] = \"PAUSED_UPGRADE\";\n ERROR[ERROR[\"PAUSED_H2_UPGRADE\"] = 23] = \"PAUSED_H2_UPGRADE\";\n ERROR[ERROR[\"USER\"] = 24] = \"USER\";\n})(ERROR = exports.ERROR || (exports.ERROR = {}));\nvar TYPE;\n(function (TYPE) {\n TYPE[TYPE[\"BOTH\"] = 0] = \"BOTH\";\n TYPE[TYPE[\"REQUEST\"] = 1] = \"REQUEST\";\n TYPE[TYPE[\"RESPONSE\"] = 2] = \"RESPONSE\";\n})(TYPE = exports.TYPE || (exports.TYPE = {}));\nvar FLAGS;\n(function (FLAGS) {\n FLAGS[FLAGS[\"CONNECTION_KEEP_ALIVE\"] = 1] = \"CONNECTION_KEEP_ALIVE\";\n FLAGS[FLAGS[\"CONNECTION_CLOSE\"] = 2] = \"CONNECTION_CLOSE\";\n FLAGS[FLAGS[\"CONNECTION_UPGRADE\"] = 4] = \"CONNECTION_UPGRADE\";\n FLAGS[FLAGS[\"CHUNKED\"] = 8] = \"CHUNKED\";\n FLAGS[FLAGS[\"UPGRADE\"] = 16] = \"UPGRADE\";\n FLAGS[FLAGS[\"CONTENT_LENGTH\"] = 32] = \"CONTENT_LENGTH\";\n FLAGS[FLAGS[\"SKIPBODY\"] = 64] = \"SKIPBODY\";\n FLAGS[FLAGS[\"TRAILING\"] = 128] = \"TRAILING\";\n // 1 << 8 is unused\n FLAGS[FLAGS[\"TRANSFER_ENCODING\"] = 512] = \"TRANSFER_ENCODING\";\n})(FLAGS = exports.FLAGS || (exports.FLAGS = {}));\nvar LENIENT_FLAGS;\n(function (LENIENT_FLAGS) {\n LENIENT_FLAGS[LENIENT_FLAGS[\"HEADERS\"] = 1] = \"HEADERS\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"CHUNKED_LENGTH\"] = 2] = \"CHUNKED_LENGTH\";\n LENIENT_FLAGS[LENIENT_FLAGS[\"KEEP_ALIVE\"] = 4] = \"KEEP_ALIVE\";\n})(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));\nvar METHODS;\n(function (METHODS) {\n METHODS[METHODS[\"DELETE\"] = 0] = \"DELETE\";\n METHODS[METHODS[\"GET\"] = 1] = \"GET\";\n METHODS[METHODS[\"HEAD\"] = 2] = \"HEAD\";\n METHODS[METHODS[\"POST\"] = 3] = \"POST\";\n METHODS[METHODS[\"PUT\"] = 4] = \"PUT\";\n /* pathological */\n METHODS[METHODS[\"CONNECT\"] = 5] = \"CONNECT\";\n METHODS[METHODS[\"OPTIONS\"] = 6] = \"OPTIONS\";\n METHODS[METHODS[\"TRACE\"] = 7] = \"TRACE\";\n /* WebDAV */\n METHODS[METHODS[\"COPY\"] = 8] = \"COPY\";\n METHODS[METHODS[\"LOCK\"] = 9] = \"LOCK\";\n METHODS[METHODS[\"MKCOL\"] = 10] = \"MKCOL\";\n METHODS[METHODS[\"MOVE\"] = 11] = \"MOVE\";\n METHODS[METHODS[\"PROPFIND\"] = 12] = \"PROPFIND\";\n METHODS[METHODS[\"PROPPATCH\"] = 13] = \"PROPPATCH\";\n METHODS[METHODS[\"SEARCH\"] = 14] = \"SEARCH\";\n METHODS[METHODS[\"UNLOCK\"] = 15] = \"UNLOCK\";\n METHODS[METHODS[\"BIND\"] = 16] = \"BIND\";\n METHODS[METHODS[\"REBIND\"] = 17] = \"REBIND\";\n METHODS[METHODS[\"UNBIND\"] = 18] = \"UNBIND\";\n METHODS[METHODS[\"ACL\"] = 19] = \"ACL\";\n /* subversion */\n METHODS[METHODS[\"REPORT\"] = 20] = \"REPORT\";\n METHODS[METHODS[\"MKACTIVITY\"] = 21] = \"MKACTIVITY\";\n METHODS[METHODS[\"CHECKOUT\"] = 22] = \"CHECKOUT\";\n METHODS[METHODS[\"MERGE\"] = 23] = \"MERGE\";\n /* upnp */\n METHODS[METHODS[\"M-SEARCH\"] = 24] = \"M-SEARCH\";\n METHODS[METHODS[\"NOTIFY\"] = 25] = \"NOTIFY\";\n METHODS[METHODS[\"SUBSCRIBE\"] = 26] = \"SUBSCRIBE\";\n METHODS[METHODS[\"UNSUBSCRIBE\"] = 27] = \"UNSUBSCRIBE\";\n /* RFC-5789 */\n METHODS[METHODS[\"PATCH\"] = 28] = \"PATCH\";\n METHODS[METHODS[\"PURGE\"] = 29] = \"PURGE\";\n /* CalDAV */\n METHODS[METHODS[\"MKCALENDAR\"] = 30] = \"MKCALENDAR\";\n /* RFC-2068, section 19.6.1.2 */\n METHODS[METHODS[\"LINK\"] = 31] = \"LINK\";\n METHODS[METHODS[\"UNLINK\"] = 32] = \"UNLINK\";\n /* icecast */\n METHODS[METHODS[\"SOURCE\"] = 33] = \"SOURCE\";\n /* RFC-7540, section 11.6 */\n METHODS[METHODS[\"PRI\"] = 34] = \"PRI\";\n /* RFC-2326 RTSP */\n METHODS[METHODS[\"DESCRIBE\"] = 35] = \"DESCRIBE\";\n METHODS[METHODS[\"ANNOUNCE\"] = 36] = \"ANNOUNCE\";\n METHODS[METHODS[\"SETUP\"] = 37] = \"SETUP\";\n METHODS[METHODS[\"PLAY\"] = 38] = \"PLAY\";\n METHODS[METHODS[\"PAUSE\"] = 39] = \"PAUSE\";\n METHODS[METHODS[\"TEARDOWN\"] = 40] = \"TEARDOWN\";\n METHODS[METHODS[\"GET_PARAMETER\"] = 41] = \"GET_PARAMETER\";\n METHODS[METHODS[\"SET_PARAMETER\"] = 42] = \"SET_PARAMETER\";\n METHODS[METHODS[\"REDIRECT\"] = 43] = \"REDIRECT\";\n METHODS[METHODS[\"RECORD\"] = 44] = \"RECORD\";\n /* RAOP */\n METHODS[METHODS[\"FLUSH\"] = 45] = \"FLUSH\";\n})(METHODS = exports.METHODS || (exports.METHODS = {}));\nexports.METHODS_HTTP = [\n METHODS.DELETE,\n METHODS.GET,\n METHODS.HEAD,\n METHODS.POST,\n METHODS.PUT,\n METHODS.CONNECT,\n METHODS.OPTIONS,\n METHODS.TRACE,\n METHODS.COPY,\n METHODS.LOCK,\n METHODS.MKCOL,\n METHODS.MOVE,\n METHODS.PROPFIND,\n METHODS.PROPPATCH,\n METHODS.SEARCH,\n METHODS.UNLOCK,\n METHODS.BIND,\n METHODS.REBIND,\n METHODS.UNBIND,\n METHODS.ACL,\n METHODS.REPORT,\n METHODS.MKACTIVITY,\n METHODS.CHECKOUT,\n METHODS.MERGE,\n METHODS['M-SEARCH'],\n METHODS.NOTIFY,\n METHODS.SUBSCRIBE,\n METHODS.UNSUBSCRIBE,\n METHODS.PATCH,\n METHODS.PURGE,\n METHODS.MKCALENDAR,\n METHODS.LINK,\n METHODS.UNLINK,\n METHODS.PRI,\n // TODO(indutny): should we allow it with HTTP?\n METHODS.SOURCE,\n];\nexports.METHODS_ICE = [\n METHODS.SOURCE,\n];\nexports.METHODS_RTSP = [\n METHODS.OPTIONS,\n METHODS.DESCRIBE,\n METHODS.ANNOUNCE,\n METHODS.SETUP,\n METHODS.PLAY,\n METHODS.PAUSE,\n METHODS.TEARDOWN,\n METHODS.GET_PARAMETER,\n METHODS.SET_PARAMETER,\n METHODS.REDIRECT,\n METHODS.RECORD,\n METHODS.FLUSH,\n // For AirPlay\n METHODS.GET,\n METHODS.POST,\n];\nexports.METHOD_MAP = utils_1.enumToMap(METHODS);\nexports.H_METHOD_MAP = {};\nObject.keys(exports.METHOD_MAP).forEach((key) => {\n if (/^H/.test(key)) {\n exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];\n }\n});\nvar FINISH;\n(function (FINISH) {\n FINISH[FINISH[\"SAFE\"] = 0] = \"SAFE\";\n FINISH[FINISH[\"SAFE_WITH_CB\"] = 1] = \"SAFE_WITH_CB\";\n FINISH[FINISH[\"UNSAFE\"] = 2] = \"UNSAFE\";\n})(FINISH = exports.FINISH || (exports.FINISH = {}));\nexports.ALPHA = [];\nfor (let i = 'A'.charCodeAt(0); i <= 'Z'.charCodeAt(0); i++) {\n // Upper case\n exports.ALPHA.push(String.fromCharCode(i));\n // Lower case\n exports.ALPHA.push(String.fromCharCode(i + 0x20));\n}\nexports.NUM_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n};\nexports.HEX_MAP = {\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4,\n 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\n A: 0XA, B: 0XB, C: 0XC, D: 0XD, E: 0XE, F: 0XF,\n a: 0xa, b: 0xb, c: 0xc, d: 0xd, e: 0xe, f: 0xf,\n};\nexports.NUM = [\n '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\n];\nexports.ALPHANUM = exports.ALPHA.concat(exports.NUM);\nexports.MARK = ['-', '_', '.', '!', '~', '*', '\\'', '(', ')'];\nexports.USERINFO_CHARS = exports.ALPHANUM\n .concat(exports.MARK)\n .concat(['%', ';', ':', '&', '=', '+', '$', ',']);\n// TODO(indutny): use RFC\nexports.STRICT_URL_CHAR = [\n '!', '\"', '$', '%', '&', '\\'',\n '(', ')', '*', '+', ',', '-', '.', '/',\n ':', ';', '<', '=', '>',\n '@', '[', '\\\\', ']', '^', '_',\n '`',\n '{', '|', '}', '~',\n].concat(exports.ALPHANUM);\nexports.URL_CHAR = exports.STRICT_URL_CHAR\n .concat(['\\t', '\\f']);\n// All characters with 0x80 bit set to 1\nfor (let i = 0x80; i <= 0xff; i++) {\n exports.URL_CHAR.push(i);\n}\nexports.HEX = exports.NUM.concat(['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']);\n/* Tokens as defined by rfc 2616. Also lowercases them.\n * token = 1*\n * separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n * | \",\" | \";\" | \":\" | \"\\\" | <\">\n * | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n * | \"{\" | \"}\" | SP | HT\n */\nexports.STRICT_TOKEN = [\n '!', '#', '$', '%', '&', '\\'',\n '*', '+', '-', '.',\n '^', '_', '`',\n '|', '~',\n].concat(exports.ALPHANUM);\nexports.TOKEN = exports.STRICT_TOKEN.concat([' ']);\n/*\n * Verify that a char is a valid visible (printable) US-ASCII\n * character or %x80-FF\n */\nexports.HEADER_CHARS = ['\\t'];\nfor (let i = 32; i <= 255; i++) {\n if (i !== 127) {\n exports.HEADER_CHARS.push(i);\n }\n}\n// ',' = \\x44\nexports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);\nexports.MAJOR = exports.NUM_MAP;\nexports.MINOR = exports.MAJOR;\nvar HEADER_STATE;\n(function (HEADER_STATE) {\n HEADER_STATE[HEADER_STATE[\"GENERAL\"] = 0] = \"GENERAL\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION\"] = 1] = \"CONNECTION\";\n HEADER_STATE[HEADER_STATE[\"CONTENT_LENGTH\"] = 2] = \"CONTENT_LENGTH\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING\"] = 3] = \"TRANSFER_ENCODING\";\n HEADER_STATE[HEADER_STATE[\"UPGRADE\"] = 4] = \"UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_KEEP_ALIVE\"] = 5] = \"CONNECTION_KEEP_ALIVE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_CLOSE\"] = 6] = \"CONNECTION_CLOSE\";\n HEADER_STATE[HEADER_STATE[\"CONNECTION_UPGRADE\"] = 7] = \"CONNECTION_UPGRADE\";\n HEADER_STATE[HEADER_STATE[\"TRANSFER_ENCODING_CHUNKED\"] = 8] = \"TRANSFER_ENCODING_CHUNKED\";\n})(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));\nexports.SPECIAL_HEADERS = {\n 'connection': HEADER_STATE.CONNECTION,\n 'content-length': HEADER_STATE.CONTENT_LENGTH,\n 'proxy-connection': HEADER_STATE.CONNECTION,\n 'transfer-encoding': HEADER_STATE.TRANSFER_ENCODING,\n 'upgrade': HEADER_STATE.UPGRADE,\n};\n//# sourceMappingURL=constants.js.map","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDsYBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHyAhIyUmKCorLC8wMTIzNDU2Nzk6Ozw9lANAQkRFRklLTk9QUVJTVFVWWFpbXF1eX2BhYmNkZWZnaGpsb3Bxc3V2eHl6e3x/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcsBzAHNAc4BzwGKA4kDiAOHA4QDgwOAA/sC+gL5AvgC9wL0AvMC8gLLAsECsALZAQsgASAERw3wAkHdASEDDLMDCyABIARHDcgBQcMBIQMMsgMLIAEgBEcNe0H3ACEDDLEDCyABIARHDXBB7wAhAwywAwsgASAERw1pQeoAIQMMrwMLIAEgBEcNZUHoACEDDK4DCyABIARHDWJB5gAhAwytAwsgASAERw0aQRghAwysAwsgASAERw0VQRIhAwyrAwsgASAERw1CQcUAIQMMqgMLIAEgBEcNNEE/IQMMqQMLIAEgBEcNMkE8IQMMqAMLIAEgBEcNK0ExIQMMpwMLIAItAC5BAUYNnwMMwQILQQAhAAJAAkACQCACLQAqRQ0AIAItACtFDQAgAi8BMCIDQQJxRQ0BDAILIAIvATAiA0EBcUUNAQtBASEAIAItAChBAUYNACACLwEyIgVB5ABrQeQASQ0AIAVBzAFGDQAgBUGwAkYNACADQcAAcQ0AQQAhACADQYgEcUGABEYNACADQShxQQBHIQALIAJBADsBMCACQQA6AC8gAEUN3wIgAkIANwMgDOACC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAARQ3MASAAQRVHDd0CIAJBBDYCHCACIAE2AhQgAkGwGDYCECACQRU2AgxBACEDDKQDCyABIARGBEBBBiEDDKQDCyABQQFqIQFBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAA3ZAgwcCyACQgA3AyBBEiEDDIkDCyABIARHDRZBHSEDDKEDCyABIARHBEAgAUEBaiEBQRAhAwyIAwtBByEDDKADCyACIAIpAyAiCiAEIAFrrSILfSIMQgAgCiAMWhs3AyAgCiALWA3UAkEIIQMMnwMLIAEgBEcEQCACQQk2AgggAiABNgIEQRQhAwyGAwtBCSEDDJ4DCyACKQMgQgBSDccBIAIgAi8BMEGAAXI7ATAMQgsgASAERw0/QdAAIQMMnAMLIAEgBEYEQEELIQMMnAMLIAFBAWohAUEAIQACQCACKAI4IgNFDQAgAygCUCIDRQ0AIAIgAxEAACEACyAADc8CDMYBC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ3GASAAQRVHDc0CIAJBCzYCHCACIAE2AhQgAkGCGTYCECACQRU2AgxBACEDDJoDC0EAIQACQCACKAI4IgNFDQAgAygCSCIDRQ0AIAIgAxEAACEACyAARQ0MIABBFUcNygIgAkEaNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMmQMLQQAhAAJAIAIoAjgiA0UNACADKAJMIgNFDQAgAiADEQAAIQALIABFDcQBIABBFUcNxwIgAkELNgIcIAIgATYCFCACQZEXNgIQIAJBFTYCDEEAIQMMmAMLIAEgBEYEQEEPIQMMmAMLIAEtAAAiAEE7Rg0HIABBDUcNxAIgAUEBaiEBDMMBC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3DASAAQRVHDcICIAJBDzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJYDCwNAIAEtAABB8DVqLQAAIgBBAUcEQCAAQQJHDcECIAIoAgQhAEEAIQMgAkEANgIEIAIgACABQQFqIgEQLSIADcICDMUBCyAEIAFBAWoiAUcNAAtBEiEDDJUDC0EAIQACQCACKAI4IgNFDQAgAygCTCIDRQ0AIAIgAxEAACEACyAARQ3FASAAQRVHDb0CIAJBGzYCHCACIAE2AhQgAkGRFzYCECACQRU2AgxBACEDDJQDCyABIARGBEBBFiEDDJQDCyACQQo2AgggAiABNgIEQQAhAAJAIAIoAjgiA0UNACADKAJIIgNFDQAgAiADEQAAIQALIABFDcIBIABBFUcNuQIgAkEVNgIcIAIgATYCFCACQYIZNgIQIAJBFTYCDEEAIQMMkwMLIAEgBEcEQANAIAEtAABB8DdqLQAAIgBBAkcEQAJAIABBAWsOBMQCvQIAvgK9AgsgAUEBaiEBQQghAwz8AgsgBCABQQFqIgFHDQALQRUhAwyTAwtBFSEDDJIDCwNAIAEtAABB8DlqLQAAIgBBAkcEQCAAQQFrDgTFArcCwwK4ArcCCyAEIAFBAWoiAUcNAAtBGCEDDJEDCyABIARHBEAgAkELNgIIIAIgATYCBEEHIQMM+AILQRkhAwyQAwsgAUEBaiEBDAILIAEgBEYEQEEaIQMMjwMLAkAgAS0AAEENaw4UtQG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwG/Ab8BvwEAvwELQQAhAyACQQA2AhwgAkGvCzYCECACQQI2AgwgAiABQQFqNgIUDI4DCyABIARGBEBBGyEDDI4DCyABLQAAIgBBO0cEQCAAQQ1HDbECIAFBAWohAQy6AQsgAUEBaiEBC0EiIQMM8wILIAEgBEYEQEEcIQMMjAMLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43wQLAAgABAgMEBQYH0AHQAdAB0AHQAdAB0AEICQoLDA3QAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdABDg8QERIT0AELQgIhCgzAAgtCAyEKDL8CC0IEIQoMvgILQgUhCgy9AgtCBiEKDLwCC0IHIQoMuwILQgghCgy6AgtCCSEKDLkCC0IKIQoMuAILQgshCgy3AgtCDCEKDLYCC0INIQoMtQILQg4hCgy0AgtCDyEKDLMCC0IKIQoMsgILQgshCgyxAgtCDCEKDLACC0INIQoMrwILQg4hCgyuAgtCDyEKDK0CC0IAIQoCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEtAABBMGsON8ACvwIAAQIDBAUGB74CvgK+Ar4CvgK+Ar4CCAkKCwwNvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ar4CvgK+Ag4PEBESE74CC0ICIQoMvwILQgMhCgy+AgtCBCEKDL0CC0IFIQoMvAILQgYhCgy7AgtCByEKDLoCC0IIIQoMuQILQgkhCgy4AgtCCiEKDLcCC0ILIQoMtgILQgwhCgy1AgtCDSEKDLQCC0IOIQoMswILQg8hCgyyAgtCCiEKDLECC0ILIQoMsAILQgwhCgyvAgtCDSEKDK4CC0IOIQoMrQILQg8hCgysAgsgAiACKQMgIgogBCABa60iC30iDEIAIAogDFobNwMgIAogC1gNpwJBHyEDDIkDCyABIARHBEAgAkEJNgIIIAIgATYCBEElIQMM8AILQSAhAwyIAwtBASEFIAIvATAiA0EIcUUEQCACKQMgQgBSIQULAkAgAi0ALgRAQQEhACACLQApQQVGDQEgA0HAAHFFIAVxRQ0BC0EAIQAgA0HAAHENAEECIQAgA0EIcQ0AIANBgARxBEACQCACLQAoQQFHDQAgAi0ALUEKcQ0AQQUhAAwCC0EEIQAMAQsgA0EgcUUEQAJAIAItAChBAUYNACACLwEyIgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNAEEEIQAgA0EocUUNAiADQYgEcUGABEYNAgtBACEADAELQQBBAyACKQMgUBshAAsgAEEBaw4FvgIAsAEBpAKhAgtBESEDDO0CCyACQQE6AC8MhAMLIAEgBEcNnQJBJCEDDIQDCyABIARHDRxBxgAhAwyDAwtBACEAAkAgAigCOCIDRQ0AIAMoAkQiA0UNACACIAMRAAAhAAsgAEUNJyAAQRVHDZgCIAJB0AA2AhwgAiABNgIUIAJBkRg2AhAgAkEVNgIMQQAhAwyCAwsgASAERgRAQSghAwyCAwtBACEDIAJBADYCBCACQQw2AgggAiABIAEQKiIARQ2UAiACQSc2AhwgAiABNgIUIAIgADYCDAyBAwsgASAERgRAQSkhAwyBAwsgAS0AACIAQSBGDRMgAEEJRw2VAiABQQFqIQEMFAsgASAERwRAIAFBAWohAQwWC0EqIQMM/wILIAEgBEYEQEErIQMM/wILIAEtAAAiAEEJRyAAQSBHcQ2QAiACLQAsQQhHDd0CIAJBADoALAzdAgsgASAERgRAQSwhAwz+AgsgAS0AAEEKRw2OAiABQQFqIQEMsAELIAEgBEcNigJBLyEDDPwCCwNAIAEtAAAiAEEgRwRAIABBCmsOBIQCiAKIAoQChgILIAQgAUEBaiIBRw0AC0ExIQMM+wILQTIhAyABIARGDfoCIAIoAgAiACAEIAFraiEHIAEgAGtBA2ohBgJAA0AgAEHwO2otAAAgAS0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAEEDRgRAQQYhAQziAgsgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAc2AgAM+wILIAJBADYCAAyGAgtBMyEDIAQgASIARg35AiAEIAFrIAIoAgAiAWohByAAIAFrQQhqIQYCQANAIAFB9DtqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBCEYEQEEFIQEM4QILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPoCCyACQQA2AgAgACEBDIUCC0E0IQMgBCABIgBGDfgCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgJAA0AgAUHQwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYEQEEHIQEM4AILIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADPkCCyACQQA2AgAgACEBDIQCCyABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRg0JDIECCyAEIAFBAWoiAUcNAAtBMCEDDPgCC0EwIQMM9wILIAEgBEcEQANAIAEtAAAiAEEgRwRAIABBCmsOBP8B/gH+Af8B/gELIAQgAUEBaiIBRw0AC0E4IQMM9wILQTghAwz2AgsDQCABLQAAIgBBIEcgAEEJR3EN9gEgBCABQQFqIgFHDQALQTwhAwz1AgsDQCABLQAAIgBBIEcEQAJAIABBCmsOBPkBBAT5AQALIABBLEYN9QEMAwsgBCABQQFqIgFHDQALQT8hAwz0AgtBwAAhAyABIARGDfMCIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAEGAQGstAAAgAS0AAEEgckcNASAAQQZGDdsCIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPQCCyACQQA2AgALQTYhAwzZAgsgASAERgRAQcEAIQMM8gILIAJBDDYCCCACIAE2AgQgAi0ALEEBaw4E+wHuAewB6wHUAgsgAUEBaiEBDPoBCyABIARHBEADQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxIgBBCUYNACAAQSBGDQACQAJAAkACQCAAQeMAaw4TAAMDAwMDAwMBAwMDAwMDAwMDAgMLIAFBAWohAUExIQMM3AILIAFBAWohAUEyIQMM2wILIAFBAWohAUEzIQMM2gILDP4BCyAEIAFBAWoiAUcNAAtBNSEDDPACC0E1IQMM7wILIAEgBEcEQANAIAEtAABBgDxqLQAAQQFHDfcBIAQgAUEBaiIBRw0AC0E9IQMM7wILQT0hAwzuAgtBACEAAkAgAigCOCIDRQ0AIAMoAkAiA0UNACACIAMRAAAhAAsgAEUNASAAQRVHDeYBIAJBwgA2AhwgAiABNgIUIAJB4xg2AhAgAkEVNgIMQQAhAwztAgsgAUEBaiEBC0E8IQMM0gILIAEgBEYEQEHCACEDDOsCCwJAA0ACQCABLQAAQQlrDhgAAswCzALRAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAswCzALMAgDMAgsgBCABQQFqIgFHDQALQcIAIQMM6wILIAFBAWohASACLQAtQQFxRQ3+AQtBLCEDDNACCyABIARHDd4BQcQAIQMM6AILA0AgAS0AAEGQwABqLQAAQQFHDZwBIAQgAUEBaiIBRw0AC0HFACEDDOcCCyABLQAAIgBBIEYN/gEgAEE6Rw3AAiACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgAN3gEM3QELQccAIQMgBCABIgBGDeUCIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFBkMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvwIgAUEFRg3CAiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzlAgtByAAhAyAEIAEiAEYN5AIgBCABayACKAIAIgFqIQcgACABa0EJaiEGA0AgAUGWwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw2+AkECIAFBCUYNwgIaIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOQCCyABIARGBEBByQAhAwzkAgsCQAJAIAEtAAAiAEEgciAAIABBwQBrQf8BcUEaSRtB/wFxQe4Aaw4HAL8CvwK/Ar8CvwIBvwILIAFBAWohAUE+IQMMywILIAFBAWohAUE/IQMMygILQcoAIQMgBCABIgBGDeICIAQgAWsgAigCACIBaiEGIAAgAWtBAWohBwNAIAFBoMIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNvAIgAUEBRg2+AiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBjYCAAziAgtBywAhAyAEIAEiAEYN4QIgBCABayACKAIAIgFqIQcgACABa0EOaiEGA0AgAUGiwgBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw27AiABQQ5GDb4CIAFBAWohASAEIABBAWoiAEcNAAsgAiAHNgIADOECC0HMACEDIAQgASIARg3gAiAEIAFrIAIoAgAiAWohByAAIAFrQQ9qIQYDQCABQcDCAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDboCQQMgAUEPRg2+AhogAUEBaiEBIAQgAEEBaiIARw0ACyACIAc2AgAM4AILQc0AIQMgBCABIgBGDd8CIAQgAWsgAigCACIBaiEHIAAgAWtBBWohBgNAIAFB0MIAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNuQJBBCABQQVGDb0CGiABQQFqIQEgBCAAQQFqIgBHDQALIAIgBzYCAAzfAgsgASAERgRAQc4AIQMM3wILAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAvAK8ArwCvAK8ArwCvAK8ArwCvAK8ArwCAbwCvAK8AgIDvAILIAFBAWohAUHBACEDDMgCCyABQQFqIQFBwgAhAwzHAgsgAUEBaiEBQcMAIQMMxgILIAFBAWohAUHEACEDDMUCCyABIARHBEAgAkENNgIIIAIgATYCBEHFACEDDMUCC0HPACEDDN0CCwJAAkAgAS0AAEEKaw4EAZABkAEAkAELIAFBAWohAQtBKCEDDMMCCyABIARGBEBB0QAhAwzcAgsgAS0AAEEgRw0AIAFBAWohASACLQAtQQFxRQ3QAQtBFyEDDMECCyABIARHDcsBQdIAIQMM2QILQdMAIQMgASAERg3YAiACKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABB1sIAai0AAEcNxwEgAEEBRg3KASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBjYCAAzYAgsgASAERgRAQdUAIQMM2AILIAEtAABBCkcNwgEgAUEBaiEBDMoBCyABIARGBEBB1gAhAwzXAgsCQAJAIAEtAABBCmsOBADDAcMBAcMBCyABQQFqIQEMygELIAFBAWohAUHKACEDDL0CC0EAIQACQCACKAI4IgNFDQAgAygCPCIDRQ0AIAIgAxEAACEACyAADb8BQc0AIQMMvAILIAItAClBIkYNzwIMiQELIAQgASIFRgRAQdsAIQMM1AILQQAhAEEBIQFBASEGQQAhAwJAAn8CQAJAAkACQAJAAkACQCAFLQAAQTBrDgrFAcQBAAECAwQFBgjDAQtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshA0EAIQFBACEGDL0BC0EJIQNBASEAQQAhAUEAIQYMvAELIAEgBEYEQEHdACEDDNMCCyABLQAAQS5HDbgBIAFBAWohAQyIAQsgASAERw22AUHfACEDDNECCyABIARHBEAgAkEONgIIIAIgATYCBEHQACEDDLgCC0HgACEDDNACC0HhACEDIAEgBEYNzwIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGA0AgAS0AACAAQeLCAGotAABHDbEBIABBA0YNswEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMzwILQeIAIQMgASAERg3OAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYDQCABLQAAIABB5sIAai0AAEcNsAEgAEECRg2vASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAzOAgtB4wAhAyABIARGDc0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgNAIAEtAAAgAEHpwgBqLQAARw2vASAAQQNGDa0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADM0CCyABIARGBEBB5QAhAwzNAgsgAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANqgFB1gAhAwyzAgsgASAERwRAA0AgAS0AACIAQSBHBEACQAJAAkAgAEHIAGsOCwABswGzAbMBswGzAbMBswGzAQKzAQsgAUEBaiEBQdIAIQMMtwILIAFBAWohAUHTACEDDLYCCyABQQFqIQFB1AAhAwy1AgsgBCABQQFqIgFHDQALQeQAIQMMzAILQeQAIQMMywILA0AgAS0AAEHwwgBqLQAAIgBBAUcEQCAAQQJrDgOnAaYBpQGkAQsgBCABQQFqIgFHDQALQeYAIQMMygILIAFBAWogASAERw0CGkHnACEDDMkCCwNAIAEtAABB8MQAai0AACIAQQFHBEACQCAAQQJrDgSiAaEBoAEAnwELQdcAIQMMsQILIAQgAUEBaiIBRw0AC0HoACEDDMgCCyABIARGBEBB6QAhAwzIAgsCQCABLQAAIgBBCmsOGrcBmwGbAbQBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBmwGbAZsBpAGbAZsBAJkBCyABQQFqCyEBQQYhAwytAgsDQCABLQAAQfDGAGotAABBAUcNfSAEIAFBAWoiAUcNAAtB6gAhAwzFAgsgAUEBaiABIARHDQIaQesAIQMMxAILIAEgBEYEQEHsACEDDMQCCyABQQFqDAELIAEgBEYEQEHtACEDDMMCCyABQQFqCyEBQQQhAwyoAgsgASAERgRAQe4AIQMMwQILAkACQAJAIAEtAABB8MgAai0AAEEBaw4HkAGPAY4BAHwBAo0BCyABQQFqIQEMCwsgAUEBagyTAQtBACEDIAJBADYCHCACQZsSNgIQIAJBBzYCDCACIAFBAWo2AhQMwAILAkADQCABLQAAQfDIAGotAAAiAEEERwRAAkACQCAAQQFrDgeUAZMBkgGNAQAEAY0BC0HaACEDDKoCCyABQQFqIQFB3AAhAwypAgsgBCABQQFqIgFHDQALQe8AIQMMwAILIAFBAWoMkQELIAQgASIARgRAQfAAIQMMvwILIAAtAABBL0cNASAAQQFqIQEMBwsgBCABIgBGBEBB8QAhAwy+AgsgAC0AACIBQS9GBEAgAEEBaiEBQd0AIQMMpQILIAFBCmsiA0EWSw0AIAAhAUEBIAN0QYmAgAJxDfkBC0EAIQMgAkEANgIcIAIgADYCFCACQYwcNgIQIAJBBzYCDAy8AgsgASAERwRAIAFBAWohAUHeACEDDKMCC0HyACEDDLsCCyABIARGBEBB9AAhAwy7AgsCQCABLQAAQfDMAGotAABBAWsOA/cBcwCCAQtB4QAhAwyhAgsgASAERwRAA0AgAS0AAEHwygBqLQAAIgBBA0cEQAJAIABBAWsOAvkBAIUBC0HfACEDDKMCCyAEIAFBAWoiAUcNAAtB8wAhAwy6AgtB8wAhAwy5AgsgASAERwRAIAJBDzYCCCACIAE2AgRB4AAhAwygAgtB9QAhAwy4AgsgASAERgRAQfYAIQMMuAILIAJBDzYCCCACIAE2AgQLQQMhAwydAgsDQCABLQAAQSBHDY4CIAQgAUEBaiIBRw0AC0H3ACEDDLUCCyABIARGBEBB+AAhAwy1AgsgAS0AAEEgRw16IAFBAWohAQxbC0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAADXgMgAILIAEgBEYEQEH6ACEDDLMCCyABLQAAQcwARw10IAFBAWohAUETDHYLQfsAIQMgASAERg2xAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYDQCABLQAAIABB8M4Aai0AAEcNcyAAQQVGDXUgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMsQILIAEgBEYEQEH8ACEDDLECCwJAAkAgAS0AAEHDAGsODAB0dHR0dHR0dHR0AXQLIAFBAWohAUHmACEDDJgCCyABQQFqIQFB5wAhAwyXAgtB/QAhAyABIARGDa8CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDXIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADLACCyACQQA2AgAgBkEBaiEBQRAMcwtB/gAhAyABIARGDa4CIAIoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQfbOAGotAABHDXEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK8CCyACQQA2AgAgBkEBaiEBQRYMcgtB/wAhAyABIARGDa0CIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQfzOAGotAABHDXAgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADK4CCyACQQA2AgAgBkEBaiEBQQUMcQsgASAERgRAQYABIQMMrQILIAEtAABB2QBHDW4gAUEBaiEBQQgMcAsgASAERgRAQYEBIQMMrAILAkACQCABLQAAQc4Aaw4DAG8BbwsgAUEBaiEBQesAIQMMkwILIAFBAWohAUHsACEDDJICCyABIARGBEBBggEhAwyrAgsCQAJAIAEtAABByABrDggAbm5ubm5uAW4LIAFBAWohAUHqACEDDJICCyABQQFqIQFB7QAhAwyRAgtBgwEhAyABIARGDakCIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQYDPAGotAABHDWwgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKoCCyACQQA2AgAgBkEBaiEBQQAMbQtBhAEhAyABIARGDagCIAIoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQYPPAGotAABHDWsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADKkCCyACQQA2AgAgBkEBaiEBQSMMbAsgASAERgRAQYUBIQMMqAILAkACQCABLQAAQcwAaw4IAGtra2trawFrCyABQQFqIQFB7wAhAwyPAgsgAUEBaiEBQfAAIQMMjgILIAEgBEYEQEGGASEDDKcCCyABLQAAQcUARw1oIAFBAWohAQxgC0GHASEDIAEgBEYNpQIgAigCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBiM8Aai0AAEcNaCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpgILIAJBADYCACAGQQFqIQFBLQxpC0GIASEDIAEgBEYNpAIgAigCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABB0M8Aai0AAEcNZyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMpQILIAJBADYCACAGQQFqIQFBKQxoCyABIARGBEBBiQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv', 'base64')\n","'use strict'\n\nconst { Buffer } = require('node:buffer')\n\nmodule.exports = Buffer.from('AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVuaWVudF9oZWFkZXJzACEhbGxodHRwX3NldF9sZW5pZW50X2NodW5rZWRfbGVuZ3RoACIdbGxodHRwX3NldF9sZW5pZW50X2tlZXBfYWxpdmUAIyRsbGh0dHBfc2V0X2xlbmllbnRfdHJhbnNmZXJfZW5jb2RpbmcAJBhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YALgkXAQBBAQsRAQIDBAUKBgcrLSwqKSglJyYK77MCLBYAQYjQACgCAARAAAtBiNAAQQE2AgALFAAgABAwIAAgAjYCOCAAIAE6ACgLFAAgACAALwEyIAAtAC4gABAvEAALHgEBf0HAABAyIgEQMCABQYAINgI4IAEgADoAKCABC48MAQd/AkAgAEUNACAAQQhrIgEgAEEEaygCACIAQXhxIgRqIQUCQCAAQQFxDQAgAEEDcUUNASABIAEoAgAiAGsiAUGc0AAoAgBJDQEgACAEaiEEAkACQEGg0AAoAgAgAUcEQCAAQf8BTQRAIABBA3YhAyABKAIIIgAgASgCDCICRgRAQYzQAEGM0AAoAgBBfiADd3E2AgAMBQsgAiAANgIIIAAgAjYCDAwECyABKAIYIQYgASABKAIMIgBHBEAgACABKAIIIgI2AgggAiAANgIMDAMLIAFBFGoiAygCACICRQRAIAEoAhAiAkUNAiABQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFKAIEIgBBA3FBA0cNAiAFIABBfnE2AgRBlNAAIAQ2AgAgBSAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCABKAIcIgJBAnRBvNIAaiIDKAIAIAFGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgAUYbaiAANgIAIABFDQELIAAgBjYCGCABKAIQIgIEQCAAIAI2AhAgAiAANgIYCyABQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAFTw0AIAUoAgQiAEEBcUUNAAJAAkACQAJAIABBAnFFBEBBpNAAKAIAIAVGBEBBpNAAIAE2AgBBmNAAQZjQACgCACAEaiIANgIAIAEgAEEBcjYCBCABQaDQACgCAEcNBkGU0ABBADYCAEGg0ABBADYCAAwGC0Gg0AAoAgAgBUYEQEGg0AAgATYCAEGU0ABBlNAAKAIAIARqIgA2AgAgASAAQQFyNgIEIAAgAWogADYCAAwGCyAAQXhxIARqIQQgAEH/AU0EQCAAQQN2IQMgBSgCCCIAIAUoAgwiAkYEQEGM0ABBjNAAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgBSgCGCEGIAUgBSgCDCIARwRAQZzQACgCABogACAFKAIIIgI2AgggAiAANgIMDAMLIAVBFGoiAygCACICRQRAIAUoAhAiAkUNAiAFQRBqIQMLA0AgAyEHIAIiAEEUaiIDKAIAIgINACAAQRBqIQMgACgCECICDQALIAdBADYCAAwCCyAFIABBfnE2AgQgASAEaiAENgIAIAEgBEEBcjYCBAwDC0EAIQALIAZFDQACQCAFKAIcIgJBAnRBvNIAaiIDKAIAIAVGBEAgAyAANgIAIAANAUGQ0ABBkNAAKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiAANgIAIABFDQELIAAgBjYCGCAFKAIQIgIEQCAAIAI2AhAgAiAANgIYCyAFQRRqKAIAIgJFDQAgAEEUaiACNgIAIAIgADYCGAsgASAEaiAENgIAIAEgBEEBcjYCBCABQaDQACgCAEcNAEGU0AAgBDYCAAwBCyAEQf8BTQRAIARBeHFBtNAAaiEAAn9BjNAAKAIAIgJBASAEQQN2dCIDcUUEQEGM0AAgAiADcjYCACAADAELIAAoAggLIgIgATYCDCAAIAE2AgggASAANgIMIAEgAjYCCAwBC0EfIQIgBEH///8HTQRAIARBJiAEQQh2ZyIAa3ZBAXEgAEEBdGtBPmohAgsgASACNgIcIAFCADcCECACQQJ0QbzSAGohAAJAQZDQACgCACIDQQEgAnQiB3FFBEAgACABNgIAQZDQACADIAdyNgIAIAEgADYCGCABIAE2AgggASABNgIMDAELIARBGSACQQF2a0EAIAJBH0cbdCECIAAoAgAhAAJAA0AgACIDKAIEQXhxIARGDQEgAkEddiEAIAJBAXQhAiADIABBBHFqQRBqIgcoAgAiAA0ACyAHIAE2AgAgASADNgIYIAEgATYCDCABIAE2AggMAQsgAygCCCIAIAE2AgwgAyABNgIIIAFBADYCGCABIAM2AgwgASAANgIIC0Gs0ABBrNAAKAIAQQFrIgBBfyAAGzYCAAsLBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LQAEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABAwIAAgBDYCOCAAIAM6ACggACACOgAtIAAgATYCGAu74gECB38DfiABIAJqIQQCQCAAIgIoAgwiAA0AIAIoAgQEQCACIAE2AgQLIwBBEGsiCCQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAIoAhwiA0EBaw7dAdoBAdkBAgMEBQYHCAkKCwwNDtgBDxDXARES1gETFBUWFxgZGhvgAd8BHB0e1QEfICEiIyQl1AEmJygpKiss0wHSAS0u0QHQAS8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRtsBR0hJSs8BzgFLzQFMzAFNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBywHKAbgByQG5AcgBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgEA3AELQQAMxgELQQ4MxQELQQ0MxAELQQ8MwwELQRAMwgELQRMMwQELQRQMwAELQRUMvwELQRYMvgELQRgMvQELQRkMvAELQRoMuwELQRsMugELQRwMuQELQR0MuAELQQgMtwELQR4MtgELQSAMtQELQR8MtAELQQcMswELQSEMsgELQSIMsQELQSMMsAELQSQMrwELQRIMrgELQREMrQELQSUMrAELQSYMqwELQScMqgELQSgMqQELQcMBDKgBC0EqDKcBC0ErDKYBC0EsDKUBC0EtDKQBC0EuDKMBC0EvDKIBC0HEAQyhAQtBMAygAQtBNAyfAQtBDAyeAQtBMQydAQtBMgycAQtBMwybAQtBOQyaAQtBNQyZAQtBxQEMmAELQQsMlwELQToMlgELQTYMlQELQQoMlAELQTcMkwELQTgMkgELQTwMkQELQTsMkAELQT0MjwELQQkMjgELQSkMjQELQT4MjAELQT8MiwELQcAADIoBC0HBAAyJAQtBwgAMiAELQcMADIcBC0HEAAyGAQtBxQAMhQELQcYADIQBC0EXDIMBC0HHAAyCAQtByAAMgQELQckADIABC0HKAAx/C0HLAAx+C0HNAAx9C0HMAAx8C0HOAAx7C0HPAAx6C0HQAAx5C0HRAAx4C0HSAAx3C0HTAAx2C0HUAAx1C0HWAAx0C0HVAAxzC0EGDHILQdcADHELQQUMcAtB2AAMbwtBBAxuC0HZAAxtC0HaAAxsC0HbAAxrC0HcAAxqC0EDDGkLQd0ADGgLQd4ADGcLQd8ADGYLQeEADGULQeAADGQLQeIADGMLQeMADGILQQIMYQtB5AAMYAtB5QAMXwtB5gAMXgtB5wAMXQtB6AAMXAtB6QAMWwtB6gAMWgtB6wAMWQtB7AAMWAtB7QAMVwtB7gAMVgtB7wAMVQtB8AAMVAtB8QAMUwtB8gAMUgtB8wAMUQtB9AAMUAtB9QAMTwtB9gAMTgtB9wAMTQtB+AAMTAtB+QAMSwtB+gAMSgtB+wAMSQtB/AAMSAtB/QAMRwtB/gAMRgtB/wAMRQtBgAEMRAtBgQEMQwtBggEMQgtBgwEMQQtBhAEMQAtBhQEMPwtBhgEMPgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==', 'base64')\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.enumToMap = void 0;\nfunction enumToMap(obj) {\n const res = {};\n Object.keys(obj).forEach((key) => {\n const value = obj[key];\n if (typeof value === 'number') {\n res[key] = value;\n }\n });\n return res;\n}\nexports.enumToMap = enumToMap;\n//# sourceMappingURL=utils.js.map","'use strict'\n\nconst { kClients } = require('../core/symbols')\nconst Agent = require('../dispatcher/agent')\nconst {\n kAgent,\n kMockAgentSet,\n kMockAgentGet,\n kDispatches,\n kIsMockActive,\n kNetConnect,\n kGetNetConnect,\n kOptions,\n kFactory\n} = require('./mock-symbols')\nconst MockClient = require('./mock-client')\nconst MockPool = require('./mock-pool')\nconst { matchValue, buildMockOptions } = require('./mock-utils')\nconst { InvalidArgumentError, UndiciError } = require('../core/errors')\nconst Dispatcher = require('../dispatcher/dispatcher')\nconst Pluralizer = require('./pluralizer')\nconst PendingInterceptorsFormatter = require('./pending-interceptors-formatter')\n\nclass MockAgent extends Dispatcher {\n constructor (opts) {\n super(opts)\n\n this[kNetConnect] = true\n this[kIsMockActive] = true\n\n // Instantiate Agent and encapsulate\n if ((opts?.agent && typeof opts.agent.dispatch !== 'function')) {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n const agent = opts?.agent ? opts.agent : new Agent(opts)\n this[kAgent] = agent\n\n this[kClients] = agent[kClients]\n this[kOptions] = buildMockOptions(opts)\n }\n\n get (origin) {\n let dispatcher = this[kMockAgentGet](origin)\n\n if (!dispatcher) {\n dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n }\n return dispatcher\n }\n\n dispatch (opts, handler) {\n // Call MockAgent.get to perform additional setup before dispatching as normal\n this.get(opts.origin)\n return this[kAgent].dispatch(opts, handler)\n }\n\n async close () {\n await this[kAgent].close()\n this[kClients].clear()\n }\n\n deactivate () {\n this[kIsMockActive] = false\n }\n\n activate () {\n this[kIsMockActive] = true\n }\n\n enableNetConnect (matcher) {\n if (typeof matcher === 'string' || typeof matcher === 'function' || matcher instanceof RegExp) {\n if (Array.isArray(this[kNetConnect])) {\n this[kNetConnect].push(matcher)\n } else {\n this[kNetConnect] = [matcher]\n }\n } else if (typeof matcher === 'undefined') {\n this[kNetConnect] = true\n } else {\n throw new InvalidArgumentError('Unsupported matcher. Must be one of String|Function|RegExp.')\n }\n }\n\n disableNetConnect () {\n this[kNetConnect] = false\n }\n\n // This is required to bypass issues caused by using global symbols - see:\n // https://github.com/nodejs/undici/issues/1447\n get isMockActive () {\n return this[kIsMockActive]\n }\n\n [kMockAgentSet] (origin, dispatcher) {\n this[kClients].set(origin, dispatcher)\n }\n\n [kFactory] (origin) {\n const mockOptions = Object.assign({ agent: this }, this[kOptions])\n return this[kOptions] && this[kOptions].connections === 1\n ? new MockClient(origin, mockOptions)\n : new MockPool(origin, mockOptions)\n }\n\n [kMockAgentGet] (origin) {\n // First check if we can immediately find it\n const client = this[kClients].get(origin)\n if (client) {\n return client\n }\n\n // If the origin is not a string create a dummy parent pool and return to user\n if (typeof origin !== 'string') {\n const dispatcher = this[kFactory]('http://localhost:9999')\n this[kMockAgentSet](origin, dispatcher)\n return dispatcher\n }\n\n // If we match, create a pool and assign the same dispatches\n for (const [keyMatcher, nonExplicitDispatcher] of Array.from(this[kClients])) {\n if (nonExplicitDispatcher && typeof keyMatcher !== 'string' && matchValue(keyMatcher, origin)) {\n const dispatcher = this[kFactory](origin)\n this[kMockAgentSet](origin, dispatcher)\n dispatcher[kDispatches] = nonExplicitDispatcher[kDispatches]\n return dispatcher\n }\n }\n }\n\n [kGetNetConnect] () {\n return this[kNetConnect]\n }\n\n pendingInterceptors () {\n const mockAgentClients = this[kClients]\n\n return Array.from(mockAgentClients.entries())\n .flatMap(([origin, scope]) => scope[kDispatches].map(dispatch => ({ ...dispatch, origin })))\n .filter(({ pending }) => pending)\n }\n\n assertNoPendingInterceptors ({ pendingInterceptorsFormatter = new PendingInterceptorsFormatter() } = {}) {\n const pending = this.pendingInterceptors()\n\n if (pending.length === 0) {\n return\n }\n\n const pluralizer = new Pluralizer('interceptor', 'interceptors').pluralize(pending.length)\n\n throw new UndiciError(`\n${pluralizer.count} ${pluralizer.noun} ${pluralizer.is} pending:\n\n${pendingInterceptorsFormatter.format(pending)}\n`.trim())\n }\n}\n\nmodule.exports = MockAgent\n","'use strict'\n\nconst { promisify } = require('node:util')\nconst Client = require('../dispatcher/client')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockClient provides an API that extends the Client to influence the mockDispatches.\n */\nclass MockClient extends Client {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockClient\n","'use strict'\n\nconst { UndiciError } = require('../core/errors')\n\nconst kMockNotMatchedError = Symbol.for('undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED')\n\n/**\n * The request does not match any registered mock dispatches.\n */\nclass MockNotMatchedError extends UndiciError {\n constructor (message) {\n super(message)\n Error.captureStackTrace(this, MockNotMatchedError)\n this.name = 'MockNotMatchedError'\n this.message = message || 'The request does not match any registered mock dispatches'\n this.code = 'UND_MOCK_ERR_MOCK_NOT_MATCHED'\n }\n\n static [Symbol.hasInstance] (instance) {\n return instance && instance[kMockNotMatchedError] === true\n }\n\n [kMockNotMatchedError] = true\n}\n\nmodule.exports = {\n MockNotMatchedError\n}\n","'use strict'\n\nconst { getResponseData, buildKey, addMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kDispatchKey,\n kDefaultHeaders,\n kDefaultTrailers,\n kContentLength,\n kMockDispatch\n} = require('./mock-symbols')\nconst { InvalidArgumentError } = require('../core/errors')\nconst { buildURL } = require('../core/util')\n\n/**\n * Defines the scope API for an interceptor reply\n */\nclass MockScope {\n constructor (mockDispatch) {\n this[kMockDispatch] = mockDispatch\n }\n\n /**\n * Delay a reply by a set amount in ms.\n */\n delay (waitInMs) {\n if (typeof waitInMs !== 'number' || !Number.isInteger(waitInMs) || waitInMs <= 0) {\n throw new InvalidArgumentError('waitInMs must be a valid integer > 0')\n }\n\n this[kMockDispatch].delay = waitInMs\n return this\n }\n\n /**\n * For a defined reply, never mark as consumed.\n */\n persist () {\n this[kMockDispatch].persist = true\n return this\n }\n\n /**\n * Allow one to define a reply for a set amount of matching requests.\n */\n times (repeatTimes) {\n if (typeof repeatTimes !== 'number' || !Number.isInteger(repeatTimes) || repeatTimes <= 0) {\n throw new InvalidArgumentError('repeatTimes must be a valid integer > 0')\n }\n\n this[kMockDispatch].times = repeatTimes\n return this\n }\n}\n\n/**\n * Defines an interceptor for a Mock\n */\nclass MockInterceptor {\n constructor (opts, mockDispatches) {\n if (typeof opts !== 'object') {\n throw new InvalidArgumentError('opts must be an object')\n }\n if (typeof opts.path === 'undefined') {\n throw new InvalidArgumentError('opts.path must be defined')\n }\n if (typeof opts.method === 'undefined') {\n opts.method = 'GET'\n }\n // See https://github.com/nodejs/undici/issues/1245\n // As per RFC 3986, clients are not supposed to send URI\n // fragments to servers when they retrieve a document,\n if (typeof opts.path === 'string') {\n if (opts.query) {\n opts.path = buildURL(opts.path, opts.query)\n } else {\n // Matches https://github.com/nodejs/undici/blob/main/lib/web/fetch/index.js#L1811\n const parsedURL = new URL(opts.path, 'data://')\n opts.path = parsedURL.pathname + parsedURL.search\n }\n }\n if (typeof opts.method === 'string') {\n opts.method = opts.method.toUpperCase()\n }\n\n this[kDispatchKey] = buildKey(opts)\n this[kDispatches] = mockDispatches\n this[kDefaultHeaders] = {}\n this[kDefaultTrailers] = {}\n this[kContentLength] = false\n }\n\n createMockScopeDispatchData ({ statusCode, data, responseOptions }) {\n const responseData = getResponseData(data)\n const contentLength = this[kContentLength] ? { 'content-length': responseData.length } : {}\n const headers = { ...this[kDefaultHeaders], ...contentLength, ...responseOptions.headers }\n const trailers = { ...this[kDefaultTrailers], ...responseOptions.trailers }\n\n return { statusCode, data, headers, trailers }\n }\n\n validateReplyParameters (replyParameters) {\n if (typeof replyParameters.statusCode === 'undefined') {\n throw new InvalidArgumentError('statusCode must be defined')\n }\n if (typeof replyParameters.responseOptions !== 'object' || replyParameters.responseOptions === null) {\n throw new InvalidArgumentError('responseOptions must be an object')\n }\n }\n\n /**\n * Mock an undici request with a defined reply.\n */\n reply (replyOptionsCallbackOrStatusCode) {\n // Values of reply aren't available right now as they\n // can only be available when the reply callback is invoked.\n if (typeof replyOptionsCallbackOrStatusCode === 'function') {\n // We'll first wrap the provided callback in another function,\n // this function will properly resolve the data from the callback\n // when invoked.\n const wrappedDefaultsCallback = (opts) => {\n // Our reply options callback contains the parameter for statusCode, data and options.\n const resolvedData = replyOptionsCallbackOrStatusCode(opts)\n\n // Check if it is in the right format\n if (typeof resolvedData !== 'object' || resolvedData === null) {\n throw new InvalidArgumentError('reply options callback must return an object')\n }\n\n const replyParameters = { data: '', responseOptions: {}, ...resolvedData }\n this.validateReplyParameters(replyParameters)\n // Since the values can be obtained immediately we return them\n // from this higher order function that will be resolved later.\n return {\n ...this.createMockScopeDispatchData(replyParameters)\n }\n }\n\n // Add usual dispatch data, but this time set the data parameter to function that will eventually provide data.\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], wrappedDefaultsCallback)\n return new MockScope(newMockDispatch)\n }\n\n // We can have either one or three parameters, if we get here,\n // we should have 1-3 parameters. So we spread the arguments of\n // this function to obtain the parameters, since replyData will always\n // just be the statusCode.\n const replyParameters = {\n statusCode: replyOptionsCallbackOrStatusCode,\n data: arguments[1] === undefined ? '' : arguments[1],\n responseOptions: arguments[2] === undefined ? {} : arguments[2]\n }\n this.validateReplyParameters(replyParameters)\n\n // Send in-already provided data like usual\n const dispatchData = this.createMockScopeDispatchData(replyParameters)\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], dispatchData)\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Mock an undici request with a defined error.\n */\n replyWithError (error) {\n if (typeof error === 'undefined') {\n throw new InvalidArgumentError('error must be defined')\n }\n\n const newMockDispatch = addMockDispatch(this[kDispatches], this[kDispatchKey], { error })\n return new MockScope(newMockDispatch)\n }\n\n /**\n * Set default reply headers on the interceptor for subsequent replies\n */\n defaultReplyHeaders (headers) {\n if (typeof headers === 'undefined') {\n throw new InvalidArgumentError('headers must be defined')\n }\n\n this[kDefaultHeaders] = headers\n return this\n }\n\n /**\n * Set default reply trailers on the interceptor for subsequent replies\n */\n defaultReplyTrailers (trailers) {\n if (typeof trailers === 'undefined') {\n throw new InvalidArgumentError('trailers must be defined')\n }\n\n this[kDefaultTrailers] = trailers\n return this\n }\n\n /**\n * Set reply content length header for replies on the interceptor\n */\n replyContentLength () {\n this[kContentLength] = true\n return this\n }\n}\n\nmodule.exports.MockInterceptor = MockInterceptor\nmodule.exports.MockScope = MockScope\n","'use strict'\n\nconst { promisify } = require('node:util')\nconst Pool = require('../dispatcher/pool')\nconst { buildMockDispatch } = require('./mock-utils')\nconst {\n kDispatches,\n kMockAgent,\n kClose,\n kOriginalClose,\n kOrigin,\n kOriginalDispatch,\n kConnected\n} = require('./mock-symbols')\nconst { MockInterceptor } = require('./mock-interceptor')\nconst Symbols = require('../core/symbols')\nconst { InvalidArgumentError } = require('../core/errors')\n\n/**\n * MockPool provides an API that extends the Pool to influence the mockDispatches.\n */\nclass MockPool extends Pool {\n constructor (origin, opts) {\n super(origin, opts)\n\n if (!opts || !opts.agent || typeof opts.agent.dispatch !== 'function') {\n throw new InvalidArgumentError('Argument opts.agent must implement Agent')\n }\n\n this[kMockAgent] = opts.agent\n this[kOrigin] = origin\n this[kDispatches] = []\n this[kConnected] = 1\n this[kOriginalDispatch] = this.dispatch\n this[kOriginalClose] = this.close.bind(this)\n\n this.dispatch = buildMockDispatch.call(this)\n this.close = this[kClose]\n }\n\n get [Symbols.kConnected] () {\n return this[kConnected]\n }\n\n /**\n * Sets up the base interceptor for mocking replies from undici.\n */\n intercept (opts) {\n return new MockInterceptor(opts, this[kDispatches])\n }\n\n async [kClose] () {\n await promisify(this[kOriginalClose])()\n this[kConnected] = 0\n this[kMockAgent][Symbols.kClients].delete(this[kOrigin])\n }\n}\n\nmodule.exports = MockPool\n","'use strict'\n\nmodule.exports = {\n kAgent: Symbol('agent'),\n kOptions: Symbol('options'),\n kFactory: Symbol('factory'),\n kDispatches: Symbol('dispatches'),\n kDispatchKey: Symbol('dispatch key'),\n kDefaultHeaders: Symbol('default headers'),\n kDefaultTrailers: Symbol('default trailers'),\n kContentLength: Symbol('content length'),\n kMockAgent: Symbol('mock agent'),\n kMockAgentSet: Symbol('mock agent set'),\n kMockAgentGet: Symbol('mock agent get'),\n kMockDispatch: Symbol('mock dispatch'),\n kClose: Symbol('close'),\n kOriginalClose: Symbol('original agent close'),\n kOrigin: Symbol('origin'),\n kIsMockActive: Symbol('is mock active'),\n kNetConnect: Symbol('net connect'),\n kGetNetConnect: Symbol('get net connect'),\n kConnected: Symbol('connected')\n}\n","'use strict'\n\nconst { MockNotMatchedError } = require('./mock-errors')\nconst {\n kDispatches,\n kMockAgent,\n kOriginalDispatch,\n kOrigin,\n kGetNetConnect\n} = require('./mock-symbols')\nconst { buildURL } = require('../core/util')\nconst { STATUS_CODES } = require('node:http')\nconst {\n types: {\n isPromise\n }\n} = require('node:util')\n\nfunction matchValue (match, value) {\n if (typeof match === 'string') {\n return match === value\n }\n if (match instanceof RegExp) {\n return match.test(value)\n }\n if (typeof match === 'function') {\n return match(value) === true\n }\n return false\n}\n\nfunction lowerCaseEntries (headers) {\n return Object.fromEntries(\n Object.entries(headers).map(([headerName, headerValue]) => {\n return [headerName.toLocaleLowerCase(), headerValue]\n })\n )\n}\n\n/**\n * @param {import('../../index').Headers|string[]|Record} headers\n * @param {string} key\n */\nfunction getHeaderByName (headers, key) {\n if (Array.isArray(headers)) {\n for (let i = 0; i < headers.length; i += 2) {\n if (headers[i].toLocaleLowerCase() === key.toLocaleLowerCase()) {\n return headers[i + 1]\n }\n }\n\n return undefined\n } else if (typeof headers.get === 'function') {\n return headers.get(key)\n } else {\n return lowerCaseEntries(headers)[key.toLocaleLowerCase()]\n }\n}\n\n/** @param {string[]} headers */\nfunction buildHeadersFromArray (headers) { // fetch HeadersList\n const clone = headers.slice()\n const entries = []\n for (let index = 0; index < clone.length; index += 2) {\n entries.push([clone[index], clone[index + 1]])\n }\n return Object.fromEntries(entries)\n}\n\nfunction matchHeaders (mockDispatch, headers) {\n if (typeof mockDispatch.headers === 'function') {\n if (Array.isArray(headers)) { // fetch HeadersList\n headers = buildHeadersFromArray(headers)\n }\n return mockDispatch.headers(headers ? lowerCaseEntries(headers) : {})\n }\n if (typeof mockDispatch.headers === 'undefined') {\n return true\n }\n if (typeof headers !== 'object' || typeof mockDispatch.headers !== 'object') {\n return false\n }\n\n for (const [matchHeaderName, matchHeaderValue] of Object.entries(mockDispatch.headers)) {\n const headerValue = getHeaderByName(headers, matchHeaderName)\n\n if (!matchValue(matchHeaderValue, headerValue)) {\n return false\n }\n }\n return true\n}\n\nfunction safeUrl (path) {\n if (typeof path !== 'string') {\n return path\n }\n\n const pathSegments = path.split('?')\n\n if (pathSegments.length !== 2) {\n return path\n }\n\n const qp = new URLSearchParams(pathSegments.pop())\n qp.sort()\n return [...pathSegments, qp.toString()].join('?')\n}\n\nfunction matchKey (mockDispatch, { path, method, body, headers }) {\n const pathMatch = matchValue(mockDispatch.path, path)\n const methodMatch = matchValue(mockDispatch.method, method)\n const bodyMatch = typeof mockDispatch.body !== 'undefined' ? matchValue(mockDispatch.body, body) : true\n const headersMatch = matchHeaders(mockDispatch, headers)\n return pathMatch && methodMatch && bodyMatch && headersMatch\n}\n\nfunction getResponseData (data) {\n if (Buffer.isBuffer(data)) {\n return data\n } else if (data instanceof Uint8Array) {\n return data\n } else if (data instanceof ArrayBuffer) {\n return data\n } else if (typeof data === 'object') {\n return JSON.stringify(data)\n } else {\n return data.toString()\n }\n}\n\nfunction getMockDispatch (mockDispatches, key) {\n const basePath = key.query ? buildURL(key.path, key.query) : key.path\n const resolvedPath = typeof basePath === 'string' ? safeUrl(basePath) : basePath\n\n // Match path\n let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path }) => matchValue(safeUrl(path), resolvedPath))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`)\n }\n\n // Match method\n matchedMockDispatches = matchedMockDispatches.filter(({ method }) => matchValue(method, key.method))\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for method '${key.method}' on path '${resolvedPath}'`)\n }\n\n // Match body\n matchedMockDispatches = matchedMockDispatches.filter(({ body }) => typeof body !== 'undefined' ? matchValue(body, key.body) : true)\n if (matchedMockDispatches.length === 0) {\n throw new MockNotMatchedError(`Mock dispatch not matched for body '${key.body}' on path '${resolvedPath}'`)\n }\n\n // Match headers\n matchedMockDispatches = matchedMockDispatches.filter((mockDispatch) => matchHeaders(mockDispatch, key.headers))\n if (matchedMockDispatches.length === 0) {\n const headers = typeof key.headers === 'object' ? JSON.stringify(key.headers) : key.headers\n throw new MockNotMatchedError(`Mock dispatch not matched for headers '${headers}' on path '${resolvedPath}'`)\n }\n\n return matchedMockDispatches[0]\n}\n\nfunction addMockDispatch (mockDispatches, key, data) {\n const baseData = { timesInvoked: 0, times: 1, persist: false, consumed: false }\n const replyData = typeof data === 'function' ? { callback: data } : { ...data }\n const newMockDispatch = { ...baseData, ...key, pending: true, data: { error: null, ...replyData } }\n mockDispatches.push(newMockDispatch)\n return newMockDispatch\n}\n\nfunction deleteMockDispatch (mockDispatches, key) {\n const index = mockDispatches.findIndex(dispatch => {\n if (!dispatch.consumed) {\n return false\n }\n return matchKey(dispatch, key)\n })\n if (index !== -1) {\n mockDispatches.splice(index, 1)\n }\n}\n\nfunction buildKey (opts) {\n const { path, method, body, headers, query } = opts\n return {\n path,\n method,\n body,\n headers,\n query\n }\n}\n\nfunction generateKeyValues (data) {\n const keys = Object.keys(data)\n const result = []\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i]\n const value = data[key]\n const name = Buffer.from(`${key}`)\n if (Array.isArray(value)) {\n for (let j = 0; j < value.length; ++j) {\n result.push(name, Buffer.from(`${value[j]}`))\n }\n } else {\n result.push(name, Buffer.from(`${value}`))\n }\n }\n return result\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status\n * @param {number} statusCode\n */\nfunction getStatusText (statusCode) {\n return STATUS_CODES[statusCode] || 'unknown'\n}\n\nasync function getResponse (body) {\n const buffers = []\n for await (const data of body) {\n buffers.push(data)\n }\n return Buffer.concat(buffers).toString('utf8')\n}\n\n/**\n * Mock dispatch function used to simulate undici dispatches\n */\nfunction mockDispatch (opts, handler) {\n // Get mock dispatch from built key\n const key = buildKey(opts)\n const mockDispatch = getMockDispatch(this[kDispatches], key)\n\n mockDispatch.timesInvoked++\n\n // Here's where we resolve a callback if a callback is present for the dispatch data.\n if (mockDispatch.data.callback) {\n mockDispatch.data = { ...mockDispatch.data, ...mockDispatch.data.callback(opts) }\n }\n\n // Parse mockDispatch data\n const { data: { statusCode, data, headers, trailers, error }, delay, persist } = mockDispatch\n const { timesInvoked, times } = mockDispatch\n\n // If it's used up and not persistent, mark as consumed\n mockDispatch.consumed = !persist && timesInvoked >= times\n mockDispatch.pending = timesInvoked < times\n\n // If specified, trigger dispatch error\n if (error !== null) {\n deleteMockDispatch(this[kDispatches], key)\n handler.onError(error)\n return true\n }\n\n // Handle the request with a delay if necessary\n if (typeof delay === 'number' && delay > 0) {\n setTimeout(() => {\n handleReply(this[kDispatches])\n }, delay)\n } else {\n handleReply(this[kDispatches])\n }\n\n function handleReply (mockDispatches, _data = data) {\n // fetch's HeadersList is a 1D string array\n const optsHeaders = Array.isArray(opts.headers)\n ? buildHeadersFromArray(opts.headers)\n : opts.headers\n const body = typeof _data === 'function'\n ? _data({ ...opts, headers: optsHeaders })\n : _data\n\n // util.types.isPromise is likely needed for jest.\n if (isPromise(body)) {\n // If handleReply is asynchronous, throwing an error\n // in the callback will reject the promise, rather than\n // synchronously throw the error, which breaks some tests.\n // Rather, we wait for the callback to resolve if it is a\n // promise, and then re-run handleReply with the new body.\n body.then((newData) => handleReply(mockDispatches, newData))\n return\n }\n\n const responseData = getResponseData(body)\n const responseHeaders = generateKeyValues(headers)\n const responseTrailers = generateKeyValues(trailers)\n\n handler.onConnect?.(err => handler.onError(err), null)\n handler.onHeaders?.(statusCode, responseHeaders, resume, getStatusText(statusCode))\n handler.onData?.(Buffer.from(responseData))\n handler.onComplete?.(responseTrailers)\n deleteMockDispatch(mockDispatches, key)\n }\n\n function resume () {}\n\n return true\n}\n\nfunction buildMockDispatch () {\n const agent = this[kMockAgent]\n const origin = this[kOrigin]\n const originalDispatch = this[kOriginalDispatch]\n\n return function dispatch (opts, handler) {\n if (agent.isMockActive) {\n try {\n mockDispatch.call(this, opts, handler)\n } catch (error) {\n if (error instanceof MockNotMatchedError) {\n const netConnect = agent[kGetNetConnect]()\n if (netConnect === false) {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect disabled)`)\n }\n if (checkNetConnect(netConnect, origin)) {\n originalDispatch.call(this, opts, handler)\n } else {\n throw new MockNotMatchedError(`${error.message}: subsequent request to origin ${origin} was not allowed (net.connect is not enabled for this origin)`)\n }\n } else {\n throw error\n }\n }\n } else {\n originalDispatch.call(this, opts, handler)\n }\n }\n}\n\nfunction checkNetConnect (netConnect, origin) {\n const url = new URL(origin)\n if (netConnect === true) {\n return true\n } else if (Array.isArray(netConnect) && netConnect.some((matcher) => matchValue(matcher, url.host))) {\n return true\n }\n return false\n}\n\nfunction buildMockOptions (opts) {\n if (opts) {\n const { agent, ...mockOptions } = opts\n return mockOptions\n }\n}\n\nmodule.exports = {\n getResponseData,\n getMockDispatch,\n addMockDispatch,\n deleteMockDispatch,\n buildKey,\n generateKeyValues,\n matchValue,\n getResponse,\n getStatusText,\n mockDispatch,\n buildMockDispatch,\n checkNetConnect,\n buildMockOptions,\n getHeaderByName,\n buildHeadersFromArray\n}\n","'use strict'\n\nconst { Transform } = require('node:stream')\nconst { Console } = require('node:console')\n\nconst PERSISTENT = process.versions.icu ? '✅' : 'Y '\nconst NOT_PERSISTENT = process.versions.icu ? '❌' : 'N '\n\n/**\n * Gets the output of `console.table(…)` as a string.\n */\nmodule.exports = class PendingInterceptorsFormatter {\n constructor ({ disableColors } = {}) {\n this.transform = new Transform({\n transform (chunk, _enc, cb) {\n cb(null, chunk)\n }\n })\n\n this.logger = new Console({\n stdout: this.transform,\n inspectOptions: {\n colors: !disableColors && !process.env.CI\n }\n })\n }\n\n format (pendingInterceptors) {\n const withPrettyHeaders = pendingInterceptors.map(\n ({ method, path, data: { statusCode }, persist, times, timesInvoked, origin }) => ({\n Method: method,\n Origin: origin,\n Path: path,\n 'Status code': statusCode,\n Persistent: persist ? PERSISTENT : NOT_PERSISTENT,\n Invocations: timesInvoked,\n Remaining: persist ? Infinity : times - timesInvoked\n }))\n\n this.logger.table(withPrettyHeaders)\n return this.transform.read().toString()\n }\n}\n","'use strict'\n\nconst singulars = {\n pronoun: 'it',\n is: 'is',\n was: 'was',\n this: 'this'\n}\n\nconst plurals = {\n pronoun: 'they',\n is: 'are',\n was: 'were',\n this: 'these'\n}\n\nmodule.exports = class Pluralizer {\n constructor (singular, plural) {\n this.singular = singular\n this.plural = plural\n }\n\n pluralize (count) {\n const one = count === 1\n const keys = one ? singulars : plurals\n const noun = one ? this.singular : this.plural\n return { ...keys, count, noun }\n }\n}\n","'use strict'\n\n/**\n * This module offers an optimized timer implementation designed for scenarios\n * where high precision is not critical.\n *\n * The timer achieves faster performance by using a low-resolution approach,\n * with an accuracy target of within 500ms. This makes it particularly useful\n * for timers with delays of 1 second or more, where exact timing is less\n * crucial.\n *\n * It's important to note that Node.js timers are inherently imprecise, as\n * delays can occur due to the event loop being blocked by other operations.\n * Consequently, timers may trigger later than their scheduled time.\n */\n\n/**\n * The fastNow variable contains the internal fast timer clock value.\n *\n * @type {number}\n */\nlet fastNow = 0\n\n/**\n * RESOLUTION_MS represents the target resolution time in milliseconds.\n *\n * @type {number}\n * @default 1000\n */\nconst RESOLUTION_MS = 1e3\n\n/**\n * TICK_MS defines the desired interval in milliseconds between each tick.\n * The target value is set to half the resolution time, minus 1 ms, to account\n * for potential event loop overhead.\n *\n * @type {number}\n * @default 499\n */\nconst TICK_MS = (RESOLUTION_MS >> 1) - 1\n\n/**\n * fastNowTimeout is a Node.js timer used to manage and process\n * the FastTimers stored in the `fastTimers` array.\n *\n * @type {NodeJS.Timeout}\n */\nlet fastNowTimeout\n\n/**\n * The kFastTimer symbol is used to identify FastTimer instances.\n *\n * @type {Symbol}\n */\nconst kFastTimer = Symbol('kFastTimer')\n\n/**\n * The fastTimers array contains all active FastTimers.\n *\n * @type {FastTimer[]}\n */\nconst fastTimers = []\n\n/**\n * These constants represent the various states of a FastTimer.\n */\n\n/**\n * The `NOT_IN_LIST` constant indicates that the FastTimer is not included\n * in the `fastTimers` array. Timers with this status will not be processed\n * during the next tick by the `onTick` function.\n *\n * A FastTimer can be re-added to the `fastTimers` array by invoking the\n * `refresh` method on the FastTimer instance.\n *\n * @type {-2}\n */\nconst NOT_IN_LIST = -2\n\n/**\n * The `TO_BE_CLEARED` constant indicates that the FastTimer is scheduled\n * for removal from the `fastTimers` array. A FastTimer in this state will\n * be removed in the next tick by the `onTick` function and will no longer\n * be processed.\n *\n * This status is also set when the `clear` method is called on the FastTimer instance.\n *\n * @type {-1}\n */\nconst TO_BE_CLEARED = -1\n\n/**\n * The `PENDING` constant signifies that the FastTimer is awaiting processing\n * in the next tick by the `onTick` function. Timers with this status will have\n * their `_idleStart` value set and their status updated to `ACTIVE` in the next tick.\n *\n * @type {0}\n */\nconst PENDING = 0\n\n/**\n * The `ACTIVE` constant indicates that the FastTimer is active and waiting\n * for its timer to expire. During the next tick, the `onTick` function will\n * check if the timer has expired, and if so, it will execute the associated callback.\n *\n * @type {1}\n */\nconst ACTIVE = 1\n\n/**\n * The onTick function processes the fastTimers array.\n *\n * @returns {void}\n */\nfunction onTick () {\n /**\n * Increment the fastNow value by the TICK_MS value, despite the actual time\n * that has passed since the last tick. This approach ensures independence\n * from the system clock and delays caused by a blocked event loop.\n *\n * @type {number}\n */\n fastNow += TICK_MS\n\n /**\n * The `idx` variable is used to iterate over the `fastTimers` array.\n * Expired timers are removed by replacing them with the last element in the array.\n * Consequently, `idx` is only incremented when the current element is not removed.\n *\n * @type {number}\n */\n let idx = 0\n\n /**\n * The len variable will contain the length of the fastTimers array\n * and will be decremented when a FastTimer should be removed from the\n * fastTimers array.\n *\n * @type {number}\n */\n let len = fastTimers.length\n\n while (idx < len) {\n /**\n * @type {FastTimer}\n */\n const timer = fastTimers[idx]\n\n // If the timer is in the ACTIVE state and the timer has expired, it will\n // be processed in the next tick.\n if (timer._state === PENDING) {\n // Set the _idleStart value to the fastNow value minus the TICK_MS value\n // to account for the time the timer was in the PENDING state.\n timer._idleStart = fastNow - TICK_MS\n timer._state = ACTIVE\n } else if (\n timer._state === ACTIVE &&\n fastNow >= timer._idleStart + timer._idleTimeout\n ) {\n timer._state = TO_BE_CLEARED\n timer._idleStart = -1\n timer._onTimeout(timer._timerArg)\n }\n\n if (timer._state === TO_BE_CLEARED) {\n timer._state = NOT_IN_LIST\n\n // Move the last element to the current index and decrement len if it is\n // not the only element in the array.\n if (--len !== 0) {\n fastTimers[idx] = fastTimers[len]\n }\n } else {\n ++idx\n }\n }\n\n // Set the length of the fastTimers array to the new length and thus\n // removing the excess FastTimers elements from the array.\n fastTimers.length = len\n\n // If there are still active FastTimers in the array, refresh the Timer.\n // If there are no active FastTimers, the timer will be refreshed again\n // when a new FastTimer is instantiated.\n if (fastTimers.length !== 0) {\n refreshTimeout()\n }\n}\n\nfunction refreshTimeout () {\n // If the fastNowTimeout is already set, refresh it.\n if (fastNowTimeout) {\n fastNowTimeout.refresh()\n // fastNowTimeout is not instantiated yet, create a new Timer.\n } else {\n clearTimeout(fastNowTimeout)\n fastNowTimeout = setTimeout(onTick, TICK_MS)\n\n // If the Timer has an unref method, call it to allow the process to exit if\n // there are no other active handles.\n if (fastNowTimeout.unref) {\n fastNowTimeout.unref()\n }\n }\n}\n\n/**\n * The `FastTimer` class is a data structure designed to store and manage\n * timer information.\n */\nclass FastTimer {\n [kFastTimer] = true\n\n /**\n * The state of the timer, which can be one of the following:\n * - NOT_IN_LIST (-2)\n * - TO_BE_CLEARED (-1)\n * - PENDING (0)\n * - ACTIVE (1)\n *\n * @type {-2|-1|0|1}\n * @private\n */\n _state = NOT_IN_LIST\n\n /**\n * The number of milliseconds to wait before calling the callback.\n *\n * @type {number}\n * @private\n */\n _idleTimeout = -1\n\n /**\n * The time in milliseconds when the timer was started. This value is used to\n * calculate when the timer should expire.\n *\n * @type {number}\n * @default -1\n * @private\n */\n _idleStart = -1\n\n /**\n * The function to be executed when the timer expires.\n * @type {Function}\n * @private\n */\n _onTimeout\n\n /**\n * The argument to be passed to the callback when the timer expires.\n *\n * @type {*}\n * @private\n */\n _timerArg\n\n /**\n * @constructor\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should wait\n * before the specified function or code is executed.\n * @param {*} arg\n */\n constructor (callback, delay, arg) {\n this._onTimeout = callback\n this._idleTimeout = delay\n this._timerArg = arg\n\n this.refresh()\n }\n\n /**\n * Sets the timer's start time to the current time, and reschedules the timer\n * to call its callback at the previously specified duration adjusted to the\n * current time.\n * Using this on a timer that has already called its callback will reactivate\n * the timer.\n *\n * @returns {void}\n */\n refresh () {\n // In the special case that the timer is not in the list of active timers,\n // add it back to the array to be processed in the next tick by the onTick\n // function.\n if (this._state === NOT_IN_LIST) {\n fastTimers.push(this)\n }\n\n // If the timer is the only active timer, refresh the fastNowTimeout for\n // better resolution.\n if (!fastNowTimeout || fastTimers.length === 1) {\n refreshTimeout()\n }\n\n // Setting the state to PENDING will cause the timer to be reset in the\n // next tick by the onTick function.\n this._state = PENDING\n }\n\n /**\n * The `clear` method cancels the timer, preventing it from executing.\n *\n * @returns {void}\n * @private\n */\n clear () {\n // Set the state to TO_BE_CLEARED to mark the timer for removal in the next\n // tick by the onTick function.\n this._state = TO_BE_CLEARED\n\n // Reset the _idleStart value to -1 to indicate that the timer is no longer\n // active.\n this._idleStart = -1\n }\n}\n\n/**\n * This module exports a setTimeout and clearTimeout function that can be\n * used as a drop-in replacement for the native functions.\n */\nmodule.exports = {\n /**\n * The setTimeout() method sets a timer which executes a function once the\n * timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {NodeJS.Timeout|FastTimer}\n */\n setTimeout (callback, delay, arg) {\n // If the delay is less than or equal to the RESOLUTION_MS value return a\n // native Node.js Timer instance.\n return delay <= RESOLUTION_MS\n ? setTimeout(callback, delay, arg)\n : new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated Timer previously created\n * by calling setTimeout.\n *\n * @param {NodeJS.Timeout|FastTimer} timeout\n */\n clearTimeout (timeout) {\n // If the timeout is a FastTimer, call its own clear method.\n if (timeout[kFastTimer]) {\n /**\n * @type {FastTimer}\n */\n timeout.clear()\n // Otherwise it is an instance of a native NodeJS.Timeout, so call the\n // Node.js native clearTimeout function.\n } else {\n clearTimeout(timeout)\n }\n },\n /**\n * The setFastTimeout() method sets a fastTimer which executes a function once\n * the timer expires.\n * @param {Function} callback A function to be executed after the timer\n * expires.\n * @param {number} delay The time, in milliseconds that the timer should\n * wait before the specified function or code is executed.\n * @param {*} [arg] An optional argument to be passed to the callback function\n * when the timer expires.\n * @returns {FastTimer}\n */\n setFastTimeout (callback, delay, arg) {\n return new FastTimer(callback, delay, arg)\n },\n /**\n * The clearTimeout method cancels an instantiated FastTimer previously\n * created by calling setFastTimeout.\n *\n * @param {FastTimer} timeout\n */\n clearFastTimeout (timeout) {\n timeout.clear()\n },\n /**\n * The now method returns the value of the internal fast timer clock.\n *\n * @returns {number}\n */\n now () {\n return fastNow\n },\n /**\n * Trigger the onTick function to process the fastTimers array.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n * @param {number} [delay=0] The delay in milliseconds to add to the now value.\n */\n tick (delay = 0) {\n fastNow += delay - RESOLUTION_MS + 1\n onTick()\n onTick()\n },\n /**\n * Reset FastTimers.\n * Exported for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n reset () {\n fastNow = 0\n fastTimers.length = 0\n clearTimeout(fastNowTimeout)\n fastNowTimeout = null\n },\n /**\n * Exporting for testing purposes only.\n * Marking as deprecated to discourage any use outside of testing.\n * @deprecated\n */\n kFastTimer\n}\n","'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { urlEquals, getFieldValues } = require('./util')\nconst { kEnumerableProperty, isDisturbed } = require('../../core/util')\nconst { webidl } = require('../fetch/webidl')\nconst { Response, cloneResponse, fromInnerResponse } = require('../fetch/response')\nconst { Request, fromInnerRequest } = require('../fetch/request')\nconst { kState } = require('../fetch/symbols')\nconst { fetching } = require('../fetch/index')\nconst { urlIsHttpHttpsScheme, createDeferredPromise, readAllBytes } = require('../fetch/util')\nconst assert = require('node:assert')\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-cache-batch-operation\n * @typedef {Object} CacheBatchOperation\n * @property {'delete' | 'put'} type\n * @property {any} request\n * @property {any} response\n * @property {import('../../types/cache').CacheQueryOptions} options\n */\n\n/**\n * @see https://w3c.github.io/ServiceWorker/#dfn-request-response-list\n * @typedef {[any, any][]} requestResponseList\n */\n\nclass Cache {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-request-response-list\n * @type {requestResponseList}\n */\n #relevantRequestResponseList\n\n constructor () {\n if (arguments[0] !== kConstruct) {\n webidl.illegalConstructor()\n }\n\n webidl.util.markAsUncloneable(this)\n this.#relevantRequestResponseList = arguments[1]\n }\n\n async match (request, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.match'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n const p = this.#internalMatchAll(request, options, 1)\n\n if (p.length === 0) {\n return\n }\n\n return p[0]\n }\n\n async matchAll (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.matchAll'\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n return this.#internalMatchAll(request, options)\n }\n\n async add (request) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.add'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n\n // 1.\n const requests = [request]\n\n // 2.\n const responseArrayPromise = this.addAll(requests)\n\n // 3.\n return await responseArrayPromise\n }\n\n async addAll (requests) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.addAll'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n // 1.\n const responsePromises = []\n\n // 2.\n const requestList = []\n\n // 3.\n for (let request of requests) {\n if (request === undefined) {\n throw webidl.errors.conversionFailed({\n prefix,\n argument: 'Argument 1',\n types: ['undefined is not allowed']\n })\n }\n\n request = webidl.converters.RequestInfo(request)\n\n if (typeof request === 'string') {\n continue\n }\n\n // 3.1\n const r = request[kState]\n\n // 3.2\n if (!urlIsHttpHttpsScheme(r.url) || r.method !== 'GET') {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Expected http/s scheme when method is not GET.'\n })\n }\n }\n\n // 4.\n /** @type {ReturnType[]} */\n const fetchControllers = []\n\n // 5.\n for (const request of requests) {\n // 5.1\n const r = new Request(request)[kState]\n\n // 5.2\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Expected http/s scheme.'\n })\n }\n\n // 5.4\n r.initiator = 'fetch'\n r.destination = 'subresource'\n\n // 5.5\n requestList.push(r)\n\n // 5.6\n const responsePromise = createDeferredPromise()\n\n // 5.7\n fetchControllers.push(fetching({\n request: r,\n processResponse (response) {\n // 1.\n if (response.type === 'error' || response.status === 206 || response.status < 200 || response.status > 299) {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'Received an invalid status code or the request failed.'\n }))\n } else if (response.headersList.contains('vary')) { // 2.\n // 2.1\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n // 2.2\n for (const fieldValue of fieldValues) {\n // 2.2.1\n if (fieldValue === '*') {\n responsePromise.reject(webidl.errors.exception({\n header: 'Cache.addAll',\n message: 'invalid vary field value'\n }))\n\n for (const controller of fetchControllers) {\n controller.abort()\n }\n\n return\n }\n }\n }\n },\n processResponseEndOfBody (response) {\n // 1.\n if (response.aborted) {\n responsePromise.reject(new DOMException('aborted', 'AbortError'))\n return\n }\n\n // 2.\n responsePromise.resolve(response)\n }\n }))\n\n // 5.8\n responsePromises.push(responsePromise.promise)\n }\n\n // 6.\n const p = Promise.all(responsePromises)\n\n // 7.\n const responses = await p\n\n // 7.1\n const operations = []\n\n // 7.2\n let index = 0\n\n // 7.3\n for (const response of responses) {\n // 7.3.1\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 7.3.2\n request: requestList[index], // 7.3.3\n response // 7.3.4\n }\n\n operations.push(operation) // 7.3.5\n\n index++ // 7.3.6\n }\n\n // 7.5\n const cacheJobPromise = createDeferredPromise()\n\n // 7.6.1\n let errorData = null\n\n // 7.6.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 7.6.3\n queueMicrotask(() => {\n // 7.6.3.1\n if (errorData === null) {\n cacheJobPromise.resolve(undefined)\n } else {\n // 7.6.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n // 7.7\n return cacheJobPromise.promise\n }\n\n async put (request, response) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.put'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n response = webidl.converters.Response(response, prefix, 'response')\n\n // 1.\n let innerRequest = null\n\n // 2.\n if (request instanceof Request) {\n innerRequest = request[kState]\n } else { // 3.\n innerRequest = new Request(request)[kState]\n }\n\n // 4.\n if (!urlIsHttpHttpsScheme(innerRequest.url) || innerRequest.method !== 'GET') {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Expected an http/s scheme when method is not GET'\n })\n }\n\n // 5.\n const innerResponse = response[kState]\n\n // 6.\n if (innerResponse.status === 206) {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Got 206 status'\n })\n }\n\n // 7.\n if (innerResponse.headersList.contains('vary')) {\n // 7.1.\n const fieldValues = getFieldValues(innerResponse.headersList.get('vary'))\n\n // 7.2.\n for (const fieldValue of fieldValues) {\n // 7.2.1\n if (fieldValue === '*') {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Got * vary field value'\n })\n }\n }\n }\n\n // 8.\n if (innerResponse.body && (isDisturbed(innerResponse.body.stream) || innerResponse.body.stream.locked)) {\n throw webidl.errors.exception({\n header: prefix,\n message: 'Response body is locked or disturbed'\n })\n }\n\n // 9.\n const clonedResponse = cloneResponse(innerResponse)\n\n // 10.\n const bodyReadPromise = createDeferredPromise()\n\n // 11.\n if (innerResponse.body != null) {\n // 11.1\n const stream = innerResponse.body.stream\n\n // 11.2\n const reader = stream.getReader()\n\n // 11.3\n readAllBytes(reader).then(bodyReadPromise.resolve, bodyReadPromise.reject)\n } else {\n bodyReadPromise.resolve(undefined)\n }\n\n // 12.\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n // 13.\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'put', // 14.\n request: innerRequest, // 15.\n response: clonedResponse // 16.\n }\n\n // 17.\n operations.push(operation)\n\n // 19.\n const bytes = await bodyReadPromise.promise\n\n if (clonedResponse.body != null) {\n clonedResponse.body.source = bytes\n }\n\n // 19.1\n const cacheJobPromise = createDeferredPromise()\n\n // 19.2.1\n let errorData = null\n\n // 19.2.2\n try {\n this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n // 19.2.3\n queueMicrotask(() => {\n // 19.2.3.1\n if (errorData === null) {\n cacheJobPromise.resolve()\n } else { // 19.2.3.2\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n async delete (request, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n /**\n * @type {Request}\n */\n let r = null\n\n if (request instanceof Request) {\n r = request[kState]\n\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return false\n }\n } else {\n assert(typeof request === 'string')\n\n r = new Request(request)[kState]\n }\n\n /** @type {CacheBatchOperation[]} */\n const operations = []\n\n /** @type {CacheBatchOperation} */\n const operation = {\n type: 'delete',\n request: r,\n options\n }\n\n operations.push(operation)\n\n const cacheJobPromise = createDeferredPromise()\n\n let errorData = null\n let requestResponses\n\n try {\n requestResponses = this.#batchCacheOperations(operations)\n } catch (e) {\n errorData = e\n }\n\n queueMicrotask(() => {\n if (errorData === null) {\n cacheJobPromise.resolve(!!requestResponses?.length)\n } else {\n cacheJobPromise.reject(errorData)\n }\n })\n\n return cacheJobPromise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cache-keys\n * @param {any} request\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @returns {Promise}\n */\n async keys (request = undefined, options = {}) {\n webidl.brandCheck(this, Cache)\n\n const prefix = 'Cache.keys'\n\n if (request !== undefined) request = webidl.converters.RequestInfo(request, prefix, 'request')\n options = webidl.converters.CacheQueryOptions(options, prefix, 'options')\n\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n // 2.1\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') { // 2.2\n r = new Request(request)[kState]\n }\n }\n\n // 4.\n const promise = createDeferredPromise()\n\n // 5.\n // 5.1\n const requests = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n // 5.2.1.1\n requests.push(requestResponse[0])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n // 5.3.2.1\n requests.push(requestResponse[0])\n }\n }\n\n // 5.4\n queueMicrotask(() => {\n // 5.4.1\n const requestList = []\n\n // 5.4.2\n for (const request of requests) {\n const requestObject = fromInnerRequest(\n request,\n new AbortController().signal,\n 'immutable'\n )\n // 5.4.2.1\n requestList.push(requestObject)\n }\n\n // 5.4.3\n promise.resolve(Object.freeze(requestList))\n })\n\n return promise.promise\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#batch-cache-operations-algorithm\n * @param {CacheBatchOperation[]} operations\n * @returns {requestResponseList}\n */\n #batchCacheOperations (operations) {\n // 1.\n const cache = this.#relevantRequestResponseList\n\n // 2.\n const backupCache = [...cache]\n\n // 3.\n const addedItems = []\n\n // 4.1\n const resultList = []\n\n try {\n // 4.2\n for (const operation of operations) {\n // 4.2.1\n if (operation.type !== 'delete' && operation.type !== 'put') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'operation type does not match \"delete\" or \"put\"'\n })\n }\n\n // 4.2.2\n if (operation.type === 'delete' && operation.response != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'delete operation should not have an associated response'\n })\n }\n\n // 4.2.3\n if (this.#queryCache(operation.request, operation.options, addedItems).length) {\n throw new DOMException('???', 'InvalidStateError')\n }\n\n // 4.2.4\n let requestResponses\n\n // 4.2.5\n if (operation.type === 'delete') {\n // 4.2.5.1\n requestResponses = this.#queryCache(operation.request, operation.options)\n\n // TODO: the spec is wrong, this is needed to pass WPTs\n if (requestResponses.length === 0) {\n return []\n }\n\n // 4.2.5.2\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.5.2.1\n cache.splice(idx, 1)\n }\n } else if (operation.type === 'put') { // 4.2.6\n // 4.2.6.1\n if (operation.response == null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'put operation should have an associated response'\n })\n }\n\n // 4.2.6.2\n const r = operation.request\n\n // 4.2.6.3\n if (!urlIsHttpHttpsScheme(r.url)) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'expected http or https scheme'\n })\n }\n\n // 4.2.6.4\n if (r.method !== 'GET') {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'not get method'\n })\n }\n\n // 4.2.6.5\n if (operation.options != null) {\n throw webidl.errors.exception({\n header: 'Cache.#batchCacheOperations',\n message: 'options must not be defined'\n })\n }\n\n // 4.2.6.6\n requestResponses = this.#queryCache(operation.request)\n\n // 4.2.6.7\n for (const requestResponse of requestResponses) {\n const idx = cache.indexOf(requestResponse)\n assert(idx !== -1)\n\n // 4.2.6.7.1\n cache.splice(idx, 1)\n }\n\n // 4.2.6.8\n cache.push([operation.request, operation.response])\n\n // 4.2.6.10\n addedItems.push([operation.request, operation.response])\n }\n\n // 4.2.7\n resultList.push([operation.request, operation.response])\n }\n\n // 4.3\n return resultList\n } catch (e) { // 5.\n // 5.1\n this.#relevantRequestResponseList.length = 0\n\n // 5.2\n this.#relevantRequestResponseList = backupCache\n\n // 5.3\n throw e\n }\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#query-cache\n * @param {any} requestQuery\n * @param {import('../../types/cache').CacheQueryOptions} options\n * @param {requestResponseList} targetStorage\n * @returns {requestResponseList}\n */\n #queryCache (requestQuery, options, targetStorage) {\n /** @type {requestResponseList} */\n const resultList = []\n\n const storage = targetStorage ?? this.#relevantRequestResponseList\n\n for (const requestResponse of storage) {\n const [cachedRequest, cachedResponse] = requestResponse\n if (this.#requestMatchesCachedItem(requestQuery, cachedRequest, cachedResponse, options)) {\n resultList.push(requestResponse)\n }\n }\n\n return resultList\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#request-matches-cached-item-algorithm\n * @param {any} requestQuery\n * @param {any} request\n * @param {any | null} response\n * @param {import('../../types/cache').CacheQueryOptions | undefined} options\n * @returns {boolean}\n */\n #requestMatchesCachedItem (requestQuery, request, response = null, options) {\n // if (options?.ignoreMethod === false && request.method === 'GET') {\n // return false\n // }\n\n const queryURL = new URL(requestQuery.url)\n\n const cachedURL = new URL(request.url)\n\n if (options?.ignoreSearch) {\n cachedURL.search = ''\n\n queryURL.search = ''\n }\n\n if (!urlEquals(queryURL, cachedURL, true)) {\n return false\n }\n\n if (\n response == null ||\n options?.ignoreVary ||\n !response.headersList.contains('vary')\n ) {\n return true\n }\n\n const fieldValues = getFieldValues(response.headersList.get('vary'))\n\n for (const fieldValue of fieldValues) {\n if (fieldValue === '*') {\n return false\n }\n\n const requestValue = request.headersList.get(fieldValue)\n const queryValue = requestQuery.headersList.get(fieldValue)\n\n // If one has the header and the other doesn't, or one has\n // a different value than the other, return false\n if (requestValue !== queryValue) {\n return false\n }\n }\n\n return true\n }\n\n #internalMatchAll (request, options, maxResponses = Infinity) {\n // 1.\n let r = null\n\n // 2.\n if (request !== undefined) {\n if (request instanceof Request) {\n // 2.1.1\n r = request[kState]\n\n // 2.1.2\n if (r.method !== 'GET' && !options.ignoreMethod) {\n return []\n }\n } else if (typeof request === 'string') {\n // 2.2.1\n r = new Request(request)[kState]\n }\n }\n\n // 5.\n // 5.1\n const responses = []\n\n // 5.2\n if (request === undefined) {\n // 5.2.1\n for (const requestResponse of this.#relevantRequestResponseList) {\n responses.push(requestResponse[1])\n }\n } else { // 5.3\n // 5.3.1\n const requestResponses = this.#queryCache(r, options)\n\n // 5.3.2\n for (const requestResponse of requestResponses) {\n responses.push(requestResponse[1])\n }\n }\n\n // 5.4\n // We don't implement CORs so we don't need to loop over the responses, yay!\n\n // 5.5.1\n const responseList = []\n\n // 5.5.2\n for (const response of responses) {\n // 5.5.2.1\n const responseObject = fromInnerResponse(response, 'immutable')\n\n responseList.push(responseObject.clone())\n\n if (responseList.length >= maxResponses) {\n break\n }\n }\n\n // 6.\n return Object.freeze(responseList)\n }\n}\n\nObject.defineProperties(Cache.prototype, {\n [Symbol.toStringTag]: {\n value: 'Cache',\n configurable: true\n },\n match: kEnumerableProperty,\n matchAll: kEnumerableProperty,\n add: kEnumerableProperty,\n addAll: kEnumerableProperty,\n put: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nconst cacheQueryOptionConverters = [\n {\n key: 'ignoreSearch',\n converter: webidl.converters.boolean,\n defaultValue: () => false\n },\n {\n key: 'ignoreMethod',\n converter: webidl.converters.boolean,\n defaultValue: () => false\n },\n {\n key: 'ignoreVary',\n converter: webidl.converters.boolean,\n defaultValue: () => false\n }\n]\n\nwebidl.converters.CacheQueryOptions = webidl.dictionaryConverter(cacheQueryOptionConverters)\n\nwebidl.converters.MultiCacheQueryOptions = webidl.dictionaryConverter([\n ...cacheQueryOptionConverters,\n {\n key: 'cacheName',\n converter: webidl.converters.DOMString\n }\n])\n\nwebidl.converters.Response = webidl.interfaceConverter(Response)\n\nwebidl.converters['sequence'] = webidl.sequenceConverter(\n webidl.converters.RequestInfo\n)\n\nmodule.exports = {\n Cache\n}\n","'use strict'\n\nconst { kConstruct } = require('./symbols')\nconst { Cache } = require('./cache')\nconst { webidl } = require('../fetch/webidl')\nconst { kEnumerableProperty } = require('../../core/util')\n\nclass CacheStorage {\n /**\n * @see https://w3c.github.io/ServiceWorker/#dfn-relevant-name-to-cache-map\n * @type {Map}\n */\n async has (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.has'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName')\n\n // 2.1.1\n // 2.2\n return this.#caches.has(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#dom-cachestorage-open\n * @param {string} cacheName\n * @returns {Promise}\n */\n async open (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.open'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName')\n\n // 2.1\n if (this.#caches.has(cacheName)) {\n // await caches.open('v1') !== await caches.open('v1')\n\n // 2.1.1\n const cache = this.#caches.get(cacheName)\n\n // 2.1.1.1\n return new Cache(kConstruct, cache)\n }\n\n // 2.2\n const cache = []\n\n // 2.3\n this.#caches.set(cacheName, cache)\n\n // 2.4\n return new Cache(kConstruct, cache)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-delete\n * @param {string} cacheName\n * @returns {Promise}\n */\n async delete (cacheName) {\n webidl.brandCheck(this, CacheStorage)\n\n const prefix = 'CacheStorage.delete'\n webidl.argumentLengthCheck(arguments, 1, prefix)\n\n cacheName = webidl.converters.DOMString(cacheName, prefix, 'cacheName')\n\n return this.#caches.delete(cacheName)\n }\n\n /**\n * @see https://w3c.github.io/ServiceWorker/#cache-storage-keys\n * @returns {Promise}\n */\n async keys () {\n webidl.brandCheck(this, CacheStorage)\n\n // 2.1\n const keys = this.#caches.keys()\n\n // 2.2\n return [...keys]\n }\n}\n\nObject.defineProperties(CacheStorage.prototype, {\n [Symbol.toStringTag]: {\n value: 'CacheStorage',\n configurable: true\n },\n match: kEnumerableProperty,\n has: kEnumerableProperty,\n open: kEnumerableProperty,\n delete: kEnumerableProperty,\n keys: kEnumerableProperty\n})\n\nmodule.exports = {\n CacheStorage\n}\n","'use strict'\n\nmodule.exports = {\n kConstruct: require('../../core/symbols').kConstruct\n}\n","'use strict'\n\nconst assert = require('node:assert')\nconst { URLSerializer } = require('../fetch/data-url')\nconst { isValidHeaderName } = require('../fetch/util')\n\n/**\n * @see https://url.spec.whatwg.org/#concept-url-equals\n * @param {URL} A\n * @param {URL} B\n * @param {boolean | undefined} excludeFragment\n * @returns {boolean}\n */\nfunction urlEquals (A, B, excludeFragment = false) {\n const serializedA = URLSerializer(A, excludeFragment)\n\n const serializedB = URLSerializer(B, excludeFragment)\n\n return serializedA === serializedB\n}\n\n/**\n * @see https://github.com/chromium/chromium/blob/694d20d134cb553d8d89e5500b9148012b1ba299/content/browser/cache_storage/cache_storage_cache.cc#L260-L262\n * @param {string} header\n */\nfunction getFieldValues (header) {\n assert(header !== null)\n\n const values = []\n\n for (let value of header.split(',')) {\n value = value.trim()\n\n if (isValidHeaderName(value)) {\n values.push(value)\n }\n }\n\n return values\n}\n\nmodule.exports = {\n urlEquals,\n getFieldValues\n}\n","'use strict'\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-attribute-value-size\nconst maxAttributeValueSize = 1024\n\n// https://wicg.github.io/cookie-store/#cookie-maximum-name-value-pair-size\nconst maxNameValuePairSize = 4096\n\nmodule.exports = {\n maxAttributeValueSize,\n maxNameValuePairSize\n}\n","'use strict'\n\nconst { parseSetCookie } = require('./parse')\nconst { stringify } = require('./util')\nconst { webidl } = require('../fetch/webidl')\nconst { Headers } = require('../fetch/headers')\n\n/**\n * @typedef {Object} Cookie\n * @property {string} name\n * @property {string} value\n * @property {Date|number|undefined} expires\n * @property {number|undefined} maxAge\n * @property {string|undefined} domain\n * @property {string|undefined} path\n * @property {boolean|undefined} secure\n * @property {boolean|undefined} httpOnly\n * @property {'Strict'|'Lax'|'None'} sameSite\n * @property {string[]} unparsed\n */\n\n/**\n * @param {Headers} headers\n * @returns {Record}\n */\nfunction getCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, 'getCookies')\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookie = headers.get('cookie')\n const out = {}\n\n if (!cookie) {\n return out\n }\n\n for (const piece of cookie.split(';')) {\n const [name, ...value] = piece.split('=')\n\n out[name.trim()] = value.join('=')\n }\n\n return out\n}\n\n/**\n * @param {Headers} headers\n * @param {string} name\n * @param {{ path?: string, domain?: string }|undefined} attributes\n * @returns {void}\n */\nfunction deleteCookie (headers, name, attributes) {\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const prefix = 'deleteCookie'\n webidl.argumentLengthCheck(arguments, 2, prefix)\n\n name = webidl.converters.DOMString(name, prefix, 'name')\n attributes = webidl.converters.DeleteCookieAttributes(attributes)\n\n // Matches behavior of\n // https://github.com/denoland/deno_std/blob/63827b16330b82489a04614027c33b7904e08be5/http/cookie.ts#L278\n setCookie(headers, {\n name,\n value: '',\n expires: new Date(0),\n ...attributes\n })\n}\n\n/**\n * @param {Headers} headers\n * @returns {Cookie[]}\n */\nfunction getSetCookies (headers) {\n webidl.argumentLengthCheck(arguments, 1, 'getSetCookies')\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n const cookies = headers.getSetCookie()\n\n if (!cookies) {\n return []\n }\n\n return cookies.map((pair) => parseSetCookie(pair))\n}\n\n/**\n * @param {Headers} headers\n * @param {Cookie} cookie\n * @returns {void}\n */\nfunction setCookie (headers, cookie) {\n webidl.argumentLengthCheck(arguments, 2, 'setCookie')\n\n webidl.brandCheck(headers, Headers, { strict: false })\n\n cookie = webidl.converters.Cookie(cookie)\n\n const str = stringify(cookie)\n\n if (str) {\n headers.append('Set-Cookie', str)\n }\n}\n\nwebidl.converters.DeleteCookieAttributes = webidl.dictionaryConverter([\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: () => null\n }\n])\n\nwebidl.converters.Cookie = webidl.dictionaryConverter([\n {\n converter: webidl.converters.DOMString,\n key: 'name'\n },\n {\n converter: webidl.converters.DOMString,\n key: 'value'\n },\n {\n converter: webidl.nullableConverter((value) => {\n if (typeof value === 'number') {\n return webidl.converters['unsigned long long'](value)\n }\n\n return new Date(value)\n }),\n key: 'expires',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters['long long']),\n key: 'maxAge',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'domain',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.DOMString),\n key: 'path',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'secure',\n defaultValue: () => null\n },\n {\n converter: webidl.nullableConverter(webidl.converters.boolean),\n key: 'httpOnly',\n defaultValue: () => null\n },\n {\n converter: webidl.converters.USVString,\n key: 'sameSite',\n allowedValues: ['Strict', 'Lax', 'None']\n },\n {\n converter: webidl.sequenceConverter(webidl.converters.DOMString),\n key: 'unparsed',\n defaultValue: () => new Array(0)\n }\n])\n\nmodule.exports = {\n getCookies,\n deleteCookie,\n getSetCookies,\n setCookie\n}\n","'use strict'\n\nconst { maxNameValuePairSize, maxAttributeValueSize } = require('./constants')\nconst { isCTLExcludingHtab } = require('./util')\nconst { collectASequenceOfCodePointsFast } = require('../fetch/data-url')\nconst assert = require('node:assert')\n\n/**\n * @description Parses the field-value attributes of a set-cookie header string.\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} header\n * @returns if the header is invalid, null will be returned\n */\nfunction parseSetCookie (header) {\n // 1. If the set-cookie-string contains a %x00-08 / %x0A-1F / %x7F\n // character (CTL characters excluding HTAB): Abort these steps and\n // ignore the set-cookie-string entirely.\n if (isCTLExcludingHtab(header)) {\n return null\n }\n\n let nameValuePair = ''\n let unparsedAttributes = ''\n let name = ''\n let value = ''\n\n // 2. If the set-cookie-string contains a %x3B (\";\") character:\n if (header.includes(';')) {\n // 1. The name-value-pair string consists of the characters up to,\n // but not including, the first %x3B (\";\"), and the unparsed-\n // attributes consist of the remainder of the set-cookie-string\n // (including the %x3B (\";\") in question).\n const position = { position: 0 }\n\n nameValuePair = collectASequenceOfCodePointsFast(';', header, position)\n unparsedAttributes = header.slice(position.position)\n } else {\n // Otherwise:\n\n // 1. The name-value-pair string consists of all the characters\n // contained in the set-cookie-string, and the unparsed-\n // attributes is the empty string.\n nameValuePair = header\n }\n\n // 3. If the name-value-pair string lacks a %x3D (\"=\") character, then\n // the name string is empty, and the value string is the value of\n // name-value-pair.\n if (!nameValuePair.includes('=')) {\n value = nameValuePair\n } else {\n // Otherwise, the name string consists of the characters up to, but\n // not including, the first %x3D (\"=\") character, and the (possibly\n // empty) value string consists of the characters after the first\n // %x3D (\"=\") character.\n const position = { position: 0 }\n name = collectASequenceOfCodePointsFast(\n '=',\n nameValuePair,\n position\n )\n value = nameValuePair.slice(position.position + 1)\n }\n\n // 4. Remove any leading or trailing WSP characters from the name\n // string and the value string.\n name = name.trim()\n value = value.trim()\n\n // 5. If the sum of the lengths of the name string and the value string\n // is more than 4096 octets, abort these steps and ignore the set-\n // cookie-string entirely.\n if (name.length + value.length > maxNameValuePairSize) {\n return null\n }\n\n // 6. The cookie-name is the name string, and the cookie-value is the\n // value string.\n return {\n name, value, ...parseUnparsedAttributes(unparsedAttributes)\n }\n}\n\n/**\n * Parses the remaining attributes of a set-cookie header\n * @see https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4\n * @param {string} unparsedAttributes\n * @param {[Object.]={}} cookieAttributeList\n */\nfunction parseUnparsedAttributes (unparsedAttributes, cookieAttributeList = {}) {\n // 1. If the unparsed-attributes string is empty, skip the rest of\n // these steps.\n if (unparsedAttributes.length === 0) {\n return cookieAttributeList\n }\n\n // 2. Discard the first character of the unparsed-attributes (which\n // will be a %x3B (\";\") character).\n assert(unparsedAttributes[0] === ';')\n unparsedAttributes = unparsedAttributes.slice(1)\n\n let cookieAv = ''\n\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n if (unparsedAttributes.includes(';')) {\n // 1. Consume the characters of the unparsed-attributes up to, but\n // not including, the first %x3B (\";\") character.\n cookieAv = collectASequenceOfCodePointsFast(\n ';',\n unparsedAttributes,\n { position: 0 }\n )\n unparsedAttributes = unparsedAttributes.slice(cookieAv.length)\n } else {\n // Otherwise:\n\n // 1. Consume the remainder of the unparsed-attributes.\n cookieAv = unparsedAttributes\n unparsedAttributes = ''\n }\n\n // Let the cookie-av string be the characters consumed in this step.\n\n let attributeName = ''\n let attributeValue = ''\n\n // 4. If the cookie-av string contains a %x3D (\"=\") character:\n if (cookieAv.includes('=')) {\n // 1. The (possibly empty) attribute-name string consists of the\n // characters up to, but not including, the first %x3D (\"=\")\n // character, and the (possibly empty) attribute-value string\n // consists of the characters after the first %x3D (\"=\")\n // character.\n const position = { position: 0 }\n\n attributeName = collectASequenceOfCodePointsFast(\n '=',\n cookieAv,\n position\n )\n attributeValue = cookieAv.slice(position.position + 1)\n } else {\n // Otherwise:\n\n // 1. The attribute-name string consists of the entire cookie-av\n // string, and the attribute-value string is empty.\n attributeName = cookieAv\n }\n\n // 5. Remove any leading or trailing WSP characters from the attribute-\n // name string and the attribute-value string.\n attributeName = attributeName.trim()\n attributeValue = attributeValue.trim()\n\n // 6. If the attribute-value is longer than 1024 octets, ignore the\n // cookie-av string and return to Step 1 of this algorithm.\n if (attributeValue.length > maxAttributeValueSize) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 7. Process the attribute-name and attribute-value according to the\n // requirements in the following subsections. (Notice that\n // attributes with unrecognized attribute-names are ignored.)\n const attributeNameLowercase = attributeName.toLowerCase()\n\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.1\n // If the attribute-name case-insensitively matches the string\n // \"Expires\", the user agent MUST process the cookie-av as follows.\n if (attributeNameLowercase === 'expires') {\n // 1. Let the expiry-time be the result of parsing the attribute-value\n // as cookie-date (see Section 5.1.1).\n const expiryTime = new Date(attributeValue)\n\n // 2. If the attribute-value failed to parse as a cookie date, ignore\n // the cookie-av.\n\n cookieAttributeList.expires = expiryTime\n } else if (attributeNameLowercase === 'max-age') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.2\n // If the attribute-name case-insensitively matches the string \"Max-\n // Age\", the user agent MUST process the cookie-av as follows.\n\n // 1. If the first character of the attribute-value is not a DIGIT or a\n // \"-\" character, ignore the cookie-av.\n const charCode = attributeValue.charCodeAt(0)\n\n if ((charCode < 48 || charCode > 57) && attributeValue[0] !== '-') {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 2. If the remainder of attribute-value contains a non-DIGIT\n // character, ignore the cookie-av.\n if (!/^\\d+$/.test(attributeValue)) {\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n }\n\n // 3. Let delta-seconds be the attribute-value converted to an integer.\n const deltaSeconds = Number(attributeValue)\n\n // 4. Let cookie-age-limit be the maximum age of the cookie (which\n // SHOULD be 400 days or less, see Section 4.1.2.2).\n\n // 5. Set delta-seconds to the smaller of its present value and cookie-\n // age-limit.\n // deltaSeconds = Math.min(deltaSeconds * 1000, maxExpiresMs)\n\n // 6. If delta-seconds is less than or equal to zero (0), let expiry-\n // time be the earliest representable date and time. Otherwise, let\n // the expiry-time be the current date and time plus delta-seconds\n // seconds.\n // const expiryTime = deltaSeconds <= 0 ? Date.now() : Date.now() + deltaSeconds\n\n // 7. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Max-Age and an attribute-value of expiry-time.\n cookieAttributeList.maxAge = deltaSeconds\n } else if (attributeNameLowercase === 'domain') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.3\n // If the attribute-name case-insensitively matches the string \"Domain\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. Let cookie-domain be the attribute-value.\n let cookieDomain = attributeValue\n\n // 2. If cookie-domain starts with %x2E (\".\"), let cookie-domain be\n // cookie-domain without its leading %x2E (\".\").\n if (cookieDomain[0] === '.') {\n cookieDomain = cookieDomain.slice(1)\n }\n\n // 3. Convert the cookie-domain to lower case.\n cookieDomain = cookieDomain.toLowerCase()\n\n // 4. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Domain and an attribute-value of cookie-domain.\n cookieAttributeList.domain = cookieDomain\n } else if (attributeNameLowercase === 'path') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.4\n // If the attribute-name case-insensitively matches the string \"Path\",\n // the user agent MUST process the cookie-av as follows.\n\n // 1. If the attribute-value is empty or if the first character of the\n // attribute-value is not %x2F (\"/\"):\n let cookiePath = ''\n if (attributeValue.length === 0 || attributeValue[0] !== '/') {\n // 1. Let cookie-path be the default-path.\n cookiePath = '/'\n } else {\n // Otherwise:\n\n // 1. Let cookie-path be the attribute-value.\n cookiePath = attributeValue\n }\n\n // 2. Append an attribute to the cookie-attribute-list with an\n // attribute-name of Path and an attribute-value of cookie-path.\n cookieAttributeList.path = cookiePath\n } else if (attributeNameLowercase === 'secure') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.5\n // If the attribute-name case-insensitively matches the string \"Secure\",\n // the user agent MUST append an attribute to the cookie-attribute-list\n // with an attribute-name of Secure and an empty attribute-value.\n\n cookieAttributeList.secure = true\n } else if (attributeNameLowercase === 'httponly') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.6\n // If the attribute-name case-insensitively matches the string\n // \"HttpOnly\", the user agent MUST append an attribute to the cookie-\n // attribute-list with an attribute-name of HttpOnly and an empty\n // attribute-value.\n\n cookieAttributeList.httpOnly = true\n } else if (attributeNameLowercase === 'samesite') {\n // https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis#section-5.4.7\n // If the attribute-name case-insensitively matches the string\n // \"SameSite\", the user agent MUST process the cookie-av as follows:\n\n const attributeValueLowercase = attributeValue.toLowerCase()\n\n // 1. If cookie-av's attribute-value is a case-insensitive match for\n // \"None\", append an attribute to the cookie-attribute-list with an\n // attribute-name of \"SameSite\" and an attribute-value of \"None\".\n if (attributeValueLowercase === 'none') {\n cookieAttributeList.sameSite = 'None'\n } else if (attributeValueLowercase === 'strict') {\n // 2. If cookie-av's attribute-value is a case-insensitive match for\n // \"Strict\", append an attribute to the cookie-attribute-list with\n // an attribute-name of \"SameSite\" and an attribute-value of\n // \"Strict\".\n cookieAttributeList.sameSite = 'Strict'\n } else if (attributeValueLowercase === 'lax') {\n // 3. If cookie-av's attribute-value is a case-insensitive match for\n // \"Lax\", append an attribute to the cookie-attribute-list with an\n // attribute-name of \"SameSite\" and an attribute-value of \"Lax\".\n cookieAttributeList.sameSite = 'Lax'\n }\n } else {\n cookieAttributeList.unparsed ??= []\n\n cookieAttributeList.unparsed.push(`${attributeName}=${attributeValue}`)\n }\n\n // 8. Return to Step 1 of this algorithm.\n return parseUnparsedAttributes(unparsedAttributes, cookieAttributeList)\n}\n\nmodule.exports = {\n parseSetCookie,\n parseUnparsedAttributes\n}\n","'use strict'\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction isCTLExcludingHtab (value) {\n for (let i = 0; i < value.length; ++i) {\n const code = value.charCodeAt(i)\n\n if (\n (code >= 0x00 && code <= 0x08) ||\n (code >= 0x0A && code <= 0x1F) ||\n code === 0x7F\n ) {\n return true\n }\n }\n return false\n}\n\n/**\n CHAR = \n token = 1*\n separators = \"(\" | \")\" | \"<\" | \">\" | \"@\"\n | \",\" | \";\" | \":\" | \"\\\" | <\">\n | \"/\" | \"[\" | \"]\" | \"?\" | \"=\"\n | \"{\" | \"}\" | SP | HT\n * @param {string} name\n */\nfunction validateCookieName (name) {\n for (let i = 0; i < name.length; ++i) {\n const code = name.charCodeAt(i)\n\n if (\n code < 0x21 || // exclude CTLs (0-31), SP and HT\n code > 0x7E || // exclude non-ascii and DEL\n code === 0x22 || // \"\n code === 0x28 || // (\n code === 0x29 || // )\n code === 0x3C || // <\n code === 0x3E || // >\n code === 0x40 || // @\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x3A || // :\n code === 0x5C || // \\\n code === 0x2F || // /\n code === 0x5B || // [\n code === 0x5D || // ]\n code === 0x3F || // ?\n code === 0x3D || // =\n code === 0x7B || // {\n code === 0x7D // }\n ) {\n throw new Error('Invalid cookie name')\n }\n }\n}\n\n/**\n cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )\n cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E\n ; US-ASCII characters excluding CTLs,\n ; whitespace DQUOTE, comma, semicolon,\n ; and backslash\n * @param {string} value\n */\nfunction validateCookieValue (value) {\n let len = value.length\n let i = 0\n\n // if the value is wrapped in DQUOTE\n if (value[0] === '\"') {\n if (len === 1 || value[len - 1] !== '\"') {\n throw new Error('Invalid cookie value')\n }\n --len\n ++i\n }\n\n while (i < len) {\n const code = value.charCodeAt(i++)\n\n if (\n code < 0x21 || // exclude CTLs (0-31)\n code > 0x7E || // non-ascii and DEL (127)\n code === 0x22 || // \"\n code === 0x2C || // ,\n code === 0x3B || // ;\n code === 0x5C // \\\n ) {\n throw new Error('Invalid cookie value')\n }\n }\n}\n\n/**\n * path-value = \n * @param {string} path\n */\nfunction validateCookiePath (path) {\n for (let i = 0; i < path.length; ++i) {\n const code = path.charCodeAt(i)\n\n if (\n code < 0x20 || // exclude CTLs (0-31)\n code > 0x7E || // exclude DEL and non-ascii\n code === 0x3B // ;\n ) {\n throw new Error('Invalid cookie path')\n }\n }\n}\n\n/**\n * ::= | \n *\n * ::= any one of the 52 alphabetic characters A through Z in\n * upper case and a through z in lower case\n *\n * ::= any one of the ten digits 0 through 9r\n *\n * @see https://www.rfc-editor.org/rfc/rfc1034#section-3.5\n * @param {number} code\n */\nfunction isLetterOrDigit (code) {\n return (\n (code >= 0x30 && code <= 0x39) || // 0-9\n (code >= 0x41 && code <= 0x5A) || // A-Z\n (code >= 0x61 && code <= 0x7A) // a-z\n )\n}\n\n/**\n * Validates a cookie domain against the \"preferred name syntax\".\n *\n * ::= | \" \"\n * ::=