From 83f9433da0d7f20efbf090fd8ed75a0a39000797 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Mon, 25 May 2026 16:09:17 -0400 Subject: [PATCH] feat: remove rabbitmq from supported-version for mage-os/minimal --- supported-version/dist/index.js | 4 ++-- .../src/services/build-services.spec.ts | 15 +++++++++++++++ .../src/versions/mage-os-minimal/composite.json | 3 --- .../src/versions/mage-os-minimal/individual.json | 1 - 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/supported-version/dist/index.js b/supported-version/dist/index.js index bfa8d55..cbd8191 100644 --- a/supported-version/dist/index.js +++ b/supported-version/dist/index.js @@ -51,14 +51,14 @@ ${g.toString(16)}\r ${r.count} ${r.noun} ${r.is} pending: ${e.format(t)} -`.trim())}};vh.exports=yg});var Wh=B((LT,Oh)=>{"use strict";var{kProxy:Yb,kClose:Gb,kDestroy:Jb,kInterceptors:Vb}=z(),{URL:Gh}=require("url"),Jh=Bs(),Hb=hr(),Ob=es(),{InvalidArgumentError:ds,RequestAbortedError:Wb}=j(),Vh=ts(),ls=Symbol("proxy agent"),ji=Symbol("proxy client"),us=Symbol("proxy headers"),wg=Symbol("request tls settings"),Pb=Symbol("proxy tls settings"),Hh=Symbol("connect endpoint function");function _b(A){return A==="https:"?443:80}function jb(A){if(typeof A=="string"&&(A={uri:A}),!A||!A.uri)throw new ds("Proxy opts.uri is mandatory");return{uri:A.uri,protocol:A.protocol||"https"}}function Xb(A,e){return new Hb(A,e)}var Dg=class extends Ob{constructor(e){if(super(e),this[Yb]=jb(e),this[ls]=new Jh(e),this[Vb]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[],typeof e=="string"&&(e={uri:e}),!e||!e.uri)throw new ds("Proxy opts.uri is mandatory");let{clientFactory:t=Xb}=e;if(typeof t!="function")throw new ds("Proxy opts.clientFactory must be a function.");this[wg]=e.requestTls,this[Pb]=e.proxyTls,this[us]=e.headers||{};let r=new Gh(e.uri),{origin:s,port:i,host:n,username:o,password:a}=r;if(e.auth&&e.token)throw new ds("opts.auth cannot be used in combination with opts.token");e.auth?this[us]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[us]["proxy-authorization"]=e.token:o&&a&&(this[us]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(o)}:${decodeURIComponent(a)}`).toString("base64")}`);let g=Vh({...e.proxyTls});this[Hh]=Vh({...e.requestTls}),this[ji]=t(r,{connect:g}),this[ls]=new Jh({...e,connect:async(c,E)=>{let Q=c.host;c.port||(Q+=`:${_b(c.protocol)}`);try{let{socket:C,statusCode:h}=await this[ji].connect({origin:s,port:i,path:Q,signal:c.signal,headers:{...this[us],host:n}});if(h!==200&&(C.on("error",()=>{}).destroy(),E(new Wb(`Proxy response (${h}) !== 200 when HTTP Tunneling`))),c.protocol!=="https:"){E(null,C);return}let u;this[wg]?u=this[wg].servername:u=c.servername,this[Hh]({...c,servername:u,httpSocket:C},E)}catch(C){E(C)}}})}dispatch(e,t){let{host:r}=new Gh(e.origin),s=Zb(e.headers);return Kb(s),this[ls].dispatch({...e,headers:{...s,host:r}},t)}async[Gb](){await this[ls].close(),await this[ji].close()}async[Jb](){await this[ls].destroy(),await this[ji].destroy()}};function Zb(A){if(Array.isArray(A)){let e={};for(let t=0;tt.toLowerCase()==="proxy-authorization"))throw new ds("Proxy-Authorization should be sent in ProxyAgent constructor")}Oh.exports=Dg});var Zh=B((xT,Xh)=>{var Yt=require("assert"),{kRetryHandlerDefaultRetry:Ph}=z(),{RequestRetryError:Xi}=j(),{isDisturbed:_h,parseHeaders:zb,parseRangeHeader:jh}=G();function $b(A){let e=Date.now();return new Date(A).getTime()-e}var Rg=class A{constructor(e,t){let{retryOptions:r,...s}=e,{retry:i,maxRetries:n,maxTimeout:o,minTimeout:a,timeoutFactor:g,methods:c,errorCodes:E,retryAfter:Q,statusCodes:C}=r??{};this.dispatch=t.dispatch,this.handler=t.handler,this.opts=s,this.abort=null,this.aborted=!1,this.retryOpts={retry:i??A[Ph],retryAfter:Q??!0,maxTimeout:o??30*1e3,timeout:a??500,timeoutFactor:g??2,maxRetries:n??5,methods:c??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:C??[500,502,503,504,429],errorCodes:E??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]},this.retryCount=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.handler.onConnect(h=>{this.aborted=!0,this.abort?this.abort(h):this.reason=h})}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(e,t,r){this.handler.onUpgrade&&this.handler.onUpgrade(e,t,r)}onConnect(e){this.aborted?e(this.reason):this.abort=e}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[Ph](e,{state:t,opts:r},s){let{statusCode:i,code:n,headers:o}=e,{method:a,retryOptions:g}=r,{maxRetries:c,timeout:E,maxTimeout:Q,timeoutFactor:C,statusCodes:h,errorCodes:u,methods:I}=g,{counter:d,currentTimeout:R}=t;if(R=R!=null&&R>0?R:E,n&&n!=="UND_ERR_REQ_RETRY"&&n!=="UND_ERR_SOCKET"&&!u.includes(n)){s(e);return}if(Array.isArray(I)&&!I.includes(a)){s(e);return}if(i!=null&&Array.isArray(h)&&!h.includes(i)){s(e);return}if(d>c){s(e);return}let U=o!=null&&o["retry-after"];U&&(U=Number(U),U=isNaN(U)?$b(U):U*1e3);let v=U>0?Math.min(U,Q):Math.min(R*C**d,Q);t.currentTimeout=v,setTimeout(()=>s(null),v)}onHeaders(e,t,r,s){let i=zb(t);if(this.retryCount+=1,e>=300)return this.abort(new Xi("Request failed",e,{headers:i,count:this.retryCount})),!1;if(this.resume!=null){if(this.resume=null,e!==206)return!0;let o=jh(i["content-range"]);if(!o)return this.abort(new Xi("Content-Range mismatch",e,{headers:i,count:this.retryCount})),!1;if(this.etag!=null&&this.etag!==i.etag)return this.abort(new Xi("ETag mismatch",e,{headers:i,count:this.retryCount})),!1;let{start:a,size:g,end:c=g}=o;return Yt(this.start===a,"content-range mismatch"),Yt(this.end==null||this.end===c,"content-range mismatch"),this.resume=r,!0}if(this.end==null){if(e===206){let o=jh(i["content-range"]);if(o==null)return this.handler.onHeaders(e,t,r,s);let{start:a,size:g,end:c=g}=o;Yt(a!=null&&Number.isFinite(a)&&this.start!==a,"content-range mismatch"),Yt(Number.isFinite(a)),Yt(c!=null&&Number.isFinite(c)&&this.end!==c,"invalid content-length"),this.start=a,this.end=c}if(this.end==null){let o=i["content-length"];this.end=o!=null?Number(o):null}return Yt(Number.isFinite(this.start)),Yt(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.etag=i.etag!=null?i.etag:null,this.handler.onHeaders(e,t,r,s)}let n=new Xi("Request failed",e,{headers:i,count:this.retryCount});return this.abort(n),!1}onData(e){return this.start+=e.length,this.handler.onData(e)}onComplete(e){return this.retryCount=0,this.handler.onComplete(e)}onError(e){if(this.aborted||_h(this.opts.body))return this.handler.onError(e);this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},t.bind(this));function t(r){if(r!=null||this.aborted||_h(this.opts.body))return this.handler.onError(r);this.start!==0&&(this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}});try{this.dispatch(this.opts,this)}catch(s){this.handler.onError(s)}}}};Xh.exports=Rg});var wr=B((MT,AI)=>{"use strict";var Kh=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Ak}=j(),ek=Bs();$h()===void 0&&zh(new ek);function zh(A){if(!A||typeof A.dispatch!="function")throw new Ak("Argument agent must implement Agent");Object.defineProperty(globalThis,Kh,{value:A,writable:!0,enumerable:!1,configurable:!1})}function $h(){return globalThis[Kh]}AI.exports={setGlobalDispatcher:zh,getGlobalDispatcher:$h}});var tI=B((qT,eI)=>{"use strict";eI.exports=class{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}});var Gt=B((vT,oI)=>{"use strict";var{kHeadersList:OA,kConstruct:tk}=z(),{kGuard:Je}=Ke(),{kEnumerableProperty:Ge}=G(),{makeIterator:Dr,isValidHeaderName:fs,isValidHeaderValue:sI}=Be(),rk=require("util"),{webidl:q}=SA(),sk=require("assert"),HA=Symbol("headers map"),pA=Symbol("headers map sorted");function rI(A){return A===10||A===13||A===9||A===32}function iI(A){let e=0,t=A.length;for(;t>e&&rI(A.charCodeAt(t-1));)--t;for(;t>e&&rI(A.charCodeAt(e));)++e;return e===0&&t===A.length?A:A.substring(e,t)}function nI(A,e){if(Array.isArray(e))for(let t=0;t>","record"]})}function bg(A,e,t){if(t=iI(t),fs(e)){if(!sI(t))throw q.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw q.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(A[Je]==="immutable")throw new TypeError("immutable");return A[Je],A[OA].append(e,t)}var Zi=class A{cookies=null;constructor(e){e instanceof A?(this[HA]=new Map(e[HA]),this[pA]=e[pA],this.cookies=e.cookies===null?null:[...e.cookies]):(this[HA]=new Map(e),this[pA]=null)}contains(e){return e=e.toLowerCase(),this[HA].has(e)}clear(){this[HA].clear(),this[pA]=null,this.cookies=null}append(e,t){this[pA]=null;let r=e.toLowerCase(),s=this[HA].get(r);if(s){let i=r==="cookie"?"; ":", ";this[HA].set(r,{name:s.name,value:`${s.value}${i}${t}`})}else this[HA].set(r,{name:e,value:t});r==="set-cookie"&&(this.cookies??=[],this.cookies.push(t))}set(e,t){this[pA]=null;let r=e.toLowerCase();r==="set-cookie"&&(this.cookies=[t]),this[HA].set(r,{name:e,value:t})}delete(e){this[pA]=null,e=e.toLowerCase(),e==="set-cookie"&&(this.cookies=null),this[HA].delete(e)}get(e){let t=this[HA].get(e.toLowerCase());return t===void 0?null:t.value}*[Symbol.iterator](){for(let[e,{value:t}]of this[HA])yield[e,t]}get entries(){let e={};if(this[HA].size)for(let{name:t,value:r}of this[HA].values())e[t]=r;return e}},Rr=class A{constructor(e=void 0){e!==tk&&(this[OA]=new Zi,this[Je]="none",e!==void 0&&(e=q.converters.HeadersInit(e),nI(this,e)))}append(e,t){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,2,{header:"Headers.append"}),e=q.converters.ByteString(e),t=q.converters.ByteString(t),bg(this,e,t)}delete(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.delete"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this[Je]==="immutable")throw new TypeError("immutable");this[Je],this[OA].contains(e)&&this[OA].delete(e)}get(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.get"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"});return this[OA].get(e)}has(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.has"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"});return this[OA].contains(e)}set(e,t){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,2,{header:"Headers.set"}),e=q.converters.ByteString(e),t=q.converters.ByteString(t),t=iI(t),fs(e)){if(!sI(t))throw q.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}else throw q.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"});if(this[Je]==="immutable")throw new TypeError("immutable");this[Je],this[OA].set(e,t)}getSetCookie(){q.brandCheck(this,A);let e=this[OA].cookies;return e?[...e]:[]}get[pA](){if(this[OA][pA])return this[OA][pA];let e=[],t=[...this[OA]].sort((s,i)=>s[0]e,"Headers","key")}return Dr(()=>[...this[pA].values()],"Headers","key")}values(){if(q.brandCheck(this,A),this[Je]==="immutable"){let e=this[pA];return Dr(()=>e,"Headers","value")}return Dr(()=>[...this[pA].values()],"Headers","value")}entries(){if(q.brandCheck(this,A),this[Je]==="immutable"){let e=this[pA];return Dr(()=>e,"Headers","key+value")}return Dr(()=>[...this[pA].values()],"Headers","key+value")}forEach(e,t=globalThis){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.forEach"}),typeof e!="function")throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");for(let[r,s]of this)e.apply(t,[s,r,this])}[Symbol.for("nodejs.util.inspect.custom")](){return q.brandCheck(this,A),this[OA]}};Rr.prototype[Symbol.iterator]=Rr.prototype.entries;Object.defineProperties(Rr.prototype,{append:Ge,delete:Ge,get:Ge,has:Ge,set:Ge,getSetCookie:Ge,keys:Ge,values:Ge,entries:Ge,forEach:Ge,[Symbol.iterator]:{enumerable:!1},[Symbol.toStringTag]:{value:"Headers",configurable:!0},[rk.inspect.custom]:{enumerable:!1}});q.converters.HeadersInit=function(A){if(q.util.Type(A)==="Object")return A[Symbol.iterator]?q.converters["sequence>"](A):q.converters["record"](A);throw q.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};oI.exports={fill:nI,Headers:Rr,HeadersList:Zi}});var An=B((YT,hI)=>{"use strict";var{Headers:ik,HeadersList:aI,fill:nk}=Gt(),{extractBody:gI,cloneBody:ok,mixinBody:ak}=zr(),Fg=G(),{kEnumerableProperty:oe}=Fg,{isValidReasonPhrase:gk,isCancelled:ck,isAborted:Ek,isBlobLike:Qk,serializeJavascriptValueToJSONString:Ck,isErrorLike:Bk,isomorphicEncode:hk}=Be(),{redirectStatusSet:Ik,nullBodyStatus:lk,DOMException:cI}=Ct(),{kState:rA,kHeaders:lA,kGuard:br,kRealm:ne}=Ke(),{webidl:T}=SA(),{FormData:uk}=gi(),{getGlobalOrigin:dk}=tr(),{URLSerializer:EI}=De(),{kHeadersList:kg,kConstruct:fk}=z(),Sg=require("assert"),{types:Ng}=require("util"),CI=globalThis.ReadableStream||require("stream/web").ReadableStream,mk=new TextEncoder("utf-8"),kr=class A{static error(){let e={settingsObject:{}},t=new A;return t[rA]=zi(),t[ne]=e,t[lA][kg]=t[rA].headersList,t[lA][br]="immutable",t[lA][ne]=e,t}static json(e,t={}){T.argumentLengthCheck(arguments,1,{header:"Response.json"}),t!==null&&(t=T.converters.ResponseInit(t));let r=mk.encode(Ck(e)),s=gI(r),i={settingsObject:{}},n=new A;return n[ne]=i,n[lA][br]="response",n[lA][ne]=i,QI(n,t,{body:s[0],type:"application/json"}),n}static redirect(e,t=302){let r={settingsObject:{}};T.argumentLengthCheck(arguments,1,{header:"Response.redirect"}),e=T.converters.USVString(e),t=T.converters["unsigned short"](t);let s;try{s=new URL(e,dk())}catch(o){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:o})}if(!Ik.has(t))throw new RangeError("Invalid status code "+t);let i=new A;i[ne]=r,i[lA][br]="immutable",i[lA][ne]=r,i[rA].status=t;let n=hk(EI(s));return i[rA].headersList.append("location",n),i}constructor(e=null,t={}){e!==null&&(e=T.converters.BodyInit(e)),t=T.converters.ResponseInit(t),this[ne]={settingsObject:{}},this[rA]=$i({}),this[lA]=new ik(fk),this[lA][br]="response",this[lA][kg]=this[rA].headersList,this[lA][ne]=this[ne];let r=null;if(e!=null){let[s,i]=gI(e);r={body:s,type:i}}QI(this,t,r)}get type(){return T.brandCheck(this,A),this[rA].type}get url(){T.brandCheck(this,A);let e=this[rA].urlList,t=e[e.length-1]??null;return t===null?"":EI(t,!0)}get redirected(){return T.brandCheck(this,A),this[rA].urlList.length>1}get status(){return T.brandCheck(this,A),this[rA].status}get ok(){return T.brandCheck(this,A),this[rA].status>=200&&this[rA].status<=299}get statusText(){return T.brandCheck(this,A),this[rA].statusText}get headers(){return T.brandCheck(this,A),this[lA]}get body(){return T.brandCheck(this,A),this[rA].body?this[rA].body.stream:null}get bodyUsed(){return T.brandCheck(this,A),!!this[rA].body&&Fg.isDisturbed(this[rA].body.stream)}clone(){if(T.brandCheck(this,A),this.bodyUsed||this.body&&this.body.locked)throw T.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=Ug(this[rA]),t=new A;return t[rA]=e,t[ne]=this[ne],t[lA][kg]=e.headersList,t[lA][br]=this[lA][br],t[lA][ne]=this[lA][ne],t}};ak(kr);Object.defineProperties(kr.prototype,{type:oe,url:oe,status:oe,ok:oe,redirected:oe,statusText:oe,headers:oe,clone:oe,body:oe,bodyUsed:oe,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(kr,{json:oe,redirect:oe,error:oe});function Ug(A){if(A.internalResponse)return BI(Ug(A.internalResponse),A.type);let e=$i({...A,body:null});return A.body!=null&&(e.body=ok(A.body)),e}function $i(A){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...A,headersList:A.headersList?new aI(A.headersList):new aI,urlList:A.urlList?[...A.urlList]:[]}}function zi(A){let e=Bk(A);return $i({type:"error",status:0,error:e?A:new Error(A&&String(A)),aborted:A&&A.name==="AbortError"})}function Ki(A,e){return e={internalResponse:A,...e},new Proxy(A,{get(t,r){return r in e?e[r]:t[r]},set(t,r,s){return Sg(!(r in e)),t[r]=s,!0}})}function BI(A,e){if(e==="basic")return Ki(A,{type:"basic",headersList:A.headersList});if(e==="cors")return Ki(A,{type:"cors",headersList:A.headersList});if(e==="opaque")return Ki(A,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(e==="opaqueredirect")return Ki(A,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Sg(!1)}function pk(A,e=null){return Sg(ck(A)),Ek(A)?zi(Object.assign(new cI("The operation was aborted.","AbortError"),{cause:e})):zi(Object.assign(new cI("Request was cancelled."),{cause:e}))}function QI(A,e,t){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!gk(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(A[rA].status=e.status),"statusText"in e&&e.statusText!=null&&(A[rA].statusText=e.statusText),"headers"in e&&e.headers!=null&&nk(A[lA],e.headers),t){if(lk.includes(A.status))throw T.errors.exception({header:"Response constructor",message:"Invalid response status code "+A.status});A[rA].body=t.body,t.type!=null&&!A[rA].headersList.contains("Content-Type")&&A[rA].headersList.append("content-type",t.type)}}T.converters.ReadableStream=T.interfaceConverter(CI);T.converters.FormData=T.interfaceConverter(uk);T.converters.URLSearchParams=T.interfaceConverter(URLSearchParams);T.converters.XMLHttpRequestBodyInit=function(A){return typeof A=="string"?T.converters.USVString(A):Qk(A)?T.converters.Blob(A,{strict:!1}):Ng.isArrayBuffer(A)||Ng.isTypedArray(A)||Ng.isDataView(A)?T.converters.BufferSource(A):Fg.isFormDataLike(A)?T.converters.FormData(A,{strict:!1}):A instanceof URLSearchParams?T.converters.URLSearchParams(A):T.converters.DOMString(A)};T.converters.BodyInit=function(A){return A instanceof CI?T.converters.ReadableStream(A):A?.[Symbol.asyncIterator]?A:T.converters.XMLHttpRequestBodyInit(A)};T.converters.ResponseInit=T.dictionaryConverter([{key:"status",converter:T.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:T.converters.ByteString,defaultValue:""},{key:"headers",converter:T.converters.HeadersInit}]);hI.exports={makeNetworkError:zi,makeResponse:$i,makeAppropriateNetworkError:pk,filterResponse:BI,Response:kr,cloneResponse:Ug}});var ys=B((GT,mI)=>{"use strict";var{extractBody:yk,mixinBody:wk,cloneBody:Dk}=zr(),{Headers:II,fill:Rk,HeadersList:sn}=Gt(),{FinalizationRegistry:bk}=Va()(),ps=G(),{isValidHTTPToken:kk,sameOrigin:lI,normalizeMethod:Nk,makePolicyContainer:Fk,normalizeMethodRecord:Sk}=Be(),{forbiddenMethodsSet:Uk,corsSafeListedMethodsSet:Lk,referrerPolicy:xk,requestRedirect:Mk,requestMode:Tk,requestCredentials:qk,requestCache:vk,requestDuplex:Yk}=Ct(),{kEnumerableProperty:CA}=ps,{kHeaders:bA,kSignal:ms,kState:eA,kGuard:en,kRealm:ae}=Ke(),{webidl:S}=SA(),{getGlobalOrigin:Gk}=tr(),{URLSerializer:Jk}=De(),{kHeadersList:tn,kConstruct:rn}=z(),Vk=require("assert"),{getMaxListeners:uI,setMaxListeners:dI,getEventListeners:Hk,defaultMaxListeners:fI}=require("events"),Lg=globalThis.TransformStream,Ok=Symbol("abortController"),Wk=new bk(({signal:A,abort:e})=>{A.removeEventListener("abort",e)}),Jt=class A{constructor(e,t={}){if(e===rn)return;S.argumentLengthCheck(arguments,1,{header:"Request constructor"}),e=S.converters.RequestInfo(e),t=S.converters.RequestInit(t),this[ae]={settingsObject:{baseUrl:Gk(),get origin(){return this.baseUrl?.origin},policyContainer:Fk()}};let r=null,s=null,i=this[ae].settingsObject.baseUrl,n=null;if(typeof e=="string"){let I;try{I=new URL(e,i)}catch(d){throw new TypeError("Failed to parse URL from "+e,{cause:d})}if(I.username||I.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);r=nn({urlList:[I]}),s="cors"}else Vk(e instanceof A),r=e[eA],n=e[ms];let o=this[ae].settingsObject.origin,a="client";if(r.window?.constructor?.name==="EnvironmentSettingsObject"&&lI(r.window,o)&&(a=r.window),t.window!=null)throw new TypeError(`'window' option '${a}' must be null`);"window"in t&&(a="no-window"),r=nn({method:r.method,headersList:r.headersList,unsafeRequest:r.unsafeRequest,client:this[ae].settingsObject,window:a,priority:r.priority,origin:r.origin,referrer:r.referrer,referrerPolicy:r.referrerPolicy,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,integrity:r.integrity,keepalive:r.keepalive,reloadNavigation:r.reloadNavigation,historyNavigation:r.historyNavigation,urlList:[...r.urlList]});let g=Object.keys(t).length!==0;if(g&&(r.mode==="navigate"&&(r.mode="same-origin"),r.reloadNavigation=!1,r.historyNavigation=!1,r.origin="client",r.referrer="client",r.referrerPolicy="",r.url=r.urlList[r.urlList.length-1],r.urlList=[r.url]),t.referrer!==void 0){let I=t.referrer;if(I==="")r.referrer="no-referrer";else{let d;try{d=new URL(I,i)}catch(R){throw new TypeError(`Referrer "${I}" is not a valid URL.`,{cause:R})}d.protocol==="about:"&&d.hostname==="client"||o&&!lI(d,this[ae].settingsObject.baseUrl)?r.referrer="client":r.referrer=d}}t.referrerPolicy!==void 0&&(r.referrerPolicy=t.referrerPolicy);let c;if(t.mode!==void 0?c=t.mode:c=s,c==="navigate")throw S.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(c!=null&&(r.mode=c),t.credentials!==void 0&&(r.credentials=t.credentials),t.cache!==void 0&&(r.cache=t.cache),r.cache==="only-if-cached"&&r.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(r.redirect=t.redirect),t.integrity!=null&&(r.integrity=String(t.integrity)),t.keepalive!==void 0&&(r.keepalive=!!t.keepalive),t.method!==void 0){let I=t.method;if(!kk(I))throw new TypeError(`'${I}' is not a valid HTTP method.`);if(Uk.has(I.toUpperCase()))throw new TypeError(`'${I}' HTTP method is unsupported.`);I=Sk[I]??Nk(I),r.method=I}t.signal!==void 0&&(n=t.signal),this[eA]=r;let E=new AbortController;if(this[ms]=E.signal,this[ms][ae]=this[ae],n!=null){if(!n||typeof n.aborted!="boolean"||typeof n.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(n.aborted)E.abort(n.reason);else{this[Ok]=E;let I=new WeakRef(E),d=function(){let R=I.deref();R!==void 0&&R.abort(this.reason)};try{(typeof uI=="function"&&uI(n)===fI||Hk(n,"abort").length>=fI)&&dI(100,n)}catch{}ps.addAbortListener(n,d),Wk.register(E,{signal:n,abort:d})}}if(this[bA]=new II(rn),this[bA][tn]=r.headersList,this[bA][en]="request",this[bA][ae]=this[ae],c==="no-cors"){if(!Lk.has(r.method))throw new TypeError(`'${r.method} is unsupported in no-cors mode.`);this[bA][en]="request-no-cors"}if(g){let I=this[bA][tn],d=t.headers!==void 0?t.headers:new sn(I);if(I.clear(),d instanceof sn){for(let[R,U]of d)I.append(R,U);I.cookies=d.cookies}else Rk(this[bA],d)}let Q=e instanceof A?e[eA].body:null;if((t.body!=null||Q!=null)&&(r.method==="GET"||r.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let C=null;if(t.body!=null){let[I,d]=yk(t.body,r.keepalive);C=I,d&&!this[bA][tn].contains("content-type")&&this[bA].append("content-type",d)}let h=C??Q;if(h!=null&&h.source==null){if(C!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(r.mode!=="same-origin"&&r.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');r.useCORSPreflightFlag=!0}let u=h;if(C==null&&Q!=null){if(ps.isDisturbed(Q.stream)||Q.stream.locked)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");Lg||(Lg=require("stream/web").TransformStream);let I=new Lg;Q.stream.pipeThrough(I),u={source:Q.source,length:Q.length,stream:I.readable}}this[eA].body=u}get method(){return S.brandCheck(this,A),this[eA].method}get url(){return S.brandCheck(this,A),Jk(this[eA].url)}get headers(){return S.brandCheck(this,A),this[bA]}get destination(){return S.brandCheck(this,A),this[eA].destination}get referrer(){return S.brandCheck(this,A),this[eA].referrer==="no-referrer"?"":this[eA].referrer==="client"?"about:client":this[eA].referrer.toString()}get referrerPolicy(){return S.brandCheck(this,A),this[eA].referrerPolicy}get mode(){return S.brandCheck(this,A),this[eA].mode}get credentials(){return this[eA].credentials}get cache(){return S.brandCheck(this,A),this[eA].cache}get redirect(){return S.brandCheck(this,A),this[eA].redirect}get integrity(){return S.brandCheck(this,A),this[eA].integrity}get keepalive(){return S.brandCheck(this,A),this[eA].keepalive}get isReloadNavigation(){return S.brandCheck(this,A),this[eA].reloadNavigation}get isHistoryNavigation(){return S.brandCheck(this,A),this[eA].historyNavigation}get signal(){return S.brandCheck(this,A),this[ms]}get body(){return S.brandCheck(this,A),this[eA].body?this[eA].body.stream:null}get bodyUsed(){return S.brandCheck(this,A),!!this[eA].body&&ps.isDisturbed(this[eA].body.stream)}get duplex(){return S.brandCheck(this,A),"half"}clone(){if(S.brandCheck(this,A),this.bodyUsed||this.body?.locked)throw new TypeError("unusable");let e=Pk(this[eA]),t=new A(rn);t[eA]=e,t[ae]=this[ae],t[bA]=new II(rn),t[bA][tn]=e.headersList,t[bA][en]=this[bA][en],t[bA][ae]=this[bA][ae];let r=new AbortController;return this.signal.aborted?r.abort(this.signal.reason):ps.addAbortListener(this.signal,()=>{r.abort(this.signal.reason)}),t[ms]=r.signal,t}};wk(Jt);function nn(A){let e={method:"GET",localURLsOnly:!1,unsafeRequest:!1,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:!1,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:!1,credentials:"same-origin",useCredentials:!1,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:!1,historyNavigation:!1,userActivation:!1,taintedOrigin:!1,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:!1,done:!1,timingAllowFailed:!1,...A,headersList:A.headersList?new sn(A.headersList):new sn};return e.url=e.urlList[0],e}function Pk(A){let e=nn({...A,body:null});return A.body!=null&&(e.body=Dk(A.body)),e}Object.defineProperties(Jt.prototype,{method:CA,url:CA,headers:CA,redirect:CA,clone:CA,signal:CA,duplex:CA,destination:CA,body:CA,bodyUsed:CA,isHistoryNavigation:CA,isReloadNavigation:CA,keepalive:CA,integrity:CA,cache:CA,credentials:CA,attribute:CA,referrerPolicy:CA,referrer:CA,mode:CA,[Symbol.toStringTag]:{value:"Request",configurable:!0}});S.converters.Request=S.interfaceConverter(Jt);S.converters.RequestInfo=function(A){return typeof A=="string"?S.converters.USVString(A):A instanceof Jt?S.converters.Request(A):S.converters.USVString(A)};S.converters.AbortSignal=S.interfaceConverter(AbortSignal);S.converters.RequestInit=S.dictionaryConverter([{key:"method",converter:S.converters.ByteString},{key:"headers",converter:S.converters.HeadersInit},{key:"body",converter:S.nullableConverter(S.converters.BodyInit)},{key:"referrer",converter:S.converters.USVString},{key:"referrerPolicy",converter:S.converters.DOMString,allowedValues:xk},{key:"mode",converter:S.converters.DOMString,allowedValues:Tk},{key:"credentials",converter:S.converters.DOMString,allowedValues:qk},{key:"cache",converter:S.converters.DOMString,allowedValues:vk},{key:"redirect",converter:S.converters.DOMString,allowedValues:Mk},{key:"integrity",converter:S.converters.DOMString},{key:"keepalive",converter:S.converters.boolean},{key:"signal",converter:S.nullableConverter(A=>S.converters.AbortSignal(A,{strict:!1}))},{key:"window",converter:S.converters.any},{key:"duplex",converter:S.converters.DOMString,allowedValues:Yk}]);mI.exports={Request:Jt,makeRequest:nn}});var Cn=B((JT,MI)=>{"use strict";var{Response:_k,makeNetworkError:X,makeAppropriateNetworkError:on,filterResponse:xg,makeResponse:an}=An(),{Headers:pI}=Gt(),{Request:jk,makeRequest:Xk}=ys(),ws=require("zlib"),{bytesMatch:Zk,makePolicyContainer:Kk,clonePolicyContainer:zk,requestBadPort:$k,TAOCheck:A2,appendRequestOriginHeader:e2,responseLocationURL:t2,requestCurrentURL:Ve,setRequestReferrerPolicyOnRedirect:r2,tryUpgradeRequestToAPotentiallyTrustworthyURL:s2,createOpaqueTimingInfo:Hg,appendFetchMetadata:i2,corsCheck:n2,crossOriginResourcePolicyCheck:o2,determineRequestsReferrer:a2,coarsenedSharedCurrentTime:Og,createDeferredPromise:g2,isBlobLike:c2,sameOrigin:Gg,isCancelled:Fr,isAborted:yI,isErrorLike:E2,fullyReadBody:bI,readableStreamClose:Q2,isomorphicEncode:Jg,urlIsLocal:C2,urlIsHttpHttpsScheme:Wg,urlHasHttpsScheme:B2}=Be(),{kState:Vg,kHeaders:Mg,kGuard:h2,kRealm:wI}=Ke(),Sr=require("assert"),{safelyExtractBody:gn}=zr(),{redirectStatusSet:kI,nullBodyStatus:NI,safeMethodsSet:I2,requestBodyHeader:l2,subresourceSet:u2,DOMException:cn}=Ct(),{kHeadersList:Nr}=z(),d2=require("events"),{Readable:f2,pipeline:m2}=require("stream"),{addAbortListener:p2,isErrored:y2,isReadable:En,nodeMajor:DI,nodeMinor:w2}=G(),{dataURLProcessor:D2,serializeAMimeType:R2}=De(),{TransformStream:b2}=require("stream/web"),{getGlobalDispatcher:k2}=wr(),{webidl:N2}=SA(),{STATUS_CODES:F2}=require("http"),S2=["GET","HEAD"],Tg,qg=globalThis.ReadableStream,Qn=class extends d2{constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing",this.setMaxListeners(21)}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new cn("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function U2(A,e={}){N2.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});let t=g2(),r;try{r=new jk(A,e)}catch(Q){return t.reject(Q),t.promise}let s=r[Vg];if(r.signal.aborted)return vg(t,s,null,r.signal.reason),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let n=null,o=null,a=!1,g=null;return p2(r.signal,()=>{a=!0,Sr(g!=null),g.abort(r.signal.reason),vg(t,s,n,r.signal.reason)}),g=SI({request:s,processResponseEndOfBody:Q=>FI(Q,"fetch"),processResponse:Q=>{if(a)return Promise.resolve();if(Q.aborted)return vg(t,s,n,g.serializedAbortReason),Promise.resolve();if(Q.type==="error")return t.reject(Object.assign(new TypeError("fetch failed"),{cause:Q.error})),Promise.resolve();n=new _k,n[Vg]=Q,n[wI]=o,n[Mg][Nr]=Q.headersList,n[Mg][h2]="immutable",n[Mg][wI]=o,t.resolve(n)},dispatcher:e.dispatcher??k2()}),t.promise}function FI(A,e="other"){if(A.type==="error"&&A.aborted||!A.urlList?.length)return;let t=A.urlList[0],r=A.timingInfo,s=A.cacheState;Wg(t)&&r!==null&&(A.timingAllowPassed||(r=Hg({startTime:r.startTime}),s=""),r.endTime=Og(),A.timingInfo=r,L2(r,t,e,globalThis,s))}function L2(A,e,t,r,s){(DI>18||DI===18&&w2>=2)&&performance.markResourceTiming(A,e.href,t,r,s)}function vg(A,e,t,r){if(r||(r=new cn("The operation was aborted.","AbortError")),A.reject(r),e.body!=null&&En(e.body?.stream)&&e.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let s=t[Vg];s.body!=null&&En(s.body?.stream)&&s.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function SI({request:A,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:i,useParallelQueue:n=!1,dispatcher:o}){let a=null,g=!1;A.client!=null&&(a=A.client.globalObject,g=A.client.crossOriginIsolatedCapability);let c=Og(g),E=Hg({startTime:c}),Q={controller:new Qn(o),request:A,timingInfo:E,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:i,processResponseEndOfBody:s,taskDestination:a,crossOriginIsolatedCapability:g};return Sr(!A.body||A.body.stream),A.window==="client"&&(A.window=A.client?.globalObject?.constructor?.name==="Window"?A.client:"no-window"),A.origin==="client"&&(A.origin=A.client?.origin),A.policyContainer==="client"&&(A.client!=null?A.policyContainer=zk(A.client.policyContainer):A.policyContainer=Kk()),A.headersList.contains("accept")||A.headersList.append("accept","*/*"),A.headersList.contains("accept-language")||A.headersList.append("accept-language","*"),A.priority,u2.has(A.destination),UI(Q).catch(C=>{Q.controller.terminate(C)}),Q.controller}async function UI(A,e=!1){let t=A.request,r=null;if(t.localURLsOnly&&!C2(Ve(t))&&(r=X("local URLs only")),s2(t),$k(t)==="blocked"&&(r=X("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=a2(t)),r===null&&(r=await(async()=>{let i=Ve(t);return Gg(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await RI(A)):t.mode==="same-origin"?X('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?X('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await RI(A)):Wg(Ve(t))?(t.responseTainting="cors",await LI(A)):X("URL scheme must be a HTTP(S) scheme")})()),e)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=xg(r,"basic"):t.responseTainting==="cors"?r=xg(r,"cors"):t.responseTainting==="opaque"?r=xg(r,"opaque"):Sr(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range")&&(r=s=X()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||NI.includes(s.status))&&(s.body=null,A.controller.dump=!0),t.integrity){let i=o=>Yg(A,X(o));if(t.responseTainting==="opaque"||r.body==null){i(r.error);return}let n=o=>{if(!Zk(o,t.integrity)){i("integrity mismatch");return}r.body=gn(o)[0],Yg(A,r)};await bI(r.body,n,i)}else Yg(A,r)}function RI(A){if(Fr(A)&&A.request.redirectCount===0)return Promise.resolve(on(A));let{request:e}=A,{protocol:t}=Ve(e);switch(t){case"about:":return Promise.resolve(X("about scheme is not supported"));case"blob:":{Tg||(Tg=require("buffer").resolveObjectURL);let r=Ve(e);if(r.search.length!==0)return Promise.resolve(X("NetworkError when attempting to fetch resource."));let s=Tg(r.toString());if(e.method!=="GET"||!c2(s))return Promise.resolve(X("invalid method"));let i=gn(s),n=i[0],o=Jg(`${n.length}`),a=i[1]??"",g=an({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:o}],["content-type",{name:"Content-Type",value:a}]]});return g.body=n,Promise.resolve(g)}case"data:":{let r=Ve(e),s=D2(r);if(s==="failure")return Promise.resolve(X("failed to fetch the data URL"));let i=R2(s.mimeType);return Promise.resolve(an({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:gn(s.body)[0]}))}case"file:":return Promise.resolve(X("not implemented... yet..."));case"http:":case"https:":return LI(A).catch(r=>X(r));default:return Promise.resolve(X("unknown scheme"))}}function x2(A,e){A.request.done=!0,A.processResponseDone!=null&&queueMicrotask(()=>A.processResponseDone(e))}function Yg(A,e){e.type==="error"&&(e.urlList=[A.request.urlList[0]],e.timingInfo=Hg({startTime:A.timingInfo.startTime}));let t=()=>{A.request.done=!0,A.processResponseEndOfBody!=null&&queueMicrotask(()=>A.processResponseEndOfBody(e))};if(A.processResponse!=null&&queueMicrotask(()=>A.processResponse(e)),e.body==null)t();else{let r=(i,n)=>{n.enqueue(i)},s=new b2({start(){},transform:r,flush:t},{size(){return 1}},{size(){return 1}});e.body={stream:e.body.stream.pipeThrough(s)}}if(A.processResponseConsumeBody!=null){let r=i=>A.processResponseConsumeBody(e,i),s=i=>A.processResponseConsumeBody(e,i);if(e.body==null)queueMicrotask(()=>r(null));else return bI(e.body,r,s);return Promise.resolve()}}async function LI(A){let e=A.request,t=null,r=null,s=A.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=t=await xI(A),e.responseTainting==="cors"&&n2(e,t)==="failure")return X("cors failure");A2(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&o2(e.origin,e.client,e.destination,r)==="blocked"?X("blocked"):(kI.has(r.status)&&(e.redirect!=="manual"&&A.controller.connection.destroy(),e.redirect==="error"?t=X("unexpected redirect"):e.redirect==="manual"?t=r:e.redirect==="follow"?t=await M2(A,t):Sr(!1)),t.timingInfo=s,t)}function M2(A,e){let t=A.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=t2(r,Ve(t).hash),s==null)return e}catch(n){return Promise.resolve(X(n))}if(!Wg(s))return Promise.resolve(X("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(X("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!Gg(t,s))return Promise.resolve(X('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(X('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(X());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!S2.includes(t.method)){t.method="GET",t.body=null;for(let n of l2)t.headersList.delete(n)}Gg(Ve(t),s)||(t.headersList.delete("authorization"),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie"),t.headersList.delete("host")),t.body!=null&&(Sr(t.body.source!=null),t.body=gn(t.body.source)[0]);let i=A.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Og(A.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(s),r2(t,r),UI(A,!0)}async function xI(A,e=!1,t=!1){let r=A.request,s=null,i=null,n=null,o=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=A,i=r):(i=Xk(r),s={...A},s.request=i);let g=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",c=i.body?i.body.length:null,E=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(E="0"),c!=null&&(E=Jg(`${c}`)),E!=null&&i.headersList.append("content-length",E),c!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",Jg(i.referrer.href)),e2(i),i2(i),i.headersList.contains("user-agent")||i.headersList.append("user-agent",typeof esbuildDetection>"u"?"undici":"node"),i.cache==="default"&&(i.headersList.contains("if-modified-since")||i.headersList.contains("if-none-match")||i.headersList.contains("if-unmodified-since")||i.headersList.contains("if-match")||i.headersList.contains("if-range"))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control")&&i.headersList.append("cache-control","max-age=0"),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma")||i.headersList.append("pragma","no-cache"),i.headersList.contains("cache-control")||i.headersList.append("cache-control","no-cache")),i.headersList.contains("range")&&i.headersList.append("accept-encoding","identity"),i.headersList.contains("accept-encoding")||(B2(Ve(i))?i.headersList.append("accept-encoding","br, gzip, deflate"):i.headersList.append("accept-encoding","gzip, deflate")),i.headersList.delete("host"),o==null&&(i.cache="no-store"),i.mode!=="no-store"&&i.mode,n==null){if(i.mode==="only-if-cached")return X("only if cached");let Q=await T2(s,g,t);!I2.has(i.method)&&Q.status>=200&&Q.status<=399,a&&Q.status,n==null&&(n=Q)}if(n.urlList=[...i.urlList],i.headersList.contains("range")&&(n.rangeRequested=!0),n.requestIncludesCredentials=g,n.status===407)return r.window==="no-window"?X():Fr(A)?on(A):X("proxy authentication required");if(n.status===421&&!t&&(r.body==null||r.body.source!=null)){if(Fr(A))return on(A);A.controller.connection.destroy(),n=await xI(A,e,!0)}return n}async function T2(A,e=!1,t=!1){Sr(!A.controller.connection||A.controller.connection.destroyed),A.controller.connection={abort:null,destroyed:!1,destroy(h){this.destroyed||(this.destroyed=!0,this.abort?.(h??new cn("The operation was aborted.","AbortError")))}};let r=A.request,s=null,i=A.timingInfo;null==null&&(r.cache="no-store");let o=t?"yes":"no";r.mode;let a=null;if(r.body==null&&A.processRequestEndOfBody)queueMicrotask(()=>A.processRequestEndOfBody());else if(r.body!=null){let h=async function*(d){Fr(A)||(yield d,A.processRequestBodyChunkLength?.(d.byteLength))},u=()=>{Fr(A)||A.processRequestEndOfBody&&A.processRequestEndOfBody()},I=d=>{Fr(A)||(d.name==="AbortError"?A.controller.abort():A.controller.terminate(d))};a=(async function*(){try{for await(let d of r.body.stream)yield*h(d);u()}catch(d){I(d)}})()}try{let{body:h,status:u,statusText:I,headersList:d,socket:R}=await C({body:a});if(R)s=an({status:u,statusText:I,headersList:d,socket:R});else{let U=h[Symbol.asyncIterator]();A.controller.next=()=>U.next(),s=an({status:u,statusText:I,headersList:d})}}catch(h){return h.name==="AbortError"?(A.controller.connection.destroy(),on(A,h)):X(h)}let g=()=>{A.controller.resume()},c=h=>{A.controller.abort(h)};qg||(qg=require("stream/web").ReadableStream);let E=new qg({async start(h){A.controller.controller=h},async pull(h){await g(h)},async cancel(h){await c(h)}},{highWaterMark:0,size(){return 1}});s.body={stream:E},A.controller.on("terminated",Q),A.controller.resume=async()=>{for(;;){let h,u;try{let{done:I,value:d}=await A.controller.next();if(yI(A))break;h=I?void 0:d}catch(I){A.controller.ended&&!i.encodedBodySize?h=void 0:(h=I,u=!0)}if(h===void 0){Q2(A.controller.controller),x2(A,s);return}if(i.decodedBodySize+=h?.byteLength??0,u){A.controller.terminate(h);return}if(A.controller.controller.enqueue(new Uint8Array(h)),y2(E)){A.controller.terminate();return}if(!A.controller.controller.desiredSize)return}};function Q(h){yI(A)?(s.aborted=!0,En(E)&&A.controller.controller.error(A.controller.serializedAbortReason)):En(E)&&A.controller.controller.error(new TypeError("terminated",{cause:E2(h)?h:void 0})),A.controller.connection.destroy()}return s;async function C({body:h}){let u=Ve(r),I=A.controller.dispatcher;return new Promise((d,R)=>I.dispatch({path:u.pathname+u.search,origin:u.origin,method:r.method,body:A.controller.dispatcher.isMockActive?r.body&&(r.body.source||r.body.stream):h,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(U){let{connection:v}=A.controller;v.destroyed?U(new cn("The operation was aborted.","AbortError")):(A.controller.on("terminated",U),this.abort=v.abort=U)},onHeaders(U,v,yA,uA){if(U<200)return;let BA=[],wA="",Ee=new pI;if(Array.isArray(v))for(let V=0;Vgt.trim()):iA.toLowerCase()==="location"&&(wA=GA),Ee[Nr].append(iA,GA)}else{let V=Object.keys(v);for(let iA of V){let GA=v[iA];iA.toLowerCase()==="content-encoding"?BA=GA.toLowerCase().split(",").map(gt=>gt.trim()).reverse():iA.toLowerCase()==="location"&&(wA=GA),Ee[Nr].append(iA,GA)}}this.body=new f2({read:yA});let zA=[],$A=r.redirect==="follow"&&wA&&kI.has(U);if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!NI.includes(U)&&!$A)for(let V of BA)if(V==="x-gzip"||V==="gzip")zA.push(ws.createGunzip({flush:ws.constants.Z_SYNC_FLUSH,finishFlush:ws.constants.Z_SYNC_FLUSH}));else if(V==="deflate")zA.push(ws.createInflate());else if(V==="br")zA.push(ws.createBrotliDecompress());else{zA.length=0;break}return d({status:U,statusText:uA,headersList:Ee[Nr],body:zA.length?m2(this.body,...zA,()=>{}):this.body.on("error",()=>{})}),!0},onData(U){if(A.controller.dump)return;let v=U;return i.encodedBodySize+=v.byteLength,this.body.push(v)},onComplete(){this.abort&&A.controller.off("terminated",this.abort),A.controller.ended=!0,this.body.push(null)},onError(U){this.abort&&A.controller.off("terminated",this.abort),this.body?.destroy(U),A.controller.terminate(U),R(U)},onUpgrade(U,v,yA){if(U!==101)return;let uA=new pI;for(let BA=0;BA{"use strict";TI.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")}});var vI=B((HT,qI)=>{"use strict";var{webidl:ge}=SA(),Bn=Symbol("ProgressEvent state"),_g=class A extends Event{constructor(e,t={}){e=ge.converters.DOMString(e),t=ge.converters.ProgressEventInit(t??{}),super(e,t),this[Bn]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return ge.brandCheck(this,A),this[Bn].lengthComputable}get loaded(){return ge.brandCheck(this,A),this[Bn].loaded}get total(){return ge.brandCheck(this,A),this[Bn].total}};ge.converters.ProgressEventInit=ge.dictionaryConverter([{key:"lengthComputable",converter:ge.converters.boolean,defaultValue:!1},{key:"loaded",converter:ge.converters["unsigned long long"],defaultValue:0},{key:"total",converter:ge.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:ge.converters.boolean,defaultValue:!1},{key:"cancelable",converter:ge.converters.boolean,defaultValue:!1},{key:"composed",converter:ge.converters.boolean,defaultValue:!1}]);qI.exports={ProgressEvent:_g}});var GI=B((OT,YI)=>{"use strict";function q2(A){if(!A)return"failure";switch(A.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"}}YI.exports={getEncoding:q2}});var jI=B((WT,_I)=>{"use strict";var{kState:Ur,kError:jg,kResult:JI,kAborted:Ds,kLastProgressEventFired:Xg}=Pg(),{ProgressEvent:v2}=vI(),{getEncoding:VI}=GI(),{DOMException:Y2}=Ct(),{serializeAMimeType:G2,parseMIMEType:HI}=De(),{types:J2}=require("util"),{StringDecoder:OI}=require("string_decoder"),{btoa:WI}=require("buffer"),V2={enumerable:!0,writable:!1,configurable:!1};function H2(A,e,t,r){if(A[Ur]==="loading")throw new Y2("Invalid state","InvalidStateError");A[Ur]="loading",A[JI]=null,A[jg]=null;let i=e.stream().getReader(),n=[],o=i.read(),a=!0;(async()=>{for(;!A[Ds];)try{let{done:g,value:c}=await o;if(a&&!A[Ds]&&queueMicrotask(()=>{mt("loadstart",A)}),a=!1,!g&&J2.isUint8Array(c))n.push(c),(A[Xg]===void 0||Date.now()-A[Xg]>=50)&&!A[Ds]&&(A[Xg]=Date.now(),queueMicrotask(()=>{mt("progress",A)})),o=i.read();else if(g){queueMicrotask(()=>{A[Ur]="done";try{let E=O2(n,t,e.type,r);if(A[Ds])return;A[JI]=E,mt("load",A)}catch(E){A[jg]=E,mt("error",A)}A[Ur]!=="loading"&&mt("loadend",A)});break}}catch(g){if(A[Ds])return;queueMicrotask(()=>{A[Ur]="done",A[jg]=g,mt("error",A),A[Ur]!=="loading"&&mt("loadend",A)});break}})()}function mt(A,e){let t=new v2(A,{bubbles:!1,cancelable:!1});e.dispatchEvent(t)}function O2(A,e,t,r){switch(e){case"DataURL":{let s="data:",i=HI(t||"application/octet-stream");i!=="failure"&&(s+=G2(i)),s+=";base64,";let n=new OI("latin1");for(let o of A)s+=WI(n.write(o));return s+=WI(n.end()),s}case"Text":{let s="failure";if(r&&(s=VI(r)),s==="failure"&&t){let i=HI(t);i!=="failure"&&(s=VI(i.parameters.get("charset")))}return s==="failure"&&(s="UTF-8"),W2(A,s)}case"ArrayBuffer":return PI(A).buffer;case"BinaryString":{let s="",i=new OI("latin1");for(let n of A)s+=i.write(n);return s+=i.end(),s}}}function W2(A,e){let t=PI(A),r=P2(t),s=0;r!==null&&(e=r,s=r==="UTF-8"?3:2);let i=t.slice(s);return new TextDecoder(e).decode(i)}function P2(A){let[e,t,r]=A;return e===239&&t===187&&r===191?"UTF-8":e===254&&t===255?"UTF-16BE":e===255&&t===254?"UTF-16LE":null}function PI(A){let e=A.reduce((r,s)=>r+s.byteLength,0),t=0;return A.reduce((r,s)=>(r.set(s,t),t+=s.byteLength,r),new Uint8Array(e))}_I.exports={staticPropertyDescriptors:V2,readOperation:H2,fireAProgressEvent:mt}});var zI=B((PT,KI)=>{"use strict";var{staticPropertyDescriptors:Lr,readOperation:hn,fireAProgressEvent:XI}=jI(),{kState:Vt,kError:ZI,kResult:In,kEvents:H,kAborted:_2}=Pg(),{webidl:_}=SA(),{kEnumerableProperty:WA}=G(),Ne=class A extends EventTarget{constructor(){super(),this[Vt]="empty",this[In]=null,this[ZI]=null,this[H]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"ArrayBuffer")}readAsBinaryString(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"BinaryString")}readAsText(e,t=void 0){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"}),e=_.converters.Blob(e,{strict:!1}),t!==void 0&&(t=_.converters.DOMString(t)),hn(this,e,"Text",t)}readAsDataURL(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"DataURL")}abort(){if(this[Vt]==="empty"||this[Vt]==="done"){this[In]=null;return}this[Vt]==="loading"&&(this[Vt]="done",this[In]=null),this[_2]=!0,XI("abort",this),this[Vt]!=="loading"&&XI("loadend",this)}get readyState(){switch(_.brandCheck(this,A),this[Vt]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return _.brandCheck(this,A),this[In]}get error(){return _.brandCheck(this,A),this[ZI]}get onloadend(){return _.brandCheck(this,A),this[H].loadend}set onloadend(e){_.brandCheck(this,A),this[H].loadend&&this.removeEventListener("loadend",this[H].loadend),typeof e=="function"?(this[H].loadend=e,this.addEventListener("loadend",e)):this[H].loadend=null}get onerror(){return _.brandCheck(this,A),this[H].error}set onerror(e){_.brandCheck(this,A),this[H].error&&this.removeEventListener("error",this[H].error),typeof e=="function"?(this[H].error=e,this.addEventListener("error",e)):this[H].error=null}get onloadstart(){return _.brandCheck(this,A),this[H].loadstart}set onloadstart(e){_.brandCheck(this,A),this[H].loadstart&&this.removeEventListener("loadstart",this[H].loadstart),typeof e=="function"?(this[H].loadstart=e,this.addEventListener("loadstart",e)):this[H].loadstart=null}get onprogress(){return _.brandCheck(this,A),this[H].progress}set onprogress(e){_.brandCheck(this,A),this[H].progress&&this.removeEventListener("progress",this[H].progress),typeof e=="function"?(this[H].progress=e,this.addEventListener("progress",e)):this[H].progress=null}get onload(){return _.brandCheck(this,A),this[H].load}set onload(e){_.brandCheck(this,A),this[H].load&&this.removeEventListener("load",this[H].load),typeof e=="function"?(this[H].load=e,this.addEventListener("load",e)):this[H].load=null}get onabort(){return _.brandCheck(this,A),this[H].abort}set onabort(e){_.brandCheck(this,A),this[H].abort&&this.removeEventListener("abort",this[H].abort),typeof e=="function"?(this[H].abort=e,this.addEventListener("abort",e)):this[H].abort=null}};Ne.EMPTY=Ne.prototype.EMPTY=0;Ne.LOADING=Ne.prototype.LOADING=1;Ne.DONE=Ne.prototype.DONE=2;Object.defineProperties(Ne.prototype,{EMPTY:Lr,LOADING:Lr,DONE:Lr,readAsArrayBuffer:WA,readAsBinaryString:WA,readAsText:WA,readAsDataURL:WA,abort:WA,readyState:WA,result:WA,error:WA,onloadstart:WA,onprogress:WA,onload:WA,onabort:WA,onerror:WA,onloadend:WA,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ne,{EMPTY:Lr,LOADING:Lr,DONE:Lr});KI.exports={FileReader:Ne}});var ln=B((_T,$I)=>{"use strict";$I.exports={kConstruct:z().kConstruct}});var tl=B((jT,el)=>{"use strict";var j2=require("assert"),{URLSerializer:Al}=De(),{isValidHeaderName:X2}=Be();function Z2(A,e,t=!1){let r=Al(A,t),s=Al(e,t);return r===s}function K2(A){j2(A!==null);let e=[];for(let t of A.split(",")){if(t=t.trim(),t.length){if(!X2(t))continue}else continue;e.push(t)}return e}el.exports={urlEquals:Z2,fieldValues:K2}});var al=B((XT,ol)=>{"use strict";var{kConstruct:z2}=ln(),{urlEquals:$2,fieldValues:Zg}=tl(),{kEnumerableProperty:Ht,isDisturbed:AN}=G(),{kHeadersList:rl}=z(),{webidl:N}=SA(),{Response:il,cloneResponse:eN}=An(),{Request:He}=ys(),{kState:TA,kHeaders:un,kGuard:sl,kRealm:tN}=Ke(),{fetching:rN}=Cn(),{urlIsHttpHttpsScheme:dn,createDeferredPromise:xr,readAllBytes:sN}=Be(),Kg=require("assert"),{getGlobalDispatcher:iN}=wr(),fn=class A{#A;constructor(){arguments[0]!==z2&&N.illegalConstructor(),this.#A=arguments[1]}async match(e,t={}){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.match"}),e=N.converters.RequestInfo(e),t=N.converters.CacheQueryOptions(t);let r=await this.matchAll(e,t);if(r.length!==0)return r[0]}async matchAll(e=void 0,t={}){N.brandCheck(this,A),e!==void 0&&(e=N.converters.RequestInfo(e)),t=N.converters.CacheQueryOptions(t);let r=null;if(e!==void 0)if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(r=new He(e)[TA]);let s=[];if(e===void 0)for(let n of this.#A)s.push(n[1]);else{let n=this.#r(r,t);for(let o of n)s.push(o[1])}let i=[];for(let n of s){let o=new il(n.body?.source??null),a=o[TA].body;o[TA]=n,o[TA].body=a,o[un][rl]=n.headersList,o[un][sl]="immutable",i.push(o)}return Object.freeze(i)}async add(e){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.add"}),e=N.converters.RequestInfo(e);let t=[e];return await this.addAll(t)}async addAll(e){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.addAll"}),e=N.converters["sequence"](e);let t=[],r=[];for(let E of e){if(typeof E=="string")continue;let Q=E[TA];if(!dn(Q.url)||Q.method!=="GET")throw N.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}let s=[];for(let E of e){let Q=new He(E)[TA];if(!dn(Q.url))throw N.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."});Q.initiator="fetch",Q.destination="subresource",r.push(Q);let C=xr();s.push(rN({request:Q,dispatcher:iN(),processResponse(h){if(h.type==="error"||h.status===206||h.status<200||h.status>299)C.reject(N.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(h.headersList.contains("vary")){let u=Zg(h.headersList.get("vary"));for(let I of u)if(I==="*"){C.reject(N.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let d of s)d.abort();return}}},processResponseEndOfBody(h){if(h.aborted){C.reject(new DOMException("aborted","AbortError"));return}C.resolve(h)}})),t.push(C.promise)}let n=await Promise.all(t),o=[],a=0;for(let E of n){let Q={type:"put",request:r[a],response:E};o.push(Q),a++}let g=xr(),c=null;try{this.#t(o)}catch(E){c=E}return queueMicrotask(()=>{c===null?g.resolve(void 0):g.reject(c)}),g.promise}async put(e,t){N.brandCheck(this,A),N.argumentLengthCheck(arguments,2,{header:"Cache.put"}),e=N.converters.RequestInfo(e),t=N.converters.Response(t);let r=null;if(e instanceof He?r=e[TA]:r=new He(e)[TA],!dn(r.url)||r.method!=="GET")throw N.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"});let s=t[TA];if(s.status===206)throw N.errors.exception({header:"Cache.put",message:"Got 206 status"});if(s.headersList.contains("vary")){let Q=Zg(s.headersList.get("vary"));for(let C of Q)if(C==="*")throw N.errors.exception({header:"Cache.put",message:"Got * vary field value"})}if(s.body&&(AN(s.body.stream)||s.body.stream.locked))throw N.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"});let i=eN(s),n=xr();if(s.body!=null){let C=s.body.stream.getReader();sN(C).then(n.resolve,n.reject)}else n.resolve(void 0);let o=[],a={type:"put",request:r,response:i};o.push(a);let g=await n.promise;i.body!=null&&(i.body.source=g);let c=xr(),E=null;try{this.#t(o)}catch(Q){E=Q}return queueMicrotask(()=>{E===null?c.resolve():c.reject(E)}),c.promise}async delete(e,t={}){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.delete"}),e=N.converters.RequestInfo(e),t=N.converters.CacheQueryOptions(t);let r=null;if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return!1}else Kg(typeof e=="string"),r=new He(e)[TA];let s=[],i={type:"delete",request:r,options:t};s.push(i);let n=xr(),o=null,a;try{a=this.#t(s)}catch(g){o=g}return queueMicrotask(()=>{o===null?n.resolve(!!a?.length):n.reject(o)}),n.promise}async keys(e=void 0,t={}){N.brandCheck(this,A),e!==void 0&&(e=N.converters.RequestInfo(e)),t=N.converters.CacheQueryOptions(t);let r=null;if(e!==void 0)if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(r=new He(e)[TA]);let s=xr(),i=[];if(e===void 0)for(let n of this.#A)i.push(n[0]);else{let n=this.#r(r,t);for(let o of n)i.push(o[0])}return queueMicrotask(()=>{let n=[];for(let o of i){let a=new He("https://a");a[TA]=o,a[un][rl]=o.headersList,a[un][sl]="immutable",a[tN]=o.client,n.push(a)}s.resolve(Object.freeze(n))}),s.promise}#t(e){let t=this.#A,r=[...t],s=[],i=[];try{for(let n of e){if(n.type!=="delete"&&n.type!=="put")throw N.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(n.type==="delete"&&n.response!=null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#r(n.request,n.options,s).length)throw new DOMException("???","InvalidStateError");let o;if(n.type==="delete"){if(o=this.#r(n.request,n.options),o.length===0)return[];for(let a of o){let g=t.indexOf(a);Kg(g!==-1),t.splice(g,1)}}else if(n.type==="put"){if(n.response==null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=n.request;if(!dn(a.url))throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(n.options!=null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});o=this.#r(n.request);for(let g of o){let c=t.indexOf(g);Kg(c!==-1),t.splice(c,1)}t.push([n.request,n.response]),s.push([n.request,n.response])}i.push([n.request,n.response])}return i}catch(n){throw this.#A.length=0,this.#A=r,n}}#r(e,t,r){let s=[],i=r??this.#A;for(let n of i){let[o,a]=n;this.#e(e,o,a,t)&&s.push(n)}return s}#e(e,t,r=null,s){let i=new URL(e.url),n=new URL(t.url);if(s?.ignoreSearch&&(n.search="",i.search=""),!$2(i,n,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let o=Zg(r.headersList.get("vary"));for(let a of o){if(a==="*")return!1;let g=t.headersList.get(a),c=e.headersList.get(a);if(g!==c)return!1}return!0}};Object.defineProperties(fn.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Ht,matchAll:Ht,add:Ht,addAll:Ht,put:Ht,delete:Ht,keys:Ht});var nl=[{key:"ignoreSearch",converter:N.converters.boolean,defaultValue:!1},{key:"ignoreMethod",converter:N.converters.boolean,defaultValue:!1},{key:"ignoreVary",converter:N.converters.boolean,defaultValue:!1}];N.converters.CacheQueryOptions=N.dictionaryConverter(nl);N.converters.MultiCacheQueryOptions=N.dictionaryConverter([...nl,{key:"cacheName",converter:N.converters.DOMString}]);N.converters.Response=N.interfaceConverter(il);N.converters["sequence"]=N.sequenceConverter(N.converters.RequestInfo);ol.exports={Cache:fn}});var cl=B((ZT,gl)=>{"use strict";var{kConstruct:Rs}=ln(),{Cache:mn}=al(),{webidl:qA}=SA(),{kEnumerableProperty:bs}=G(),pn=class A{#A=new Map;constructor(){arguments[0]!==Rs&&qA.illegalConstructor()}async match(e,t={}){if(qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"}),e=qA.converters.RequestInfo(e),t=qA.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#A.has(t.cacheName)){let r=this.#A.get(t.cacheName);return await new mn(Rs,r).match(e,t)}}else for(let r of this.#A.values()){let i=await new mn(Rs,r).match(e,t);if(i!==void 0)return i}}async has(e){return qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"}),e=qA.converters.DOMString(e),this.#A.has(e)}async open(e){if(qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"}),e=qA.converters.DOMString(e),this.#A.has(e)){let r=this.#A.get(e);return new mn(Rs,r)}let t=[];return this.#A.set(e,t),new mn(Rs,t)}async delete(e){return qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"}),e=qA.converters.DOMString(e),this.#A.delete(e)}async keys(){return qA.brandCheck(this,A),[...this.#A.keys()]}};Object.defineProperties(pn.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:bs,has:bs,open:bs,delete:bs,keys:bs});gl.exports={CacheStorage:pn}});var Ql=B((KT,El)=>{"use strict";El.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var zg=B((zT,ll)=>{"use strict";function nN(A){if(A.length===0)return!1;for(let e of A){let t=e.charCodeAt(0);if(t>=0||t<=8||t>=10||t<=31||t===127)return!1}}function Cl(A){for(let e of A){let t=e.charCodeAt(0);if(t<=32||t>127||e==="("||e===")"||e===">"||e==="<"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}")throw new Error("Invalid cookie name")}}function Bl(A){for(let e of A){let t=e.charCodeAt(0);if(t<33||t===34||t===44||t===59||t===92||t>126)throw new Error("Invalid header value")}}function hl(A){for(let e of A)if(e.charCodeAt(0)<33||e===";")throw new Error("Invalid cookie path")}function oN(A){if(A.startsWith("-")||A.endsWith(".")||A.endsWith("-"))throw new Error("Invalid cookie domain")}function Il(A){typeof A=="number"&&(A=new Date(A));let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=e[A.getUTCDay()],s=A.getUTCDate().toString().padStart(2,"0"),i=t[A.getUTCMonth()],n=A.getUTCFullYear(),o=A.getUTCHours().toString().padStart(2,"0"),a=A.getUTCMinutes().toString().padStart(2,"0"),g=A.getUTCSeconds().toString().padStart(2,"0");return`${r}, ${s} ${i} ${n} ${o}:${a}:${g} GMT`}function aN(A){if(A<0)throw new Error("Invalid cookie max-age")}function gN(A){if(A.name.length===0)return null;Cl(A.name),Bl(A.value);let e=[`${A.name}=${A.value}`];A.name.startsWith("__Secure-")&&(A.secure=!0),A.name.startsWith("__Host-")&&(A.secure=!0,A.domain=null,A.path="/"),A.secure&&e.push("Secure"),A.httpOnly&&e.push("HttpOnly"),typeof A.maxAge=="number"&&(aN(A.maxAge),e.push(`Max-Age=${A.maxAge}`)),A.domain&&(oN(A.domain),e.push(`Domain=${A.domain}`)),A.path&&(hl(A.path),e.push(`Path=${A.path}`)),A.expires&&A.expires.toString()!=="Invalid Date"&&e.push(`Expires=${Il(A.expires)}`),A.sameSite&&e.push(`SameSite=${A.sameSite}`);for(let t of A.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");e.push(`${r.trim()}=${s.join("=")}`)}return e.join("; ")}ll.exports={isCTLExcludingHtab:nN,validateCookieName:Cl,validateCookiePath:hl,validateCookieValue:Bl,toIMFDate:Il,stringify:gN}});var dl=B(($T,ul)=>{"use strict";var{maxNameValuePairSize:cN,maxAttributeValueSize:EN}=Ql(),{isCTLExcludingHtab:QN}=zg(),{collectASequenceOfCodePointsFast:yn}=De(),CN=require("assert");function BN(A){if(QN(A))return null;let e="",t="",r="",s="";if(A.includes(";")){let i={position:0};e=yn(";",A,i),t=A.slice(i.position)}else e=A;if(!e.includes("="))s=e;else{let i={position:0};r=yn("=",e,i),s=e.slice(i.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>cN?null:{name:r,value:s,...Mr(t)}}function Mr(A,e={}){if(A.length===0)return e;CN(A[0]===";"),A=A.slice(1);let t="";A.includes(";")?(t=yn(";",A,{position:0}),A=A.slice(t.length)):(t=A,A="");let r="",s="";if(t.includes("=")){let n={position:0};r=yn("=",t,n),s=t.slice(n.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>EN)return Mr(A,e);let i=r.toLowerCase();if(i==="expires"){let n=new Date(s);e.expires=n}else if(i==="max-age"){let n=s.charCodeAt(0);if((n<48||n>57)&&s[0]!=="-"||!/^\d+$/.test(s))return Mr(A,e);let o=Number(s);e.maxAge=o}else if(i==="domain"){let n=s;n[0]==="."&&(n=n.slice(1)),n=n.toLowerCase(),e.domain=n}else if(i==="path"){let n="";s.length===0||s[0]!=="/"?n="/":n=s,e.path=n}else if(i==="secure")e.secure=!0;else if(i==="httponly")e.httpOnly=!0;else if(i==="samesite"){let n="Default",o=s.toLowerCase();o.includes("none")&&(n="None"),o.includes("strict")&&(n="Strict"),o.includes("lax")&&(n="Lax"),e.sameSite=n}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return Mr(A,e)}ul.exports={parseSetCookie:BN,parseUnparsedAttributes:Mr}});var yl=B((Aq,pl)=>{"use strict";var{parseSetCookie:hN}=dl(),{stringify:fl}=zg(),{webidl:Y}=SA(),{Headers:wn}=Gt();function IN(A){Y.argumentLengthCheck(arguments,1,{header:"getCookies"}),Y.brandCheck(A,wn,{strict:!1});let e=A.get("cookie"),t={};if(!e)return t;for(let r of e.split(";")){let[s,...i]=r.split("=");t[s.trim()]=i.join("=")}return t}function lN(A,e,t){Y.argumentLengthCheck(arguments,2,{header:"deleteCookie"}),Y.brandCheck(A,wn,{strict:!1}),e=Y.converters.DOMString(e),t=Y.converters.DeleteCookieAttributes(t),ml(A,{name:e,value:"",expires:new Date(0),...t})}function uN(A){Y.argumentLengthCheck(arguments,1,{header:"getSetCookies"}),Y.brandCheck(A,wn,{strict:!1});let e=A.getSetCookie();return e?e.map(t=>hN(t)):[]}function ml(A,e){Y.argumentLengthCheck(arguments,2,{header:"setCookie"}),Y.brandCheck(A,wn,{strict:!1}),e=Y.converters.Cookie(e),fl(e)&&A.append("Set-Cookie",fl(e))}Y.converters.DeleteCookieAttributes=Y.dictionaryConverter([{converter:Y.nullableConverter(Y.converters.DOMString),key:"path",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"domain",defaultValue:null}]);Y.converters.Cookie=Y.dictionaryConverter([{converter:Y.converters.DOMString,key:"name"},{converter:Y.converters.DOMString,key:"value"},{converter:Y.nullableConverter(A=>typeof A=="number"?Y.converters["unsigned long long"](A):new Date(A)),key:"expires",defaultValue:null},{converter:Y.nullableConverter(Y.converters["long long"]),key:"maxAge",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"domain",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"path",defaultValue:null},{converter:Y.nullableConverter(Y.converters.boolean),key:"secure",defaultValue:null},{converter:Y.nullableConverter(Y.converters.boolean),key:"httpOnly",defaultValue:null},{converter:Y.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:Y.sequenceConverter(Y.converters.DOMString),key:"unparsed",defaultValue:[]}]);pl.exports={getCookies:IN,deleteCookie:lN,getSetCookies:uN,setCookie:ml}});var Tr=B((eq,wl)=>{"use strict";var dN="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",fN={enumerable:!0,writable:!1,configurable:!1},mN={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},pN={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},yN=2**16-1,wN={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},DN=Buffer.allocUnsafe(0);wl.exports={uid:dN,staticPropertyDescriptors:fN,states:mN,opcodes:pN,maxUnsigned16Bit:yN,parserStates:wN,emptyBuffer:DN}});var ks=B((tq,Dl)=>{"use strict";Dl.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")}});var Ac=B((rq,Rl)=>{"use strict";var{webidl:F}=SA(),{kEnumerableProperty:PA}=G(),{MessagePort:RN}=require("worker_threads"),Dn=class A extends Event{#A;constructor(e,t={}){F.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"}),e=F.converters.DOMString(e),t=F.converters.MessageEventInit(t),super(e,t),this.#A=t}get data(){return F.brandCheck(this,A),this.#A.data}get origin(){return F.brandCheck(this,A),this.#A.origin}get lastEventId(){return F.brandCheck(this,A),this.#A.lastEventId}get source(){return F.brandCheck(this,A),this.#A.source}get ports(){return F.brandCheck(this,A),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(e,t=!1,r=!1,s=null,i="",n="",o=null,a=[]){return F.brandCheck(this,A),F.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"}),new A(e,{bubbles:t,cancelable:r,data:s,origin:i,lastEventId:n,source:o,ports:a})}},Rn=class A extends Event{#A;constructor(e,t={}){F.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"}),e=F.converters.DOMString(e),t=F.converters.CloseEventInit(t),super(e,t),this.#A=t}get wasClean(){return F.brandCheck(this,A),this.#A.wasClean}get code(){return F.brandCheck(this,A),this.#A.code}get reason(){return F.brandCheck(this,A),this.#A.reason}},bn=class A extends Event{#A;constructor(e,t){F.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"}),super(e,t),e=F.converters.DOMString(e),t=F.converters.ErrorEventInit(t??{}),this.#A=t}get message(){return F.brandCheck(this,A),this.#A.message}get filename(){return F.brandCheck(this,A),this.#A.filename}get lineno(){return F.brandCheck(this,A),this.#A.lineno}get colno(){return F.brandCheck(this,A),this.#A.colno}get error(){return F.brandCheck(this,A),this.#A.error}};Object.defineProperties(Dn.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:PA,origin:PA,lastEventId:PA,source:PA,ports:PA,initMessageEvent:PA});Object.defineProperties(Rn.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:PA,code:PA,wasClean:PA});Object.defineProperties(bn.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:PA,filename:PA,lineno:PA,colno:PA,error:PA});F.converters.MessagePort=F.interfaceConverter(RN);F.converters["sequence"]=F.sequenceConverter(F.converters.MessagePort);var $g=[{key:"bubbles",converter:F.converters.boolean,defaultValue:!1},{key:"cancelable",converter:F.converters.boolean,defaultValue:!1},{key:"composed",converter:F.converters.boolean,defaultValue:!1}];F.converters.MessageEventInit=F.dictionaryConverter([...$g,{key:"data",converter:F.converters.any,defaultValue:null},{key:"origin",converter:F.converters.USVString,defaultValue:""},{key:"lastEventId",converter:F.converters.DOMString,defaultValue:""},{key:"source",converter:F.nullableConverter(F.converters.MessagePort),defaultValue:null},{key:"ports",converter:F.converters["sequence"],get defaultValue(){return[]}}]);F.converters.CloseEventInit=F.dictionaryConverter([...$g,{key:"wasClean",converter:F.converters.boolean,defaultValue:!1},{key:"code",converter:F.converters["unsigned short"],defaultValue:0},{key:"reason",converter:F.converters.USVString,defaultValue:""}]);F.converters.ErrorEventInit=F.dictionaryConverter([...$g,{key:"message",converter:F.converters.DOMString,defaultValue:""},{key:"filename",converter:F.converters.USVString,defaultValue:""},{key:"lineno",converter:F.converters["unsigned long"],defaultValue:0},{key:"colno",converter:F.converters["unsigned long"],defaultValue:0},{key:"error",converter:F.converters.any}]);Rl.exports={MessageEvent:Dn,CloseEvent:Rn,ErrorEvent:bn}});var Fn=B((sq,Nl)=>{"use strict";var{kReadyState:kn,kController:bN,kResponse:kN,kBinaryType:NN,kWebSocketURL:FN}=ks(),{states:Nn,opcodes:bl}=Tr(),{MessageEvent:SN,ErrorEvent:UN}=Ac();function LN(A){return A[kn]===Nn.OPEN}function xN(A){return A[kn]===Nn.CLOSING}function MN(A){return A[kn]===Nn.CLOSED}function ec(A,e,t=Event,r){let s=new t(A,r);e.dispatchEvent(s)}function TN(A,e,t){if(A[kn]!==Nn.OPEN)return;let r;if(e===bl.TEXT)try{r=new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{kl(A,"Received invalid UTF-8 in text frame.");return}else e===bl.BINARY&&(A[NN]==="blob"?r=new Blob([t]):r=new Uint8Array(t).buffer);ec("message",A,SN,{origin:A[FN].origin,data:r})}function qN(A){if(A.length===0)return!1;for(let e of A){let t=e.charCodeAt(0);if(t<33||t>126||e==="("||e===")"||e==="<"||e===">"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}"||t===32||t===9)return!1}return!0}function vN(A){return A>=1e3&&A<1015?A!==1004&&A!==1005&&A!==1006:A>=3e3&&A<=4999}function kl(A,e){let{[bN]:t,[kN]:r}=A;t.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),e&&ec("error",A,UN,{error:new Error(e)})}Nl.exports={isEstablished:LN,isClosing:xN,isClosed:MN,fireEvent:ec,isValidSubprotocol:qN,isValidStatusCode:vN,failWebsocketConnection:kl,websocketMessageReceived:TN}});var Ml=B((iq,xl)=>{"use strict";var rc=require("diagnostics_channel"),{uid:YN,states:Sl}=Tr(),{kReadyState:Ul,kSentClose:Fl,kByteParser:Ll,kReceivedClose:GN}=ks(),{fireEvent:JN,failWebsocketConnection:Ot}=Fn(),{CloseEvent:VN}=Ac(),{makeRequest:HN}=ys(),{fetching:ON}=Cn(),{Headers:WN}=Gt(),{getGlobalDispatcher:PN}=wr(),{kHeadersList:_N}=z(),nt={};nt.open=rc.channel("undici:websocket:open");nt.close=rc.channel("undici:websocket:close");nt.socketError=rc.channel("undici:websocket:socket_error");var tc;try{tc=require("crypto")}catch{}function jN(A,e,t,r,s){let i=A;i.protocol=A.protocol==="ws:"?"http:":"https:";let n=HN({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(s.headers){let c=new WN(s.headers)[_N];n.headersList=c}let o=tc.randomBytes(16).toString("base64");n.headersList.append("sec-websocket-key",o),n.headersList.append("sec-websocket-version","13");for(let c of e)n.headersList.append("sec-websocket-protocol",c);let a="";return ON({request:n,useParallelQueue:!0,dispatcher:s.dispatcher??PN(),processResponse(c){if(c.type==="error"||c.status!==101){Ot(t,"Received network error or non-101 status code.");return}if(e.length!==0&&!c.headersList.get("Sec-WebSocket-Protocol")){Ot(t,"Server did not respond with sent protocols.");return}if(c.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){Ot(t,'Server did not set Upgrade header to "websocket".');return}if(c.headersList.get("Connection")?.toLowerCase()!=="upgrade"){Ot(t,'Server did not set Connection header to "upgrade".');return}let E=c.headersList.get("Sec-WebSocket-Accept"),Q=tc.createHash("sha1").update(o+YN).digest("base64");if(E!==Q){Ot(t,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let C=c.headersList.get("Sec-WebSocket-Extensions");if(C!==null&&C!==a){Ot(t,"Received different permessage-deflate than the one set.");return}let h=c.headersList.get("Sec-WebSocket-Protocol");if(h!==null&&h!==n.headersList.get("Sec-WebSocket-Protocol")){Ot(t,"Protocol was not set in the opening handshake.");return}c.socket.on("data",XN),c.socket.on("close",ZN),c.socket.on("error",KN),nt.open.hasSubscribers&&nt.open.publish({address:c.socket.address(),protocol:h,extensions:C}),r(c)}})}function XN(A){this.ws[Ll].write(A)||this.pause()}function ZN(){let{ws:A}=this,e=A[Fl]&&A[GN],t=1005,r="",s=A[Ll].closingInfo;s?(t=s.code??1005,r=s.reason):A[Fl]||(t=1006),A[Ul]=Sl.CLOSED,JN("close",A,VN,{wasClean:e,code:t,reason:r}),nt.close.hasSubscribers&&nt.close.publish({websocket:A,code:t,reason:r})}function KN(A){let{ws:e}=this;e[Ul]=Sl.CLOSING,nt.socketError.hasSubscribers&&nt.socketError.publish(A),this.destroy()}xl.exports={establishWebSocketConnection:jN}});var ic=B((nq,ql)=>{"use strict";var{maxUnsigned16Bit:zN}=Tr(),Tl;try{Tl=require("crypto")}catch{}var sc=class{constructor(e){this.frameData=e,this.maskKey=Tl.randomBytes(4)}createFrame(e){let t=this.frameData?.byteLength??0,r=t,s=6;t>zN?(s+=8,r=127):t>125&&(s+=2,r=126);let i=Buffer.allocUnsafe(t+s);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+e;i[s-4]=this.maskKey[0],i[s-3]=this.maskKey[1],i[s-2]=this.maskKey[2],i[s-1]=this.maskKey[3],i[1]=r,r===126?i.writeUInt16BE(t,2):r===127&&(i[2]=i[3]=0,i.writeUIntBE(t,4,6)),i[1]|=128;for(let n=0;n{"use strict";var{Writable:$N}=require("stream"),Hl=require("diagnostics_channel"),{parserStates:le,opcodes:ue,states:AF,emptyBuffer:eF}=Tr(),{kReadyState:tF,kSentClose:vl,kResponse:Yl,kReceivedClose:Gl}=ks(),{isValidStatusCode:Jl,failWebsocketConnection:Ns,websocketMessageReceived:rF}=Fn(),{WebsocketFrameSend:Vl}=ic(),qr={};qr.ping=Hl.channel("undici:websocket:ping");qr.pong=Hl.channel("undici:websocket:pong");var nc=class extends $N{#A=[];#t=0;#r=le.INFO;#e={};#s=[];constructor(e){super(),this.ws=e}_write(e,t,r){this.#A.push(e),this.#t+=e.length,this.run(r)}run(e){for(;;){if(this.#r===le.INFO){if(this.#t<2)return e();let t=this.consume(2);if(this.#e.fin=(t[0]&128)!==0,this.#e.opcode=t[0]&15,this.#e.originalOpcode??=this.#e.opcode,this.#e.fragmented=!this.#e.fin&&this.#e.opcode!==ue.CONTINUATION,this.#e.fragmented&&this.#e.opcode!==ue.BINARY&&this.#e.opcode!==ue.TEXT){Ns(this.ws,"Invalid frame type was fragmented.");return}let r=t[1]&127;if(r<=125?(this.#e.payloadLength=r,this.#r=le.READ_DATA):r===126?this.#r=le.PAYLOADLENGTH_16:r===127&&(this.#r=le.PAYLOADLENGTH_64),this.#e.fragmented&&r>125){Ns(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#e.opcode===ue.PING||this.#e.opcode===ue.PONG||this.#e.opcode===ue.CLOSE)&&r>125){Ns(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#e.opcode===ue.CLOSE){if(r===1){Ns(this.ws,"Received close frame with a 1-byte body.");return}let s=this.consume(r);if(this.#e.closeInfo=this.parseCloseBody(!1,s),!this.ws[vl]){let i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#e.closeInfo.code,0);let n=new Vl(i);this.ws[Yl].socket.write(n.createFrame(ue.CLOSE),o=>{o||(this.ws[vl]=!0)})}this.ws[tF]=AF.CLOSING,this.ws[Gl]=!0,this.end();return}else if(this.#e.opcode===ue.PING){let s=this.consume(r);if(!this.ws[Gl]){let i=new Vl(s);this.ws[Yl].socket.write(i.createFrame(ue.PONG)),qr.ping.hasSubscribers&&qr.ping.publish({payload:s})}if(this.#r=le.INFO,this.#t>0)continue;e();return}else if(this.#e.opcode===ue.PONG){let s=this.consume(r);if(qr.pong.hasSubscribers&&qr.pong.publish({payload:s}),this.#t>0)continue;e();return}}else if(this.#r===le.PAYLOADLENGTH_16){if(this.#t<2)return e();let t=this.consume(2);this.#e.payloadLength=t.readUInt16BE(0),this.#r=le.READ_DATA}else if(this.#r===le.PAYLOADLENGTH_64){if(this.#t<8)return e();let t=this.consume(8),r=t.readUInt32BE(0);if(r>2**31-1){Ns(this.ws,"Received payload length > 2^31 bytes.");return}let s=t.readUInt32BE(4);this.#e.payloadLength=(r<<8)+s,this.#r=le.READ_DATA}else if(this.#r===le.READ_DATA){if(this.#t=this.#e.payloadLength){let t=this.consume(this.#e.payloadLength);if(this.#s.push(t),!this.#e.fragmented||this.#e.fin&&this.#e.opcode===ue.CONTINUATION){let r=Buffer.concat(this.#s);rF(this.ws,this.#e.originalOpcode,r),this.#e={},this.#s.length=0}this.#r=le.INFO}}if(!(this.#t>0)){e();break}}}consume(e){if(e>this.#t)return null;if(e===0)return eF;if(this.#A[0].length===e)return this.#t-=this.#A[0].length,this.#A.shift();let t=Buffer.allocUnsafe(e),r=0;for(;r!==e;){let s=this.#A[0],{length:i}=s;if(i+r===e){t.set(this.#A.shift(),r);break}else if(i+r>e){t.set(s.subarray(0,e-r),r),this.#A[0]=s.subarray(e-r);break}else t.set(this.#A.shift(),r),r+=s.length}return this.#t-=e,t}parseCloseBody(e,t){let r;if(t.length>=2&&(r=t.readUInt16BE(0)),e)return Jl(r)?{code:r}:null;let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191&&(s=s.subarray(3)),r!==void 0&&!Jl(r))return null;try{s=new TextDecoder("utf-8",{fatal:!0}).decode(s)}catch{return null}return{code:r,reason:s}}get closingInfo(){return this.#e.closeInfo}};Ol.exports={ByteParser:nc}});var $l=B((aq,zl)=>{"use strict";var{webidl:L}=SA(),{DOMException:pt}=Ct(),{URLSerializer:sF}=De(),{getGlobalOrigin:iF}=tr(),{staticPropertyDescriptors:yt,states:vr,opcodes:Fs,emptyBuffer:nF}=Tr(),{kWebSocketURL:Pl,kReadyState:ot,kController:oF,kBinaryType:Sn,kResponse:Un,kSentClose:aF,kByteParser:gF}=ks(),{isEstablished:_l,isClosing:jl,isValidSubprotocol:cF,failWebsocketConnection:EF,fireEvent:QF}=Fn(),{establishWebSocketConnection:CF}=Ml(),{WebsocketFrameSend:Ss}=ic(),{ByteParser:BF}=Wl(),{kEnumerableProperty:de,isBlobLike:Zl}=G(),{getGlobalDispatcher:hF}=wr(),{types:Kl}=require("util"),Xl=!1,ce=class A extends EventTarget{#A={open:null,error:null,close:null,message:null};#t=0;#r="";#e="";constructor(e,t=[]){super(),L.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"}),Xl||(Xl=!0,process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"}));let r=L.converters["DOMString or sequence or WebSocketInit"](t);e=L.converters.USVString(e),t=r.protocols;let s=iF(),i;try{i=new URL(e,s)}catch(n){throw new pt(n,"SyntaxError")}if(i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),i.protocol!=="ws:"&&i.protocol!=="wss:")throw new pt(`Expected a ws: or wss: protocol, got ${i.protocol}`,"SyntaxError");if(i.hash||i.href.endsWith("#"))throw new pt("Got fragment","SyntaxError");if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(n=>n.toLowerCase())).size)throw new pt("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(n=>cF(n)))throw new pt("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[Pl]=new URL(i.href),this[oF]=CF(i,t,this,n=>this.#s(n),r),this[ot]=A.CONNECTING,this[Sn]="blob"}close(e=void 0,t=void 0){if(L.brandCheck(this,A),e!==void 0&&(e=L.converters["unsigned short"](e,{clamp:!0})),t!==void 0&&(t=L.converters.USVString(t)),e!==void 0&&e!==1e3&&(e<3e3||e>4999))throw new pt("invalid code","InvalidAccessError");let r=0;if(t!==void 0&&(r=Buffer.byteLength(t),r>123))throw new pt(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError");if(!(this[ot]===A.CLOSING||this[ot]===A.CLOSED))if(!_l(this))EF(this,"Connection was closed before it was established."),this[ot]=A.CLOSING;else if(jl(this))this[ot]=A.CLOSING;else{let s=new Ss;e!==void 0&&t===void 0?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==void 0&&t!==void 0?(s.frameData=Buffer.allocUnsafe(2+r),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=nF,this[Un].socket.write(s.createFrame(Fs.CLOSE),n=>{n||(this[aF]=!0)}),this[ot]=vr.CLOSING}}send(e){if(L.brandCheck(this,A),L.argumentLengthCheck(arguments,1,{header:"WebSocket.send"}),e=L.converters.WebSocketSendData(e),this[ot]===A.CONNECTING)throw new pt("Sent before connected.","InvalidStateError");if(!_l(this)||jl(this))return;let t=this[Un].socket;if(typeof e=="string"){let r=Buffer.from(e),i=new Ss(r).createFrame(Fs.TEXT);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(Kl.isArrayBuffer(e)){let r=Buffer.from(e),i=new Ss(r).createFrame(Fs.BINARY);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(ArrayBuffer.isView(e)){let r=Buffer.from(e,e.byteOffset,e.byteLength),i=new Ss(r).createFrame(Fs.BINARY);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(Zl(e)){let r=new Ss;e.arrayBuffer().then(s=>{let i=Buffer.from(s);r.frameData=i;let n=r.createFrame(Fs.BINARY);this.#t+=i.byteLength,t.write(n,()=>{this.#t-=i.byteLength})})}}get readyState(){return L.brandCheck(this,A),this[ot]}get bufferedAmount(){return L.brandCheck(this,A),this.#t}get url(){return L.brandCheck(this,A),sF(this[Pl])}get extensions(){return L.brandCheck(this,A),this.#e}get protocol(){return L.brandCheck(this,A),this.#r}get onopen(){return L.brandCheck(this,A),this.#A.open}set onopen(e){L.brandCheck(this,A),this.#A.open&&this.removeEventListener("open",this.#A.open),typeof e=="function"?(this.#A.open=e,this.addEventListener("open",e)):this.#A.open=null}get onerror(){return L.brandCheck(this,A),this.#A.error}set onerror(e){L.brandCheck(this,A),this.#A.error&&this.removeEventListener("error",this.#A.error),typeof e=="function"?(this.#A.error=e,this.addEventListener("error",e)):this.#A.error=null}get onclose(){return L.brandCheck(this,A),this.#A.close}set onclose(e){L.brandCheck(this,A),this.#A.close&&this.removeEventListener("close",this.#A.close),typeof e=="function"?(this.#A.close=e,this.addEventListener("close",e)):this.#A.close=null}get onmessage(){return L.brandCheck(this,A),this.#A.message}set onmessage(e){L.brandCheck(this,A),this.#A.message&&this.removeEventListener("message",this.#A.message),typeof e=="function"?(this.#A.message=e,this.addEventListener("message",e)):this.#A.message=null}get binaryType(){return L.brandCheck(this,A),this[Sn]}set binaryType(e){L.brandCheck(this,A),e!=="blob"&&e!=="arraybuffer"?this[Sn]="blob":this[Sn]=e}#s(e){this[Un]=e;let t=new BF(this);t.on("drain",function(){this.ws[Un].socket.resume()}),e.socket.ws=this,this[gF]=t,this[ot]=vr.OPEN;let r=e.headersList.get("sec-websocket-extensions");r!==null&&(this.#e=r);let s=e.headersList.get("sec-websocket-protocol");s!==null&&(this.#r=s),QF("open",this)}};ce.CONNECTING=ce.prototype.CONNECTING=vr.CONNECTING;ce.OPEN=ce.prototype.OPEN=vr.OPEN;ce.CLOSING=ce.prototype.CLOSING=vr.CLOSING;ce.CLOSED=ce.prototype.CLOSED=vr.CLOSED;Object.defineProperties(ce.prototype,{CONNECTING:yt,OPEN:yt,CLOSING:yt,CLOSED:yt,url:de,readyState:de,bufferedAmount:de,onopen:de,onerror:de,onclose:de,close:de,onmessage:de,binaryType:de,send:de,extensions:de,protocol:de,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(ce,{CONNECTING:yt,OPEN:yt,CLOSING:yt,CLOSED:yt});L.converters["sequence"]=L.sequenceConverter(L.converters.DOMString);L.converters["DOMString or sequence"]=function(A){return L.util.Type(A)==="Object"&&Symbol.iterator in A?L.converters["sequence"](A):L.converters.DOMString(A)};L.converters.WebSocketInit=L.dictionaryConverter([{key:"protocols",converter:L.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:A=>A,get defaultValue(){return hF()}},{key:"headers",converter:L.nullableConverter(L.converters.HeadersInit)}]);L.converters["DOMString or sequence or WebSocketInit"]=function(A){return L.util.Type(A)==="Object"&&!(Symbol.iterator in A)?L.converters.WebSocketInit(A):{protocols:L.converters["DOMString or sequence"](A)}};L.converters.WebSocketSendData=function(A){if(L.util.Type(A)==="Object"){if(Zl(A))return L.converters.Blob(A,{strict:!1});if(ArrayBuffer.isView(A)||Kl.isAnyArrayBuffer(A))return L.converters.BufferSource(A)}return L.converters.USVString(A)};zl.exports={WebSocket:ce}});var ru=B((gq,M)=>{"use strict";var IF=cs(),Au=Qi(),eu=j(),lF=hr(),uF=QB(),dF=Bs(),Wt=G(),{InvalidArgumentError:Ln}=eu,Yr=rh(),fF=ts(),mF=Ig(),pF=Yh(),yF=dg(),wF=sg(),DF=Wh(),RF=Zh(),{getGlobalDispatcher:tu,setGlobalDispatcher:bF}=wr(),kF=tI(),NF=ha(),FF=Ii(),oc;try{require("crypto"),oc=!0}catch{oc=!1}Object.assign(Au.prototype,Yr);M.exports.Dispatcher=Au;M.exports.Client=IF;M.exports.Pool=lF;M.exports.BalancedPool=uF;M.exports.Agent=dF;M.exports.ProxyAgent=DF;M.exports.RetryHandler=RF;M.exports.DecoratorHandler=kF;M.exports.RedirectHandler=NF;M.exports.createRedirectInterceptor=FF;M.exports.buildConnector=fF;M.exports.errors=eu;function Us(A){return(e,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new Ln("invalid url");if(t!=null&&typeof t!="object")throw new Ln("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Ln("invalid opts.path");let n=t.path;t.path.startsWith("/")||(n=`/${n}`),e=new URL(Wt.parseOrigin(e).origin+n)}else t||(t=typeof e=="object"?e:{}),e=Wt.parseURL(e);let{agent:s,dispatcher:i=tu()}=t;if(s)throw new Ln("unsupported opts.agent. Did you mean opts.client?");return A.call(i,{...t,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}M.exports.setGlobalDispatcher=bF;M.exports.getGlobalDispatcher=tu;if(Wt.nodeMajor>16||Wt.nodeMajor===16&&Wt.nodeMinor>=8){let A=null;M.exports.fetch=async function(n){A||(A=Cn().fetch);try{return await A(...arguments)}catch(o){throw typeof o=="object"&&Error.captureStackTrace(o,this),o}},M.exports.Headers=Gt().Headers,M.exports.Response=An().Response,M.exports.Request=ys().Request,M.exports.FormData=gi().FormData,M.exports.File=oi().File,M.exports.FileReader=zI().FileReader;let{setGlobalOrigin:e,getGlobalOrigin:t}=tr();M.exports.setGlobalOrigin=e,M.exports.getGlobalOrigin=t;let{CacheStorage:r}=cl(),{kConstruct:s}=ln();M.exports.caches=new r(s)}if(Wt.nodeMajor>=16){let{deleteCookie:A,getCookies:e,getSetCookies:t,setCookie:r}=yl();M.exports.deleteCookie=A,M.exports.getCookies=e,M.exports.getSetCookies=t,M.exports.setCookie=r;let{parseMIMEType:s,serializeAMimeType:i}=De();M.exports.parseMIMEType=s,M.exports.serializeAMimeType=i}if(Wt.nodeMajor>=18&&oc){let{WebSocket:A}=$l();M.exports.WebSocket=A}M.exports.request=Us(Yr.request);M.exports.stream=Us(Yr.stream);M.exports.pipeline=Us(Yr.pipeline);M.exports.connect=Us(Yr.connect);M.exports.upgrade=Us(Yr.upgrade);M.exports.MockClient=mF;M.exports.MockPool=yF;M.exports.MockAgent=pF;M.exports.mockErrors=wF});var iu=B(K=>{"use strict";var SF=K&&K.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),UF=K&&K.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),vn=K&&K.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&SF(e,A,t);return UF(e,A),e},EA=K&&K.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(K,"__esModule",{value:!0});K.HttpClient=K.isHttps=K.HttpClientResponse=K.HttpClientError=K.getProxyUrl=K.MediaTypes=K.Headers=K.HttpCodes=void 0;var ac=vn(require("http")),su=vn(require("https")),gc=vn(CE()),xn=vn(dE()),LF=ru(),fe;(function(A){A[A.OK=200]="OK",A[A.MultipleChoices=300]="MultipleChoices",A[A.MovedPermanently=301]="MovedPermanently",A[A.ResourceMoved=302]="ResourceMoved",A[A.SeeOther=303]="SeeOther",A[A.NotModified=304]="NotModified",A[A.UseProxy=305]="UseProxy",A[A.SwitchProxy=306]="SwitchProxy",A[A.TemporaryRedirect=307]="TemporaryRedirect",A[A.PermanentRedirect=308]="PermanentRedirect",A[A.BadRequest=400]="BadRequest",A[A.Unauthorized=401]="Unauthorized",A[A.PaymentRequired=402]="PaymentRequired",A[A.Forbidden=403]="Forbidden",A[A.NotFound=404]="NotFound",A[A.MethodNotAllowed=405]="MethodNotAllowed",A[A.NotAcceptable=406]="NotAcceptable",A[A.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",A[A.RequestTimeout=408]="RequestTimeout",A[A.Conflict=409]="Conflict",A[A.Gone=410]="Gone",A[A.TooManyRequests=429]="TooManyRequests",A[A.InternalServerError=500]="InternalServerError",A[A.NotImplemented=501]="NotImplemented",A[A.BadGateway=502]="BadGateway",A[A.ServiceUnavailable=503]="ServiceUnavailable",A[A.GatewayTimeout=504]="GatewayTimeout"})(fe||(K.HttpCodes=fe={}));var kA;(function(A){A.Accept="accept",A.ContentType="content-type"})(kA||(K.Headers=kA={}));var at;(function(A){A.ApplicationJson="application/json"})(at||(K.MediaTypes=at={}));function xF(A){let e=gc.getProxyUrl(new URL(A));return e?e.href:""}K.getProxyUrl=xF;var MF=[fe.MovedPermanently,fe.ResourceMoved,fe.SeeOther,fe.TemporaryRedirect,fe.PermanentRedirect],TF=[fe.BadGateway,fe.ServiceUnavailable,fe.GatewayTimeout],qF=["OPTIONS","GET","DELETE","HEAD"],vF=10,YF=5,Tn=class A extends Error{constructor(e,t){super(e),this.name="HttpClientError",this.statusCode=t,Object.setPrototypeOf(this,A.prototype)}};K.HttpClientError=Tn;var qn=class{constructor(e){this.message=e}readBody(){return EA(this,void 0,void 0,function*(){return new Promise(e=>EA(this,void 0,void 0,function*(){let t=Buffer.alloc(0);this.message.on("data",r=>{t=Buffer.concat([t,r])}),this.message.on("end",()=>{e(t.toString())})}))})}readBodyBuffer(){return EA(this,void 0,void 0,function*(){return new Promise(e=>EA(this,void 0,void 0,function*(){let t=[];this.message.on("data",r=>{t.push(r)}),this.message.on("end",()=>{e(Buffer.concat(t))})}))})}};K.HttpClientResponse=qn;function GF(A){return new URL(A).protocol==="https:"}K.isHttps=GF;var cc=class{constructor(e,t,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=t||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(e,t){return EA(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return EA(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return EA(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return EA(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,s){return EA(this,void 0,void 0,function*(){return this.request(e,t,r,s)})}getJson(e,t={}){return EA(this,void 0,void 0,function*(){t[kA.Accept]=this._getExistingOrDefaultHeader(t,kA.Accept,at.ApplicationJson);let r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.post(e,s,r);return this._processResponse(i,this.requestOptions)})}putJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.put(e,s,r);return this._processResponse(i,this.requestOptions)})}patchJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.patch(e,s,r);return this._processResponse(i,this.requestOptions)})}request(e,t,r,s){return EA(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let i=new URL(t),n=this._prepareRequest(e,i,s),o=this._allowRetries&&qF.includes(e)?this._maxRetries+1:1,a=0,g;do{if(g=yield this.requestRaw(n,r),g&&g.message&&g.message.statusCode===fe.Unauthorized){let E;for(let Q of this.handlers)if(Q.canHandleAuthentication(g)){E=Q;break}return E?E.handleAuthentication(this,n,r):g}let c=this._maxRedirects;for(;g.message.statusCode&&MF.includes(g.message.statusCode)&&this._allowRedirects&&c>0;){let E=g.message.headers.location;if(!E)break;let Q=new URL(E);if(i.protocol==="https:"&&i.protocol!==Q.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.");if(yield g.readBody(),Q.hostname!==i.hostname)for(let C in s)C.toLowerCase()==="authorization"&&delete s[C];n=this._prepareRequest(e,Q,s),g=yield this.requestRaw(n,r),c--}if(!g.message.statusCode||!TF.includes(g.message.statusCode))return g;a+=1,a{function i(n,o){n?s(n):o?r(o):s(new Error("Unknown error"))}this.requestRawWithCallback(e,t,i)})})}requestRawWithCallback(e,t,r){typeof t=="string"&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8"));let s=!1;function i(a,g){s||(s=!0,r(a,g))}let n=e.httpModule.request(e.options,a=>{let g=new qn(a);i(void 0,g)}),o;n.on("socket",a=>{o=a}),n.setTimeout(this._socketTimeout||3*6e4,()=>{o&&o.end(),i(new Error(`Request timeout: ${e.options.path}`))}),n.on("error",function(a){i(a)}),t&&typeof t=="string"&&n.write(t,"utf8"),t&&typeof t!="string"?(t.on("close",function(){n.end()}),t.pipe(n)):n.end()}getAgent(e){let t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){let t=new URL(e),r=gc.getProxyUrl(t);if(r&&r.hostname)return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){let s={};s.parsedUrl=t;let i=s.parsedUrl.protocol==="https:";s.httpModule=i?su:ac;let n=i?443:80;if(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),this.userAgent!=null&&(s.options.headers["user-agent"]=this.userAgent),s.options.agent=this._getAgent(s.parsedUrl),this.handlers)for(let o of this.handlers)o.prepareRequest(s.options);return s}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},Mn(this.requestOptions.headers),Mn(e||{})):Mn(e||{})}_getExistingOrDefaultHeader(e,t,r){let s;return this.requestOptions&&this.requestOptions.headers&&(s=Mn(this.requestOptions.headers)[t]),e[t]||s||r}_getAgent(e){let t,r=gc.getProxyUrl(e),s=r&&r.hostname;if(this._keepAlive&&s&&(t=this._proxyAgent),s||(t=this._agent),t)return t;let i=e.protocol==="https:",n=100;if(this.requestOptions&&(n=this.requestOptions.maxSockets||ac.globalAgent.maxSockets),r&&r.hostname){let o={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})},a,g=r.protocol==="https:";i?a=g?xn.httpsOverHttps:xn.httpsOverHttp:a=g?xn.httpOverHttps:xn.httpOverHttp,t=a(o),this._proxyAgent=t}if(!t){let o={keepAlive:this._keepAlive,maxSockets:n};t=i?new su.Agent(o):new ac.Agent(o),this._agent=t}return i&&this._ignoreSslError&&(t.options=Object.assign(t.options||{},{rejectUnauthorized:!1})),t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let s=e.protocol==="https:";return r=new LF.ProxyAgent(Object.assign({uri:t.href,pipelining:this._keepAlive?1:0},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,s&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_performExponentialBackoff(e){return EA(this,void 0,void 0,function*(){e=Math.min(vF,e);let t=YF*Math.pow(2,e);return new Promise(r=>setTimeout(()=>r(),t))})}_processResponse(e,t){return EA(this,void 0,void 0,function*(){return new Promise((r,s)=>EA(this,void 0,void 0,function*(){let i=e.message.statusCode||0,n={statusCode:i,result:null,headers:{}};i===fe.NotFound&&r(n);function o(c,E){if(typeof E=="string"){let Q=new Date(E);if(!isNaN(Q.valueOf()))return Q}return E}let a,g;try{g=yield e.readBody(),g&&g.length>0&&(t&&t.deserializeDates?a=JSON.parse(g,o):a=JSON.parse(g),n.result=a),n.headers=e.message.headers}catch{}if(i>299){let c;a&&a.message?c=a.message:g&&g.length>0?c=g:c=`Failed request: (${i})`;let E=new Tn(c,i);E.result=n.result,s(E)}else r(n)}))})}};K.HttpClient=cc;var Mn=A=>Object.keys(A).reduce((e,t)=>(e[t.toLowerCase()]=A[t],e),{})});var nu=B(Oe=>{"use strict";var Bc=Oe&&Oe.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.PersonalAccessTokenCredentialHandler=Oe.BearerCredentialHandler=Oe.BasicCredentialHandler=void 0;var Ec=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.BasicCredentialHandler=Ec;var Qc=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.BearerCredentialHandler=Qc;var Cc=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.PersonalAccessTokenCredentialHandler=Cc});var gu=B(Gr=>{"use strict";var ou=Gr&&Gr.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.OidcClient=void 0;var JF=iu(),VF=nu(),au=Ic(),hc=class A{static createHttpClient(e=!0,t=10){let r={allowRetries:e,maxRetries:t};return new JF.HttpClient("actions/oidc-client",[new VF.BearerCredentialHandler(A.getRequestToken())],r)}static getRequestToken(){let 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(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(e){var t;return ou(this,void 0,void 0,function*(){let i=(t=(yield A.createHttpClient().getJson(e).catch(n=>{throw new Error(`Failed to get ID Token. +`.trim())}};vh.exports=yg});var Wh=B((LT,Oh)=>{"use strict";var{kProxy:Yb,kClose:Gb,kDestroy:Jb,kInterceptors:Vb}=z(),{URL:Gh}=require("url"),Jh=Bs(),Hb=hr(),Ob=es(),{InvalidArgumentError:ds,RequestAbortedError:Wb}=j(),Vh=ts(),ls=Symbol("proxy agent"),ji=Symbol("proxy client"),us=Symbol("proxy headers"),wg=Symbol("request tls settings"),Pb=Symbol("proxy tls settings"),Hh=Symbol("connect endpoint function");function _b(A){return A==="https:"?443:80}function jb(A){if(typeof A=="string"&&(A={uri:A}),!A||!A.uri)throw new ds("Proxy opts.uri is mandatory");return{uri:A.uri,protocol:A.protocol||"https"}}function Xb(A,e){return new Hb(A,e)}var Dg=class extends Ob{constructor(e){if(super(e),this[Yb]=jb(e),this[ls]=new Jh(e),this[Vb]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[],typeof e=="string"&&(e={uri:e}),!e||!e.uri)throw new ds("Proxy opts.uri is mandatory");let{clientFactory:t=Xb}=e;if(typeof t!="function")throw new ds("Proxy opts.clientFactory must be a function.");this[wg]=e.requestTls,this[Pb]=e.proxyTls,this[us]=e.headers||{};let r=new Gh(e.uri),{origin:s,port:i,host:n,username:o,password:a}=r;if(e.auth&&e.token)throw new ds("opts.auth cannot be used in combination with opts.token");e.auth?this[us]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[us]["proxy-authorization"]=e.token:o&&a&&(this[us]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(o)}:${decodeURIComponent(a)}`).toString("base64")}`);let g=Vh({...e.proxyTls});this[Hh]=Vh({...e.requestTls}),this[ji]=t(r,{connect:g}),this[ls]=new Jh({...e,connect:async(c,E)=>{let Q=c.host;c.port||(Q+=`:${_b(c.protocol)}`);try{let{socket:C,statusCode:h}=await this[ji].connect({origin:s,port:i,path:Q,signal:c.signal,headers:{...this[us],host:n}});if(h!==200&&(C.on("error",()=>{}).destroy(),E(new Wb(`Proxy response (${h}) !== 200 when HTTP Tunneling`))),c.protocol!=="https:"){E(null,C);return}let u;this[wg]?u=this[wg].servername:u=c.servername,this[Hh]({...c,servername:u,httpSocket:C},E)}catch(C){E(C)}}})}dispatch(e,t){let{host:r}=new Gh(e.origin),s=Zb(e.headers);return Kb(s),this[ls].dispatch({...e,headers:{...s,host:r}},t)}async[Gb](){await this[ls].close(),await this[ji].close()}async[Jb](){await this[ls].destroy(),await this[ji].destroy()}};function Zb(A){if(Array.isArray(A)){let e={};for(let t=0;tt.toLowerCase()==="proxy-authorization"))throw new ds("Proxy-Authorization should be sent in ProxyAgent constructor")}Oh.exports=Dg});var Zh=B((xT,Xh)=>{var Yt=require("assert"),{kRetryHandlerDefaultRetry:Ph}=z(),{RequestRetryError:Xi}=j(),{isDisturbed:_h,parseHeaders:zb,parseRangeHeader:jh}=G();function $b(A){let e=Date.now();return new Date(A).getTime()-e}var Rg=class A{constructor(e,t){let{retryOptions:r,...s}=e,{retry:i,maxRetries:n,maxTimeout:o,minTimeout:a,timeoutFactor:g,methods:c,errorCodes:E,retryAfter:Q,statusCodes:C}=r??{};this.dispatch=t.dispatch,this.handler=t.handler,this.opts=s,this.abort=null,this.aborted=!1,this.retryOpts={retry:i??A[Ph],retryAfter:Q??!0,maxTimeout:o??30*1e3,timeout:a??500,timeoutFactor:g??2,maxRetries:n??5,methods:c??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:C??[500,502,503,504,429],errorCodes:E??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]},this.retryCount=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.handler.onConnect(h=>{this.aborted=!0,this.abort?this.abort(h):this.reason=h})}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(e,t,r){this.handler.onUpgrade&&this.handler.onUpgrade(e,t,r)}onConnect(e){this.aborted?e(this.reason):this.abort=e}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[Ph](e,{state:t,opts:r},s){let{statusCode:i,code:n,headers:o}=e,{method:a,retryOptions:g}=r,{maxRetries:c,timeout:E,maxTimeout:Q,timeoutFactor:C,statusCodes:h,errorCodes:u,methods:I}=g,{counter:d,currentTimeout:R}=t;if(R=R!=null&&R>0?R:E,n&&n!=="UND_ERR_REQ_RETRY"&&n!=="UND_ERR_SOCKET"&&!u.includes(n)){s(e);return}if(Array.isArray(I)&&!I.includes(a)){s(e);return}if(i!=null&&Array.isArray(h)&&!h.includes(i)){s(e);return}if(d>c){s(e);return}let U=o!=null&&o["retry-after"];U&&(U=Number(U),U=isNaN(U)?$b(U):U*1e3);let v=U>0?Math.min(U,Q):Math.min(R*C**d,Q);t.currentTimeout=v,setTimeout(()=>s(null),v)}onHeaders(e,t,r,s){let i=zb(t);if(this.retryCount+=1,e>=300)return this.abort(new Xi("Request failed",e,{headers:i,count:this.retryCount})),!1;if(this.resume!=null){if(this.resume=null,e!==206)return!0;let o=jh(i["content-range"]);if(!o)return this.abort(new Xi("Content-Range mismatch",e,{headers:i,count:this.retryCount})),!1;if(this.etag!=null&&this.etag!==i.etag)return this.abort(new Xi("ETag mismatch",e,{headers:i,count:this.retryCount})),!1;let{start:a,size:g,end:c=g}=o;return Yt(this.start===a,"content-range mismatch"),Yt(this.end==null||this.end===c,"content-range mismatch"),this.resume=r,!0}if(this.end==null){if(e===206){let o=jh(i["content-range"]);if(o==null)return this.handler.onHeaders(e,t,r,s);let{start:a,size:g,end:c=g}=o;Yt(a!=null&&Number.isFinite(a)&&this.start!==a,"content-range mismatch"),Yt(Number.isFinite(a)),Yt(c!=null&&Number.isFinite(c)&&this.end!==c,"invalid content-length"),this.start=a,this.end=c}if(this.end==null){let o=i["content-length"];this.end=o!=null?Number(o):null}return Yt(Number.isFinite(this.start)),Yt(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.etag=i.etag!=null?i.etag:null,this.handler.onHeaders(e,t,r,s)}let n=new Xi("Request failed",e,{headers:i,count:this.retryCount});return this.abort(n),!1}onData(e){return this.start+=e.length,this.handler.onData(e)}onComplete(e){return this.retryCount=0,this.handler.onComplete(e)}onError(e){if(this.aborted||_h(this.opts.body))return this.handler.onError(e);this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},t.bind(this));function t(r){if(r!=null||this.aborted||_h(this.opts.body))return this.handler.onError(r);this.start!==0&&(this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}});try{this.dispatch(this.opts,this)}catch(s){this.handler.onError(s)}}}};Xh.exports=Rg});var wr=B((MT,AI)=>{"use strict";var Kh=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Ak}=j(),ek=Bs();$h()===void 0&&zh(new ek);function zh(A){if(!A||typeof A.dispatch!="function")throw new Ak("Argument agent must implement Agent");Object.defineProperty(globalThis,Kh,{value:A,writable:!0,enumerable:!1,configurable:!1})}function $h(){return globalThis[Kh]}AI.exports={setGlobalDispatcher:zh,getGlobalDispatcher:$h}});var tI=B((qT,eI)=>{"use strict";eI.exports=class{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}});var Gt=B((vT,oI)=>{"use strict";var{kHeadersList:OA,kConstruct:tk}=z(),{kGuard:Je}=Ke(),{kEnumerableProperty:Ge}=G(),{makeIterator:Dr,isValidHeaderName:fs,isValidHeaderValue:sI}=Be(),rk=require("util"),{webidl:q}=SA(),sk=require("assert"),HA=Symbol("headers map"),pA=Symbol("headers map sorted");function rI(A){return A===10||A===13||A===9||A===32}function iI(A){let e=0,t=A.length;for(;t>e&&rI(A.charCodeAt(t-1));)--t;for(;t>e&&rI(A.charCodeAt(e));)++e;return e===0&&t===A.length?A:A.substring(e,t)}function nI(A,e){if(Array.isArray(e))for(let t=0;t>","record"]})}function bg(A,e,t){if(t=iI(t),fs(e)){if(!sI(t))throw q.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw q.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(A[Je]==="immutable")throw new TypeError("immutable");return A[Je],A[OA].append(e,t)}var Zi=class A{cookies=null;constructor(e){e instanceof A?(this[HA]=new Map(e[HA]),this[pA]=e[pA],this.cookies=e.cookies===null?null:[...e.cookies]):(this[HA]=new Map(e),this[pA]=null)}contains(e){return e=e.toLowerCase(),this[HA].has(e)}clear(){this[HA].clear(),this[pA]=null,this.cookies=null}append(e,t){this[pA]=null;let r=e.toLowerCase(),s=this[HA].get(r);if(s){let i=r==="cookie"?"; ":", ";this[HA].set(r,{name:s.name,value:`${s.value}${i}${t}`})}else this[HA].set(r,{name:e,value:t});r==="set-cookie"&&(this.cookies??=[],this.cookies.push(t))}set(e,t){this[pA]=null;let r=e.toLowerCase();r==="set-cookie"&&(this.cookies=[t]),this[HA].set(r,{name:e,value:t})}delete(e){this[pA]=null,e=e.toLowerCase(),e==="set-cookie"&&(this.cookies=null),this[HA].delete(e)}get(e){let t=this[HA].get(e.toLowerCase());return t===void 0?null:t.value}*[Symbol.iterator](){for(let[e,{value:t}]of this[HA])yield[e,t]}get entries(){let e={};if(this[HA].size)for(let{name:t,value:r}of this[HA].values())e[t]=r;return e}},Rr=class A{constructor(e=void 0){e!==tk&&(this[OA]=new Zi,this[Je]="none",e!==void 0&&(e=q.converters.HeadersInit(e),nI(this,e)))}append(e,t){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,2,{header:"Headers.append"}),e=q.converters.ByteString(e),t=q.converters.ByteString(t),bg(this,e,t)}delete(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.delete"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this[Je]==="immutable")throw new TypeError("immutable");this[Je],this[OA].contains(e)&&this[OA].delete(e)}get(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.get"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"});return this[OA].get(e)}has(e){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.has"}),e=q.converters.ByteString(e),!fs(e))throw q.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"});return this[OA].contains(e)}set(e,t){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,2,{header:"Headers.set"}),e=q.converters.ByteString(e),t=q.converters.ByteString(t),t=iI(t),fs(e)){if(!sI(t))throw q.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}else throw q.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"});if(this[Je]==="immutable")throw new TypeError("immutable");this[Je],this[OA].set(e,t)}getSetCookie(){q.brandCheck(this,A);let e=this[OA].cookies;return e?[...e]:[]}get[pA](){if(this[OA][pA])return this[OA][pA];let e=[],t=[...this[OA]].sort((s,i)=>s[0]e,"Headers","key")}return Dr(()=>[...this[pA].values()],"Headers","key")}values(){if(q.brandCheck(this,A),this[Je]==="immutable"){let e=this[pA];return Dr(()=>e,"Headers","value")}return Dr(()=>[...this[pA].values()],"Headers","value")}entries(){if(q.brandCheck(this,A),this[Je]==="immutable"){let e=this[pA];return Dr(()=>e,"Headers","key+value")}return Dr(()=>[...this[pA].values()],"Headers","key+value")}forEach(e,t=globalThis){if(q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,{header:"Headers.forEach"}),typeof e!="function")throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.");for(let[r,s]of this)e.apply(t,[s,r,this])}[Symbol.for("nodejs.util.inspect.custom")](){return q.brandCheck(this,A),this[OA]}};Rr.prototype[Symbol.iterator]=Rr.prototype.entries;Object.defineProperties(Rr.prototype,{append:Ge,delete:Ge,get:Ge,has:Ge,set:Ge,getSetCookie:Ge,keys:Ge,values:Ge,entries:Ge,forEach:Ge,[Symbol.iterator]:{enumerable:!1},[Symbol.toStringTag]:{value:"Headers",configurable:!0},[rk.inspect.custom]:{enumerable:!1}});q.converters.HeadersInit=function(A){if(q.util.Type(A)==="Object")return A[Symbol.iterator]?q.converters["sequence>"](A):q.converters["record"](A);throw q.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};oI.exports={fill:nI,Headers:Rr,HeadersList:Zi}});var An=B((YT,hI)=>{"use strict";var{Headers:ik,HeadersList:aI,fill:nk}=Gt(),{extractBody:gI,cloneBody:ok,mixinBody:ak}=zr(),Fg=G(),{kEnumerableProperty:oe}=Fg,{isValidReasonPhrase:gk,isCancelled:ck,isAborted:Ek,isBlobLike:Qk,serializeJavascriptValueToJSONString:Ck,isErrorLike:Bk,isomorphicEncode:hk}=Be(),{redirectStatusSet:Ik,nullBodyStatus:lk,DOMException:cI}=Ct(),{kState:rA,kHeaders:lA,kGuard:br,kRealm:ne}=Ke(),{webidl:T}=SA(),{FormData:uk}=gi(),{getGlobalOrigin:dk}=tr(),{URLSerializer:EI}=De(),{kHeadersList:kg,kConstruct:fk}=z(),Sg=require("assert"),{types:Ng}=require("util"),CI=globalThis.ReadableStream||require("stream/web").ReadableStream,mk=new TextEncoder("utf-8"),kr=class A{static error(){let e={settingsObject:{}},t=new A;return t[rA]=zi(),t[ne]=e,t[lA][kg]=t[rA].headersList,t[lA][br]="immutable",t[lA][ne]=e,t}static json(e,t={}){T.argumentLengthCheck(arguments,1,{header:"Response.json"}),t!==null&&(t=T.converters.ResponseInit(t));let r=mk.encode(Ck(e)),s=gI(r),i={settingsObject:{}},n=new A;return n[ne]=i,n[lA][br]="response",n[lA][ne]=i,QI(n,t,{body:s[0],type:"application/json"}),n}static redirect(e,t=302){let r={settingsObject:{}};T.argumentLengthCheck(arguments,1,{header:"Response.redirect"}),e=T.converters.USVString(e),t=T.converters["unsigned short"](t);let s;try{s=new URL(e,dk())}catch(o){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:o})}if(!Ik.has(t))throw new RangeError("Invalid status code "+t);let i=new A;i[ne]=r,i[lA][br]="immutable",i[lA][ne]=r,i[rA].status=t;let n=hk(EI(s));return i[rA].headersList.append("location",n),i}constructor(e=null,t={}){e!==null&&(e=T.converters.BodyInit(e)),t=T.converters.ResponseInit(t),this[ne]={settingsObject:{}},this[rA]=$i({}),this[lA]=new ik(fk),this[lA][br]="response",this[lA][kg]=this[rA].headersList,this[lA][ne]=this[ne];let r=null;if(e!=null){let[s,i]=gI(e);r={body:s,type:i}}QI(this,t,r)}get type(){return T.brandCheck(this,A),this[rA].type}get url(){T.brandCheck(this,A);let e=this[rA].urlList,t=e[e.length-1]??null;return t===null?"":EI(t,!0)}get redirected(){return T.brandCheck(this,A),this[rA].urlList.length>1}get status(){return T.brandCheck(this,A),this[rA].status}get ok(){return T.brandCheck(this,A),this[rA].status>=200&&this[rA].status<=299}get statusText(){return T.brandCheck(this,A),this[rA].statusText}get headers(){return T.brandCheck(this,A),this[lA]}get body(){return T.brandCheck(this,A),this[rA].body?this[rA].body.stream:null}get bodyUsed(){return T.brandCheck(this,A),!!this[rA].body&&Fg.isDisturbed(this[rA].body.stream)}clone(){if(T.brandCheck(this,A),this.bodyUsed||this.body&&this.body.locked)throw T.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=Ug(this[rA]),t=new A;return t[rA]=e,t[ne]=this[ne],t[lA][kg]=e.headersList,t[lA][br]=this[lA][br],t[lA][ne]=this[lA][ne],t}};ak(kr);Object.defineProperties(kr.prototype,{type:oe,url:oe,status:oe,ok:oe,redirected:oe,statusText:oe,headers:oe,clone:oe,body:oe,bodyUsed:oe,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(kr,{json:oe,redirect:oe,error:oe});function Ug(A){if(A.internalResponse)return BI(Ug(A.internalResponse),A.type);let e=$i({...A,body:null});return A.body!=null&&(e.body=ok(A.body)),e}function $i(A){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...A,headersList:A.headersList?new aI(A.headersList):new aI,urlList:A.urlList?[...A.urlList]:[]}}function zi(A){let e=Bk(A);return $i({type:"error",status:0,error:e?A:new Error(A&&String(A)),aborted:A&&A.name==="AbortError"})}function Ki(A,e){return e={internalResponse:A,...e},new Proxy(A,{get(t,r){return r in e?e[r]:t[r]},set(t,r,s){return Sg(!(r in e)),t[r]=s,!0}})}function BI(A,e){if(e==="basic")return Ki(A,{type:"basic",headersList:A.headersList});if(e==="cors")return Ki(A,{type:"cors",headersList:A.headersList});if(e==="opaque")return Ki(A,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(e==="opaqueredirect")return Ki(A,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Sg(!1)}function pk(A,e=null){return Sg(ck(A)),Ek(A)?zi(Object.assign(new cI("The operation was aborted.","AbortError"),{cause:e})):zi(Object.assign(new cI("Request was cancelled."),{cause:e}))}function QI(A,e,t){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!gk(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(A[rA].status=e.status),"statusText"in e&&e.statusText!=null&&(A[rA].statusText=e.statusText),"headers"in e&&e.headers!=null&&nk(A[lA],e.headers),t){if(lk.includes(A.status))throw T.errors.exception({header:"Response constructor",message:"Invalid response status code "+A.status});A[rA].body=t.body,t.type!=null&&!A[rA].headersList.contains("Content-Type")&&A[rA].headersList.append("content-type",t.type)}}T.converters.ReadableStream=T.interfaceConverter(CI);T.converters.FormData=T.interfaceConverter(uk);T.converters.URLSearchParams=T.interfaceConverter(URLSearchParams);T.converters.XMLHttpRequestBodyInit=function(A){return typeof A=="string"?T.converters.USVString(A):Qk(A)?T.converters.Blob(A,{strict:!1}):Ng.isArrayBuffer(A)||Ng.isTypedArray(A)||Ng.isDataView(A)?T.converters.BufferSource(A):Fg.isFormDataLike(A)?T.converters.FormData(A,{strict:!1}):A instanceof URLSearchParams?T.converters.URLSearchParams(A):T.converters.DOMString(A)};T.converters.BodyInit=function(A){return A instanceof CI?T.converters.ReadableStream(A):A?.[Symbol.asyncIterator]?A:T.converters.XMLHttpRequestBodyInit(A)};T.converters.ResponseInit=T.dictionaryConverter([{key:"status",converter:T.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:T.converters.ByteString,defaultValue:""},{key:"headers",converter:T.converters.HeadersInit}]);hI.exports={makeNetworkError:zi,makeResponse:$i,makeAppropriateNetworkError:pk,filterResponse:BI,Response:kr,cloneResponse:Ug}});var ys=B((GT,mI)=>{"use strict";var{extractBody:yk,mixinBody:wk,cloneBody:Dk}=zr(),{Headers:II,fill:Rk,HeadersList:sn}=Gt(),{FinalizationRegistry:bk}=Va()(),ps=G(),{isValidHTTPToken:kk,sameOrigin:lI,normalizeMethod:Nk,makePolicyContainer:Fk,normalizeMethodRecord:Sk}=Be(),{forbiddenMethodsSet:Uk,corsSafeListedMethodsSet:Lk,referrerPolicy:xk,requestRedirect:Mk,requestMode:Tk,requestCredentials:qk,requestCache:vk,requestDuplex:Yk}=Ct(),{kEnumerableProperty:CA}=ps,{kHeaders:bA,kSignal:ms,kState:eA,kGuard:en,kRealm:ae}=Ke(),{webidl:S}=SA(),{getGlobalOrigin:Gk}=tr(),{URLSerializer:Jk}=De(),{kHeadersList:tn,kConstruct:rn}=z(),Vk=require("assert"),{getMaxListeners:uI,setMaxListeners:dI,getEventListeners:Hk,defaultMaxListeners:fI}=require("events"),Lg=globalThis.TransformStream,Ok=Symbol("abortController"),Wk=new bk(({signal:A,abort:e})=>{A.removeEventListener("abort",e)}),Jt=class A{constructor(e,t={}){if(e===rn)return;S.argumentLengthCheck(arguments,1,{header:"Request constructor"}),e=S.converters.RequestInfo(e),t=S.converters.RequestInit(t),this[ae]={settingsObject:{baseUrl:Gk(),get origin(){return this.baseUrl?.origin},policyContainer:Fk()}};let r=null,s=null,i=this[ae].settingsObject.baseUrl,n=null;if(typeof e=="string"){let I;try{I=new URL(e,i)}catch(d){throw new TypeError("Failed to parse URL from "+e,{cause:d})}if(I.username||I.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);r=nn({urlList:[I]}),s="cors"}else Vk(e instanceof A),r=e[eA],n=e[ms];let o=this[ae].settingsObject.origin,a="client";if(r.window?.constructor?.name==="EnvironmentSettingsObject"&&lI(r.window,o)&&(a=r.window),t.window!=null)throw new TypeError(`'window' option '${a}' must be null`);"window"in t&&(a="no-window"),r=nn({method:r.method,headersList:r.headersList,unsafeRequest:r.unsafeRequest,client:this[ae].settingsObject,window:a,priority:r.priority,origin:r.origin,referrer:r.referrer,referrerPolicy:r.referrerPolicy,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,integrity:r.integrity,keepalive:r.keepalive,reloadNavigation:r.reloadNavigation,historyNavigation:r.historyNavigation,urlList:[...r.urlList]});let g=Object.keys(t).length!==0;if(g&&(r.mode==="navigate"&&(r.mode="same-origin"),r.reloadNavigation=!1,r.historyNavigation=!1,r.origin="client",r.referrer="client",r.referrerPolicy="",r.url=r.urlList[r.urlList.length-1],r.urlList=[r.url]),t.referrer!==void 0){let I=t.referrer;if(I==="")r.referrer="no-referrer";else{let d;try{d=new URL(I,i)}catch(R){throw new TypeError(`Referrer "${I}" is not a valid URL.`,{cause:R})}d.protocol==="about:"&&d.hostname==="client"||o&&!lI(d,this[ae].settingsObject.baseUrl)?r.referrer="client":r.referrer=d}}t.referrerPolicy!==void 0&&(r.referrerPolicy=t.referrerPolicy);let c;if(t.mode!==void 0?c=t.mode:c=s,c==="navigate")throw S.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(c!=null&&(r.mode=c),t.credentials!==void 0&&(r.credentials=t.credentials),t.cache!==void 0&&(r.cache=t.cache),r.cache==="only-if-cached"&&r.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(r.redirect=t.redirect),t.integrity!=null&&(r.integrity=String(t.integrity)),t.keepalive!==void 0&&(r.keepalive=!!t.keepalive),t.method!==void 0){let I=t.method;if(!kk(I))throw new TypeError(`'${I}' is not a valid HTTP method.`);if(Uk.has(I.toUpperCase()))throw new TypeError(`'${I}' HTTP method is unsupported.`);I=Sk[I]??Nk(I),r.method=I}t.signal!==void 0&&(n=t.signal),this[eA]=r;let E=new AbortController;if(this[ms]=E.signal,this[ms][ae]=this[ae],n!=null){if(!n||typeof n.aborted!="boolean"||typeof n.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(n.aborted)E.abort(n.reason);else{this[Ok]=E;let I=new WeakRef(E),d=function(){let R=I.deref();R!==void 0&&R.abort(this.reason)};try{(typeof uI=="function"&&uI(n)===fI||Hk(n,"abort").length>=fI)&&dI(100,n)}catch{}ps.addAbortListener(n,d),Wk.register(E,{signal:n,abort:d})}}if(this[bA]=new II(rn),this[bA][tn]=r.headersList,this[bA][en]="request",this[bA][ae]=this[ae],c==="no-cors"){if(!Lk.has(r.method))throw new TypeError(`'${r.method} is unsupported in no-cors mode.`);this[bA][en]="request-no-cors"}if(g){let I=this[bA][tn],d=t.headers!==void 0?t.headers:new sn(I);if(I.clear(),d instanceof sn){for(let[R,U]of d)I.append(R,U);I.cookies=d.cookies}else Rk(this[bA],d)}let Q=e instanceof A?e[eA].body:null;if((t.body!=null||Q!=null)&&(r.method==="GET"||r.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let C=null;if(t.body!=null){let[I,d]=yk(t.body,r.keepalive);C=I,d&&!this[bA][tn].contains("content-type")&&this[bA].append("content-type",d)}let h=C??Q;if(h!=null&&h.source==null){if(C!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(r.mode!=="same-origin"&&r.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');r.useCORSPreflightFlag=!0}let u=h;if(C==null&&Q!=null){if(ps.isDisturbed(Q.stream)||Q.stream.locked)throw new TypeError("Cannot construct a Request with a Request object that has already been used.");Lg||(Lg=require("stream/web").TransformStream);let I=new Lg;Q.stream.pipeThrough(I),u={source:Q.source,length:Q.length,stream:I.readable}}this[eA].body=u}get method(){return S.brandCheck(this,A),this[eA].method}get url(){return S.brandCheck(this,A),Jk(this[eA].url)}get headers(){return S.brandCheck(this,A),this[bA]}get destination(){return S.brandCheck(this,A),this[eA].destination}get referrer(){return S.brandCheck(this,A),this[eA].referrer==="no-referrer"?"":this[eA].referrer==="client"?"about:client":this[eA].referrer.toString()}get referrerPolicy(){return S.brandCheck(this,A),this[eA].referrerPolicy}get mode(){return S.brandCheck(this,A),this[eA].mode}get credentials(){return this[eA].credentials}get cache(){return S.brandCheck(this,A),this[eA].cache}get redirect(){return S.brandCheck(this,A),this[eA].redirect}get integrity(){return S.brandCheck(this,A),this[eA].integrity}get keepalive(){return S.brandCheck(this,A),this[eA].keepalive}get isReloadNavigation(){return S.brandCheck(this,A),this[eA].reloadNavigation}get isHistoryNavigation(){return S.brandCheck(this,A),this[eA].historyNavigation}get signal(){return S.brandCheck(this,A),this[ms]}get body(){return S.brandCheck(this,A),this[eA].body?this[eA].body.stream:null}get bodyUsed(){return S.brandCheck(this,A),!!this[eA].body&&ps.isDisturbed(this[eA].body.stream)}get duplex(){return S.brandCheck(this,A),"half"}clone(){if(S.brandCheck(this,A),this.bodyUsed||this.body?.locked)throw new TypeError("unusable");let e=Pk(this[eA]),t=new A(rn);t[eA]=e,t[ae]=this[ae],t[bA]=new II(rn),t[bA][tn]=e.headersList,t[bA][en]=this[bA][en],t[bA][ae]=this[bA][ae];let r=new AbortController;return this.signal.aborted?r.abort(this.signal.reason):ps.addAbortListener(this.signal,()=>{r.abort(this.signal.reason)}),t[ms]=r.signal,t}};wk(Jt);function nn(A){let e={method:"GET",localURLsOnly:!1,unsafeRequest:!1,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:!1,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:!1,credentials:"same-origin",useCredentials:!1,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:!1,historyNavigation:!1,userActivation:!1,taintedOrigin:!1,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:!1,done:!1,timingAllowFailed:!1,...A,headersList:A.headersList?new sn(A.headersList):new sn};return e.url=e.urlList[0],e}function Pk(A){let e=nn({...A,body:null});return A.body!=null&&(e.body=Dk(A.body)),e}Object.defineProperties(Jt.prototype,{method:CA,url:CA,headers:CA,redirect:CA,clone:CA,signal:CA,duplex:CA,destination:CA,body:CA,bodyUsed:CA,isHistoryNavigation:CA,isReloadNavigation:CA,keepalive:CA,integrity:CA,cache:CA,credentials:CA,attribute:CA,referrerPolicy:CA,referrer:CA,mode:CA,[Symbol.toStringTag]:{value:"Request",configurable:!0}});S.converters.Request=S.interfaceConverter(Jt);S.converters.RequestInfo=function(A){return typeof A=="string"?S.converters.USVString(A):A instanceof Jt?S.converters.Request(A):S.converters.USVString(A)};S.converters.AbortSignal=S.interfaceConverter(AbortSignal);S.converters.RequestInit=S.dictionaryConverter([{key:"method",converter:S.converters.ByteString},{key:"headers",converter:S.converters.HeadersInit},{key:"body",converter:S.nullableConverter(S.converters.BodyInit)},{key:"referrer",converter:S.converters.USVString},{key:"referrerPolicy",converter:S.converters.DOMString,allowedValues:xk},{key:"mode",converter:S.converters.DOMString,allowedValues:Tk},{key:"credentials",converter:S.converters.DOMString,allowedValues:qk},{key:"cache",converter:S.converters.DOMString,allowedValues:vk},{key:"redirect",converter:S.converters.DOMString,allowedValues:Mk},{key:"integrity",converter:S.converters.DOMString},{key:"keepalive",converter:S.converters.boolean},{key:"signal",converter:S.nullableConverter(A=>S.converters.AbortSignal(A,{strict:!1}))},{key:"window",converter:S.converters.any},{key:"duplex",converter:S.converters.DOMString,allowedValues:Yk}]);mI.exports={Request:Jt,makeRequest:nn}});var Cn=B((JT,MI)=>{"use strict";var{Response:_k,makeNetworkError:X,makeAppropriateNetworkError:on,filterResponse:xg,makeResponse:an}=An(),{Headers:pI}=Gt(),{Request:jk,makeRequest:Xk}=ys(),ws=require("zlib"),{bytesMatch:Zk,makePolicyContainer:Kk,clonePolicyContainer:zk,requestBadPort:$k,TAOCheck:A2,appendRequestOriginHeader:e2,responseLocationURL:t2,requestCurrentURL:Ve,setRequestReferrerPolicyOnRedirect:r2,tryUpgradeRequestToAPotentiallyTrustworthyURL:s2,createOpaqueTimingInfo:Hg,appendFetchMetadata:i2,corsCheck:n2,crossOriginResourcePolicyCheck:o2,determineRequestsReferrer:a2,coarsenedSharedCurrentTime:Og,createDeferredPromise:g2,isBlobLike:c2,sameOrigin:Gg,isCancelled:Fr,isAborted:yI,isErrorLike:E2,fullyReadBody:bI,readableStreamClose:Q2,isomorphicEncode:Jg,urlIsLocal:C2,urlIsHttpHttpsScheme:Wg,urlHasHttpsScheme:B2}=Be(),{kState:Vg,kHeaders:Mg,kGuard:h2,kRealm:wI}=Ke(),Sr=require("assert"),{safelyExtractBody:gn}=zr(),{redirectStatusSet:kI,nullBodyStatus:NI,safeMethodsSet:I2,requestBodyHeader:l2,subresourceSet:u2,DOMException:cn}=Ct(),{kHeadersList:Nr}=z(),d2=require("events"),{Readable:f2,pipeline:m2}=require("stream"),{addAbortListener:p2,isErrored:y2,isReadable:En,nodeMajor:DI,nodeMinor:w2}=G(),{dataURLProcessor:D2,serializeAMimeType:R2}=De(),{TransformStream:b2}=require("stream/web"),{getGlobalDispatcher:k2}=wr(),{webidl:N2}=SA(),{STATUS_CODES:F2}=require("http"),S2=["GET","HEAD"],Tg,qg=globalThis.ReadableStream,Qn=class extends d2{constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing",this.setMaxListeners(21)}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new cn("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function U2(A,e={}){N2.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});let t=g2(),r;try{r=new jk(A,e)}catch(Q){return t.reject(Q),t.promise}let s=r[Vg];if(r.signal.aborted)return vg(t,s,null,r.signal.reason),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let n=null,o=null,a=!1,g=null;return p2(r.signal,()=>{a=!0,Sr(g!=null),g.abort(r.signal.reason),vg(t,s,n,r.signal.reason)}),g=SI({request:s,processResponseEndOfBody:Q=>FI(Q,"fetch"),processResponse:Q=>{if(a)return Promise.resolve();if(Q.aborted)return vg(t,s,n,g.serializedAbortReason),Promise.resolve();if(Q.type==="error")return t.reject(Object.assign(new TypeError("fetch failed"),{cause:Q.error})),Promise.resolve();n=new _k,n[Vg]=Q,n[wI]=o,n[Mg][Nr]=Q.headersList,n[Mg][h2]="immutable",n[Mg][wI]=o,t.resolve(n)},dispatcher:e.dispatcher??k2()}),t.promise}function FI(A,e="other"){if(A.type==="error"&&A.aborted||!A.urlList?.length)return;let t=A.urlList[0],r=A.timingInfo,s=A.cacheState;Wg(t)&&r!==null&&(A.timingAllowPassed||(r=Hg({startTime:r.startTime}),s=""),r.endTime=Og(),A.timingInfo=r,L2(r,t,e,globalThis,s))}function L2(A,e,t,r,s){(DI>18||DI===18&&w2>=2)&&performance.markResourceTiming(A,e.href,t,r,s)}function vg(A,e,t,r){if(r||(r=new cn("The operation was aborted.","AbortError")),A.reject(r),e.body!=null&&En(e.body?.stream)&&e.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let s=t[Vg];s.body!=null&&En(s.body?.stream)&&s.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function SI({request:A,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:i,useParallelQueue:n=!1,dispatcher:o}){let a=null,g=!1;A.client!=null&&(a=A.client.globalObject,g=A.client.crossOriginIsolatedCapability);let c=Og(g),E=Hg({startTime:c}),Q={controller:new Qn(o),request:A,timingInfo:E,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:i,processResponseEndOfBody:s,taskDestination:a,crossOriginIsolatedCapability:g};return Sr(!A.body||A.body.stream),A.window==="client"&&(A.window=A.client?.globalObject?.constructor?.name==="Window"?A.client:"no-window"),A.origin==="client"&&(A.origin=A.client?.origin),A.policyContainer==="client"&&(A.client!=null?A.policyContainer=zk(A.client.policyContainer):A.policyContainer=Kk()),A.headersList.contains("accept")||A.headersList.append("accept","*/*"),A.headersList.contains("accept-language")||A.headersList.append("accept-language","*"),A.priority,u2.has(A.destination),UI(Q).catch(C=>{Q.controller.terminate(C)}),Q.controller}async function UI(A,e=!1){let t=A.request,r=null;if(t.localURLsOnly&&!C2(Ve(t))&&(r=X("local URLs only")),s2(t),$k(t)==="blocked"&&(r=X("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=a2(t)),r===null&&(r=await(async()=>{let i=Ve(t);return Gg(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await RI(A)):t.mode==="same-origin"?X('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?X('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await RI(A)):Wg(Ve(t))?(t.responseTainting="cors",await LI(A)):X("URL scheme must be a HTTP(S) scheme")})()),e)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=xg(r,"basic"):t.responseTainting==="cors"?r=xg(r,"cors"):t.responseTainting==="opaque"?r=xg(r,"opaque"):Sr(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range")&&(r=s=X()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||NI.includes(s.status))&&(s.body=null,A.controller.dump=!0),t.integrity){let i=o=>Yg(A,X(o));if(t.responseTainting==="opaque"||r.body==null){i(r.error);return}let n=o=>{if(!Zk(o,t.integrity)){i("integrity mismatch");return}r.body=gn(o)[0],Yg(A,r)};await bI(r.body,n,i)}else Yg(A,r)}function RI(A){if(Fr(A)&&A.request.redirectCount===0)return Promise.resolve(on(A));let{request:e}=A,{protocol:t}=Ve(e);switch(t){case"about:":return Promise.resolve(X("about scheme is not supported"));case"blob:":{Tg||(Tg=require("buffer").resolveObjectURL);let r=Ve(e);if(r.search.length!==0)return Promise.resolve(X("NetworkError when attempting to fetch resource."));let s=Tg(r.toString());if(e.method!=="GET"||!c2(s))return Promise.resolve(X("invalid method"));let i=gn(s),n=i[0],o=Jg(`${n.length}`),a=i[1]??"",g=an({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:o}],["content-type",{name:"Content-Type",value:a}]]});return g.body=n,Promise.resolve(g)}case"data:":{let r=Ve(e),s=D2(r);if(s==="failure")return Promise.resolve(X("failed to fetch the data URL"));let i=R2(s.mimeType);return Promise.resolve(an({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:gn(s.body)[0]}))}case"file:":return Promise.resolve(X("not implemented... yet..."));case"http:":case"https:":return LI(A).catch(r=>X(r));default:return Promise.resolve(X("unknown scheme"))}}function x2(A,e){A.request.done=!0,A.processResponseDone!=null&&queueMicrotask(()=>A.processResponseDone(e))}function Yg(A,e){e.type==="error"&&(e.urlList=[A.request.urlList[0]],e.timingInfo=Hg({startTime:A.timingInfo.startTime}));let t=()=>{A.request.done=!0,A.processResponseEndOfBody!=null&&queueMicrotask(()=>A.processResponseEndOfBody(e))};if(A.processResponse!=null&&queueMicrotask(()=>A.processResponse(e)),e.body==null)t();else{let r=(i,n)=>{n.enqueue(i)},s=new b2({start(){},transform:r,flush:t},{size(){return 1}},{size(){return 1}});e.body={stream:e.body.stream.pipeThrough(s)}}if(A.processResponseConsumeBody!=null){let r=i=>A.processResponseConsumeBody(e,i),s=i=>A.processResponseConsumeBody(e,i);if(e.body==null)queueMicrotask(()=>r(null));else return bI(e.body,r,s);return Promise.resolve()}}async function LI(A){let e=A.request,t=null,r=null,s=A.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=t=await xI(A),e.responseTainting==="cors"&&n2(e,t)==="failure")return X("cors failure");A2(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&o2(e.origin,e.client,e.destination,r)==="blocked"?X("blocked"):(kI.has(r.status)&&(e.redirect!=="manual"&&A.controller.connection.destroy(),e.redirect==="error"?t=X("unexpected redirect"):e.redirect==="manual"?t=r:e.redirect==="follow"?t=await M2(A,t):Sr(!1)),t.timingInfo=s,t)}function M2(A,e){let t=A.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=t2(r,Ve(t).hash),s==null)return e}catch(n){return Promise.resolve(X(n))}if(!Wg(s))return Promise.resolve(X("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(X("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!Gg(t,s))return Promise.resolve(X('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(X('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(X());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!S2.includes(t.method)){t.method="GET",t.body=null;for(let n of l2)t.headersList.delete(n)}Gg(Ve(t),s)||(t.headersList.delete("authorization"),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie"),t.headersList.delete("host")),t.body!=null&&(Sr(t.body.source!=null),t.body=gn(t.body.source)[0]);let i=A.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Og(A.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(s),r2(t,r),UI(A,!0)}async function xI(A,e=!1,t=!1){let r=A.request,s=null,i=null,n=null,o=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=A,i=r):(i=Xk(r),s={...A},s.request=i);let g=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",c=i.body?i.body.length:null,E=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(E="0"),c!=null&&(E=Jg(`${c}`)),E!=null&&i.headersList.append("content-length",E),c!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",Jg(i.referrer.href)),e2(i),i2(i),i.headersList.contains("user-agent")||i.headersList.append("user-agent",typeof esbuildDetection>"u"?"undici":"node"),i.cache==="default"&&(i.headersList.contains("if-modified-since")||i.headersList.contains("if-none-match")||i.headersList.contains("if-unmodified-since")||i.headersList.contains("if-match")||i.headersList.contains("if-range"))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control")&&i.headersList.append("cache-control","max-age=0"),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma")||i.headersList.append("pragma","no-cache"),i.headersList.contains("cache-control")||i.headersList.append("cache-control","no-cache")),i.headersList.contains("range")&&i.headersList.append("accept-encoding","identity"),i.headersList.contains("accept-encoding")||(B2(Ve(i))?i.headersList.append("accept-encoding","br, gzip, deflate"):i.headersList.append("accept-encoding","gzip, deflate")),i.headersList.delete("host"),o==null&&(i.cache="no-store"),i.mode!=="no-store"&&i.mode,n==null){if(i.mode==="only-if-cached")return X("only if cached");let Q=await T2(s,g,t);!I2.has(i.method)&&Q.status>=200&&Q.status<=399,a&&Q.status,n==null&&(n=Q)}if(n.urlList=[...i.urlList],i.headersList.contains("range")&&(n.rangeRequested=!0),n.requestIncludesCredentials=g,n.status===407)return r.window==="no-window"?X():Fr(A)?on(A):X("proxy authentication required");if(n.status===421&&!t&&(r.body==null||r.body.source!=null)){if(Fr(A))return on(A);A.controller.connection.destroy(),n=await xI(A,e,!0)}return n}async function T2(A,e=!1,t=!1){Sr(!A.controller.connection||A.controller.connection.destroyed),A.controller.connection={abort:null,destroyed:!1,destroy(h){this.destroyed||(this.destroyed=!0,this.abort?.(h??new cn("The operation was aborted.","AbortError")))}};let r=A.request,s=null,i=A.timingInfo;null==null&&(r.cache="no-store");let o=t?"yes":"no";r.mode;let a=null;if(r.body==null&&A.processRequestEndOfBody)queueMicrotask(()=>A.processRequestEndOfBody());else if(r.body!=null){let h=async function*(d){Fr(A)||(yield d,A.processRequestBodyChunkLength?.(d.byteLength))},u=()=>{Fr(A)||A.processRequestEndOfBody&&A.processRequestEndOfBody()},I=d=>{Fr(A)||(d.name==="AbortError"?A.controller.abort():A.controller.terminate(d))};a=(async function*(){try{for await(let d of r.body.stream)yield*h(d);u()}catch(d){I(d)}})()}try{let{body:h,status:u,statusText:I,headersList:d,socket:R}=await C({body:a});if(R)s=an({status:u,statusText:I,headersList:d,socket:R});else{let U=h[Symbol.asyncIterator]();A.controller.next=()=>U.next(),s=an({status:u,statusText:I,headersList:d})}}catch(h){return h.name==="AbortError"?(A.controller.connection.destroy(),on(A,h)):X(h)}let g=()=>{A.controller.resume()},c=h=>{A.controller.abort(h)};qg||(qg=require("stream/web").ReadableStream);let E=new qg({async start(h){A.controller.controller=h},async pull(h){await g(h)},async cancel(h){await c(h)}},{highWaterMark:0,size(){return 1}});s.body={stream:E},A.controller.on("terminated",Q),A.controller.resume=async()=>{for(;;){let h,u;try{let{done:I,value:d}=await A.controller.next();if(yI(A))break;h=I?void 0:d}catch(I){A.controller.ended&&!i.encodedBodySize?h=void 0:(h=I,u=!0)}if(h===void 0){Q2(A.controller.controller),x2(A,s);return}if(i.decodedBodySize+=h?.byteLength??0,u){A.controller.terminate(h);return}if(A.controller.controller.enqueue(new Uint8Array(h)),y2(E)){A.controller.terminate();return}if(!A.controller.controller.desiredSize)return}};function Q(h){yI(A)?(s.aborted=!0,En(E)&&A.controller.controller.error(A.controller.serializedAbortReason)):En(E)&&A.controller.controller.error(new TypeError("terminated",{cause:E2(h)?h:void 0})),A.controller.connection.destroy()}return s;async function C({body:h}){let u=Ve(r),I=A.controller.dispatcher;return new Promise((d,R)=>I.dispatch({path:u.pathname+u.search,origin:u.origin,method:r.method,body:A.controller.dispatcher.isMockActive?r.body&&(r.body.source||r.body.stream):h,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(U){let{connection:v}=A.controller;v.destroyed?U(new cn("The operation was aborted.","AbortError")):(A.controller.on("terminated",U),this.abort=v.abort=U)},onHeaders(U,v,yA,uA){if(U<200)return;let BA=[],wA="",Ee=new pI;if(Array.isArray(v))for(let V=0;Vgt.trim()):iA.toLowerCase()==="location"&&(wA=GA),Ee[Nr].append(iA,GA)}else{let V=Object.keys(v);for(let iA of V){let GA=v[iA];iA.toLowerCase()==="content-encoding"?BA=GA.toLowerCase().split(",").map(gt=>gt.trim()).reverse():iA.toLowerCase()==="location"&&(wA=GA),Ee[Nr].append(iA,GA)}}this.body=new f2({read:yA});let zA=[],$A=r.redirect==="follow"&&wA&&kI.has(U);if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!NI.includes(U)&&!$A)for(let V of BA)if(V==="x-gzip"||V==="gzip")zA.push(ws.createGunzip({flush:ws.constants.Z_SYNC_FLUSH,finishFlush:ws.constants.Z_SYNC_FLUSH}));else if(V==="deflate")zA.push(ws.createInflate());else if(V==="br")zA.push(ws.createBrotliDecompress());else{zA.length=0;break}return d({status:U,statusText:uA,headersList:Ee[Nr],body:zA.length?m2(this.body,...zA,()=>{}):this.body.on("error",()=>{})}),!0},onData(U){if(A.controller.dump)return;let v=U;return i.encodedBodySize+=v.byteLength,this.body.push(v)},onComplete(){this.abort&&A.controller.off("terminated",this.abort),A.controller.ended=!0,this.body.push(null)},onError(U){this.abort&&A.controller.off("terminated",this.abort),this.body?.destroy(U),A.controller.terminate(U),R(U)},onUpgrade(U,v,yA){if(U!==101)return;let uA=new pI;for(let BA=0;BA{"use strict";TI.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")}});var vI=B((HT,qI)=>{"use strict";var{webidl:ge}=SA(),Bn=Symbol("ProgressEvent state"),_g=class A extends Event{constructor(e,t={}){e=ge.converters.DOMString(e),t=ge.converters.ProgressEventInit(t??{}),super(e,t),this[Bn]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return ge.brandCheck(this,A),this[Bn].lengthComputable}get loaded(){return ge.brandCheck(this,A),this[Bn].loaded}get total(){return ge.brandCheck(this,A),this[Bn].total}};ge.converters.ProgressEventInit=ge.dictionaryConverter([{key:"lengthComputable",converter:ge.converters.boolean,defaultValue:!1},{key:"loaded",converter:ge.converters["unsigned long long"],defaultValue:0},{key:"total",converter:ge.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:ge.converters.boolean,defaultValue:!1},{key:"cancelable",converter:ge.converters.boolean,defaultValue:!1},{key:"composed",converter:ge.converters.boolean,defaultValue:!1}]);qI.exports={ProgressEvent:_g}});var GI=B((OT,YI)=>{"use strict";function q2(A){if(!A)return"failure";switch(A.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"}}YI.exports={getEncoding:q2}});var jI=B((WT,_I)=>{"use strict";var{kState:Ur,kError:jg,kResult:JI,kAborted:Ds,kLastProgressEventFired:Xg}=Pg(),{ProgressEvent:v2}=vI(),{getEncoding:VI}=GI(),{DOMException:Y2}=Ct(),{serializeAMimeType:G2,parseMIMEType:HI}=De(),{types:J2}=require("util"),{StringDecoder:OI}=require("string_decoder"),{btoa:WI}=require("buffer"),V2={enumerable:!0,writable:!1,configurable:!1};function H2(A,e,t,r){if(A[Ur]==="loading")throw new Y2("Invalid state","InvalidStateError");A[Ur]="loading",A[JI]=null,A[jg]=null;let i=e.stream().getReader(),n=[],o=i.read(),a=!0;(async()=>{for(;!A[Ds];)try{let{done:g,value:c}=await o;if(a&&!A[Ds]&&queueMicrotask(()=>{mt("loadstart",A)}),a=!1,!g&&J2.isUint8Array(c))n.push(c),(A[Xg]===void 0||Date.now()-A[Xg]>=50)&&!A[Ds]&&(A[Xg]=Date.now(),queueMicrotask(()=>{mt("progress",A)})),o=i.read();else if(g){queueMicrotask(()=>{A[Ur]="done";try{let E=O2(n,t,e.type,r);if(A[Ds])return;A[JI]=E,mt("load",A)}catch(E){A[jg]=E,mt("error",A)}A[Ur]!=="loading"&&mt("loadend",A)});break}}catch(g){if(A[Ds])return;queueMicrotask(()=>{A[Ur]="done",A[jg]=g,mt("error",A),A[Ur]!=="loading"&&mt("loadend",A)});break}})()}function mt(A,e){let t=new v2(A,{bubbles:!1,cancelable:!1});e.dispatchEvent(t)}function O2(A,e,t,r){switch(e){case"DataURL":{let s="data:",i=HI(t||"application/octet-stream");i!=="failure"&&(s+=G2(i)),s+=";base64,";let n=new OI("latin1");for(let o of A)s+=WI(n.write(o));return s+=WI(n.end()),s}case"Text":{let s="failure";if(r&&(s=VI(r)),s==="failure"&&t){let i=HI(t);i!=="failure"&&(s=VI(i.parameters.get("charset")))}return s==="failure"&&(s="UTF-8"),W2(A,s)}case"ArrayBuffer":return PI(A).buffer;case"BinaryString":{let s="",i=new OI("latin1");for(let n of A)s+=i.write(n);return s+=i.end(),s}}}function W2(A,e){let t=PI(A),r=P2(t),s=0;r!==null&&(e=r,s=r==="UTF-8"?3:2);let i=t.slice(s);return new TextDecoder(e).decode(i)}function P2(A){let[e,t,r]=A;return e===239&&t===187&&r===191?"UTF-8":e===254&&t===255?"UTF-16BE":e===255&&t===254?"UTF-16LE":null}function PI(A){let e=A.reduce((r,s)=>r+s.byteLength,0),t=0;return A.reduce((r,s)=>(r.set(s,t),t+=s.byteLength,r),new Uint8Array(e))}_I.exports={staticPropertyDescriptors:V2,readOperation:H2,fireAProgressEvent:mt}});var zI=B((PT,KI)=>{"use strict";var{staticPropertyDescriptors:Lr,readOperation:hn,fireAProgressEvent:XI}=jI(),{kState:Vt,kError:ZI,kResult:In,kEvents:H,kAborted:_2}=Pg(),{webidl:_}=SA(),{kEnumerableProperty:WA}=G(),Ne=class A extends EventTarget{constructor(){super(),this[Vt]="empty",this[In]=null,this[ZI]=null,this[H]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"ArrayBuffer")}readAsBinaryString(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"BinaryString")}readAsText(e,t=void 0){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"}),e=_.converters.Blob(e,{strict:!1}),t!==void 0&&(t=_.converters.DOMString(t)),hn(this,e,"Text",t)}readAsDataURL(e){_.brandCheck(this,A),_.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"}),e=_.converters.Blob(e,{strict:!1}),hn(this,e,"DataURL")}abort(){if(this[Vt]==="empty"||this[Vt]==="done"){this[In]=null;return}this[Vt]==="loading"&&(this[Vt]="done",this[In]=null),this[_2]=!0,XI("abort",this),this[Vt]!=="loading"&&XI("loadend",this)}get readyState(){switch(_.brandCheck(this,A),this[Vt]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return _.brandCheck(this,A),this[In]}get error(){return _.brandCheck(this,A),this[ZI]}get onloadend(){return _.brandCheck(this,A),this[H].loadend}set onloadend(e){_.brandCheck(this,A),this[H].loadend&&this.removeEventListener("loadend",this[H].loadend),typeof e=="function"?(this[H].loadend=e,this.addEventListener("loadend",e)):this[H].loadend=null}get onerror(){return _.brandCheck(this,A),this[H].error}set onerror(e){_.brandCheck(this,A),this[H].error&&this.removeEventListener("error",this[H].error),typeof e=="function"?(this[H].error=e,this.addEventListener("error",e)):this[H].error=null}get onloadstart(){return _.brandCheck(this,A),this[H].loadstart}set onloadstart(e){_.brandCheck(this,A),this[H].loadstart&&this.removeEventListener("loadstart",this[H].loadstart),typeof e=="function"?(this[H].loadstart=e,this.addEventListener("loadstart",e)):this[H].loadstart=null}get onprogress(){return _.brandCheck(this,A),this[H].progress}set onprogress(e){_.brandCheck(this,A),this[H].progress&&this.removeEventListener("progress",this[H].progress),typeof e=="function"?(this[H].progress=e,this.addEventListener("progress",e)):this[H].progress=null}get onload(){return _.brandCheck(this,A),this[H].load}set onload(e){_.brandCheck(this,A),this[H].load&&this.removeEventListener("load",this[H].load),typeof e=="function"?(this[H].load=e,this.addEventListener("load",e)):this[H].load=null}get onabort(){return _.brandCheck(this,A),this[H].abort}set onabort(e){_.brandCheck(this,A),this[H].abort&&this.removeEventListener("abort",this[H].abort),typeof e=="function"?(this[H].abort=e,this.addEventListener("abort",e)):this[H].abort=null}};Ne.EMPTY=Ne.prototype.EMPTY=0;Ne.LOADING=Ne.prototype.LOADING=1;Ne.DONE=Ne.prototype.DONE=2;Object.defineProperties(Ne.prototype,{EMPTY:Lr,LOADING:Lr,DONE:Lr,readAsArrayBuffer:WA,readAsBinaryString:WA,readAsText:WA,readAsDataURL:WA,abort:WA,readyState:WA,result:WA,error:WA,onloadstart:WA,onprogress:WA,onload:WA,onabort:WA,onerror:WA,onloadend:WA,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ne,{EMPTY:Lr,LOADING:Lr,DONE:Lr});KI.exports={FileReader:Ne}});var ln=B((_T,$I)=>{"use strict";$I.exports={kConstruct:z().kConstruct}});var tl=B((jT,el)=>{"use strict";var j2=require("assert"),{URLSerializer:Al}=De(),{isValidHeaderName:X2}=Be();function Z2(A,e,t=!1){let r=Al(A,t),s=Al(e,t);return r===s}function K2(A){j2(A!==null);let e=[];for(let t of A.split(",")){if(t=t.trim(),t.length){if(!X2(t))continue}else continue;e.push(t)}return e}el.exports={urlEquals:Z2,fieldValues:K2}});var al=B((XT,ol)=>{"use strict";var{kConstruct:z2}=ln(),{urlEquals:$2,fieldValues:Zg}=tl(),{kEnumerableProperty:Ht,isDisturbed:AN}=G(),{kHeadersList:rl}=z(),{webidl:N}=SA(),{Response:il,cloneResponse:eN}=An(),{Request:He}=ys(),{kState:TA,kHeaders:un,kGuard:sl,kRealm:tN}=Ke(),{fetching:rN}=Cn(),{urlIsHttpHttpsScheme:dn,createDeferredPromise:xr,readAllBytes:sN}=Be(),Kg=require("assert"),{getGlobalDispatcher:iN}=wr(),fn=class A{#A;constructor(){arguments[0]!==z2&&N.illegalConstructor(),this.#A=arguments[1]}async match(e,t={}){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.match"}),e=N.converters.RequestInfo(e),t=N.converters.CacheQueryOptions(t);let r=await this.matchAll(e,t);if(r.length!==0)return r[0]}async matchAll(e=void 0,t={}){N.brandCheck(this,A),e!==void 0&&(e=N.converters.RequestInfo(e)),t=N.converters.CacheQueryOptions(t);let r=null;if(e!==void 0)if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(r=new He(e)[TA]);let s=[];if(e===void 0)for(let n of this.#A)s.push(n[1]);else{let n=this.#r(r,t);for(let o of n)s.push(o[1])}let i=[];for(let n of s){let o=new il(n.body?.source??null),a=o[TA].body;o[TA]=n,o[TA].body=a,o[un][rl]=n.headersList,o[un][sl]="immutable",i.push(o)}return Object.freeze(i)}async add(e){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.add"}),e=N.converters.RequestInfo(e);let t=[e];return await this.addAll(t)}async addAll(e){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.addAll"}),e=N.converters["sequence"](e);let t=[],r=[];for(let E of e){if(typeof E=="string")continue;let Q=E[TA];if(!dn(Q.url)||Q.method!=="GET")throw N.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}let s=[];for(let E of e){let Q=new He(E)[TA];if(!dn(Q.url))throw N.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."});Q.initiator="fetch",Q.destination="subresource",r.push(Q);let C=xr();s.push(rN({request:Q,dispatcher:iN(),processResponse(h){if(h.type==="error"||h.status===206||h.status<200||h.status>299)C.reject(N.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(h.headersList.contains("vary")){let u=Zg(h.headersList.get("vary"));for(let I of u)if(I==="*"){C.reject(N.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let d of s)d.abort();return}}},processResponseEndOfBody(h){if(h.aborted){C.reject(new DOMException("aborted","AbortError"));return}C.resolve(h)}})),t.push(C.promise)}let n=await Promise.all(t),o=[],a=0;for(let E of n){let Q={type:"put",request:r[a],response:E};o.push(Q),a++}let g=xr(),c=null;try{this.#t(o)}catch(E){c=E}return queueMicrotask(()=>{c===null?g.resolve(void 0):g.reject(c)}),g.promise}async put(e,t){N.brandCheck(this,A),N.argumentLengthCheck(arguments,2,{header:"Cache.put"}),e=N.converters.RequestInfo(e),t=N.converters.Response(t);let r=null;if(e instanceof He?r=e[TA]:r=new He(e)[TA],!dn(r.url)||r.method!=="GET")throw N.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"});let s=t[TA];if(s.status===206)throw N.errors.exception({header:"Cache.put",message:"Got 206 status"});if(s.headersList.contains("vary")){let Q=Zg(s.headersList.get("vary"));for(let C of Q)if(C==="*")throw N.errors.exception({header:"Cache.put",message:"Got * vary field value"})}if(s.body&&(AN(s.body.stream)||s.body.stream.locked))throw N.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"});let i=eN(s),n=xr();if(s.body!=null){let C=s.body.stream.getReader();sN(C).then(n.resolve,n.reject)}else n.resolve(void 0);let o=[],a={type:"put",request:r,response:i};o.push(a);let g=await n.promise;i.body!=null&&(i.body.source=g);let c=xr(),E=null;try{this.#t(o)}catch(Q){E=Q}return queueMicrotask(()=>{E===null?c.resolve():c.reject(E)}),c.promise}async delete(e,t={}){N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,{header:"Cache.delete"}),e=N.converters.RequestInfo(e),t=N.converters.CacheQueryOptions(t);let r=null;if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return!1}else Kg(typeof e=="string"),r=new He(e)[TA];let s=[],i={type:"delete",request:r,options:t};s.push(i);let n=xr(),o=null,a;try{a=this.#t(s)}catch(g){o=g}return queueMicrotask(()=>{o===null?n.resolve(!!a?.length):n.reject(o)}),n.promise}async keys(e=void 0,t={}){N.brandCheck(this,A),e!==void 0&&(e=N.converters.RequestInfo(e)),t=N.converters.CacheQueryOptions(t);let r=null;if(e!==void 0)if(e instanceof He){if(r=e[TA],r.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(r=new He(e)[TA]);let s=xr(),i=[];if(e===void 0)for(let n of this.#A)i.push(n[0]);else{let n=this.#r(r,t);for(let o of n)i.push(o[0])}return queueMicrotask(()=>{let n=[];for(let o of i){let a=new He("https://a");a[TA]=o,a[un][rl]=o.headersList,a[un][sl]="immutable",a[tN]=o.client,n.push(a)}s.resolve(Object.freeze(n))}),s.promise}#t(e){let t=this.#A,r=[...t],s=[],i=[];try{for(let n of e){if(n.type!=="delete"&&n.type!=="put")throw N.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(n.type==="delete"&&n.response!=null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#r(n.request,n.options,s).length)throw new DOMException("???","InvalidStateError");let o;if(n.type==="delete"){if(o=this.#r(n.request,n.options),o.length===0)return[];for(let a of o){let g=t.indexOf(a);Kg(g!==-1),t.splice(g,1)}}else if(n.type==="put"){if(n.response==null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=n.request;if(!dn(a.url))throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(n.options!=null)throw N.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});o=this.#r(n.request);for(let g of o){let c=t.indexOf(g);Kg(c!==-1),t.splice(c,1)}t.push([n.request,n.response]),s.push([n.request,n.response])}i.push([n.request,n.response])}return i}catch(n){throw this.#A.length=0,this.#A=r,n}}#r(e,t,r){let s=[],i=r??this.#A;for(let n of i){let[o,a]=n;this.#e(e,o,a,t)&&s.push(n)}return s}#e(e,t,r=null,s){let i=new URL(e.url),n=new URL(t.url);if(s?.ignoreSearch&&(n.search="",i.search=""),!$2(i,n,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let o=Zg(r.headersList.get("vary"));for(let a of o){if(a==="*")return!1;let g=t.headersList.get(a),c=e.headersList.get(a);if(g!==c)return!1}return!0}};Object.defineProperties(fn.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Ht,matchAll:Ht,add:Ht,addAll:Ht,put:Ht,delete:Ht,keys:Ht});var nl=[{key:"ignoreSearch",converter:N.converters.boolean,defaultValue:!1},{key:"ignoreMethod",converter:N.converters.boolean,defaultValue:!1},{key:"ignoreVary",converter:N.converters.boolean,defaultValue:!1}];N.converters.CacheQueryOptions=N.dictionaryConverter(nl);N.converters.MultiCacheQueryOptions=N.dictionaryConverter([...nl,{key:"cacheName",converter:N.converters.DOMString}]);N.converters.Response=N.interfaceConverter(il);N.converters["sequence"]=N.sequenceConverter(N.converters.RequestInfo);ol.exports={Cache:fn}});var cl=B((ZT,gl)=>{"use strict";var{kConstruct:Rs}=ln(),{Cache:mn}=al(),{webidl:qA}=SA(),{kEnumerableProperty:bs}=G(),pn=class A{#A=new Map;constructor(){arguments[0]!==Rs&&qA.illegalConstructor()}async match(e,t={}){if(qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"}),e=qA.converters.RequestInfo(e),t=qA.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#A.has(t.cacheName)){let r=this.#A.get(t.cacheName);return await new mn(Rs,r).match(e,t)}}else for(let r of this.#A.values()){let i=await new mn(Rs,r).match(e,t);if(i!==void 0)return i}}async has(e){return qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"}),e=qA.converters.DOMString(e),this.#A.has(e)}async open(e){if(qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"}),e=qA.converters.DOMString(e),this.#A.has(e)){let r=this.#A.get(e);return new mn(Rs,r)}let t=[];return this.#A.set(e,t),new mn(Rs,t)}async delete(e){return qA.brandCheck(this,A),qA.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"}),e=qA.converters.DOMString(e),this.#A.delete(e)}async keys(){return qA.brandCheck(this,A),[...this.#A.keys()]}};Object.defineProperties(pn.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:bs,has:bs,open:bs,delete:bs,keys:bs});gl.exports={CacheStorage:pn}});var Ql=B((KT,El)=>{"use strict";El.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var zg=B((zT,ll)=>{"use strict";function nN(A){if(A.length===0)return!1;for(let e of A){let t=e.charCodeAt(0);if(t>=0||t<=8||t>=10||t<=31||t===127)return!1}}function Cl(A){for(let e of A){let t=e.charCodeAt(0);if(t<=32||t>127||e==="("||e===")"||e===">"||e==="<"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}")throw new Error("Invalid cookie name")}}function Bl(A){for(let e of A){let t=e.charCodeAt(0);if(t<33||t===34||t===44||t===59||t===92||t>126)throw new Error("Invalid header value")}}function hl(A){for(let e of A)if(e.charCodeAt(0)<33||e===";")throw new Error("Invalid cookie path")}function oN(A){if(A.startsWith("-")||A.endsWith(".")||A.endsWith("-"))throw new Error("Invalid cookie domain")}function Il(A){typeof A=="number"&&(A=new Date(A));let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=e[A.getUTCDay()],s=A.getUTCDate().toString().padStart(2,"0"),i=t[A.getUTCMonth()],n=A.getUTCFullYear(),o=A.getUTCHours().toString().padStart(2,"0"),a=A.getUTCMinutes().toString().padStart(2,"0"),g=A.getUTCSeconds().toString().padStart(2,"0");return`${r}, ${s} ${i} ${n} ${o}:${a}:${g} GMT`}function aN(A){if(A<0)throw new Error("Invalid cookie max-age")}function gN(A){if(A.name.length===0)return null;Cl(A.name),Bl(A.value);let e=[`${A.name}=${A.value}`];A.name.startsWith("__Secure-")&&(A.secure=!0),A.name.startsWith("__Host-")&&(A.secure=!0,A.domain=null,A.path="/"),A.secure&&e.push("Secure"),A.httpOnly&&e.push("HttpOnly"),typeof A.maxAge=="number"&&(aN(A.maxAge),e.push(`Max-Age=${A.maxAge}`)),A.domain&&(oN(A.domain),e.push(`Domain=${A.domain}`)),A.path&&(hl(A.path),e.push(`Path=${A.path}`)),A.expires&&A.expires.toString()!=="Invalid Date"&&e.push(`Expires=${Il(A.expires)}`),A.sameSite&&e.push(`SameSite=${A.sameSite}`);for(let t of A.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");e.push(`${r.trim()}=${s.join("=")}`)}return e.join("; ")}ll.exports={isCTLExcludingHtab:nN,validateCookieName:Cl,validateCookiePath:hl,validateCookieValue:Bl,toIMFDate:Il,stringify:gN}});var dl=B(($T,ul)=>{"use strict";var{maxNameValuePairSize:cN,maxAttributeValueSize:EN}=Ql(),{isCTLExcludingHtab:QN}=zg(),{collectASequenceOfCodePointsFast:yn}=De(),CN=require("assert");function BN(A){if(QN(A))return null;let e="",t="",r="",s="";if(A.includes(";")){let i={position:0};e=yn(";",A,i),t=A.slice(i.position)}else e=A;if(!e.includes("="))s=e;else{let i={position:0};r=yn("=",e,i),s=e.slice(i.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>cN?null:{name:r,value:s,...Mr(t)}}function Mr(A,e={}){if(A.length===0)return e;CN(A[0]===";"),A=A.slice(1);let t="";A.includes(";")?(t=yn(";",A,{position:0}),A=A.slice(t.length)):(t=A,A="");let r="",s="";if(t.includes("=")){let n={position:0};r=yn("=",t,n),s=t.slice(n.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>EN)return Mr(A,e);let i=r.toLowerCase();if(i==="expires"){let n=new Date(s);e.expires=n}else if(i==="max-age"){let n=s.charCodeAt(0);if((n<48||n>57)&&s[0]!=="-"||!/^\d+$/.test(s))return Mr(A,e);let o=Number(s);e.maxAge=o}else if(i==="domain"){let n=s;n[0]==="."&&(n=n.slice(1)),n=n.toLowerCase(),e.domain=n}else if(i==="path"){let n="";s.length===0||s[0]!=="/"?n="/":n=s,e.path=n}else if(i==="secure")e.secure=!0;else if(i==="httponly")e.httpOnly=!0;else if(i==="samesite"){let n="Default",o=s.toLowerCase();o.includes("none")&&(n="None"),o.includes("strict")&&(n="Strict"),o.includes("lax")&&(n="Lax"),e.sameSite=n}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return Mr(A,e)}ul.exports={parseSetCookie:BN,parseUnparsedAttributes:Mr}});var yl=B((A1,pl)=>{"use strict";var{parseSetCookie:hN}=dl(),{stringify:fl}=zg(),{webidl:Y}=SA(),{Headers:wn}=Gt();function IN(A){Y.argumentLengthCheck(arguments,1,{header:"getCookies"}),Y.brandCheck(A,wn,{strict:!1});let e=A.get("cookie"),t={};if(!e)return t;for(let r of e.split(";")){let[s,...i]=r.split("=");t[s.trim()]=i.join("=")}return t}function lN(A,e,t){Y.argumentLengthCheck(arguments,2,{header:"deleteCookie"}),Y.brandCheck(A,wn,{strict:!1}),e=Y.converters.DOMString(e),t=Y.converters.DeleteCookieAttributes(t),ml(A,{name:e,value:"",expires:new Date(0),...t})}function uN(A){Y.argumentLengthCheck(arguments,1,{header:"getSetCookies"}),Y.brandCheck(A,wn,{strict:!1});let e=A.getSetCookie();return e?e.map(t=>hN(t)):[]}function ml(A,e){Y.argumentLengthCheck(arguments,2,{header:"setCookie"}),Y.brandCheck(A,wn,{strict:!1}),e=Y.converters.Cookie(e),fl(e)&&A.append("Set-Cookie",fl(e))}Y.converters.DeleteCookieAttributes=Y.dictionaryConverter([{converter:Y.nullableConverter(Y.converters.DOMString),key:"path",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"domain",defaultValue:null}]);Y.converters.Cookie=Y.dictionaryConverter([{converter:Y.converters.DOMString,key:"name"},{converter:Y.converters.DOMString,key:"value"},{converter:Y.nullableConverter(A=>typeof A=="number"?Y.converters["unsigned long long"](A):new Date(A)),key:"expires",defaultValue:null},{converter:Y.nullableConverter(Y.converters["long long"]),key:"maxAge",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"domain",defaultValue:null},{converter:Y.nullableConverter(Y.converters.DOMString),key:"path",defaultValue:null},{converter:Y.nullableConverter(Y.converters.boolean),key:"secure",defaultValue:null},{converter:Y.nullableConverter(Y.converters.boolean),key:"httpOnly",defaultValue:null},{converter:Y.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:Y.sequenceConverter(Y.converters.DOMString),key:"unparsed",defaultValue:[]}]);pl.exports={getCookies:IN,deleteCookie:lN,getSetCookies:uN,setCookie:ml}});var Tr=B((e1,wl)=>{"use strict";var dN="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",fN={enumerable:!0,writable:!1,configurable:!1},mN={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},pN={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},yN=2**16-1,wN={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},DN=Buffer.allocUnsafe(0);wl.exports={uid:dN,staticPropertyDescriptors:fN,states:mN,opcodes:pN,maxUnsigned16Bit:yN,parserStates:wN,emptyBuffer:DN}});var ks=B((t1,Dl)=>{"use strict";Dl.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")}});var Ac=B((r1,Rl)=>{"use strict";var{webidl:F}=SA(),{kEnumerableProperty:PA}=G(),{MessagePort:RN}=require("worker_threads"),Dn=class A extends Event{#A;constructor(e,t={}){F.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"}),e=F.converters.DOMString(e),t=F.converters.MessageEventInit(t),super(e,t),this.#A=t}get data(){return F.brandCheck(this,A),this.#A.data}get origin(){return F.brandCheck(this,A),this.#A.origin}get lastEventId(){return F.brandCheck(this,A),this.#A.lastEventId}get source(){return F.brandCheck(this,A),this.#A.source}get ports(){return F.brandCheck(this,A),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(e,t=!1,r=!1,s=null,i="",n="",o=null,a=[]){return F.brandCheck(this,A),F.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"}),new A(e,{bubbles:t,cancelable:r,data:s,origin:i,lastEventId:n,source:o,ports:a})}},Rn=class A extends Event{#A;constructor(e,t={}){F.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"}),e=F.converters.DOMString(e),t=F.converters.CloseEventInit(t),super(e,t),this.#A=t}get wasClean(){return F.brandCheck(this,A),this.#A.wasClean}get code(){return F.brandCheck(this,A),this.#A.code}get reason(){return F.brandCheck(this,A),this.#A.reason}},bn=class A extends Event{#A;constructor(e,t){F.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"}),super(e,t),e=F.converters.DOMString(e),t=F.converters.ErrorEventInit(t??{}),this.#A=t}get message(){return F.brandCheck(this,A),this.#A.message}get filename(){return F.brandCheck(this,A),this.#A.filename}get lineno(){return F.brandCheck(this,A),this.#A.lineno}get colno(){return F.brandCheck(this,A),this.#A.colno}get error(){return F.brandCheck(this,A),this.#A.error}};Object.defineProperties(Dn.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:PA,origin:PA,lastEventId:PA,source:PA,ports:PA,initMessageEvent:PA});Object.defineProperties(Rn.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:PA,code:PA,wasClean:PA});Object.defineProperties(bn.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:PA,filename:PA,lineno:PA,colno:PA,error:PA});F.converters.MessagePort=F.interfaceConverter(RN);F.converters["sequence"]=F.sequenceConverter(F.converters.MessagePort);var $g=[{key:"bubbles",converter:F.converters.boolean,defaultValue:!1},{key:"cancelable",converter:F.converters.boolean,defaultValue:!1},{key:"composed",converter:F.converters.boolean,defaultValue:!1}];F.converters.MessageEventInit=F.dictionaryConverter([...$g,{key:"data",converter:F.converters.any,defaultValue:null},{key:"origin",converter:F.converters.USVString,defaultValue:""},{key:"lastEventId",converter:F.converters.DOMString,defaultValue:""},{key:"source",converter:F.nullableConverter(F.converters.MessagePort),defaultValue:null},{key:"ports",converter:F.converters["sequence"],get defaultValue(){return[]}}]);F.converters.CloseEventInit=F.dictionaryConverter([...$g,{key:"wasClean",converter:F.converters.boolean,defaultValue:!1},{key:"code",converter:F.converters["unsigned short"],defaultValue:0},{key:"reason",converter:F.converters.USVString,defaultValue:""}]);F.converters.ErrorEventInit=F.dictionaryConverter([...$g,{key:"message",converter:F.converters.DOMString,defaultValue:""},{key:"filename",converter:F.converters.USVString,defaultValue:""},{key:"lineno",converter:F.converters["unsigned long"],defaultValue:0},{key:"colno",converter:F.converters["unsigned long"],defaultValue:0},{key:"error",converter:F.converters.any}]);Rl.exports={MessageEvent:Dn,CloseEvent:Rn,ErrorEvent:bn}});var Fn=B((s1,Nl)=>{"use strict";var{kReadyState:kn,kController:bN,kResponse:kN,kBinaryType:NN,kWebSocketURL:FN}=ks(),{states:Nn,opcodes:bl}=Tr(),{MessageEvent:SN,ErrorEvent:UN}=Ac();function LN(A){return A[kn]===Nn.OPEN}function xN(A){return A[kn]===Nn.CLOSING}function MN(A){return A[kn]===Nn.CLOSED}function ec(A,e,t=Event,r){let s=new t(A,r);e.dispatchEvent(s)}function TN(A,e,t){if(A[kn]!==Nn.OPEN)return;let r;if(e===bl.TEXT)try{r=new TextDecoder("utf-8",{fatal:!0}).decode(t)}catch{kl(A,"Received invalid UTF-8 in text frame.");return}else e===bl.BINARY&&(A[NN]==="blob"?r=new Blob([t]):r=new Uint8Array(t).buffer);ec("message",A,SN,{origin:A[FN].origin,data:r})}function qN(A){if(A.length===0)return!1;for(let e of A){let t=e.charCodeAt(0);if(t<33||t>126||e==="("||e===")"||e==="<"||e===">"||e==="@"||e===","||e===";"||e===":"||e==="\\"||e==='"'||e==="/"||e==="["||e==="]"||e==="?"||e==="="||e==="{"||e==="}"||t===32||t===9)return!1}return!0}function vN(A){return A>=1e3&&A<1015?A!==1004&&A!==1005&&A!==1006:A>=3e3&&A<=4999}function kl(A,e){let{[bN]:t,[kN]:r}=A;t.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),e&&ec("error",A,UN,{error:new Error(e)})}Nl.exports={isEstablished:LN,isClosing:xN,isClosed:MN,fireEvent:ec,isValidSubprotocol:qN,isValidStatusCode:vN,failWebsocketConnection:kl,websocketMessageReceived:TN}});var Ml=B((i1,xl)=>{"use strict";var rc=require("diagnostics_channel"),{uid:YN,states:Sl}=Tr(),{kReadyState:Ul,kSentClose:Fl,kByteParser:Ll,kReceivedClose:GN}=ks(),{fireEvent:JN,failWebsocketConnection:Ot}=Fn(),{CloseEvent:VN}=Ac(),{makeRequest:HN}=ys(),{fetching:ON}=Cn(),{Headers:WN}=Gt(),{getGlobalDispatcher:PN}=wr(),{kHeadersList:_N}=z(),nt={};nt.open=rc.channel("undici:websocket:open");nt.close=rc.channel("undici:websocket:close");nt.socketError=rc.channel("undici:websocket:socket_error");var tc;try{tc=require("crypto")}catch{}function jN(A,e,t,r,s){let i=A;i.protocol=A.protocol==="ws:"?"http:":"https:";let n=HN({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(s.headers){let c=new WN(s.headers)[_N];n.headersList=c}let o=tc.randomBytes(16).toString("base64");n.headersList.append("sec-websocket-key",o),n.headersList.append("sec-websocket-version","13");for(let c of e)n.headersList.append("sec-websocket-protocol",c);let a="";return ON({request:n,useParallelQueue:!0,dispatcher:s.dispatcher??PN(),processResponse(c){if(c.type==="error"||c.status!==101){Ot(t,"Received network error or non-101 status code.");return}if(e.length!==0&&!c.headersList.get("Sec-WebSocket-Protocol")){Ot(t,"Server did not respond with sent protocols.");return}if(c.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){Ot(t,'Server did not set Upgrade header to "websocket".');return}if(c.headersList.get("Connection")?.toLowerCase()!=="upgrade"){Ot(t,'Server did not set Connection header to "upgrade".');return}let E=c.headersList.get("Sec-WebSocket-Accept"),Q=tc.createHash("sha1").update(o+YN).digest("base64");if(E!==Q){Ot(t,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let C=c.headersList.get("Sec-WebSocket-Extensions");if(C!==null&&C!==a){Ot(t,"Received different permessage-deflate than the one set.");return}let h=c.headersList.get("Sec-WebSocket-Protocol");if(h!==null&&h!==n.headersList.get("Sec-WebSocket-Protocol")){Ot(t,"Protocol was not set in the opening handshake.");return}c.socket.on("data",XN),c.socket.on("close",ZN),c.socket.on("error",KN),nt.open.hasSubscribers&&nt.open.publish({address:c.socket.address(),protocol:h,extensions:C}),r(c)}})}function XN(A){this.ws[Ll].write(A)||this.pause()}function ZN(){let{ws:A}=this,e=A[Fl]&&A[GN],t=1005,r="",s=A[Ll].closingInfo;s?(t=s.code??1005,r=s.reason):A[Fl]||(t=1006),A[Ul]=Sl.CLOSED,JN("close",A,VN,{wasClean:e,code:t,reason:r}),nt.close.hasSubscribers&&nt.close.publish({websocket:A,code:t,reason:r})}function KN(A){let{ws:e}=this;e[Ul]=Sl.CLOSING,nt.socketError.hasSubscribers&&nt.socketError.publish(A),this.destroy()}xl.exports={establishWebSocketConnection:jN}});var ic=B((n1,ql)=>{"use strict";var{maxUnsigned16Bit:zN}=Tr(),Tl;try{Tl=require("crypto")}catch{}var sc=class{constructor(e){this.frameData=e,this.maskKey=Tl.randomBytes(4)}createFrame(e){let t=this.frameData?.byteLength??0,r=t,s=6;t>zN?(s+=8,r=127):t>125&&(s+=2,r=126);let i=Buffer.allocUnsafe(t+s);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+e;i[s-4]=this.maskKey[0],i[s-3]=this.maskKey[1],i[s-2]=this.maskKey[2],i[s-1]=this.maskKey[3],i[1]=r,r===126?i.writeUInt16BE(t,2):r===127&&(i[2]=i[3]=0,i.writeUIntBE(t,4,6)),i[1]|=128;for(let n=0;n{"use strict";var{Writable:$N}=require("stream"),Hl=require("diagnostics_channel"),{parserStates:le,opcodes:ue,states:AF,emptyBuffer:eF}=Tr(),{kReadyState:tF,kSentClose:vl,kResponse:Yl,kReceivedClose:Gl}=ks(),{isValidStatusCode:Jl,failWebsocketConnection:Ns,websocketMessageReceived:rF}=Fn(),{WebsocketFrameSend:Vl}=ic(),qr={};qr.ping=Hl.channel("undici:websocket:ping");qr.pong=Hl.channel("undici:websocket:pong");var nc=class extends $N{#A=[];#t=0;#r=le.INFO;#e={};#s=[];constructor(e){super(),this.ws=e}_write(e,t,r){this.#A.push(e),this.#t+=e.length,this.run(r)}run(e){for(;;){if(this.#r===le.INFO){if(this.#t<2)return e();let t=this.consume(2);if(this.#e.fin=(t[0]&128)!==0,this.#e.opcode=t[0]&15,this.#e.originalOpcode??=this.#e.opcode,this.#e.fragmented=!this.#e.fin&&this.#e.opcode!==ue.CONTINUATION,this.#e.fragmented&&this.#e.opcode!==ue.BINARY&&this.#e.opcode!==ue.TEXT){Ns(this.ws,"Invalid frame type was fragmented.");return}let r=t[1]&127;if(r<=125?(this.#e.payloadLength=r,this.#r=le.READ_DATA):r===126?this.#r=le.PAYLOADLENGTH_16:r===127&&(this.#r=le.PAYLOADLENGTH_64),this.#e.fragmented&&r>125){Ns(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#e.opcode===ue.PING||this.#e.opcode===ue.PONG||this.#e.opcode===ue.CLOSE)&&r>125){Ns(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#e.opcode===ue.CLOSE){if(r===1){Ns(this.ws,"Received close frame with a 1-byte body.");return}let s=this.consume(r);if(this.#e.closeInfo=this.parseCloseBody(!1,s),!this.ws[vl]){let i=Buffer.allocUnsafe(2);i.writeUInt16BE(this.#e.closeInfo.code,0);let n=new Vl(i);this.ws[Yl].socket.write(n.createFrame(ue.CLOSE),o=>{o||(this.ws[vl]=!0)})}this.ws[tF]=AF.CLOSING,this.ws[Gl]=!0,this.end();return}else if(this.#e.opcode===ue.PING){let s=this.consume(r);if(!this.ws[Gl]){let i=new Vl(s);this.ws[Yl].socket.write(i.createFrame(ue.PONG)),qr.ping.hasSubscribers&&qr.ping.publish({payload:s})}if(this.#r=le.INFO,this.#t>0)continue;e();return}else if(this.#e.opcode===ue.PONG){let s=this.consume(r);if(qr.pong.hasSubscribers&&qr.pong.publish({payload:s}),this.#t>0)continue;e();return}}else if(this.#r===le.PAYLOADLENGTH_16){if(this.#t<2)return e();let t=this.consume(2);this.#e.payloadLength=t.readUInt16BE(0),this.#r=le.READ_DATA}else if(this.#r===le.PAYLOADLENGTH_64){if(this.#t<8)return e();let t=this.consume(8),r=t.readUInt32BE(0);if(r>2**31-1){Ns(this.ws,"Received payload length > 2^31 bytes.");return}let s=t.readUInt32BE(4);this.#e.payloadLength=(r<<8)+s,this.#r=le.READ_DATA}else if(this.#r===le.READ_DATA){if(this.#t=this.#e.payloadLength){let t=this.consume(this.#e.payloadLength);if(this.#s.push(t),!this.#e.fragmented||this.#e.fin&&this.#e.opcode===ue.CONTINUATION){let r=Buffer.concat(this.#s);rF(this.ws,this.#e.originalOpcode,r),this.#e={},this.#s.length=0}this.#r=le.INFO}}if(!(this.#t>0)){e();break}}}consume(e){if(e>this.#t)return null;if(e===0)return eF;if(this.#A[0].length===e)return this.#t-=this.#A[0].length,this.#A.shift();let t=Buffer.allocUnsafe(e),r=0;for(;r!==e;){let s=this.#A[0],{length:i}=s;if(i+r===e){t.set(this.#A.shift(),r);break}else if(i+r>e){t.set(s.subarray(0,e-r),r),this.#A[0]=s.subarray(e-r);break}else t.set(this.#A.shift(),r),r+=s.length}return this.#t-=e,t}parseCloseBody(e,t){let r;if(t.length>=2&&(r=t.readUInt16BE(0)),e)return Jl(r)?{code:r}:null;let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191&&(s=s.subarray(3)),r!==void 0&&!Jl(r))return null;try{s=new TextDecoder("utf-8",{fatal:!0}).decode(s)}catch{return null}return{code:r,reason:s}}get closingInfo(){return this.#e.closeInfo}};Ol.exports={ByteParser:nc}});var $l=B((a1,zl)=>{"use strict";var{webidl:L}=SA(),{DOMException:pt}=Ct(),{URLSerializer:sF}=De(),{getGlobalOrigin:iF}=tr(),{staticPropertyDescriptors:yt,states:vr,opcodes:Fs,emptyBuffer:nF}=Tr(),{kWebSocketURL:Pl,kReadyState:ot,kController:oF,kBinaryType:Sn,kResponse:Un,kSentClose:aF,kByteParser:gF}=ks(),{isEstablished:_l,isClosing:jl,isValidSubprotocol:cF,failWebsocketConnection:EF,fireEvent:QF}=Fn(),{establishWebSocketConnection:CF}=Ml(),{WebsocketFrameSend:Ss}=ic(),{ByteParser:BF}=Wl(),{kEnumerableProperty:de,isBlobLike:Zl}=G(),{getGlobalDispatcher:hF}=wr(),{types:Kl}=require("util"),Xl=!1,ce=class A extends EventTarget{#A={open:null,error:null,close:null,message:null};#t=0;#r="";#e="";constructor(e,t=[]){super(),L.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"}),Xl||(Xl=!0,process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"}));let r=L.converters["DOMString or sequence or WebSocketInit"](t);e=L.converters.USVString(e),t=r.protocols;let s=iF(),i;try{i=new URL(e,s)}catch(n){throw new pt(n,"SyntaxError")}if(i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),i.protocol!=="ws:"&&i.protocol!=="wss:")throw new pt(`Expected a ws: or wss: protocol, got ${i.protocol}`,"SyntaxError");if(i.hash||i.href.endsWith("#"))throw new pt("Got fragment","SyntaxError");if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(n=>n.toLowerCase())).size)throw new pt("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(n=>cF(n)))throw new pt("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[Pl]=new URL(i.href),this[oF]=CF(i,t,this,n=>this.#s(n),r),this[ot]=A.CONNECTING,this[Sn]="blob"}close(e=void 0,t=void 0){if(L.brandCheck(this,A),e!==void 0&&(e=L.converters["unsigned short"](e,{clamp:!0})),t!==void 0&&(t=L.converters.USVString(t)),e!==void 0&&e!==1e3&&(e<3e3||e>4999))throw new pt("invalid code","InvalidAccessError");let r=0;if(t!==void 0&&(r=Buffer.byteLength(t),r>123))throw new pt(`Reason must be less than 123 bytes; received ${r}`,"SyntaxError");if(!(this[ot]===A.CLOSING||this[ot]===A.CLOSED))if(!_l(this))EF(this,"Connection was closed before it was established."),this[ot]=A.CLOSING;else if(jl(this))this[ot]=A.CLOSING;else{let s=new Ss;e!==void 0&&t===void 0?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==void 0&&t!==void 0?(s.frameData=Buffer.allocUnsafe(2+r),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=nF,this[Un].socket.write(s.createFrame(Fs.CLOSE),n=>{n||(this[aF]=!0)}),this[ot]=vr.CLOSING}}send(e){if(L.brandCheck(this,A),L.argumentLengthCheck(arguments,1,{header:"WebSocket.send"}),e=L.converters.WebSocketSendData(e),this[ot]===A.CONNECTING)throw new pt("Sent before connected.","InvalidStateError");if(!_l(this)||jl(this))return;let t=this[Un].socket;if(typeof e=="string"){let r=Buffer.from(e),i=new Ss(r).createFrame(Fs.TEXT);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(Kl.isArrayBuffer(e)){let r=Buffer.from(e),i=new Ss(r).createFrame(Fs.BINARY);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(ArrayBuffer.isView(e)){let r=Buffer.from(e,e.byteOffset,e.byteLength),i=new Ss(r).createFrame(Fs.BINARY);this.#t+=r.byteLength,t.write(i,()=>{this.#t-=r.byteLength})}else if(Zl(e)){let r=new Ss;e.arrayBuffer().then(s=>{let i=Buffer.from(s);r.frameData=i;let n=r.createFrame(Fs.BINARY);this.#t+=i.byteLength,t.write(n,()=>{this.#t-=i.byteLength})})}}get readyState(){return L.brandCheck(this,A),this[ot]}get bufferedAmount(){return L.brandCheck(this,A),this.#t}get url(){return L.brandCheck(this,A),sF(this[Pl])}get extensions(){return L.brandCheck(this,A),this.#e}get protocol(){return L.brandCheck(this,A),this.#r}get onopen(){return L.brandCheck(this,A),this.#A.open}set onopen(e){L.brandCheck(this,A),this.#A.open&&this.removeEventListener("open",this.#A.open),typeof e=="function"?(this.#A.open=e,this.addEventListener("open",e)):this.#A.open=null}get onerror(){return L.brandCheck(this,A),this.#A.error}set onerror(e){L.brandCheck(this,A),this.#A.error&&this.removeEventListener("error",this.#A.error),typeof e=="function"?(this.#A.error=e,this.addEventListener("error",e)):this.#A.error=null}get onclose(){return L.brandCheck(this,A),this.#A.close}set onclose(e){L.brandCheck(this,A),this.#A.close&&this.removeEventListener("close",this.#A.close),typeof e=="function"?(this.#A.close=e,this.addEventListener("close",e)):this.#A.close=null}get onmessage(){return L.brandCheck(this,A),this.#A.message}set onmessage(e){L.brandCheck(this,A),this.#A.message&&this.removeEventListener("message",this.#A.message),typeof e=="function"?(this.#A.message=e,this.addEventListener("message",e)):this.#A.message=null}get binaryType(){return L.brandCheck(this,A),this[Sn]}set binaryType(e){L.brandCheck(this,A),e!=="blob"&&e!=="arraybuffer"?this[Sn]="blob":this[Sn]=e}#s(e){this[Un]=e;let t=new BF(this);t.on("drain",function(){this.ws[Un].socket.resume()}),e.socket.ws=this,this[gF]=t,this[ot]=vr.OPEN;let r=e.headersList.get("sec-websocket-extensions");r!==null&&(this.#e=r);let s=e.headersList.get("sec-websocket-protocol");s!==null&&(this.#r=s),QF("open",this)}};ce.CONNECTING=ce.prototype.CONNECTING=vr.CONNECTING;ce.OPEN=ce.prototype.OPEN=vr.OPEN;ce.CLOSING=ce.prototype.CLOSING=vr.CLOSING;ce.CLOSED=ce.prototype.CLOSED=vr.CLOSED;Object.defineProperties(ce.prototype,{CONNECTING:yt,OPEN:yt,CLOSING:yt,CLOSED:yt,url:de,readyState:de,bufferedAmount:de,onopen:de,onerror:de,onclose:de,close:de,onmessage:de,binaryType:de,send:de,extensions:de,protocol:de,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(ce,{CONNECTING:yt,OPEN:yt,CLOSING:yt,CLOSED:yt});L.converters["sequence"]=L.sequenceConverter(L.converters.DOMString);L.converters["DOMString or sequence"]=function(A){return L.util.Type(A)==="Object"&&Symbol.iterator in A?L.converters["sequence"](A):L.converters.DOMString(A)};L.converters.WebSocketInit=L.dictionaryConverter([{key:"protocols",converter:L.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:A=>A,get defaultValue(){return hF()}},{key:"headers",converter:L.nullableConverter(L.converters.HeadersInit)}]);L.converters["DOMString or sequence or WebSocketInit"]=function(A){return L.util.Type(A)==="Object"&&!(Symbol.iterator in A)?L.converters.WebSocketInit(A):{protocols:L.converters["DOMString or sequence"](A)}};L.converters.WebSocketSendData=function(A){if(L.util.Type(A)==="Object"){if(Zl(A))return L.converters.Blob(A,{strict:!1});if(ArrayBuffer.isView(A)||Kl.isAnyArrayBuffer(A))return L.converters.BufferSource(A)}return L.converters.USVString(A)};zl.exports={WebSocket:ce}});var ru=B((g1,M)=>{"use strict";var IF=cs(),Au=Qi(),eu=j(),lF=hr(),uF=QB(),dF=Bs(),Wt=G(),{InvalidArgumentError:Ln}=eu,Yr=rh(),fF=ts(),mF=Ig(),pF=Yh(),yF=dg(),wF=sg(),DF=Wh(),RF=Zh(),{getGlobalDispatcher:tu,setGlobalDispatcher:bF}=wr(),kF=tI(),NF=ha(),FF=Ii(),oc;try{require("crypto"),oc=!0}catch{oc=!1}Object.assign(Au.prototype,Yr);M.exports.Dispatcher=Au;M.exports.Client=IF;M.exports.Pool=lF;M.exports.BalancedPool=uF;M.exports.Agent=dF;M.exports.ProxyAgent=DF;M.exports.RetryHandler=RF;M.exports.DecoratorHandler=kF;M.exports.RedirectHandler=NF;M.exports.createRedirectInterceptor=FF;M.exports.buildConnector=fF;M.exports.errors=eu;function Us(A){return(e,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new Ln("invalid url");if(t!=null&&typeof t!="object")throw new Ln("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new Ln("invalid opts.path");let n=t.path;t.path.startsWith("/")||(n=`/${n}`),e=new URL(Wt.parseOrigin(e).origin+n)}else t||(t=typeof e=="object"?e:{}),e=Wt.parseURL(e);let{agent:s,dispatcher:i=tu()}=t;if(s)throw new Ln("unsupported opts.agent. Did you mean opts.client?");return A.call(i,{...t,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}M.exports.setGlobalDispatcher=bF;M.exports.getGlobalDispatcher=tu;if(Wt.nodeMajor>16||Wt.nodeMajor===16&&Wt.nodeMinor>=8){let A=null;M.exports.fetch=async function(n){A||(A=Cn().fetch);try{return await A(...arguments)}catch(o){throw typeof o=="object"&&Error.captureStackTrace(o,this),o}},M.exports.Headers=Gt().Headers,M.exports.Response=An().Response,M.exports.Request=ys().Request,M.exports.FormData=gi().FormData,M.exports.File=oi().File,M.exports.FileReader=zI().FileReader;let{setGlobalOrigin:e,getGlobalOrigin:t}=tr();M.exports.setGlobalOrigin=e,M.exports.getGlobalOrigin=t;let{CacheStorage:r}=cl(),{kConstruct:s}=ln();M.exports.caches=new r(s)}if(Wt.nodeMajor>=16){let{deleteCookie:A,getCookies:e,getSetCookies:t,setCookie:r}=yl();M.exports.deleteCookie=A,M.exports.getCookies=e,M.exports.getSetCookies=t,M.exports.setCookie=r;let{parseMIMEType:s,serializeAMimeType:i}=De();M.exports.parseMIMEType=s,M.exports.serializeAMimeType=i}if(Wt.nodeMajor>=18&&oc){let{WebSocket:A}=$l();M.exports.WebSocket=A}M.exports.request=Us(Yr.request);M.exports.stream=Us(Yr.stream);M.exports.pipeline=Us(Yr.pipeline);M.exports.connect=Us(Yr.connect);M.exports.upgrade=Us(Yr.upgrade);M.exports.MockClient=mF;M.exports.MockPool=yF;M.exports.MockAgent=pF;M.exports.mockErrors=wF});var iu=B(K=>{"use strict";var SF=K&&K.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),UF=K&&K.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),vn=K&&K.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&SF(e,A,t);return UF(e,A),e},EA=K&&K.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(K,"__esModule",{value:!0});K.HttpClient=K.isHttps=K.HttpClientResponse=K.HttpClientError=K.getProxyUrl=K.MediaTypes=K.Headers=K.HttpCodes=void 0;var ac=vn(require("http")),su=vn(require("https")),gc=vn(CE()),xn=vn(dE()),LF=ru(),fe;(function(A){A[A.OK=200]="OK",A[A.MultipleChoices=300]="MultipleChoices",A[A.MovedPermanently=301]="MovedPermanently",A[A.ResourceMoved=302]="ResourceMoved",A[A.SeeOther=303]="SeeOther",A[A.NotModified=304]="NotModified",A[A.UseProxy=305]="UseProxy",A[A.SwitchProxy=306]="SwitchProxy",A[A.TemporaryRedirect=307]="TemporaryRedirect",A[A.PermanentRedirect=308]="PermanentRedirect",A[A.BadRequest=400]="BadRequest",A[A.Unauthorized=401]="Unauthorized",A[A.PaymentRequired=402]="PaymentRequired",A[A.Forbidden=403]="Forbidden",A[A.NotFound=404]="NotFound",A[A.MethodNotAllowed=405]="MethodNotAllowed",A[A.NotAcceptable=406]="NotAcceptable",A[A.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",A[A.RequestTimeout=408]="RequestTimeout",A[A.Conflict=409]="Conflict",A[A.Gone=410]="Gone",A[A.TooManyRequests=429]="TooManyRequests",A[A.InternalServerError=500]="InternalServerError",A[A.NotImplemented=501]="NotImplemented",A[A.BadGateway=502]="BadGateway",A[A.ServiceUnavailable=503]="ServiceUnavailable",A[A.GatewayTimeout=504]="GatewayTimeout"})(fe||(K.HttpCodes=fe={}));var kA;(function(A){A.Accept="accept",A.ContentType="content-type"})(kA||(K.Headers=kA={}));var at;(function(A){A.ApplicationJson="application/json"})(at||(K.MediaTypes=at={}));function xF(A){let e=gc.getProxyUrl(new URL(A));return e?e.href:""}K.getProxyUrl=xF;var MF=[fe.MovedPermanently,fe.ResourceMoved,fe.SeeOther,fe.TemporaryRedirect,fe.PermanentRedirect],TF=[fe.BadGateway,fe.ServiceUnavailable,fe.GatewayTimeout],qF=["OPTIONS","GET","DELETE","HEAD"],vF=10,YF=5,Tn=class A extends Error{constructor(e,t){super(e),this.name="HttpClientError",this.statusCode=t,Object.setPrototypeOf(this,A.prototype)}};K.HttpClientError=Tn;var qn=class{constructor(e){this.message=e}readBody(){return EA(this,void 0,void 0,function*(){return new Promise(e=>EA(this,void 0,void 0,function*(){let t=Buffer.alloc(0);this.message.on("data",r=>{t=Buffer.concat([t,r])}),this.message.on("end",()=>{e(t.toString())})}))})}readBodyBuffer(){return EA(this,void 0,void 0,function*(){return new Promise(e=>EA(this,void 0,void 0,function*(){let t=[];this.message.on("data",r=>{t.push(r)}),this.message.on("end",()=>{e(Buffer.concat(t))})}))})}};K.HttpClientResponse=qn;function GF(A){return new URL(A).protocol==="https:"}K.isHttps=GF;var cc=class{constructor(e,t,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=t||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(e,t){return EA(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,t||{})})}get(e,t){return EA(this,void 0,void 0,function*(){return this.request("GET",e,null,t||{})})}del(e,t){return EA(this,void 0,void 0,function*(){return this.request("DELETE",e,null,t||{})})}post(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("POST",e,t,r||{})})}patch(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("PATCH",e,t,r||{})})}put(e,t,r){return EA(this,void 0,void 0,function*(){return this.request("PUT",e,t,r||{})})}head(e,t){return EA(this,void 0,void 0,function*(){return this.request("HEAD",e,null,t||{})})}sendStream(e,t,r,s){return EA(this,void 0,void 0,function*(){return this.request(e,t,r,s)})}getJson(e,t={}){return EA(this,void 0,void 0,function*(){t[kA.Accept]=this._getExistingOrDefaultHeader(t,kA.Accept,at.ApplicationJson);let r=yield this.get(e,t);return this._processResponse(r,this.requestOptions)})}postJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.post(e,s,r);return this._processResponse(i,this.requestOptions)})}putJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.put(e,s,r);return this._processResponse(i,this.requestOptions)})}patchJson(e,t,r={}){return EA(this,void 0,void 0,function*(){let s=JSON.stringify(t,null,2);r[kA.Accept]=this._getExistingOrDefaultHeader(r,kA.Accept,at.ApplicationJson),r[kA.ContentType]=this._getExistingOrDefaultHeader(r,kA.ContentType,at.ApplicationJson);let i=yield this.patch(e,s,r);return this._processResponse(i,this.requestOptions)})}request(e,t,r,s){return EA(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let i=new URL(t),n=this._prepareRequest(e,i,s),o=this._allowRetries&&qF.includes(e)?this._maxRetries+1:1,a=0,g;do{if(g=yield this.requestRaw(n,r),g&&g.message&&g.message.statusCode===fe.Unauthorized){let E;for(let Q of this.handlers)if(Q.canHandleAuthentication(g)){E=Q;break}return E?E.handleAuthentication(this,n,r):g}let c=this._maxRedirects;for(;g.message.statusCode&&MF.includes(g.message.statusCode)&&this._allowRedirects&&c>0;){let E=g.message.headers.location;if(!E)break;let Q=new URL(E);if(i.protocol==="https:"&&i.protocol!==Q.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.");if(yield g.readBody(),Q.hostname!==i.hostname)for(let C in s)C.toLowerCase()==="authorization"&&delete s[C];n=this._prepareRequest(e,Q,s),g=yield this.requestRaw(n,r),c--}if(!g.message.statusCode||!TF.includes(g.message.statusCode))return g;a+=1,a{function i(n,o){n?s(n):o?r(o):s(new Error("Unknown error"))}this.requestRawWithCallback(e,t,i)})})}requestRawWithCallback(e,t,r){typeof t=="string"&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8"));let s=!1;function i(a,g){s||(s=!0,r(a,g))}let n=e.httpModule.request(e.options,a=>{let g=new qn(a);i(void 0,g)}),o;n.on("socket",a=>{o=a}),n.setTimeout(this._socketTimeout||3*6e4,()=>{o&&o.end(),i(new Error(`Request timeout: ${e.options.path}`))}),n.on("error",function(a){i(a)}),t&&typeof t=="string"&&n.write(t,"utf8"),t&&typeof t!="string"?(t.on("close",function(){n.end()}),t.pipe(n)):n.end()}getAgent(e){let t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){let t=new URL(e),r=gc.getProxyUrl(t);if(r&&r.hostname)return this._getProxyAgentDispatcher(t,r)}_prepareRequest(e,t,r){let s={};s.parsedUrl=t;let i=s.parsedUrl.protocol==="https:";s.httpModule=i?su:ac;let n=i?443:80;if(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),this.userAgent!=null&&(s.options.headers["user-agent"]=this.userAgent),s.options.agent=this._getAgent(s.parsedUrl),this.handlers)for(let o of this.handlers)o.prepareRequest(s.options);return s}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},Mn(this.requestOptions.headers),Mn(e||{})):Mn(e||{})}_getExistingOrDefaultHeader(e,t,r){let s;return this.requestOptions&&this.requestOptions.headers&&(s=Mn(this.requestOptions.headers)[t]),e[t]||s||r}_getAgent(e){let t,r=gc.getProxyUrl(e),s=r&&r.hostname;if(this._keepAlive&&s&&(t=this._proxyAgent),s||(t=this._agent),t)return t;let i=e.protocol==="https:",n=100;if(this.requestOptions&&(n=this.requestOptions.maxSockets||ac.globalAgent.maxSockets),r&&r.hostname){let o={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})},a,g=r.protocol==="https:";i?a=g?xn.httpsOverHttps:xn.httpsOverHttp:a=g?xn.httpOverHttps:xn.httpOverHttp,t=a(o),this._proxyAgent=t}if(!t){let o={keepAlive:this._keepAlive,maxSockets:n};t=i?new su.Agent(o):new ac.Agent(o),this._agent=t}return i&&this._ignoreSslError&&(t.options=Object.assign(t.options||{},{rejectUnauthorized:!1})),t}_getProxyAgentDispatcher(e,t){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let s=e.protocol==="https:";return r=new LF.ProxyAgent(Object.assign({uri:t.href,pipelining:this._keepAlive?1:0},(t.username||t.password)&&{token:`Basic ${Buffer.from(`${t.username}:${t.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,s&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_performExponentialBackoff(e){return EA(this,void 0,void 0,function*(){e=Math.min(vF,e);let t=YF*Math.pow(2,e);return new Promise(r=>setTimeout(()=>r(),t))})}_processResponse(e,t){return EA(this,void 0,void 0,function*(){return new Promise((r,s)=>EA(this,void 0,void 0,function*(){let i=e.message.statusCode||0,n={statusCode:i,result:null,headers:{}};i===fe.NotFound&&r(n);function o(c,E){if(typeof E=="string"){let Q=new Date(E);if(!isNaN(Q.valueOf()))return Q}return E}let a,g;try{g=yield e.readBody(),g&&g.length>0&&(t&&t.deserializeDates?a=JSON.parse(g,o):a=JSON.parse(g),n.result=a),n.headers=e.message.headers}catch{}if(i>299){let c;a&&a.message?c=a.message:g&&g.length>0?c=g:c=`Failed request: (${i})`;let E=new Tn(c,i);E.result=n.result,s(E)}else r(n)}))})}};K.HttpClient=cc;var Mn=A=>Object.keys(A).reduce((e,t)=>(e[t.toLowerCase()]=A[t],e),{})});var nu=B(Oe=>{"use strict";var Bc=Oe&&Oe.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Oe,"__esModule",{value:!0});Oe.PersonalAccessTokenCredentialHandler=Oe.BearerCredentialHandler=Oe.BasicCredentialHandler=void 0;var Ec=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.BasicCredentialHandler=Ec;var Qc=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.BearerCredentialHandler=Qc;var Cc=class{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!1}handleAuthentication(){return Bc(this,void 0,void 0,function*(){throw new Error("not implemented")})}};Oe.PersonalAccessTokenCredentialHandler=Cc});var gu=B(Gr=>{"use strict";var ou=Gr&&Gr.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.OidcClient=void 0;var JF=iu(),VF=nu(),au=Ic(),hc=class A{static createHttpClient(e=!0,t=10){let r={allowRetries:e,maxRetries:t};return new JF.HttpClient("actions/oidc-client",[new VF.BearerCredentialHandler(A.getRequestToken())],r)}static getRequestToken(){let 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(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(e){var t;return ou(this,void 0,void 0,function*(){let i=(t=(yield A.createHttpClient().getJson(e).catch(n=>{throw new Error(`Failed to get ID Token. Error Code : ${n.statusCode} Error Message: ${n.message}`)})).result)===null||t===void 0?void 0:t.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return ou(this,void 0,void 0,function*(){try{let t=A.getIDTokenUrl();if(e){let s=encodeURIComponent(e);t=`${t}&audience=${s}`}(0,au.debug)(`ID token url is ${t}`);let r=yield A.getCall(t);return(0,au.setSecret)(r),r}catch(t){throw new Error(`Error message: ${t.message}`)}})}};Gr.OidcClient=hc});var fc=B(_A=>{"use strict";var lc=_A&&_A.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(_A,"__esModule",{value:!0});_A.summary=_A.markdownSummary=_A.SUMMARY_DOCS_URL=_A.SUMMARY_ENV_VAR=void 0;var HF=require("os"),uc=require("fs"),{access:OF,appendFile:WF,writeFile:PF}=uc.promises;_A.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";_A.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";var dc=class{constructor(){this._buffer=""}filePath(){return lc(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[_A.SUMMARY_ENV_VAR];if(!e)throw new Error(`Unable to find environment variable for $${_A.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield OF(e,uc.constants.R_OK|uc.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,t,r={}){let s=Object.entries(r).map(([i,n])=>` ${i}="${n}"`).join("");return t?`<${e}${s}>${t}`:`<${e}${s}>`}write(e){return lc(this,void 0,void 0,function*(){let t=!!e?.overwrite,r=yield this.filePath();return yield(t?PF:WF)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return lc(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,t=!1){return this._buffer+=e,t?this.addEOL():this}addEOL(){return this.addRaw(HF.EOL)}addCodeBlock(e,t){let r=Object.assign({},t&&{lang:t}),s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,t=!1){let r=t?"ol":"ul",s=e.map(n=>this.wrap("li",n)).join(""),i=this.wrap(r,s);return this.addRaw(i).addEOL()}addTable(e){let t=e.map(s=>{let i=s.map(n=>{if(typeof n=="string")return this.wrap("td",n);let{header:o,data:a,colspan:g,rowspan:c}=n,E=o?"th":"td",Q=Object.assign(Object.assign({},g&&{colspan:g}),c&&{rowspan:c});return this.wrap(E,a,Q)}).join("");return this.wrap("tr",i)}).join(""),r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){let r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){let{width:s,height:i}=r||{},n=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),o=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(o).addEOL()}addHeading(e,t){let r=`h${t}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){let r=Object.assign({},t&&{cite:t}),s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,t){let r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}},cu=new dc;_A.markdownSummary=cu;_A.summary=cu});var Eu=B(jA=>{"use strict";var _F=jA&&jA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),jF=jA&&jA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),XF=jA&&jA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&_F(e,A,t);return jF(e,A),e};Object.defineProperty(jA,"__esModule",{value:!0});jA.toPlatformPath=jA.toWin32Path=jA.toPosixPath=void 0;var ZF=XF(require("path"));function KF(A){return A.replace(/[\\]/g,"/")}jA.toPosixPath=KF;function zF(A){return A.replace(/[/]/g,"\\")}jA.toWin32Path=zF;function $F(A){return A.replace(/[/\\]/g,ZF.sep)}jA.toPlatformPath=$F});var pc=B(D=>{"use strict";var AS=D&&D.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),eS=D&&D.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Cu=D&&D.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&AS(e,A,t);return eS(e,A),e},mc=D&&D.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},XA;Object.defineProperty(D,"__esModule",{value:!0});D.getCmdPath=D.tryGetExecutablePath=D.isRooted=D.isDirectory=D.exists=D.READONLY=D.UV_FS_O_EXLOCK=D.IS_WINDOWS=D.unlink=D.symlink=D.stat=D.rmdir=D.rm=D.rename=D.readlink=D.readdir=D.open=D.mkdir=D.lstat=D.copyFile=D.chmod=void 0;var Bu=Cu(require("fs")),Yn=Cu(require("path"));XA=Bu.promises,D.chmod=XA.chmod,D.copyFile=XA.copyFile,D.lstat=XA.lstat,D.mkdir=XA.mkdir,D.open=XA.open,D.readdir=XA.readdir,D.readlink=XA.readlink,D.rename=XA.rename,D.rm=XA.rm,D.rmdir=XA.rmdir,D.stat=XA.stat,D.symlink=XA.symlink,D.unlink=XA.unlink;D.IS_WINDOWS=process.platform==="win32";D.UV_FS_O_EXLOCK=268435456;D.READONLY=Bu.constants.O_RDONLY;function tS(A){return mc(this,void 0,void 0,function*(){try{yield D.stat(A)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}D.exists=tS;function rS(A,e=!1){return mc(this,void 0,void 0,function*(){return(e?yield D.stat(A):yield D.lstat(A)).isDirectory()})}D.isDirectory=rS;function sS(A){if(A=nS(A),!A)throw new Error('isRooted() parameter "p" cannot be empty');return D.IS_WINDOWS?A.startsWith("\\")||/^[A-Z]:/i.test(A):A.startsWith("/")}D.isRooted=sS;function iS(A,e){return mc(this,void 0,void 0,function*(){let t;try{t=yield D.stat(A)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${s}`)}if(t&&t.isFile()){if(D.IS_WINDOWS){let s=Yn.extname(A).toUpperCase();if(e.some(i=>i.toUpperCase()===s))return A}else if(Qu(t))return A}let r=A;for(let s of e){A=r+s,t=void 0;try{t=yield D.stat(A)}catch(i){i.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${i}`)}if(t&&t.isFile()){if(D.IS_WINDOWS){try{let i=Yn.dirname(A),n=Yn.basename(A).toUpperCase();for(let o of yield D.readdir(i))if(n===o.toUpperCase()){A=Yn.join(i,o);break}}catch(i){console.log(`Unexpected error attempting to determine the actual case of the file '${A}': ${i}`)}return A}else if(Qu(t))return A}}return""})}D.tryGetExecutablePath=iS;function nS(A){return A=A||"",D.IS_WINDOWS?(A=A.replace(/\//g,"\\"),A.replace(/\\\\+/g,"\\")):A.replace(/\/\/+/g,"/")}function Qu(A){return(A.mode&1)>0||(A.mode&8)>0&&A.gid===process.getgid()||(A.mode&64)>0&&A.uid===process.getuid()}function oS(){var A;return(A=process.env.COMSPEC)!==null&&A!==void 0?A:"cmd.exe"}D.getCmdPath=oS});var mu=B(aA=>{"use strict";var aS=aA&&aA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),gS=aA&&aA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),hu=aA&&aA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&aS(e,A,t);return gS(e,A),e},wt=aA&&aA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(aA,"__esModule",{value:!0});aA.findInPath=aA.which=aA.mkdirP=aA.rmRF=aA.mv=aA.cp=void 0;var cS=require("assert"),We=hu(require("path")),W=hu(pc());function ES(A,e,t={}){return wt(this,void 0,void 0,function*(){let{force:r,recursive:s,copySourceDirectory:i}=CS(t),n=(yield W.exists(e))?yield W.stat(e):null;if(n&&n.isFile()&&!r)return;let o=n&&n.isDirectory()&&i?We.join(e,We.basename(A)):e;if(!(yield W.exists(A)))throw new Error(`no such file or directory: ${A}`);if((yield W.stat(A)).isDirectory())if(s)yield du(A,o,0,r);else throw new Error(`Failed to copy. ${A} is a directory, but tried to copy without recursive flag.`);else{if(We.relative(A,o)==="")throw new Error(`'${o}' and '${A}' are the same file`);yield fu(A,o,r)}})}aA.cp=ES;function QS(A,e,t={}){return wt(this,void 0,void 0,function*(){if(yield W.exists(e)){let r=!0;if((yield W.isDirectory(e))&&(e=We.join(e,We.basename(A)),r=yield W.exists(e)),r)if(t.force==null||t.force)yield Iu(e);else throw new Error("Destination already exists")}yield yc(We.dirname(e)),yield W.rename(A,e)})}aA.mv=QS;function Iu(A){return wt(this,void 0,void 0,function*(){if(W.IS_WINDOWS&&/[*"<>|]/.test(A))throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');try{yield W.rm(A,{force:!0,maxRetries:3,recursive:!0,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}aA.rmRF=Iu;function yc(A){return wt(this,void 0,void 0,function*(){cS.ok(A,"a path argument must be provided"),yield W.mkdir(A,{recursive:!0})})}aA.mkdirP=yc;function lu(A,e){return wt(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");if(e){let r=yield lu(A,!1);if(!r)throw W.IS_WINDOWS?new Error(`Unable to locate executable file: ${A}. 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.`):new Error(`Unable to locate executable file: ${A}. 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 r}let t=yield uu(A);return t&&t.length>0?t[0]:""})}aA.which=lu;function uu(A){return wt(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");let e=[];if(W.IS_WINDOWS&&process.env.PATHEXT)for(let s of process.env.PATHEXT.split(We.delimiter))s&&e.push(s);if(W.isRooted(A)){let s=yield W.tryGetExecutablePath(A,e);return s?[s]:[]}if(A.includes(We.sep))return[];let t=[];if(process.env.PATH)for(let s of process.env.PATH.split(We.delimiter))s&&t.push(s);let r=[];for(let s of t){let i=yield W.tryGetExecutablePath(We.join(s,A),e);i&&r.push(i)}return r})}aA.findInPath=uu;function CS(A){let e=A.force==null?!0:A.force,t=!!A.recursive,r=A.copySourceDirectory==null?!0:!!A.copySourceDirectory;return{force:e,recursive:t,copySourceDirectory:r}}function du(A,e,t,r){return wt(this,void 0,void 0,function*(){if(t>=255)return;t++,yield yc(e);let s=yield W.readdir(A);for(let i of s){let n=`${A}/${i}`,o=`${e}/${i}`;(yield W.lstat(n)).isDirectory()?yield du(n,o,t,r):yield fu(n,o,r)}yield W.chmod(e,(yield W.stat(A)).mode)})}function fu(A,e,t){return wt(this,void 0,void 0,function*(){if((yield W.lstat(A)).isSymbolicLink()){try{yield W.lstat(e),yield W.unlink(e)}catch(s){s.code==="EPERM"&&(yield W.chmod(e,"0666"),yield W.unlink(e))}let r=yield W.readlink(A);yield W.symlink(r,e,W.IS_WINDOWS?"junction":null)}else(!(yield W.exists(e))||t)&&(yield W.copyFile(A,e))})}});var Du=B(ZA=>{"use strict";var BS=ZA&&ZA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),hS=ZA&&ZA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Jr=ZA&&ZA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&BS(e,A,t);return hS(e,A),e},pu=ZA&&ZA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(ZA,"__esModule",{value:!0});ZA.argStringToArray=ZA.ToolRunner=void 0;var Gn=Jr(require("os")),wu=Jr(require("events")),IS=Jr(require("child_process")),lS=Jr(require("path")),uS=Jr(mu()),yu=Jr(pc()),dS=require("timers"),Jn=process.platform==="win32",wc=class extends wu.EventEmitter{constructor(e,t,r){if(super(),!e)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=e,this.args=t||[],this.options=r||{}}_debug(e){this.options.listeners&&this.options.listeners.debug&&this.options.listeners.debug(e)}_getCommandString(e,t){let r=this._getSpawnFileName(),s=this._getSpawnArgs(e),i=t?"":"[command]";if(Jn)if(this._isCmdFile()){i+=r;for(let n of s)i+=` ${n}`}else if(e.windowsVerbatimArguments){i+=`"${r}"`;for(let n of s)i+=` ${n}`}else{i+=this._windowsQuoteCmdArg(r);for(let n of s)i+=` ${this._windowsQuoteCmdArg(n)}`}else{i+=r;for(let n of s)i+=` ${n}`}return i}_processLineBuffer(e,t,r){try{let s=t+e.toString(),i=s.indexOf(Gn.EOL);for(;i>-1;){let n=s.substring(0,i);r(n),s=s.substring(i+Gn.EOL.length),i=s.indexOf(Gn.EOL)}return s}catch(s){return this._debug(`error processing line. Failed with error ${s}`),""}}_getSpawnFileName(){return Jn&&this._isCmdFile()?process.env.COMSPEC||"cmd.exe":this.toolPath}_getSpawnArgs(e){if(Jn&&this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let r of this.args)t+=" ",t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r);return t+='"',[t]}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){let 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'""';let t=[" "," ","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],r=!1;for(let n of e)if(t.some(o=>o===n)){r=!0;break}if(!r)return e;let s='"',i=!0;for(let n=e.length;n>0;n--)s+=e[n-1],i&&e[n-1]==="\\"?s+="\\":e[n-1]==='"'?(i=!0,s+='"'):i=!1;return s+='"',s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e)return'""';if(!e.includes(" ")&&!e.includes(" ")&&!e.includes('"'))return e;if(!e.includes('"')&&!e.includes("\\"))return`"${e}"`;let t='"',r=!0;for(let s=e.length;s>0;s--)t+=e[s-1],r&&e[s-1]==="\\"?t+="\\":e[s-1]==='"'?(r=!0,t+="\\"):r=!1;return t+='"',t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};let t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||!1,windowsVerbatimArguments:e.windowsVerbatimArguments||!1,failOnStdErr:e.failOnStdErr||!1,ignoreReturnCode:e.ignoreReturnCode||!1,delay:e.delay||1e4};return t.outStream=e.outStream||process.stdout,t.errStream=e.errStream||process.stderr,t}_getSpawnOptions(e,t){e=e||{};let r={};return r.cwd=e.cwd,r.env=e.env,r.windowsVerbatimArguments=e.windowsVerbatimArguments||this._isCmdFile(),e.windowsVerbatimArguments&&(r.argv0=`"${t}"`),r}exec(){return pu(this,void 0,void 0,function*(){return!yu.isRooted(this.toolPath)&&(this.toolPath.includes("/")||Jn&&this.toolPath.includes("\\"))&&(this.toolPath=lS.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)),this.toolPath=yield uS.which(this.toolPath,!0),new Promise((e,t)=>pu(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let g of this.args)this._debug(` ${g}`);let r=this._cloneExecOptions(this.options);!r.silent&&r.outStream&&r.outStream.write(this._getCommandString(r)+Gn.EOL);let s=new Dc(r,this.toolPath);if(s.on("debug",g=>{this._debug(g)}),this.options.cwd&&!(yield yu.exists(this.options.cwd)))return t(new Error(`The cwd: ${this.options.cwd} does not exist!`));let i=this._getSpawnFileName(),n=IS.spawn(i,this._getSpawnArgs(r),this._getSpawnOptions(this.options,i)),o="";n.stdout&&n.stdout.on("data",g=>{this.options.listeners&&this.options.listeners.stdout&&this.options.listeners.stdout(g),!r.silent&&r.outStream&&r.outStream.write(g),o=this._processLineBuffer(g,o,c=>{this.options.listeners&&this.options.listeners.stdline&&this.options.listeners.stdline(c)})});let a="";if(n.stderr&&n.stderr.on("data",g=>{s.processStderr=!0,this.options.listeners&&this.options.listeners.stderr&&this.options.listeners.stderr(g),!r.silent&&r.errStream&&r.outStream&&(r.failOnStdErr?r.errStream:r.outStream).write(g),a=this._processLineBuffer(g,a,c=>{this.options.listeners&&this.options.listeners.errline&&this.options.listeners.errline(c)})}),n.on("error",g=>{s.processError=g.message,s.processExited=!0,s.processClosed=!0,s.CheckComplete()}),n.on("exit",g=>{s.processExitCode=g,s.processExited=!0,this._debug(`Exit code ${g} received from tool '${this.toolPath}'`),s.CheckComplete()}),n.on("close",g=>{s.processExitCode=g,s.processExited=!0,s.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),s.CheckComplete()}),s.on("done",(g,c)=>{o.length>0&&this.emit("stdline",o),a.length>0&&this.emit("errline",a),n.removeAllListeners(),g?t(g):e(c)}),this.options.input){if(!n.stdin)throw new Error("child process missing stdin");n.stdin.end(this.options.input)}}))})}};ZA.ToolRunner=wc;function fS(A){let e=[],t=!1,r=!1,s="";function i(n){r&&n!=='"'&&(s+="\\"),s+=n,r=!1}for(let n=0;n0&&(e.push(s),s="");continue}i(o)}return s.length>0&&e.push(s.trim()),e}ZA.argStringToArray=fS;var Dc=class A extends wu.EventEmitter{constructor(e,t){if(super(),this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!t)throw new Error("toolPath must not be empty");this.options=e,this.toolPath=t,e.delay&&(this.delay=e.delay)}CheckComplete(){this.done||(this.processClosed?this._setResult():this.processExited&&(this.timeout=dS.setTimeout(A.HandleTimeout,this.delay,this)))}_debug(e){this.emit("debug",e)}_setResult(){let e;this.processExited&&(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}`):this.processExitCode!==0&&!this.options.ignoreReturnCode?e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`):this.processStderr&&this.options.failOnStdErr&&(e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`))),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.done=!0,this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(!e.done){if(!e.processClosed&&e.processExited){let 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 Fu=B(KA=>{"use strict";var mS=KA&&KA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),pS=KA&&KA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),yS=KA&&KA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&mS(e,A,t);return pS(e,A),e},ku=KA&&KA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(KA,"__esModule",{value:!0});KA.getExecOutput=KA.exec=void 0;var Ru=require("string_decoder"),bu=yS(Du());function Nu(A,e,t){return ku(this,void 0,void 0,function*(){let r=bu.argStringToArray(A);if(r.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let s=r[0];return e=r.slice(1).concat(e||[]),new bu.ToolRunner(s,e,t).exec()})}KA.exec=Nu;function wS(A,e,t){var r,s;return ku(this,void 0,void 0,function*(){let i="",n="",o=new Ru.StringDecoder("utf8"),a=new Ru.StringDecoder("utf8"),g=(r=t?.listeners)===null||r===void 0?void 0:r.stdout,c=(s=t?.listeners)===null||s===void 0?void 0:s.stderr,E=u=>{n+=a.write(u),c&&c(u)},Q=u=>{i+=o.write(u),g&&g(u)},C=Object.assign(Object.assign({},t?.listeners),{stdout:Q,stderr:E}),h=yield Nu(A,e,Object.assign(Object.assign({},t),{listeners:C}));return i+=o.end(),n+=a.end(),{exitCode:h,stdout:i,stderr:n}})}KA.getExecOutput=wS});var Uu=B(J=>{"use strict";var DS=J&&J.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),RS=J&&J.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),bS=J&&J.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&DS(e,A,t);return RS(e,A),e},Hn=J&&J.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},kS=J&&J.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(J,"__esModule",{value:!0});J.getDetails=J.isLinux=J.isMacOS=J.isWindows=J.arch=J.platform=void 0;var Su=kS(require("os")),Vn=bS(Fu()),NS=()=>Hn(void 0,void 0,void 0,function*(){let{stdout:A}=yield Vn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',void 0,{silent:!0}),{stdout:e}=yield Vn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',void 0,{silent:!0});return{name:e.trim(),version:A.trim()}}),FS=()=>Hn(void 0,void 0,void 0,function*(){var A,e,t,r;let{stdout:s}=yield Vn.getExecOutput("sw_vers",void 0,{silent:!0}),i=(e=(A=s.match(/ProductVersion:\s*(.+)/))===null||A===void 0?void 0:A[1])!==null&&e!==void 0?e:"";return{name:(r=(t=s.match(/ProductName:\s*(.+)/))===null||t===void 0?void 0:t[1])!==null&&r!==void 0?r:"",version:i}}),SS=()=>Hn(void 0,void 0,void 0,function*(){let{stdout:A}=yield Vn.getExecOutput("lsb_release",["-i","-r","-s"],{silent:!0}),[e,t]=A.trim().split(` `);return{name:e,version:t}});J.platform=Su.default.platform();J.arch=Su.default.arch();J.isWindows=J.platform==="win32";J.isMacOS=J.platform==="darwin";J.isLinux=J.platform==="linux";function US(){return Hn(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield J.isWindows?NS():J.isMacOS?FS():SS()),{platform:J.platform,arch:J.arch,isWindows:J.isWindows,isMacOS:J.isMacOS,isLinux:J.isLinux})})}J.getDetails=US});var Ic=B(w=>{"use strict";var LS=w&&w.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),xS=w&&w.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),bc=w&&w.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&LS(e,A,t);return xS(e,A),e},Lu=w&&w.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(w,"__esModule",{value:!0});w.platform=w.toPlatformPath=w.toWin32Path=w.toPosixPath=w.markdownSummary=w.summary=w.getIDToken=w.getState=w.saveState=w.group=w.endGroup=w.startGroup=w.info=w.notice=w.warning=w.error=w.debug=w.isDebug=w.setFailed=w.setCommandEcho=w.setOutput=w.getBooleanInput=w.getMultilineInput=w.getInput=w.addPath=w.setSecret=w.exportVariable=w.ExitCode=void 0;var me=aE(),Pt=EE(),Vr=Os(),xu=bc(require("os")),MS=bc(require("path")),TS=gu(),Rc;(function(A){A[A.Success=0]="Success",A[A.Failure=1]="Failure"})(Rc||(w.ExitCode=Rc={}));function qS(A,e){let t=(0,Vr.toCommandValue)(e);if(process.env[A]=t,process.env.GITHUB_ENV||"")return(0,Pt.issueFileCommand)("ENV",(0,Pt.prepareKeyValueMessage)(A,e));(0,me.issueCommand)("set-env",{name:A},t)}w.exportVariable=qS;function vS(A){(0,me.issueCommand)("add-mask",{},A)}w.setSecret=vS;function YS(A){process.env.GITHUB_PATH||""?(0,Pt.issueFileCommand)("PATH",A):(0,me.issueCommand)("add-path",{},A),process.env.PATH=`${A}${MS.delimiter}${process.env.PATH}`}w.addPath=YS;function kc(A,e){let t=process.env[`INPUT_${A.replace(/ /g,"_").toUpperCase()}`]||"";if(e&&e.required&&!t)throw new Error(`Input required and not supplied: ${A}`);return e&&e.trimWhitespace===!1?t:t.trim()}w.getInput=kc;function GS(A,e){let t=kc(A,e).split(` `).filter(r=>r!=="");return e&&e.trimWhitespace===!1?t:t.map(r=>r.trim())}w.getMultilineInput=GS;function JS(A,e){let t=["true","True","TRUE"],r=["false","False","FALSE"],s=kc(A,e);if(t.includes(s))return!0;if(r.includes(s))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${A} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}w.getBooleanInput=JS;function VS(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Pt.issueFileCommand)("OUTPUT",(0,Pt.prepareKeyValueMessage)(A,e));process.stdout.write(xu.EOL),(0,me.issueCommand)("set-output",{name:A},(0,Vr.toCommandValue)(e))}w.setOutput=VS;function HS(A){(0,me.issue)("echo",A?"on":"off")}w.setCommandEcho=HS;function OS(A){process.exitCode=Rc.Failure,Mu(A)}w.setFailed=OS;function WS(){return process.env.RUNNER_DEBUG==="1"}w.isDebug=WS;function PS(A){(0,me.issueCommand)("debug",{},A)}w.debug=PS;function Mu(A,e={}){(0,me.issueCommand)("error",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.error=Mu;function _S(A,e={}){(0,me.issueCommand)("warning",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.warning=_S;function jS(A,e={}){(0,me.issueCommand)("notice",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.notice=jS;function XS(A){process.stdout.write(A+xu.EOL)}w.info=XS;function Tu(A){(0,me.issue)("group",A)}w.startGroup=Tu;function qu(){(0,me.issue)("endgroup")}w.endGroup=qu;function ZS(A,e){return Lu(this,void 0,void 0,function*(){Tu(A);let t;try{t=yield e()}finally{qu()}return t})}w.group=ZS;function KS(A,e){if(process.env.GITHUB_STATE||"")return(0,Pt.issueFileCommand)("STATE",(0,Pt.prepareKeyValueMessage)(A,e));(0,me.issueCommand)("save-state",{name:A},(0,Vr.toCommandValue)(e))}w.saveState=KS;function zS(A){return process.env[`STATE_${A}`]||""}w.getState=zS;function $S(A){return Lu(this,void 0,void 0,function*(){return yield TS.OidcClient.getIDToken(A)})}w.getIDToken=$S;var AU=fc();Object.defineProperty(w,"summary",{enumerable:!0,get:function(){return AU.summary}});var eU=fc();Object.defineProperty(w,"markdownSummary",{enumerable:!0,get:function(){return eU.markdownSummary}});var Nc=Eu();Object.defineProperty(w,"toPosixPath",{enumerable:!0,get:function(){return Nc.toPosixPath}});Object.defineProperty(w,"toWin32Path",{enumerable:!0,get:function(){return Nc.toWin32Path}});Object.defineProperty(w,"toPlatformPath",{enumerable:!0,get:function(){return Nc.toPlatformPath}});w.platform=bc(Uu())});var Vu=B((Mq,rU)=>{rU.exports={"mage-os/project-community-edition:1.0.0":{magento:"mage-os/project-community-edition:1.0.0",upstream:"2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2023-10-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.1":{magento:"mage-os/project-community-edition:1.0.1",upstream:"2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-11T00:00:00+0000",eol:"2024-07-17T00:00:00+0000"},"mage-os/project-community-edition:1.0.2":{magento:"mage-os/project-community-edition:1.0.2",upstream:"2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-18T00:00:00+0000",eol:"2024-07-22T00:00:00+0000"},"mage-os/project-community-edition:1.0.3":{magento:"mage-os/project-community-edition:1.0.3",upstream:"2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-23T00:00:00+0000",eol:"2024-08-19T00:00:00+0000"},"mage-os/project-community-edition:1.0.4":{magento:"mage-os/project-community-edition:1.0.4",upstream:"2.4.7-p2",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-20T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"mage-os/project-community-edition:1.0.5":{magento:"mage-os/project-community-edition:1.0.5",upstream:"2.4.7-p3",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-09T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.6":{magento:"mage-os/project-community-edition:1.0.6",upstream:"2.4.7-p4",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-12T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",upstream:"2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",upstream:"2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",upstream:"2.4.8-p1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:1.3.0":{magento:"mage-os/project-community-edition:1.3.0",upstream:"2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-09-08T00:00:00+0000"},"mage-os/project-community-edition:1.3.1":{magento:"mage-os/project-community-edition:1.3.1",upstream:"2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-09-09T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:2.0.0":{magento:"mage-os/project-community-edition:2.0.0",upstream:"2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2026-01-20T00:00:00+0000"},"mage-os/project-community-edition:2.1.0":{magento:"mage-os/project-community-edition:2.1.0",upstream:"2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-01-20T00:00:00+0000",eol:"2026-03-10T00:00:00+0000"},"mage-os/project-community-edition:2.2.0":{magento:"mage-os/project-community-edition:2.2.0",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-03-18T00:00:00+0000"},"mage-os/project-community-edition:2.2.1":{magento:"mage-os/project-community-edition:2.2.1",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-18T00:00:00+0000",eol:"2026-04-15T00:00:00+0000"},"mage-os/project-community-edition:2.2.2":{magento:"mage-os/project-community-edition:2.2.2",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",redis:"redis:7.2",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-04-15T00:00:00+0000",eol:"2026-05-13T00:00:00+0000"},"mage-os/project-community-edition:2.3.0":{magento:"mage-os/project-community-edition:2.3.0",upstream:"2.4.8-p5",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-05-13T00:00:00+0000",eol:"2026-05-19T00:00:00+0000"},"mage-os/project-community-edition:3.0.0":{magento:"mage-os/project-community-edition:3.0.0",upstream:"2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Hu=B((Tq,sU)=>{sU.exports={"mage-os/project-minimal-edition:3.0.0":{magento:"mage-os/project-minimal-edition:3.0.0",upstream:"2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Ou=B((qq,iU)=>{iU.exports={"magento/project-community-edition:2.3.7-p3":{magento:"magento/project-community-edition:2.3.7-p3",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.3.7-p4":{magento:"magento/project-community-edition:2.3.7-p4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2020-10-15T00:00:00+0000"},"magento/project-community-edition:2.4.0-p1":{magento:"magento/project-community-edition:2.4.0-p1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2021-02-09T00:00:00+0000"},"magento/project-community-edition:2.4.1-p1":{magento:"magento/project-community-edition:2.4.1-p1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.2":{magento:"magento/project-community-edition:2.4.2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2021-05-11T00:00:00+0000"},"magento/project-community-edition:2.4.2-p1":{magento:"magento/project-community-edition:2.4.2-p1",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-05-11T00:00:00+0000",eol:"2021-08-10T00:00:00+0000"},"magento/project-community-edition:2.4.2-p2":{magento:"magento/project-community-edition:2.4.2-p2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.3":{magento:"magento/project-community-edition:2.4.3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2021-10-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p1":{magento:"magento/project-community-edition:2.4.3-p1",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-10-12T00:00:00+0000",eol:"2022-04-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p2":{magento:"magento/project-community-edition:2.4.3-p2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.3-p3":{magento:"magento/project-community-edition:2.4.3-p3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.4":{magento:"magento/project-community-edition:2.4.4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p1":{magento:"magento/project-community-edition:2.4.4-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p2":{magento:"magento/project-community-edition:2.4.4-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.4-p3":{magento:"magento/project-community-edition:2.4.4-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p4":{magento:"magento/project-community-edition:2.4.4-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p5":{magento:"magento/project-community-edition:2.4.4-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.4-p6":{magento:"magento/project-community-edition:2.4.4-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.4-p7":{magento:"magento/project-community-edition:2.4.4-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p8":{magento:"magento/project-community-edition:2.4.4-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p9":{magento:"magento/project-community-edition:2.4.4-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p10":{magento:"magento/project-community-edition:2.4.4-p10",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p11":{magento:"magento/project-community-edition:2.4.4-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p12":{magento:"magento/project-community-edition:2.4.4-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:2.4.5":{magento:"magento/project-community-edition:2.4.5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p1":{magento:"magento/project-community-edition:2.4.5-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.5-p2":{magento:"magento/project-community-edition:2.4.5-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p3":{magento:"magento/project-community-edition:2.4.5-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p4":{magento:"magento/project-community-edition:2.4.5-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p5":{magento:"magento/project-community-edition:2.4.5-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p6":{magento:"magento/project-community-edition:2.4.5-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.5-p7":{magento:"magento/project-community-edition:2.4.5-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p8":{magento:"magento/project-community-edition:2.4.5-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p9":{magento:"magento/project-community-edition:2.4.5-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p10":{magento:"magento/project-community-edition:2.4.5-p10",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p11":{magento:"magento/project-community-edition:2.4.5-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p13":{magento:"magento/project-community-edition:2.4.5-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p14":{magento:"magento/project-community-edition:2.4.5-p14",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6":{magento:"magento/project-community-edition:2.4.6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p1":{magento:"magento/project-community-edition:2.4.6-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p2":{magento:"magento/project-community-edition:2.4.6-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p3":{magento:"magento/project-community-edition:2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p4":{magento:"magento/project-community-edition:2.4.6-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p5":{magento:"magento/project-community-edition:2.4.6-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p6":{magento:"magento/project-community-edition:2.4.6-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p7":{magento:"magento/project-community-edition:2.4.6-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p8":{magento:"magento/project-community-edition:2.4.6-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p9":{magento:"magento/project-community-edition:2.4.6-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p11":{magento:"magento/project-community-edition:2.4.6-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p12":{magento:"magento/project-community-edition:2.4.6-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.6-p13":{magento:"magento/project-community-edition:2.4.6-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p14":{magento:"magento/project-community-edition:2.4.6-p14",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.2",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.1-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.6-p15":{magento:"magento/project-community-edition:2.4.6-p15",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2026-08-11T00:00:00+0000"},"magento/project-community-edition:2.4.7":{magento:"magento/project-community-edition:2.4.7",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p1":{magento:"magento/project-community-edition:2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.7-p2":{magento:"magento/project-community-edition:2.4.7-p2",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p3":{magento:"magento/project-community-edition:2.4.7-p3",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p4":{magento:"magento/project-community-edition:2.4.7-p4",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.7-p6":{magento:"magento/project-community-edition:2.4.7-p6",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.7-p7":{magento:"magento/project-community-edition:2.4.7-p7",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.7-p8":{magento:"magento/project-community-edition:2.4.7-p8",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.7-p9":{magento:"magento/project-community-edition:2.4.7-p9",php:8.3,composer:"2.9.8",mysql:"mariadb:10.11",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.1-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.7-p10":{magento:"magento/project-community-edition:2.4.7-p10",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.15",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2027-05-31T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.8-p1":{magento:"magento/project-community-edition:2.4.8-p1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.8-p2":{magento:"magento/project-community-edition:2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.8-p3":{magento:"magento/project-community-edition:2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.8-p4":{magento:"magento/project-community-edition:2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.8-p5":{magento:"magento/project-community-edition:2.4.8-p5",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2028-05-31T00:00:00+0000"},"magento/project-community-edition:2.4.9":{magento:"magento/project-community-edition:2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"}}});var Wu=B((vq,nU)=>{nU.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-community-edition:>=1.0 <1.1":{magento:"mage-os/project-community-edition:>=1.0 <1.1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:>=1.3 <1.4":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:>=2.0 <2.1":{magento:"mage-os/project-community-edition:>=2.0 <2.1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2026-01-20T00:00:00+0000"},"mage-os/project-community-edition:>=2.1 <2.2":{magento:"mage-os/project-community-edition:>=2.1 <2.2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-01-20T00:00:00+0000",eol:"2026-03-10T00:00:00+0000"},"mage-os/project-community-edition:>=2.2 <2.3":{magento:"mage-os/project-community-edition:>=2.2 <2.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",redis:"redis:7.2",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-13T00:00:00+0000"},"mage-os/project-community-edition:>=2.3 <2.4":{magento:"mage-os/project-community-edition:>=2.3 <2.4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-05-13T00:00:00+0000",eol:"2026-05-19T00:00:00+0000"},"mage-os/project-community-edition:>=3.0 <3.1":{magento:"mage-os/project-community-edition:>=3.0 <3.1",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Pu=B((Yq,oU)=>{oU.exports={"mage-os/project-minimal-edition":{magento:"mage-os/project-minimal-edition",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-minimal-edition:next":{magento:"mage-os/project-minimal-edition:next",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-minimal-edition:>=3.0 <3.1":{magento:"mage-os/project-minimal-edition:>=3.0 <3.1",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var _u=B((Gq,aU)=>{aU.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:>=2.4.5 <2.4.6":{magento:"magento/project-community-edition:>=2.4.5 <2.4.6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-08-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.6 <2.4.7":{magento:"magento/project-community-edition:>=2.4.6 <2.4.7",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-08-11T00:00:00+0000"},"magento/project-community-edition:>=2.4.7 <2.4.8":{magento:"magento/project-community-edition:>=2.4.7 <2.4.8",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.15",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-05-31T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-05-31T00:00:00+0000"},"magento/project-community-edition:>=2.4.9 <2.4.10":{magento:"magento/project-community-edition:>=2.4.9 <2.4.10",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:@alpha",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",valkey:"valkey/valkey:9",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"}}});var xs=B((Zq,e0)=>{"use strict";var EU="2.0.0",QU=Number.MAX_SAFE_INTEGER||9007199254740991,CU=16,BU=250,hU=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e0.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:CU,MAX_SAFE_BUILD_LENGTH:BU,MAX_SAFE_INTEGER:QU,RELEASE_TYPES:hU,SEMVER_SPEC_VERSION:EU,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ms=B((Kq,t0)=>{"use strict";var IU=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};t0.exports=IU});var Hr=B((_e,r0)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Uc,MAX_SAFE_BUILD_LENGTH:lU,MAX_LENGTH:uU}=xs(),dU=Ms();_e=r0.exports={};var fU=_e.re=[],mU=_e.safeRe=[],m=_e.src=[],pU=_e.safeSrc=[],p=_e.t={},yU=0,Lc="[a-zA-Z0-9-]",wU=[["\\s",1],["\\d",uU],[Lc,lU]],DU=A=>{for(let[e,t]of wU)A=A.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return A},x=(A,e,t)=>{let r=DU(e),s=yU++;dU(A,s,e),p[A]=s,m[s]=e,pU[s]=r,fU[s]=new RegExp(e,t?"g":void 0),mU[s]=new RegExp(r,t?"g":void 0)};x("NUMERICIDENTIFIER","0|[1-9]\\d*");x("NUMERICIDENTIFIERLOOSE","\\d+");x("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Lc}*`);x("MAINVERSION",`(${m[p.NUMERICIDENTIFIER]})\\.(${m[p.NUMERICIDENTIFIER]})\\.(${m[p.NUMERICIDENTIFIER]})`);x("MAINVERSIONLOOSE",`(${m[p.NUMERICIDENTIFIERLOOSE]})\\.(${m[p.NUMERICIDENTIFIERLOOSE]})\\.(${m[p.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASEIDENTIFIER",`(?:${m[p.NONNUMERICIDENTIFIER]}|${m[p.NUMERICIDENTIFIER]})`);x("PRERELEASEIDENTIFIERLOOSE",`(?:${m[p.NONNUMERICIDENTIFIER]}|${m[p.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASE",`(?:-(${m[p.PRERELEASEIDENTIFIER]}(?:\\.${m[p.PRERELEASEIDENTIFIER]})*))`);x("PRERELEASELOOSE",`(?:-?(${m[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${m[p.PRERELEASEIDENTIFIERLOOSE]})*))`);x("BUILDIDENTIFIER",`${Lc}+`);x("BUILD",`(?:\\+(${m[p.BUILDIDENTIFIER]}(?:\\.${m[p.BUILDIDENTIFIER]})*))`);x("FULLPLAIN",`v?${m[p.MAINVERSION]}${m[p.PRERELEASE]}?${m[p.BUILD]}?`);x("FULL",`^${m[p.FULLPLAIN]}$`);x("LOOSEPLAIN",`[v=\\s]*${m[p.MAINVERSIONLOOSE]}${m[p.PRERELEASELOOSE]}?${m[p.BUILD]}?`);x("LOOSE",`^${m[p.LOOSEPLAIN]}$`);x("GTLT","((?:<|>)?=?)");x("XRANGEIDENTIFIERLOOSE",`${m[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);x("XRANGEIDENTIFIER",`${m[p.NUMERICIDENTIFIER]}|x|X|\\*`);x("XRANGEPLAIN",`[v=\\s]*(${m[p.XRANGEIDENTIFIER]})(?:\\.(${m[p.XRANGEIDENTIFIER]})(?:\\.(${m[p.XRANGEIDENTIFIER]})(?:${m[p.PRERELEASE]})?${m[p.BUILD]}?)?)?`);x("XRANGEPLAINLOOSE",`[v=\\s]*(${m[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${m[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${m[p.XRANGEIDENTIFIERLOOSE]})(?:${m[p.PRERELEASELOOSE]})?${m[p.BUILD]}?)?)?`);x("XRANGE",`^${m[p.GTLT]}\\s*${m[p.XRANGEPLAIN]}$`);x("XRANGELOOSE",`^${m[p.GTLT]}\\s*${m[p.XRANGEPLAINLOOSE]}$`);x("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Uc}})(?:\\.(\\d{1,${Uc}}))?(?:\\.(\\d{1,${Uc}}))?`);x("COERCE",`${m[p.COERCEPLAIN]}(?:$|[^\\d])`);x("COERCEFULL",m[p.COERCEPLAIN]+`(?:${m[p.PRERELEASE]})?(?:${m[p.BUILD]})?(?:$|[^\\d])`);x("COERCERTL",m[p.COERCE],!0);x("COERCERTLFULL",m[p.COERCEFULL],!0);x("LONETILDE","(?:~>?)");x("TILDETRIM",`(\\s*)${m[p.LONETILDE]}\\s+`,!0);_e.tildeTrimReplace="$1~";x("TILDE",`^${m[p.LONETILDE]}${m[p.XRANGEPLAIN]}$`);x("TILDELOOSE",`^${m[p.LONETILDE]}${m[p.XRANGEPLAINLOOSE]}$`);x("LONECARET","(?:\\^)");x("CARETTRIM",`(\\s*)${m[p.LONECARET]}\\s+`,!0);_e.caretTrimReplace="$1^";x("CARET",`^${m[p.LONECARET]}${m[p.XRANGEPLAIN]}$`);x("CARETLOOSE",`^${m[p.LONECARET]}${m[p.XRANGEPLAINLOOSE]}$`);x("COMPARATORLOOSE",`^${m[p.GTLT]}\\s*(${m[p.LOOSEPLAIN]})$|^$`);x("COMPARATOR",`^${m[p.GTLT]}\\s*(${m[p.FULLPLAIN]})$|^$`);x("COMPARATORTRIM",`(\\s*)${m[p.GTLT]}\\s*(${m[p.LOOSEPLAIN]}|${m[p.XRANGEPLAIN]})`,!0);_e.comparatorTrimReplace="$1$2$3";x("HYPHENRANGE",`^\\s*(${m[p.XRANGEPLAIN]})\\s+-\\s+(${m[p.XRANGEPLAIN]})\\s*$`);x("HYPHENRANGELOOSE",`^\\s*(${m[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${m[p.XRANGEPLAINLOOSE]})\\s*$`);x("STAR","(<|>)?=?\\s*\\*");x("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");x("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var On=B((zq,s0)=>{"use strict";var RU=Object.freeze({loose:!0}),bU=Object.freeze({}),kU=A=>A?typeof A!="object"?RU:A:bU;s0.exports=kU});var xc=B(($q,o0)=>{"use strict";var i0=/^[0-9]+$/,n0=(A,e)=>{if(typeof A=="number"&&typeof e=="number")return A===e?0:An0(e,A);o0.exports={compareIdentifiers:n0,rcompareIdentifiers:NU}});var NA=B((A1,g0)=>{"use strict";var Wn=Ms(),{MAX_LENGTH:a0,MAX_SAFE_INTEGER:Pn}=xs(),{safeRe:_n,t:jn}=Hr(),FU=On(),{compareIdentifiers:Mc}=xc(),Tc=class A{constructor(e,t){if(t=FU(t),e instanceof A){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a0)throw new TypeError(`version is longer than ${a0} characters`);Wn("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?_n[jn.LOOSE]:_n[jn.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Pn||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Pn||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Pn||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&ie.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(e){if(e instanceof A||(e=new A(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],s=e.prerelease[t];if(Wn("prerelease compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}compareBuild(e){e instanceof A||(e=new A(e,this.options));let t=0;do{let r=this.build[t],s=e.build[t];if(Wn("build compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?_n[jn.PRERELEASELOOSE]:_n[jn.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];r===!1&&(i=[t]),Mc(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};g0.exports=Tc});var _t=B((e1,E0)=>{"use strict";var c0=NA(),SU=(A,e,t=!1)=>{if(A instanceof c0)return A;try{return new c0(A,e)}catch(r){if(!t)return null;throw r}};E0.exports=SU});var C0=B((t1,Q0)=>{"use strict";var UU=_t(),LU=(A,e)=>{let t=UU(A,e);return t?t.version:null};Q0.exports=LU});var h0=B((r1,B0)=>{"use strict";var xU=_t(),MU=(A,e)=>{let t=xU(A.trim().replace(/^[=v]+/,""),e);return t?t.version:null};B0.exports=MU});var u0=B((s1,l0)=>{"use strict";var I0=NA(),TU=(A,e,t,r,s)=>{typeof t=="string"&&(s=r,r=t,t=void 0);try{return new I0(A instanceof I0?A.version:A,t).inc(e,r,s).version}catch{return null}};l0.exports=TU});var m0=B((i1,f0)=>{"use strict";var d0=_t(),qU=(A,e)=>{let t=d0(A,null,!0),r=d0(e,null,!0),s=t.compare(r);if(s===0)return null;let i=s>0,n=i?t:r,o=i?r:t,a=!!n.prerelease.length;if(!!o.prerelease.length&&!a){if(!o.patch&&!o.minor)return"major";if(o.compareMain(n)===0)return o.minor&&!o.patch?"minor":"patch"}let c=a?"pre":"";return t.major!==r.major?c+"major":t.minor!==r.minor?c+"minor":t.patch!==r.patch?c+"patch":"prerelease"};f0.exports=qU});var y0=B((n1,p0)=>{"use strict";var vU=NA(),YU=(A,e)=>new vU(A,e).major;p0.exports=YU});var D0=B((o1,w0)=>{"use strict";var GU=NA(),JU=(A,e)=>new GU(A,e).minor;w0.exports=JU});var b0=B((a1,R0)=>{"use strict";var VU=NA(),HU=(A,e)=>new VU(A,e).patch;R0.exports=HU});var N0=B((g1,k0)=>{"use strict";var OU=_t(),WU=(A,e)=>{let t=OU(A,e);return t&&t.prerelease.length?t.prerelease:null};k0.exports=WU});var pe=B((c1,S0)=>{"use strict";var F0=NA(),PU=(A,e,t)=>new F0(A,t).compare(new F0(e,t));S0.exports=PU});var L0=B((E1,U0)=>{"use strict";var _U=pe(),jU=(A,e,t)=>_U(e,A,t);U0.exports=jU});var M0=B((Q1,x0)=>{"use strict";var XU=pe(),ZU=(A,e)=>XU(A,e,!0);x0.exports=ZU});var Xn=B((C1,q0)=>{"use strict";var T0=NA(),KU=(A,e,t)=>{let r=new T0(A,t),s=new T0(e,t);return r.compare(s)||r.compareBuild(s)};q0.exports=KU});var Y0=B((B1,v0)=>{"use strict";var zU=Xn(),$U=(A,e)=>A.sort((t,r)=>zU(t,r,e));v0.exports=$U});var J0=B((h1,G0)=>{"use strict";var AL=Xn(),eL=(A,e)=>A.sort((t,r)=>AL(r,t,e));G0.exports=eL});var Ts=B((I1,V0)=>{"use strict";var tL=pe(),rL=(A,e,t)=>tL(A,e,t)>0;V0.exports=rL});var Zn=B((l1,H0)=>{"use strict";var sL=pe(),iL=(A,e,t)=>sL(A,e,t)<0;H0.exports=iL});var qc=B((u1,O0)=>{"use strict";var nL=pe(),oL=(A,e,t)=>nL(A,e,t)===0;O0.exports=oL});var vc=B((d1,W0)=>{"use strict";var aL=pe(),gL=(A,e,t)=>aL(A,e,t)!==0;W0.exports=gL});var Kn=B((f1,P0)=>{"use strict";var cL=pe(),EL=(A,e,t)=>cL(A,e,t)>=0;P0.exports=EL});var zn=B((m1,_0)=>{"use strict";var QL=pe(),CL=(A,e,t)=>QL(A,e,t)<=0;_0.exports=CL});var Yc=B((p1,j0)=>{"use strict";var BL=qc(),hL=vc(),IL=Ts(),lL=Kn(),uL=Zn(),dL=zn(),fL=(A,e,t,r)=>{switch(e){case"===":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A===t;case"!==":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A!==t;case"":case"=":case"==":return BL(A,t,r);case"!=":return hL(A,t,r);case">":return IL(A,t,r);case">=":return lL(A,t,r);case"<":return uL(A,t,r);case"<=":return dL(A,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};j0.exports=fL});var Z0=B((y1,X0)=>{"use strict";var mL=NA(),pL=_t(),{safeRe:$n,t:Ao}=Hr(),yL=(A,e)=>{if(A instanceof mL)return A;if(typeof A=="number"&&(A=String(A)),typeof A!="string")return null;e=e||{};let t=null;if(!e.rtl)t=A.match(e.includePrerelease?$n[Ao.COERCEFULL]:$n[Ao.COERCE]);else{let a=e.includePrerelease?$n[Ao.COERCERTLFULL]:$n[Ao.COERCERTL],g;for(;(g=a.exec(A))&&(!t||t.index+t[0].length!==A.length);)(!t||g.index+g[0].length!==t.index+t[0].length)&&(t=g),a.lastIndex=g.index+g[1].length+g[2].length;a.lastIndex=-1}if(t===null)return null;let r=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",o=e.includePrerelease&&t[6]?`+${t[6]}`:"";return pL(`${r}.${s}.${i}${n}${o}`,e)};X0.exports=yL});var z0=B((w1,K0)=>{"use strict";var Gc=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};K0.exports=Gc});var ye=B((D1,td)=>{"use strict";var wL=/\s+/g,Jc=class A{constructor(e,t){if(t=RL(t),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof Vc)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(wL," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!Ad(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&LL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&SL)|(this.options.loose&&UL))+":"+e,s=$0.get(r);if(s)return s;let i=this.options.loose,n=i?vA[FA.HYPHENRANGELOOSE]:vA[FA.HYPHENRANGE];e=e.replace(n,HL(this.options.includePrerelease)),tA("hyphen replace",e),e=e.replace(vA[FA.COMPARATORTRIM],kL),tA("comparator trim",e),e=e.replace(vA[FA.TILDETRIM],NL),tA("tilde trim",e),e=e.replace(vA[FA.CARETTRIM],FL),tA("caret trim",e);let o=e.split(" ").map(E=>xL(E,this.options)).join(" ").split(/\s+/).map(E=>VL(E,this.options));i&&(o=o.filter(E=>(tA("loose invalid filter",E,this.options),!!E.match(vA[FA.COMPARATORLOOSE])))),tA("range list",o);let a=new Map,g=o.map(E=>new Vc(E,this.options));for(let E of g){if(Ad(E))return[E];a.set(E.value,E)}a.size>1&&a.has("")&&a.delete("");let c=[...a.values()];return $0.set(r,c),c}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>ed(r,t)&&e.set.some(s=>ed(s,t)&&r.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new bL(e,this.options)}catch{return!1}for(let t=0;tA.value==="<0.0.0-0",LL=A=>A.value==="",ed=(A,e)=>{let t=!0,r=A.slice(),s=r.pop();for(;t&&r.length;)t=r.every(i=>s.intersects(i,e)),s=r.pop();return t},xL=(A,e)=>(A=A.replace(vA[FA.BUILD],""),tA("comp",A,e),A=qL(A,e),tA("caret",A),A=ML(A,e),tA("tildes",A),A=YL(A,e),tA("xrange",A),A=JL(A,e),tA("stars",A),A),YA=A=>!A||A.toLowerCase()==="x"||A==="*",ML=(A,e)=>A.trim().split(/\s+/).map(t=>TL(t,e)).join(" "),TL=(A,e)=>{let t=e.loose?vA[FA.TILDELOOSE]:vA[FA.TILDE];return A.replace(t,(r,s,i,n,o)=>{tA("tilde",A,r,s,i,n,o);let a;return YA(s)?a="":YA(i)?a=`>=${s}.0.0 <${+s+1}.0.0-0`:YA(n)?a=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(tA("replaceTilde pr",o),a=`>=${s}.${i}.${n}-${o} <${s}.${+i+1}.0-0`):a=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,tA("tilde return",a),a})},qL=(A,e)=>A.trim().split(/\s+/).map(t=>vL(t,e)).join(" "),vL=(A,e)=>{tA("caret",A,e);let t=e.loose?vA[FA.CARETLOOSE]:vA[FA.CARET],r=e.includePrerelease?"-0":"";return A.replace(t,(s,i,n,o,a)=>{tA("caret",A,s,i,n,o,a);let g;return YA(i)?g="":YA(n)?g=`>=${i}.0.0${r} <${+i+1}.0.0-0`:YA(o)?i==="0"?g=`>=${i}.${n}.0${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.0${r} <${+i+1}.0.0-0`:a?(tA("replaceCaret pr",a),i==="0"?n==="0"?g=`>=${i}.${n}.${o}-${a} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}-${a} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o}-${a} <${+i+1}.0.0-0`):(tA("no pr"),i==="0"?n==="0"?g=`>=${i}.${n}.${o}${r} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o} <${+i+1}.0.0-0`),tA("caret return",g),g})},YL=(A,e)=>(tA("replaceXRanges",A,e),A.split(/\s+/).map(t=>GL(t,e)).join(" ")),GL=(A,e)=>{A=A.trim();let t=e.loose?vA[FA.XRANGELOOSE]:vA[FA.XRANGE];return A.replace(t,(r,s,i,n,o,a)=>{tA("xRange",A,r,s,i,n,o,a);let g=YA(i),c=g||YA(n),E=c||YA(o),Q=E;return s==="="&&Q&&(s=""),a=e.includePrerelease?"-0":"",g?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&Q?(c&&(n=0),o=0,s===">"?(s=">=",c?(i=+i+1,n=0,o=0):(n=+n+1,o=0)):s==="<="&&(s="<",c?i=+i+1:n=+n+1),s==="<"&&(a="-0"),r=`${s+i}.${n}.${o}${a}`):c?r=`>=${i}.0.0${a} <${+i+1}.0.0-0`:E&&(r=`>=${i}.${n}.0${a} <${i}.${+n+1}.0-0`),tA("xRange return",r),r})},JL=(A,e)=>(tA("replaceStars",A,e),A.trim().replace(vA[FA.STAR],"")),VL=(A,e)=>(tA("replaceGTE0",A,e),A.trim().replace(vA[e.includePrerelease?FA.GTE0PRE:FA.GTE0],"")),HL=A=>(e,t,r,s,i,n,o,a,g,c,E,Q)=>(YA(r)?t="":YA(s)?t=`>=${r}.0.0${A?"-0":""}`:YA(i)?t=`>=${r}.${s}.0${A?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${A?"-0":""}`,YA(g)?a="":YA(c)?a=`<${+g+1}.0.0-0`:YA(E)?a=`<${g}.${+c+1}.0-0`:Q?a=`<=${g}.${c}.${E}-${Q}`:A?a=`<${g}.${c}.${+E+1}-0`:a=`<=${a}`,`${t} ${a}`.trim()),OL=(A,e,t)=>{for(let r=0;r0){let s=A[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var qs=B((R1,ad)=>{"use strict";var vs=Symbol("SemVer ANY"),Wc=class A{static get ANY(){return vs}constructor(e,t){if(t=rd(t),e instanceof A){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Oc("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===vs?this.value="":this.value=this.operator+this.semver.version,Oc("comp",this)}parse(e){let t=this.options.loose?sd[id.COMPARATORLOOSE]:sd[id.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new nd(r[2],this.options.loose):this.semver=vs}toString(){return this.value}test(e){if(Oc("Comparator.test",e,this.options.loose),this.semver===vs||e===vs)return!0;if(typeof e=="string")try{e=new nd(e,this.options)}catch{return!1}return Hc(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new od(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new od(this.value,t).test(e.semver):(t=rd(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Hc(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Hc(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};ad.exports=Wc;var rd=On(),{safeRe:sd,t:id}=Hr(),Hc=Yc(),Oc=Ms(),nd=NA(),od=ye()});var Ys=B((b1,gd)=>{"use strict";var WL=ye(),PL=(A,e,t)=>{try{e=new WL(e,t)}catch{return!1}return e.test(A)};gd.exports=PL});var Ed=B((k1,cd)=>{"use strict";var _L=ye(),jL=(A,e)=>new _L(A,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));cd.exports=jL});var Cd=B((N1,Qd)=>{"use strict";var XL=NA(),ZL=ye(),KL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new ZL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===-1)&&(r=n,s=new XL(r,t))}),r};Qd.exports=KL});var hd=B((F1,Bd)=>{"use strict";var zL=NA(),$L=ye(),Ax=(A,e,t)=>{let r=null,s=null,i=null;try{i=new $L(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===1)&&(r=n,s=new zL(r,t))}),r};Bd.exports=Ax});var ud=B((S1,ld)=>{"use strict";var Pc=NA(),ex=ye(),Id=Ts(),tx=(A,e)=>{A=new ex(A,e);let t=new Pc("0.0.0");if(A.test(t)||(t=new Pc("0.0.0-0"),A.test(t)))return t;t=null;for(let r=0;r{let o=new Pc(n.semver.version);switch(n.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||Id(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||Id(t,i))&&(t=i)}return t&&A.test(t)?t:null};ld.exports=tx});var fd=B((U1,dd)=>{"use strict";var rx=ye(),sx=(A,e)=>{try{return new rx(A,e).range||"*"}catch{return null}};dd.exports=sx});var eo=B((L1,wd)=>{"use strict";var ix=NA(),yd=qs(),{ANY:nx}=yd,ox=ye(),ax=Ys(),md=Ts(),pd=Zn(),gx=zn(),cx=Kn(),Ex=(A,e,t,r)=>{A=new ix(A,r),e=new ox(e,r);let s,i,n,o,a;switch(t){case">":s=md,i=gx,n=pd,o=">",a=">=";break;case"<":s=pd,i=cx,n=md,o="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ax(A,e,r))return!1;for(let g=0;g{C.semver===nx&&(C=new yd(">=0.0.0")),E=E||C,Q=Q||C,s(C.semver,E.semver,r)?E=C:n(C.semver,Q.semver,r)&&(Q=C)}),E.operator===o||E.operator===a||(!Q.operator||Q.operator===o)&&i(A,Q.semver))return!1;if(Q.operator===a&&n(A,Q.semver))return!1}return!0};wd.exports=Ex});var Rd=B((x1,Dd)=>{"use strict";var Qx=eo(),Cx=(A,e,t)=>Qx(A,e,">",t);Dd.exports=Cx});var kd=B((M1,bd)=>{"use strict";var Bx=eo(),hx=(A,e,t)=>Bx(A,e,"<",t);bd.exports=hx});var Sd=B((T1,Fd)=>{"use strict";var Nd=ye(),Ix=(A,e,t)=>(A=new Nd(A,t),e=new Nd(e,t),A.intersects(e,t));Fd.exports=Ix});var Ld=B((q1,Ud)=>{"use strict";var lx=Ys(),ux=pe();Ud.exports=(A,e,t)=>{let r=[],s=null,i=null,n=A.sort((c,E)=>ux(c,E,t));for(let c of n)lx(c,e,t)?(i=c,s||(s=c)):(i&&r.push([s,i]),i=null,s=null);s&&r.push([s,null]);let o=[];for(let[c,E]of r)c===E?o.push(c):!E&&c===n[0]?o.push("*"):E?c===n[0]?o.push(`<=${E}`):o.push(`${c} - ${E}`):o.push(`>=${c}`);let a=o.join(" || "),g=typeof e.raw=="string"?e.raw:String(e);return a.length{"use strict";var xd=ye(),jc=qs(),{ANY:_c}=jc,Gs=Ys(),Xc=pe(),dx=(A,e,t={})=>{if(A===e)return!0;A=new xd(A,t),e=new xd(e,t);let r=!1;A:for(let s of A.set){for(let i of e.set){let n=mx(s,i,t);if(r=r||n!==null,n)continue A}if(r)return!1}return!0},fx=[new jc(">=0.0.0-0")],Md=[new jc(">=0.0.0")],mx=(A,e,t)=>{if(A===e)return!0;if(A.length===1&&A[0].semver===_c){if(e.length===1&&e[0].semver===_c)return!0;t.includePrerelease?A=fx:A=Md}if(e.length===1&&e[0].semver===_c){if(t.includePrerelease)return!0;e=Md}let r=new Set,s,i;for(let C of A)C.operator===">"||C.operator===">="?s=Td(s,C,t):C.operator==="<"||C.operator==="<="?i=qd(i,C,t):r.add(C.semver);if(r.size>1)return null;let n;if(s&&i){if(n=Xc(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let C of r){if(s&&!Gs(C,String(s),t)||i&&!Gs(C,String(i),t))return null;for(let h of e)if(!Gs(C,String(h),t))return!1;return!0}let o,a,g,c,E=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,Q=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;E&&E.prerelease.length===1&&i.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let C of e){if(c=c||C.operator===">"||C.operator===">=",g=g||C.operator==="<"||C.operator==="<=",s){if(Q&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===Q.major&&C.semver.minor===Q.minor&&C.semver.patch===Q.patch&&(Q=!1),C.operator===">"||C.operator===">="){if(o=Td(s,C,t),o===C&&o!==s)return!1}else if(s.operator===">="&&!Gs(s.semver,String(C),t))return!1}if(i){if(E&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===E.major&&C.semver.minor===E.minor&&C.semver.patch===E.patch&&(E=!1),C.operator==="<"||C.operator==="<="){if(a=qd(i,C,t),a===C&&a!==i)return!1}else if(i.operator==="<="&&!Gs(i.semver,String(C),t))return!1}if(!C.operator&&(i||s)&&n!==0)return!1}return!(s&&g&&!i&&n!==0||i&&c&&!s&&n!==0||Q||E)},Td=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r>0?A:r<0||e.operator===">"&&A.operator===">="?e:A},qd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r<0?A:r>0||e.operator==="<"&&A.operator==="<="?e:A};vd.exports=dx});var Hd=B((Y1,Vd)=>{"use strict";var Zc=Hr(),Gd=xs(),px=NA(),Jd=xc(),yx=_t(),wx=C0(),Dx=h0(),Rx=u0(),bx=m0(),kx=y0(),Nx=D0(),Fx=b0(),Sx=N0(),Ux=pe(),Lx=L0(),xx=M0(),Mx=Xn(),Tx=Y0(),qx=J0(),vx=Ts(),Yx=Zn(),Gx=qc(),Jx=vc(),Vx=Kn(),Hx=zn(),Ox=Yc(),Wx=Z0(),Px=qs(),_x=ye(),jx=Ys(),Xx=Ed(),Zx=Cd(),Kx=hd(),zx=ud(),$x=fd(),AM=eo(),eM=Rd(),tM=kd(),rM=Sd(),sM=Ld(),iM=Yd();Vd.exports={parse:yx,valid:wx,clean:Dx,inc:Rx,diff:bx,major:kx,minor:Nx,patch:Fx,prerelease:Sx,compare:Ux,rcompare:Lx,compareLoose:xx,compareBuild:Mx,sort:Tx,rsort:qx,gt:vx,lt:Yx,eq:Gx,neq:Jx,gte:Vx,lte:Hx,cmp:Ox,coerce:Wx,Comparator:Px,Range:_x,satisfies:jx,toComparators:Xx,maxSatisfying:Zx,minSatisfying:Kx,minVersion:zx,validRange:$x,outside:AM,gtr:eM,ltr:tM,intersects:rM,simplifyRange:sM,subset:iM,SemVer:px,re:Zc.re,src:Zc.src,tokens:Zc.t,SEMVER_SPEC_VERSION:Gd.SEMVER_SPEC_VERSION,RELEASE_TYPES:Gd.RELEASE_TYPES,compareIdentifiers:Jd.compareIdentifiers,rcompareIdentifiers:Jd.rcompareIdentifiers}});var cM={};Cf(cM,{run:()=>nf});module.exports=Bf(cM);var Fe=sE(Ic());var vu=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var Fc={"currently-supported":!0,latest:!0,custom:!0,usable:!0,nightly:!0,recent:!0,all:!0};var Yu=A=>{if(!(A in Fc))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Fc).join(", ")}`);return!0};var Gu=(A,e=null)=>tU.reduce((t,r)=>r(A,e),!0),tU=[Yu,vu];var Sc={"mage-os":!0,"mage-os-minimal":!0,"magento-open-source":!0};var Ju=A=>{if(!(A in Sc))throw new Error(`Invalid project provided, supported projects are: ${Object.keys(Sc).join(", ")}`);return!0};var Ls=A=>Ju(A);var ju={"mage-os":Vu(),"mage-os-minimal":Hu(),"magento-open-source":Ou()},Xu={"mage-os":Wu(),"mage-os-minimal":Pu(),"magento-open-source":_u()},Pe=A=>{if(Ls(A),ju[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return ju[A]},Zu=A=>{if(Ls(A),Xu[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Xu[A]};var Dt=(A,e)=>{let t={...Pe(A),...Zu(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,{...t[s],version:s.split(":")[1]??""}]}},{magento:[],include:[]})};var Ku={"mage-os":["mage-os/project-community-edition"],"mage-os-minimal":["mage-os/project-minimal-edition"],"magento-open-source":["magento/project-community-edition"]};var zu={"mage-os":["mage-os/project-community-edition:next"],"mage-os-minimal":["mage-os/project-minimal-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var $u=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var A0=(A,e)=>{let t=Pe(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Kc=sE(Hd()),nM={"magento/project-community-edition:2.4.2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.2-p1":"requires insecure composer <=2.1","magento/project-community-edition:2.4.2-p2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p1":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p3":"requires insecure composer <=2.1","mage-os/project-community-edition:2.2.1":"uninstallable due to webonyx/graphql-php security advisory"},Od=A=>{let e=Pe(A);return Object.entries(e).filter(([t,r])=>{let s=Kc.default.coerce(r.composer.toString());return!(s&&Kc.default.lt(s,"2.0.0")||t in nM)}).map(([t,r])=>t)};var Wd=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var zc=(A,e,t)=>A.replace(/(?!:)next$/,Wd(e,t));var oM="next",Pd=(A,e,t=new Date)=>{let r=new RegExp(oM+"$");return A.magento=A.magento.map(s=>s.match(r)?zc(s,e,t):s),A.include=A.include.map(s=>{if(!s.magento.match(r))return s;let i=zc(s.magento,e,t);return{...s,magento:i,version:i.split(":")[1]}}),A};var _d=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=Pe(A);return Object.entries(a).filter(([g,c])=>{let E=new Date(c.release);E.setSeconds(E.getSeconds()+1);let Q=new Date(c.release);return Q.setFullYear(Q.getFullYear()+i),Q.setMonth(Q.getMonth()+n),Q.setDate(Q.getDate()+o),e>=E&&e<=Q}).map(([g,c])=>g)};var jd=(A,e,t="",r="2y")=>{switch(A){case"latest":return Dt(e,Ku[e]);case"currently-supported":return Dt(e,A0(e,new Date));case"usable":return Dt(e,Od(e));case"nightly":return Pd(Dt(e,zu[e]),"https://upstream-nightly.mage-os.org",$u());case"all":return Dt(e,Object.keys(Pe(e)));case"custom":return Dt(e,t.split(","));case"recent":return Dt(e,_d(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};var Xd={getConfig(A){return{image:A,env:{MYSQL_DATABASE:"magento_integration_tests",MYSQL_USER:"user",MYSQL_PASSWORD:"password",MYSQL_ROOT_PASSWORD:"rootpassword"},ports:["3306:3306"],options:'--health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3'}}},Zd={getConfig(A){return{image:A,env:{"discovery.type":"single-node","xpack.security.enabled":"false","xpack.security.http.ssl.enabled":"false","xpack.security.transport.ssl.enabled":"false"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Kd={getConfig(A){return{image:A,env:{"discovery.type":"single-node",DISABLE_INSTALL_DEMO_CONFIG:"true",DISABLE_SECURITY_PLUGIN:"true"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},zd={getConfig(A){return{image:A,env:{RABBITMQ_DEFAULT_USER:"guest",RABBITMQ_DEFAULT_PASS:"guest"},ports:["5672:5672"]}}},$d={getConfig(A){return{image:A,ports:["6379:6379"]}}},Af={getConfig(A){return{image:A,ports:["6379:6379"]}}},ef=(A,e)=>({image:A,ports:["80:80"],volumes:[`${e}:/var/www/html`],options:'--health-cmd "nginx -t" --health-interval=10s --health-retries=3 --health-timeout=5s --health-start-period=5s'}),tf=(A,e)=>({image:`mappia/magento-php:fpm-alpine${A}`,volumes:[`${e}:/var/www/html`]});var aM=(A,e)=>e==="opensearch"?A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:null:e==="elasticsearch"?A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null:A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null,gM=(A,e)=>e==="valkey"?A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:null:e==="redis"?A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null:A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null,rf=(A,e={},t="")=>{let r={};A.mysql&&A.mysql.trim()!==""&&(r.mysql=Xd.getConfig(A.mysql));let s=aM(A,e.search);s&&(s.type==="opensearch"?r.opensearch=Kd.getConfig(s.image):r.elasticsearch=Zd.getConfig(s.image)),A.rabbitmq&&A.rabbitmq.trim()!==""&&(r.rabbitmq=zd.getConfig(A.rabbitmq));let i=gM(A,e.cache);i&&(i.type==="valkey"?r.valkey=Af.getConfig(i.image):r.redis=$d.getConfig(i.image));let n=(A.nginx||"").trim(),o=String(A.php??"").trim();return n!==""&&o!==""&&(r.nginx=ef(n,t),r["php-fpm"]=tf(o,t)),r};var $c={mysql:"db",elasticsearch:"search",opensearch:"search",rabbitmq:"queue",redis:"cache",valkey:"cache"},sf={db:["mysql"],search:["opensearch","elasticsearch"],queue:["rabbitmq"],cache:["valkey","redis"]},AE=Object.keys($c);var eE=A=>{let e=(A||"").trim();if(e==="")return{};let t=e.split(",").map(s=>s.trim()).filter(s=>s!==""),r={};for(let s of t){let i=$c[s];if(!i)throw new Error(`service_preferences: unknown service "${s}". Known services: ${AE.join(", ")}`);let n=r[i];if(n)throw new Error(`service_preferences: collision in tier "${i}" \u2014 both "${n}" and "${s}" specified`);r[i]=s}return r};var tE=(A,e)=>{let t=[];for(let r of Object.keys(A)){let s=A[r],i=sf[r],n=[];for(let o of e){let a=o[s];if(!(typeof a=="string"&&a.trim()!=="")){let c=i.filter(E=>{let Q=o[E];return typeof Q=="string"&&Q.trim()!==""});n.push({version:o.version,supported:c})}}if(n.length>0){let o=n.map(a=>` - magento ${a.version} (supported: ${a.supported.length>0?a.supported.join(", "):""})`).join(` +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}w.getBooleanInput=JS;function VS(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Pt.issueFileCommand)("OUTPUT",(0,Pt.prepareKeyValueMessage)(A,e));process.stdout.write(xu.EOL),(0,me.issueCommand)("set-output",{name:A},(0,Vr.toCommandValue)(e))}w.setOutput=VS;function HS(A){(0,me.issue)("echo",A?"on":"off")}w.setCommandEcho=HS;function OS(A){process.exitCode=Rc.Failure,Mu(A)}w.setFailed=OS;function WS(){return process.env.RUNNER_DEBUG==="1"}w.isDebug=WS;function PS(A){(0,me.issueCommand)("debug",{},A)}w.debug=PS;function Mu(A,e={}){(0,me.issueCommand)("error",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.error=Mu;function _S(A,e={}){(0,me.issueCommand)("warning",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.warning=_S;function jS(A,e={}){(0,me.issueCommand)("notice",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.notice=jS;function XS(A){process.stdout.write(A+xu.EOL)}w.info=XS;function Tu(A){(0,me.issue)("group",A)}w.startGroup=Tu;function qu(){(0,me.issue)("endgroup")}w.endGroup=qu;function ZS(A,e){return Lu(this,void 0,void 0,function*(){Tu(A);let t;try{t=yield e()}finally{qu()}return t})}w.group=ZS;function KS(A,e){if(process.env.GITHUB_STATE||"")return(0,Pt.issueFileCommand)("STATE",(0,Pt.prepareKeyValueMessage)(A,e));(0,me.issueCommand)("save-state",{name:A},(0,Vr.toCommandValue)(e))}w.saveState=KS;function zS(A){return process.env[`STATE_${A}`]||""}w.getState=zS;function $S(A){return Lu(this,void 0,void 0,function*(){return yield TS.OidcClient.getIDToken(A)})}w.getIDToken=$S;var AU=fc();Object.defineProperty(w,"summary",{enumerable:!0,get:function(){return AU.summary}});var eU=fc();Object.defineProperty(w,"markdownSummary",{enumerable:!0,get:function(){return eU.markdownSummary}});var Nc=Eu();Object.defineProperty(w,"toPosixPath",{enumerable:!0,get:function(){return Nc.toPosixPath}});Object.defineProperty(w,"toWin32Path",{enumerable:!0,get:function(){return Nc.toWin32Path}});Object.defineProperty(w,"toPlatformPath",{enumerable:!0,get:function(){return Nc.toPlatformPath}});w.platform=bc(Uu())});var Vu=B((M1,rU)=>{rU.exports={"mage-os/project-community-edition:1.0.0":{magento:"mage-os/project-community-edition:1.0.0",upstream:"2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2023-10-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.1":{magento:"mage-os/project-community-edition:1.0.1",upstream:"2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-11T00:00:00+0000",eol:"2024-07-17T00:00:00+0000"},"mage-os/project-community-edition:1.0.2":{magento:"mage-os/project-community-edition:1.0.2",upstream:"2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-18T00:00:00+0000",eol:"2024-07-22T00:00:00+0000"},"mage-os/project-community-edition:1.0.3":{magento:"mage-os/project-community-edition:1.0.3",upstream:"2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-23T00:00:00+0000",eol:"2024-08-19T00:00:00+0000"},"mage-os/project-community-edition:1.0.4":{magento:"mage-os/project-community-edition:1.0.4",upstream:"2.4.7-p2",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-20T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"mage-os/project-community-edition:1.0.5":{magento:"mage-os/project-community-edition:1.0.5",upstream:"2.4.7-p3",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-09T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.6":{magento:"mage-os/project-community-edition:1.0.6",upstream:"2.4.7-p4",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-12T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",upstream:"2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",upstream:"2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",upstream:"2.4.8-p1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:1.3.0":{magento:"mage-os/project-community-edition:1.3.0",upstream:"2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-09-08T00:00:00+0000"},"mage-os/project-community-edition:1.3.1":{magento:"mage-os/project-community-edition:1.3.1",upstream:"2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-09-09T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:2.0.0":{magento:"mage-os/project-community-edition:2.0.0",upstream:"2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2026-01-20T00:00:00+0000"},"mage-os/project-community-edition:2.1.0":{magento:"mage-os/project-community-edition:2.1.0",upstream:"2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-01-20T00:00:00+0000",eol:"2026-03-10T00:00:00+0000"},"mage-os/project-community-edition:2.2.0":{magento:"mage-os/project-community-edition:2.2.0",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-03-18T00:00:00+0000"},"mage-os/project-community-edition:2.2.1":{magento:"mage-os/project-community-edition:2.2.1",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-18T00:00:00+0000",eol:"2026-04-15T00:00:00+0000"},"mage-os/project-community-edition:2.2.2":{magento:"mage-os/project-community-edition:2.2.2",upstream:"2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",redis:"redis:7.2",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-04-15T00:00:00+0000",eol:"2026-05-13T00:00:00+0000"},"mage-os/project-community-edition:2.3.0":{magento:"mage-os/project-community-edition:2.3.0",upstream:"2.4.8-p5",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-05-13T00:00:00+0000",eol:"2026-05-19T00:00:00+0000"},"mage-os/project-community-edition:3.0.0":{magento:"mage-os/project-community-edition:3.0.0",upstream:"2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Hu=B((T1,sU)=>{sU.exports={"mage-os/project-minimal-edition:3.0.0":{magento:"mage-os/project-minimal-edition:3.0.0",upstream:"2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Ou=B((q1,iU)=>{iU.exports={"magento/project-community-edition:2.3.7-p3":{magento:"magento/project-community-edition:2.3.7-p3",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.3.7-p4":{magento:"magento/project-community-edition:2.3.7-p4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2020-10-15T00:00:00+0000"},"magento/project-community-edition:2.4.0-p1":{magento:"magento/project-community-edition:2.4.0-p1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2021-02-09T00:00:00+0000"},"magento/project-community-edition:2.4.1-p1":{magento:"magento/project-community-edition:2.4.1-p1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.2":{magento:"magento/project-community-edition:2.4.2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2021-05-11T00:00:00+0000"},"magento/project-community-edition:2.4.2-p1":{magento:"magento/project-community-edition:2.4.2-p1",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-05-11T00:00:00+0000",eol:"2021-08-10T00:00:00+0000"},"magento/project-community-edition:2.4.2-p2":{magento:"magento/project-community-edition:2.4.2-p2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.3":{magento:"magento/project-community-edition:2.4.3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2021-10-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p1":{magento:"magento/project-community-edition:2.4.3-p1",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-10-12T00:00:00+0000",eol:"2022-04-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p2":{magento:"magento/project-community-edition:2.4.3-p2",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.3-p3":{magento:"magento/project-community-edition:2.4.3-p3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.4":{magento:"magento/project-community-edition:2.4.4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p1":{magento:"magento/project-community-edition:2.4.4-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p2":{magento:"magento/project-community-edition:2.4.4-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.4-p3":{magento:"magento/project-community-edition:2.4.4-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p4":{magento:"magento/project-community-edition:2.4.4-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p5":{magento:"magento/project-community-edition:2.4.4-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.4-p6":{magento:"magento/project-community-edition:2.4.4-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.4-p7":{magento:"magento/project-community-edition:2.4.4-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p8":{magento:"magento/project-community-edition:2.4.4-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p9":{magento:"magento/project-community-edition:2.4.4-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p10":{magento:"magento/project-community-edition:2.4.4-p10",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p11":{magento:"magento/project-community-edition:2.4.4-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p12":{magento:"magento/project-community-edition:2.4.4-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:2.4.5":{magento:"magento/project-community-edition:2.4.5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p1":{magento:"magento/project-community-edition:2.4.5-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.5-p2":{magento:"magento/project-community-edition:2.4.5-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p3":{magento:"magento/project-community-edition:2.4.5-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p4":{magento:"magento/project-community-edition:2.4.5-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p5":{magento:"magento/project-community-edition:2.4.5-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p6":{magento:"magento/project-community-edition:2.4.5-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.5-p7":{magento:"magento/project-community-edition:2.4.5-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p8":{magento:"magento/project-community-edition:2.4.5-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p9":{magento:"magento/project-community-edition:2.4.5-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p10":{magento:"magento/project-community-edition:2.4.5-p10",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p11":{magento:"magento/project-community-edition:2.4.5-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p13":{magento:"magento/project-community-edition:2.4.5-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p14":{magento:"magento/project-community-edition:2.4.5-p14",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6":{magento:"magento/project-community-edition:2.4.6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p1":{magento:"magento/project-community-edition:2.4.6-p1",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p2":{magento:"magento/project-community-edition:2.4.6-p2",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p3":{magento:"magento/project-community-edition:2.4.6-p3",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p4":{magento:"magento/project-community-edition:2.4.6-p4",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p5":{magento:"magento/project-community-edition:2.4.6-p5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p6":{magento:"magento/project-community-edition:2.4.6-p6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p7":{magento:"magento/project-community-edition:2.4.6-p7",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p8":{magento:"magento/project-community-edition:2.4.6-p8",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p9":{magento:"magento/project-community-edition:2.4.6-p9",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p11":{magento:"magento/project-community-edition:2.4.6-p11",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p12":{magento:"magento/project-community-edition:2.4.6-p12",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.6-p13":{magento:"magento/project-community-edition:2.4.6-p13",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p14":{magento:"magento/project-community-edition:2.4.6-p14",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.2",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.1-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.6-p15":{magento:"magento/project-community-edition:2.4.6-p15",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2026-08-11T00:00:00+0000"},"magento/project-community-edition:2.4.7":{magento:"magento/project-community-edition:2.4.7",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p1":{magento:"magento/project-community-edition:2.4.7-p1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.7-p2":{magento:"magento/project-community-edition:2.4.7-p2",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p3":{magento:"magento/project-community-edition:2.4.7-p3",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p4":{magento:"magento/project-community-edition:2.4.7-p4",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.7-p6":{magento:"magento/project-community-edition:2.4.7-p6",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.7-p7":{magento:"magento/project-community-edition:2.4.7-p7",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.7-p8":{magento:"magento/project-community-edition:2.4.7-p8",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.7-p9":{magento:"magento/project-community-edition:2.4.7-p9",php:8.3,composer:"2.9.8",mysql:"mariadb:10.11",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.1-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.7-p10":{magento:"magento/project-community-edition:2.4.7-p10",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.15",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2027-05-31T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.8-p1":{magento:"magento/project-community-edition:2.4.8-p1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.5",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.8-p2":{magento:"magento/project-community-edition:2.4.8-p2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.8-p3":{magento:"magento/project-community-edition:2.4.8-p3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-09T00:00:00+0000"},"magento/project-community-edition:2.4.8-p4":{magento:"magento/project-community-edition:2.4.8-p4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-07T00:00:00+0000"},"magento/project-community-edition:2.4.8-p5":{magento:"magento/project-community-edition:2.4.8-p5",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2028-05-31T00:00:00+0000"},"magento/project-community-edition:2.4.9":{magento:"magento/project-community-edition:2.4.9",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"}}});var Wu=B((v1,nU)=>{nU.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-community-edition:>=1.0 <1.1":{magento:"mage-os/project-community-edition:>=1.0 <1.1",php:8.3,composer:"2.9.8",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:>=1.3 <1.4":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:>=2.0 <2.1":{magento:"mage-os/project-community-edition:>=2.0 <2.1",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2026-01-20T00:00:00+0000"},"mage-os/project-community-edition:>=2.1 <2.2":{magento:"mage-os/project-community-edition:>=2.1 <2.2",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-01-20T00:00:00+0000",eol:"2026-03-10T00:00:00+0000"},"mage-os/project-community-edition:>=2.2 <2.3":{magento:"mage-os/project-community-edition:>=2.2 <2.3",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.1-management",valkey:"valkey/valkey:8.0",redis:"redis:7.2",varnish:"varnish:7.7",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-03-10T00:00:00+0000",eol:"2026-05-13T00:00:00+0000"},"mage-os/project-community-edition:>=2.3 <2.4":{magento:"mage-os/project-community-edition:>=2.3 <2.4",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2026-05-13T00:00:00+0000",eol:"2026-05-19T00:00:00+0000"},"mage-os/project-community-edition:>=3.0 <3.1":{magento:"mage-os/project-community-edition:>=3.0 <3.1",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var Pu=B((Y1,oU)=>{oU.exports={"mage-os/project-minimal-edition":{magento:"mage-os/project-minimal-edition",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-minimal-edition:next":{magento:"mage-os/project-minimal-edition:next",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"},"mage-os/project-minimal-edition:>=3.0 <3.1":{magento:"mage-os/project-minimal-edition:>=3.0 <3.1",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-19T00:00:00+0000",eol:"2029-05-19T00:00:00+0000"}}});var _u=B((G1,aU)=>{aU.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:>=2.4.5 <2.4.6":{magento:"magento/project-community-edition:>=2.4.5 <2.4.6",php:8.1,composer:"2.2.28",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-08-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.6 <2.4.7":{magento:"magento/project-community-edition:>=2.4.6 <2.4.7",php:8.2,composer:"2.2.28",mysql:"mysql:8.0",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-08-11T00:00:00+0000"},"magento/project-community-edition:>=2.4.7 <2.4.8":{magento:"magento/project-community-edition:>=2.4.7 <2.4.8",php:8.3,composer:"2.9.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.19.15",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-05-31T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:8.1",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-05-31T00:00:00+0000"},"magento/project-community-edition:>=2.4.9 <2.4.10":{magento:"magento/project-community-edition:>=2.4.9 <2.4.10",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",valkey:"valkey/valkey:9",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:@alpha",php:8.5,composer:"2.9.8",mysql:"mysql:8.4",valkey:"valkey/valkey:9",opensearch:"opensearchproject/opensearch:3",rabbitmq:"rabbitmq:4.2-management",varnish:"varnish:8",nginx:"nginx:1.28",os:"ubuntu-latest",release:"2026-05-07T00:00:00+0000",eol:"2029-05-31T00:00:00+0000"}}});var xs=B((Z1,e0)=>{"use strict";var EU="2.0.0",QU=Number.MAX_SAFE_INTEGER||9007199254740991,CU=16,BU=250,hU=["major","premajor","minor","preminor","patch","prepatch","prerelease"];e0.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:CU,MAX_SAFE_BUILD_LENGTH:BU,MAX_SAFE_INTEGER:QU,RELEASE_TYPES:hU,SEMVER_SPEC_VERSION:EU,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ms=B((K1,t0)=>{"use strict";var IU=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};t0.exports=IU});var Hr=B((_e,r0)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Uc,MAX_SAFE_BUILD_LENGTH:lU,MAX_LENGTH:uU}=xs(),dU=Ms();_e=r0.exports={};var fU=_e.re=[],mU=_e.safeRe=[],m=_e.src=[],pU=_e.safeSrc=[],p=_e.t={},yU=0,Lc="[a-zA-Z0-9-]",wU=[["\\s",1],["\\d",uU],[Lc,lU]],DU=A=>{for(let[e,t]of wU)A=A.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return A},x=(A,e,t)=>{let r=DU(e),s=yU++;dU(A,s,e),p[A]=s,m[s]=e,pU[s]=r,fU[s]=new RegExp(e,t?"g":void 0),mU[s]=new RegExp(r,t?"g":void 0)};x("NUMERICIDENTIFIER","0|[1-9]\\d*");x("NUMERICIDENTIFIERLOOSE","\\d+");x("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Lc}*`);x("MAINVERSION",`(${m[p.NUMERICIDENTIFIER]})\\.(${m[p.NUMERICIDENTIFIER]})\\.(${m[p.NUMERICIDENTIFIER]})`);x("MAINVERSIONLOOSE",`(${m[p.NUMERICIDENTIFIERLOOSE]})\\.(${m[p.NUMERICIDENTIFIERLOOSE]})\\.(${m[p.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASEIDENTIFIER",`(?:${m[p.NONNUMERICIDENTIFIER]}|${m[p.NUMERICIDENTIFIER]})`);x("PRERELEASEIDENTIFIERLOOSE",`(?:${m[p.NONNUMERICIDENTIFIER]}|${m[p.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASE",`(?:-(${m[p.PRERELEASEIDENTIFIER]}(?:\\.${m[p.PRERELEASEIDENTIFIER]})*))`);x("PRERELEASELOOSE",`(?:-?(${m[p.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${m[p.PRERELEASEIDENTIFIERLOOSE]})*))`);x("BUILDIDENTIFIER",`${Lc}+`);x("BUILD",`(?:\\+(${m[p.BUILDIDENTIFIER]}(?:\\.${m[p.BUILDIDENTIFIER]})*))`);x("FULLPLAIN",`v?${m[p.MAINVERSION]}${m[p.PRERELEASE]}?${m[p.BUILD]}?`);x("FULL",`^${m[p.FULLPLAIN]}$`);x("LOOSEPLAIN",`[v=\\s]*${m[p.MAINVERSIONLOOSE]}${m[p.PRERELEASELOOSE]}?${m[p.BUILD]}?`);x("LOOSE",`^${m[p.LOOSEPLAIN]}$`);x("GTLT","((?:<|>)?=?)");x("XRANGEIDENTIFIERLOOSE",`${m[p.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);x("XRANGEIDENTIFIER",`${m[p.NUMERICIDENTIFIER]}|x|X|\\*`);x("XRANGEPLAIN",`[v=\\s]*(${m[p.XRANGEIDENTIFIER]})(?:\\.(${m[p.XRANGEIDENTIFIER]})(?:\\.(${m[p.XRANGEIDENTIFIER]})(?:${m[p.PRERELEASE]})?${m[p.BUILD]}?)?)?`);x("XRANGEPLAINLOOSE",`[v=\\s]*(${m[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${m[p.XRANGEIDENTIFIERLOOSE]})(?:\\.(${m[p.XRANGEIDENTIFIERLOOSE]})(?:${m[p.PRERELEASELOOSE]})?${m[p.BUILD]}?)?)?`);x("XRANGE",`^${m[p.GTLT]}\\s*${m[p.XRANGEPLAIN]}$`);x("XRANGELOOSE",`^${m[p.GTLT]}\\s*${m[p.XRANGEPLAINLOOSE]}$`);x("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Uc}})(?:\\.(\\d{1,${Uc}}))?(?:\\.(\\d{1,${Uc}}))?`);x("COERCE",`${m[p.COERCEPLAIN]}(?:$|[^\\d])`);x("COERCEFULL",m[p.COERCEPLAIN]+`(?:${m[p.PRERELEASE]})?(?:${m[p.BUILD]})?(?:$|[^\\d])`);x("COERCERTL",m[p.COERCE],!0);x("COERCERTLFULL",m[p.COERCEFULL],!0);x("LONETILDE","(?:~>?)");x("TILDETRIM",`(\\s*)${m[p.LONETILDE]}\\s+`,!0);_e.tildeTrimReplace="$1~";x("TILDE",`^${m[p.LONETILDE]}${m[p.XRANGEPLAIN]}$`);x("TILDELOOSE",`^${m[p.LONETILDE]}${m[p.XRANGEPLAINLOOSE]}$`);x("LONECARET","(?:\\^)");x("CARETTRIM",`(\\s*)${m[p.LONECARET]}\\s+`,!0);_e.caretTrimReplace="$1^";x("CARET",`^${m[p.LONECARET]}${m[p.XRANGEPLAIN]}$`);x("CARETLOOSE",`^${m[p.LONECARET]}${m[p.XRANGEPLAINLOOSE]}$`);x("COMPARATORLOOSE",`^${m[p.GTLT]}\\s*(${m[p.LOOSEPLAIN]})$|^$`);x("COMPARATOR",`^${m[p.GTLT]}\\s*(${m[p.FULLPLAIN]})$|^$`);x("COMPARATORTRIM",`(\\s*)${m[p.GTLT]}\\s*(${m[p.LOOSEPLAIN]}|${m[p.XRANGEPLAIN]})`,!0);_e.comparatorTrimReplace="$1$2$3";x("HYPHENRANGE",`^\\s*(${m[p.XRANGEPLAIN]})\\s+-\\s+(${m[p.XRANGEPLAIN]})\\s*$`);x("HYPHENRANGELOOSE",`^\\s*(${m[p.XRANGEPLAINLOOSE]})\\s+-\\s+(${m[p.XRANGEPLAINLOOSE]})\\s*$`);x("STAR","(<|>)?=?\\s*\\*");x("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");x("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var On=B((z1,s0)=>{"use strict";var RU=Object.freeze({loose:!0}),bU=Object.freeze({}),kU=A=>A?typeof A!="object"?RU:A:bU;s0.exports=kU});var xc=B(($1,o0)=>{"use strict";var i0=/^[0-9]+$/,n0=(A,e)=>{if(typeof A=="number"&&typeof e=="number")return A===e?0:An0(e,A);o0.exports={compareIdentifiers:n0,rcompareIdentifiers:NU}});var NA=B((Aq,g0)=>{"use strict";var Wn=Ms(),{MAX_LENGTH:a0,MAX_SAFE_INTEGER:Pn}=xs(),{safeRe:_n,t:jn}=Hr(),FU=On(),{compareIdentifiers:Mc}=xc(),Tc=class A{constructor(e,t){if(t=FU(t),e instanceof A){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>a0)throw new TypeError(`version is longer than ${a0} characters`);Wn("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?_n[jn.LOOSE]:_n[jn.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Pn||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Pn||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Pn||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&ie.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(e){if(e instanceof A||(e=new A(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],s=e.prerelease[t];if(Wn("prerelease compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}compareBuild(e){e instanceof A||(e=new A(e,this.options));let t=0;do{let r=this.build[t],s=e.build[t];if(Wn("build compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?_n[jn.PRERELEASELOOSE]:_n[jn.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];r===!1&&(i=[t]),Mc(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};g0.exports=Tc});var _t=B((eq,E0)=>{"use strict";var c0=NA(),SU=(A,e,t=!1)=>{if(A instanceof c0)return A;try{return new c0(A,e)}catch(r){if(!t)return null;throw r}};E0.exports=SU});var C0=B((tq,Q0)=>{"use strict";var UU=_t(),LU=(A,e)=>{let t=UU(A,e);return t?t.version:null};Q0.exports=LU});var h0=B((rq,B0)=>{"use strict";var xU=_t(),MU=(A,e)=>{let t=xU(A.trim().replace(/^[=v]+/,""),e);return t?t.version:null};B0.exports=MU});var u0=B((sq,l0)=>{"use strict";var I0=NA(),TU=(A,e,t,r,s)=>{typeof t=="string"&&(s=r,r=t,t=void 0);try{return new I0(A instanceof I0?A.version:A,t).inc(e,r,s).version}catch{return null}};l0.exports=TU});var m0=B((iq,f0)=>{"use strict";var d0=_t(),qU=(A,e)=>{let t=d0(A,null,!0),r=d0(e,null,!0),s=t.compare(r);if(s===0)return null;let i=s>0,n=i?t:r,o=i?r:t,a=!!n.prerelease.length;if(!!o.prerelease.length&&!a){if(!o.patch&&!o.minor)return"major";if(o.compareMain(n)===0)return o.minor&&!o.patch?"minor":"patch"}let c=a?"pre":"";return t.major!==r.major?c+"major":t.minor!==r.minor?c+"minor":t.patch!==r.patch?c+"patch":"prerelease"};f0.exports=qU});var y0=B((nq,p0)=>{"use strict";var vU=NA(),YU=(A,e)=>new vU(A,e).major;p0.exports=YU});var D0=B((oq,w0)=>{"use strict";var GU=NA(),JU=(A,e)=>new GU(A,e).minor;w0.exports=JU});var b0=B((aq,R0)=>{"use strict";var VU=NA(),HU=(A,e)=>new VU(A,e).patch;R0.exports=HU});var N0=B((gq,k0)=>{"use strict";var OU=_t(),WU=(A,e)=>{let t=OU(A,e);return t&&t.prerelease.length?t.prerelease:null};k0.exports=WU});var pe=B((cq,S0)=>{"use strict";var F0=NA(),PU=(A,e,t)=>new F0(A,t).compare(new F0(e,t));S0.exports=PU});var L0=B((Eq,U0)=>{"use strict";var _U=pe(),jU=(A,e,t)=>_U(e,A,t);U0.exports=jU});var M0=B((Qq,x0)=>{"use strict";var XU=pe(),ZU=(A,e)=>XU(A,e,!0);x0.exports=ZU});var Xn=B((Cq,q0)=>{"use strict";var T0=NA(),KU=(A,e,t)=>{let r=new T0(A,t),s=new T0(e,t);return r.compare(s)||r.compareBuild(s)};q0.exports=KU});var Y0=B((Bq,v0)=>{"use strict";var zU=Xn(),$U=(A,e)=>A.sort((t,r)=>zU(t,r,e));v0.exports=$U});var J0=B((hq,G0)=>{"use strict";var AL=Xn(),eL=(A,e)=>A.sort((t,r)=>AL(r,t,e));G0.exports=eL});var Ts=B((Iq,V0)=>{"use strict";var tL=pe(),rL=(A,e,t)=>tL(A,e,t)>0;V0.exports=rL});var Zn=B((lq,H0)=>{"use strict";var sL=pe(),iL=(A,e,t)=>sL(A,e,t)<0;H0.exports=iL});var qc=B((uq,O0)=>{"use strict";var nL=pe(),oL=(A,e,t)=>nL(A,e,t)===0;O0.exports=oL});var vc=B((dq,W0)=>{"use strict";var aL=pe(),gL=(A,e,t)=>aL(A,e,t)!==0;W0.exports=gL});var Kn=B((fq,P0)=>{"use strict";var cL=pe(),EL=(A,e,t)=>cL(A,e,t)>=0;P0.exports=EL});var zn=B((mq,_0)=>{"use strict";var QL=pe(),CL=(A,e,t)=>QL(A,e,t)<=0;_0.exports=CL});var Yc=B((pq,j0)=>{"use strict";var BL=qc(),hL=vc(),IL=Ts(),lL=Kn(),uL=Zn(),dL=zn(),fL=(A,e,t,r)=>{switch(e){case"===":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A===t;case"!==":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A!==t;case"":case"=":case"==":return BL(A,t,r);case"!=":return hL(A,t,r);case">":return IL(A,t,r);case">=":return lL(A,t,r);case"<":return uL(A,t,r);case"<=":return dL(A,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};j0.exports=fL});var Z0=B((yq,X0)=>{"use strict";var mL=NA(),pL=_t(),{safeRe:$n,t:Ao}=Hr(),yL=(A,e)=>{if(A instanceof mL)return A;if(typeof A=="number"&&(A=String(A)),typeof A!="string")return null;e=e||{};let t=null;if(!e.rtl)t=A.match(e.includePrerelease?$n[Ao.COERCEFULL]:$n[Ao.COERCE]);else{let a=e.includePrerelease?$n[Ao.COERCERTLFULL]:$n[Ao.COERCERTL],g;for(;(g=a.exec(A))&&(!t||t.index+t[0].length!==A.length);)(!t||g.index+g[0].length!==t.index+t[0].length)&&(t=g),a.lastIndex=g.index+g[1].length+g[2].length;a.lastIndex=-1}if(t===null)return null;let r=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",o=e.includePrerelease&&t[6]?`+${t[6]}`:"";return pL(`${r}.${s}.${i}${n}${o}`,e)};X0.exports=yL});var z0=B((wq,K0)=>{"use strict";var Gc=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};K0.exports=Gc});var ye=B((Dq,td)=>{"use strict";var wL=/\s+/g,Jc=class A{constructor(e,t){if(t=RL(t),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof Vc)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(wL," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!Ad(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&LL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&SL)|(this.options.loose&&UL))+":"+e,s=$0.get(r);if(s)return s;let i=this.options.loose,n=i?vA[FA.HYPHENRANGELOOSE]:vA[FA.HYPHENRANGE];e=e.replace(n,HL(this.options.includePrerelease)),tA("hyphen replace",e),e=e.replace(vA[FA.COMPARATORTRIM],kL),tA("comparator trim",e),e=e.replace(vA[FA.TILDETRIM],NL),tA("tilde trim",e),e=e.replace(vA[FA.CARETTRIM],FL),tA("caret trim",e);let o=e.split(" ").map(E=>xL(E,this.options)).join(" ").split(/\s+/).map(E=>VL(E,this.options));i&&(o=o.filter(E=>(tA("loose invalid filter",E,this.options),!!E.match(vA[FA.COMPARATORLOOSE])))),tA("range list",o);let a=new Map,g=o.map(E=>new Vc(E,this.options));for(let E of g){if(Ad(E))return[E];a.set(E.value,E)}a.size>1&&a.has("")&&a.delete("");let c=[...a.values()];return $0.set(r,c),c}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>ed(r,t)&&e.set.some(s=>ed(s,t)&&r.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new bL(e,this.options)}catch{return!1}for(let t=0;tA.value==="<0.0.0-0",LL=A=>A.value==="",ed=(A,e)=>{let t=!0,r=A.slice(),s=r.pop();for(;t&&r.length;)t=r.every(i=>s.intersects(i,e)),s=r.pop();return t},xL=(A,e)=>(A=A.replace(vA[FA.BUILD],""),tA("comp",A,e),A=qL(A,e),tA("caret",A),A=ML(A,e),tA("tildes",A),A=YL(A,e),tA("xrange",A),A=JL(A,e),tA("stars",A),A),YA=A=>!A||A.toLowerCase()==="x"||A==="*",ML=(A,e)=>A.trim().split(/\s+/).map(t=>TL(t,e)).join(" "),TL=(A,e)=>{let t=e.loose?vA[FA.TILDELOOSE]:vA[FA.TILDE];return A.replace(t,(r,s,i,n,o)=>{tA("tilde",A,r,s,i,n,o);let a;return YA(s)?a="":YA(i)?a=`>=${s}.0.0 <${+s+1}.0.0-0`:YA(n)?a=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(tA("replaceTilde pr",o),a=`>=${s}.${i}.${n}-${o} <${s}.${+i+1}.0-0`):a=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,tA("tilde return",a),a})},qL=(A,e)=>A.trim().split(/\s+/).map(t=>vL(t,e)).join(" "),vL=(A,e)=>{tA("caret",A,e);let t=e.loose?vA[FA.CARETLOOSE]:vA[FA.CARET],r=e.includePrerelease?"-0":"";return A.replace(t,(s,i,n,o,a)=>{tA("caret",A,s,i,n,o,a);let g;return YA(i)?g="":YA(n)?g=`>=${i}.0.0${r} <${+i+1}.0.0-0`:YA(o)?i==="0"?g=`>=${i}.${n}.0${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.0${r} <${+i+1}.0.0-0`:a?(tA("replaceCaret pr",a),i==="0"?n==="0"?g=`>=${i}.${n}.${o}-${a} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}-${a} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o}-${a} <${+i+1}.0.0-0`):(tA("no pr"),i==="0"?n==="0"?g=`>=${i}.${n}.${o}${r} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o} <${+i+1}.0.0-0`),tA("caret return",g),g})},YL=(A,e)=>(tA("replaceXRanges",A,e),A.split(/\s+/).map(t=>GL(t,e)).join(" ")),GL=(A,e)=>{A=A.trim();let t=e.loose?vA[FA.XRANGELOOSE]:vA[FA.XRANGE];return A.replace(t,(r,s,i,n,o,a)=>{tA("xRange",A,r,s,i,n,o,a);let g=YA(i),c=g||YA(n),E=c||YA(o),Q=E;return s==="="&&Q&&(s=""),a=e.includePrerelease?"-0":"",g?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&Q?(c&&(n=0),o=0,s===">"?(s=">=",c?(i=+i+1,n=0,o=0):(n=+n+1,o=0)):s==="<="&&(s="<",c?i=+i+1:n=+n+1),s==="<"&&(a="-0"),r=`${s+i}.${n}.${o}${a}`):c?r=`>=${i}.0.0${a} <${+i+1}.0.0-0`:E&&(r=`>=${i}.${n}.0${a} <${i}.${+n+1}.0-0`),tA("xRange return",r),r})},JL=(A,e)=>(tA("replaceStars",A,e),A.trim().replace(vA[FA.STAR],"")),VL=(A,e)=>(tA("replaceGTE0",A,e),A.trim().replace(vA[e.includePrerelease?FA.GTE0PRE:FA.GTE0],"")),HL=A=>(e,t,r,s,i,n,o,a,g,c,E,Q)=>(YA(r)?t="":YA(s)?t=`>=${r}.0.0${A?"-0":""}`:YA(i)?t=`>=${r}.${s}.0${A?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${A?"-0":""}`,YA(g)?a="":YA(c)?a=`<${+g+1}.0.0-0`:YA(E)?a=`<${g}.${+c+1}.0-0`:Q?a=`<=${g}.${c}.${E}-${Q}`:A?a=`<${g}.${c}.${+E+1}-0`:a=`<=${a}`,`${t} ${a}`.trim()),OL=(A,e,t)=>{for(let r=0;r0){let s=A[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var qs=B((Rq,ad)=>{"use strict";var vs=Symbol("SemVer ANY"),Wc=class A{static get ANY(){return vs}constructor(e,t){if(t=rd(t),e instanceof A){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Oc("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===vs?this.value="":this.value=this.operator+this.semver.version,Oc("comp",this)}parse(e){let t=this.options.loose?sd[id.COMPARATORLOOSE]:sd[id.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new nd(r[2],this.options.loose):this.semver=vs}toString(){return this.value}test(e){if(Oc("Comparator.test",e,this.options.loose),this.semver===vs||e===vs)return!0;if(typeof e=="string")try{e=new nd(e,this.options)}catch{return!1}return Hc(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new od(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new od(this.value,t).test(e.semver):(t=rd(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Hc(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Hc(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};ad.exports=Wc;var rd=On(),{safeRe:sd,t:id}=Hr(),Hc=Yc(),Oc=Ms(),nd=NA(),od=ye()});var Ys=B((bq,gd)=>{"use strict";var WL=ye(),PL=(A,e,t)=>{try{e=new WL(e,t)}catch{return!1}return e.test(A)};gd.exports=PL});var Ed=B((kq,cd)=>{"use strict";var _L=ye(),jL=(A,e)=>new _L(A,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));cd.exports=jL});var Cd=B((Nq,Qd)=>{"use strict";var XL=NA(),ZL=ye(),KL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new ZL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===-1)&&(r=n,s=new XL(r,t))}),r};Qd.exports=KL});var hd=B((Fq,Bd)=>{"use strict";var zL=NA(),$L=ye(),Ax=(A,e,t)=>{let r=null,s=null,i=null;try{i=new $L(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===1)&&(r=n,s=new zL(r,t))}),r};Bd.exports=Ax});var ud=B((Sq,ld)=>{"use strict";var Pc=NA(),ex=ye(),Id=Ts(),tx=(A,e)=>{A=new ex(A,e);let t=new Pc("0.0.0");if(A.test(t)||(t=new Pc("0.0.0-0"),A.test(t)))return t;t=null;for(let r=0;r{let o=new Pc(n.semver.version);switch(n.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||Id(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||Id(t,i))&&(t=i)}return t&&A.test(t)?t:null};ld.exports=tx});var fd=B((Uq,dd)=>{"use strict";var rx=ye(),sx=(A,e)=>{try{return new rx(A,e).range||"*"}catch{return null}};dd.exports=sx});var eo=B((Lq,wd)=>{"use strict";var ix=NA(),yd=qs(),{ANY:nx}=yd,ox=ye(),ax=Ys(),md=Ts(),pd=Zn(),gx=zn(),cx=Kn(),Ex=(A,e,t,r)=>{A=new ix(A,r),e=new ox(e,r);let s,i,n,o,a;switch(t){case">":s=md,i=gx,n=pd,o=">",a=">=";break;case"<":s=pd,i=cx,n=md,o="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ax(A,e,r))return!1;for(let g=0;g{C.semver===nx&&(C=new yd(">=0.0.0")),E=E||C,Q=Q||C,s(C.semver,E.semver,r)?E=C:n(C.semver,Q.semver,r)&&(Q=C)}),E.operator===o||E.operator===a||(!Q.operator||Q.operator===o)&&i(A,Q.semver))return!1;if(Q.operator===a&&n(A,Q.semver))return!1}return!0};wd.exports=Ex});var Rd=B((xq,Dd)=>{"use strict";var Qx=eo(),Cx=(A,e,t)=>Qx(A,e,">",t);Dd.exports=Cx});var kd=B((Mq,bd)=>{"use strict";var Bx=eo(),hx=(A,e,t)=>Bx(A,e,"<",t);bd.exports=hx});var Sd=B((Tq,Fd)=>{"use strict";var Nd=ye(),Ix=(A,e,t)=>(A=new Nd(A,t),e=new Nd(e,t),A.intersects(e,t));Fd.exports=Ix});var Ld=B((qq,Ud)=>{"use strict";var lx=Ys(),ux=pe();Ud.exports=(A,e,t)=>{let r=[],s=null,i=null,n=A.sort((c,E)=>ux(c,E,t));for(let c of n)lx(c,e,t)?(i=c,s||(s=c)):(i&&r.push([s,i]),i=null,s=null);s&&r.push([s,null]);let o=[];for(let[c,E]of r)c===E?o.push(c):!E&&c===n[0]?o.push("*"):E?c===n[0]?o.push(`<=${E}`):o.push(`${c} - ${E}`):o.push(`>=${c}`);let a=o.join(" || "),g=typeof e.raw=="string"?e.raw:String(e);return a.length{"use strict";var xd=ye(),jc=qs(),{ANY:_c}=jc,Gs=Ys(),Xc=pe(),dx=(A,e,t={})=>{if(A===e)return!0;A=new xd(A,t),e=new xd(e,t);let r=!1;A:for(let s of A.set){for(let i of e.set){let n=mx(s,i,t);if(r=r||n!==null,n)continue A}if(r)return!1}return!0},fx=[new jc(">=0.0.0-0")],Md=[new jc(">=0.0.0")],mx=(A,e,t)=>{if(A===e)return!0;if(A.length===1&&A[0].semver===_c){if(e.length===1&&e[0].semver===_c)return!0;t.includePrerelease?A=fx:A=Md}if(e.length===1&&e[0].semver===_c){if(t.includePrerelease)return!0;e=Md}let r=new Set,s,i;for(let C of A)C.operator===">"||C.operator===">="?s=Td(s,C,t):C.operator==="<"||C.operator==="<="?i=qd(i,C,t):r.add(C.semver);if(r.size>1)return null;let n;if(s&&i){if(n=Xc(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let C of r){if(s&&!Gs(C,String(s),t)||i&&!Gs(C,String(i),t))return null;for(let h of e)if(!Gs(C,String(h),t))return!1;return!0}let o,a,g,c,E=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,Q=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;E&&E.prerelease.length===1&&i.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let C of e){if(c=c||C.operator===">"||C.operator===">=",g=g||C.operator==="<"||C.operator==="<=",s){if(Q&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===Q.major&&C.semver.minor===Q.minor&&C.semver.patch===Q.patch&&(Q=!1),C.operator===">"||C.operator===">="){if(o=Td(s,C,t),o===C&&o!==s)return!1}else if(s.operator===">="&&!Gs(s.semver,String(C),t))return!1}if(i){if(E&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===E.major&&C.semver.minor===E.minor&&C.semver.patch===E.patch&&(E=!1),C.operator==="<"||C.operator==="<="){if(a=qd(i,C,t),a===C&&a!==i)return!1}else if(i.operator==="<="&&!Gs(i.semver,String(C),t))return!1}if(!C.operator&&(i||s)&&n!==0)return!1}return!(s&&g&&!i&&n!==0||i&&c&&!s&&n!==0||Q||E)},Td=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r>0?A:r<0||e.operator===">"&&A.operator===">="?e:A},qd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r<0?A:r>0||e.operator==="<"&&A.operator==="<="?e:A};vd.exports=dx});var Hd=B((Yq,Vd)=>{"use strict";var Zc=Hr(),Gd=xs(),px=NA(),Jd=xc(),yx=_t(),wx=C0(),Dx=h0(),Rx=u0(),bx=m0(),kx=y0(),Nx=D0(),Fx=b0(),Sx=N0(),Ux=pe(),Lx=L0(),xx=M0(),Mx=Xn(),Tx=Y0(),qx=J0(),vx=Ts(),Yx=Zn(),Gx=qc(),Jx=vc(),Vx=Kn(),Hx=zn(),Ox=Yc(),Wx=Z0(),Px=qs(),_x=ye(),jx=Ys(),Xx=Ed(),Zx=Cd(),Kx=hd(),zx=ud(),$x=fd(),AM=eo(),eM=Rd(),tM=kd(),rM=Sd(),sM=Ld(),iM=Yd();Vd.exports={parse:yx,valid:wx,clean:Dx,inc:Rx,diff:bx,major:kx,minor:Nx,patch:Fx,prerelease:Sx,compare:Ux,rcompare:Lx,compareLoose:xx,compareBuild:Mx,sort:Tx,rsort:qx,gt:vx,lt:Yx,eq:Gx,neq:Jx,gte:Vx,lte:Hx,cmp:Ox,coerce:Wx,Comparator:Px,Range:_x,satisfies:jx,toComparators:Xx,maxSatisfying:Zx,minSatisfying:Kx,minVersion:zx,validRange:$x,outside:AM,gtr:eM,ltr:tM,intersects:rM,simplifyRange:sM,subset:iM,SemVer:px,re:Zc.re,src:Zc.src,tokens:Zc.t,SEMVER_SPEC_VERSION:Gd.SEMVER_SPEC_VERSION,RELEASE_TYPES:Gd.RELEASE_TYPES,compareIdentifiers:Jd.compareIdentifiers,rcompareIdentifiers:Jd.rcompareIdentifiers}});var cM={};Cf(cM,{run:()=>nf});module.exports=Bf(cM);var Fe=sE(Ic());var vu=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var Fc={"currently-supported":!0,latest:!0,custom:!0,usable:!0,nightly:!0,recent:!0,all:!0};var Yu=A=>{if(!(A in Fc))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Fc).join(", ")}`);return!0};var Gu=(A,e=null)=>tU.reduce((t,r)=>r(A,e),!0),tU=[Yu,vu];var Sc={"mage-os":!0,"mage-os-minimal":!0,"magento-open-source":!0};var Ju=A=>{if(!(A in Sc))throw new Error(`Invalid project provided, supported projects are: ${Object.keys(Sc).join(", ")}`);return!0};var Ls=A=>Ju(A);var ju={"mage-os":Vu(),"mage-os-minimal":Hu(),"magento-open-source":Ou()},Xu={"mage-os":Wu(),"mage-os-minimal":Pu(),"magento-open-source":_u()},Pe=A=>{if(Ls(A),ju[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return ju[A]},Zu=A=>{if(Ls(A),Xu[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Xu[A]};var Dt=(A,e)=>{let t={...Pe(A),...Zu(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,{...t[s],version:s.split(":")[1]??""}]}},{magento:[],include:[]})};var Ku={"mage-os":["mage-os/project-community-edition"],"mage-os-minimal":["mage-os/project-minimal-edition"],"magento-open-source":["magento/project-community-edition"]};var zu={"mage-os":["mage-os/project-community-edition:next"],"mage-os-minimal":["mage-os/project-minimal-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var $u=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var A0=(A,e)=>{let t=Pe(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Kc=sE(Hd()),nM={"magento/project-community-edition:2.4.2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.2-p1":"requires insecure composer <=2.1","magento/project-community-edition:2.4.2-p2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p1":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p2":"requires insecure composer <=2.1","magento/project-community-edition:2.4.3-p3":"requires insecure composer <=2.1","mage-os/project-community-edition:2.2.1":"uninstallable due to webonyx/graphql-php security advisory"},Od=A=>{let e=Pe(A);return Object.entries(e).filter(([t,r])=>{let s=Kc.default.coerce(r.composer.toString());return!(s&&Kc.default.lt(s,"2.0.0")||t in nM)}).map(([t,r])=>t)};var Wd=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var zc=(A,e,t)=>A.replace(/(?!:)next$/,Wd(e,t));var oM="next",Pd=(A,e,t=new Date)=>{let r=new RegExp(oM+"$");return A.magento=A.magento.map(s=>s.match(r)?zc(s,e,t):s),A.include=A.include.map(s=>{if(!s.magento.match(r))return s;let i=zc(s.magento,e,t);return{...s,magento:i,version:i.split(":")[1]}}),A};var _d=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=Pe(A);return Object.entries(a).filter(([g,c])=>{let E=new Date(c.release);E.setSeconds(E.getSeconds()+1);let Q=new Date(c.release);return Q.setFullYear(Q.getFullYear()+i),Q.setMonth(Q.getMonth()+n),Q.setDate(Q.getDate()+o),e>=E&&e<=Q}).map(([g,c])=>g)};var jd=(A,e,t="",r="2y")=>{switch(A){case"latest":return Dt(e,Ku[e]);case"currently-supported":return Dt(e,A0(e,new Date));case"usable":return Dt(e,Od(e));case"nightly":return Pd(Dt(e,zu[e]),"https://upstream-nightly.mage-os.org",$u());case"all":return Dt(e,Object.keys(Pe(e)));case"custom":return Dt(e,t.split(","));case"recent":return Dt(e,_d(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};var Xd={getConfig(A){return{image:A,env:{MYSQL_DATABASE:"magento_integration_tests",MYSQL_USER:"user",MYSQL_PASSWORD:"password",MYSQL_ROOT_PASSWORD:"rootpassword"},ports:["3306:3306"],options:'--health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3'}}},Zd={getConfig(A){return{image:A,env:{"discovery.type":"single-node","xpack.security.enabled":"false","xpack.security.http.ssl.enabled":"false","xpack.security.transport.ssl.enabled":"false"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Kd={getConfig(A){return{image:A,env:{"discovery.type":"single-node",DISABLE_INSTALL_DEMO_CONFIG:"true",DISABLE_SECURITY_PLUGIN:"true"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},zd={getConfig(A){return{image:A,env:{RABBITMQ_DEFAULT_USER:"guest",RABBITMQ_DEFAULT_PASS:"guest"},ports:["5672:5672"]}}},$d={getConfig(A){return{image:A,ports:["6379:6379"]}}},Af={getConfig(A){return{image:A,ports:["6379:6379"]}}},ef=(A,e)=>({image:A,ports:["80:80"],volumes:[`${e}:/var/www/html`],options:'--health-cmd "nginx -t" --health-interval=10s --health-retries=3 --health-timeout=5s --health-start-period=5s'}),tf=(A,e)=>({image:`mappia/magento-php:fpm-alpine${A}`,volumes:[`${e}:/var/www/html`]});var aM=(A,e)=>e==="opensearch"?A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:null:e==="elasticsearch"?A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null:A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null,gM=(A,e)=>e==="valkey"?A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:null:e==="redis"?A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null:A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null,rf=(A,e={},t="")=>{let r={};A.mysql&&A.mysql.trim()!==""&&(r.mysql=Xd.getConfig(A.mysql));let s=aM(A,e.search);s&&(s.type==="opensearch"?r.opensearch=Kd.getConfig(s.image):r.elasticsearch=Zd.getConfig(s.image)),A.rabbitmq&&A.rabbitmq.trim()!==""&&(r.rabbitmq=zd.getConfig(A.rabbitmq));let i=gM(A,e.cache);i&&(i.type==="valkey"?r.valkey=Af.getConfig(i.image):r.redis=$d.getConfig(i.image));let n=(A.nginx||"").trim(),o=String(A.php??"").trim();return n!==""&&o!==""&&(r.nginx=ef(n,t),r["php-fpm"]=tf(o,t)),r};var $c={mysql:"db",elasticsearch:"search",opensearch:"search",rabbitmq:"queue",redis:"cache",valkey:"cache"},sf={db:["mysql"],search:["opensearch","elasticsearch"],queue:["rabbitmq"],cache:["valkey","redis"]},AE=Object.keys($c);var eE=A=>{let e=(A||"").trim();if(e==="")return{};let t=e.split(",").map(s=>s.trim()).filter(s=>s!==""),r={};for(let s of t){let i=$c[s];if(!i)throw new Error(`service_preferences: unknown service "${s}". Known services: ${AE.join(", ")}`);let n=r[i];if(n)throw new Error(`service_preferences: collision in tier "${i}" \u2014 both "${n}" and "${s}" specified`);r[i]=s}return r};var tE=(A,e)=>{let t=[];for(let r of Object.keys(A)){let s=A[r],i=sf[r],n=[];for(let o of e){let a=o[s];if(!(typeof a=="string"&&a.trim()!=="")){let c=i.filter(E=>{let Q=o[E];return typeof Q=="string"&&Q.trim()!==""});n.push({version:o.version,supported:c})}}if(n.length>0){let o=n.map(a=>` - magento ${a.version} (supported: ${a.supported.length>0?a.supported.join(", "):""})`).join(` `);t.push(`service_preferences "${s}" is not satisfied for: ${o}`)}}if(t.length>0)throw new Error(t.join(` diff --git a/supported-version/src/services/build-services.spec.ts b/supported-version/src/services/build-services.spec.ts index cd76c01..091ffcf 100644 --- a/supported-version/src/services/build-services.spec.ts +++ b/supported-version/src/services/build-services.spec.ts @@ -1,5 +1,7 @@ import { buildServicesForEntry } from './build-services'; import { PackageMatrixVersion } from '../matrix/matrix-type'; +import mageOsMinimalIndividual from '../versions/mage-os-minimal/individual.json'; +import mageOsMinimalComposite from '../versions/mage-os-minimal/composite.json'; const createTestEntry = (overrides: Partial = {}): PackageMatrixVersion => ({ magento: 'magento/project-community-edition:2.4.7', @@ -362,4 +364,17 @@ describe('buildServicesForEntry', () => { expect(withPref).toEqual(withoutPref); }); }); + + describe('mage-os-minimal', () => { + const minimalEntries: [string, PackageMatrixVersion][] = [ + ...Object.entries(mageOsMinimalIndividual as unknown as Record), + ...Object.entries(mageOsMinimalComposite as unknown as Record) + ]; + + it.each(minimalEntries)('omits rabbitmq from services for %s', (_key, entry) => { + const services = buildServicesForEntry(entry); + + expect(services.rabbitmq).toBeUndefined(); + }); + }); }); diff --git a/supported-version/src/versions/mage-os-minimal/composite.json b/supported-version/src/versions/mage-os-minimal/composite.json index 4f3b5f3..ed1cf26 100644 --- a/supported-version/src/versions/mage-os-minimal/composite.json +++ b/supported-version/src/versions/mage-os-minimal/composite.json @@ -5,7 +5,6 @@ "composer": "2.9.8", "mysql": "mysql:8.4", "opensearch": "opensearchproject/opensearch:3", - "rabbitmq": "rabbitmq:4.2-management", "valkey": "valkey/valkey:9", "varnish": "varnish:8", "nginx": "nginx:1.28", @@ -19,7 +18,6 @@ "composer": "2.9.8", "mysql": "mysql:8.4", "opensearch": "opensearchproject/opensearch:3", - "rabbitmq": "rabbitmq:4.2-management", "valkey": "valkey/valkey:9", "varnish": "varnish:8", "nginx": "nginx:1.28", @@ -33,7 +31,6 @@ "composer": "2.9.8", "mysql": "mysql:8.4", "opensearch": "opensearchproject/opensearch:3", - "rabbitmq": "rabbitmq:4.2-management", "valkey": "valkey/valkey:9", "varnish": "varnish:8", "nginx": "nginx:1.28", diff --git a/supported-version/src/versions/mage-os-minimal/individual.json b/supported-version/src/versions/mage-os-minimal/individual.json index 7df4eed..f57ea65 100644 --- a/supported-version/src/versions/mage-os-minimal/individual.json +++ b/supported-version/src/versions/mage-os-minimal/individual.json @@ -6,7 +6,6 @@ "composer": "2.9.8", "mysql": "mysql:8.4", "opensearch": "opensearchproject/opensearch:3", - "rabbitmq": "rabbitmq:4.2-management", "valkey": "valkey/valkey:9", "varnish": "varnish:8", "nginx": "nginx:1.28",