sliccy 1.22.3 → 1.22.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/electron-controller.js +15 -6
- package/dist/node-server/electron-runtime.js +9 -10
- package/dist/node-server/index.js +6 -4
- package/dist/ui/assets/{___vite-browser-external_commonjs-proxy-HEKiI6EW.js → ___vite-browser-external_commonjs-proxy-CdTWn1k_.js} +1 -1
- package/dist/ui/assets/{bsh-watchdog-DDiweuEz.js → bsh-watchdog-D42k4Edm.js} +1 -1
- package/dist/ui/assets/{index-BSBZClnJ.js → index-B0xTpQYL.js} +1 -1
- package/dist/ui/assets/index-BfNzQpoL.js +131 -0
- package/dist/ui/assets/index-BlSQnyL2.css +1 -0
- package/dist/ui/assets/{index-DtM-71bP.js → index-C0eFsJDV.js} +1 -1
- package/dist/ui/assets/{index-B0F7PxWn.js → index-CCybN7e8.js} +1033 -718
- package/dist/ui/assets/{index-MTjFRzVr.js → index-CbC7FGzC.js} +1 -1
- package/dist/ui/assets/{index-CM2CRGkL.js → index-CsOERWYO.js} +1 -1
- package/dist/ui/assets/{index-DaQtug-G.js → index-D54P7vsh.js} +1 -1
- package/dist/ui/assets/{index-DT33yILt.js → index-DjKjcXeW.js} +1 -1
- package/dist/ui/assets/{index-B73vno6G.js → index-pQ08_oTm.js} +9 -9
- package/dist/ui/assets/{offscreen-client-PiUvXXMe.js → offscreen-client-DmhRES2I.js} +1 -1
- package/dist/ui/assets/{sql-wasm-r2NFfZ6X.js → sql-wasm-Vb3Bc41A.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/ui/logos/logo-editor.html +944 -839
- package/dist/ui/logos/macos-icon.icon/icon.json +19 -24
- package/dist/ui/packages/webapp/index.html +2 -2
- package/package.json +20 -25
- package/dist/ui/assets/index-B15Vjr8J.css +0 -1
- package/dist/ui/assets/index-CqKk1FTy.js +0 -131
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import{g as bo,F as To,A as Lo}from"./index-CCybN7e8.js";import{r as AA}from"./___vite-browser-external_commonjs-proxy-CdTWn1k_.js";function Ho(e,y){for(var B=0;B<y.length;B++){const S=y[B];if(typeof S!="string"&&!Array.isArray(S)){for(const r in S)if(r!=="default"&&!(r in e)){const Q=Object.getOwnPropertyDescriptor(S,r);Q&&Object.defineProperty(e,r,Q.get?Q:{enumerable:!0,get:()=>S[r]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var Oe={exports:{}},et,sn;function vA(){return sn||(sn=1,et={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}),et}var tt,on;function Qo(){if(on)return tt;on=1;let e=0;const y=1e3,B=(y>>1)-1;let S;const r=Symbol("kFastTimer"),Q=[],f=-2,w=-1,u=0,l=1;function a(){e+=B;let n=0,A=Q.length;for(;n<A;){const t=Q[n];t._state===u?(t._idleStart=e-B,t._state=l):t._state===l&&e>=t._idleStart+t._idleTimeout&&(t._state=w,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===w?(t._state=f,--A!==0&&(Q[n]=Q[A])):++n}Q.length=A,Q.length!==0&&i()}function i(){S?.refresh?S.refresh():(clearTimeout(S),S=setTimeout(a,B),S?.unref())}class c{[r]=!0;_state=f;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(A,t,o){this._onTimeout=A,this._idleTimeout=t,this._timerArg=o,this.refresh()}refresh(){this._state===f&&Q.push(this),(!S||Q.length===1)&&i(),this._state=u}clear(){this._state=w,this._idleStart=-1}}return tt={setTimeout(n,A,t){return A<=y?setTimeout(n,A,t):new c(n,A,t)},clearTimeout(n){n[r]?n.clear():clearTimeout(n)},setFastTimeout(n,A,t){return new c(n,A,t)},clearFastTimeout(n){n.clear()},now(){return e},tick(n=0){e+=n-y+1,a(),a()},reset(){e=0,Q.length=0,clearTimeout(S),S=null},kFastTimer:r},tt}var rt,an;function MA(){if(an)return rt;an=1;const e=Symbol.for("undici.error.UND_ERR");class y extends Error{constructor(G,BA){super(G,BA),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](G){return G&&G[e]===!0}get[e](){return!0}}const B=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");class S extends y{constructor(G){super(G),this.name="ConnectTimeoutError",this.message=G||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[B]===!0}get[B](){return!0}}const r=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");class Q extends y{constructor(G){super(G),this.name="HeadersTimeoutError",this.message=G||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[r]===!0}get[r](){return!0}}const f=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");class w extends y{constructor(G){super(G),this.name="HeadersOverflowError",this.message=G||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](G){return G&&G[f]===!0}get[f](){return!0}}const u=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");class l extends y{constructor(G){super(G),this.name="BodyTimeoutError",this.message=G||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](G){return G&&G[u]===!0}get[u](){return!0}}const a=Symbol.for("undici.error.UND_ERR_INVALID_ARG");class i extends y{constructor(G){super(G),this.name="InvalidArgumentError",this.message=G||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](G){return G&&G[a]===!0}get[a](){return!0}}const c=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");class n extends y{constructor(G){super(G),this.name="InvalidReturnValueError",this.message=G||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](G){return G&&G[c]===!0}get[c](){return!0}}const A=Symbol.for("undici.error.UND_ERR_ABORT");class t extends y{constructor(G){super(G),this.name="AbortError",this.message=G||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](G){return G&&G[A]===!0}get[A](){return!0}}const o=Symbol.for("undici.error.UND_ERR_ABORTED");class g extends t{constructor(G){super(G),this.name="AbortError",this.message=G||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](G){return G&&G[o]===!0}get[o](){return!0}}const d=Symbol.for("undici.error.UND_ERR_INFO");class F extends y{constructor(G){super(G),this.name="InformationalError",this.message=G||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](G){return G&&G[d]===!0}get[d](){return!0}}const I=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");class s extends y{constructor(G){super(G),this.name="RequestContentLengthMismatchError",this.message=G||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](G){return G&&G[I]===!0}get[I](){return!0}}const C=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");class E extends y{constructor(G){super(G),this.name="ResponseContentLengthMismatchError",this.message=G||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](G){return G&&G[C]===!0}get[C](){return!0}}const h=Symbol.for("undici.error.UND_ERR_DESTROYED");class R extends y{constructor(G){super(G),this.name="ClientDestroyedError",this.message=G||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](G){return G&&G[h]===!0}get[h](){return!0}}const N=Symbol.for("undici.error.UND_ERR_CLOSED");class D extends y{constructor(G){super(G),this.name="ClientClosedError",this.message=G||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](G){return G&&G[N]===!0}get[N](){return!0}}const p=Symbol.for("undici.error.UND_ERR_SOCKET");class k extends y{constructor(G,BA){super(G),this.name="SocketError",this.message=G||"Socket error",this.code="UND_ERR_SOCKET",this.socket=BA}static[Symbol.hasInstance](G){return G&&G[p]===!0}get[p](){return!0}}const m=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");class H extends y{constructor(G){super(G),this.name="NotSupportedError",this.message=G||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](G){return G&&G[m]===!0}get[m](){return!0}}const M=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");class b extends y{constructor(G){super(G),this.name="MissingUpstreamError",this.message=G||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](G){return G&&G[M]===!0}get[M](){return!0}}const T=Symbol.for("undici.error.UND_ERR_HTTP_PARSER");class J extends Error{constructor(G,BA,QA){super(G),this.name="HTTPParserError",this.code=BA?`HPE_${BA}`:void 0,this.data=QA?QA.toString():void 0}static[Symbol.hasInstance](G){return G&&G[T]===!0}get[T](){return!0}}const tA=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");class sA extends y{constructor(G){super(G),this.name="ResponseExceededMaxSizeError",this.message=G||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](G){return G&&G[tA]===!0}get[tA](){return!0}}const gA=Symbol.for("undici.error.UND_ERR_REQ_RETRY");class dA extends y{constructor(G,BA,{headers:QA,data:RA}){super(G),this.name="RequestRetryError",this.message=G||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=BA,this.data=RA,this.headers=QA}static[Symbol.hasInstance](G){return G&&G[gA]===!0}get[gA](){return!0}}const CA=Symbol.for("undici.error.UND_ERR_RESPONSE");class mA extends y{constructor(G,BA,{headers:QA,body:RA}){super(G),this.name="ResponseError",this.message=G||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=BA,this.body=RA,this.headers=QA}static[Symbol.hasInstance](G){return G&&G[CA]===!0}get[CA](){return!0}}const $=Symbol.for("undici.error.UND_ERR_PRX_TLS");class rA extends y{constructor(G,BA,QA={}){super(BA,{cause:G,...QA}),this.name="SecureProxyConnectionError",this.message=BA||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=G}static[Symbol.hasInstance](G){return G&&G[$]===!0}get[$](){return!0}}const nA=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED");class wA extends y{constructor(G){super(G),this.name="MaxOriginsReachedError",this.message=G||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](G){return G&&G[nA]===!0}get[nA](){return!0}}class kA extends y{constructor(G,BA){super(G),this.name="Socks5ProxyError",this.message=G||"SOCKS5 proxy error",this.code=BA||"UND_ERR_SOCKS5"}}const IA=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED");class TA extends y{constructor(G){super(G),this.name="MessageSizeExceededError",this.message=G||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](G){return G&&G[IA]===!0}get[IA](){return!0}}return rt={AbortError:t,HTTPParserError:J,UndiciError:y,HeadersTimeoutError:Q,HeadersOverflowError:w,BodyTimeoutError:l,RequestContentLengthMismatchError:s,ConnectTimeoutError:S,InvalidArgumentError:i,InvalidReturnValueError:n,RequestAbortedError:g,ClientDestroyedError:R,ClientClosedError:D,InformationalError:F,SocketError:k,NotSupportedError:H,ResponseContentLengthMismatchError:E,BalancedPoolMissingUpstreamError:b,ResponseExceededMaxSizeError:sA,RequestRetryError:dA,ResponseError:mA,SecureProxyConnectionError:rA,MaxOriginsReachedError:wA,Socks5ProxyError:kA,MessageSizeExceededError:TA},rt}var nt,gn;function Kr(){if(gn)return nt;gn=1;const e=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],y={};Object.setPrototypeOf(y,null);const B={};Object.setPrototypeOf(B,null);function S(r){let Q=B[r];return Q===void 0&&(Q=Buffer.from(r)),Q}for(let r=0;r<e.length;++r){const Q=e[r],f=Q.toLowerCase();y[Q]=y[f]=f}return nt={wellknownHeaderNames:e,headerNameLowerCasedRecord:y,getHeaderNameAsBuffer:S},nt}var st,En;function Yo(){if(En)return st;En=1;const{wellknownHeaderNames:e,headerNameLowerCasedRecord:y}=Kr();class B{value=null;left=null;middle=null;right=null;code;constructor(f,w,u){if(u===void 0||u>=f.length)throw new TypeError("Unreachable");if((this.code=f.charCodeAt(u))>127)throw new TypeError("key must be ascii string");f.length!==++u?this.middle=new B(f,w,u):this.value=w}add(f,w){const u=f.length;if(u===0)throw new TypeError("Unreachable");let l=0,a=this;for(;;){const i=f.charCodeAt(l);if(i>127)throw new TypeError("key must be ascii string");if(a.code===i)if(u===++l){a.value=w;break}else if(a.middle!==null)a=a.middle;else{a.middle=new B(f,w,l);break}else if(a.code<i)if(a.left!==null)a=a.left;else{a.left=new B(f,w,l);break}else if(a.right!==null)a=a.right;else{a.right=new B(f,w,l);break}}}search(f){const w=f.length;let u=0,l=this;for(;l!==null&&u<w;){let a=f[u];for(a<=90&&a>=65&&(a|=32);l!==null;){if(a===l.code){if(w===++u)return l;l=l.middle;break}l=l.code<a?l.left:l.right}}return null}}class S{node=null;insert(f,w){this.node===null?this.node=new B(f,w,0):this.node.add(f,w)}lookup(f){return this.node?.search(f)?.value??null}}const r=new S;for(let Q=0;Q<e.length;++Q){const f=y[e[Q]];r.insert(f,f)}return st={TernarySearchTree:S,tree:r},st}var ot,Qn;function bA(){if(Qn)return ot;Qn=1;const e=AA,{kDestroyed:y,kBodyUsed:B,kListeners:S,kBody:r}=vA(),{IncomingMessage:Q}=AA,f=AA,w=AA,{stringify:u}=AA,{EventEmitter:l}=AA,a=Qo(),{InvalidArgumentError:i,ConnectTimeoutError:c}=MA(),{headerNameLowerCasedRecord:n}=Kr(),{tree:A}=Yo(),[t,o]=process.versions.node.split(".",2).map(U=>Number(U));class g{constructor(Y){this[r]=Y,this[B]=!1}async*[Symbol.asyncIterator](){e(!this[B],"disturbed"),this[B]=!0,yield*this[r]}}function d(){}function F(U){return I(U)?(T(U)===0&&U.on("data",function(){e(!1)}),typeof U.readableDidRead!="boolean"&&(U[B]=!1,l.prototype.on.call(U,"data",function(){this[B]=!0})),U):U&&typeof U.pipeTo=="function"?new g(U):U&&SA(U)?U:U&&typeof U!="string"&&!ArrayBuffer.isView(U)&&M(U)?new g(U):U}function I(U){return U&&typeof U=="object"&&typeof U.pipe=="function"&&typeof U.on=="function"}function s(U){if(U===null)return!1;if(U instanceof Blob)return!0;if(typeof U!="object")return!1;{const Y=U[Symbol.toStringTag];return(Y==="Blob"||Y==="File")&&("stream"in U&&typeof U.stream=="function"||"arrayBuffer"in U&&typeof U.arrayBuffer=="function")}}function C(U){return U.includes("?")||U.includes("#")}function E(U,Y){if(C(U))throw new Error('Query params cannot be passed when url already contains "?" or "#".');const W=u(Y);return W&&(U+="?"+W),U}function h(U){const Y=parseInt(U,10);return Y===Number(U)&&Y>=0&&Y<=65535}function R(U){return U!=null&&U[0]==="h"&&U[1]==="t"&&U[2]==="t"&&U[3]==="p"&&(U[4]===":"||U[4]==="s"&&U[5]===":")}function N(U){if(typeof U=="string"){if(U=new URL(U),!R(U.origin||U.protocol))throw new i("Invalid URL protocol: the URL must start with `http:` or `https:`.");return U}if(!U||typeof U!="object")throw new i("Invalid URL: The URL argument must be a non-null object.");if(!(U instanceof URL)){if(U.port!=null&&U.port!==""&&h(U.port)===!1)throw new i("Invalid URL: port must be a valid integer or a string representation of an integer.");if(U.path!=null&&typeof U.path!="string")throw new i("Invalid URL path: the path must be a string or null/undefined.");if(U.pathname!=null&&typeof U.pathname!="string")throw new i("Invalid URL pathname: the pathname must be a string or null/undefined.");if(U.hostname!=null&&typeof U.hostname!="string")throw new i("Invalid URL hostname: the hostname must be a string or null/undefined.");if(U.origin!=null&&typeof U.origin!="string")throw new i("Invalid URL origin: the origin must be a string or null/undefined.");if(!R(U.origin||U.protocol))throw new i("Invalid URL protocol: the URL must start with `http:` or `https:`.");const Y=U.port!=null?U.port:U.protocol==="https:"?443:80;let W=U.origin!=null?U.origin:`${U.protocol||""}//${U.hostname||""}:${Y}`,aA=U.path!=null?U.path:`${U.pathname||""}${U.search||""}`;return W[W.length-1]==="/"&&(W=W.slice(0,W.length-1)),aA&&aA[0]!=="/"&&(aA=`/${aA}`),new URL(`${W}${aA}`)}if(!R(U.origin||U.protocol))throw new i("Invalid URL protocol: the URL must start with `http:` or `https:`.");return U}function D(U){if(U=N(U),U.pathname!=="/"||U.search||U.hash)throw new i("invalid url");return U}function p(U){if(U[0]==="["){const W=U.indexOf("]");return e(W!==-1),U.substring(1,W)}const Y=U.indexOf(":");return Y===-1?U:U.substring(0,Y)}function k(U){if(!U)return null;e(typeof U=="string");const Y=p(U);return w.isIP(Y)?"":Y}function m(U){return JSON.parse(JSON.stringify(U))}function H(U){return U!=null&&typeof U[Symbol.asyncIterator]=="function"}function M(U){return U!=null&&(typeof U[Symbol.iterator]=="function"||typeof U[Symbol.asyncIterator]=="function")}function b(U){const Y=Object.getPrototypeOf(U);return Object.prototype.hasOwnProperty.call(U,Symbol.iterator)||Y!=null&&Y!==Object.prototype&&typeof U[Symbol.iterator]=="function"}function T(U){if(U==null)return 0;if(I(U)){const Y=U._readableState;return Y&&Y.objectMode===!1&&Y.ended===!0&&Number.isFinite(Y.length)?Y.length:null}else{if(s(U))return U.size!=null?U.size:null;if(nA(U))return U.byteLength}return null}function J(U){return U&&!!(U.destroyed||U[y]||f.isDestroyed?.(U))}function tA(U,Y){U==null||!I(U)||J(U)||(typeof U.destroy=="function"?(Object.getPrototypeOf(U).constructor===Q&&(U.socket=null),U.destroy(Y)):Y&&queueMicrotask(()=>{U.emit("error",Y)}),U.destroyed!==!0&&(U[y]=!0))}const sA=/timeout=(\d+)/;function gA(U){const Y=U.match(sA);return Y?parseInt(Y[1],10)*1e3:null}function dA(U){return typeof U=="string"?n[U]??U.toLowerCase():A.lookup(U)??U.toString("latin1").toLowerCase()}function CA(U){return A.lookup(U)??U.toString("latin1").toLowerCase()}function mA(U,Y){Y===void 0&&(Y={});for(let W=0;W<U.length;W+=2){const aA=dA(U[W]);let iA=Y[aA];if(iA)typeof iA=="string"&&(iA=[iA],Y[aA]=iA),iA.push(U[W+1].toString("latin1"));else{const hA=U[W+1];typeof hA=="string"?Y[aA]=hA:Y[aA]=Array.isArray(hA)?hA.map(UA=>UA.toString("latin1")):hA.toString("latin1")}}return Y}function $(U){const Y=U.length,W=new Array(Y);let aA,iA;for(let hA=0;hA<Y;hA+=2)aA=U[hA],iA=U[hA+1],typeof aA!="string"&&(aA=aA.toString()),typeof iA!="string"&&(iA=iA.toString("latin1")),W[hA]=aA,W[hA+1]=iA;return W}function rA(U){if(!Array.isArray(U))throw new TypeError("expected headers to be an array");return U.map(Y=>Buffer.from(Y))}function nA(U){return U instanceof Uint8Array||Buffer.isBuffer(U)}function wA(U,Y,W){if(!U||typeof U!="object")throw new i("handler must be an object");if(typeof U.onRequestStart!="function"){if(typeof U.onConnect!="function")throw new i("invalid onConnect method");if(typeof U.onError!="function")throw new i("invalid onError method");if(typeof U.onBodySent!="function"&&U.onBodySent!==void 0)throw new i("invalid onBodySent method");if(W||Y==="CONNECT"){if(typeof U.onUpgrade!="function")throw new i("invalid onUpgrade method")}else{if(typeof U.onHeaders!="function")throw new i("invalid onHeaders method");if(typeof U.onData!="function")throw new i("invalid onData method");if(typeof U.onComplete!="function")throw new i("invalid onComplete method")}}}function kA(U){return!!(U&&(f.isDisturbed(U)||U[B]))}function IA(U){return{localAddress:U.localAddress,localPort:U.localPort,remoteAddress:U.remoteAddress,remotePort:U.remotePort,remoteFamily:U.remoteFamily,timeout:U.timeout,bytesWritten:U.bytesWritten,bytesRead:U.bytesRead}}function TA(U){let Y;return new ReadableStream({start(){Y=U[Symbol.asyncIterator]()},pull(W){return Y.next().then(({done:aA,value:iA})=>{if(aA)return queueMicrotask(()=>{W.close(),W.byobRequest?.respond(0)});{const hA=Buffer.isBuffer(iA)?iA:Buffer.from(iA);return hA.byteLength?W.enqueue(new Uint8Array(hA)):this.pull(W)}})},cancel(){return Y.return()},type:"bytes"})}function SA(U){return U&&typeof U=="object"&&typeof U.append=="function"&&typeof U.delete=="function"&&typeof U.get=="function"&&typeof U.getAll=="function"&&typeof U.has=="function"&&typeof U.set=="function"&&U[Symbol.toStringTag]==="FormData"}function G(U,Y){return"addEventListener"in U?(U.addEventListener("abort",Y,{once:!0}),()=>U.removeEventListener("abort",Y)):(U.once("abort",Y),()=>U.removeListener("abort",Y))}const BA=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function QA(U){return BA[U]===1}const RA=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function K(U){if(U.length>=12)return RA.test(U);if(U.length===0)return!1;for(let Y=0;Y<U.length;Y++)if(BA[U.charCodeAt(Y)]!==1)return!1;return!0}const FA=/[^\t\x20-\x7e\x80-\xff]/;function OA(U){return!FA.test(U)}const LA=/^bytes (\d+)-(\d+)\/(\d+)?$/;function XA(U){if(U==null||U==="")return{start:0,end:null,size:null};const Y=U?U.match(LA):null;return Y?{start:parseInt(Y[1]),end:Y[2]?parseInt(Y[2]):null,size:Y[3]?parseInt(Y[3]):null}:null}function PA(U,Y,W){return(U[S]??=[]).push([Y,W]),U.on(Y,W),U}function qA(U){if(U[S]!=null){for(const[Y,W]of U[S])U.removeListener(Y,W);U[S]=null}return U}function JA(U,Y,W){try{Y.onError(W),e(Y.aborted)}catch(aA){U.emit("error",aA)}}const KA=process.platform==="win32"?(U,Y)=>{if(!Y.timeout)return d;let W=null,aA=null;const iA=a.setFastTimeout(()=>{W=setImmediate(()=>{aA=setImmediate(()=>zA(U.deref(),Y))})},Y.timeout);return()=>{a.clearFastTimeout(iA),clearImmediate(W),clearImmediate(aA)}}:(U,Y)=>{if(!Y.timeout)return d;let W=null;const aA=a.setFastTimeout(()=>{W=setImmediate(()=>{zA(U.deref(),Y)})},Y.timeout);return()=>{a.clearFastTimeout(aA),clearImmediate(W)}};function zA(U,Y){if(U==null)return;let W="Connect Timeout Error";Array.isArray(U.autoSelectFamilyAttemptedAddresses)?W+=` (attempted addresses: ${U.autoSelectFamilyAttemptedAddresses.join(", ")},`:W+=` (attempted address: ${Y.hostname}:${Y.port},`,W+=` timeout: ${Y.timeout}ms)`,tA(U,new c(W))}function _A(U){if(U[0]==="h"&&U[1]==="t"&&U[2]==="t"&&U[3]==="p")switch(U[4]){case":":return"http:";case"s":if(U[5]===":")return"https:"}return U.slice(0,U.indexOf(":")+1)}const $A=Object.create(null);$A.enumerable=!0;const X={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},fA={...X,patch:"patch",PATCH:"PATCH"};return Object.setPrototypeOf(X,null),Object.setPrototypeOf(fA,null),ot={kEnumerableProperty:$A,isDisturbed:kA,isBlobLike:s,parseOrigin:D,parseURL:N,getServerName:k,isStream:I,isIterable:M,hasSafeIterator:b,isAsyncIterable:H,isDestroyed:J,headerNameToString:dA,bufferToLowerCasedHeaderName:CA,addListener:PA,removeAllListeners:qA,errorRequest:JA,parseRawHeaders:$,encodeRawHeaders:rA,parseHeaders:mA,parseKeepAliveTimeout:gA,destroy:tA,bodyLength:T,deepClone:m,ReadableStreamFrom:TA,isBuffer:nA,assertRequestHandler:wA,getSocketInfo:IA,isFormDataLike:SA,pathHasQueryOrFragment:C,serializePathWithQuery:E,addAbortListener:G,isValidHTTPToken:K,isValidHeaderValue:OA,isTokenCharCode:QA,parseRangeHeader:XA,normalizedMethodRecordsBase:X,normalizedMethodRecords:fA,isValidPort:h,isHttpOrHttpsPrefixed:R,nodeMajor:t,nodeMinor:o,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:F,setupConnectTimeout:KA,getProtocolFromUrlString:_A},ot}var it,cn;function co(){if(cn)return it;cn=1;const{kConnected:e,kPending:y,kRunning:B,kSize:S,kFree:r,kQueued:Q}=vA();class f{constructor(l){this.connected=l[e],this.pending=l[y],this.running=l[B],this.size=l[S]}}class w{constructor(l){this.connected=l[e],this.free=l[r],this.pending=l[y],this.queued=l[Q],this.running=l[B],this.size=l[S]}}return it={ClientStats:f,PoolStats:w},it}var at,Bn;function le(){if(Bn)return at;Bn=1;const e=AA,y=AA,B=y.debuglog("undici"),S=y.debuglog("fetch"),r=y.debuglog("websocket"),Q={beforeConnect:e.channel("undici:client:beforeConnect"),connected:e.channel("undici:client:connected"),connectError:e.channel("undici:client:connectError"),sendHeaders:e.channel("undici:client:sendHeaders"),create:e.channel("undici:request:create"),bodySent:e.channel("undici:request:bodySent"),bodyChunkSent:e.channel("undici:request:bodyChunkSent"),bodyChunkReceived:e.channel("undici:request:bodyChunkReceived"),headers:e.channel("undici:request:headers"),trailers:e.channel("undici:request:trailers"),error:e.channel("undici:request:error"),open:e.channel("undici:websocket:open"),close:e.channel("undici:websocket:close"),socketError:e.channel("undici:websocket:socket_error"),ping:e.channel("undici:websocket:ping"),pong:e.channel("undici:websocket:pong"),proxyConnected:e.channel("undici:proxy:connected")};let f=!1;function w(c=B){if(!f){if(Q.beforeConnect.hasSubscribers||Q.connected.hasSubscribers||Q.connectError.hasSubscribers||Q.sendHeaders.hasSubscribers){f=!0;return}f=!0,e.subscribe("undici:client:beforeConnect",n=>{const{connectParams:{version:A,protocol:t,port:o,host:g}}=n;c("connecting to %s%s using %s%s",g,o?`:${o}`:"",t,A)}),e.subscribe("undici:client:connected",n=>{const{connectParams:{version:A,protocol:t,port:o,host:g}}=n;c("connected to %s%s using %s%s",g,o?`:${o}`:"",t,A)}),e.subscribe("undici:client:connectError",n=>{const{connectParams:{version:A,protocol:t,port:o,host:g},error:d}=n;c("connection to %s%s using %s%s errored - %s",g,o?`:${o}`:"",t,A,d.message)}),e.subscribe("undici:client:sendHeaders",n=>{const{request:{method:A,path:t,origin:o}}=n;c("sending request to %s %s%s",A,o,t)})}}let u=!1;function l(c=B){if(!u){if(Q.headers.hasSubscribers||Q.trailers.hasSubscribers||Q.error.hasSubscribers){u=!0;return}u=!0,e.subscribe("undici:request:headers",n=>{const{request:{method:A,path:t,origin:o},response:{statusCode:g}}=n;c("received response to %s %s%s - HTTP %d",A,o,t,g)}),e.subscribe("undici:request:trailers",n=>{const{request:{method:A,path:t,origin:o}}=n;c("trailers received from %s %s%s",A,o,t)}),e.subscribe("undici:request:error",n=>{const{request:{method:A,path:t,origin:o},error:g}=n;c("request to %s %s%s errored - %s",A,o,t,g.message)})}}let a=!1;function i(c=r){if(!a){if(Q.open.hasSubscribers||Q.close.hasSubscribers||Q.socketError.hasSubscribers||Q.ping.hasSubscribers||Q.pong.hasSubscribers){a=!0;return}a=!0,e.subscribe("undici:websocket:open",n=>{const{address:{address:A,port:t}}=n;c("connection opened %s%s",A,t?`:${t}`:"")}),e.subscribe("undici:websocket:close",n=>{const{websocket:A,code:t,reason:o}=n;c("closed connection to %s - %s %s",A.url,t,o)}),e.subscribe("undici:websocket:socket_error",n=>{c("connection errored - %s",n.message)}),e.subscribe("undici:websocket:ping",n=>{c("ping received")}),e.subscribe("undici:websocket:pong",n=>{c("pong received")})}}return(B.enabled||S.enabled)&&(w(S.enabled?S:B),l(S.enabled?S:B)),r.enabled&&(w(B.enabled?B:r),i(r)),at={channels:Q},at}var gt,In;function Go(){if(In)return gt;In=1;const{InvalidArgumentError:e,NotSupportedError:y}=MA(),B=AA,{isValidHTTPToken:S,isValidHeaderValue:r,isStream:Q,destroy:f,isBuffer:w,isFormDataLike:u,isIterable:l,hasSafeIterator:a,isBlobLike:i,serializePathWithQuery:c,assertRequestHandler:n,getServerName:A,normalizedMethodRecords:t,getProtocolFromUrlString:o}=bA(),{channels:g}=le(),{headerNameLowerCasedRecord:d}=Kr(),F=/[^\u0021-\u00ff]/,I=Symbol("handler");class s{constructor(h,{path:R,method:N,body:D,headers:p,query:k,idempotent:m,blocking:H,upgrade:M,headersTimeout:b,bodyTimeout:T,reset:J,expectContinue:tA,servername:sA,throwOnError:gA,maxRedirections:dA,typeOfService:CA},mA){if(typeof R!="string")throw new e("path must be a string");if(R[0]!=="/"&&!(R.startsWith("http://")||R.startsWith("https://"))&&N!=="CONNECT")throw new e("path must be an absolute URL or start with a slash");if(F.test(R))throw new e("invalid request path");if(typeof N!="string")throw new e("method must be a string");if(t[N]===void 0&&!S(N))throw new e("invalid request method");if(M&&typeof M!="string")throw new e("upgrade must be a string");if(M&&!r(M))throw new e("invalid upgrade header");if(b!=null&&(!Number.isFinite(b)||b<0))throw new e("invalid headersTimeout");if(T!=null&&(!Number.isFinite(T)||T<0))throw new e("invalid bodyTimeout");if(J!=null&&typeof J!="boolean")throw new e("invalid reset");if(tA!=null&&typeof tA!="boolean")throw new e("invalid expectContinue");if(gA!=null)throw new e("invalid throwOnError");if(dA!=null&&dA!==0)throw new e("maxRedirections is not supported, use the redirect interceptor");if(CA!=null&&(!Number.isInteger(CA)||CA<0||CA>255))throw new e("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=b,this.bodyTimeout=T,this.method=N,this.typeOfService=CA??0,this.abort=null,D==null)this.body=null;else if(Q(D)){this.body=D;const $=this.body._readableState;(!$||!$.autoDestroy)&&(this.endHandler=function(){f(this)},this.body.on("end",this.endHandler)),this.errorHandler=rA=>{this.abort?this.abort(rA):this.error=rA},this.body.on("error",this.errorHandler)}else if(w(D))this.body=D.byteLength?D:null;else if(ArrayBuffer.isView(D))this.body=D.buffer.byteLength?Buffer.from(D.buffer,D.byteOffset,D.byteLength):null;else if(D instanceof ArrayBuffer)this.body=D.byteLength?Buffer.from(D):null;else if(typeof D=="string")this.body=D.length?Buffer.from(D):null;else if(u(D)||l(D)||i(D))this.body=D;else throw new e("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=M||null,this.path=k?c(R,k):R,this.origin=h,this.protocol=o(h),this.idempotent=m??(N==="HEAD"||N==="GET"),this.blocking=H??this.method!=="HEAD",this.reset=J??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=tA??!1,Array.isArray(p)){if(p.length%2!==0)throw new e("headers array must be even");for(let $=0;$<p.length;$+=2)C(this,p[$],p[$+1])}else if(p&&typeof p=="object")if(a(p))for(const $ of p){if(!Array.isArray($)||$.length!==2)throw new e("headers must be in key-value pair format");C(this,$[0],$[1])}else{const $=Object.keys(p);for(let rA=0;rA<$.length;++rA)C(this,$[rA],p[$[rA]])}else if(p!=null)throw new e("headers must be an object or an array");n(mA,N,M),this.servername=sA||A(this.host)||null,this[I]=mA,g.create.hasSubscribers&&g.create.publish({request:this})}onBodySent(h){if(g.bodyChunkSent.hasSubscribers&&g.bodyChunkSent.publish({request:this,chunk:h}),this[I].onBodySent)try{return this[I].onBodySent(h)}catch(R){this.abort(R)}}onRequestSent(){if(g.bodySent.hasSubscribers&&g.bodySent.publish({request:this}),this[I].onRequestSent)try{return this[I].onRequestSent()}catch(h){this.abort(h)}}onConnect(h){if(B(!this.aborted),B(!this.completed),this.error)h(this.error);else return this.abort=h,this[I].onConnect(h)}onResponseStarted(){return this[I].onResponseStarted?.()}onHeaders(h,R,N,D){B(!this.aborted),B(!this.completed),g.headers.hasSubscribers&&g.headers.publish({request:this,response:{statusCode:h,headers:R,statusText:D}});try{return this[I].onHeaders(h,R,N,D)}catch(p){this.abort(p)}}onData(h){B(!this.aborted),B(!this.completed),g.bodyChunkReceived.hasSubscribers&&g.bodyChunkReceived.publish({request:this,chunk:h});try{return this[I].onData(h)}catch(R){return this.abort(R),!1}}onUpgrade(h,R,N){return B(!this.aborted),B(!this.completed),this[I].onUpgrade(h,R,N)}onComplete(h){this.onFinally(),B(!this.aborted),B(!this.completed),this.completed=!0,g.trailers.hasSubscribers&&g.trailers.publish({request:this,trailers:h});try{return this[I].onComplete(h)}catch(R){this.onError(R)}}onError(h){if(this.onFinally(),g.error.hasSubscribers&&g.error.publish({request:this,error:h}),!this.aborted)return this.aborted=!0,this[I].onError(h)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(h,R){return C(this,h,R),this}}function C(E,h,R){if(R&&typeof R=="object"&&!Array.isArray(R))throw new e(`invalid ${h} header`);if(R===void 0)return;let N=d[h];if(N===void 0&&(N=h.toLowerCase(),d[N]===void 0&&!S(N)))throw new e("invalid header key");if(Array.isArray(R)){const D=[];for(let p=0;p<R.length;p++)if(typeof R[p]=="string"){if(!r(R[p]))throw new e(`invalid ${h} header`);D.push(R[p])}else if(R[p]===null)D.push("");else{if(typeof R[p]=="object")throw new e(`invalid ${h} header`);D.push(`${R[p]}`)}R=D}else if(typeof R=="string"){if(!r(R))throw new e(`invalid ${h} header`)}else R===null?R="":R=`${R}`;if(N==="host"){if(E.host!==null)throw new e("duplicate host header");if(typeof R!="string")throw new e("invalid host header");E.host=R}else if(N==="content-length"){if(E.contentLength!==null)throw new e("duplicate content-length header");if(E.contentLength=parseInt(R,10),!Number.isFinite(E.contentLength))throw new e("invalid content-length header")}else if(E.contentType===null&&N==="content-type")E.contentType=R,E.headers.push(h,R);else{if(N==="transfer-encoding"||N==="keep-alive"||N==="upgrade")throw new e(`invalid ${N} header`);if(N==="connection"){const D=typeof R=="string"?R.toLowerCase():null;if(D!=="close"&&D!=="keep-alive")throw new e("invalid connection header");D==="close"&&(E.reset=!0)}else{if(N==="expect")throw new y("expect header not supported");E.headers.push(h,R)}}}return gt=s,gt}var Et,ln;function We(){if(ln)return Et;ln=1;const{InvalidArgumentError:e}=MA();Et=class Bo{#A;constructor(S){this.#A=S}static wrap(S){return S.onRequestStart?S:new Bo(S)}onConnect(S,r){return this.#A.onConnect?.(S,r)}onResponseStarted(){return this.#A.onResponseStarted?.()}onHeaders(S,r,Q,f){return this.#A.onHeaders?.(S,r,Q,f)}onUpgrade(S,r,Q){return this.#A.onUpgrade?.(S,r,Q)}onData(S){return this.#A.onData?.(S)}onComplete(S){return this.#A.onComplete?.(S)}onError(S){if(!this.#A.onError)throw S;return this.#A.onError?.(S)}onRequestStart(S,r){this.#A.onConnect?.(Q=>S.abort(Q),r)}onRequestUpgrade(S,r,Q,f){const w=[];for(const[u,l]of Object.entries(Q))w.push(Buffer.from(u,"latin1"),y(l));this.#A.onUpgrade?.(r,w,f)}onResponseStart(S,r,Q,f){const w=[];for(const[u,l]of Object.entries(Q))w.push(Buffer.from(u,"latin1"),y(l));this.#A.onHeaders?.(r,w,()=>S.resume(),f)===!1&&S.pause()}onResponseData(S,r){this.#A.onData?.(r)===!1&&S.pause()}onResponseEnd(S,r){const Q=[];for(const[f,w]of Object.entries(r))Q.push(Buffer.from(f,"latin1"),y(w));this.#A.onComplete?.(Q)}onResponseError(S,r){if(!this.#A.onError)throw new e("invalid onError method");this.#A.onError?.(r)}};function y(B){return Array.isArray(B)?B.map(S=>Buffer.from(S,"latin1")):Buffer.from(B,"latin1")}return Et}var Qt,Cn;function Pe(){if(Cn)return Qt;Cn=1;const e=AA,y=We(),B=r=>(Q,f)=>r(Q,y.wrap(f));class S extends e{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...Q){const f=Array.isArray(Q[0])?Q[0]:Q;let w=this.dispatch.bind(this);for(const u of f)if(u!=null){if(typeof u!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof u}`);if(w=u(w),w=B(w),w==null||typeof w!="function"||w.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(u,l)=>l==="dispatch"?w:u[l]})}}return Qt=S,Qt}var ct,hn;function Vo(){if(hn)return ct;hn=1;const{parseHeaders:e}=bA(),{InvalidArgumentError:y}=MA(),B=Symbol("resume");class S{#A=!1;#e=null;#t=!1;#r;[B]=null;constructor(Q){this.#r=Q}pause(){this.#A=!0}resume(){this.#A&&(this.#A=!1,this[B]?.())}abort(Q){this.#t||(this.#t=!0,this.#e=Q,this.#r(Q))}get aborted(){return this.#t}get reason(){return this.#e}get paused(){return this.#A}}return ct=class Io{#A;#e;constructor(Q){this.#A=Q}static unwrap(Q){return Q.onRequestStart?new Io(Q):Q}onConnect(Q,f){this.#e=new S(Q),this.#A.onRequestStart?.(this.#e,f)}onResponseStarted(){return this.#A.onResponseStarted?.()}onUpgrade(Q,f,w){this.#A.onRequestUpgrade?.(this.#e,Q,e(f),w)}onHeaders(Q,f,w,u){return this.#e[B]=w,this.#A.onResponseStart?.(this.#e,Q,e(f),u),!this.#e.paused}onData(Q){return this.#A.onResponseData?.(this.#e,Q),!this.#e.paused}onComplete(Q){this.#A.onResponseEnd?.(this.#e,e(Q))}onError(Q){if(!this.#A.onResponseError)throw new y("invalid onError method");this.#A.onResponseError?.(this.#e,Q)}},ct}var Bt,un;function fe(){if(un)return Bt;un=1;const e=Pe(),y=Vo(),{ClientDestroyedError:B,ClientClosedError:S,InvalidArgumentError:r}=MA(),{kDestroy:Q,kClose:f,kClosed:w,kDestroyed:u,kDispatch:l}=vA(),a=Symbol("onDestroyed"),i=Symbol("onClosed");class c extends e{[u]=!1;[a]=null;[w]=!1;[i]=null;get destroyed(){return this[u]}get closed(){return this[w]}close(A){if(A===void 0)return new Promise((o,g)=>{this.close((d,F)=>d?g(d):o(F))});if(typeof A!="function")throw new r("invalid callback");if(this[u]){const o=new B;queueMicrotask(()=>A(o,null));return}if(this[w]){this[i]?this[i].push(A):queueMicrotask(()=>A(null,null));return}this[w]=!0,this[i]??=[],this[i].push(A);const t=()=>{const o=this[i];this[i]=null;for(let g=0;g<o.length;g++)o[g](null,null)};this[f]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(A,t){if(typeof A=="function"&&(t=A,A=null),t===void 0)return new Promise((g,d)=>{this.destroy(A,(F,I)=>F?d(F):g(I))});if(typeof t!="function")throw new r("invalid callback");if(this[u]){this[a]?this[a].push(t):queueMicrotask(()=>t(null,null));return}A||(A=new B),this[u]=!0,this[a]??=[],this[a].push(t);const o=()=>{const g=this[a];this[a]=null;for(let d=0;d<g.length;d++)g[d](null,null)};this[Q](A).then(()=>queueMicrotask(o))}dispatch(A,t){if(!t||typeof t!="object")throw new r("handler must be an object");t=y.unwrap(t);try{if(!A||typeof A!="object")throw new r("opts must be an object.");if(this[u]||this[a])throw new B;if(this[w])throw new S;return this[l](A,t)}catch(o){if(typeof t.onError!="function")throw o;return t.onError(o),!1}}}return Bt=c,Bt}var It,fn;function de(){if(fn)return It;fn=1;const e=AA,y=AA,B=bA(),{InvalidArgumentError:S}=MA();let r;const Q=class{constructor(u){this._maxCachedSessions=u,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(l=>{if(this._sessionCache.size<this._maxCachedSessions)return;const a=this._sessionCache.get(l);a!==void 0&&a.deref()===void 0&&this._sessionCache.delete(l)})}get(u){const l=this._sessionCache.get(u);return l?l.deref():null}set(u,l){this._maxCachedSessions!==0&&(this._sessionCache.set(u,new WeakRef(l)),this._sessionRegistry.register(l,u))}};function f({allowH2:w,useH2c:u,maxCachedSessions:l,socketPath:a,timeout:i,session:c,...n}){if(l!=null&&(!Number.isInteger(l)||l<0))throw new S("maxCachedSessions must be a positive integer or zero");const A={path:a,...n},t=new Q(l??100);return i=i??1e4,w=w??!1,function({hostname:g,host:d,protocol:F,port:I,servername:s,localAddress:C,httpSocket:E},h){let R;if(F==="https:"){r||(r=AA),s=s||A.servername||B.getServerName(d)||null;const D=s||g;y(D);const p=c||t.get(D)||null;I=I||443,R=r.connect({highWaterMark:16384,...A,servername:s,session:p,localAddress:C,ALPNProtocols:w?["http/1.1","h2"]:["http/1.1"],socket:E,port:I,host:g}),R.on("session",function(k){t.set(D,k)})}else y(!E,"httpSocket can only be sent on TLS update"),I=I||80,R=e.connect({highWaterMark:64*1024,...A,localAddress:C,port:I,host:g}),u===!0&&(R.alpnProtocol="h2");if(A.keepAlive==null||A.keepAlive){const D=A.keepAliveInitialDelay===void 0?6e4:A.keepAliveInitialDelay;R.setKeepAlive(!0,D)}const N=B.setupConnectTimeout(new WeakRef(R),{timeout:i,hostname:g,port:I});return R.setNoDelay(!0).once(F==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(N),h){const D=h;h=null,D(null,this)}}).on("error",function(D){if(queueMicrotask(N),h){const p=h;h=null,p(D)}}),R}}return It=f,It}var lt={},He={},dn;function vo(){if(dn)return He;dn=1,Object.defineProperty(He,"__esModule",{value:!0}),He.enumToMap=e;function e(y,B=[],S=[]){const r=(B?.length??0)===0,Q=(S?.length??0)===0;return Object.fromEntries(Object.entries(y).filter(([,f])=>typeof f=="number"&&(r||B.includes(f))&&(Q||!S.includes(f))))}return He}var yn;function Oo(){return yn||(yn=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.SPECIAL_HEADERS=e.MINOR=e.MAJOR=e.HTAB_SP_VCHAR_OBS_TEXT=e.QUOTED_STRING=e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS=e.TOKEN=e.HEX=e.URL_CHAR=e.USERINFO_CHARS=e.MARK=e.ALPHANUM=e.NUM=e.HEX_MAP=e.NUM_MAP=e.ALPHA=e.STATUSES_HTTP=e.H_METHOD_MAP=e.METHOD_MAP=e.METHODS_RTSP=e.METHODS_ICE=e.METHODS_HTTP=e.HEADER_STATE=e.FINISH=e.STATUSES=e.METHODS=e.LENIENT_FLAGS=e.FLAGS=e.TYPE=e.ERROR=void 0;const y=vo();e.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38},e.TYPE={BOTH:0,REQUEST:1,RESPONSE:2},e.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512},e.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512},e.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46},e.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599},e.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2},e.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8},e.METHODS_HTTP=[e.METHODS.DELETE,e.METHODS.GET,e.METHODS.HEAD,e.METHODS.POST,e.METHODS.PUT,e.METHODS.CONNECT,e.METHODS.OPTIONS,e.METHODS.TRACE,e.METHODS.COPY,e.METHODS.LOCK,e.METHODS.MKCOL,e.METHODS.MOVE,e.METHODS.PROPFIND,e.METHODS.PROPPATCH,e.METHODS.SEARCH,e.METHODS.UNLOCK,e.METHODS.BIND,e.METHODS.REBIND,e.METHODS.UNBIND,e.METHODS.ACL,e.METHODS.REPORT,e.METHODS.MKACTIVITY,e.METHODS.CHECKOUT,e.METHODS.MERGE,e.METHODS["M-SEARCH"],e.METHODS.NOTIFY,e.METHODS.SUBSCRIBE,e.METHODS.UNSUBSCRIBE,e.METHODS.PATCH,e.METHODS.PURGE,e.METHODS.MKCALENDAR,e.METHODS.LINK,e.METHODS.UNLINK,e.METHODS.PRI,e.METHODS.SOURCE,e.METHODS.QUERY],e.METHODS_ICE=[e.METHODS.SOURCE],e.METHODS_RTSP=[e.METHODS.OPTIONS,e.METHODS.DESCRIBE,e.METHODS.ANNOUNCE,e.METHODS.SETUP,e.METHODS.PLAY,e.METHODS.PAUSE,e.METHODS.TEARDOWN,e.METHODS.GET_PARAMETER,e.METHODS.SET_PARAMETER,e.METHODS.REDIRECT,e.METHODS.RECORD,e.METHODS.FLUSH,e.METHODS.GET,e.METHODS.POST],e.METHOD_MAP=(0,y.enumToMap)(e.METHODS),e.H_METHOD_MAP=Object.fromEntries(Object.entries(e.METHODS).filter(([B])=>B.startsWith("H"))),e.STATUSES_HTTP=[e.STATUSES.CONTINUE,e.STATUSES.SWITCHING_PROTOCOLS,e.STATUSES.PROCESSING,e.STATUSES.EARLY_HINTS,e.STATUSES.RESPONSE_IS_STALE,e.STATUSES.REVALIDATION_FAILED,e.STATUSES.DISCONNECTED_OPERATION,e.STATUSES.HEURISTIC_EXPIRATION,e.STATUSES.MISCELLANEOUS_WARNING,e.STATUSES.OK,e.STATUSES.CREATED,e.STATUSES.ACCEPTED,e.STATUSES.NON_AUTHORITATIVE_INFORMATION,e.STATUSES.NO_CONTENT,e.STATUSES.RESET_CONTENT,e.STATUSES.PARTIAL_CONTENT,e.STATUSES.MULTI_STATUS,e.STATUSES.ALREADY_REPORTED,e.STATUSES.TRANSFORMATION_APPLIED,e.STATUSES.IM_USED,e.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,e.STATUSES.MULTIPLE_CHOICES,e.STATUSES.MOVED_PERMANENTLY,e.STATUSES.FOUND,e.STATUSES.SEE_OTHER,e.STATUSES.NOT_MODIFIED,e.STATUSES.USE_PROXY,e.STATUSES.SWITCH_PROXY,e.STATUSES.TEMPORARY_REDIRECT,e.STATUSES.PERMANENT_REDIRECT,e.STATUSES.BAD_REQUEST,e.STATUSES.UNAUTHORIZED,e.STATUSES.PAYMENT_REQUIRED,e.STATUSES.FORBIDDEN,e.STATUSES.NOT_FOUND,e.STATUSES.METHOD_NOT_ALLOWED,e.STATUSES.NOT_ACCEPTABLE,e.STATUSES.PROXY_AUTHENTICATION_REQUIRED,e.STATUSES.REQUEST_TIMEOUT,e.STATUSES.CONFLICT,e.STATUSES.GONE,e.STATUSES.LENGTH_REQUIRED,e.STATUSES.PRECONDITION_FAILED,e.STATUSES.PAYLOAD_TOO_LARGE,e.STATUSES.URI_TOO_LONG,e.STATUSES.UNSUPPORTED_MEDIA_TYPE,e.STATUSES.RANGE_NOT_SATISFIABLE,e.STATUSES.EXPECTATION_FAILED,e.STATUSES.IM_A_TEAPOT,e.STATUSES.PAGE_EXPIRED,e.STATUSES.ENHANCE_YOUR_CALM,e.STATUSES.MISDIRECTED_REQUEST,e.STATUSES.UNPROCESSABLE_ENTITY,e.STATUSES.LOCKED,e.STATUSES.FAILED_DEPENDENCY,e.STATUSES.TOO_EARLY,e.STATUSES.UPGRADE_REQUIRED,e.STATUSES.PRECONDITION_REQUIRED,e.STATUSES.TOO_MANY_REQUESTS,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,e.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,e.STATUSES.LOGIN_TIMEOUT,e.STATUSES.NO_RESPONSE,e.STATUSES.RETRY_WITH,e.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,e.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,e.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,e.STATUSES.INVALID_X_FORWARDED_FOR,e.STATUSES.REQUEST_HEADER_TOO_LARGE,e.STATUSES.SSL_CERTIFICATE_ERROR,e.STATUSES.SSL_CERTIFICATE_REQUIRED,e.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,e.STATUSES.INVALID_TOKEN,e.STATUSES.CLIENT_CLOSED_REQUEST,e.STATUSES.INTERNAL_SERVER_ERROR,e.STATUSES.NOT_IMPLEMENTED,e.STATUSES.BAD_GATEWAY,e.STATUSES.SERVICE_UNAVAILABLE,e.STATUSES.GATEWAY_TIMEOUT,e.STATUSES.HTTP_VERSION_NOT_SUPPORTED,e.STATUSES.VARIANT_ALSO_NEGOTIATES,e.STATUSES.INSUFFICIENT_STORAGE,e.STATUSES.LOOP_DETECTED,e.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,e.STATUSES.NOT_EXTENDED,e.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,e.STATUSES.WEB_SERVER_UNKNOWN_ERROR,e.STATUSES.WEB_SERVER_IS_DOWN,e.STATUSES.CONNECTION_TIMEOUT,e.STATUSES.ORIGIN_IS_UNREACHABLE,e.STATUSES.TIMEOUT_OCCURED,e.STATUSES.SSL_HANDSHAKE_FAILED,e.STATUSES.INVALID_SSL_CERTIFICATE,e.STATUSES.RAILGUN_ERROR,e.STATUSES.SITE_IS_OVERLOADED,e.STATUSES.SITE_IS_FROZEN,e.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,e.STATUSES.NETWORK_READ_TIMEOUT,e.STATUSES.NETWORK_CONNECT_TIMEOUT],e.ALPHA=[];for(let B=65;B<=90;B++)e.ALPHA.push(String.fromCharCode(B)),e.ALPHA.push(String.fromCharCode(B+32));e.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},e.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},e.NUM=["0","1","2","3","4","5","6","7","8","9"],e.ALPHANUM=e.ALPHA.concat(e.NUM),e.MARK=["-","_",".","!","~","*","'","(",")"],e.USERINFO_CHARS=e.ALPHANUM.concat(e.MARK).concat(["%",";",":","&","=","+","$",","]),e.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(e.ALPHANUM),e.HEX=e.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]),e.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(e.ALPHANUM),e.HEADER_CHARS=[" "];for(let B=32;B<=255;B++)B!==127&&e.HEADER_CHARS.push(B);e.CONNECTION_TOKEN_CHARS=e.HEADER_CHARS.filter(B=>B!==44),e.QUOTED_STRING=[" "," "];for(let B=33;B<=255;B++)B!==34&&B!==92&&e.QUOTED_STRING.push(B);e.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let B=33;B<=126;B++)e.HTAB_SP_VCHAR_OBS_TEXT.push(B);for(let B=128;B<=255;B++)e.HTAB_SP_VCHAR_OBS_TEXT.push(B);e.MAJOR=e.NUM_MAP,e.MINOR=e.MAJOR,e.SPECIAL_HEADERS={connection:e.HEADER_STATE.CONNECTION,"content-length":e.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":e.HEADER_STATE.CONNECTION,"transfer-encoding":e.HEADER_STATE.TRANSFER_ENCODING,upgrade:e.HEADER_STATE.UPGRADE},e.default={ERROR:e.ERROR,TYPE:e.TYPE,FLAGS:e.FLAGS,LENIENT_FLAGS:e.LENIENT_FLAGS,METHODS:e.METHODS,STATUSES:e.STATUSES,FINISH:e.FINISH,HEADER_STATE:e.HEADER_STATE,ALPHA:e.ALPHA,NUM_MAP:e.NUM_MAP,HEX_MAP:e.HEX_MAP,NUM:e.NUM,ALPHANUM:e.ALPHANUM,MARK:e.MARK,USERINFO_CHARS:e.USERINFO_CHARS,URL_CHAR:e.URL_CHAR,HEX:e.HEX,TOKEN:e.TOKEN,HEADER_CHARS:e.HEADER_CHARS,CONNECTION_TOKEN_CHARS:e.CONNECTION_TOKEN_CHARS,QUOTED_STRING:e.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:e.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:e.MAJOR,MINOR:e.MINOR,SPECIAL_HEADERS:e.SPECIAL_HEADERS,METHODS_HTTP:e.METHODS_HTTP,METHODS_ICE:e.METHODS_ICE,METHODS_RTSP:e.METHODS_RTSP,METHOD_MAP:e.METHOD_MAP,H_METHOD_MAP:e.H_METHOD_MAP,STATUSES_HTTP:e.STATUSES_HTTP}})(lt)),lt}var xe={exports:{}};xe.exports;var Dn;function wn(){return Dn||(Dn=1,(function(e){const{Buffer:y}=AA,B="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let S;Object.defineProperty(e,"exports",{get:()=>S||(S=y.from(B,"base64"))})})(xe)),xe.exports}var Je={exports:{}};Je.exports;var Sn;function xo(){return Sn||(Sn=1,(function(e){const{Buffer:y}=AA,B="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==";let S;Object.defineProperty(e,"exports",{get:()=>S||(S=y.from(B,"base64"))})})(Je)),Je.exports}const Fe=bo(To);var Ct,Rn;function qe(){if(Rn)return Ct;Rn=1;const e=["GET","HEAD","POST"],y=new Set(e),B=[101,204,205,304],S=[301,302,303,307,308],r=new Set(S),Q=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],f=new Set(Q),w=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],u=["",...w],l=new Set(w),a=["follow","manual","error"],i=["GET","HEAD","OPTIONS","TRACE"],c=new Set(i),n=["navigate","same-origin","no-cors","cors"],A=["omit","same-origin","include"],t=["default","no-store","reload","no-cache","force-cache","only-if-cached"],o=["content-encoding","content-language","content-location","content-type","content-length"],g=["half"],d=["CONNECT","TRACE","TRACK"],F=new Set(d),I=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],s=new Set(I);return Ct={subresource:I,forbiddenMethods:d,requestBodyHeader:o,referrerPolicy:u,requestRedirect:a,requestMode:n,requestCredentials:A,requestCache:t,redirectStatus:S,corsSafeListedMethods:e,nullBodyStatus:B,safeMethods:i,badPorts:Q,requestDuplex:g,subresourceSet:s,badPortsSet:f,redirectStatusSet:r,corsSafeListedMethodsSet:y,safeMethodsSet:c,forbiddenMethodsSet:F,referrerPolicyTokens:l},Ct}var ht,Nn;function lo(){if(Nn)return ht;Nn=1;const e=Symbol.for("undici.globalOrigin.1");function y(){return globalThis[e]}function B(S){if(S===void 0){Object.defineProperty(globalThis,e,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}const r=new URL(S);if(r.protocol!=="http:"&&r.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${r.protocol}`);Object.defineProperty(globalThis,e,{value:r,writable:!0,enumerable:!1,configurable:!1})}return ht={getGlobalOrigin:y,setGlobalOrigin:B},ht}var ut,pn;function _e(){if(pn)return ut;pn=1;const e=new TextDecoder;function y(B){return B.length===0?"":(B[0]===239&&B[1]===187&&B[2]===191&&(B=B.subarray(3)),e.decode(B))}return ut={utf8DecodeBytes:y},ut}var ft,Fn;function Qe(){if(Fn)return ft;Fn=1;const e=AA,{utf8DecodeBytes:y}=_e();function B(A,t,o){let g="";for(;o.position<t.length&&A(t[o.position]);)g+=t[o.position],o.position++;return g}function S(A,t,o){const g=t.indexOf(A,o.position),d=o.position;return g===-1?(o.position=t.length,t.slice(d)):(o.position=g,t.slice(d,o.position))}const r=/[\u0009\u000A\u000C\u000D\u0020]/g;function Q(A){A=A.replace(r,"");let t=A.length;if(t%4===0&&A.charCodeAt(t-1)===61&&(--t,A.charCodeAt(t-1)===61&&--t),t%4===1||/[^+/0-9A-Za-z]/.test(A.length===t?A:A.substring(0,t)))return"failure";const o=Buffer.from(A,"base64");return new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}function f(A){return A===9||A===10||A===12||A===13||A===32}function w(A){const t=A.length;if(65535>t)return String.fromCharCode.apply(null,A);let o="",g=0,d=65535;for(;g<t;)g+d>t&&(d=t-g),o+=String.fromCharCode.apply(null,A.subarray(g,g+=d));return o}const u=/[^\x00-\xFF]/;function l(A){return e(!u.test(A)),A}function a(A){return JSON.parse(y(A))}function i(A,t=!0,o=!0){return c(A,t,o,f)}function c(A,t,o,g){let d=0,F=A.length-1;if(t)for(;d<A.length&&g(A.charCodeAt(d));)d++;if(o)for(;F>0&&g(A.charCodeAt(F));)F--;return d===0&&F===A.length-1?A:A.slice(d,F+1)}function n(A){const t=JSON.stringify(A);if(t===void 0)throw new TypeError("Value is not JSON serializable");return e(typeof t=="string"),t}return ft={collectASequenceOfCodePoints:B,collectASequenceOfCodePointsFast:S,forgivingBase64:Q,isASCIIWhitespace:f,isomorphicDecode:w,isomorphicEncode:l,parseJSONFromBytes:a,removeASCIIWhitespace:i,removeChars:c,serializeJavascriptValueToJSONString:n},ft}var dt,Un;function oe(){if(Un)return dt;Un=1;const e=AA,{forgivingBase64:y,collectASequenceOfCodePoints:B,collectASequenceOfCodePointsFast:S,isomorphicDecode:r,removeASCIIWhitespace:Q,removeChars:f}=Qe(),w=new TextEncoder,u=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,l=/[\u000A\u000D\u0009\u0020]/u,a=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function i(E){e(E.protocol==="data:");let h=c(E,!0);h=h.slice(5);const R={position:0};let N=S(",",h,R);const D=N.length;if(N=Q(N,!0,!0),R.position>=h.length)return"failure";R.position++;const p=h.slice(D+1);let k=n(p);if(/;(?:\u0020*)base64$/ui.test(N)){const H=r(k);if(k=y(H),k==="failure")return"failure";N=N.slice(0,-6),N=N.replace(/(\u0020+)$/u,""),N=N.slice(0,-1)}N.startsWith(";")&&(N="text/plain"+N);let m=g(N);return m==="failure"&&(m=g("text/plain;charset=US-ASCII")),{mimeType:m,body:k}}function c(E,h=!1){if(!h)return E.href;const R=E.href,N=E.hash.length,D=N===0?R:R.substring(0,R.length-N);return!N&&R.endsWith("#")?D.slice(0,-1):D}function n(E){const h=w.encode(E);return o(h)}function A(E){return E>=48&&E<=57||E>=65&&E<=70||E>=97&&E<=102}function t(E){return E>=48&&E<=57?E-48:(E&223)-55}function o(E){const h=E.length,R=new Uint8Array(h);let N=0,D=0;for(;D<h;){const p=E[D];p!==37?R[N++]=p:p===37&&!(A(E[D+1])&&A(E[D+2]))?R[N++]=37:(R[N++]=t(E[D+1])<<4|t(E[D+2]),D+=2),++D}return h===N?R:R.subarray(0,N)}function g(E){E=s(E,!0,!0);const h={position:0},R=S("/",E,h);if(R.length===0||!u.test(R)||h.position>=E.length)return"failure";h.position++;let N=S(";",E,h);if(N=s(N,!1,!0),N.length===0||!u.test(N))return"failure";const D=R.toLowerCase(),p=N.toLowerCase(),k={type:D,subtype:p,parameters:new Map,essence:`${D}/${p}`};for(;h.position<E.length;){h.position++,B(M=>l.test(M),E,h);let m=B(M=>M!==";"&&M!=="=",E,h);if(m=m.toLowerCase(),h.position<E.length){if(E[h.position]===";")continue;h.position++}if(h.position>=E.length)break;let H=null;if(E[h.position]==='"')H=d(E,h,!0),S(";",E,h);else if(H=S(";",E,h),H=s(H,!1,!0),H.length===0)continue;m.length!==0&&u.test(m)&&(H.length===0||a.test(H))&&!k.parameters.has(m)&&k.parameters.set(m,H)}return k}function d(E,h,R=!1){const N=h.position;let D="";for(e(E[h.position]==='"'),h.position++;D+=B(k=>k!=='"'&&k!=="\\",E,h),!(h.position>=E.length);){const p=E[h.position];if(h.position++,p==="\\"){if(h.position>=E.length){D+="\\";break}D+=E[h.position],h.position++}else{e(p==='"');break}}return R?D:E.slice(N,h.position)}function F(E){e(E!=="failure");const{parameters:h,essence:R}=E;let N=R;for(let[D,p]of h.entries())N+=";",N+=D,N+="=",u.test(p)||(p=p.replace(/[\\"]/ug,"\\$&"),p='"'+p,p+='"'),N+=p;return N}function I(E){return E===13||E===10||E===9||E===32}function s(E,h=!0,R=!0){return f(E,h,R,I)}function C(E){switch(E.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return E.subtype.endsWith("+json")?"application/json":E.subtype.endsWith("+xml")?"application/xml":""}return dt={dataURLProcessor:i,URLSerializer:c,stringPercentDecode:n,parseMIMEType:g,collectAnHTTPQuotedString:d,serializeAMimeType:F,removeHTTPWhitespace:s,minimizeSupportedMimeType:C,HTTP_TOKEN_CODEPOINTS:u},dt}var Ye={},mn;function ce(){if(mn)return Ye;mn=1;const e={__proto__:null,"node:crypto":()=>AA,"node:sqlite":()=>AA,"node:worker_threads":()=>AA,"node:zlib":()=>Fe};function y(a){try{return e[a](),!0}catch(i){if(i.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&i.code!=="ERR_NO_CRYPTO")throw i;return!1}}function B(a,i){return typeof e[a]()[i]<"u"}const S=["markAsUncloneable","zstd"],r={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},Q=["crypto","sqlite"],f=[...Q,...S];function w(a){if(Q.includes(a))return y(`node:${a}`);if(S.includes(a)){const[i,c]=r[a];return B(i,c)}throw new TypeError(`unknown feature: ${a}`)}class u{#A=new Map;clear(){this.#A.clear()}has(i){return this.#A.get(i)??this.#e(i)}set(i,c){if(f.includes(i)===!1)throw new TypeError(`unknown feature: ${i}`);this.#A.set(i,c)}#e(i){const c=w(i);return this.#A.set(i,c),c}}const l=new u;return Ye.runtimeFeatures=l,Ye.default=l,Ye}var yt,Mn;function ee(){if(Mn)return yt;Mn=1;const e=AA,{types:y,inspect:B}=AA,{runtimeFeatures:S}=ce(),r=1,Q=2,f=3,w=4,u=5,l=6,a=7,i=8,c=Function.call.bind(Function.prototype[Symbol.hasInstance]),n={converters:{},util:{},errors:{},is:{}};return n.errors.exception=function(A){return new TypeError(`${A.header}: ${A.message}`)},n.errors.conversionFailed=function(A){const t=A.types.length===1?"":" one of",o=`${A.argument} could not be converted to${t}: ${A.types.join(", ")}.`;return n.errors.exception({header:A.prefix,message:o})},n.errors.invalidArgument=function(A){return n.errors.exception({header:A.prefix,message:`"${A.value}" is an invalid ${A.type}.`})},n.brandCheck=function(A,t){if(!c(t,A)){const o=new TypeError("Illegal invocation");throw o.code="ERR_INVALID_THIS",o}},n.brandCheckMultiple=function(A){const t=A.map(o=>n.util.MakeTypeAssertion(o));return o=>{if(t.every(g=>!g(o))){const g=new TypeError("Illegal invocation");throw g.code="ERR_INVALID_THIS",g}}},n.argumentLengthCheck=function({length:A},t,o){if(A<t)throw n.errors.exception({message:`${t} argument${t!==1?"s":""} required, but${A?" only":""} ${A} found.`,header:o})},n.illegalConstructor=function(){throw n.errors.exception({header:"TypeError",message:"Illegal constructor"})},n.util.MakeTypeAssertion=function(A){return t=>c(A,t)},n.util.Type=function(A){switch(typeof A){case"undefined":return r;case"boolean":return Q;case"string":return f;case"symbol":return w;case"number":return u;case"bigint":return l;case"function":case"object":return A===null?a:i}},n.util.Types={UNDEFINED:r,BOOLEAN:Q,STRING:f,SYMBOL:w,NUMBER:u,BIGINT:l,NULL:a,OBJECT:i},n.util.TypeValueToString=function(A){switch(n.util.Type(A)){case r:return"Undefined";case Q:return"Boolean";case f:return"String";case w:return"Symbol";case u:return"Number";case l:return"BigInt";case a:return"Null";case i:return"Object"}},n.util.markAsUncloneable=S.has("markAsUncloneable")?AA.markAsUncloneable:()=>{},n.util.ConvertToInt=function(A,t,o,g){let d,F;t===64?(d=Math.pow(2,53)-1,o==="unsigned"?F=0:F=Math.pow(-2,53)+1):o==="unsigned"?(F=0,d=Math.pow(2,t)-1):(F=Math.pow(-2,t)-1,d=Math.pow(2,t-1)-1);let I=Number(A);if(I===0&&(I=0),n.util.HasFlag(g,n.attributes.EnforceRange)){if(Number.isNaN(I)||I===Number.POSITIVE_INFINITY||I===Number.NEGATIVE_INFINITY)throw n.errors.exception({header:"Integer conversion",message:`Could not convert ${n.util.Stringify(A)} to an integer.`});if(I=n.util.IntegerPart(I),I<F||I>d)throw n.errors.exception({header:"Integer conversion",message:`Value must be between ${F}-${d}, got ${I}.`});return I}return!Number.isNaN(I)&&n.util.HasFlag(g,n.attributes.Clamp)?(I=Math.min(Math.max(I,F),d),Math.floor(I)%2===0?I=Math.floor(I):I=Math.ceil(I),I):Number.isNaN(I)||I===0&&Object.is(0,I)||I===Number.POSITIVE_INFINITY||I===Number.NEGATIVE_INFINITY?0:(I=n.util.IntegerPart(I),I=I%Math.pow(2,t),o==="signed"&&I>=Math.pow(2,t)-1?I-Math.pow(2,t):I)},n.util.IntegerPart=function(A){const t=Math.floor(Math.abs(A));return A<0?-1*t:t},n.util.Stringify=function(A){switch(n.util.Type(A)){case w:return`Symbol(${A.description})`;case i:return B(A);case f:return`"${A}"`;case l:return`${A}n`;default:return`${A}`}},n.util.IsResizableArrayBuffer=function(A){if(y.isArrayBuffer(A))return A.resizable;if(y.isSharedArrayBuffer(A))return A.growable;throw n.errors.exception({header:"IsResizableArrayBuffer",message:`"${n.util.Stringify(A)}" is not an array buffer.`})},n.util.HasFlag=function(A,t){return typeof A=="number"&&(A&t)===t},n.sequenceConverter=function(A){return(t,o,g,d)=>{if(n.util.Type(t)!==i)throw n.errors.exception({header:o,message:`${g} (${n.util.Stringify(t)}) is not iterable.`});const F=typeof d=="function"?d():t?.[Symbol.iterator]?.(),I=[];let s=0;if(F===void 0||typeof F.next!="function")throw n.errors.exception({header:o,message:`${g} is not iterable.`});for(;;){const{done:C,value:E}=F.next();if(C)break;I.push(A(E,o,`${g}[${s++}]`))}return I}},n.recordConverter=function(A,t){return(o,g,d)=>{if(n.util.Type(o)!==i)throw n.errors.exception({header:g,message:`${d} ("${n.util.TypeValueToString(o)}") is not an Object.`});const F={};if(!y.isProxy(o)){const s=[...Object.getOwnPropertyNames(o),...Object.getOwnPropertySymbols(o)];for(const C of s){const E=n.util.Stringify(C),h=A(C,g,`Key ${E} in ${d}`),R=t(o[C],g,`${d}[${E}]`);F[h]=R}return F}const I=Reflect.ownKeys(o);for(const s of I)if(Reflect.getOwnPropertyDescriptor(o,s)?.enumerable){const E=A(s,g,d),h=t(o[s],g,d);F[E]=h}return F}},n.interfaceConverter=function(A,t){return(o,g,d)=>{if(!A(o))throw n.errors.exception({header:g,message:`Expected ${d} ("${n.util.Stringify(o)}") to be an instance of ${t}.`});return o}},n.dictionaryConverter=function(A){return A.sort((t,o)=>(t.key>o.key)-(t.key<o.key)),(t,o,g)=>{const d={};if(t!=null&&n.util.Type(t)!==i)throw n.errors.exception({header:o,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(const F of A){const{key:I,defaultValue:s,required:C,converter:E}=F;if(C===!0&&(t==null||!Object.hasOwn(t,I)))throw n.errors.exception({header:o,message:`Missing required key "${I}".`});let h=t?.[I];const R=s!==void 0;if(R&&h===void 0&&(h=s()),C||R||h!==void 0){if(h=E(h,o,`${g}.${I}`),F.allowedValues&&!F.allowedValues.includes(h))throw n.errors.exception({header:o,message:`${h} is not an accepted type. Expected one of ${F.allowedValues.join(", ")}.`});d[I]=h}}return d}},n.nullableConverter=function(A){return(t,o,g)=>t===null?t:A(t,o,g)},n.is.USVString=function(A){return typeof A=="string"&&A.isWellFormed()},n.is.ReadableStream=n.util.MakeTypeAssertion(ReadableStream),n.is.Blob=n.util.MakeTypeAssertion(Blob),n.is.URLSearchParams=n.util.MakeTypeAssertion(URLSearchParams),n.is.File=n.util.MakeTypeAssertion(File),n.is.URL=n.util.MakeTypeAssertion(URL),n.is.AbortSignal=n.util.MakeTypeAssertion(AbortSignal),n.is.MessagePort=n.util.MakeTypeAssertion(MessagePort),n.is.BufferSource=function(A){return y.isArrayBuffer(A)||ArrayBuffer.isView(A)&&y.isArrayBuffer(A.buffer)},n.util.getCopyOfBytesHeldByBufferSource=function(A){const t=A;let o=t,g=0,d=0;if(y.isTypedArray(t)||y.isDataView(t)?(o=t.buffer,g=t.byteOffset,d=t.byteLength):(e(y.isAnyArrayBuffer(t)),d=t.byteLength),o.detached)return new Uint8Array(0);const F=new Uint8Array(d),I=new Uint8Array(o,g,d);return F.set(I),F},n.converters.DOMString=function(A,t,o,g){if(A===null&&n.util.HasFlag(g,n.attributes.LegacyNullToEmptyString))return"";if(typeof A=="symbol")throw n.errors.exception({header:t,message:`${o} is a symbol, which cannot be converted to a DOMString.`});return String(A)},n.converters.ByteString=function(A,t,o){if(typeof A=="symbol")throw n.errors.exception({header:t,message:`${o} is a symbol, which cannot be converted to a ByteString.`});const g=String(A);for(let d=0;d<g.length;d++)if(g.charCodeAt(d)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${d} has a value of ${g.charCodeAt(d)} which is greater than 255.`);return g},n.converters.USVString=function(A){return typeof A=="string"?A.toWellFormed():`${A}`.toWellFormed()},n.converters.boolean=function(A){return!!A},n.converters.any=function(A){return A},n.converters["long long"]=function(A,t,o){return n.util.ConvertToInt(A,64,"signed",0,t,o)},n.converters["unsigned long long"]=function(A,t,o){return n.util.ConvertToInt(A,64,"unsigned",0,t,o)},n.converters["unsigned long"]=function(A,t,o){return n.util.ConvertToInt(A,32,"unsigned",0,t,o)},n.converters["unsigned short"]=function(A,t,o,g){return n.util.ConvertToInt(A,16,"unsigned",g,t,o)},n.converters.ArrayBuffer=function(A,t,o,g){if(n.util.Type(A)!==i||!y.isArrayBuffer(A))throw n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["ArrayBuffer"]});if(!n.util.HasFlag(g,n.attributes.AllowResizable)&&n.util.IsResizableArrayBuffer(A))throw n.errors.exception({header:t,message:`${o} cannot be a resizable ArrayBuffer.`});return A},n.converters.SharedArrayBuffer=function(A,t,o,g){if(n.util.Type(A)!==i||!y.isSharedArrayBuffer(A))throw n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["SharedArrayBuffer"]});if(!n.util.HasFlag(g,n.attributes.AllowResizable)&&n.util.IsResizableArrayBuffer(A))throw n.errors.exception({header:t,message:`${o} cannot be a resizable SharedArrayBuffer.`});return A},n.converters.TypedArray=function(A,t,o,g,d){if(n.util.Type(A)!==i||!y.isTypedArray(A)||A.constructor.name!==t.name)throw n.errors.conversionFailed({prefix:o,argument:`${g} ("${n.util.Stringify(A)}")`,types:[t.name]});if(!n.util.HasFlag(d,n.attributes.AllowShared)&&y.isSharedArrayBuffer(A.buffer))throw n.errors.exception({header:o,message:`${g} cannot be a view on a shared array buffer.`});if(!n.util.HasFlag(d,n.attributes.AllowResizable)&&n.util.IsResizableArrayBuffer(A.buffer))throw n.errors.exception({header:o,message:`${g} cannot be a view on a resizable array buffer.`});return A},n.converters.DataView=function(A,t,o,g){if(n.util.Type(A)!==i||!y.isDataView(A))throw n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["DataView"]});if(!n.util.HasFlag(g,n.attributes.AllowShared)&&y.isSharedArrayBuffer(A.buffer))throw n.errors.exception({header:t,message:`${o} cannot be a view on a shared array buffer.`});if(!n.util.HasFlag(g,n.attributes.AllowResizable)&&n.util.IsResizableArrayBuffer(A.buffer))throw n.errors.exception({header:t,message:`${o} cannot be a view on a resizable array buffer.`});return A},n.converters.ArrayBufferView=function(A,t,o,g){if(n.util.Type(A)!==i||!y.isArrayBufferView(A))throw n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["ArrayBufferView"]});if(!n.util.HasFlag(g,n.attributes.AllowShared)&&y.isSharedArrayBuffer(A.buffer))throw n.errors.exception({header:t,message:`${o} cannot be a view on a shared array buffer.`});if(!n.util.HasFlag(g,n.attributes.AllowResizable)&&n.util.IsResizableArrayBuffer(A.buffer))throw n.errors.exception({header:t,message:`${o} cannot be a view on a resizable array buffer.`});return A},n.converters.BufferSource=function(A,t,o,g){if(y.isArrayBuffer(A))return n.converters.ArrayBuffer(A,t,o,g);if(y.isArrayBufferView(A))return g&=~n.attributes.AllowShared,n.converters.ArrayBufferView(A,t,o,g);throw y.isSharedArrayBuffer(A)?n.errors.exception({header:t,message:`${o} cannot be a SharedArrayBuffer.`}):n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["ArrayBuffer","ArrayBufferView"]})},n.converters.AllowSharedBufferSource=function(A,t,o,g){if(y.isArrayBuffer(A))return n.converters.ArrayBuffer(A,t,o,g);if(y.isSharedArrayBuffer(A))return n.converters.SharedArrayBuffer(A,t,o,g);if(y.isArrayBufferView(A))return g|=n.attributes.AllowShared,n.converters.ArrayBufferView(A,t,o,g);throw n.errors.conversionFailed({prefix:t,argument:`${o} ("${n.util.Stringify(A)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})},n.converters["sequence<ByteString>"]=n.sequenceConverter(n.converters.ByteString),n.converters["sequence<sequence<ByteString>>"]=n.sequenceConverter(n.converters["sequence<ByteString>"]),n.converters["record<ByteString, ByteString>"]=n.recordConverter(n.converters.ByteString,n.converters.ByteString),n.converters.Blob=n.interfaceConverter(n.is.Blob,"Blob"),n.converters.AbortSignal=n.interfaceConverter(n.is.AbortSignal,"AbortSignal"),n.converters.EventHandlerNonNull=function(A){return n.util.Type(A)!==i?null:typeof A=="function"?A:()=>{}},n.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},yt={webidl:n},yt}var Dt,kn;function se(){if(kn)return Dt;kn=1;const{Transform:e}=AA,y=Fe,{redirectStatusSet:B,referrerPolicyTokens:S,badPortsSet:r}=qe(),{getGlobalOrigin:Q}=lo(),{collectAnHTTPQuotedString:f,parseMIMEType:w}=oe(),{performance:u}=AA,{ReadableStreamFrom:l,isValidHTTPToken:a,normalizedMethodRecordsBase:i}=bA(),c=AA,{isUint8Array:n}=AA,{webidl:A}=ee(),{isomorphicEncode:t,collectASequenceOfCodePoints:o,removeChars:g}=Qe();function d(V){const Z=V.urlList,oA=Z.length;return oA===0?null:Z[oA-1].toString()}function F(V,Z){if(!B.has(V.status))return null;let oA=V.headersList.get("location",!0);return oA!==null&&D(oA)&&(I(oA)||(oA=s(oA)),oA=new URL(oA,d(V))),oA&&!oA.hash&&(oA.hash=Z),oA}function I(V){for(let Z=0;Z<V.length;++Z){const oA=V.charCodeAt(Z);if(oA>126||oA<32)return!1}return!0}function s(V){return Buffer.from(V,"binary").toString("utf8")}function C(V){return V.urlList[V.urlList.length-1]}function E(V){const Z=C(V);return JA(Z)&&r.has(Z.port)?"blocked":"allowed"}function h(V){return V instanceof Error||V?.constructor?.name==="Error"||V?.constructor?.name==="DOMException"}function R(V){for(let Z=0;Z<V.length;++Z){const oA=V.charCodeAt(Z);if(!(oA===9||oA>=32&&oA<=126||oA>=128&&oA<=255))return!1}return!0}const N=a;function D(V){return(V[0]===" "||V[0]===" "||V[V.length-1]===" "||V[V.length-1]===" "||V.includes(`
|
|
2
|
+
`)||V.includes("\r")||V.includes("\0"))===!1}function p(V){const Z=(V.headersList.get("referrer-policy",!0)??"").split(",");let oA="";if(Z.length)for(let cA=Z.length;cA!==0;cA--){const j=Z[cA-1].trim();if(S.has(j)){oA=j;break}}return oA}function k(V,Z){const oA=p(Z);oA!==""&&(V.referrerPolicy=oA)}function m(){return"allowed"}function H(){return"success"}function M(){return"success"}function b(V){let Z=null;Z=V.mode,V.headersList.set("sec-fetch-mode",Z,!0)}function T(V){let Z=V.origin;if(!(Z==="client"||Z===void 0)){if(V.responseTainting==="cors"||V.mode==="websocket")V.headersList.append("origin",Z,!0);else if(V.method!=="GET"&&V.method!=="HEAD"){switch(V.referrerPolicy){case"no-referrer":Z=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":V.origin&&qA(V.origin)&&!qA(C(V))&&(Z=null);break;case"same-origin":SA(V,C(V))||(Z=null);break}V.headersList.append("origin",Z,!0)}}}function J(V,Z){return V}function tA(V,Z,oA){return!V?.startTime||V.startTime<Z?{domainLookupStartTime:Z,domainLookupEndTime:Z,connectionStartTime:Z,connectionEndTime:Z,secureConnectionStartTime:Z,ALPNNegotiatedProtocol:V?.ALPNNegotiatedProtocol}:{domainLookupStartTime:J(V.domainLookupStartTime),domainLookupEndTime:J(V.domainLookupEndTime),connectionStartTime:J(V.connectionStartTime),connectionEndTime:J(V.connectionEndTime),secureConnectionStartTime:J(V.secureConnectionStartTime),ALPNNegotiatedProtocol:V.ALPNNegotiatedProtocol}}function sA(V){return J(u.now())}function gA(V){return{startTime:V.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:V.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function dA(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function CA(V){return{referrerPolicy:V.referrerPolicy}}function mA(V){const Z=V.referrerPolicy;c(Z);let oA=null;if(V.referrer==="client"){const L=Q();if(!L||L.origin==="null")return"no-referrer";oA=new URL(L)}else A.is.URL(V.referrer)&&(oA=V.referrer);let cA=$(oA);const j=$(oA,!0);switch(cA.toString().length>4096&&(cA=j),Z){case"no-referrer":return"no-referrer";case"origin":return j??$(oA,!0);case"unsafe-url":return cA;case"strict-origin":{const L=C(V);return IA(cA)&&!IA(L)?"no-referrer":j}case"strict-origin-when-cross-origin":{const L=C(V);return SA(cA,L)?cA:IA(cA)&&!IA(L)?"no-referrer":j}case"same-origin":return SA(V,cA)?cA:"no-referrer";case"origin-when-cross-origin":return SA(V,cA)?cA:j;case"no-referrer-when-downgrade":{const L=C(V);return IA(cA)&&!IA(L)?"no-referrer":cA}}}function $(V,Z=!1){return c(A.is.URL(V)),V=new URL(V),PA(V)?"no-referrer":(V.username="",V.password="",V.hash="",Z===!0&&(V.pathname="",V.search=""),V)}const rA=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),nA=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function wA(V){return V.includes(":")?(V[0]==="["&&V[V.length-1]==="]"&&(V=V.slice(1,-1)),nA(V)):rA(V)}function kA(V){return V==null||V==="null"?!1:(V=new URL(V),!!(V.protocol==="https:"||V.protocol==="wss:"||wA(V.hostname)||V.hostname==="localhost"||V.hostname==="localhost."||V.hostname.endsWith(".localhost")||V.hostname.endsWith(".localhost.")||V.protocol==="file:"))}function IA(V){return A.is.URL(V)?V.href==="about:blank"||V.href==="about:srcdoc"||V.protocol==="data:"||V.protocol==="blob:"?!0:kA(V.origin):!1}function TA(V){}function SA(V,Z){return V.origin===Z.origin&&V.origin==="null"||V.protocol===Z.protocol&&V.hostname===Z.hostname&&V.port===Z.port}function G(V){return V.controller.state==="aborted"}function BA(V){return V.controller.state==="aborted"||V.controller.state==="terminated"}function QA(V){return i[V.toLowerCase()]??V}const RA=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function K(V,Z,oA=0,cA=1){class j{#A;#e;#t;constructor(O,q){this.#A=O,this.#e=q,this.#t=0}next(){if(typeof this!="object"||this===null||!(#A in this))throw new TypeError(`'next' called on an object that does not implement interface ${V} Iterator.`);const O=this.#t,q=Z(this.#A),x=q.length;if(O>=x)return{value:void 0,done:!0};const{[oA]:lA,[cA]:DA}=q[O];this.#t=O+1;let NA;switch(this.#e){case"key":NA=lA;break;case"value":NA=DA;break;case"key+value":NA=[lA,DA];break}return{value:NA,done:!1}}}return delete j.prototype.constructor,Object.setPrototypeOf(j.prototype,RA),Object.defineProperties(j.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${V} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(L,O){return new j(L,O)}}function FA(V,Z,oA,cA=0,j=1){const L=K(V,oA,cA,j),O={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return A.brandCheck(this,Z),L(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return A.brandCheck(this,Z),L(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return A.brandCheck(this,Z),L(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(x,lA=globalThis){if(A.brandCheck(this,Z),A.argumentLengthCheck(arguments,1,`${V}.forEach`),typeof x!="function")throw new TypeError(`Failed to execute 'forEach' on '${V}': parameter 1 is not of type 'Function'.`);for(const{0:DA,1:NA}of L(this,"key+value"))x.call(lA,NA,DA,this)}}};return Object.defineProperties(Z.prototype,{...O,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:O.entries.value}})}function OA(V,Z,oA){const cA=Z,j=oA;try{const L=V.stream.getReader();XA(L,cA,j)}catch(L){j(L)}}function LA(V){try{V.close(),V.byobRequest?.respond(0)}catch(Z){if(!Z.message.includes("Controller is already closed")&&!Z.message.includes("ReadableStream is already closed"))throw Z}}async function XA(V,Z,oA){try{const cA=[];let j=0;do{const{done:L,value:O}=await V.read();if(L){Z(Buffer.concat(cA,j));return}if(!n(O)){oA(new TypeError("Received non-Uint8Array chunk"));return}cA.push(O),j+=O.length}while(!0)}catch(cA){oA(cA)}}function PA(V){c("protocol"in V);const Z=V.protocol;return Z==="about:"||Z==="blob:"||Z==="data:"}function qA(V){return typeof V=="string"&&V[5]===":"&&V[0]==="h"&&V[1]==="t"&&V[2]==="t"&&V[3]==="p"&&V[4]==="s"||V.protocol==="https:"}function JA(V){c("protocol"in V);const Z=V.protocol;return Z==="http:"||Z==="https:"}function KA(V,Z){const oA=V;if(!oA.startsWith("bytes"))return"failure";const cA={position:5};if(Z&&o(x=>x===" "||x===" ",oA,cA),oA.charCodeAt(cA.position)!==61)return"failure";cA.position++,Z&&o(x=>x===" "||x===" ",oA,cA);const j=o(x=>{const lA=x.charCodeAt(0);return lA>=48&&lA<=57},oA,cA),L=j.length?Number(j):null;if(Z&&o(x=>x===" "||x===" ",oA,cA),oA.charCodeAt(cA.position)!==45)return"failure";cA.position++,Z&&o(x=>x===" "||x===" ",oA,cA);const O=o(x=>{const lA=x.charCodeAt(0);return lA>=48&&lA<=57},oA,cA),q=O.length?Number(O):null;return cA.position<oA.length||q===null&&L===null||L>q?"failure":{rangeStartValue:L,rangeEndValue:q}}function zA(V,Z,oA){let cA="bytes ";return cA+=t(`${V}`),cA+="-",cA+=t(`${Z}`),cA+="/",cA+=t(`${oA}`),cA}class _A extends e{#A;constructor(Z){super(),this.#A=Z}_transform(Z,oA,cA){if(!this._inflateStream){if(Z.length===0){cA();return}this._inflateStream=(Z[0]&15)===8?y.createInflate(this.#A):y.createInflateRaw(this.#A),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",j=>this.destroy(j))}this._inflateStream.write(Z,oA,cA)}_final(Z){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),Z()}}function $A(V){return new _A(V)}function X(V){let Z=null,oA=null,cA=null;const j=U("content-type",V);if(j===null)return"failure";for(const L of j){const O=w(L);O==="failure"||O.essence==="*/*"||(cA=O,cA.essence!==oA?(Z=null,cA.parameters.has("charset")&&(Z=cA.parameters.get("charset")),oA=cA.essence):!cA.parameters.has("charset")&&Z!==null&&cA.parameters.set("charset",Z))}return cA??"failure"}function fA(V){const Z=V,oA={position:0},cA=[];let j="";for(;oA.position<Z.length;){if(j+=o(L=>L!=='"'&&L!==",",Z,oA),oA.position<Z.length)if(Z.charCodeAt(oA.position)===34){if(j+=f(Z,oA),oA.position<Z.length)continue}else c(Z.charCodeAt(oA.position)===44),oA.position++;j=g(j,!0,!0,L=>L===9||L===32),cA.push(j),j=""}return cA}function U(V,Z){const oA=Z.get(V,!0);return oA===null?null:fA(oA)}function Y(V){return!1}function W(V){return!!(V.username||V.password)}function aA(V){return!0}class iA{get baseUrl(){return Q()}get origin(){return this.baseUrl?.origin}policyContainer=dA()}class hA{settingsObject=new iA}const UA=new hA;return Dt={isAborted:G,isCancelled:BA,isValidEncodedURL:I,ReadableStreamFrom:l,tryUpgradeRequestToAPotentiallyTrustworthyURL:TA,clampAndCoarsenConnectionTimingInfo:tA,coarsenedSharedCurrentTime:sA,determineRequestsReferrer:mA,makePolicyContainer:dA,clonePolicyContainer:CA,appendFetchMetadata:b,appendRequestOriginHeader:T,TAOCheck:M,corsCheck:H,crossOriginResourcePolicyCheck:m,createOpaqueTimingInfo:gA,setRequestReferrerPolicyOnRedirect:k,isValidHTTPToken:a,requestBadPort:E,requestCurrentURL:C,responseURL:d,responseLocationURL:F,isURLPotentiallyTrustworthy:IA,isValidReasonPhrase:R,sameOrigin:SA,normalizeMethod:QA,iteratorMixin:FA,createIterator:K,isValidHeaderName:N,isValidHeaderValue:D,isErrorLike:h,fullyReadBody:OA,readableStreamClose:LA,urlIsLocal:PA,urlHasHttpsScheme:qA,urlIsHttpHttpsScheme:JA,readAllBytes:XA,simpleRangeHeaderValue:KA,buildContentRange:zA,createInflate:$A,extractMimeType:X,getDecodeSplit:U,environmentSettingsObject:UA,isOriginIPPotentiallyTrustworthy:wA,hasAuthenticationEntry:Y,includesCredentials:W,isTraversableNavigable:aA},Dt}var wt,bn;function zr(){if(bn)return wt;bn=1;const{iteratorMixin:e}=se(),{kEnumerableProperty:y}=bA(),{webidl:B}=ee(),S=AA;class r{#A=[];constructor(l=void 0){if(B.util.markAsUncloneable(this),l!==void 0)throw B.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(l,a,i=void 0){B.brandCheck(this,r);const c="FormData.append";B.argumentLengthCheck(arguments,2,c),l=B.converters.USVString(l),arguments.length===3||B.is.Blob(a)?(a=B.converters.Blob(a,c,"value"),i!==void 0&&(i=B.converters.USVString(i))):a=B.converters.USVString(a);const n=w(l,a,i);this.#A.push(n)}delete(l){B.brandCheck(this,r),B.argumentLengthCheck(arguments,1,"FormData.delete"),l=B.converters.USVString(l),this.#A=this.#A.filter(i=>i.name!==l)}get(l){B.brandCheck(this,r),B.argumentLengthCheck(arguments,1,"FormData.get"),l=B.converters.USVString(l);const i=this.#A.findIndex(c=>c.name===l);return i===-1?null:this.#A[i].value}getAll(l){return B.brandCheck(this,r),B.argumentLengthCheck(arguments,1,"FormData.getAll"),l=B.converters.USVString(l),this.#A.filter(i=>i.name===l).map(i=>i.value)}has(l){return B.brandCheck(this,r),B.argumentLengthCheck(arguments,1,"FormData.has"),l=B.converters.USVString(l),this.#A.findIndex(i=>i.name===l)!==-1}set(l,a,i=void 0){B.brandCheck(this,r);const c="FormData.set";B.argumentLengthCheck(arguments,2,c),l=B.converters.USVString(l),arguments.length===3||B.is.Blob(a)?(a=B.converters.Blob(a,c,"value"),i!==void 0&&(i=B.converters.USVString(i))):a=B.converters.USVString(a);const n=w(l,a,i),A=this.#A.findIndex(t=>t.name===l);A!==-1?this.#A=[...this.#A.slice(0,A),n,...this.#A.slice(A+1).filter(t=>t.name!==l)]:this.#A.push(n)}[S.inspect.custom](l,a){const i=this.#A.reduce((n,A)=>(n[A.name]?Array.isArray(n[A.name])?n[A.name].push(A.value):n[A.name]=[n[A.name],A.value]:n[A.name]=A.value,n),{__proto__:null});a.depth??=l,a.colors??=!0;const c=S.formatWithOptions(a,i);return`FormData ${c.slice(c.indexOf("]")+2)}`}static getFormDataState(l){return l.#A}static setFormDataState(l,a){l.#A=a}}const{getFormDataState:Q,setFormDataState:f}=r;Reflect.deleteProperty(r,"getFormDataState"),Reflect.deleteProperty(r,"setFormDataState"),e("FormData",r,Q,"name","value"),Object.defineProperties(r.prototype,{append:y,delete:y,get:y,getAll:y,has:y,set:y,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function w(u,l,a){if(typeof l!="string"){if(B.is.File(l)||(l=new File([l],"blob",{type:l.type})),a!==void 0){const i={type:l.type,lastModified:l.lastModified};l=new File([l],a,i)}}return{name:u,value:l}}return B.is.FormData=B.util.MakeTypeAssertion(r),wt={FormData:r,makeEntry:w,setFormDataState:f},wt}var St,Tn;function Jo(){if(Tn)return St;Tn=1;const{bufferToLowerCasedHeaderName:e}=bA(),{HTTP_TOKEN_CODEPOINTS:y}=oe(),{makeEntry:B}=zr(),{webidl:S}=ee(),r=AA,{isomorphicDecode:Q}=Qe(),{utf8DecodeBytes:f}=_e(),w=Buffer.from("--"),u=new TextDecoder;function l(s){for(let C=0;C<s.length;++C)if((s.charCodeAt(C)&-128)!==0)return!1;return!0}function a(s){const C=s.length;if(C<27||C>70)return!1;for(let E=0;E<C;++E){const h=s.charCodeAt(E);if(!(h>=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122||h===39||h===45||h===95))return!1}return!0}function i(s,C){r(C!=="failure"&&C.essence==="multipart/form-data");const E=C.parameters.get("boundary");if(E===void 0)throw g("missing boundary in content-type header");const h=Buffer.from(`--${E}`,"utf8"),R=[],N={position:0},D=s.indexOf(h);if(D===-1)throw g("no boundary found in multipart body");for(N.position=D;;){if(s.subarray(N.position,N.position+h.length).equals(h))N.position+=h.length;else throw g("expected a value starting with -- and the boundary");if(o(s,w,N))return R;if(s[N.position]!==13||s[N.position+1]!==10)throw g("expected CRLF");N.position+=2;const p=n(s,N);let{name:k,filename:m,contentType:H,encoding:M}=p;N.position+=2;let b;{const J=s.indexOf(h.subarray(2),N.position);if(J===-1)throw g("expected boundary after body");b=s.subarray(N.position,J-4),N.position+=b.length,M==="base64"&&(b=Buffer.from(b.toString(),"base64"))}if(s[N.position]!==13||s[N.position+1]!==10)throw g("expected CRLF");N.position+=2;let T;m!==null?(H??="text/plain",l(H)||(H=""),T=new File([b],m,{type:H})):T=f(Buffer.from(b)),r(S.is.USVString(k)),r(typeof T=="string"&&S.is.USVString(T)||S.is.File(T)),R.push(B(k,T,m))}}function c(s,C){s[C.position]===59&&C.position++,A(D=>D===32||D===9,s,C);const E=A(D=>I(D)&&D!==61&&D!==42,s,C);if(E.length===0)return null;const h=E.toString("ascii").toLowerCase(),R=s[C.position]===42;if(R&&C.position++,s[C.position]!==61)return null;C.position++,A(D=>D===32||D===9,s,C);let N;if(R){const D=A(p=>p!==32&&p!==13&&p!==10&&p!==59,s,C);if(D[0]!==117&&D[0]!==85||D[1]!==116&&D[1]!==84||D[2]!==102&&D[2]!==70||D[3]!==45||D[4]!==56)throw g("unknown encoding, expected utf-8''");N=decodeURIComponent(u.decode(D.subarray(7)))}else if(s[C.position]===34){C.position++;const D=A(p=>p!==10&&p!==13&&p!==34,s,C);if(s[C.position]!==34)throw g("Closing quote not found");C.position++,N=u.decode(D).replace(/%0A/ig,`
|
|
3
|
+
`).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{const D=A(p=>I(p)&&p!==59,s,C);N=u.decode(D)}return{name:h,value:N}}function n(s,C){let E=null,h=null,R=null,N=null;for(;;){if(s[C.position]===13&&s[C.position+1]===10){if(E===null)throw g("header name is null");return{name:E,filename:h,contentType:R,encoding:N}}let D=A(p=>p!==10&&p!==13&&p!==58,s,C);if(D=t(D,!0,!0,p=>p===9||p===32),!y.test(D.toString()))throw g("header name does not match the field-name token production");if(s[C.position]!==58)throw g("expected :");switch(C.position++,A(p=>p===32||p===9,s,C),e(D)){case"content-disposition":{if(E=h=null,A(k=>I(k),s,C).toString("ascii").toLowerCase()!=="form-data")throw g("expected form-data for content-disposition header");for(;C.position<s.length&&s[C.position]!==13&&s[C.position+1]!==10;){const k=c(s,C);if(!k)break;k.name==="name"?E=k.value:k.name==="filename"&&(h=k.value)}if(E===null)throw g("name attribute is required in content-disposition header");break}case"content-type":{let p=A(k=>k!==10&&k!==13,s,C);p=t(p,!1,!0,k=>k===9||k===32),R=Q(p);break}case"content-transfer-encoding":{let p=A(k=>k!==10&&k!==13,s,C);p=t(p,!1,!0,k=>k===9||k===32),N=Q(p);break}default:A(p=>p!==10&&p!==13,s,C)}if(s[C.position]!==13&&s[C.position+1]!==10)throw g("expected CRLF");C.position+=2}}function A(s,C,E){let h=E.position;for(;h<C.length&&s(C[h]);)++h;return C.subarray(E.position,E.position=h)}function t(s,C,E,h){let R=0,N=s.length-1;if(C)for(;R<s.length&&h(s[R]);)R++;for(;N>0&&h(s[N]);)N--;return R===0&&N===s.length-1?s:s.subarray(R,N+1)}function o(s,C,E){if(s.length<C.length)return!1;for(let h=0;h<C.length;h++)if(C[h]!==s[E.position+h])return!1;return!0}function g(s){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(s)})}function d(s){return s<=31||s===127}function F(s){return s===40||s===41||s===60||s===62||s===64||s===44||s===59||s===58||s===92||s===34||s===47||s===91||s===93||s===63||s===61}function I(s){return s<=127&&s!==32&&s!==9&&!d(s)&&!F(s)}return St={multipartFormDataParser:i,validateBoundary:a},St}var Rt,Ln;function Ze(){if(Ln)return Rt;Ln=1;function e(){let y,B;return{promise:new Promise((r,Q)=>{y=r,B=Q}),resolve:y,reject:B}}return Rt={createDeferredPromise:e},Rt}var Nt,Hn;function Ue(){if(Hn)return Nt;Hn=1;const e=bA(),{ReadableStreamFrom:y,readableStreamClose:B,fullyReadBody:S,extractMimeType:r}=se(),{FormData:Q,setFormDataState:f}=zr(),{webidl:w}=ee(),u=AA,{isErrored:l,isDisturbed:a}=AA,{isUint8Array:i}=AA,{serializeAMimeType:c}=oe(),{multipartFormDataParser:n}=Jo(),{createDeferredPromise:A}=Ze(),{parseJSONFromBytes:t}=Qe(),{utf8DecodeBytes:o}=_e(),{runtimeFeatures:g}=ce(),d=g.has("crypto")?AA.randomInt:m=>Math.floor(Math.random()*m),F=new TextEncoder;function I(){}const s=new FinalizationRegistry(m=>{const H=m.deref();H&&!H.locked&&!a(H)&&!l(H)&&H.cancel("Response object has been garbage collected").catch(I)});function C(m,H=!1){let M=null,b=null;w.is.ReadableStream(m)?M=m:w.is.Blob(m)?M=m.stream():M=new ReadableStream({pull(){},start(dA){b=dA},cancel(){},type:"bytes"}),u(w.is.ReadableStream(M));let T=null,J=null,tA=null,sA=null;if(typeof m=="string")J=m,sA="text/plain;charset=UTF-8";else if(w.is.URLSearchParams(m))J=m.toString(),sA="application/x-www-form-urlencoded;charset=UTF-8";else if(w.is.BufferSource(m))J=w.util.getCopyOfBytesHeldByBufferSource(m);else if(w.is.FormData(m)){const dA=`----formdata-undici-0${`${d(1e11)}`.padStart(11,"0")}`,CA=`--${dA}\r
|
|
4
|
+
Content-Disposition: form-data`;/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */const mA=IA=>IA.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),$=IA=>IA.replace(/\r?\n|\r/g,`\r
|
|
5
|
+
`),rA=[],nA=new Uint8Array([13,10]);tA=0;let wA=!1;for(const[IA,TA]of m)if(typeof TA=="string"){const SA=F.encode(CA+`; name="${mA($(IA))}"\r
|
|
6
|
+
\r
|
|
7
|
+
${$(TA)}\r
|
|
8
|
+
`);rA.push(SA),tA+=SA.byteLength}else{const SA=F.encode(`${CA}; name="${mA($(IA))}"`+(TA.name?`; filename="${mA(TA.name)}"`:"")+`\r
|
|
9
|
+
Content-Type: ${TA.type||"application/octet-stream"}\r
|
|
10
|
+
\r
|
|
11
|
+
`);rA.push(SA,TA,nA),typeof TA.size=="number"?tA+=SA.byteLength+TA.size+nA.byteLength:wA=!0}const kA=F.encode(`--${dA}--\r
|
|
12
|
+
`);rA.push(kA),tA+=kA.byteLength,wA&&(tA=null),J=m,T=async function*(){for(const IA of rA)IA.stream?yield*IA.stream():yield IA},sA=`multipart/form-data; boundary=${dA}`}else if(w.is.Blob(m))J=m,tA=m.size,m.type&&(sA=m.type);else if(typeof m[Symbol.asyncIterator]=="function"){if(H)throw new TypeError("keepalive");if(e.isDisturbed(m)||m.locked)throw new TypeError("Response body object should not be disturbed or locked");M=w.is.ReadableStream(m)?m:y(m)}return(typeof J=="string"||i(J))&&(T=()=>(tA=typeof J=="string"?Buffer.byteLength(J):J.length,J)),T!=null&&(async()=>{const dA=T(),CA=dA?.[Symbol.asyncIterator]?.();if(CA)for await(const mA of CA){if(l(M))break;mA.length&&b.enqueue(new Uint8Array(mA))}else dA?.length&&!l(M)&&b.enqueue(typeof dA=="string"?F.encode(dA):new Uint8Array(dA));queueMicrotask(()=>B(b))})(),[{stream:M,source:J,length:tA},sA]}function E(m,H=!1){return w.is.ReadableStream(m)&&(u(!e.isDisturbed(m),"The body has already been consumed."),u(!m.locked,"The stream is locked.")),C(m,H)}function h(m){const{0:H,1:M}=m.stream.tee();return m.stream=H,{stream:M,length:m.length,source:m.source}}function R(m,H){return{blob(){return D(this,b=>{let T=k(H(this));return T===null?T="":T&&(T=c(T)),new Blob([b],{type:T})},m,H)},arrayBuffer(){return D(this,b=>new Uint8Array(b).buffer,m,H)},text(){return D(this,o,m,H)},json(){return D(this,t,m,H)},formData(){return D(this,b=>{const T=k(H(this));if(T!==null)switch(T.essence){case"multipart/form-data":{const J=n(b,T),tA=new Q;return f(tA,J),tA}case"application/x-www-form-urlencoded":{const J=new URLSearchParams(b.toString()),tA=new Q;for(const[sA,gA]of J)tA.append(sA,gA);return tA}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},m,H)},bytes(){return D(this,b=>new Uint8Array(b),m,H)}}}function N(m,H){Object.assign(m.prototype,R(m,H))}function D(m,H,M,b){try{w.brandCheck(m,M)}catch(sA){return Promise.reject(sA)}if(m=b(m),p(m))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));const T=A(),J=T.reject,tA=sA=>{try{T.resolve(H(sA))}catch(gA){J(gA)}};return m.body==null?(tA(Buffer.allocUnsafe(0)),T.promise):(S(m.body,tA,J),T.promise)}function p(m){const H=m.body;return H!=null&&(H.stream.locked||e.isDisturbed(H.stream))}function k(m){const H=m.headersList,M=r(H);return M==="failure"?null:M}return Nt={extractBody:C,safelyExtractBody:E,cloneBody:h,mixinBody:N,streamRegistry:s,bodyUnusable:p},Nt}var pt,Yn;function Wo(){if(Yn)return pt;Yn=1;var e={};const y=AA,B=bA(),{channels:S}=le(),r=Qo(),{RequestContentLengthMismatchError:Q,ResponseContentLengthMismatchError:f,RequestAbortedError:w,HeadersTimeoutError:u,HeadersOverflowError:l,SocketError:a,InformationalError:i,BodyTimeoutError:c,HTTPParserError:n,ResponseExceededMaxSizeError:A}=MA(),{kUrl:t,kReset:o,kClient:g,kParser:d,kBlocking:F,kRunning:I,kPending:s,kSize:C,kWriting:E,kQueue:h,kNoRef:R,kKeepAliveDefaultTimeout:N,kHostHeader:D,kPendingIdx:p,kRunningIdx:k,kError:m,kPipelining:H,kSocket:M,kKeepAliveTimeoutValue:b,kMaxHeadersSize:T,kKeepAliveMaxTimeout:J,kKeepAliveTimeoutThreshold:tA,kHeadersTimeout:sA,kBodyTimeout:gA,kStrictContentLength:dA,kMaxRequests:CA,kCounter:mA,kMaxResponseSize:$,kOnError:rA,kResume:nA,kHTTPContext:wA,kClosed:kA}=vA(),IA=Oo(),TA=Buffer.alloc(0),SA=Buffer[Symbol.species],G=B.removeAllListeners;let BA;function QA(){const j=e.JEST_WORKER_ID?wn():void 0;let L,O=process.arch!=="ppc64";if(e.UNDICI_NO_WASM_SIMD==="1"?O=!0:e.UNDICI_NO_WASM_SIMD==="0"&&(O=!1),O)try{L=new WebAssembly.Module(xo())}catch{}return L||(L=new WebAssembly.Module(j||wn())),new WebAssembly.Instance(L,{env:{wasm_on_url:(q,x,lA)=>0,wasm_on_status:(q,x,lA)=>{y(K.ptr===q);const DA=x-LA+FA.byteOffset;return K.onStatus(new SA(FA.buffer,DA,lA))},wasm_on_message_begin:q=>(y(K.ptr===q),K.onMessageBegin()),wasm_on_header_field:(q,x,lA)=>{y(K.ptr===q);const DA=x-LA+FA.byteOffset;return K.onHeaderField(new SA(FA.buffer,DA,lA))},wasm_on_header_value:(q,x,lA)=>{y(K.ptr===q);const DA=x-LA+FA.byteOffset;return K.onHeaderValue(new SA(FA.buffer,DA,lA))},wasm_on_headers_complete:(q,x,lA,DA)=>(y(K.ptr===q),K.onHeadersComplete(x,lA===1,DA===1)),wasm_on_body:(q,x,lA)=>{y(K.ptr===q);const DA=x-LA+FA.byteOffset;return K.onBody(new SA(FA.buffer,DA,lA))},wasm_on_message_complete:q=>(y(K.ptr===q),K.onMessageComplete())}})}let RA=null,K=null,FA=null,OA=0,LA=null;const XA=0,PA=1,qA=2|PA,JA=4|PA,KA=8|XA;class zA{constructor(L,O,{exports:q}){this.llhttp=q,this.ptr=this.llhttp.llhttp_alloc(IA.TYPE.RESPONSE),this.client=L,this.socket=O,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=L[T],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=L[$]}setTimeout(L,O){L!==this.timeoutValue||O&PA^this.timeoutType&PA?(this.timeout&&(r.clearTimeout(this.timeout),this.timeout=null),L&&(O&PA?this.timeout=r.setFastTimeout(_A,L,new WeakRef(this)):(this.timeout=setTimeout(_A,L,new WeakRef(this)),this.timeout?.unref())),this.timeoutValue=L):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=O}resume(){this.socket.destroyed||!this.paused||(y(this.ptr!=null),y(K===null),this.llhttp.llhttp_resume(this.ptr),y(this.timeoutType===JA),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||TA),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){const L=this.socket.read();if(L===null)break;this.execute(L)}}execute(L){y(K===null),y(this.ptr!=null),y(!this.paused);const{socket:O,llhttp:q}=this;L.length>OA&&(LA&&q.free(LA),OA=Math.ceil(L.length/4096)*4096,LA=q.malloc(OA)),new Uint8Array(q.memory.buffer,LA,OA).set(L);try{let x;try{FA=L,K=this,x=q.llhttp_execute(this.ptr,LA,L.length)}finally{K=null,FA=null}if(x!==IA.ERROR.OK){const lA=L.subarray(q.llhttp_get_error_pos(this.ptr)-LA);if(x===IA.ERROR.PAUSED_UPGRADE)this.onUpgrade(lA);else if(x===IA.ERROR.PAUSED)this.paused=!0,O.unshift(lA);else{const DA=q.llhttp_get_error_reason(this.ptr);let NA="";if(DA){const uA=new Uint8Array(q.memory.buffer,DA).indexOf(0);NA="Response does not match the HTTP/1.1 protocol ("+Buffer.from(q.memory.buffer,DA,uA).toString()+")"}throw new n(NA,IA.ERROR[x],lA)}}}catch(x){B.destroy(O,x)}}destroy(){y(K===null),y(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&r.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(L){return this.statusText=L.toString(),0}onMessageBegin(){const{socket:L,client:O}=this;if(L.destroyed)return-1;const q=O[h][O[k]];return q?(q.onResponseStarted(),0):-1}onHeaderField(L){const O=this.headers.length;return(O&1)===0?this.headers.push(L):this.headers[O-1]=Buffer.concat([this.headers[O-1],L]),this.trackHeader(L.length),0}onHeaderValue(L){let O=this.headers.length;(O&1)===1?(this.headers.push(L),O+=1):this.headers[O-1]=Buffer.concat([this.headers[O-1],L]);const q=this.headers[O-2];if(q.length===10){const x=B.bufferToLowerCasedHeaderName(q);x==="keep-alive"?this.keepAlive+=L.toString():x==="connection"&&(this.connection+=L.toString())}else q.length===14&&B.bufferToLowerCasedHeaderName(q)==="content-length"&&(this.contentLength+=L.toString());return this.trackHeader(L.length),0}trackHeader(L){this.headersSize+=L,this.headersSize>=this.headersMaxSize&&B.destroy(this.socket,new l)}onUpgrade(L){const{upgrade:O,client:q,socket:x,headers:lA,statusCode:DA}=this;y(O),y(q[M]===x),y(!x.destroyed),y(!this.paused),y((lA.length&1)===0);const NA=q[h][q[k]];y(NA),y(NA.upgrade||NA.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,x.unshift(L),x[d].destroy(),x[d]=null,x[g]=null,x[m]=null,G(x),q[M]=null,q[wA]=null,q[h][q[k]++]=null,q.emit("disconnect",q[t],[q],new i("upgrade"));try{NA.onUpgrade(DA,lA,x)}catch(uA){B.destroy(x,uA)}q[nA]()}onHeadersComplete(L,O,q){const{client:x,socket:lA,headers:DA,statusText:NA}=this;if(lA.destroyed)return-1;const uA=x[h][x[k]];if(!uA)return-1;if(y(!this.upgrade),y(this.statusCode<200),L===100)return B.destroy(lA,new a("bad response",B.getSocketInfo(lA))),-1;if(O&&!uA.upgrade)return B.destroy(lA,new a("bad upgrade",B.getSocketInfo(lA))),-1;if(y(this.timeoutType===qA),this.statusCode=L,this.shouldKeepAlive=q||uA.method==="HEAD"&&!lA[o]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){const v=uA.bodyTimeout!=null?uA.bodyTimeout:x[gA];this.setTimeout(v,JA)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(uA.method==="CONNECT")return y(x[I]===1),this.upgrade=!0,2;if(O)return y(x[I]===1),this.upgrade=!0,2;if(y((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&x[H]){const v=this.keepAlive?B.parseKeepAliveTimeout(this.keepAlive):null;if(v!=null){const EA=Math.min(v-x[tA],x[J]);EA<=0?lA[o]=!0:x[b]=EA}else x[b]=x[N]}else lA[o]=!0;const pA=uA.onHeaders(L,DA,this.resume,NA)===!1;return uA.aborted?-1:uA.method==="HEAD"||L<200?1:(lA[F]&&(lA[F]=!1,x[nA]()),pA?IA.ERROR.PAUSED:0)}onBody(L){const{client:O,socket:q,statusCode:x,maxResponseSize:lA}=this;if(q.destroyed)return-1;const DA=O[h][O[k]];return y(DA),y(this.timeoutType===JA),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),y(x>=200),lA>-1&&this.bytesRead+L.length>lA?(B.destroy(q,new A),-1):(this.bytesRead+=L.length,DA.onData(L)===!1?IA.ERROR.PAUSED:0)}onMessageComplete(){const{client:L,socket:O,statusCode:q,upgrade:x,headers:lA,contentLength:DA,bytesRead:NA,shouldKeepAlive:uA}=this;if(O.destroyed&&(!q||uA))return-1;if(x)return 0;y(q>=100),y((this.headers.length&1)===0);const pA=L[h][L[k]];if(y(pA),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,q<200)return 0;if(pA.method!=="HEAD"&&DA&&NA!==parseInt(DA,10))return B.destroy(O,new f),-1;if(pA.onComplete(lA),L[h][L[k]++]=null,O[E])return y(L[I]===0),B.destroy(O,new i("reset")),IA.ERROR.PAUSED;if(uA){if(O[o]&&L[I]===0)return B.destroy(O,new i("reset")),IA.ERROR.PAUSED;L[H]==null||L[H]===1?setImmediate(L[nA]):L[nA]()}else return B.destroy(O,new i("reset")),IA.ERROR.PAUSED;return 0}}function _A(j){const L=j.deref();if(!L)return;const{socket:O,timeoutType:q,client:x,paused:lA}=L;q===qA?(!O[E]||O.writableNeedDrain||x[I]>1)&&(y(!lA,"cannot be paused while waiting for headers"),B.destroy(O,new u)):q===JA?lA||B.destroy(O,new c):q===KA&&(y(x[I]===0&&x[b]),B.destroy(O,new i("socket idle timeout")))}function $A(j,L){if(j[M]=L,RA||(RA=QA()),L.errored)throw L.errored;if(L.destroyed)throw new a("destroyed");return L[R]=!1,L[E]=!1,L[o]=!1,L[F]=!1,L[d]=new zA(j,L,RA),B.addListener(L,"error",X),B.addListener(L,"readable",fA),B.addListener(L,"end",U),B.addListener(L,"close",Y),L[kA]=!1,L.on("close",W),{version:"h1",defaultPipelining:1,write(O){return hA(j,O)},resume(){aA(j)},destroy(O,q){L[kA]?queueMicrotask(q):(L.on("close",q),L.destroy(O))},get destroyed(){return L.destroyed},busy(O){return!!(L[E]||L[o]||L[F]||O&&(j[I]>0&&!O.idempotent||j[I]>0&&(O.upgrade||O.method==="CONNECT")||j[I]>0&&B.bodyLength(O.body)!==0&&(B.isStream(O.body)||B.isAsyncIterable(O.body)||B.isFormDataLike(O.body))))}}}function X(j){y(j.code!=="ERR_TLS_CERT_ALTNAME_INVALID");const L=this[d];if(j.code==="ECONNRESET"&&L.statusCode&&!L.shouldKeepAlive){L.onMessageComplete();return}this[m]=j,this[g][rA](j)}function fA(){this[d]?.readMore()}function U(){const j=this[d];if(j.statusCode&&!j.shouldKeepAlive){j.onMessageComplete();return}B.destroy(this,new a("other side closed",B.getSocketInfo(this)))}function Y(){const j=this[d];j&&(!this[m]&&j.statusCode&&!j.shouldKeepAlive&&j.onMessageComplete(),this[d].destroy(),this[d]=null);const L=this[m]||new a("closed",B.getSocketInfo(this)),O=this[g];if(O[M]=null,O[wA]=null,O.destroyed){y(O[s]===0);const q=O[h].splice(O[k]);for(let x=0;x<q.length;x++){const lA=q[x];B.errorRequest(O,lA,L)}}else if(O[I]>0&&L.code!=="UND_ERR_INFO"){const q=O[h][O[k]];O[h][O[k]++]=null,B.errorRequest(O,q,L)}O[p]=O[k],y(O[I]===0),O.emit("disconnect",O[t],[O],L),O[nA]()}function W(){this[kA]=!0}function aA(j){const L=j[M];if(L&&!L.destroyed){if(j[C]===0?!L[R]&&L.unref&&(L.unref(),L[R]=!0):L[R]&&L.ref&&(L.ref(),L[R]=!1),j[C]===0)L[d].timeoutType!==KA&&L[d].setTimeout(j[b],KA);else if(j[I]>0&&L[d].statusCode<200&&L[d].timeoutType!==qA){const O=j[h][j[k]],q=O.headersTimeout!=null?O.headersTimeout:j[sA];L[d].setTimeout(q,qA)}}}function iA(j){return j!=="GET"&&j!=="HEAD"&&j!=="OPTIONS"&&j!=="TRACE"&&j!=="CONNECT"}function hA(j,L){const{method:O,path:q,host:x,upgrade:lA,blocking:DA,reset:NA}=L;let{body:uA,headers:pA,contentLength:v}=L;const EA=O==="PUT"||O==="POST"||O==="PATCH"||O==="QUERY"||O==="PROPFIND"||O==="PROPPATCH";if(B.isFormDataLike(uA)){BA||(BA=Ue().extractBody);const[yA,YA]=BA(uA);L.contentType==null&&pA.push("content-type",YA),uA=yA.stream,v=yA.length}else B.isBlobLike(uA)&&L.contentType==null&&uA.type&&pA.push("content-type",uA.type);uA&&typeof uA.read=="function"&&uA.read(0);const z=B.bodyLength(uA);if(v=z??v,v===null&&(v=L.contentLength),v===0&&!EA&&(v=null),iA(O)&&v>0&&L.contentLength!==null&&L.contentLength!==v){if(j[dA])return B.errorRequest(j,L,new Q),!1;process.emitWarning(new Q)}const P=j[M],eA=yA=>{L.aborted||L.completed||(B.errorRequest(j,L,yA||new w),B.destroy(uA),B.destroy(P,new i("aborted")))};try{L.onConnect(eA)}catch(yA){B.errorRequest(j,L,yA)}if(L.aborted)return!1;O==="HEAD"&&(P[o]=!0),(lA||O==="CONNECT")&&(P[o]=!0),NA!=null&&(P[o]=NA),j[CA]&&P[mA]++>=j[CA]&&(P[o]=!0),DA&&(P[F]=!0),P.setTypeOfService&&P.setTypeOfService(L.typeOfService);let _=`${O} ${q} HTTP/1.1\r
|
|
13
|
+
`;if(typeof x=="string"?_+=`host: ${x}\r
|
|
14
|
+
`:_+=j[D],lA?_+=`connection: upgrade\r
|
|
15
|
+
upgrade: ${lA}\r
|
|
16
|
+
`:j[H]&&!P[o]?_+=`connection: keep-alive\r
|
|
17
|
+
`:_+=`connection: close\r
|
|
18
|
+
`,Array.isArray(pA))for(let yA=0;yA<pA.length;yA+=2){const YA=pA[yA+0],GA=pA[yA+1];if(Array.isArray(GA))for(let xA=0;xA<GA.length;xA++)_+=`${YA}: ${GA[xA]}\r
|
|
19
|
+
`;else _+=`${YA}: ${GA}\r
|
|
20
|
+
`}return S.sendHeaders.hasSubscribers&&S.sendHeaders.publish({request:L,headers:_,socket:P}),!uA||z===0?V(eA,null,j,L,P,v,_,EA):B.isBuffer(uA)?V(eA,uA,j,L,P,v,_,EA):B.isBlobLike(uA)?typeof uA.stream=="function"?oA(eA,uA.stream(),j,L,P,v,_,EA):Z(eA,uA,j,L,P,v,_,EA):B.isStream(uA)?UA(eA,uA,j,L,P,v,_,EA):B.isIterable(uA)?oA(eA,uA,j,L,P,v,_,EA):y(!1),!0}function UA(j,L,O,q,x,lA,DA,NA){y(lA!==0||O[I]===0,"stream body cannot be pipelined");let uA=!1;const pA=new cA({abort:j,socket:x,request:q,contentLength:lA,client:O,expectsPayload:NA,header:DA}),v=function(eA){if(!uA)try{!pA.write(eA)&&this.pause&&this.pause()}catch(_){B.destroy(this,_)}},EA=function(){uA||L.resume&&L.resume()},z=function(){if(queueMicrotask(()=>{L.removeListener("error",P)}),!uA){const eA=new w;queueMicrotask(()=>P(eA))}},P=function(eA){if(!uA){if(uA=!0,y(x.destroyed||x[E]&&O[I]<=1),x.off("drain",EA).off("error",P),L.removeListener("data",v).removeListener("end",P).removeListener("close",z),!eA)try{pA.end()}catch(_){eA=_}pA.destroy(eA),eA&&(eA.code!=="UND_ERR_INFO"||eA.message!=="reset")?B.destroy(L,eA):B.destroy(L)}};L.on("data",v).on("end",P).on("error",P).on("close",z),L.resume&&L.resume(),x.on("drain",EA).on("error",P),L.errorEmitted??L.errored?setImmediate(P,L.errored):(L.endEmitted??L.readableEnded)&&setImmediate(P,null),(L.closeEmitted??L.closed)&&setImmediate(z)}function V(j,L,O,q,x,lA,DA,NA){try{L?B.isBuffer(L)&&(y(lA===L.byteLength,"buffer body must have content length"),x.cork(),x.write(`${DA}content-length: ${lA}\r
|
|
21
|
+
\r
|
|
22
|
+
`,"latin1"),x.write(L),x.uncork(),q.onBodySent(L),!NA&&q.reset!==!1&&(x[o]=!0)):lA===0?x.write(`${DA}content-length: 0\r
|
|
23
|
+
\r
|
|
24
|
+
`,"latin1"):(y(lA===null,"no body must not have content length"),x.write(`${DA}\r
|
|
25
|
+
`,"latin1")),q.onRequestSent(),O[nA]()}catch(uA){j(uA)}}async function Z(j,L,O,q,x,lA,DA,NA){y(lA===L.size,"blob body must have content length");try{if(lA!=null&&lA!==L.size)throw new Q;const uA=Buffer.from(await L.arrayBuffer());x.cork(),x.write(`${DA}content-length: ${lA}\r
|
|
26
|
+
\r
|
|
27
|
+
`,"latin1"),x.write(uA),x.uncork(),q.onBodySent(uA),q.onRequestSent(),!NA&&q.reset!==!1&&(x[o]=!0),O[nA]()}catch(uA){j(uA)}}async function oA(j,L,O,q,x,lA,DA,NA){y(lA!==0||O[I]===0,"iterator body cannot be pipelined");let uA=null;function pA(){if(uA){const z=uA;uA=null,z()}}const v=()=>new Promise((z,P)=>{y(uA===null),x[m]?P(x[m]):uA=z});x.on("close",pA).on("drain",pA);const EA=new cA({abort:j,socket:x,request:q,contentLength:lA,client:O,expectsPayload:NA,header:DA});try{for await(const z of L){if(x[m])throw x[m];EA.write(z)||await v()}EA.end()}catch(z){EA.destroy(z)}finally{x.off("close",pA).off("drain",pA)}}class cA{constructor({abort:L,socket:O,request:q,contentLength:x,client:lA,expectsPayload:DA,header:NA}){this.socket=O,this.request=q,this.contentLength=x,this.client=lA,this.bytesWritten=0,this.expectsPayload=DA,this.header=NA,this.abort=L,O[E]=!0}write(L){const{socket:O,request:q,contentLength:x,client:lA,bytesWritten:DA,expectsPayload:NA,header:uA}=this;if(O[m])throw O[m];if(O.destroyed)return!1;const pA=Buffer.byteLength(L);if(!pA)return!0;if(x!==null&&DA+pA>x){if(lA[dA])throw new Q;process.emitWarning(new Q)}O.cork(),DA===0&&(!NA&&q.reset!==!1&&(O[o]=!0),x===null?O.write(`${uA}transfer-encoding: chunked\r
|
|
28
|
+
`,"latin1"):O.write(`${uA}content-length: ${x}\r
|
|
29
|
+
\r
|
|
30
|
+
`,"latin1")),x===null&&O.write(`\r
|
|
31
|
+
${pA.toString(16)}\r
|
|
32
|
+
`,"latin1"),this.bytesWritten+=pA;const v=O.write(L);return O.uncork(),q.onBodySent(L),v||O[d].timeout&&O[d].timeoutType===qA&&O[d].timeout.refresh&&O[d].timeout.refresh(),v}end(){const{socket:L,contentLength:O,client:q,bytesWritten:x,expectsPayload:lA,header:DA,request:NA}=this;if(NA.onRequestSent(),L[E]=!1,L[m])throw L[m];if(!L.destroyed){if(x===0?lA?L.write(`${DA}content-length: 0\r
|
|
33
|
+
\r
|
|
34
|
+
`,"latin1"):L.write(`${DA}\r
|
|
35
|
+
`,"latin1"):O===null&&L.write(`\r
|
|
36
|
+
0\r
|
|
37
|
+
\r
|
|
38
|
+
`,"latin1"),O!==null&&x!==O){if(q[dA])throw new Q;process.emitWarning(new Q)}L[d].timeout&&L[d].timeoutType===qA&&L[d].timeout.refresh&&L[d].timeout.refresh(),q[nA]()}}destroy(L){const{socket:O,client:q,abort:x}=this;O[E]=!1,L&&(y(q[I]<=1,"pipeline should only contain this request"),x(L))}}return pt=$A,pt}var Ft,Gn;function Po(){if(Gn)return Ft;Gn=1;const e=AA,{pipeline:y}=AA,B=bA(),{RequestContentLengthMismatchError:S,RequestAbortedError:r,SocketError:Q,InformationalError:f,InvalidArgumentError:w}=MA(),{kUrl:u,kReset:l,kClient:a,kRunning:i,kPending:c,kQueue:n,kPendingIdx:A,kRunningIdx:t,kError:o,kSocket:g,kStrictContentLength:d,kOnError:F,kMaxConcurrentStreams:I,kPingInterval:s,kHTTP2Session:C,kHTTP2InitialWindowSize:E,kHTTP2ConnectionWindowSize:h,kResume:R,kSize:N,kHTTPContext:D,kClosed:p,kBodyTimeout:k,kEnableConnectProtocol:m,kRemoteSettings:H,kHTTP2Stream:M,kHTTP2SessionState:b}=vA(),{channels:T}=le(),J=Symbol("open streams");let tA,sA;try{sA=AA}catch{sA={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:gA,HTTP2_HEADER_METHOD:dA,HTTP2_HEADER_PATH:CA,HTTP2_HEADER_SCHEME:mA,HTTP2_HEADER_CONTENT_LENGTH:$,HTTP2_HEADER_EXPECT:rA,HTTP2_HEADER_STATUS:nA,HTTP2_HEADER_PROTOCOL:wA,NGHTTP2_REFUSED_STREAM:kA,NGHTTP2_CANCEL:IA}}=sA;function TA(Y){const W=[];for(const[aA,iA]of Object.entries(Y))if(Array.isArray(iA))for(const hA of iA)W.push(Buffer.from(aA),Buffer.from(hA));else W.push(Buffer.from(aA),Buffer.from(iA));return W}function SA(Y,W){Y[g]=W;const aA=Y[E],iA=Y[h],hA=sA.connect(Y[u],{createConnection:()=>W,peerMaxConcurrentStreams:Y[I],settings:{enablePush:!1,...aA!=null?{initialWindowSize:aA}:null}});return Y[g]=W,hA[J]=0,hA[a]=Y,hA[g]=W,hA[b]={ping:{interval:Y[s]===0?null:setInterval(RA,Y[s],hA).unref()}},hA[m]=!1,hA[H]=!1,iA&&B.addListener(hA,"connect",BA.bind(hA,iA)),B.addListener(hA,"error",K),B.addListener(hA,"frameError",FA),B.addListener(hA,"end",OA),B.addListener(hA,"goaway",LA),B.addListener(hA,"close",XA),B.addListener(hA,"remoteSettings",QA),hA.unref(),Y[C]=hA,W[C]=hA,B.addListener(W,"error",qA),B.addListener(W,"end",JA),B.addListener(W,"close",PA),W[p]=!1,W.on("close",KA),{version:"h2",defaultPipelining:1/0,write(UA){return _A(Y,UA)},resume(){G(Y)},destroy(UA,V){W[p]?queueMicrotask(V):W.destroy(UA).on("close",V)},get destroyed(){return W.destroyed},busy(UA){if(UA!=null)if(Y[i]>0){if(UA.idempotent===!1||(UA.upgrade==="websocket"||UA.method==="CONNECT")&&hA[H]===!1||B.bodyLength(UA.body)!==0&&(B.isStream(UA.body)||B.isAsyncIterable(UA.body)||B.isFormDataLike(UA.body)))return!0}else return(UA.upgrade==="websocket"||UA.method==="CONNECT")&&hA[H]===!1;return!1}}}function G(Y){const W=Y[g];W?.destroyed===!1&&(Y[N]===0||Y[I]===0?(W.unref(),Y[C].unref()):(W.ref(),Y[C].ref()))}function BA(Y){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(Y)}catch{}}function QA(Y){if(this[a][I]=Y.maxConcurrentStreams??this[a][I],this[H]===!0&&this[m]===!0&&Y.enableConnectProtocol===!1){const W=new f("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[g][o]=W,this[a][F](W);return}this[m]=Y.enableConnectProtocol??this[m],this[H]=!0,this[a][R]()}function RA(Y){const W=Y[b];if((Y.closed||Y.destroyed)&&W.ping.interval!=null){clearInterval(W.ping.interval),W.ping.interval=null;return}Y.ping(aA.bind(Y));function aA(iA,hA){const UA=this[a],V=this[a];if(iA!=null){const Z=new f(`HTTP/2: "PING" errored - type ${iA.message}`);V[o]=Z,UA[F](Z)}else UA.emit("ping",hA)}}function K(Y){e(Y.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[g][o]=Y,this[a][F](Y)}function FA(Y,W,aA){if(aA===0){const iA=new f(`HTTP/2: "frameError" received - type ${Y}, code ${W}`);this[g][o]=iA,this[a][F](iA)}}function OA(){const Y=new Q("other side closed",B.getSocketInfo(this[g]));this.destroy(Y),B.destroy(this[g],Y)}function LA(Y){const W=this[o]||new Q(`HTTP/2: "GOAWAY" frame received with code ${Y}`,B.getSocketInfo(this[g])),aA=this[a];if(aA[g]=null,aA[D]=null,this.close(),this[C]=null,B.destroy(this[g],W),aA[t]<aA[n].length){const iA=aA[n][aA[t]];aA[n][aA[t]++]=null,B.errorRequest(aA,iA,W),aA[A]=aA[t]}e(aA[i]===0),aA.emit("disconnect",aA[u],[aA],W),aA.emit("connectionError",aA[u],[aA],W),aA[R]()}function XA(){const{[a]:Y,[b]:W}=this,{[g]:aA}=Y,iA=this[g][o]||this[o]||new Q("closed",B.getSocketInfo(aA));if(Y[g]=null,Y[D]=null,W.ping.interval!=null&&(clearInterval(W.ping.interval),W.ping.interval=null),Y.destroyed){e(Y[c]===0);const hA=Y[n].splice(Y[t]);for(let UA=0;UA<hA.length;UA++){const V=hA[UA];B.errorRequest(Y,V,iA)}}}function PA(){const Y=this[o]||new Q("closed",B.getSocketInfo(this)),W=this[C][a];W[g]=null,W[D]=null,this[C]!==null&&this[C].destroy(Y),W[A]=W[t],e(W[i]===0),W.emit("disconnect",W[u],[W],Y),W[R]()}function qA(Y){e(Y.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[o]=Y,this[a][F](Y)}function JA(){B.destroy(this,new Q("other side closed",B.getSocketInfo(this)))}function KA(){this[p]=!0}function zA(Y){return Y!=="GET"&&Y!=="HEAD"&&Y!=="OPTIONS"&&Y!=="TRACE"&&Y!=="CONNECT"}function _A(Y,W){const aA=W.bodyTimeout??Y[k],iA=Y[C],{method:hA,path:UA,host:V,upgrade:Z,expectContinue:oA,signal:cA,protocol:j,headers:L}=W;let{body:O}=W;if(Z!=null&&Z!=="websocket")return B.errorRequest(Y,W,new w(`Custom upgrade "${Z}" not supported over HTTP/2`)),!1;const q={};for(let P=0;P<L.length;P+=2){const eA=L[P+0],_=L[P+1];if(eA==="cookie"){q[eA]!=null?q[eA]=Array.isArray(q[eA])?(q[eA].push(_),q[eA]):[q[eA],_]:q[eA]=_;continue}if(Array.isArray(_))for(let yA=0;yA<_.length;yA++)q[eA]?q[eA]+=`, ${_[yA]}`:q[eA]=_[yA];else q[eA]?q[eA]+=`, ${_}`:q[eA]=_}let x=null;const{hostname:lA,port:DA}=Y[u];q[gA]=V||`${lA}${DA?`:${DA}`:""}`,q[dA]=hA;const NA=P=>{W.aborted||W.completed||(P=P||new r,B.errorRequest(Y,W,P),x!=null&&(x.removeAllListeners("data"),x.close(),Y[F](P),Y[R]()),B.destroy(O,P))};try{W.onConnect(NA)}catch(P){B.errorRequest(Y,W,P)}if(W.aborted)return!1;if(Z||hA==="CONNECT")return iA.ref(),Z==="websocket"?iA[m]===!1?(B.errorRequest(Y,W,new f("HTTP/2: Extended CONNECT protocol not supported by server")),iA.unref(),!1):(q[dA]="CONNECT",q[wA]="websocket",q[CA]=UA,j==="ws:"||j==="wss:"?q[mA]=j==="ws:"?"http":"https":q[mA]=j==="http:"?"http":"https",x=iA.request(q,{endStream:!1,signal:cA}),x[M]=!0,x.once("response",(P,eA)=>{const{[nA]:_,...yA}=P;W.onUpgrade(_,TA(yA),x),++iA[J],Y[n][Y[t]++]=null}),x.on("error",()=>{(x.rstCode===kA||x.rstCode===IA)&&NA(new f(`HTTP/2: "stream error" received - code ${x.rstCode}`))}),x.once("close",()=>{iA[J]-=1,iA[J]===0&&iA.unref()}),x.setTimeout(aA),!0):(x=iA.request(q,{endStream:!1,signal:cA}),x[M]=!0,x.on("response",P=>{const{[nA]:eA,..._}=P;W.onUpgrade(eA,TA(_),x),++iA[J],Y[n][Y[t]++]=null}),x.once("close",()=>{iA[J]-=1,iA[J]===0&&iA.unref()}),x.setTimeout(aA),!0);q[CA]=UA,q[mA]=j==="http:"?"http":"https";const uA=hA==="PUT"||hA==="POST"||hA==="PATCH";O&&typeof O.read=="function"&&O.read(0);let pA=B.bodyLength(O);if(B.isFormDataLike(O)){tA??=Ue().extractBody;const[P,eA]=tA(O);q["content-type"]=eA,O=P.stream,pA=P.length}if(pA==null&&(pA=W.contentLength),uA||(pA=null),zA(hA)&&pA>0&&W.contentLength!=null&&W.contentLength!==pA){if(Y[d])return B.errorRequest(Y,W,new S),!1;process.emitWarning(new S)}if(pA!=null&&(e(O||pA===0,"no body must not have content length"),q[$]=`${pA}`),iA.ref(),T.sendHeaders.hasSubscribers){let P="";for(const eA in q)P+=`${eA}: ${q[eA]}\r
|
|
39
|
+
`;T.sendHeaders.publish({request:W,headers:P,socket:iA[g]})}const v=hA==="GET"||hA==="HEAD"||O===null;oA?(q[rA]="100-continue",x=iA.request(q,{endStream:v,signal:cA}),x[M]=!0,x.once("continue",z)):(x=iA.request(q,{endStream:v,signal:cA}),x[M]=!0,z()),++iA[J],x.setTimeout(aA);let EA=!1;return x.once("response",P=>{const{[nA]:eA,..._}=P;if(W.onResponseStarted(),EA=!0,W.aborted){x.removeAllListeners("data");return}W.onHeaders(Number(eA),TA(_),x.resume.bind(x),"")===!1&&x.pause(),x.on("data",yA=>{W.aborted||W.completed||W.onData(yA)===!1&&x.pause()})}),x.once("end",()=>{x.removeAllListeners("data"),EA?(!W.aborted&&!W.completed&&W.onComplete({}),Y[n][Y[t]++]=null,Y[R]()):(NA(new f("HTTP/2: stream half-closed (remote)")),Y[n][Y[t]++]=null,Y[A]=Y[t],Y[R]())}),x.once("close",()=>{x.removeAllListeners("data"),iA[J]-=1,iA[J]===0&&iA.unref()}),x.once("error",function(P){x.removeAllListeners("data"),NA(P)}),x.once("frameError",(P,eA)=>{x.removeAllListeners("data"),NA(new f(`HTTP/2: "frameError" received - type ${P}, code ${eA}`))}),x.on("aborted",()=>{x.removeAllListeners("data")}),x.on("timeout",()=>{const P=new f(`HTTP/2: "stream timeout after ${aA}"`);x.removeAllListeners("data"),iA[J]-=1,iA[J]===0&&iA.unref(),NA(P)}),x.once("trailers",P=>{W.aborted||W.completed||(x.removeAllListeners("data"),W.onComplete(P))}),!0;function z(){!O||pA===0?$A(NA,x,null,Y,W,Y[g],pA,uA):B.isBuffer(O)?$A(NA,x,O,Y,W,Y[g],pA,uA):B.isBlobLike(O)?typeof O.stream=="function"?U(NA,x,O.stream(),Y,W,Y[g],pA,uA):fA(NA,x,O,Y,W,Y[g],pA,uA):B.isStream(O)?X(NA,Y[g],uA,x,O,Y,W,pA):B.isIterable(O)?U(NA,x,O,Y,W,Y[g],pA,uA):e(!1)}}function $A(Y,W,aA,iA,hA,UA,V,Z){try{aA!=null&&B.isBuffer(aA)&&(e(V===aA.byteLength,"buffer body must have content length"),W.cork(),W.write(aA),W.uncork(),W.end(),hA.onBodySent(aA)),Z||(UA[l]=!0),hA.onRequestSent(),iA[R]()}catch(oA){Y(oA)}}function X(Y,W,aA,iA,hA,UA,V,Z){e(Z!==0||UA[i]===0,"stream body cannot be pipelined");const oA=y(hA,iA,j=>{j?(B.destroy(oA,j),Y(j)):(B.removeAllListeners(oA),V.onRequestSent(),aA||(W[l]=!0),UA[R]())});B.addListener(oA,"data",cA);function cA(j){V.onBodySent(j)}}async function fA(Y,W,aA,iA,hA,UA,V,Z){e(V===aA.size,"blob body must have content length");try{if(V!=null&&V!==aA.size)throw new S;const oA=Buffer.from(await aA.arrayBuffer());W.cork(),W.write(oA),W.uncork(),W.end(),hA.onBodySent(oA),hA.onRequestSent(),Z||(UA[l]=!0),iA[R]()}catch(oA){Y(oA)}}async function U(Y,W,aA,iA,hA,UA,V,Z){e(V!==0||iA[i]===0,"iterator body cannot be pipelined");let oA=null;function cA(){if(oA){const L=oA;oA=null,L()}}const j=()=>new Promise((L,O)=>{e(oA===null),UA[o]?O(UA[o]):oA=L});W.on("close",cA).on("drain",cA);try{for await(const L of aA){if(UA[o])throw UA[o];const O=W.write(L);hA.onBodySent(L),O||await j()}W.end(),hA.onRequestSent(),Z||(UA[l]=!0),iA[R]()}catch(L){Y(L)}finally{W.off("close",cA).off("drain",cA)}}return Ft=SA,Ft}var Ut,Vn;function Ce(){if(Vn)return Ut;Vn=1;const e=AA,y=AA,B=AA,S=bA(),{ClientStats:r}=co(),{channels:Q}=le(),f=Go(),w=fe(),{InvalidArgumentError:u,InformationalError:l,ClientDestroyedError:a}=MA(),i=de(),{kUrl:c,kServerName:n,kClient:A,kBusy:t,kConnect:o,kResuming:g,kRunning:d,kPending:F,kSize:I,kQueue:s,kConnected:C,kConnecting:E,kNeedDrain:h,kKeepAliveDefaultTimeout:R,kHostHeader:N,kPendingIdx:D,kRunningIdx:p,kError:k,kPipelining:m,kKeepAliveTimeoutValue:H,kMaxHeadersSize:M,kKeepAliveMaxTimeout:b,kKeepAliveTimeoutThreshold:T,kHeadersTimeout:J,kBodyTimeout:tA,kStrictContentLength:sA,kConnector:gA,kMaxRequests:dA,kCounter:CA,kClose:mA,kDestroy:$,kDispatch:rA,kLocalAddress:nA,kMaxResponseSize:wA,kOnError:kA,kHTTPContext:IA,kMaxConcurrentStreams:TA,kHTTP2InitialWindowSize:SA,kHTTP2ConnectionWindowSize:G,kResume:BA,kPingInterval:QA}=vA(),RA=Wo(),K=Po(),FA=Symbol("kClosedResolve"),OA=B&&B.maxHeaderSize&&Number.isInteger(B.maxHeaderSize)&&B.maxHeaderSize>0?()=>B.maxHeaderSize:()=>{throw new u("http module not available or http.maxHeaderSize invalid")},LA=()=>{};function XA(X){return X[m]??X[IA]?.defaultPipelining??1}class PA extends w{constructor(fA,{maxHeaderSize:U,headersTimeout:Y,socketTimeout:W,requestTimeout:aA,connectTimeout:iA,bodyTimeout:hA,idleTimeout:UA,keepAlive:V,keepAliveTimeout:Z,maxKeepAliveTimeout:oA,keepAliveMaxTimeout:cA,keepAliveTimeoutThreshold:j,socketPath:L,pipelining:O,tls:q,strictContentLength:x,maxCachedSessions:lA,connect:DA,maxRequestsPerClient:NA,localAddress:uA,maxResponseSize:pA,autoSelectFamily:v,autoSelectFamilyAttemptTimeout:EA,maxConcurrentStreams:z,allowH2:P,useH2c:eA,initialWindowSize:_,connectionWindowSize:yA,pingInterval:YA}={}){if(V!==void 0)throw new u("unsupported keepAlive, use pipelining=0 instead");if(W!==void 0)throw new u("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(aA!==void 0)throw new u("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(UA!==void 0)throw new u("unsupported idleTimeout, use keepAliveTimeout instead");if(oA!==void 0)throw new u("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(U!=null){if(!Number.isInteger(U)||U<1)throw new u("invalid maxHeaderSize")}else U=OA();if(L!=null&&typeof L!="string")throw new u("invalid socketPath");if(iA!=null&&(!Number.isFinite(iA)||iA<0))throw new u("invalid connectTimeout");if(Z!=null&&(!Number.isFinite(Z)||Z<=0))throw new u("invalid keepAliveTimeout");if(cA!=null&&(!Number.isFinite(cA)||cA<=0))throw new u("invalid keepAliveMaxTimeout");if(j!=null&&!Number.isFinite(j))throw new u("invalid keepAliveTimeoutThreshold");if(Y!=null&&(!Number.isInteger(Y)||Y<0))throw new u("headersTimeout must be a positive integer or zero");if(hA!=null&&(!Number.isInteger(hA)||hA<0))throw new u("bodyTimeout must be a positive integer or zero");if(DA!=null&&typeof DA!="function"&&typeof DA!="object")throw new u("connect must be a function or an object");if(NA!=null&&(!Number.isInteger(NA)||NA<0))throw new u("maxRequestsPerClient must be a positive number");if(uA!=null&&(typeof uA!="string"||y.isIP(uA)===0))throw new u("localAddress must be valid string IP address");if(pA!=null&&(!Number.isInteger(pA)||pA<-1))throw new u("maxResponseSize must be a positive number");if(EA!=null&&(!Number.isInteger(EA)||EA<-1))throw new u("autoSelectFamilyAttemptTimeout must be a positive number");if(P!=null&&typeof P!="boolean")throw new u("allowH2 must be a valid boolean value");if(z!=null&&(typeof z!="number"||z<1))throw new u("maxConcurrentStreams must be a positive integer, greater than 0");if(eA!=null&&typeof eA!="boolean")throw new u("useH2c must be a valid boolean value");if(_!=null&&(!Number.isInteger(_)||_<1))throw new u("initialWindowSize must be a positive integer, greater than 0");if(yA!=null&&(!Number.isInteger(yA)||yA<1))throw new u("connectionWindowSize must be a positive integer, greater than 0");if(YA!=null&&(typeof YA!="number"||!Number.isInteger(YA)||YA<0))throw new u("pingInterval must be a positive integer, greater or equal to 0");if(super(),typeof DA!="function")DA=i({...q,maxCachedSessions:lA,allowH2:P,useH2c:eA,socketPath:L,timeout:iA,...typeof v=="boolean"?{autoSelectFamily:v,autoSelectFamilyAttemptTimeout:EA}:void 0,...DA});else if(L!=null){const GA=DA;DA=(xA,VA)=>GA({...xA,socketPath:L},VA)}this[c]=S.parseOrigin(fA),this[gA]=DA,this[m]=O??1,this[M]=U,this[R]=Z??4e3,this[b]=cA??6e5,this[T]=j??2e3,this[H]=this[R],this[n]=null,this[nA]=uA??null,this[g]=0,this[h]=0,this[N]=`host: ${this[c].hostname}${this[c].port?`:${this[c].port}`:""}\r
|
|
40
|
+
`,this[tA]=hA??3e5,this[J]=Y??3e5,this[sA]=x??!0,this[dA]=NA,this[FA]=null,this[wA]=pA>-1?pA:-1,this[IA]=null,this[TA]=z??100,this[SA]=_??262144,this[G]=yA??524288,this[QA]=YA??6e4,this[s]=[],this[p]=0,this[D]=0,this[BA]=GA=>_A(this,GA),this[kA]=GA=>qA(this,GA)}get pipelining(){return this[m]}set pipelining(fA){this[m]=fA,this[BA](!0)}get stats(){return new r(this)}get[F](){return this[s].length-this[D]}get[d](){return this[D]-this[p]}get[I](){return this[s].length-this[p]}get[C](){return!!this[IA]&&!this[E]&&!this[IA].destroyed}get[t](){return!!(this[IA]?.busy(null)||this[I]>=(XA(this)||1)||this[F]>0)}[o](fA){JA(this),this.once("connect",fA)}[rA](fA,U){const Y=new f(this[c].origin,fA,U);return this[s].push(Y),this[g]||(S.bodyLength(Y.body)==null&&S.isIterable(Y.body)?(this[g]=1,queueMicrotask(()=>_A(this))):this[BA](!0)),this[g]&&this[h]!==2&&this[t]&&(this[h]=2),this[h]<2}[mA](){return new Promise(fA=>{this[I]?this[FA]=fA:fA(null)})}[$](fA){return new Promise(U=>{const Y=this[s].splice(this[D]);for(let aA=0;aA<Y.length;aA++){const iA=Y[aA];S.errorRequest(this,iA,fA)}const W=()=>{this[FA]&&(this[FA](),this[FA]=null),U(null)};this[IA]?(this[IA].destroy(fA,W),this[IA]=null):queueMicrotask(W),this[BA]()})}}function qA(X,fA){if(X[d]===0&&fA.code!=="UND_ERR_INFO"&&fA.code!=="UND_ERR_SOCKET"){e(X[D]===X[p]);const U=X[s].splice(X[p]);for(let Y=0;Y<U.length;Y++){const W=U[Y];S.errorRequest(X,W,fA)}e(X[I]===0)}}function JA(X){e(!X[E]),e(!X[IA]);let{host:fA,hostname:U,protocol:Y,port:W}=X[c];if(U[0]==="["){const aA=U.indexOf("]");e(aA!==-1);const iA=U.substring(1,aA);e(y.isIPv6(iA)),U=iA}X[E]=!0,Q.beforeConnect.hasSubscribers&&Q.beforeConnect.publish({connectParams:{host:fA,hostname:U,protocol:Y,port:W,version:X[IA]?.version,servername:X[n],localAddress:X[nA]},connector:X[gA]}),X[gA]({host:fA,hostname:U,protocol:Y,port:W,servername:X[n],localAddress:X[nA]},(aA,iA)=>{if(aA){KA(X,aA,{host:fA,hostname:U,protocol:Y,port:W}),X[BA]();return}if(X.destroyed){S.destroy(iA.on("error",LA),new a),X[BA]();return}e(iA);try{X[IA]=iA.alpnProtocol==="h2"?K(X,iA):RA(X,iA)}catch(hA){iA.destroy().on("error",LA),KA(X,hA,{host:fA,hostname:U,protocol:Y,port:W}),X[BA]();return}X[E]=!1,iA[CA]=0,iA[dA]=X[dA],iA[A]=X,iA[k]=null,Q.connected.hasSubscribers&&Q.connected.publish({connectParams:{host:fA,hostname:U,protocol:Y,port:W,version:X[IA]?.version,servername:X[n],localAddress:X[nA]},connector:X[gA],socket:iA}),X.emit("connect",X[c],[X]),X[BA]()})}function KA(X,fA,{host:U,hostname:Y,protocol:W,port:aA}){if(!X.destroyed){if(X[E]=!1,Q.connectError.hasSubscribers&&Q.connectError.publish({connectParams:{host:U,hostname:Y,protocol:W,port:aA,version:X[IA]?.version,servername:X[n],localAddress:X[nA]},connector:X[gA],error:fA}),fA.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(e(X[d]===0);X[F]>0&&X[s][X[D]].servername===X[n];){const iA=X[s][X[D]++];S.errorRequest(X,iA,fA)}else qA(X,fA);X.emit("connectionError",X[c],[X],fA)}}function zA(X){X[h]=0,X.emit("drain",X[c],[X])}function _A(X,fA){X[g]!==2&&(X[g]=2,$A(X,fA),X[g]=0,X[p]>256&&(X[s].splice(0,X[p]),X[D]-=X[p],X[p]=0))}function $A(X,fA){for(;;){if(X.destroyed){e(X[F]===0);return}if(X[FA]&&!X[I]){X[FA](),X[FA]=null;return}if(X[IA]&&X[IA].resume(),X[t])X[h]=2;else if(X[h]===2){fA?(X[h]=1,queueMicrotask(()=>zA(X))):zA(X);continue}if(X[F]===0||X[d]>=(XA(X)||1))return;const U=X[s][X[D]];if(U===null)return;if(X[c].protocol==="https:"&&X[n]!==U.servername){if(X[d]>0)return;X[n]=U.servername,X[IA]?.destroy(new l("servername changed"),()=>{X[IA]=null,_A(X)})}if(X[E])return;if(!X[IA]){JA(X);return}if(X[IA].destroyed||X[IA].busy(U))return;!U.aborted&&X[IA].write(U)?X[D]++:X[s].splice(X[D],1)}}return Ut=PA,Ut}var mt,vn;function Co(){if(vn)return mt;vn=1;const e=2048,y=e-1;class B{bottom=0;top=0;list=new Array(e).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&y)===this.bottom}push(r){this.list[this.top]=r,this.top=this.top+1&y}shift(){const r=this.list[this.bottom];return r===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&y,r)}}return mt=class{constructor(){this.head=this.tail=new B}isEmpty(){return this.head.isEmpty()}push(r){this.head.isFull()&&(this.head=this.head.next=new B),this.head.push(r)}shift(){const r=this.tail,Q=r.shift();return r.isEmpty()&&r.next!==null&&(this.tail=r.next,r.next=null),Q}},mt}var Mt,On;function jr(){if(On)return Mt;On=1;const{PoolStats:e}=co(),y=fe(),B=Co(),{kConnected:S,kSize:r,kRunning:Q,kPending:f,kQueued:w,kBusy:u,kFree:l,kUrl:a,kClose:i,kDestroy:c,kDispatch:n}=vA(),A=Symbol("clients"),t=Symbol("needDrain"),o=Symbol("queue"),g=Symbol("closed resolve"),d=Symbol("onDrain"),F=Symbol("onConnect"),I=Symbol("onDisconnect"),s=Symbol("onConnectionError"),C=Symbol("get dispatcher"),E=Symbol("add client"),h=Symbol("remove client");class R extends y{[o]=new B;[w]=0;[A]=[];[t]=!1;[d](D,p,k){const m=this[o];let H=!1;for(;!H;){const M=m.shift();if(!M)break;this[w]--,H=!D.dispatch(M.opts,M.handler)}if(D[t]=H,!H&&this[t]&&(this[t]=!1,this.emit("drain",p,[this,...k])),this[g]&&m.isEmpty()){const M=[];for(let b=0;b<this[A].length;b++){const T=this[A][b];T.destroyed||M.push(T.close())}return Promise.all(M).then(this[g])}}[F]=(D,p)=>{this.emit("connect",D,[this,...p])};[I]=(D,p,k)=>{this.emit("disconnect",D,[this,...p],k)};[s]=(D,p,k)=>{this.emit("connectionError",D,[this,...p],k)};get[u](){return this[t]}get[S](){let D=0;for(const{[S]:p}of this[A])D+=p;return D}get[l](){let D=0;for(const{[S]:p,[t]:k}of this[A])D+=p&&!k;return D}get[f](){let D=this[w];for(const{[f]:p}of this[A])D+=p;return D}get[Q](){let D=0;for(const{[Q]:p}of this[A])D+=p;return D}get[r](){let D=this[w];for(const{[r]:p}of this[A])D+=p;return D}get stats(){return new e(this)}[i](){if(this[o].isEmpty()){const D=[];for(let p=0;p<this[A].length;p++){const k=this[A][p];k.destroyed||D.push(k.close())}return Promise.all(D)}else return new Promise(D=>{this[g]=D})}[c](D){for(;;){const k=this[o].shift();if(!k)break;k.handler.onError(D)}const p=new Array(this[A].length);for(let k=0;k<this[A].length;k++)p[k]=this[A][k].destroy(D);return Promise.all(p)}[n](D,p){const k=this[C]();return k?k.dispatch(D,p)||(k[t]=!0,this[t]=!this[C]()):(this[t]=!0,this[o].push({opts:D,handler:p}),this[w]++),!this[t]}[E](D){return D.on("drain",this[d].bind(this,D)).on("connect",this[F]).on("disconnect",this[I]).on("connectionError",this[s]),this[A].push(D),this[t]&&queueMicrotask(()=>{this[t]&&this[d](D,D[a],[D,this])}),this}[h](D){D.close(()=>{const p=this[A].indexOf(D);p!==-1&&this[A].splice(p,1)}),this[t]=this[A].some(p=>!p[t]&&p.closed!==!0&&p.destroyed!==!0)}}return Mt={PoolBase:R,kClients:A,kNeedDrain:t,kAddClient:E,kRemoveClient:h,kGetDispatcher:C},Mt}var kt,xn;function ye(){if(xn)return kt;xn=1;const{PoolBase:e,kClients:y,kNeedDrain:B,kAddClient:S,kGetDispatcher:r,kRemoveClient:Q}=jr(),f=Ce(),{InvalidArgumentError:w}=MA(),u=bA(),{kUrl:l}=vA(),a=de(),i=Symbol("options"),c=Symbol("connections"),n=Symbol("factory");function A(o,g){return new f(o,g)}class t extends e{constructor(g,{connections:d,factory:F=A,connect:I,connectTimeout:s,tls:C,maxCachedSessions:E,socketPath:h,autoSelectFamily:R,autoSelectFamilyAttemptTimeout:N,allowH2:D,clientTtl:p,...k}={}){if(d!=null&&(!Number.isFinite(d)||d<0))throw new w("invalid connections");if(typeof F!="function")throw new w("factory must be a function.");if(I!=null&&typeof I!="function"&&typeof I!="object")throw new w("connect must be a function or an object");typeof I!="function"&&(I=a({...C,maxCachedSessions:E,allowH2:D,socketPath:h,timeout:s,...typeof R=="boolean"?{autoSelectFamily:R,autoSelectFamilyAttemptTimeout:N}:void 0,...I})),super(),this[c]=d||null,this[l]=u.parseOrigin(g),this[i]={...u.deepClone(k),connect:I,allowH2:D,clientTtl:p,socketPath:h},this[i].interceptors=k.interceptors?{...k.interceptors}:void 0,this[n]=F,this.on("connect",(m,H)=>{if(p!=null&&p>0)for(const M of H)Object.assign(M,{ttl:Date.now()})}),this.on("connectionError",(m,H,M)=>{for(const b of H){const T=this[y].indexOf(b);T!==-1&&this[y].splice(T,1)}})}[r](){const g=this[i].clientTtl;for(const d of this[y])if(g!=null&&g>0&&d.ttl&&Date.now()-d.ttl>g)this[Q](d);else if(!d[B])return d;if(!this[c]||this[y].length<this[c]){const d=this[n](this[l],this[i]);return this[S](d),d}}}return kt=t,kt}var bt,Jn;function qo(){if(Jn)return bt;Jn=1;const{BalancedPoolMissingUpstreamError:e,InvalidArgumentError:y}=MA(),{PoolBase:B,kClients:S,kNeedDrain:r,kAddClient:Q,kRemoveClient:f,kGetDispatcher:w}=jr(),u=ye(),{kUrl:l}=vA(),a=bA(),i=Symbol("factory"),c=Symbol("options"),n=Symbol("kGreatestCommonDivisor"),A=Symbol("kCurrentWeight"),t=Symbol("kIndex"),o=Symbol("kWeight"),g=Symbol("kMaxWeightPerServer"),d=Symbol("kErrorPenalty");function F(C,E){if(C===0)return E;for(;E!==0;){const h=E;E=C%E,C=h}return C}function I(C,E){return new u(C,E)}class s extends B{constructor(E=[],{factory:h=I,...R}={}){if(typeof h!="function")throw new y("factory must be a function.");super(),this[c]={...a.deepClone(R)},this[c].interceptors=R.interceptors?{...R.interceptors}:void 0,this[t]=-1,this[A]=0,this[g]=this[c].maxWeightPerServer||100,this[d]=this[c].errorPenalty||15,Array.isArray(E)||(E=[E]),this[i]=h;for(const N of E)this.addUpstream(N);this._updateBalancedPoolStats()}addUpstream(E){const h=a.parseOrigin(E).origin;if(this[S].find(N=>N[l].origin===h&&N.closed!==!0&&N.destroyed!==!0))return this;const R=this[i](h,this[c]);this[Q](R),R.on("connect",()=>{R[o]=Math.min(this[g],R[o]+this[d])}),R.on("connectionError",()=>{R[o]=Math.max(1,R[o]-this[d]),this._updateBalancedPoolStats()}),R.on("disconnect",(...N)=>{const D=N[2];D&&D.code==="UND_ERR_SOCKET"&&(R[o]=Math.max(1,R[o]-this[d]),this._updateBalancedPoolStats())});for(const N of this[S])N[o]=this[g];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let E=0;for(let h=0;h<this[S].length;h++)E=F(this[S][h][o],E);this[n]=E}removeUpstream(E){const h=a.parseOrigin(E).origin,R=this[S].find(N=>N[l].origin===h&&N.closed!==!0&&N.destroyed!==!0);return R&&this[f](R),this}getUpstream(E){const h=a.parseOrigin(E).origin;return this[S].find(R=>R[l].origin===h&&R.closed!==!0&&R.destroyed!==!0)}get upstreams(){return this[S].filter(E=>E.closed!==!0&&E.destroyed!==!0).map(E=>E[l].origin)}[w](){if(this[S].length===0)throw new e;if(!this[S].find(D=>!D[r]&&D.closed!==!0&&D.destroyed!==!0)||this[S].map(D=>D[r]).reduce((D,p)=>D&&p,!0))return;let R=0,N=this[S].findIndex(D=>!D[r]);for(;R++<this[S].length;){this[t]=(this[t]+1)%this[S].length;const D=this[S][this[t]];if(D[o]>this[S][N][o]&&!D[r]&&(N=this[t]),this[t]===0&&(this[A]=this[A]-this[n],this[A]<=0&&(this[A]=this[g])),D[o]>=this[A]&&!D[r])return D}return this[A]=this[S][N][o],this[t]=N,this[S][N]}}return bt=s,bt}var Tt,Wn;function _o(){if(Wn)return Tt;Wn=1;const{PoolBase:e,kClients:y,kNeedDrain:B,kAddClient:S,kGetDispatcher:r,kRemoveClient:Q}=jr(),f=Ce(),{InvalidArgumentError:w}=MA(),u=bA(),{kUrl:l}=vA(),a=de(),i=Symbol("options"),c=Symbol("connections"),n=Symbol("factory"),A=Symbol("index");function t(g,d){return new f(g,d)}class o extends e{constructor(d,{connections:F,factory:I=t,connect:s,connectTimeout:C,tls:E,maxCachedSessions:h,socketPath:R,autoSelectFamily:N,autoSelectFamilyAttemptTimeout:D,allowH2:p,clientTtl:k,...m}={}){if(F!=null&&(!Number.isFinite(F)||F<0))throw new w("invalid connections");if(typeof I!="function")throw new w("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new w("connect must be a function or an object");typeof s!="function"&&(s=a({...E,maxCachedSessions:h,allowH2:p,socketPath:R,timeout:C,...typeof N=="boolean"?{autoSelectFamily:N,autoSelectFamilyAttemptTimeout:D}:void 0,...s})),super(),this[c]=F||null,this[l]=u.parseOrigin(d),this[i]={...u.deepClone(m),connect:s,allowH2:p,clientTtl:k,socketPath:R},this[i].interceptors=m.interceptors?{...m.interceptors}:void 0,this[n]=I,this[A]=-1,this.on("connect",(H,M)=>{if(k!=null&&k>0)for(const b of M)Object.assign(b,{ttl:Date.now()})}),this.on("connectionError",(H,M,b)=>{for(const T of M){const J=this[y].indexOf(T);J!==-1&&this[y].splice(J,1)}})}[r](){const d=this[i].clientTtl,F=this[y].length;if(F===0){const s=this[n](this[l],this[i]);return this[S](s),s}let I=0;for(;I<F;){this[A]=(this[A]+1)%F;const s=this[y][this[A]];if(d!=null&&d>0&&s.ttl&&Date.now()-s.ttl>d){this[Q](s),I++;continue}if(!s[B])return s;I++}if(!this[c]||F<this[c]){const s=this[n](this[l],this[i]);return this[S](s),s}}}return Tt=o,Tt}var Lt,Pn;function De(){if(Pn)return Lt;Pn=1;const{InvalidArgumentError:e,MaxOriginsReachedError:y}=MA(),{kClients:B,kRunning:S,kClose:r,kDestroy:Q,kDispatch:f,kUrl:w}=vA(),u=fe(),l=ye(),a=Ce(),i=bA(),c=Symbol("onConnect"),n=Symbol("onDisconnect"),A=Symbol("onConnectionError"),t=Symbol("onDrain"),o=Symbol("factory"),g=Symbol("options"),d=Symbol("origins");function F(s,C){return C&&C.connections===1?new a(s,C):new l(s,C)}class I extends u{constructor({factory:C=F,maxOrigins:E=1/0,connect:h,...R}={}){if(typeof C!="function")throw new e("factory must be a function.");if(h!=null&&typeof h!="function"&&typeof h!="object")throw new e("connect must be a function or an object");if(typeof E!="number"||Number.isNaN(E)||E<=0)throw new e("maxOrigins must be a number greater than 0");super(),h&&typeof h!="function"&&(h={...h}),this[g]={...i.deepClone(R),maxOrigins:E,connect:h},this[o]=C,this[B]=new Map,this[d]=new Set,this[t]=(N,D)=>{this.emit("drain",N,[this,...D])},this[c]=(N,D)=>{this.emit("connect",N,[this,...D])},this[n]=(N,D,p)=>{this.emit("disconnect",N,[this,...D],p)},this[A]=(N,D,p)=>{this.emit("connectionError",N,[this,...D],p)}}get[S](){let C=0;for(const{dispatcher:E}of this[B].values())C+=E[S];return C}[f](C,E){let h;if(C.origin&&(typeof C.origin=="string"||C.origin instanceof URL))h=String(C.origin);else throw new e("opts.origin must be a non-empty string or URL.");if(this[d].size>=this[g].maxOrigins&&!this[d].has(h))throw new y;const R=this[B].get(h);let N=R&&R.dispatcher;if(!N){const D=p=>{const k=this[B].get(h);k&&(p&&(k.count-=1),k.count<=0&&(this[B].delete(h),k.dispatcher.destroyed||k.dispatcher.close()),this[d].delete(h))};N=this[o](C.origin,this[g]).on("drain",this[t]).on("connect",(p,k)=>{const m=this[B].get(h);m&&(m.count+=1),this[c](p,k)}).on("disconnect",(p,k,m)=>{D(!0),this[n](p,k,m)}).on("connectionError",(p,k,m)=>{D(!1),this[A](p,k,m)}),this[B].set(h,{count:0,dispatcher:N}),this[d].add(h)}return N.dispatch(C,E)}[r](){const C=[];for(const{dispatcher:E}of this[B].values())C.push(E.close());return this[B].clear(),Promise.all(C)}[Q](C){const E=[];for(const{dispatcher:h}of this[B].values())E.push(h.destroy(C));return this[B].clear(),Promise.all(E)}get stats(){const C={};for(const{dispatcher:E}of this[B].values())E.stats&&(C[E[w].origin]=E.stats);return C}}return Lt=I,Lt}var Ht,qn;function Zo(){if(qn)return Ht;qn=1;const{Buffer:e}=AA,y=AA,{InvalidArgumentError:B}=MA();function S(u){if(y.isIPv4(u)){const a=u.split(".").map(Number);return{type:1,buffer:e.from(a)}}if(y.isIPv6(u))return{type:4,buffer:r(u)};const l=e.from(u,"utf8");if(l.length>255)throw new B("Domain name too long (max 255 bytes)");return{type:3,buffer:e.concat([e.from([l.length]),l])}}function r(u){const l=e.alloc(16),a=u.split(":");let i=0,c=0;const n=u.indexOf("::");if(n!==-1){const t=8-a.filter(o=>o.length>0).length;for(let o=0;o<a.length;o++)if(a[o]===""&&o===n/3)c+=t*2;else if(a[o]!==""){const g=parseInt(a[o],16);l.writeUInt16BE(g,c),c+=2}}else for(const A of a){if(A==="")continue;const t=parseInt(A,16);l.writeUInt16BE(t,i*2),i++}return l}function Q(u,l,a){const i=e.allocUnsafe(2);return i.writeUInt16BE(a,0),e.concat([e.from([u]),l,i])}function f(u,l=0){if(u.length<l+1)throw new B("Buffer too small to contain address type");const a=u[l];let i,c=l+1;switch(a){case 1:{if(u.length<c+6)throw new B("Buffer too small for IPv4 address");i=Array.from(u.subarray(c,c+4)).join("."),c+=4;break}case 3:{if(u.length<c+1)throw new B("Buffer too small for domain length");const A=u[c];if(c+=1,u.length<c+A+2)throw new B("Buffer too small for domain address");i=u.subarray(c,c+A).toString("utf8"),c+=A;break}case 4:{if(u.length<c+18)throw new B("Buffer too small for IPv6 address");const A=[];for(let t=0;t<8;t++){const o=u.readUInt16BE(c+t*2);A.push(o.toString(16))}i=A.join(":"),c+=16;break}default:throw new B(`Invalid address type: ${a}`)}if(u.length<c+2)throw new B("Buffer too small for port");const n=u.readUInt16BE(c);return c+=2,{address:i,port:n,bytesRead:c-l}}function w(u){const a={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[u]||`Unknown SOCKS5 error code: ${u}`,i=new Error(a);return i.code=`SOCKS5_${u}`,i}return Ht={parseAddress:S,parseIPv6:r,buildAddressBuffer:Q,parseResponseAddress:f,createReplyError:w},Ht}var Yt,_n;function Xo(){if(_n)return Yt;_n=1;const{EventEmitter:e}=AA,{Buffer:y}=AA,{InvalidArgumentError:B,Socks5ProxyError:S}=MA(),{debuglog:r}=AA,{parseAddress:Q}=Zo(),f=r("undici:socks5"),w=5,u={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},l={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},a={IPV4:1,DOMAIN:3,IPV6:4},i={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},c={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class n extends e{constructor(t,o={}){if(super(),!t)throw new B("socket is required");this.socket=t,this.options=o,this.state=c.INITIAL,this.buffer=y.alloc(0),this.authMethods=[],o.username&&o.password&&this.authMethods.push(u.USERNAME_PASSWORD),this.authMethods.push(u.NO_AUTH),this.socket.on("data",this.onData.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this))}onData(t){f("received data",t.length,"bytes in state",this.state),this.buffer=y.concat([this.buffer,t]);try{switch(this.state){case c.HANDSHAKING:this.handleHandshakeResponse();break;case c.AUTHENTICATING:this.handleAuthResponse();break;case c.CONNECTING:this.handleConnectResponse();break}}catch(o){this.onError(o)}}onError(t){f("socket error",t),this.state=c.ERROR,this.emit("error",t),this.destroy()}onClose(){f("socket closed"),this.state=c.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}handshake(){if(this.state!==c.INITIAL)throw new B("Handshake already started");f("starting handshake with",this.authMethods.length,"auth methods"),this.state=c.HANDSHAKING;const t=y.alloc(2+this.authMethods.length);t[0]=w,t[1]=this.authMethods.length,this.authMethods.forEach((o,g)=>{t[2+g]=o}),this.socket.write(t)}handleHandshakeResponse(){if(this.buffer.length<2)return;const t=this.buffer[0],o=this.buffer[1];if(t!==w)throw new S(`Invalid SOCKS version: ${t}`,"UND_ERR_SOCKS5_VERSION");if(o===u.NO_ACCEPTABLE)throw new S("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),f("server selected auth method",o),o===u.NO_AUTH)this.emit("authenticated");else if(o===u.USERNAME_PASSWORD)this.state=c.AUTHENTICATING,this.sendAuthRequest();else throw new S(`Unsupported authentication method: ${o}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){const{username:t,password:o}=this.options;if(!t||!o)throw new B("Username and password required for authentication");f("sending username/password auth");const g=y.from(t),d=y.from(o);if(g.length>255||d.length>255)throw new B("Username or password too long");const F=y.alloc(3+g.length+d.length);F[0]=1,F[1]=g.length,g.copy(F,2),F[2+g.length]=d.length,d.copy(F,3+g.length),this.socket.write(F)}handleAuthResponse(){if(this.buffer.length<2)return;const t=this.buffer[0],o=this.buffer[1];if(t!==1)throw new S(`Invalid auth sub-negotiation version: ${t}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(o!==0)throw new S("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),f("authentication successful"),this.emit("authenticated")}connect(t,o){if(this.state===c.CONNECTED)throw new B("Already connected");f("connecting to",t,o),this.state=c.CONNECTING;const g=this.buildConnectRequest(l.CONNECT,t,o);this.socket.write(g)}buildConnectRequest(t,o,g){const{type:d,buffer:F}=Q(o),I=y.alloc(4+F.length+2);return I[0]=w,I[1]=t,I[2]=0,I[3]=d,F.copy(I,4),I.writeUInt16BE(g,4+F.length),I}handleConnectResponse(){if(this.buffer.length<4)return;const t=this.buffer[0],o=this.buffer[1],g=this.buffer[3];if(t!==w)throw new S(`Invalid SOCKS version in reply: ${t}`,"UND_ERR_SOCKS5_REPLY_VERSION");let d=4;if(g===a.IPV4)d+=6;else if(g===a.DOMAIN){if(this.buffer.length<5)return;d+=1+this.buffer[4]+2}else if(g===a.IPV6)d+=18;else throw new S(`Invalid address type in reply: ${g}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<d)return;if(o!==i.SUCCEEDED){const C=this.getReplyErrorMessage(o);throw new S(`SOCKS5 connection failed: ${C}`,`UND_ERR_SOCKS5_REPLY_${o}`)}let F,I=4;if(g===a.IPV4)F=Array.from(this.buffer.subarray(I,I+4)).join("."),I+=4;else if(g===a.DOMAIN){const C=this.buffer[I];I+=1,F=this.buffer.subarray(I,I+C).toString(),I+=C}else if(g===a.IPV6){const C=[];for(let E=0;E<8;E++){const h=this.buffer.readUInt16BE(I+E*2);C.push(h.toString(16))}F=C.join(":"),I+=16}const s=this.buffer.readUInt16BE(I);this.buffer=this.buffer.subarray(d),this.state=c.CONNECTED,f("connected, bound address:",F,"port:",s),this.emit("connected",{address:F,port:s})}getReplyErrorMessage(t){switch(t){case i.GENERAL_FAILURE:return"General SOCKS server failure";case i.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case i.NETWORK_UNREACHABLE:return"Network unreachable";case i.HOST_UNREACHABLE:return"Host unreachable";case i.CONNECTION_REFUSED:return"Connection refused";case i.TTL_EXPIRED:return"TTL expired";case i.COMMAND_NOT_SUPPORTED:return"Command not supported";case i.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${t}`}}}return Yt={Socks5Client:n,AUTH_METHODS:u,COMMANDS:l,ADDRESS_TYPES:a,REPLY_CODES:i,STATES:c},Yt}var Gt,Zn;function ho(){if(Zn)return Gt;Zn=1;const e=AA,{URL:y}=AA;let B;const S=fe(),{InvalidArgumentError:r}=MA(),{Socks5Client:Q}=Xo(),{kDispatch:f,kClose:w,kDestroy:u}=vA(),l=ye(),a=de(),{debuglog:i}=AA,c=i("undici:socks5-proxy"),n=Symbol("proxy url"),A=Symbol("proxy headers"),t=Symbol("proxy auth"),o=Symbol("pool"),g=Symbol("connector");let d=!1;class F extends S{constructor(s,C={}){if(super(),d||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),d=!0),!s)throw new r("Proxy URL is mandatory");const E=typeof s=="string"?new y(s):s;if(E.protocol!=="socks5:"&&E.protocol!=="socks:")throw new r("Proxy URL must use socks5:// or socks:// protocol");this[n]=E,this[A]=C.headers||{},this[t]={username:C.username||(E.username?decodeURIComponent(E.username):null),password:C.password||(E.password?decodeURIComponent(E.password):null)},this[g]=C.connect||a({...C.proxyTls,servername:C.proxyTls?.servername||E.hostname}),this[o]=null}async createSocks5Connection(s,C){const E=this[n].hostname,h=parseInt(this[n].port)||1080;c("creating SOCKS5 connection to",E,h);const R=await new Promise((D,p)=>{const k=()=>{H.removeListener("error",m),D(H)},m=M=>{H.removeListener("connect",k),p(M)},H=e.connect({host:E,port:h});H.once("connect",k),H.once("error",m)}),N=new Q(R,this[t]);return N.on("error",D=>{c("SOCKS5 error:",D),R.destroy()}),await N.handshake(),await new Promise((D,p)=>{const k=setTimeout(()=>{p(new Error("SOCKS5 authentication timeout"))},5e3),m=()=>{clearTimeout(k),N.removeListener("error",H),D()},H=M=>{clearTimeout(k),N.removeListener("authenticated",m),p(M)};N.state==="authenticated"?(clearTimeout(k),D()):(N.once("authenticated",m),N.once("error",H))}),await N.connect(s,C),await new Promise((D,p)=>{const k=setTimeout(()=>{p(new Error("SOCKS5 connection timeout"))},5e3),m=M=>{c("SOCKS5 tunnel established to",s,C,"via",M),clearTimeout(k),N.removeListener("error",H),D()},H=M=>{clearTimeout(k),N.removeListener("connected",m),p(M)};N.once("connected",m),N.once("error",H)}),R}async[f](s,C){const{origin:E}=s;c("dispatching request to",E,"via SOCKS5");try{return(!this[o]||this[o].destroyed||this[o].closed)&&(this[o]=new l(E,{pipelining:s.pipelining,connections:s.connections,connect:async(h,R)=>{try{const N=new y(E),D=N.hostname,p=parseInt(N.port)||(N.protocol==="https:"?443:80);c("establishing SOCKS5 connection to",D,p);const k=await this.createSocks5Connection(D,p);let m=k;N.protocol==="https:"&&(B||(B=AA),c("upgrading to TLS"),m=B.connect({socket:k,servername:D,...h.tls||{}}),await new Promise((H,M)=>{m.once("secureConnect",H),m.once("error",M)})),R(null,m)}catch(N){c("SOCKS5 connection error:",N),R(N)}}})),this[o][f](s,C)}catch(h){if(c("dispatch error:",h),typeof C.onError=="function")C.onError(h);else throw h}}async[w](){this[o]&&await this[o].close()}async[u](s){this[o]&&await this[o].destroy(s)}}return Gt=F,Gt}var Vt,Xn;function uo(){if(Xn)return Vt;Xn=1;const{kProxy:e,kClose:y,kDestroy:B,kDispatch:S}=vA(),r=De(),Q=ye(),f=fe(),{InvalidArgumentError:w,RequestAbortedError:u,SecureProxyConnectionError:l}=MA(),a=de(),i=Ce(),{channels:c}=le(),n=ho(),A=Symbol("proxy agent"),t=Symbol("proxy client"),o=Symbol("proxy headers"),g=Symbol("request tls settings"),d=Symbol("proxy tls settings"),F=Symbol("connect endpoint function"),I=Symbol("tunnel proxy");function s(k){return k==="https:"?443:80}function C(k,m){return new Q(k,m)}const E=()=>{};function h(k,m){return m.connections===1?new i(k,m):new Q(k,m)}class R extends f{#A;constructor(m,{headers:H={},connect:M,factory:b}){if(!m)throw new w("Proxy URL is mandatory");super(),this[o]=H,b?this.#A=b(m,{connect:M}):this.#A=new i(m,{connect:M})}[S](m,H){const M=H.onHeaders;H.onHeaders=function(tA,sA,gA){if(tA===407){typeof H.onError=="function"&&H.onError(new w("Proxy Authentication Required (407)"));return}M&&M.call(this,tA,sA,gA)};const{origin:b,path:T="/",headers:J={}}=m;if(m.path=b+T,!("host"in J)&&!("Host"in J)){const{host:tA}=new URL(b);J.host=tA}return m.headers={...this[o],...J},this.#A[S](m,H)}[y](){return this.#A.close()}[B](m){return this.#A.destroy(m)}}class N extends f{constructor(m){if(!m||typeof m=="object"&&!(m instanceof URL)&&!m.uri)throw new w("Proxy uri is mandatory");const{clientFactory:H=C}=m;if(typeof H!="function")throw new w("Proxy opts.clientFactory must be a function.");const{proxyTunnel:M=!0}=m;super();const b=this.#A(m),{href:T,origin:J,port:tA,protocol:sA,username:gA,password:dA,hostname:CA}=b;if(this[e]={uri:T,protocol:sA},this[g]=m.requestTls,this[d]=m.proxyTls,this[o]=m.headers||{},this[I]=M,m.auth&&m.token)throw new w("opts.auth cannot be used in combination with opts.token");m.auth?this[o]["proxy-authorization"]=`Basic ${m.auth}`:m.token?this[o]["proxy-authorization"]=m.token:gA&&dA&&(this[o]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(gA)}:${decodeURIComponent(dA)}`).toString("base64")}`);const mA=a({...m.proxyTls});this[F]=a({...m.requestTls});const $=m.factory||h,rA=(nA,wA)=>{const{protocol:kA}=new URL(nA);return this[e].protocol==="socks5:"||this[e].protocol==="socks:"?new n(this[e].uri,{headers:this[o],connect:mA,factory:$,username:m.username||gA,password:m.password||dA,proxyTls:m.proxyTls}):!this[I]&&kA==="http:"&&this[e].protocol==="http:"?new R(this[e].uri,{headers:this[o],connect:mA,factory:$}):$(nA,wA)};sA==="socks5:"||sA==="socks:"?this[t]=null:this[t]=H(b,{connect:mA}),this[A]=new r({...m,factory:rA,connect:async(nA,wA)=>{if(!this[t]){wA(new w("Cannot establish tunnel connection without a proxy client"));return}let kA=nA.host;nA.port||(kA+=`:${s(nA.protocol)}`);try{const IA={origin:J,port:tA,path:kA,signal:nA.signal,headers:{...this[o],host:nA.host,...nA.connections==null||nA.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[d]?.servername||CA},{socket:TA,statusCode:SA}=await this[t].connect(IA);if(SA!==200){TA.on("error",E).destroy(),wA(new u(`Proxy response (${SA}) !== 200 when HTTP Tunneling`));return}if(c.proxyConnected.hasSubscribers&&c.proxyConnected.publish({socket:TA,connectParams:IA}),nA.protocol!=="https:"){wA(null,TA);return}let G;this[g]?G=this[g].servername:G=nA.servername,this[F]({...nA,servername:G,httpSocket:TA},wA)}catch(IA){IA.code==="ERR_TLS_CERT_ALTNAME_INVALID"?wA(new l(IA)):wA(IA)}}})}dispatch(m,H){const M=D(m.headers);if(p(M),M&&!("host"in M)&&!("Host"in M)){const{host:b}=new URL(m.origin);M.host=b}return this[A].dispatch({...m,headers:M},H)}#A(m){return typeof m=="string"?new URL(m):m instanceof URL?m:new URL(m.uri)}[y](){const m=[this[A].close()];return this[t]&&m.push(this[t].close()),Promise.all(m)}[B](){const m=[this[A].destroy()];return this[t]&&m.push(this[t].destroy()),Promise.all(m)}}function D(k){if(Array.isArray(k)){const m={};for(let H=0;H<k.length;H+=2)m[k[H]]=k[H+1];return m}return k}function p(k){if(k&&Object.keys(k).find(H=>H.toLowerCase()==="proxy-authorization"))throw new w("Proxy-Authorization should be sent in ProxyAgent constructor")}return Vt=N,Vt}var vt,Kn;function Ko(){if(Kn)return vt;Kn=1;var e={};const y=fe(),{kClose:B,kDestroy:S,kClosed:r,kDestroyed:Q,kDispatch:f,kNoProxyAgent:w,kHttpProxyAgent:u,kHttpsProxyAgent:l}=vA(),a=uo(),i=De(),c={"http:":80,"https:":443};class n extends y{#A=null;#e=null;#t=null;constructor(t={}){super(),this.#t=t;const{httpProxy:o,httpsProxy:g,noProxy:d,...F}=t;this[w]=new i(F);const I=o??e.http_proxy??e.HTTP_PROXY;I?this[u]=new a({...F,uri:I}):this[u]=this[w];const s=g??e.https_proxy??e.HTTPS_PROXY;s?this[l]=new a({...F,uri:s}):this[l]=this[u],this.#n()}[f](t,o){const g=new URL(t.origin);return this.#r(g).dispatch(t,o)}[B](){return Promise.all([this[w].close(),!this[u][r]&&this[u].close(),!this[l][r]&&this[l].close()])}[S](t){return Promise.all([this[w].destroy(t),!this[u][Q]&&this[u].destroy(t),!this[l][Q]&&this[l].destroy(t)])}#r(t){let{protocol:o,host:g,port:d}=t;return g=g.replace(/:\d*$/,"").toLowerCase(),d=Number.parseInt(d,10)||c[o]||0,this.#s(g,d)?o==="https:"?this[l]:this[u]:this[w]}#s(t,o){if(this.#a&&this.#n(),this.#e.length===0)return!0;if(this.#A==="*")return!1;for(let g=0;g<this.#e.length;g++){const d=this.#e[g];if(!(d.port&&d.port!==o)&&(t===d.hostname||t.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#n(){const t=this.#t.noProxy??this.#o,o=t.split(/[,\s]/),g=[];for(let d=0;d<o.length;d++){const F=o[d];if(!F)continue;const I=F.match(/^(.+):(\d+)$/);g.push({hostname:(I?I[1]:F).replace(/^\*?\./,"").toLowerCase(),port:I?Number.parseInt(I[2],10):0})}this.#A=t,this.#e=g}get#a(){return this.#t.noProxy!==void 0?!1:this.#A!==this.#o}get#o(){return e.no_proxy??e.NO_PROXY??""}}return vt=n,vt}var Ot,zn;function $r(){if(zn)return Ot;zn=1;const e=AA,{kRetryHandlerDefaultRetry:y}=vA(),{RequestRetryError:B}=MA(),S=We(),{isDisturbed:r,parseRangeHeader:Q,wrapRequestBody:f}=bA();function w(l){const a=new Date(l).getTime();return isNaN(a)?0:a-Date.now()}class u{constructor(a,{dispatch:i,handler:c}){const{retryOptions:n,...A}=a,{retry:t,maxRetries:o,maxTimeout:g,minTimeout:d,timeoutFactor:F,methods:I,errorCodes:s,retryAfter:C,statusCodes:E,throwOnError:h}=n??{};this.error=null,this.dispatch=i,this.handler=S.wrap(c),this.opts={...A,body:f(a.body)},this.retryOpts={throwOnError:h??!0,retry:t??u[y],retryAfter:C??!0,maxTimeout:g??30*1e3,minTimeout:d??500,timeoutFactor:F??2,maxRetries:o??5,methods:I??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:E??[500,502,503,504,429],errorCodes:s??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onResponseStartWithRetry(a,i,c,n,A){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(i)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(a,i,c,n)):this.error=A;return}if(r(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(a,i,c,n);return}function t(o){if(o){this.headersSent=!0,this.handler.onResponseStart?.(a,i,c,n),a.resume();return}this.error=A,a.resume()}a.pause(),this.retryOpts.retry(A,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},t.bind(this))}onRequestStart(a,i){this.headersSent||this.handler.onRequestStart?.(a,i)}onRequestUpgrade(a,i,c,n){this.handler.onRequestUpgrade?.(a,i,c,n)}static[y](a,{state:i,opts:c},n){const{statusCode:A,code:t,headers:o}=a,{method:g,retryOptions:d}=c,{maxRetries:F,minTimeout:I,maxTimeout:s,timeoutFactor:C,statusCodes:E,errorCodes:h,methods:R}=d,{counter:N}=i;if(t&&t!=="UND_ERR_REQ_RETRY"&&!h.includes(t)){n(a);return}if(Array.isArray(R)&&!R.includes(g)){n(a);return}if(A!=null&&Array.isArray(E)&&!E.includes(A)){n(a);return}if(N>F){n(a);return}let D=o?.["retry-after"];D&&(D=Number(D),D=Number.isNaN(D)?w(o["retry-after"]):D*1e3);const p=D>0?Math.min(D,s):Math.min(I*C**(N-1),s);setTimeout(()=>n(null),p)}onResponseStart(a,i,c,n){if(this.error=null,this.retryCount+=1,i>=300){const A=new B("Request failed",i,{headers:c,data:{count:this.retryCount}});this.onResponseStartWithRetry(a,i,c,n,A);return}if(this.headersSent){if(i!==206&&(this.start>0||i!==200))throw new B("server does not support the range header and the payload was partially consumed",i,{headers:c,data:{count:this.retryCount}});const A=Q(c["content-range"]);if(!A)throw new B("Content-Range mismatch",i,{headers:c,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==c.etag)throw new B("ETag mismatch",i,{headers:c,data:{count:this.retryCount}});const{start:t,size:o,end:g=o?o-1:null}=A;e(this.start===t,"content-range mismatch"),e(this.end==null||this.end===g,"content-range mismatch");return}if(this.end==null){if(i===206){const A=Q(c["content-range"]);if(A==null){this.headersSent=!0,this.handler.onResponseStart?.(a,i,c,n);return}const{start:t,size:o,end:g=o?o-1:null}=A;e(t!=null&&Number.isFinite(t),"content-range mismatch"),e(g!=null&&Number.isFinite(g),"invalid content-length"),this.start=t,this.end=g}if(this.end==null){const A=c["content-length"];this.end=A!=null?Number(A)-1:null}e(Number.isFinite(this.start)),e(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=c.etag!=null?c.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(a,i,c,n)}else throw new B("Request failed",i,{headers:c,data:{count:this.retryCount}})}onResponseData(a,i){this.error||(this.start+=i.length,this.handler.onResponseData?.(a,i))}onResponseEnd(a,i){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error)return this.retryCount=0,this.handler.onResponseEnd?.(a,i);this.retry(a)}retry(a){if(this.start!==0){const i={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(i["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...i}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(i){this.handler.onResponseError?.(a,i)}}onResponseError(a,i){if(a?.aborted||r(this.opts.body)){this.handler.onResponseError?.(a,i);return}function c(n){if(!n){this.retry(a);return}this.handler?.onResponseError?.(a,n)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(i,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},c.bind(this))}}return Ot=u,Ot}var xt,jn;function zo(){if(jn)return xt;jn=1;const e=Pe(),y=$r();class B extends e{#A=null;#e=null;constructor(r,Q={}){super(Q),this.#A=r,this.#e=Q}dispatch(r,Q){const f=new y({...r,retryOptions:this.#e},{dispatch:this.#A.dispatch.bind(this.#A),handler:Q});return this.#A.dispatch(r,f)}close(){return this.#A.close()}destroy(){return this.#A.destroy()}}return xt=B,xt}var Jt,$n;function jo(){if($n)return Jt;$n=1;const{InvalidArgumentError:e}=MA(),y=Ce();class B extends y{constructor(r,Q){if(typeof r=="string"&&(r=new URL(r)),r.protocol!=="http:")throw new e("h2c-client: Only h2c protocol is supported");const{connect:f,maxConcurrentStreams:w,pipelining:u,...l}=Q??{};let a=100,i=100;if(w!=null&&Number.isInteger(w)&&w>0&&(a=w),u!=null&&Number.isInteger(u)&&u>0&&(i=u),i>a)throw new e("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(r,{...l,maxConcurrentStreams:a,pipelining:i,allowH2:!0,useH2c:!0})}}return Jt=B,Jt}var Ie={},Ge={exports:{}},Wt,As;function $o(){if(As)return Wt;As=1;const e=AA,{Readable:y}=AA,{RequestAbortedError:B,NotSupportedError:S,InvalidArgumentError:r,AbortError:Q}=MA(),f=bA(),{ReadableStreamFrom:w}=bA(),u=Symbol("kConsume"),l=Symbol("kReading"),a=Symbol("kBody"),i=Symbol("kAbort"),c=Symbol("kContentType"),n=Symbol("kContentLength"),A=Symbol("kUsed"),t=Symbol("kBytesRead"),o=()=>{};class g extends y{constructor({resume:p,abort:k,contentType:m="",contentLength:H,highWaterMark:M=64*1024}){super({autoDestroy:!0,read:p,highWaterMark:M}),this._readableState.dataEmitted=!1,this[i]=k,this[u]=null,this[t]=0,this[a]=null,this[A]=!1,this[c]=m,this[n]=Number.isFinite(H)?H:null,this[l]=!1}_destroy(p,k){!p&&!this._readableState.endEmitted&&(p=new B),p&&this[i](),this[A]?k(p):setImmediate(k,p)}on(p,k){return(p==="data"||p==="readable")&&(this[l]=!0,this[A]=!0),super.on(p,k)}addListener(p,k){return this.on(p,k)}off(p,k){const m=super.off(p,k);return(p==="data"||p==="readable")&&(this[l]=this.listenerCount("data")>0||this.listenerCount("readable")>0),m}removeListener(p,k){return this.off(p,k)}push(p){return p&&(this[t]+=p.length,this[u])?(R(this[u],p),this[l]?super.push(p):!0):super.push(p)}text(){return I(this,"text")}json(){return I(this,"json")}blob(){return I(this,"blob")}bytes(){return I(this,"bytes")}arrayBuffer(){return I(this,"arrayBuffer")}async formData(){throw new S}get bodyUsed(){return f.isDisturbed(this)}get body(){return this[a]||(this[a]=w(this),this[u]&&(this[a].getReader(),e(this[a].locked))),this[a]}dump(p){const k=p?.signal;if(k!=null&&(typeof k!="object"||!("aborted"in k)))return Promise.reject(new r("signal must be an AbortSignal"));const m=p?.limit&&Number.isFinite(p.limit)?p.limit:128*1024;return k?.aborted?Promise.reject(k.reason??new Q):this._readableState.closeEmitted?Promise.resolve(null):new Promise((H,M)=>{if((this[n]&&this[n]>m||this[t]>m)&&this.destroy(new Q),k){const b=()=>{this.destroy(k.reason??new Q)};k.addEventListener("abort",b),this.on("close",function(){k.removeEventListener("abort",b),k.aborted?M(k.reason??new Q):H(null)})}else this.on("close",H);this.on("error",o).on("data",()=>{this[t]>m&&this.destroy()}).resume()})}setEncoding(p){return Buffer.isEncoding(p)&&(this._readableState.encoding=p),this}}function d(D){return D[a]?.locked===!0||D[u]!==null}function F(D){return f.isDisturbed(D)||d(D)}function I(D,p){return e(!D[u]),new Promise((k,m)=>{if(F(D)){const H=D._readableState;H.destroyed&&H.closeEmitted===!1?D.on("error",m).on("close",()=>{m(new TypeError("unusable"))}):m(H.errored??new TypeError("unusable"))}else queueMicrotask(()=>{D[u]={type:p,stream:D,resolve:k,reject:m,length:0,body:[]},D.on("error",function(H){N(this[u],H)}).on("close",function(){this[u].body!==null&&N(this[u],new B)}),s(D[u])})})}function s(D){if(D.body===null)return;const{_readableState:p}=D.stream;if(p.bufferIndex){const k=p.bufferIndex,m=p.buffer.length;for(let H=k;H<m;H++)R(D,p.buffer[H])}else for(const k of p.buffer)R(D,k);for(p.endEmitted?h(this[u],this._readableState.encoding):D.stream.on("end",function(){h(this[u],this._readableState.encoding)}),D.stream.resume();D.stream.read()!=null;);}function C(D,p,k){if(D.length===0||p===0)return"";const m=D.length===1?D[0]:Buffer.concat(D,p),H=m.length,M=H>2&&m[0]===239&&m[1]===187&&m[2]===191?3:0;return!k||k==="utf8"||k==="utf-8"?m.utf8Slice(M,H):m.subarray(M,H).toString(k)}function E(D,p){if(D.length===0||p===0)return new Uint8Array(0);if(D.length===1)return new Uint8Array(D[0]);const k=new Uint8Array(Buffer.allocUnsafeSlow(p).buffer);let m=0;for(let H=0;H<D.length;++H){const M=D[H];k.set(M,m),m+=M.length}return k}function h(D,p){const{type:k,body:m,resolve:H,stream:M,length:b}=D;try{k==="text"?H(C(m,b,p)):k==="json"?H(JSON.parse(C(m,b,p))):k==="arrayBuffer"?H(E(m,b).buffer):k==="blob"?H(new Blob(m,{type:M[c]})):k==="bytes"&&H(E(m,b)),N(D)}catch(T){M.destroy(T)}}function R(D,p){D.length+=p.length,D.body.push(p)}function N(D,p){D.body!==null&&(p?D.reject(p):D.resolve(),D.type=null,D.stream=null,D.resolve=null,D.reject=null,D.length=0,D.body=null)}return Wt={Readable:g,chunksDecode:C},Wt}var es;function Ai(){if(es)return Ge.exports;es=1;const e=AA,{AsyncResource:y}=AA,{Readable:B}=$o(),{InvalidArgumentError:S,RequestAbortedError:r}=MA(),Q=bA();function f(){}class w extends y{constructor(a,i){if(!a||typeof a!="object")throw new S("invalid opts");const{signal:c,method:n,opaque:A,body:t,onInfo:o,responseHeaders:g,highWaterMark:d}=a;try{if(typeof i!="function")throw new S("invalid callback");if(d&&(typeof d!="number"||d<0))throw new S("invalid highWaterMark");if(c&&typeof c.on!="function"&&typeof c.addEventListener!="function")throw new S("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new S("invalid method");if(o&&typeof o!="function")throw new S("invalid onInfo callback");super("UNDICI_REQUEST")}catch(F){throw Q.isStream(t)&&Q.destroy(t.on("error",f),F),F}this.method=n,this.responseHeaders=g||null,this.opaque=A||null,this.callback=i,this.res=null,this.abort=null,this.body=t,this.trailers={},this.context=null,this.onInfo=o||null,this.highWaterMark=d,this.reason=null,this.removeAbortListener=null,c?.aborted?this.reason=c.reason??new r:c&&(this.removeAbortListener=Q.addAbortListener(c,()=>{this.reason=c.reason??new r,this.res?Q.destroy(this.res.on("error",f),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(a,i){if(this.reason){a(this.reason);return}e(this.callback),this.abort=a,this.context=i}onHeaders(a,i,c,n){const{callback:A,opaque:t,abort:o,context:g,responseHeaders:d,highWaterMark:F}=this,I=d==="raw"?Q.parseRawHeaders(i):Q.parseHeaders(i);if(a<200){this.onInfo&&this.onInfo({statusCode:a,headers:I});return}const s=d==="raw"?Q.parseHeaders(i):I,C=s["content-type"],E=s["content-length"],h=new B({resume:c,abort:o,contentType:C,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:F});if(this.removeAbortListener&&(h.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=h,A!==null)try{this.runInAsyncScope(A,null,null,{statusCode:a,statusText:n,headers:I,trailers:this.trailers,opaque:t,body:h,context:g})}catch(R){this.res=null,Q.destroy(h.on("error",f),R),queueMicrotask(()=>{throw R})}}onData(a){return this.res.push(a)}onComplete(a){Q.parseHeaders(a,this.trailers),this.res.push(null)}onError(a){const{res:i,callback:c,body:n,opaque:A}=this;c&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(c,null,a,{opaque:A})})),i&&(this.res=null,queueMicrotask(()=>{Q.destroy(i.on("error",f),a)})),n&&(this.body=null,Q.isStream(n)&&(n.on("error",f),Q.destroy(n,a))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}}function u(l,a){if(a===void 0)return new Promise((i,c)=>{u.call(this,l,(n,A)=>n?c(n):i(A))});try{const i=new w(l,a);this.dispatch(l,i)}catch(i){if(typeof a!="function")throw i;const c=l?.opaque;queueMicrotask(()=>a(i,{opaque:c}))}}return Ge.exports=u,Ge.exports.RequestHandler=w,Ge.exports}var Pt,ts;function Xe(){if(ts)return Pt;ts=1;const{addAbortListener:e}=bA(),{RequestAbortedError:y}=MA(),B=Symbol("kListener"),S=Symbol("kSignal");function r(w){w.abort?w.abort(w[S]?.reason):w.reason=w[S]?.reason??new y,f(w)}function Q(w,u){if(w.reason=null,w[S]=null,w[B]=null,!!u){if(u.aborted){r(w);return}w[S]=u,w[B]=()=>{r(w)},e(w[S],w[B])}}function f(w){w[S]&&("removeEventListener"in w[S]?w[S].removeEventListener("abort",w[B]):w[S].removeListener("abort",w[B]),w[S]=null,w[B]=null)}return Pt={addSignal:Q,removeSignal:f},Pt}var qt,rs;function ei(){if(rs)return qt;rs=1;const e=AA,{finished:y}=AA,{AsyncResource:B}=AA,{InvalidArgumentError:S,InvalidReturnValueError:r}=MA(),Q=bA(),{addSignal:f,removeSignal:w}=Xe();function u(){}class l extends B{constructor(c,n,A){if(!c||typeof c!="object")throw new S("invalid opts");const{signal:t,method:o,opaque:g,body:d,onInfo:F,responseHeaders:I}=c;try{if(typeof A!="function")throw new S("invalid callback");if(typeof n!="function")throw new S("invalid factory");if(t&&typeof t.on!="function"&&typeof t.addEventListener!="function")throw new S("signal must be an EventEmitter or EventTarget");if(o==="CONNECT")throw new S("invalid method");if(F&&typeof F!="function")throw new S("invalid onInfo callback");super("UNDICI_STREAM")}catch(s){throw Q.isStream(d)&&Q.destroy(d.on("error",u),s),s}this.responseHeaders=I||null,this.opaque=g||null,this.factory=n,this.callback=A,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=d,this.onInfo=F||null,Q.isStream(d)&&d.on("error",s=>{this.onError(s)}),f(this,t)}onConnect(c,n){if(this.reason){c(this.reason);return}e(this.callback),this.abort=c,this.context=n}onHeaders(c,n,A,t){const{factory:o,opaque:g,context:d,responseHeaders:F}=this,I=F==="raw"?Q.parseRawHeaders(n):Q.parseHeaders(n);if(c<200){this.onInfo&&this.onInfo({statusCode:c,headers:I});return}if(this.factory=null,o===null)return;const s=this.runInAsyncScope(o,null,{statusCode:c,headers:I,opaque:g,context:d});if(!s||typeof s.write!="function"||typeof s.end!="function"||typeof s.on!="function")throw new r("expected Writable");return y(s,{readable:!1},E=>{const{callback:h,res:R,opaque:N,trailers:D,abort:p}=this;this.res=null,(E||!R?.readable)&&Q.destroy(R,E),this.callback=null,this.runInAsyncScope(h,null,E||null,{opaque:N,trailers:D}),E&&p()}),s.on("drain",A),this.res=s,(s.writableNeedDrain!==void 0?s.writableNeedDrain:s._writableState?.needDrain)!==!0}onData(c){const{res:n}=this;return n?n.write(c):!0}onComplete(c){const{res:n}=this;w(this),n&&(this.trailers=Q.parseHeaders(c),n.end())}onError(c){const{res:n,callback:A,opaque:t,body:o}=this;w(this),this.factory=null,n?(this.res=null,Q.destroy(n,c)):A&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(A,null,c,{opaque:t})})),o&&(this.body=null,Q.destroy(o,c))}}function a(i,c,n){if(n===void 0)return new Promise((A,t)=>{a.call(this,i,c,(o,g)=>o?t(o):A(g))});try{const A=new l(i,c,n);this.dispatch(i,A)}catch(A){if(typeof n!="function")throw A;const t=i?.opaque;queueMicrotask(()=>n(A,{opaque:t}))}}return qt=a,qt}var _t,ns;function ti(){if(ns)return _t;ns=1;const{Readable:e,Duplex:y,PassThrough:B}=AA,S=AA,{AsyncResource:r}=AA,{InvalidArgumentError:Q,InvalidReturnValueError:f,RequestAbortedError:w}=MA(),u=bA(),{addSignal:l,removeSignal:a}=Xe();function i(){}const c=Symbol("resume");class n extends e{constructor(){super({autoDestroy:!0}),this[c]=null}_read(){const{[c]:d}=this;d&&(this[c]=null,d())}_destroy(d,F){this._read(),F(d)}}class A extends e{constructor(d){super({autoDestroy:!0}),this[c]=d}_read(){this[c]()}_destroy(d,F){!d&&!this._readableState.endEmitted&&(d=new w),F(d)}}class t extends r{constructor(d,F){if(!d||typeof d!="object")throw new Q("invalid opts");if(typeof F!="function")throw new Q("invalid handler");const{signal:I,method:s,opaque:C,onInfo:E,responseHeaders:h}=d;if(I&&typeof I.on!="function"&&typeof I.addEventListener!="function")throw new Q("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Q("invalid method");if(E&&typeof E!="function")throw new Q("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=C||null,this.responseHeaders=h||null,this.handler=F,this.abort=null,this.context=null,this.onInfo=E||null,this.req=new n().on("error",i),this.ret=new y({readableObjectMode:d.objectMode,autoDestroy:!0,read:()=>{const{body:R}=this;R?.resume&&R.resume()},write:(R,N,D)=>{const{req:p}=this;p.push(R,N)||p._readableState.destroyed?D():p[c]=D},destroy:(R,N)=>{const{body:D,req:p,res:k,ret:m,abort:H}=this;!R&&!m._readableState.endEmitted&&(R=new w),H&&R&&H(),u.destroy(D,R),u.destroy(p,R),u.destroy(k,R),a(this),N(R)}}).on("prefinish",()=>{const{req:R}=this;R.push(null)}),this.res=null,l(this,I)}onConnect(d,F){const{res:I}=this;if(this.reason){d(this.reason);return}S(!I,"pipeline cannot be retried"),this.abort=d,this.context=F}onHeaders(d,F,I){const{opaque:s,handler:C,context:E}=this;if(d<200){if(this.onInfo){const R=this.responseHeaders==="raw"?u.parseRawHeaders(F):u.parseHeaders(F);this.onInfo({statusCode:d,headers:R})}return}this.res=new A(I);let h;try{this.handler=null;const R=this.responseHeaders==="raw"?u.parseRawHeaders(F):u.parseHeaders(F);h=this.runInAsyncScope(C,null,{statusCode:d,headers:R,opaque:s,body:this.res,context:E})}catch(R){throw this.res.on("error",i),R}if(!h||typeof h.on!="function")throw new f("expected Readable");h.on("data",R=>{const{ret:N,body:D}=this;!N.push(R)&&D.pause&&D.pause()}).on("error",R=>{const{ret:N}=this;u.destroy(N,R)}).on("end",()=>{const{ret:R}=this;R.push(null)}).on("close",()=>{const{ret:R}=this;R._readableState.ended||u.destroy(R,new w)}),this.body=h}onData(d){const{res:F}=this;return F.push(d)}onComplete(d){const{res:F}=this;F.push(null)}onError(d){const{ret:F}=this;this.handler=null,u.destroy(F,d)}}function o(g,d){try{const F=new t(g,d);return this.dispatch({...g,body:F.req},F),F.ret}catch(F){return new B().destroy(F)}}return _t=o,_t}var Zt,ss;function ri(){if(ss)return Zt;ss=1;const{InvalidArgumentError:e,SocketError:y}=MA(),{AsyncResource:B}=AA,S=AA,r=bA(),{kHTTP2Stream:Q}=vA(),{addSignal:f,removeSignal:w}=Xe();class u extends B{constructor(i,c){if(!i||typeof i!="object")throw new e("invalid opts");if(typeof c!="function")throw new e("invalid callback");const{signal:n,opaque:A,responseHeaders:t}=i;if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new e("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=t||null,this.opaque=A||null,this.callback=c,this.abort=null,this.context=null,f(this,n)}onConnect(i,c){if(this.reason){i(this.reason);return}S(this.callback),this.abort=i,this.context=null}onHeaders(){throw new y("bad upgrade",null)}onUpgrade(i,c,n){S(n[Q]===!0?i===200:i===101);const{callback:A,opaque:t,context:o}=this;w(this),this.callback=null;const g=this.responseHeaders==="raw"?r.parseRawHeaders(c):r.parseHeaders(c);this.runInAsyncScope(A,null,null,{headers:g,socket:n,opaque:t,context:o})}onError(i){const{callback:c,opaque:n}=this;w(this),c&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(c,null,i,{opaque:n})}))}}function l(a,i){if(i===void 0)return new Promise((c,n)=>{l.call(this,a,(A,t)=>A?n(A):c(t))});try{const c=new u(a,i),n={...a,method:a.method||"GET",upgrade:a.protocol||"Websocket"};this.dispatch(n,c)}catch(c){if(typeof i!="function")throw c;const n=a?.opaque;queueMicrotask(()=>i(c,{opaque:n}))}}return Zt=l,Zt}var Xt,os;function ni(){if(os)return Xt;os=1;const e=AA,{AsyncResource:y}=AA,{InvalidArgumentError:B,SocketError:S}=MA(),r=bA(),{addSignal:Q,removeSignal:f}=Xe();class w extends y{constructor(a,i){if(!a||typeof a!="object")throw new B("invalid opts");if(typeof i!="function")throw new B("invalid callback");const{signal:c,opaque:n,responseHeaders:A}=a;if(c&&typeof c.on!="function"&&typeof c.addEventListener!="function")throw new B("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=n||null,this.responseHeaders=A||null,this.callback=i,this.abort=null,Q(this,c)}onConnect(a,i){if(this.reason){a(this.reason);return}e(this.callback),this.abort=a,this.context=i}onHeaders(){throw new S("bad connect",null)}onUpgrade(a,i,c){const{callback:n,opaque:A,context:t}=this;f(this),this.callback=null;let o=i;o!=null&&(o=this.responseHeaders==="raw"?r.parseRawHeaders(i):r.parseHeaders(i)),this.runInAsyncScope(n,null,null,{statusCode:a,headers:o,socket:c,opaque:A,context:t})}onError(a){const{callback:i,opaque:c}=this;f(this),i&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(i,null,a,{opaque:c})}))}}function u(l,a){if(a===void 0)return new Promise((i,c)=>{u.call(this,l,(n,A)=>n?c(n):i(A))});try{const i=new w(l,a),c={...l,method:"CONNECT"};this.dispatch(c,i)}catch(i){if(typeof a!="function")throw i;const c=l?.opaque;queueMicrotask(()=>a(i,{opaque:c}))}}return Xt=u,Xt}var is;function si(){return is||(is=1,Ie.request=Ai(),Ie.stream=ei(),Ie.pipeline=ti(),Ie.upgrade=ri(),Ie.connect=ni()),Ie}var Kt,as;function fo(){if(as)return Kt;as=1;const{UndiciError:e}=MA(),y=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class B extends e{constructor(r){super(r),this.name="MockNotMatchedError",this.message=r||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](r){return r&&r[y]===!0}get[y](){return!0}}return Kt={MockNotMatchedError:B},Kt}var zt,gs;function we(){return gs||(gs=1,zt={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log")}),zt}var jt,Es;function Ke(){if(Es)return jt;Es=1;const{MockNotMatchedError:e}=fo(),{kDispatches:y,kMockAgent:B,kOriginalDispatch:S,kOrigin:r,kGetNetConnect:Q}=we(),{serializePathWithQuery:f}=bA(),{STATUS_CODES:w}=AA,{types:{isPromise:u}}=AA,{InvalidArgumentError:l}=MA();function a(M,b){return typeof M=="string"?M===b:M instanceof RegExp?M.test(b):typeof M=="function"?M(b)===!0:!1}function i(M){return Object.fromEntries(Object.entries(M).map(([b,T])=>[b.toLocaleLowerCase(),T]))}function c(M,b){if(Array.isArray(M)){for(let T=0;T<M.length;T+=2)if(M[T].toLocaleLowerCase()===b.toLocaleLowerCase())return M[T+1];return}else return typeof M.get=="function"?M.get(b):i(M)[b.toLocaleLowerCase()]}function n(M){const b=M.slice(),T=[];for(let J=0;J<b.length;J+=2)T.push([b[J],b[J+1]]);return Object.fromEntries(T)}function A(M,b){if(typeof M.headers=="function")return Array.isArray(b)&&(b=n(b)),M.headers(b?i(b):{});if(typeof M.headers>"u")return!0;if(typeof b!="object"||typeof M.headers!="object")return!1;for(const[T,J]of Object.entries(M.headers)){const tA=c(b,T);if(!a(J,tA))return!1}return!0}function t(M){if(typeof M!="string")return M;const b=new URLSearchParams(M),T=new URLSearchParams;for(let[J,tA]of b.entries()){if(J=J.replace("[]",""),/^(['"]).*\1$/.test(tA)){T.append(J,tA);continue}if(tA.includes(",")){const gA=tA.split(",");for(const dA of gA)T.append(J,dA);continue}T.append(J,tA)}return T}function o(M){if(typeof M!="string")return M;const b=M.split("?",3);if(b.length!==2)return M;const T=new URLSearchParams(b.pop());return T.sort(),[...b,T.toString()].join("?")}function g(M,{path:b,method:T,body:J,headers:tA}){const sA=a(M.path,b),gA=a(M.method,T),dA=typeof M.body<"u"?a(M.body,J):!0,CA=A(M,tA);return sA&&gA&&dA&&CA}function d(M){return Buffer.isBuffer(M)||M instanceof Uint8Array||M instanceof ArrayBuffer?M:typeof M=="object"?JSON.stringify(M):M?M.toString():""}function F(M,b){const T=b.query?f(b.path,b.query):b.path,J=typeof T=="string"?o(T):T,tA=C(J);let sA=M.filter(({consumed:gA})=>!gA).filter(({path:gA,ignoreTrailingSlash:dA})=>dA?a(C(o(gA)),tA):a(o(gA),J));if(sA.length===0)throw new e(`Mock dispatch not matched for path '${J}'`);if(sA=sA.filter(({method:gA})=>a(gA,b.method)),sA.length===0)throw new e(`Mock dispatch not matched for method '${b.method}' on path '${J}'`);if(sA=sA.filter(({body:gA})=>typeof gA<"u"?a(gA,b.body):!0),sA.length===0)throw new e(`Mock dispatch not matched for body '${b.body}' on path '${J}'`);if(sA=sA.filter(gA=>A(gA,b.headers)),sA.length===0){const gA=typeof b.headers=="object"?JSON.stringify(b.headers):b.headers;throw new e(`Mock dispatch not matched for headers '${gA}' on path '${J}'`)}return sA[0]}function I(M,b,T,J){const tA={timesInvoked:0,times:1,persist:!1,consumed:!1,...J},sA=typeof T=="function"?{callback:T}:{...T},gA={...tA,...b,pending:!0,data:{error:null,...sA}};return M.push(gA),gA}function s(M,b){const T=M.findIndex(J=>J.consumed?g(J,b):!1);T!==-1&&M.splice(T,1)}function C(M){for(;M.endsWith("/");)M=M.slice(0,-1);return M.length===0&&(M="/"),M}function E(M){const{path:b,method:T,body:J,headers:tA,query:sA}=M;return{path:b,method:T,body:J,headers:tA,query:sA}}function h(M){const b=Object.keys(M),T=[];for(let J=0;J<b.length;++J){const tA=b[J],sA=M[tA],gA=Buffer.from(`${tA}`);if(Array.isArray(sA))for(let dA=0;dA<sA.length;++dA)T.push(gA,Buffer.from(`${sA[dA]}`));else T.push(gA,Buffer.from(`${sA}`))}return T}function R(M){return w[M]||"unknown"}async function N(M){const b=[];for await(const T of M)b.push(T);return Buffer.concat(b).toString("utf8")}function D(M,b){const T=E(M),J=F(this[y],T);J.timesInvoked++,J.data.callback&&(J.data={...J.data,...J.data.callback(M)});const{data:{statusCode:tA,data:sA,headers:gA,trailers:dA,error:CA},delay:mA,persist:$}=J,{timesInvoked:rA,times:nA}=J;if(J.consumed=!$&&rA>=nA,J.pending=rA<nA,CA!==null)return s(this[y],T),b.onError(CA),!0;let wA=!1,kA=null;function IA(G){wA||(wA=!0,kA!==null&&(clearTimeout(kA),kA=null),b.onError(G))}b.onConnect?.(IA,null),typeof mA=="number"&&mA>0?kA=setTimeout(()=>{kA=null,TA(this[y])},mA):TA(this[y]);function TA(G,BA=sA){if(wA)return;const QA=Array.isArray(M.headers)?n(M.headers):M.headers,RA=typeof BA=="function"?BA({...M,headers:QA}):BA;if(u(RA))return RA.then(LA=>TA(G,LA));if(wA)return;const K=d(RA),FA=h(gA),OA=h(dA);b.onHeaders?.(tA,FA,SA,R(tA)),b.onData?.(Buffer.from(K)),b.onComplete?.(OA),s(G,T)}function SA(){}return!0}function p(){const M=this[B],b=this[r],T=this[S];return function(tA,sA){if(M.isMockActive)try{D.call(this,tA,sA)}catch(gA){if(gA.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){const dA=M[Q]();if(dA===!1)throw new e(`${gA.message}: subsequent request to origin ${b} was not allowed (net.connect disabled)`);if(k(dA,b))T.call(this,tA,sA);else throw new e(`${gA.message}: subsequent request to origin ${b} was not allowed (net.connect is not enabled for this origin)`)}else throw gA}else T.call(this,tA,sA)}}function k(M,b){const T=new URL(b);return M===!0?!0:!!(Array.isArray(M)&&M.some(J=>a(J,T.host)))}function m(M){return typeof M!="string"&&!(M instanceof URL)?M:M instanceof URL?M.origin:M.toLowerCase()}function H(M){const{agent:b,...T}=M;if("enableCallHistory"in T&&typeof T.enableCallHistory!="boolean")throw new l("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in T&&typeof T.acceptNonStandardSearchParameters!="boolean")throw new l("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in T&&typeof T.ignoreTrailingSlash!="boolean")throw new l("options.ignoreTrailingSlash must to be a boolean");return T}return jt={getResponseData:d,getMockDispatch:F,addMockDispatch:I,deleteMockDispatch:s,buildKey:E,generateKeyValues:h,matchValue:a,getResponse:N,getStatusText:R,mockDispatch:D,buildMockDispatch:p,checkNetConnect:k,buildAndValidateMockOptions:H,getHeaderByName:c,buildHeadersFromArray:n,normalizeSearchParams:t,normalizeOrigin:m},jt}var Ve={},Qs;function yo(){if(Qs)return Ve;Qs=1;const{getResponseData:e,buildKey:y,addMockDispatch:B}=Ke(),{kDispatches:S,kDispatchKey:r,kDefaultHeaders:Q,kDefaultTrailers:f,kContentLength:w,kMockDispatch:u,kIgnoreTrailingSlash:l}=we(),{InvalidArgumentError:a}=MA(),{serializePathWithQuery:i}=bA();class c{constructor(t){this[u]=t}delay(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new a("waitInMs must be a valid integer > 0");return this[u].delay=t,this}persist(){return this[u].persist=!0,this}times(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new a("repeatTimes must be a valid integer > 0");return this[u].times=t,this}}class n{constructor(t,o){if(typeof t!="object")throw new a("opts must be an object");if(typeof t.path>"u")throw new a("opts.path must be defined");if(typeof t.method>"u"&&(t.method="GET"),typeof t.path=="string")if(t.query)t.path=i(t.path,t.query);else{const g=new URL(t.path,"data://");t.path=g.pathname+g.search}typeof t.method=="string"&&(t.method=t.method.toUpperCase()),this[r]=y(t),this[S]=o,this[l]=t.ignoreTrailingSlash??!1,this[Q]={},this[f]={},this[w]=!1}createMockScopeDispatchData({statusCode:t,data:o,responseOptions:g}){const d=e(o),F=this[w]?{"content-length":d.length}:{},I={...this[Q],...F,...g.headers},s={...this[f],...g.trailers};return{statusCode:t,data:o,headers:I,trailers:s}}validateReplyParameters(t){if(typeof t.statusCode>"u")throw new a("statusCode must be defined");if(typeof t.responseOptions!="object"||t.responseOptions===null)throw new a("responseOptions must be an object")}reply(t){if(typeof t=="function"){const F=s=>{const C=t(s);if(typeof C!="object"||C===null)throw new a("reply options callback must return an object");const E={data:"",responseOptions:{},...C};return this.validateReplyParameters(E),{...this.createMockScopeDispatchData(E)}},I=B(this[S],this[r],F,{ignoreTrailingSlash:this[l]});return new c(I)}const o={statusCode:t,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(o);const g=this.createMockScopeDispatchData(o),d=B(this[S],this[r],g,{ignoreTrailingSlash:this[l]});return new c(d)}replyWithError(t){if(typeof t>"u")throw new a("error must be defined");const o=B(this[S],this[r],{error:t},{ignoreTrailingSlash:this[l]});return new c(o)}defaultReplyHeaders(t){if(typeof t>"u")throw new a("headers must be defined");return this[Q]=t,this}defaultReplyTrailers(t){if(typeof t>"u")throw new a("trailers must be defined");return this[f]=t,this}replyContentLength(){return this[w]=!0,this}}return Ve.MockInterceptor=n,Ve.MockScope=c,Ve}var $t,cs;function Do(){if(cs)return $t;cs=1;const{promisify:e}=AA,y=Ce(),{buildMockDispatch:B}=Ke(),{kDispatches:S,kMockAgent:r,kClose:Q,kOriginalClose:f,kOrigin:w,kOriginalDispatch:u,kConnected:l,kIgnoreTrailingSlash:a}=we(),{MockInterceptor:i}=yo(),c=vA(),{InvalidArgumentError:n}=MA();class A extends y{constructor(o,g){if(!g||!g.agent||typeof g.agent.dispatch!="function")throw new n("Argument opts.agent must implement Agent");super(o,g),this[r]=g.agent,this[w]=o,this[a]=g.ignoreTrailingSlash??!1,this[S]=[],this[l]=1,this[u]=this.dispatch,this[f]=this.close.bind(this),this.dispatch=B.call(this),this.close=this[Q]}get[c.kConnected](){return this[l]}intercept(o){return new i(o&&{ignoreTrailingSlash:this[a],...o},this[S])}cleanMocks(){this[S]=[]}async[Q](){await e(this[f])(),this[l]=0,this[r][c.kClients].delete(this[w])}}return $t=A,$t}var ve={},Bs;function wo(){if(Bs)return ve;Bs=1;const{kMockCallHistoryAddLog:e}=we(),{InvalidArgumentError:y}=MA();function B(u,l,a,i){switch(l.operator){case"OR":return i.push(...a(u)),i;case"AND":return a.call({logs:i},u);default:throw new y("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function S(u={}){const l={};if("operator"in u){if(typeof u.operator!="string"||u.operator.toUpperCase()!=="OR"&&u.operator.toUpperCase()!=="AND")throw new y("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...l,operator:u.operator.toUpperCase()}}return l}function r(u){return l=>{if(typeof l=="string"||l==null)return this.logs.filter(a=>a[u]===l);if(l instanceof RegExp)return this.logs.filter(a=>l.test(a[u]));throw new y(`${u} parameter should be one of string, regexp, undefined or null`)}}function Q(u){try{const l=new URL(u.path,u.origin);return l.search.length!==0||(l.search=new URLSearchParams(u.query).toString()),l}catch(l){throw new y("An error occurred when computing MockCallHistoryLog.url",{cause:l})}}class f{constructor(l={}){this.body=l.body,this.headers=l.headers,this.method=l.method;const a=Q(l);this.fullUrl=a.toString(),this.origin=a.origin,this.path=a.pathname,this.searchParams=Object.fromEntries(a.searchParams),this.protocol=a.protocol,this.host=a.host,this.port=a.port,this.hash=a.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){const l={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"};let a="";return this.toMap().forEach((i,c)=>{(typeof i=="string"||i===void 0||i===null)&&(a=`${a}${c}${l.betweenKeyValueSeparator}${i}${l.betweenPairSeparator}`),(typeof i=="object"&&i!==null||Array.isArray(i))&&(a=`${a}${c}${l.betweenKeyValueSeparator}${JSON.stringify(i)}${l.betweenPairSeparator}`)}),a.slice(0,-1)}}class w{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(l){if(typeof l!="number")throw new y("nthCall must be called with a number");if(!Number.isInteger(l))throw new y("nthCall must be called with an integer");if(Math.sign(l)!==1)throw new y("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(l-1)}filterCalls(l,a){if(this.logs.length===0)return this.logs;if(typeof l=="function")return this.logs.filter(l);if(l instanceof RegExp)return this.logs.filter(i=>l.test(i.toString()));if(typeof l=="object"&&l!==null){if(Object.keys(l).length===0)return this.logs;const i={operator:"OR",...S(a)};let c=[];return"protocol"in l&&(c=B(l.protocol,i,this.filterCallsByProtocol,c)),"host"in l&&(c=B(l.host,i,this.filterCallsByHost,c)),"port"in l&&(c=B(l.port,i,this.filterCallsByPort,c)),"origin"in l&&(c=B(l.origin,i,this.filterCallsByOrigin,c)),"path"in l&&(c=B(l.path,i,this.filterCallsByPath,c)),"hash"in l&&(c=B(l.hash,i,this.filterCallsByHash,c)),"fullUrl"in l&&(c=B(l.fullUrl,i,this.filterCallsByFullUrl,c)),"method"in l&&(c=B(l.method,i,this.filterCallsByMethod,c)),[...new Set(c)]}throw new y("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=r.call(this,"protocol");filterCallsByHost=r.call(this,"host");filterCallsByPort=r.call(this,"port");filterCallsByOrigin=r.call(this,"origin");filterCallsByPath=r.call(this,"path");filterCallsByHash=r.call(this,"hash");filterCallsByFullUrl=r.call(this,"fullUrl");filterCallsByMethod=r.call(this,"method");clear(){this.logs=[]}[e](l){const a=new f(l);return this.logs.push(a),a}*[Symbol.iterator](){for(const l of this.calls())yield l}}return ve.MockCallHistory=w,ve.MockCallHistoryLog=f,ve}var Ar,Is;function So(){if(Is)return Ar;Is=1;const{promisify:e}=AA,y=ye(),{buildMockDispatch:B}=Ke(),{kDispatches:S,kMockAgent:r,kClose:Q,kOriginalClose:f,kOrigin:w,kOriginalDispatch:u,kConnected:l,kIgnoreTrailingSlash:a}=we(),{MockInterceptor:i}=yo(),c=vA(),{InvalidArgumentError:n}=MA();class A extends y{constructor(o,g){if(!g||!g.agent||typeof g.agent.dispatch!="function")throw new n("Argument opts.agent must implement Agent");super(o,g),this[r]=g.agent,this[w]=o,this[a]=g.ignoreTrailingSlash??!1,this[S]=[],this[l]=1,this[u]=this.dispatch,this[f]=this.close.bind(this),this.dispatch=B.call(this),this.close=this[Q]}get[c.kConnected](){return this[l]}intercept(o){return new i(o&&{ignoreTrailingSlash:this[a],...o},this[S])}cleanMocks(){this[S]=[]}async[Q](){await e(this[f])(),this[l]=0,this[r][c.kClients].delete(this[w])}}return Ar=A,Ar}var er,ls;function oi(){if(ls)return er;ls=1;var e={};const{Transform:y}=AA,{Console:B}=AA,S=process.versions.icu?"✅":"Y ",r=process.versions.icu?"❌":"N ";return er=class{constructor({disableColors:f}={}){this.transform=new y({transform(w,u,l){l(null,w)}}),this.logger=new B({stdout:this.transform,inspectOptions:{colors:!f&&!e.CI}})}format(f){const w=f.map(({method:u,path:l,data:{statusCode:a},persist:i,times:c,timesInvoked:n,origin:A})=>({Method:u,Origin:A,Path:l,"Status code":a,Persistent:i?S:r,Invocations:n,Remaining:i?1/0:c-n}));return this.logger.table(w),this.transform.read().toString()}},er}var tr,Cs;function Ro(){if(Cs)return tr;Cs=1;const{kClients:e}=vA(),y=De(),{kAgent:B,kMockAgentSet:S,kMockAgentGet:r,kDispatches:Q,kIsMockActive:f,kNetConnect:w,kGetNetConnect:u,kOptions:l,kFactory:a,kMockAgentRegisterCallHistory:i,kMockAgentIsCallHistoryEnabled:c,kMockAgentAddCallHistoryLog:n,kMockAgentMockCallHistoryInstance:A,kMockAgentAcceptsNonStandardSearchParameters:t,kMockCallHistoryAddLog:o,kIgnoreTrailingSlash:g}=we(),d=Do(),F=So(),{matchValue:I,normalizeSearchParams:s,buildAndValidateMockOptions:C,normalizeOrigin:E}=Ke(),{InvalidArgumentError:h,UndiciError:R}=MA(),N=Pe(),D=oi(),{MockCallHistory:p}=wo();class k extends N{constructor(H={}){super(H);const M=C(H);if(this[w]=!0,this[f]=!0,this[c]=M.enableCallHistory??!1,this[t]=M.acceptNonStandardSearchParameters??!1,this[g]=M.ignoreTrailingSlash??!1,H?.agent&&typeof H.agent.dispatch!="function")throw new h("Argument opts.agent must implement Agent");const b=H?.agent?H.agent:new y(H);this[B]=b,this[e]=b[e],this[l]=M,this[c]&&this[i]()}get(H){const M=E(H),b=this[g]?M.replace(/\/$/,""):M;let T=this[r](b);return T||(T=this[a](b),this[S](b,T)),T}dispatch(H,M){H.origin=E(H.origin),this.get(H.origin),this[n](H);const b=this[t],T={...H};if(b&&T.path){const[J,tA]=T.path.split("?"),sA=s(tA,b);T.path=`${J}?${sA}`}return this[B].dispatch(T,M)}async close(){this.clearCallHistory(),await this[B].close(),this[e].clear()}deactivate(){this[f]=!1}activate(){this[f]=!0}enableNetConnect(H){if(typeof H=="string"||typeof H=="function"||H instanceof RegExp)Array.isArray(this[w])?this[w].push(H):this[w]=[H];else if(typeof H>"u")this[w]=!0;else throw new h("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[w]=!1}enableCallHistory(){return this[c]=!0,this}disableCallHistory(){return this[c]=!1,this}getCallHistory(){return this[A]}clearCallHistory(){this[A]!==void 0&&this[A].clear()}get isMockActive(){return this[f]}[i](){this[A]===void 0&&(this[A]=new p)}[n](H){this[c]&&(this[i](),this[A][o](H))}[S](H,M){this[e].set(H,{count:0,dispatcher:M})}[a](H){const M=Object.assign({agent:this},this[l]);return this[l]&&this[l].connections===1?new d(H,M):new F(H,M)}[r](H){const M=this[e].get(H);if(M?.dispatcher)return M.dispatcher;if(typeof H!="string"){const b=this[a]("http://localhost:9999");return this[S](H,b),b}for(const[b,T]of Array.from(this[e]))if(T&&typeof b!="string"&&I(b,H)){const J=this[a](H);return this[S](H,J),J[Q]=T.dispatcher[Q],J}}[u](){return this[w]}pendingInterceptors(){const H=this[e];return Array.from(H.entries()).flatMap(([M,b])=>b.dispatcher[Q].map(T=>({...T,origin:M}))).filter(({pending:M})=>M)}assertNoPendingInterceptors({pendingInterceptorsFormatter:H=new D}={}){const M=this.pendingInterceptors();if(M.length!==0)throw new R(M.length===1?`1 interceptor is pending:
|
|
41
|
+
|
|
42
|
+
${H.format(M)}`.trim():`${M.length} interceptors are pending:
|
|
43
|
+
|
|
44
|
+
${H.format(M)}`.trim())}}return tr=k,tr}var rr,hs;function No(){if(hs)return rr;hs=1;const{InvalidArgumentError:e}=MA(),{runtimeFeatures:y}=ce();function B(a={}){const{ignoreHeaders:i=[],excludeHeaders:c=[],matchHeaders:n=[],caseSensitive:A=!1}=a;return{ignore:new Set(i.map(t=>A?t:t.toLowerCase())),exclude:new Set(c.map(t=>A?t:t.toLowerCase())),match:new Set(n.map(t=>A?t:t.toLowerCase()))}}const S=y.has("crypto")?AA:null,r=S?.hash?a=>S.hash("sha256",a,"base64url"):a=>Buffer.from(a).toString("base64url");function Q(a){return Array.isArray(a)&&(a.length&1)===0}function f(a=[]){return a.length===0?()=>!1:function(c){let n;for(const A of a)if(typeof A=="string"){if(n||(n=c.toLowerCase()),n.includes(A.toLowerCase()))return!0}else if(A instanceof RegExp&&A.test(c))return!0;return!1}}function w(a){const i={};if(!a)return i;if(Q(a)){for(let c=0;c<a.length;c+=2){const n=a[c],A=a[c+1];if(n&&A!==void 0){const t=Buffer.isBuffer(n)?n.toString():n,o=Buffer.isBuffer(A)?A.toString():A;i[t.toLowerCase()]=o}}return i}if(a&&typeof a=="object")for(const[c,n]of Object.entries(a))c&&typeof c=="string"&&(i[c.toLowerCase()]=Array.isArray(n)?n.join(", "):String(n));return i}const u=["record","playback","update"];function l(a){if(!u.includes(a))throw new e(`Invalid snapshot mode: ${a}. Must be one of: ${u.join(", ")}`)}return rr={createHeaderFilters:B,hashId:r,isUndiciHeaders:Q,normalizeHeaders:w,isUrlExcludedFactory:f,validateSnapshotMode:l},rr}var nr,us;function ii(){if(us)return nr;us=1;const{writeFile:e,readFile:y,mkdir:B}=AA,{dirname:S,resolve:r}=AA,{setTimeout:Q,clearTimeout:f}=AA,{InvalidArgumentError:w,UndiciError:u}=MA(),{hashId:l,isUrlExcludedFactory:a,normalizeHeaders:i,createHeaderFilters:c}=No();function n(d,F,I={}){const s=new URL(d.path,d.origin),C=d._normalizedHeaders||i(d.headers);return d._normalizedHeaders||(d._normalizedHeaders=C),{method:d.method||"GET",url:I.matchQuery!==!1?s.toString():`${s.origin}${s.pathname}`,headers:A(C,F,I),body:I.matchBody!==!1&&d.body?String(d.body):""}}function A(d,F,I={}){if(!d||typeof d!="object")return{};const{caseSensitive:s=!1}=I,C={},{ignore:E,exclude:h,match:R}=F;for(const[N,D]of Object.entries(d)){const p=s?N:N.toLowerCase();h.has(p)||E.has(p)||R.size!==0&&!R.has(p)||(C[p]=D)}return C}function t(d,F,I={}){if(!d||typeof d!="object")return{};const{caseSensitive:s=!1}=I,C={},{exclude:E}=F;for(const[h,R]of Object.entries(d)){const N=s?h:h.toLowerCase();E.has(N)||(C[N]=R)}return C}function o(d){const F=[d.method,d.url];if(d.headers&&typeof d.headers=="object"){const s=Object.keys(d.headers).sort();for(const C of s){const E=Array.isArray(d.headers[C])?d.headers[C]:[d.headers[C]];F.push(C);for(const h of E.sort())F.push(String(h))}}F.push(d.body);const I=F.join("|");return l(I)}class g{#A;#e;#t=new Map;#r;#s=1/0;#n=!1;#a;constructor(F={}){this.#r=F.snapshotPath,this.#s=F.maxSnapshots||1/0,this.#n=F.autoFlush||!1,this.flushInterval=F.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:F.matchHeaders||[],ignoreHeaders:F.ignoreHeaders||[],excludeHeaders:F.excludeHeaders||[],matchBody:F.matchBody!==!1,matchQuery:F.matchQuery!==!1,caseSensitive:F.caseSensitive||!1},this.#a=c(this.matchOptions),this.shouldRecord=F.shouldRecord||(()=>!0),this.shouldPlayback=F.shouldPlayback||(()=>!0),this.#e=a(F.excludeUrls),this.#n&&this.#r&&this.#o()}async record(F,I){if(!this.shouldRecord(F)||this.isUrlExcluded(F))return;const s=n(F,this.#a,this.matchOptions),C=o(s),E=i(I.headers),h={statusCode:I.statusCode,headers:t(E,this.#a,this.matchOptions),body:Buffer.isBuffer(I.body)?I.body.toString("base64"):Buffer.from(String(I.body||"")).toString("base64"),trailers:I.trailers};if(this.#t.size>=this.#s&&!this.#t.has(C)){const N=this.#t.keys().next().value;this.#t.delete(N)}const R=this.#t.get(C);R&&R.responses?(R.responses.push(h),R.timestamp=new Date().toISOString()):this.#t.set(C,{request:s,responses:[h],callCount:0,timestamp:new Date().toISOString()}),this.#n&&this.#r&&this.#g()}isUrlExcluded(F){const I=new URL(F.path,F.origin).toString();return this.#e(I)}findSnapshot(F){if(!this.shouldPlayback(F)||this.isUrlExcluded(F))return;const I=n(F,this.#a,this.matchOptions),s=o(I),C=this.#t.get(s);if(!C)return;const E=C.callCount||0,h=Math.min(E,C.responses.length-1);return C.callCount=E+1,{...C,response:C.responses[h]}}async loadSnapshots(F){const I=F||this.#r;if(!I)throw new w("Snapshot path is required");try{const s=await y(r(I),"utf8"),C=JSON.parse(s);if(Array.isArray(C)){this.#t.clear();for(const{hash:E,snapshot:h}of C)this.#t.set(E,h)}else this.#t=new Map(Object.entries(C))}catch(s){if(s.code==="ENOENT")this.#t.clear();else throw new u(`Failed to load snapshots from ${I}`,{cause:s})}}async saveSnapshots(F){const I=F||this.#r;if(!I)throw new w("Snapshot path is required");const s=r(I);await B(S(s),{recursive:!0});const C=Array.from(this.#t.entries()).map(([E,h])=>({hash:E,snapshot:h}));await e(s,JSON.stringify(C,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(const F of this.#t.values())F.callCount=0}deleteSnapshot(F){const I=n(F,this.#a,this.matchOptions),s=o(I);return this.#t.delete(s)}getSnapshotInfo(F){const I=n(F,this.#a,this.matchOptions),s=o(I),C=this.#t.get(s);return C?{hash:s,request:C.request,responseCount:C.responses?C.responses.length:C.response?1:0,callCount:C.callCount||0,timestamp:C.timestamp}:null}replaceSnapshots(F){if(this.#t.clear(),Array.isArray(F))for(const{hash:I,snapshot:s}of F)this.#t.set(I,s);else F&&typeof F=="object"&&(this.#t=new Map(Object.entries(F)))}#o(){return this.#g()}#i(){this.#A&&(f(this.#A),this.saveSnapshots().catch(()=>{}),this.#A=null)}#g(){this.#A=Q(()=>{this.saveSnapshots().catch(()=>{}),this.#n?this.#A?.refresh():this.#A=null},1e3)}destroy(){this.#i(),this.#A&&(f(this.#A),this.#A=null)}async close(){this.#r&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}}return nr={SnapshotRecorder:g,formatRequestKey:n,createRequestHash:o,filterHeadersForMatching:A,filterHeadersForStorage:t,createHeaderFilters:c},nr}var sr,fs;function ai(){if(fs)return sr;fs=1;const e=De(),y=Ro(),{SnapshotRecorder:B}=ii(),S=We(),{InvalidArgumentError:r,UndiciError:Q}=MA(),{validateSnapshotMode:f}=No(),w=Symbol("kSnapshotRecorder"),u=Symbol("kSnapshotMode"),l=Symbol("kSnapshotPath"),a=Symbol("kSnapshotLoaded"),i=Symbol("kRealAgent");let c=!1;class n extends y{constructor(t={}){c||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),c=!0);const{mode:o="record",snapshotPath:g=null,...d}=t;if(super(d),f(o),(o==="playback"||o==="update")&&!g)throw new r(`snapshotPath is required when mode is '${o}'`);this[u]=o,this[l]=g,this[w]=new B({snapshotPath:this[l],mode:this[u],maxSnapshots:t.maxSnapshots,autoFlush:t.autoFlush,flushInterval:t.flushInterval,matchHeaders:t.matchHeaders,ignoreHeaders:t.ignoreHeaders,excludeHeaders:t.excludeHeaders,matchBody:t.matchBody,matchQuery:t.matchQuery,caseSensitive:t.caseSensitive,shouldRecord:t.shouldRecord,shouldPlayback:t.shouldPlayback,excludeUrls:t.excludeUrls}),this[a]=!1,(this[u]==="record"||this[u]==="update"||this[u]==="playback"&&t.excludeUrls&&t.excludeUrls.length>0)&&(this[i]=new e(t)),(this[u]==="playback"||this[u]==="update")&&this[l]&&this.loadSnapshots().catch(()=>{})}dispatch(t,o){o=S.wrap(o);const g=this[u];if(this[w].isUrlExcluded(t))return this[i].dispatch(t,o);if(g==="playback"||g==="update"){if(!this[a])return this.#A(t,o);const d=this[w].findSnapshot(t);if(d)return this.#t(d,o);if(g==="update")return this.#e(t,o);{const F=new Q(`No snapshot found for ${t.method||"GET"} ${t.path}`);if(o.onError){o.onError(F);return}throw F}}else if(g==="record")return this.#e(t,o)}async#A(t,o){return await this.loadSnapshots(),this.dispatch(t,o)}#e(t,o){const g={statusCode:null,headers:{},trailers:{},body:[]},d=this,F={onRequestStart(s,C){return o.onRequestStart(s,{...C,history:this.history})},onRequestUpgrade(s,C,E,h){return o.onRequestUpgrade(s,C,E,h)},onResponseStart(s,C,E,h){return g.statusCode=C,g.headers=E,o.onResponseStart(s,C,E,h)},onResponseData(s,C){return g.body.push(C),o.onResponseData(s,C)},onResponseEnd(s,C){g.trailers=C;const E=Buffer.concat(g.body);d[w].record(t,{statusCode:g.statusCode,headers:g.headers,body:E,trailers:g.trailers}).then(()=>o.onResponseEnd(s,C)).catch(h=>o.onResponseError(s,h))}};return this[i].dispatch(t,F)}#t(t,o){try{const{response:g}=t,d={pause(){},resume(){},abort(I){this.aborted=!0,this.reason=I},aborted:!1,paused:!1};o.onRequestStart(d),o.onResponseStart(d,g.statusCode,g.headers);const F=Buffer.from(g.body,"base64");o.onResponseData(d,F),o.onResponseEnd(d,g.trailers)}catch(g){o.onError?.(g)}}async loadSnapshots(t){await this[w].loadSnapshots(t||this[l]),this[a]=!0,this[u]==="playback"&&this.#r()}async saveSnapshots(t){return this[w].saveSnapshots(t||this[l])}#r(){for(const t of this[w].getSnapshots()){const{request:o,responses:g,response:d}=t,F=new URL(o.url),I=this.get(F.origin),s=g?g[0]:d;s&&I.intercept({path:F.pathname+F.search,method:o.method,headers:o.headers,body:o.body}).reply(s.statusCode,s.body,{headers:s.headers,trailers:s.trailers}).persist()}}getRecorder(){return this[w]}getMode(){return this[u]}clearSnapshots(){this[w].clear()}resetCallCounts(){this[w].resetCallCounts()}deleteSnapshot(t){return this[w].deleteSnapshot(t)}getSnapshotInfo(t){return this[w].getSnapshotInfo(t)}replaceSnapshots(t){this[w].replaceSnapshots(t)}async close(){await this[w].close(),await this[i]?.close(),await super.close()}}return sr=n,sr}var or,ds;function An(){if(ds)return or;ds=1;const e=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:y}=MA(),B=De();r()===void 0&&S(new B);function S(f){if(!f||typeof f.dispatch!="function")throw new y("Argument agent must implement Agent");Object.defineProperty(globalThis,e,{value:f,writable:!0,enumerable:!1,configurable:!1})}function r(){return globalThis[e]}return or={setGlobalDispatcher:S,getGlobalDispatcher:r,installedExports:["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"]},or}var ir,ys;function me(){if(ys)return ir;ys=1;const e=AA,y=We();return ir=class{#A;#e=!1;#t=!1;#r=!1;constructor(S){if(typeof S!="object"||S===null)throw new TypeError("handler must be an object");this.#A=y.wrap(S)}onRequestStart(...S){this.#A.onRequestStart?.(...S)}onRequestUpgrade(...S){return e(!this.#e),e(!this.#t),this.#A.onRequestUpgrade?.(...S)}onResponseStart(...S){return e(!this.#e),e(!this.#t),e(!this.#r),this.#r=!0,this.#A.onResponseStart?.(...S)}onResponseData(...S){return e(!this.#e),e(!this.#t),this.#A.onResponseData?.(...S)}onResponseEnd(...S){return e(!this.#e),e(!this.#t),this.#e=!0,this.#A.onResponseEnd?.(...S)}onResponseError(...S){return this.#t=!0,this.#A.onResponseError?.(...S)}onBodySent(){}},ir}var ar,Ds;function po(){if(Ds)return ar;Ds=1;const e=bA(),{kBodyUsed:y}=vA(),B=AA,{InvalidArgumentError:S}=MA(),r=AA,Q=[300,301,302,303,307,308],f=Symbol("body"),w=()=>{};class u{constructor(n){this[f]=n,this[y]=!1}async*[Symbol.asyncIterator](){B(!this[y],"disturbed"),this[y]=!0,yield*this[f]}}class l{static buildDispatch(n,A){if(A!=null&&(!Number.isInteger(A)||A<0))throw new S("maxRedirections must be a positive number");const t=n.dispatch.bind(n);return(o,g)=>t(o,new l(t,A,o,g))}constructor(n,A,t,o){if(A!=null&&(!Number.isInteger(A)||A<0))throw new S("maxRedirections must be a positive number");this.dispatch=n,this.location=null;const{maxRedirections:g,...d}=t;this.opts=d,this.maxRedirections=A,this.handler=o,this.history=[],e.isStream(this.opts.body)?(e.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){B(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[y]=!1,r.prototype.on.call(this.opts.body,"data",function(){this[y]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new u(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&e.isIterable(this.opts.body)&&!e.isFormDataLike(this.opts.body)&&(this.opts.body=new u(this.opts.body))}onRequestStart(n,A){this.handler.onRequestStart?.(n,{...A,history:this.history})}onRequestUpgrade(n,A,t,o){this.handler.onRequestUpgrade?.(n,A,t,o)}onResponseStart(n,A,t,o){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((A===301||A===302)&&this.opts.method==="POST"&&(this.opts.method="GET",e.isStream(this.opts.body)&&e.destroy(this.opts.body.on("error",w)),this.opts.body=null),A===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",e.isStream(this.opts.body)&&e.destroy(this.opts.body.on("error",w)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||e.isDisturbed(this.opts.body)||Q.indexOf(A)===-1?null:t.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(n,A,t,o);return}const{origin:g,pathname:d,search:F}=e.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),I=F?`${d}${F}`:d,s=`${g}${I}`;for(const C of this.history)if(C.toString()===s)throw new S(`Redirect loop detected. Cannot redirect to ${g}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=i(this.opts.headers,A===303,this.opts.origin!==g),this.opts.path=I,this.opts.origin=g,this.opts.query=null}onResponseData(n,A){this.location||this.handler.onResponseData?.(n,A)}onResponseEnd(n,A){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(n,A)}onResponseError(n,A){this.handler.onResponseError?.(n,A)}}function a(c,n,A){if(c.length===4)return e.headerNameToString(c)==="host";if(n&&e.headerNameToString(c).startsWith("content-"))return!0;if(A&&(c.length===13||c.length===6||c.length===19)){const t=e.headerNameToString(c);return t==="authorization"||t==="cookie"||t==="proxy-authorization"}return!1}function i(c,n,A){const t=[];if(Array.isArray(c))for(let o=0;o<c.length;o+=2)a(c[o],n,A)||t.push(c[o],c[o+1]);else if(c&&typeof c=="object"){const o=e.hasSafeIterator(c)?c:Object.entries(c);for(const[g,d]of o)a(g,n,A)||t.push(g,d)}else B(c==null,"headers must be an object or an array");return t}return ar=l,ar}var gr,ws;function gi(){if(ws)return gr;ws=1;const e=po();function y({maxRedirections:B}={}){return S=>function(Q,f){const{maxRedirections:w=B,...u}=Q;if(w==null||w===0)return S(Q,f);const l={...u},a=new e(S,w,l,f);return S(l,a)}}return gr=y,gr}var Er,Ss;function Ei(){if(Ss)return Er;Ss=1;const e=me(),{ResponseError:y}=MA();class B extends e{#A;#e;#t;#r;#s;constructor(r,{handler:Q}){super(Q)}#n(r){return(this.#e??"").indexOf(r)===0}onRequestStart(r,Q){return this.#A=0,this.#e=null,this.#t=null,this.#r=null,this.#s="",super.onRequestStart(r,Q)}onResponseStart(r,Q,f,w){if(this.#A=Q,this.#r=f,this.#e=f["content-type"],this.#A<400)return super.onResponseStart(r,Q,f,w);(this.#n("application/json")||this.#n("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(r,Q){if(this.#A<400)return super.onResponseData(r,Q);this.#s+=this.#t?.decode(Q,{stream:!0})??""}onResponseEnd(r,Q){if(this.#A>=400){if(this.#s+=this.#t?.decode(void 0,{stream:!1})??"",this.#n("application/json"))try{this.#s=JSON.parse(this.#s)}catch{}let f;const w=Error.stackTraceLimit;Error.stackTraceLimit=0;try{f=new y("Response Error",this.#A,{body:this.#s,headers:this.#r})}finally{Error.stackTraceLimit=w}super.onResponseError(r,f)}else super.onResponseEnd(r,Q)}onResponseError(r,Q){super.onResponseError(r,Q)}}return Er=()=>S=>function(Q,f){return S(Q,new B(Q,{handler:f}))},Er}var Qr,Rs;function Qi(){if(Rs)return Qr;Rs=1;const e=$r();return Qr=y=>B=>function(r,Q){return B(r,new e({...r,retryOptions:{...y,...r.retryOptions}},{handler:Q,dispatch:B}))},Qr}var cr,Ns;function ci(){if(Ns)return cr;Ns=1;const{InvalidArgumentError:e,RequestAbortedError:y}=MA(),B=me();class S extends B{#A=1024*1024;#e=!1;#t=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:f,signal:w},u){if(f!=null&&(!Number.isFinite(f)||f<1))throw new e("maxSize must be a number greater than 0");super(u),this.#A=f??this.#A}#s(f){this.aborted=!0,this.reason=f}onRequestStart(f,w){return f.abort=this.#s.bind(this),this.#r=f,super.onRequestStart(f,w)}onResponseStart(f,w,u,l){const a=u["content-length"];if(a!=null&&a>this.#A)throw new y(`Response size (${a}) larger than maxSize (${this.#A})`);return this.aborted===!0?!0:super.onResponseStart(f,w,u,l)}onResponseError(f,w){this.#e||(w=this.#r?.reason??w,super.onResponseError(f,w))}onResponseData(f,w){return this.#t=this.#t+w.length,this.#t>=this.#A&&(this.#e=!0,this.aborted===!0?super.onResponseError(f,this.reason):super.onResponseEnd(f,{})),!0}onResponseEnd(f,w){if(!this.#e){if(this.#r.aborted===!0){super.onResponseError(f,this.reason);return}super.onResponseEnd(f,w)}}}function r({maxSize:Q}={maxSize:1024*1024}){return f=>function(u,l){const{dumpMaxSize:a=Q}=u,i=new S({maxSize:a,signal:u.signal},l);return f(u,i)}}return cr=r,cr}var Br,ps;function Bi(){if(ps)return Br;ps=1;const{isIP:e}=AA,{lookup:y}=AA,B=me(),{InvalidArgumentError:S,InformationalError:r}=MA(),Q=Math.pow(2,31)-1;function f(A){const t=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||t!=null&&t!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function w(A){return typeof A=="string"&&A.toLowerCase()==="host"}function u(A){if(A==null)return null;if(Array.isArray(A)){if(A.length===0||!Array.isArray(A[0]))return A;const t=[];for(const o of A)Array.isArray(o)&&o.length===2?t.push(o[0],o[1]):t.push(o);return t}if(typeof A=="object"&&f(A)){const t=[];for(const o of A)Array.isArray(o)&&o.length===2?t.push(o[0],o[1]):t.push(o);return t}return A}function l(A){if(A==null)return!1;if(Array.isArray(A)){if(A.length===0)return!1;for(let t=0;t<A.length;t+=2)if(w(A[t]))return!0;return!1}if(typeof A=="object"){for(const t in A)if(w(t))return!0}return!1}function a(A,t){const o=u(t);return l(o)?o:Array.isArray(o)?["host",A,...o]:o&&typeof o=="object"?{host:A,...o}:{host:A}}class i{#A=0;#e=new Map;constructor(t){this.#A=t.maxItems}get size(){return this.#e.size}get(t){return this.#e.get(t)??null}set(t,o){this.#e.set(t,o)}delete(t){this.#e.delete(t)}full(){return this.size>=this.#A}}class c{#A=0;#e=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(t){this.#A=t.maxTTL,this.#e=t.maxItems,this.dualStack=t.dualStack,this.affinity=t.affinity,this.lookup=t.lookup??this.#t,this.pick=t.pick??this.#r,this.storage=t.storage??new i(t)}runLookup(t,o,g){const d=this.storage.get(t.hostname);if(d==null&&this.storage.full()){g(null,t);return}const F={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...o.dns,maxTTL:this.#A,maxItems:this.#e};if(d==null)this.lookup(t,F,(I,s)=>{if(I||s==null||s.length===0){g(I??new r("No DNS entries found"));return}this.setRecords(t,s);const C=this.storage.get(t.hostname),E=this.pick(t,C,F.affinity);let h;typeof E.port=="number"?h=`:${E.port}`:t.port!==""?h=`:${t.port}`:h="",g(null,new URL(`${t.protocol}//${E.family===6?`[${E.address}]`:E.address}${h}`))});else{const I=this.pick(t,d,F.affinity);if(I==null){this.storage.delete(t.hostname),this.runLookup(t,o,g);return}let s;typeof I.port=="number"?s=`:${I.port}`:t.port!==""?s=`:${t.port}`:s="",g(null,new URL(`${t.protocol}//${I.family===6?`[${I.address}]`:I.address}${s}`))}}#t(t,o,g){y(t.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(d,F)=>{if(d)return g(d);const I=new Map;for(const s of F)I.set(`${s.address}:${s.family}`,s);g(null,I.values())})}#r(t,o,g){let d=null;const{records:F,offset:I}=o;let s;if(this.dualStack?(g==null&&(I==null||I===Q?(o.offset=0,g=4):(o.offset++,g=(o.offset&1)===1?6:4)),F[g]!=null&&F[g].ips.length>0?s=F[g]:s=F[g===4?6:4]):s=F[g],s==null||s.ips.length===0)return d;s.offset==null||s.offset===Q?s.offset=0:s.offset++;const C=s.offset%s.ips.length;return d=s.ips[C]??null,d==null?d:Date.now()-d.timestamp>d.ttl?(s.ips.splice(C,1),this.pick(t,o,g)):d}pickFamily(t,o){const g=this.storage.get(t.hostname)?.records;if(!g)return null;const d=g[o];if(!d)return null;d.offset==null||d.offset===Q?d.offset=0:d.offset++;const F=d.offset%d.ips.length,I=d.ips[F]??null;return I==null||Date.now()-I.timestamp>I.ttl&&d.ips.splice(F,1),I}setRecords(t,o){const g=Date.now(),d={records:{4:null,6:null}};let F=this.#A;for(const I of o){I.timestamp=g,typeof I.ttl=="number"?(I.ttl=Math.min(I.ttl,this.#A),F=Math.min(F,I.ttl)):I.ttl=this.#A;const s=d.records[I.family]??{ips:[]};s.ips.push(I),d.records[I.family]=s}this.storage.set(t.hostname,d,{ttl:F})}deleteRecords(t){this.storage.delete(t.hostname)}getHandler(t,o){return new n(this,t,o)}}class n extends B{#A=null;#e=null;#t=null;#r=null;#s=null;#n=null;#a=!0;constructor(t,{origin:o,handler:g,dispatch:d,newOrigin:F},I){super(g),this.#r=o,this.#n=F,this.#e={...I},this.#A=t,this.#t=d}onResponseError(t,o){switch(o.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#A.dualStack){if(!this.#a){super.onResponseError(t,o);return}this.#a=!1;const g=this.#n.hostname[0]==="["?4:6,d=this.#A.pickFamily(this.#r,g);if(d==null){super.onResponseError(t,o);return}let F;typeof d.port=="number"?F=`:${d.port}`:this.#r.port!==""?F=`:${this.#r.port}`:F="";const I={...this.#e,origin:`${this.#r.protocol}//${d.family===6?`[${d.address}]`:d.address}${F}`,headers:a(this.#r.host,this.#e.headers)};this.#t(I,this);return}super.onResponseError(t,o);break}case"ENOTFOUND":this.#A.deleteRecords(this.#r),super.onResponseError(t,o);break;default:super.onResponseError(t,o);break}}}return Br=A=>{if(A?.maxTTL!=null&&(typeof A?.maxTTL!="number"||A?.maxTTL<0))throw new S("Invalid maxTTL. Must be a positive number");if(A?.maxItems!=null&&(typeof A?.maxItems!="number"||A?.maxItems<1))throw new S("Invalid maxItems. Must be a positive number and greater than zero");if(A?.affinity!=null&&A?.affinity!==4&&A?.affinity!==6)throw new S("Invalid affinity. Must be either 4 or 6");if(A?.dualStack!=null&&typeof A?.dualStack!="boolean")throw new S("Invalid dualStack. Must be a boolean");if(A?.lookup!=null&&typeof A?.lookup!="function")throw new S("Invalid lookup. Must be a function");if(A?.pick!=null&&typeof A?.pick!="function")throw new S("Invalid pick. Must be a function");if(A?.storage!=null&&(typeof A?.storage?.get!="function"||typeof A?.storage?.set!="function"||typeof A?.storage?.full!="function"||typeof A?.storage?.delete!="function"))throw new S("Invalid storage. Must be a object with methods: { get, set, full, delete }");const t=A?.dualStack??!0;let o;t?o=A?.affinity??null:o=A?.affinity??4;const g={maxTTL:A?.maxTTL??1e4,lookup:A?.lookup??null,pick:A?.pick??null,dualStack:t,affinity:o,maxItems:A?.maxItems??1/0,storage:A?.storage},d=new c(g);return F=>function(s,C){const E=s.origin.constructor===URL?s.origin:new URL(s.origin);return e(E.hostname)!==0?F(s,C):(d.runLookup(E,s,(h,R)=>{if(h)return C.onResponseError(null,h);const N={...s,servername:E.hostname,origin:R.origin,headers:a(E.host,s.headers)};F(N,d.getHandler({origin:E,dispatch:F,handler:C,newOrigin:R},s))}),!0)}},Br}var Ir,Fs;function Me(){if(Fs)return Ir;Fs=1;const{safeHTTPMethods:e,pathHasQueryOrFragment:y,hasSafeIterator:B}=bA(),{serializePathWithQuery:S}=bA();function r(A){if(!A.origin)throw new Error("opts.origin is undefined");let t=A.path||"/";return A.query&&!y(A.path)&&(t=S(t,A.query)),{origin:A.origin.toString(),method:A.method,path:t,headers:A.headers}}function Q(A){let t;if(A.headers==null)t={};else if(typeof A.headers=="object")if(t={},B(A.headers))for(const o of A.headers){if(!Array.isArray(o))throw new Error("opts.headers is not a valid header map");const[g,d]=o;if(typeof g!="string"||typeof d!="string")throw new Error("opts.headers is not a valid header map");t[g.toLowerCase()]=d}else for(const o of Object.keys(A.headers))t[o.toLowerCase()]=A.headers[o];else throw new Error("opts.headers is not an object");return t}function f(A){if(typeof A!="object")throw new TypeError(`expected key to be object, got ${typeof A}`);for(const t of["origin","method","path"])if(typeof A[t]!="string")throw new TypeError(`expected key.${t} to be string, got ${typeof A[t]}`);if(A.headers!==void 0&&typeof A.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof A}`)}function w(A){if(typeof A!="object")throw new TypeError(`expected value to be object, got ${typeof A}`);for(const t of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof A[t]!="number")throw new TypeError(`expected value.${t} to be number, got ${typeof A[t]}`);if(typeof A.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof A.statusMessage}`);if(A.headers!=null&&typeof A.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof A.headers}`);if(A.vary!==void 0&&typeof A.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof A.vary}`);if(A.etag!==void 0&&typeof A.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof A.etag}`)}function u(A){const t={};let o;if(Array.isArray(A)){o=[];for(const g of A)o.push(...g.split(","))}else o=A.split(",");for(let g=0;g<o.length;g++){const d=o[g].toLowerCase(),F=d.indexOf("=");let I,s;switch(F!==-1?(I=d.substring(0,F).trimStart(),s=d.substring(F+1)):I=d.trim(),I){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(s===void 0||s[0]===" ")continue;s.length>=2&&s[0]==='"'&&s[s.length-1]==='"'&&(s=s.substring(1,s.length-1));const C=parseInt(s,10);if(C!==C||I==="max-age"&&I in t&&t[I]>=C)continue;t[I]=C;break}case"private":case"no-cache":if(s){if(s[0]==='"'){const C=[s.substring(1)];let E=s[s.length-1]==='"';if(!E)for(let h=g+1;h<o.length;h++){const R=o[h],N=R.length;if(C.push(R.trim()),N!==0&&R[N-1]==='"'){E=!0;break}}if(E){let h=C[C.length-1];h[h.length-1]==='"'&&(h=h.substring(0,h.length-1),C[C.length-1]=h),I in t?t[I]=t[I].concat(C):t[I]=C}}else I in t?t[I]=t[I].concat(s):t[I]=[s];break}case"public":case"no-store":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(s)continue;t[I]=!0;break;default:continue}}return t}function l(A,t){if(typeof A=="string"&&A.includes("*"))return t;const o={},g=typeof A=="string"?A.split(","):A;for(const d of g){const F=d.trim().toLowerCase();o[F]=t[F]??null}return o}function a(A){return A.length<=2?!1:A[0]==='"'&&A[A.length-1]==='"'?!(A[1]==='"'||A.startsWith('"W/')):A.startsWith('W/"')&&A[A.length-1]==='"'?A.length!==4:!1}function i(A,t="CacheStore"){if(typeof A!="object"||A===null)throw new TypeError(`expected type of ${t} to be a CacheStore, got ${A===null?"null":typeof A}`);for(const o of["get","createWriteStream","delete"])if(typeof A[o]!="function")throw new TypeError(`${t} needs to have a \`${o}()\` function`)}function c(A,t="CacheMethods"){if(!Array.isArray(A))throw new TypeError(`expected type of ${t} needs to be an array, got ${A===null?"null":typeof A}`);if(A.length===0)throw new TypeError(`${t} needs to have at least one method`);for(const o of A)if(!e.includes(o))throw new TypeError(`element of ${t}-array needs to be one of following values: ${e.join(", ")}, got ${o}`)}function n(A,t){let o=`${A.origin}:${A.method}:${A.path}`;if(A.headers){const g=Object.keys(A.headers).sort();for(const d of g){if(t?.has(d.toLowerCase()))continue;const F=A.headers[d];o+=`:${d}=${Array.isArray(F)?F.join(","):F}`}}return o}return Ir={makeCacheKey:r,normalizeHeaders:Q,assertCacheKey:f,assertCacheValue:w,parseCacheControlHeader:u,parseVaryHeader:l,isEtagUsable:a,assertCacheMethods:c,assertCacheStore:i,makeDeduplicationKey:n},Ir}var lr,Us;function Ii(){if(Us)return lr;Us=1;function e(r){switch(r[3]){case",":return y(r);case" ":return B(r);default:return S(r)}}function y(r){if(r.length!==29||r[4]!==" "||r[7]!==" "||r[11]!==" "||r[16]!==" "||r[19]!==":"||r[22]!==":"||r[25]!==" "||r[26]!=="G"||r[27]!=="M"||r[28]!=="T")return;let Q=-1;if(r[0]==="S"&&r[1]==="u"&&r[2]==="n")Q=0;else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n")Q=1;else if(r[0]==="T"&&r[1]==="u"&&r[2]==="e")Q=2;else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d")Q=3;else if(r[0]==="T"&&r[1]==="h"&&r[2]==="u")Q=4;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i")Q=5;else if(r[0]==="S"&&r[1]==="a"&&r[2]==="t")Q=6;else return;let f=0;if(r[5]==="0"){const g=r.charCodeAt(6);if(g<49||g>57)return;f=g-48}else{const g=r.charCodeAt(5);if(g<49||g>51)return;const d=r.charCodeAt(6);if(d<48||d>57)return;f=(g-48)*10+(d-48)}let w=-1;if(r[8]==="J"&&r[9]==="a"&&r[10]==="n")w=0;else if(r[8]==="F"&&r[9]==="e"&&r[10]==="b")w=1;else if(r[8]==="M"&&r[9]==="a")if(r[10]==="r")w=2;else if(r[10]==="y")w=4;else return;else if(r[8]==="J")if(r[9]==="a"&&r[10]==="n")w=0;else if(r[9]==="u")if(r[10]==="n")w=5;else if(r[10]==="l")w=6;else return;else return;else if(r[8]==="A")if(r[9]==="p"&&r[10]==="r")w=3;else if(r[9]==="u"&&r[10]==="g")w=7;else return;else if(r[8]==="S"&&r[9]==="e"&&r[10]==="p")w=8;else if(r[8]==="O"&&r[9]==="c"&&r[10]==="t")w=9;else if(r[8]==="N"&&r[9]==="o"&&r[10]==="v")w=10;else if(r[8]==="D"&&r[9]==="e"&&r[10]==="c")w=11;else return;const u=r.charCodeAt(12);if(u<48||u>57)return;const l=r.charCodeAt(13);if(l<48||l>57)return;const a=r.charCodeAt(14);if(a<48||a>57)return;const i=r.charCodeAt(15);if(i<48||i>57)return;const c=(u-48)*1e3+(l-48)*100+(a-48)*10+(i-48);let n=0;if(r[17]==="0"){const g=r.charCodeAt(18);if(g<48||g>57)return;n=g-48}else{const g=r.charCodeAt(17);if(g<48||g>50)return;const d=r.charCodeAt(18);if(d<48||d>57||g===50&&d>51)return;n=(g-48)*10+(d-48)}let A=0;if(r[20]==="0"){const g=r.charCodeAt(21);if(g<48||g>57)return;A=g-48}else{const g=r.charCodeAt(20);if(g<48||g>53)return;const d=r.charCodeAt(21);if(d<48||d>57)return;A=(g-48)*10+(d-48)}let t=0;if(r[23]==="0"){const g=r.charCodeAt(24);if(g<48||g>57)return;t=g-48}else{const g=r.charCodeAt(23);if(g<48||g>53)return;const d=r.charCodeAt(24);if(d<48||d>57)return;t=(g-48)*10+(d-48)}const o=new Date(Date.UTC(c,w,f,n,A,t));return o.getUTCDay()===Q?o:void 0}function B(r){if(r.length!==24||r[7]!==" "||r[10]!==" "||r[19]!==" ")return;let Q=-1;if(r[0]==="S"&&r[1]==="u"&&r[2]==="n")Q=0;else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n")Q=1;else if(r[0]==="T"&&r[1]==="u"&&r[2]==="e")Q=2;else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d")Q=3;else if(r[0]==="T"&&r[1]==="h"&&r[2]==="u")Q=4;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i")Q=5;else if(r[0]==="S"&&r[1]==="a"&&r[2]==="t")Q=6;else return;let f=-1;if(r[4]==="J"&&r[5]==="a"&&r[6]==="n")f=0;else if(r[4]==="F"&&r[5]==="e"&&r[6]==="b")f=1;else if(r[4]==="M"&&r[5]==="a")if(r[6]==="r")f=2;else if(r[6]==="y")f=4;else return;else if(r[4]==="J")if(r[5]==="a"&&r[6]==="n")f=0;else if(r[5]==="u")if(r[6]==="n")f=5;else if(r[6]==="l")f=6;else return;else return;else if(r[4]==="A")if(r[5]==="p"&&r[6]==="r")f=3;else if(r[5]==="u"&&r[6]==="g")f=7;else return;else if(r[4]==="S"&&r[5]==="e"&&r[6]==="p")f=8;else if(r[4]==="O"&&r[5]==="c"&&r[6]==="t")f=9;else if(r[4]==="N"&&r[5]==="o"&&r[6]==="v")f=10;else if(r[4]==="D"&&r[5]==="e"&&r[6]==="c")f=11;else return;let w=0;if(r[8]===" "){const g=r.charCodeAt(9);if(g<49||g>57)return;w=g-48}else{const g=r.charCodeAt(8);if(g<49||g>51)return;const d=r.charCodeAt(9);if(d<48||d>57)return;w=(g-48)*10+(d-48)}let u=0;if(r[11]==="0"){const g=r.charCodeAt(12);if(g<48||g>57)return;u=g-48}else{const g=r.charCodeAt(11);if(g<48||g>50)return;const d=r.charCodeAt(12);if(d<48||d>57||g===50&&d>51)return;u=(g-48)*10+(d-48)}let l=0;if(r[14]==="0"){const g=r.charCodeAt(15);if(g<48||g>57)return;l=g-48}else{const g=r.charCodeAt(14);if(g<48||g>53)return;const d=r.charCodeAt(15);if(d<48||d>57)return;l=(g-48)*10+(d-48)}let a=0;if(r[17]==="0"){const g=r.charCodeAt(18);if(g<48||g>57)return;a=g-48}else{const g=r.charCodeAt(17);if(g<48||g>53)return;const d=r.charCodeAt(18);if(d<48||d>57)return;a=(g-48)*10+(d-48)}const i=r.charCodeAt(20);if(i<48||i>57)return;const c=r.charCodeAt(21);if(c<48||c>57)return;const n=r.charCodeAt(22);if(n<48||n>57)return;const A=r.charCodeAt(23);if(A<48||A>57)return;const t=(i-48)*1e3+(c-48)*100+(n-48)*10+(A-48),o=new Date(Date.UTC(t,f,w,u,l,a));return o.getUTCDay()===Q?o:void 0}function S(r){let Q=-1,f=-1;if(r[0]==="S")r[1]==="u"&&r[2]==="n"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y"?(f=0,Q=6):r[1]==="a"&&r[2]==="t"&&r[3]==="u"&&r[4]==="r"&&r[5]==="d"&&r[6]==="a"&&r[7]==="y"&&(f=6,Q=8);else if(r[0]==="M"&&r[1]==="o"&&r[2]==="n"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y")f=1,Q=6;else if(r[0]==="T")r[1]==="u"&&r[2]==="e"&&r[3]==="s"&&r[4]==="d"&&r[5]==="a"&&r[6]==="y"?(f=2,Q=7):r[1]==="h"&&r[2]==="u"&&r[3]==="r"&&r[4]==="s"&&r[5]==="d"&&r[6]==="a"&&r[7]==="y"&&(f=4,Q=8);else if(r[0]==="W"&&r[1]==="e"&&r[2]==="d"&&r[3]==="n"&&r[4]==="e"&&r[5]==="s"&&r[6]==="d"&&r[7]==="a"&&r[8]==="y")f=3,Q=9;else if(r[0]==="F"&&r[1]==="r"&&r[2]==="i"&&r[3]==="d"&&r[4]==="a"&&r[5]==="y")f=5,Q=6;else return;if(r[Q]!==","||r.length-Q-1!==23||r[Q+1]!==" "||r[Q+4]!=="-"||r[Q+8]!=="-"||r[Q+11]!==" "||r[Q+14]!==":"||r[Q+17]!==":"||r[Q+20]!==" "||r[Q+21]!=="G"||r[Q+22]!=="M"||r[Q+23]!=="T")return;let w=0;if(r[Q+2]==="0"){const o=r.charCodeAt(Q+3);if(o<49||o>57)return;w=o-48}else{const o=r.charCodeAt(Q+2);if(o<49||o>51)return;const g=r.charCodeAt(Q+3);if(g<48||g>57)return;w=(o-48)*10+(g-48)}let u=-1;if(r[Q+5]==="J"&&r[Q+6]==="a"&&r[Q+7]==="n")u=0;else if(r[Q+5]==="F"&&r[Q+6]==="e"&&r[Q+7]==="b")u=1;else if(r[Q+5]==="M"&&r[Q+6]==="a"&&r[Q+7]==="r")u=2;else if(r[Q+5]==="A"&&r[Q+6]==="p"&&r[Q+7]==="r")u=3;else if(r[Q+5]==="M"&&r[Q+6]==="a"&&r[Q+7]==="y")u=4;else if(r[Q+5]==="J"&&r[Q+6]==="u"&&r[Q+7]==="n")u=5;else if(r[Q+5]==="J"&&r[Q+6]==="u"&&r[Q+7]==="l")u=6;else if(r[Q+5]==="A"&&r[Q+6]==="u"&&r[Q+7]==="g")u=7;else if(r[Q+5]==="S"&&r[Q+6]==="e"&&r[Q+7]==="p")u=8;else if(r[Q+5]==="O"&&r[Q+6]==="c"&&r[Q+7]==="t")u=9;else if(r[Q+5]==="N"&&r[Q+6]==="o"&&r[Q+7]==="v")u=10;else if(r[Q+5]==="D"&&r[Q+6]==="e"&&r[Q+7]==="c")u=11;else return;const l=r.charCodeAt(Q+9);if(l<48||l>57)return;const a=r.charCodeAt(Q+10);if(a<48||a>57)return;let i=(l-48)*10+(a-48);i+=i<70?2e3:1900;let c=0;if(r[Q+12]==="0"){const o=r.charCodeAt(Q+13);if(o<48||o>57)return;c=o-48}else{const o=r.charCodeAt(Q+12);if(o<48||o>50)return;const g=r.charCodeAt(Q+13);if(g<48||g>57||o===50&&g>51)return;c=(o-48)*10+(g-48)}let n=0;if(r[Q+15]==="0"){const o=r.charCodeAt(Q+16);if(o<48||o>57)return;n=o-48}else{const o=r.charCodeAt(Q+15);if(o<48||o>53)return;const g=r.charCodeAt(Q+16);if(g<48||g>57)return;n=(o-48)*10+(g-48)}let A=0;if(r[Q+18]==="0"){const o=r.charCodeAt(Q+19);if(o<48||o>57)return;A=o-48}else{const o=r.charCodeAt(Q+18);if(o<48||o>53)return;const g=r.charCodeAt(Q+19);if(g<48||g>57)return;A=(o-48)*10+(g-48)}const t=new Date(Date.UTC(i,u,w,c,n,A));return t.getUTCDay()===f?t:void 0}return lr={parseHttpDate:e},lr}var Cr,ms;function li(){if(ms)return Cr;ms=1;const e=bA(),{parseCacheControlHeader:y,parseVaryHeader:B,isEtagUsable:S}=Me(),{parseHttpDate:r}=Ii();function Q(){}const f=[200,203,204,206,300,301,308,404,405,410,414,501],w=[206],u=2147483647e3;class l{#A;#e;#t;#r;#s;#n;constructor({store:g,type:d,cacheByDefault:F},I,s){this.#r=g,this.#e=d,this.#t=F,this.#A=I,this.#s=s}onRequestStart(g,d){this.#n?.destroy(),this.#n=void 0,this.#s.onRequestStart?.(g,d)}onRequestUpgrade(g,d,F,I){this.#s.onRequestUpgrade?.(g,d,F,I)}onResponseStart(g,d,F,I){const s=()=>this.#s.onResponseStart?.(g,d,F,I),C=this;if(!e.safeHTTPMethods.includes(this.#A.method)&&d>=200&&d<=399){try{this.#r.delete(this.#A)?.catch?.(Q)}catch{}return s()}const E=F["cache-control"],h=F["last-modified"]&&f.includes(d);if(!E&&!F.expires&&!h&&!this.#t)return s();const R=E?y(E):{};if(!a(this.#e,d,F,R))return s();const N=Date.now(),D=F.age?i(F.age):void 0;if(D&&D>=u)return s();const p=typeof F.date=="string"?r(F.date):void 0,k=c(this.#e,N,D,F,p,R)??this.#t;if(k===void 0||D&&D>k)return s();const m=p?p.getTime():N,H=k+m;if(N>=H)return s();let M;if(this.#A.headers&&F.vary&&(M=B(F.vary,this.#A.headers),!M))return s();const b=n(m,R,H),T=A(F,R),J={statusCode:d,statusMessage:I,headers:T,vary:M,cacheControlDirectives:R,cachedAt:D?N-D:N,staleAt:H,deleteAt:b};if(d===304){const tA=gA=>{if(!gA)return s();if(J.statusCode=gA.statusCode,J.statusMessage=gA.statusMessage,J.etag=gA.etag,J.headers={...gA.headers,...T},s(),this.#n=this.#r.createWriteStream(this.#A,J),!(!this.#n||!gA?.body))if(typeof gA.body.values=="function"){const dA=gA.body.values(),CA=()=>{for(const mA of dA){const $=this.#n.write(mA)===!1;if(this.#s.onResponseData?.(g,mA),$)break}};this.#n.on("error",function(){C.#n=void 0,C.#r.delete(C.#A)}).on("drain",()=>{CA()}).on("close",function(){C.#n===this&&(C.#n=void 0)}),CA()}else typeof gA.body.on=="function"&&(gA.body.on("data",dA=>{this.#n.write(dA),this.#s.onResponseData?.(g,dA)}).on("end",()=>{this.#n.end()}).on("error",()=>{this.#n=void 0,this.#r.delete(this.#A)}),this.#n.on("error",function(){C.#n=void 0,C.#r.delete(C.#A)}).on("close",function(){C.#n===this&&(C.#n=void 0)}))},sA=this.#r.get(this.#A);sA&&typeof sA.then=="function"?sA.then(tA):tA(sA)}else{if(typeof F.etag=="string"&&S(F.etag)&&(J.etag=F.etag),this.#n=this.#r.createWriteStream(this.#A,J),!this.#n)return s();this.#n.on("drain",()=>g.resume()).on("error",function(){C.#n=void 0,C.#r.delete(C.#A)}).on("close",function(){C.#n===this&&(C.#n=void 0),g.resume()}),s()}}onResponseData(g,d){this.#n?.write(d)===!1&&g.pause(),this.#s.onResponseData?.(g,d)}onResponseEnd(g,d){this.#n?.end(),this.#s.onResponseEnd?.(g,d)}onResponseError(g,d){this.#n?.destroy(d),this.#n=void 0,this.#s.onResponseError?.(g,d)}}function a(o,g,d,F){return!(g<200||w.includes(g)||!f.includes(g)&&!d.expires&&!F.public&&F["max-age"]===void 0&&!(F.private&&o==="private")&&!(F["s-maxage"]!==void 0&&o==="shared")||F["no-store"]||o==="shared"&&F.private===!0||d.vary?.includes("*")||d.authorization&&(!F.public||typeof d.authorization!="string"||Array.isArray(F["no-cache"])&&F["no-cache"].includes("authorization")||Array.isArray(F.private)&&F.private.includes("authorization")))}function i(o){const g=parseInt(Array.isArray(o)?o[0]:o);return isNaN(g)?void 0:g*1e3}function c(o,g,d,F,I,s){if(o==="shared"){const E=s["s-maxage"];if(E!==void 0)return E>0?E*1e3:void 0}const C=s["max-age"];if(C!==void 0)return C>0?C*1e3:void 0;if(typeof F.expires=="string"){const E=r(F.expires);if(E)return g>=E.getTime()||I&&(I>=E||d!==void 0&&d>E-I)?void 0:E.getTime()-g}if(typeof F["last-modified"]=="string"){const E=new Date(F["last-modified"]);if(t(E))return E.getTime()>=g?void 0:(g-E.getTime())*.1}if(s.immutable)return 31536e3}function n(o,g,d){let F=-1/0,I=-1/0,s=-1/0;return g["stale-while-revalidate"]&&(F=d+g["stale-while-revalidate"]*1e3),g["stale-if-error"]&&(I=d+g["stale-if-error"]*1e3),F===-1/0&&I===-1/0&&(s=o+31536e6),Math.max(d,F,I,s)}function A(o,g){const d=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];o.connection&&(Array.isArray(o.connection)?d.push(...o.connection.map(I=>I.trim())):d.push(...o.connection.split(",").map(I=>I.trim()))),Array.isArray(g["no-cache"])&&d.push(...g["no-cache"]),Array.isArray(g.private)&&d.push(...g.private);let F;for(const I of d)o[I]&&(F??={...o},delete F[I]);return F??o}function t(o){return o instanceof Date&&Number.isFinite(o.valueOf())}return Cr=l,Cr}var hr,Ms;function Fo(){if(Ms)return hr;Ms=1;const{Writable:e}=AA,{EventEmitter:y}=AA,{assertCacheKey:B,assertCacheValue:S}=Me();class r extends y{#A=1024;#e=104857600;#t=5242880;#r=0;#s=0;#n=new Map;#a=!1;constructor(w){if(super(),w){if(typeof w!="object")throw new TypeError("MemoryCacheStore options must be an object");if(w.maxCount!==void 0){if(typeof w.maxCount!="number"||!Number.isInteger(w.maxCount)||w.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#A=w.maxCount}if(w.maxSize!==void 0){if(typeof w.maxSize!="number"||!Number.isInteger(w.maxSize)||w.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#e=w.maxSize}if(w.maxEntrySize!==void 0){if(typeof w.maxEntrySize!="number"||!Number.isInteger(w.maxEntrySize)||w.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=w.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#e||this.#s>=this.#A}get(w){B(w);const u=`${w.origin}:${w.path}`,l=Date.now(),a=this.#n.get(u),i=a?Q(w,a,l):null;return i==null?void 0:{statusMessage:i.statusMessage,statusCode:i.statusCode,headers:i.headers,body:i.body,vary:i.vary?i.vary:void 0,etag:i.etag,cacheControlDirectives:i.cacheControlDirectives,cachedAt:i.cachedAt,staleAt:i.staleAt,deleteAt:i.deleteAt}}createWriteStream(w,u){B(w),S(u);const l=`${w.origin}:${w.path}`,a=this,i={...w,...u,body:[],size:0};return new e({write(c,n,A){typeof c=="string"&&(c=Buffer.from(c,n)),i.size+=c.byteLength,i.size>=a.#t?this.destroy():i.body.push(c),A(null)},final(c){let n=a.#n.get(l);n||(n=[],a.#n.set(l,n));const A=Q(w,n,Date.now());if(A){const t=n.indexOf(A);n.splice(t,1,i),a.#r-=A.size}else n.push(i),a.#s+=1;if(a.#r+=i.size,a.#r>a.#e||a.#s>a.#A){a.#a||(a.emit("maxSizeExceeded",{size:a.#r,maxSize:a.#e,count:a.#s,maxCount:a.#A}),a.#a=!0);for(const[t,o]of a.#n){for(const g of o.splice(0,o.length/2))a.#r-=g.size,a.#s-=1;o.length===0&&a.#n.delete(t)}a.#r<a.#e&&a.#s<a.#A&&(a.#a=!1)}c(null)}})}delete(w){if(typeof w!="object")throw new TypeError(`expected key to be object, got ${typeof w}`);const u=`${w.origin}:${w.path}`;for(const l of this.#n.get(u)??[])this.#r-=l.size,this.#s-=1;this.#n.delete(u)}}function Q(f,w,u){return w.find(l=>l.deleteAt>u&&l.method===f.method&&(l.vary==null||Object.keys(l.vary).every(a=>l.vary[a]===null?f.headers[a]===void 0:l.vary[a]===f.headers[a])))}return hr=r,hr}var ur,ks;function Ci(){if(ks)return ur;ks=1;const e=AA;class y{#A=!1;#e;#t;#r;#s;constructor(S,r,Q){if(typeof S!="function")throw new TypeError("callback must be a function");this.#e=S,this.#t=r,this.#s=Q}onRequestStart(S,r){this.#A=!1,this.#r=r}onRequestUpgrade(S,r,Q,f){this.#t.onRequestUpgrade?.(S,r,Q,f)}onResponseStart(S,r,Q,f){if(e(this.#e!=null),this.#A=r===304||this.#s&&r>=500&&r<=504,this.#e(this.#A,this.#r),this.#e=null,this.#A)return!0;this.#t.onRequestStart?.(S,this.#r),this.#t.onResponseStart?.(S,r,Q,f)}onResponseData(S,r){if(!this.#A)return this.#t.onResponseData?.(S,r)}onResponseEnd(S,r){this.#A||this.#t.onResponseEnd?.(S,r)}onResponseError(S,r){if(!this.#A)if(this.#e&&(this.#e(!1),this.#e=null),typeof this.#t.onResponseError=="function")this.#t.onResponseError(S,r);else throw r}}return ur=y,ur}var fr,bs;function hi(){if(bs)return fr;bs=1;const e=AA,{Readable:y}=AA,B=bA(),S=li(),r=Fo(),Q=Ci(),{assertCacheStore:f,assertCacheMethods:w,makeCacheKey:u,normalizeHeaders:l,parseCacheControlHeader:a}=Me(),{AbortError:i}=MA();function c(I,s){if(I!==void 0){if(!Array.isArray(I))throw new TypeError(`expected ${s} to be an array or undefined, got ${typeof I}`);for(let C=0;C<I.length;C++){const E=I[C];if(typeof E!="string"&&!(E instanceof RegExp))throw new TypeError(`expected ${s}[${C}] to be a string or RegExp, got ${typeof E}`)}}}const n=()=>{};function A(I,s,{headers:C={}}){return!!(s?.["no-cache"]||I.cacheControlDirectives?.["no-cache"]&&!Array.isArray(I.cacheControlDirectives["no-cache"])||C["if-modified-since"]||C["if-none-match"])}function t(I,s){const C=Date.now();if(C>I.staleAt){if(s?.["max-stale"]){const E=I.staleAt+s["max-stale"]*1e3;return C>E}return!0}if(s?.["min-fresh"]){const E=I.staleAt-C,h=s["min-fresh"]*1e3;return E<=h}return!1}function o(I){const s=I.cacheControlDirectives?.["stale-while-revalidate"];if(!s)return!1;const C=Date.now(),E=I.staleAt+s*1e3;return C<=E}function g(I,s,C,E,h,R){if(R?.["only-if-cached"]){let N=!1;try{if(typeof E.onConnect=="function"&&(E.onConnect(()=>{N=!0}),N)||typeof E.onHeaders=="function"&&(E.onHeaders(504,[],n,"Gateway Timeout"),N))return;typeof E.onComplete=="function"&&E.onComplete([])}catch(D){typeof E.onError=="function"&&E.onError(D)}return!0}return I(h,new S(s,C,E))}function d(I,s,C,E,h,R){const N=B.isStream(C.body)?C.body:y.from(C.body??[]);e(!N.destroyed,"stream should not be destroyed"),e(!N.readableDidRead,"stream should not be readableDidRead");const D={resume(){N.resume()},pause(){N.pause()},get paused(){return N.isPaused()},get aborted(){return N.destroyed},get reason(){return N.errored},abort(k){N.destroy(k??new i)}};if(N.on("error",function(k){if(!this.readableEnded)if(typeof I.onResponseError=="function")I.onResponseError(D,k);else throw k}).on("close",function(){this.errored||I.onResponseEnd?.(D,{})}),I.onRequestStart?.(D,h),N.destroyed)return;const p={...C.headers,age:String(E)};R&&(p.warning='110 - "response is stale"'),I.onResponseStart?.(D,C.statusCode,p,C.statusMessage),s.method==="HEAD"?N.destroy():N.on("data",function(k){I.onResponseData?.(D,k)})}function F(I,s,C,E,h,R,N){if(!N)return g(I,s,C,E,h,R);const D=Date.now();if(D>N.deleteAt)return I(h,new S(s,C,E));const p=Math.round((D-N.cachedAt)/1e3);if(R?.["max-age"]&&p>=R["max-age"])return I(h,E);const k=t(N,R),m=A(N,R,h);if(k||m){if(B.isStream(h.body)&&B.bodyLength(h.body)!==0)return I(h,new S(s,C,E));if(!m&&o(N))return d(E,h,N,p,null,!0),queueMicrotask(()=>{const T={...h.headers,"if-modified-since":new Date(N.cachedAt).toUTCString()};if(N.etag&&(T["if-none-match"]=N.etag),N.vary)for(const J in N.vary)N.vary[J]!=null&&(T[J]=N.vary[J]);I({...h,headers:T},new S(s,C,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let H=!1;const M=N.cacheControlDirectives["stale-if-error"]??R?.["stale-if-error"];M&&(H=D<N.staleAt+M*1e3);const b={...h.headers,"if-modified-since":new Date(N.cachedAt).toUTCString()};if(N.etag&&(b["if-none-match"]=N.etag),N.vary)for(const T in N.vary)N.vary[T]!=null&&(b[T]=N.vary[T]);return I({...h,headers:b},new Q((T,J)=>{T?d(E,h,N,p,J,k):B.isStream(N.body)&&N.body.on("error",n).destroy()},new S(s,C,E),H))}B.isStream(h.body)&&h.body.on("error",n).destroy(),d(E,h,N,p,null,!1)}return fr=(I={})=>{const{store:s=new r,methods:C=["GET"],cacheByDefault:E=void 0,type:h="shared",origins:R=void 0}=I;if(typeof I!="object"||I===null)throw new TypeError(`expected type of opts to be an Object, got ${I===null?"null":typeof I}`);if(f(s,"opts.store"),w(C,"opts.methods"),c(R,"opts.origins"),typeof E<"u"&&typeof E!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof E}`);if(typeof h<"u"&&h!=="shared"&&h!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof h}`);const N={store:s,methods:C,cacheByDefault:E,type:h},D=B.safeHTTPMethods.filter(p=>C.includes(p)===!1);return p=>(k,m)=>{if(!k.origin||D.includes(k.method))return p(k,m);if(R!==void 0){const T=k.origin.toString().toLowerCase();let J=!1;for(let tA=0;tA<R.length;tA++){const sA=R[tA];if(typeof sA=="string"){if(sA.toLowerCase()===T){J=!0;break}}else if(sA.test(T)){J=!0;break}}if(!J)return p(k,m)}k={...k,headers:l(k)};const H=k.headers?.["cache-control"]?a(k.headers["cache-control"]):void 0;if(H?.["no-store"])return p(k,m);const M=u(k),b=s.get(M);return b&&typeof b.then=="function"?b.then(T=>F(p,N,M,m,k,H,T)):F(p,N,M,m,k,H,b)}},fr}var dr,Ts;function ui(){if(Ts)return dr;Ts=1;const{createInflate:e,createGunzip:y,createBrotliDecompress:B,createZstdDecompress:S}=Fe,{pipeline:r}=AA,Q=me(),{runtimeFeatures:f}=ce(),w={gzip:y,"x-gzip":y,br:B,deflate:e,compress:e,"x-compress":e,...f.has("zstd")?{zstd:S}:{}},u=[204,304];let l=!1;class a extends Q{#A=[];#e;#t;constructor(n,{skipStatusCodes:A=u,skipErrorResponses:t=!0}={}){super(n),this.#e=A,this.#t=t}#r(n,A){return!!(!n||A<200||this.#e.includes(A)||this.#t&&A>=400)}#s(n){const A=n.split(","),t=5;if(A.length>t)throw new Error(`too many content-encodings in response: ${A.length}, maximum allowed is ${t}`);const o=[];for(let g=A.length-1;g>=0;g--){const d=A[g].trim();if(d){if(!w[d])return o.length=0,o;o.push(w[d]())}}return o}#n(n,A){n.on("readable",()=>{let t;for(;(t=n.read())!==null&&super.onResponseData(A,t)!==!1;);}),n.on("error",t=>{super.onResponseError(A,t)})}#a(n){const A=this.#A[0];this.#n(A,n),A.on("end",()=>{super.onResponseEnd(n,{})})}#o(n){const A=this.#A[this.#A.length-1];this.#n(A,n),r(this.#A,t=>{if(t){super.onResponseError(n,t);return}super.onResponseEnd(n,{})})}#i(){this.#A.length=0}onResponseStart(n,A,t,o){const g=t["content-encoding"];if(this.#r(g,A))return super.onResponseStart(n,A,t,o);const d=this.#s(g.toLowerCase());if(d.length===0)return this.#i(),super.onResponseStart(n,A,t,o);this.#A=d;const{"content-encoding":F,"content-length":I,...s}=t;return this.#A.length===1?this.#a(n):this.#o(n),super.onResponseStart(n,A,s,o)}onResponseData(n,A){if(this.#A.length>0){this.#A[0].write(A);return}super.onResponseData(n,A)}onResponseEnd(n,A){if(this.#A.length>0){this.#A[0].end(),this.#i();return}super.onResponseEnd(n,A)}onResponseError(n,A){if(this.#A.length>0){for(const t of this.#A)t.destroy(A);this.#i()}super.onResponseError(n,A)}}function i(c={}){return l||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),l=!0),n=>(A,t)=>{const o=new a(t,c);return n(A,o)}}return dr=i,dr}var yr,Ls;function fi(){if(Ls)return yr;Ls=1;const{RequestAbortedError:e}=MA(),y=5*1024*1024;class B{#A;#e=[];#t=y;#r=0;#s={};#n="";#a=!1;#o=!1;#i=!1;#g=!1;#c=null;#E=null;constructor(r,Q,f=y){this.#A=r,this.#E=Q,this.#t=f}addWaitingHandler(r){if(this.#g||this.#i)return!1;const Q=this.#Q(r),f=Q.controller;try{if(r.onRequestStart?.(f,null),f.aborted)return Q.done=!0,!0;this.#o&&r.onResponseStart?.(f,this.#r,this.#s,this.#n)}catch{return Q.done=!0,!0}return f.aborted||this.#e.push(Q),!0}onRequestStart(r,Q){this.#c=r,this.#A.onRequestStart?.(r,Q)}onRequestUpgrade(r,Q,f,w){this.#A.onRequestUpgrade?.(r,Q,f,w)}onResponseStart(r,Q,f,w){this.#o=!0,this.#r=Q,this.#s=f,this.#n=w,this.#A.onResponseStart?.(r,Q,f,w);for(const u of this.#e){const{handler:l,controller:a}=u;if(u.done||a.aborted){u.done=!0;continue}try{l.onResponseStart?.(a,Q,f,w)}catch{}a.aborted&&(u.done=!0)}this.#l()}onResponseData(r,Q){if(!(this.#a||this.#g)){this.#i=!0,this.#A.onResponseData?.(r,Q);for(const f of this.#e){const{handler:w,controller:u}=f;if(f.done||u.aborted){f.done=!0;continue}if(u.paused){this.#B(f,Q);continue}try{w.onResponseData?.(u,Q)}catch{}u.aborted&&(f.done=!0,f.bufferedChunks=[],f.bufferedBytes=0)}this.#l()}}onResponseEnd(r,Q){if(!(this.#a||this.#g)){this.#g=!0,this.#A.onResponseEnd?.(r,Q);for(const f of this.#e){if(f.done||f.controller.aborted){f.done=!0;continue}if(this.#I(f),f.done||f.controller.aborted){f.done=!0;continue}if(f.controller.paused&&f.bufferedChunks.length>0){f.pendingTrailers=Q;continue}try{f.handler.onResponseEnd?.(f.controller,Q)}catch{}f.done=!0}this.#l(),this.#E?.()}}onResponseError(r,Q){if(!this.#g){this.#a=!0,this.#g=!0,this.#A.onResponseError?.(r,Q);for(const f of this.#e)this.#C(f,Q);this.#e=[],this.#E?.()}}#Q(r){const Q={handler:r,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},f={aborted:!1,paused:!1,reason:null};return Q.controller={resume:()=>{if(!f.aborted){if(f.paused=!1,this.#I(Q),this.#g&&Q.pendingTrailers&&Q.bufferedChunks.length===0&&!f.paused&&!f.aborted){try{Q.handler.onResponseEnd?.(Q.controller,Q.pendingTrailers)}catch{}Q.pendingTrailers=null,Q.done=!0}this.#l()}},pause:()=>{f.aborted||(f.paused=!0)},get paused(){return f.paused},get aborted(){return f.aborted},get reason(){return f.reason},abort:w=>{f.aborted=!0,f.reason=w??null,Q.done=!0,Q.pendingTrailers=null,Q.bufferedChunks=[],Q.bufferedBytes=0}},Q}#B(r,Q){if(r.done||r.controller.aborted){r.done=!0,r.bufferedChunks=[],r.bufferedBytes=0;return}const f=Buffer.from(Q);if(r.bufferedChunks.push(f),r.bufferedBytes+=f.length,r.bufferedBytes>this.#t){const w=new e(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#C(r,w)}}#I(r){const{handler:Q,controller:f}=r;for(;!r.done&&!f.aborted&&!f.paused&&r.bufferedChunks.length>0;){const w=r.bufferedChunks.shift();r.bufferedBytes-=w.length;try{Q.onResponseData?.(f,w)}catch{}if(f.aborted){r.done=!0,r.pendingTrailers=null,r.bufferedChunks=[],r.bufferedBytes=0;break}}}#C(r,Q){if(!r.done){r.done=!0,r.pendingTrailers=null,r.bufferedChunks=[],r.bufferedBytes=0;try{r.controller.abort(Q),r.handler.onResponseError?.(r.controller,Q)}catch{}}}#l(){this.#e=this.#e.filter(r=>r.done===!1)}}return yr=B,yr}var Dr,Hs;function di(){if(Hs)return Dr;Hs=1;const e=AA,y=bA(),B=fi(),{normalizeHeaders:S,makeCacheKey:r,makeDeduplicationKey:Q}=Me(),f=e.channel("undici:request:pending-requests");return Dr=(w={})=>{const{methods:u=["GET"],skipHeaderNames:l=[],excludeHeaderNames:a=[],maxBufferSize:i=5*1024*1024}=w;if(typeof w!="object"||w===null)throw new TypeError(`expected type of opts to be an Object, got ${w===null?"null":typeof w}`);if(!Array.isArray(u))throw new TypeError(`expected opts.methods to be an array, got ${typeof u}`);for(const t of u)if(!y.safeHTTPMethods.includes(t))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${t}`);if(!Array.isArray(l))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof l}`);if(!Array.isArray(a))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof a}`);if(!Number.isFinite(i)||i<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${i}`);const c=new Set(l.map(t=>t.toLowerCase())),n=new Set(a.map(t=>t.toLowerCase())),A=new Map;return t=>(o,g)=>{if(!o.origin||u.includes(o.method)===!1)return t(o,g);if(o={...o,headers:S(o)},c.size>0){for(const C of Object.keys(o.headers))if(c.has(C.toLowerCase()))return t(o,g)}const d=r(o),F=Q(d,n),I=A.get(F);if(I)return I.addWaitingHandler(g)?!0:t(o,g);const s=new B(g,()=>{A.delete(F),f.hasSubscribers&&f.publish({size:A.size,key:F,type:"removed"})},i);return A.set(F,s),f.hasSubscribers&&f.publish({size:A.size,key:F,type:"added"}),t(o,s)}},Dr}var wr,Ys;function yi(){if(Ys)return wr;Ys=1;const{Writable:e}=AA,{assertCacheKey:y,assertCacheValue:B}=Me();let S;const r=3,Q=2*1e3*1e3*1e3;wr=class{#A=Q;#e=1/0;#t;#r;#s;#n;#a;#o;#i;#g;constructor(u){if(u){if(typeof u!="object")throw new TypeError("SqliteCacheStore options must be an object");if(u.maxEntrySize!==void 0){if(typeof u.maxEntrySize!="number"||!Number.isInteger(u.maxEntrySize)||u.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(u.maxEntrySize>Q)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#A=u.maxEntrySize}if(u.maxCount!==void 0){if(typeof u.maxCount!="number"||!Number.isInteger(u.maxCount)||u.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#e=u.maxCount}}S||(S=AA.DatabaseSync),this.#t=new S(u?.location??":memory:"),this.#t.exec(`
|
|
45
|
+
PRAGMA journal_mode = WAL;
|
|
46
|
+
PRAGMA synchronous = NORMAL;
|
|
47
|
+
PRAGMA temp_store = memory;
|
|
48
|
+
PRAGMA optimize;
|
|
49
|
+
|
|
50
|
+
CREATE TABLE IF NOT EXISTS cacheInterceptorV${r} (
|
|
51
|
+
-- Data specific to us
|
|
52
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
53
|
+
url TEXT NOT NULL,
|
|
54
|
+
method TEXT NOT NULL,
|
|
55
|
+
|
|
56
|
+
-- Data returned to the interceptor
|
|
57
|
+
body BUF NULL,
|
|
58
|
+
deleteAt INTEGER NOT NULL,
|
|
59
|
+
statusCode INTEGER NOT NULL,
|
|
60
|
+
statusMessage TEXT NOT NULL,
|
|
61
|
+
headers TEXT NULL,
|
|
62
|
+
cacheControlDirectives TEXT NULL,
|
|
63
|
+
etag TEXT NULL,
|
|
64
|
+
vary TEXT NULL,
|
|
65
|
+
cachedAt INTEGER NOT NULL,
|
|
66
|
+
staleAt INTEGER NOT NULL
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${r}_getValuesQuery ON cacheInterceptorV${r}(url, method, deleteAt);
|
|
70
|
+
CREATE INDEX IF NOT EXISTS idx_cacheInterceptorV${r}_deleteByUrlQuery ON cacheInterceptorV${r}(deleteAt);
|
|
71
|
+
`),this.#r=this.#t.prepare(`
|
|
72
|
+
SELECT
|
|
73
|
+
id,
|
|
74
|
+
body,
|
|
75
|
+
deleteAt,
|
|
76
|
+
statusCode,
|
|
77
|
+
statusMessage,
|
|
78
|
+
headers,
|
|
79
|
+
etag,
|
|
80
|
+
cacheControlDirectives,
|
|
81
|
+
vary,
|
|
82
|
+
cachedAt,
|
|
83
|
+
staleAt
|
|
84
|
+
FROM cacheInterceptorV${r}
|
|
85
|
+
WHERE
|
|
86
|
+
url = ?
|
|
87
|
+
AND method = ?
|
|
88
|
+
ORDER BY
|
|
89
|
+
deleteAt ASC
|
|
90
|
+
`),this.#s=this.#t.prepare(`
|
|
91
|
+
UPDATE cacheInterceptorV${r} SET
|
|
92
|
+
body = ?,
|
|
93
|
+
deleteAt = ?,
|
|
94
|
+
statusCode = ?,
|
|
95
|
+
statusMessage = ?,
|
|
96
|
+
headers = ?,
|
|
97
|
+
etag = ?,
|
|
98
|
+
cacheControlDirectives = ?,
|
|
99
|
+
cachedAt = ?,
|
|
100
|
+
staleAt = ?
|
|
101
|
+
WHERE
|
|
102
|
+
id = ?
|
|
103
|
+
`),this.#n=this.#t.prepare(`
|
|
104
|
+
INSERT INTO cacheInterceptorV${r} (
|
|
105
|
+
url,
|
|
106
|
+
method,
|
|
107
|
+
body,
|
|
108
|
+
deleteAt,
|
|
109
|
+
statusCode,
|
|
110
|
+
statusMessage,
|
|
111
|
+
headers,
|
|
112
|
+
etag,
|
|
113
|
+
cacheControlDirectives,
|
|
114
|
+
vary,
|
|
115
|
+
cachedAt,
|
|
116
|
+
staleAt
|
|
117
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
118
|
+
`),this.#o=this.#t.prepare(`DELETE FROM cacheInterceptorV${r} WHERE url = ?`),this.#i=this.#t.prepare(`SELECT COUNT(*) AS total FROM cacheInterceptorV${r}`),this.#a=this.#t.prepare(`DELETE FROM cacheInterceptorV${r} WHERE deleteAt <= ?`),this.#g=this.#e===1/0?null:this.#t.prepare(`
|
|
119
|
+
DELETE FROM cacheInterceptorV${r}
|
|
120
|
+
WHERE id IN (
|
|
121
|
+
SELECT
|
|
122
|
+
id
|
|
123
|
+
FROM cacheInterceptorV${r}
|
|
124
|
+
ORDER BY cachedAt DESC
|
|
125
|
+
LIMIT ?
|
|
126
|
+
)
|
|
127
|
+
`)}close(){this.#t.close()}get(u){y(u);const l=this.#Q(u);return l?{body:l.body?Buffer.from(l.body.buffer,l.body.byteOffset,l.body.byteLength):void 0,statusCode:l.statusCode,statusMessage:l.statusMessage,headers:l.headers?JSON.parse(l.headers):void 0,etag:l.etag?l.etag:void 0,vary:l.vary?JSON.parse(l.vary):void 0,cacheControlDirectives:l.cacheControlDirectives?JSON.parse(l.cacheControlDirectives):void 0,cachedAt:l.cachedAt,staleAt:l.staleAt,deleteAt:l.deleteAt}:void 0}set(u,l){y(u);const a=this.#E(u),i=Array.isArray(l.body)?Buffer.concat(l.body):l.body,c=i?.byteLength;if(c&&c>this.#A)return;const n=this.#Q(u,!0);n?this.#s.run(i,l.deleteAt,l.statusCode,l.statusMessage,l.headers?JSON.stringify(l.headers):null,l.etag?l.etag:null,l.cacheControlDirectives?JSON.stringify(l.cacheControlDirectives):null,l.cachedAt,l.staleAt,n.id):(this.#c(),this.#n.run(a,u.method,i,l.deleteAt,l.statusCode,l.statusMessage,l.headers?JSON.stringify(l.headers):null,l.etag?l.etag:null,l.cacheControlDirectives?JSON.stringify(l.cacheControlDirectives):null,l.vary?JSON.stringify(l.vary):null,l.cachedAt,l.staleAt))}createWriteStream(u,l){y(u),B(l);let a=0;const i=[],c=this;return new e({decodeStrings:!0,write(n,A,t){a+=n.byteLength,a<c.#A?i.push(n):this.destroy(),t()},final(n){c.set(u,{...l,body:i}),n()}})}delete(u){if(typeof u!="object")throw new TypeError(`expected key to be object, got ${typeof u}`);this.#o.run(this.#E(u))}#c(){if(Number.isFinite(this.#e)&&this.size<=this.#e)return 0;{const u=this.#a.run(Date.now()).changes;if(u)return u}{const u=this.#g?.run(Math.max(Math.floor(this.#e*.1),1)).changes;if(u)return u}return 0}get size(){const{total:u}=this.#i.get();return u}#E(u){return`${u.origin}/${u.path}`}#Q(u,l=!1){const a=this.#E(u),{headers:i,method:c}=u,n=this.#r.all(a,c);if(n.length===0)return;const A=Date.now();for(const t of n){if(A>=t.deleteAt&&!l)return;let o=!0;if(t.vary){const g=JSON.parse(t.vary);for(const d in g)if(!f(i[d],g[d])){o=!1;break}}if(o)return t}}};function f(w,u){return w==null&&u==null?!0:w==null&&u!=null||w!=null&&u==null?!1:Array.isArray(w)&&Array.isArray(u)?w.length!==u.length?!1:w.every((l,a)=>l===u[a]):w===u}return wr}var Sr,Gs;function Se(){if(Gs)return Sr;Gs=1;const{kConstruct:e}=vA(),{kEnumerableProperty:y}=bA(),{iteratorMixin:B,isValidHeaderName:S,isValidHeaderValue:r}=se(),{webidl:Q}=ee(),f=AA,w=AA;function u(I){return I===10||I===13||I===9||I===32}function l(I){let s=0,C=I.length;for(;C>s&&u(I.charCodeAt(C-1));)--C;for(;C>s&&u(I.charCodeAt(s));)++s;return s===0&&C===I.length?I:I.substring(s,C)}function a(I,s){if(Array.isArray(s))for(let C=0;C<s.length;++C){const E=s[C];if(E.length!==2)throw Q.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${E.length}.`});i(I,E[0],E[1])}else if(typeof s=="object"&&s!==null){const C=Object.keys(s);for(let E=0;E<C.length;++E)i(I,C[E],s[C[E]])}else throw Q.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function i(I,s,C){if(C=l(C),S(s)){if(!r(C))throw Q.errors.invalidArgument({prefix:"Headers.append",value:C,type:"header value"})}else throw Q.errors.invalidArgument({prefix:"Headers.append",value:s,type:"header name"});if(o(I)==="immutable")throw new TypeError("immutable");return d(I).append(s,C,!1)}function c(I){const s=d(I);if(!s)return[];if(s.sortedMap)return s.sortedMap;const C=[],E=s.toSortedArray(),h=s.cookies;if(h===null||h.length===1)return s.sortedMap=E;for(let R=0;R<E.length;++R){const{0:N,1:D}=E[R];if(N==="set-cookie")for(let p=0;p<h.length;++p)C.push([N,h[p]]);else C.push([N,D])}return s.sortedMap=C}function n(I,s){return I[0]<s[0]?-1:1}class A{cookies=null;sortedMap;headersMap;constructor(s){s instanceof A?(this.headersMap=new Map(s.headersMap),this.sortedMap=s.sortedMap,this.cookies=s.cookies===null?null:[...s.cookies]):(this.headersMap=new Map(s),this.sortedMap=null)}contains(s,C){return this.headersMap.has(C?s:s.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(s,C,E){this.sortedMap=null;const h=E?s:s.toLowerCase(),R=this.headersMap.get(h);if(R){const N=h==="cookie"?"; ":", ";this.headersMap.set(h,{name:R.name,value:`${R.value}${N}${C}`})}else this.headersMap.set(h,{name:s,value:C});h==="set-cookie"&&(this.cookies??=[]).push(C)}set(s,C,E){this.sortedMap=null;const h=E?s:s.toLowerCase();h==="set-cookie"&&(this.cookies=[C]),this.headersMap.set(h,{name:s,value:C})}delete(s,C){this.sortedMap=null,C||(s=s.toLowerCase()),s==="set-cookie"&&(this.cookies=null),this.headersMap.delete(s)}get(s,C){return this.headersMap.get(C?s:s.toLowerCase())?.value??null}*[Symbol.iterator](){for(const{0:s,1:{value:C}}of this.headersMap)yield[s,C]}get entries(){const s={};if(this.headersMap.size!==0)for(const{name:C,value:E}of this.headersMap.values())s[C]=E;return s}rawValues(){return this.headersMap.values()}get entriesList(){const s=[];if(this.headersMap.size!==0)for(const{0:C,1:{name:E,value:h}}of this.headersMap)if(C==="set-cookie")for(const R of this.cookies)s.push([E,R]);else s.push([E,h]);return s}toSortedArray(){const s=this.headersMap.size,C=new Array(s);if(s<=32){if(s===0)return C;const E=this.headersMap[Symbol.iterator](),h=E.next().value;C[0]=[h[0],h[1].value],f(h[1].value!==null);for(let R=1,N=0,D=0,p=0,k=0,m,H;R<s;++R){for(H=E.next().value,m=C[R]=[H[0],H[1].value],f(m[1]!==null),p=0,D=R;p<D;)k=p+(D-p>>1),C[k][0]<=m[0]?p=k+1:D=k;if(R!==k){for(N=R;N>p;)C[N]=C[--N];C[p]=m}}if(!E.next().done)throw new TypeError("Unreachable");return C}else{let E=0;for(const{0:h,1:{value:R}}of this.headersMap)C[E++]=[h,R],f(R!==null);return C.sort(n)}}}class t{#A;#e;constructor(s=void 0){Q.util.markAsUncloneable(this),s!==e&&(this.#e=new A,this.#A="none",s!==void 0&&(s=Q.converters.HeadersInit(s,"Headers constructor","init"),a(this,s)))}append(s,C){Q.brandCheck(this,t),Q.argumentLengthCheck(arguments,2,"Headers.append");const E="Headers.append";return s=Q.converters.ByteString(s,E,"name"),C=Q.converters.ByteString(C,E,"value"),i(this,s,C)}delete(s){if(Q.brandCheck(this,t),Q.argumentLengthCheck(arguments,1,"Headers.delete"),s=Q.converters.ByteString(s,"Headers.delete","name"),!S(s))throw Q.errors.invalidArgument({prefix:"Headers.delete",value:s,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.contains(s,!1)&&this.#e.delete(s,!1)}get(s){Q.brandCheck(this,t),Q.argumentLengthCheck(arguments,1,"Headers.get");const C="Headers.get";if(s=Q.converters.ByteString(s,C,"name"),!S(s))throw Q.errors.invalidArgument({prefix:C,value:s,type:"header name"});return this.#e.get(s,!1)}has(s){Q.brandCheck(this,t),Q.argumentLengthCheck(arguments,1,"Headers.has");const C="Headers.has";if(s=Q.converters.ByteString(s,C,"name"),!S(s))throw Q.errors.invalidArgument({prefix:C,value:s,type:"header name"});return this.#e.contains(s,!1)}set(s,C){Q.brandCheck(this,t),Q.argumentLengthCheck(arguments,2,"Headers.set");const E="Headers.set";if(s=Q.converters.ByteString(s,E,"name"),C=Q.converters.ByteString(C,E,"value"),C=l(C),S(s)){if(!r(C))throw Q.errors.invalidArgument({prefix:E,value:C,type:"header value"})}else throw Q.errors.invalidArgument({prefix:E,value:s,type:"header name"});if(this.#A==="immutable")throw new TypeError("immutable");this.#e.set(s,C,!1)}getSetCookie(){Q.brandCheck(this,t);const s=this.#e.cookies;return s?[...s]:[]}[w.inspect.custom](s,C){return C.depth??=s,`Headers ${w.formatWithOptions(C,this.#e.entries)}`}static getHeadersGuard(s){return s.#A}static setHeadersGuard(s,C){s.#A=C}static getHeadersList(s){return s.#e}static setHeadersList(s,C){s.#e=C}}const{getHeadersGuard:o,setHeadersGuard:g,getHeadersList:d,setHeadersList:F}=t;return Reflect.deleteProperty(t,"getHeadersGuard"),Reflect.deleteProperty(t,"setHeadersGuard"),Reflect.deleteProperty(t,"getHeadersList"),Reflect.deleteProperty(t,"setHeadersList"),B("Headers",t,c,0,1),Object.defineProperties(t.prototype,{append:y,delete:y,get:y,has:y,set:y,getSetCookie:y,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[w.inspect.custom]:{enumerable:!1}}),Q.converters.HeadersInit=function(I,s,C){if(Q.util.Type(I)===Q.util.Types.OBJECT){const E=Reflect.get(I,Symbol.iterator);if(!w.types.isProxy(I)&&E===t.prototype.entries)try{return d(I).entriesList}catch{}return typeof E=="function"?Q.converters["sequence<sequence<ByteString>>"](I,s,C,E.bind(I)):Q.converters["record<ByteString, ByteString>"](I,s,C)}throw Q.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})},Sr={fill:a,compareHeaderName:n,Headers:t,HeadersList:A,getHeadersGuard:o,setHeadersGuard:g,setHeadersList:F,getHeadersList:d},Sr}var Rr,Vs;function ze(){if(Vs)return Rr;Vs=1;const{Headers:e,HeadersList:y,fill:B,getHeadersGuard:S,setHeadersGuard:r,setHeadersList:Q}=Se(),{extractBody:f,cloneBody:w,mixinBody:u,streamRegistry:l,bodyUnusable:a}=Ue(),i=bA(),c=AA,{kEnumerableProperty:n}=i,{isValidReasonPhrase:A,isCancelled:t,isAborted:o,isErrorLike:g,environmentSettingsObject:d}=se(),{redirectStatusSet:F,nullBodyStatus:I}=qe(),{webidl:s}=ee(),{URLSerializer:C}=oe(),{kConstruct:E}=vA(),h=AA,{isomorphicEncode:R,serializeJavascriptValueToJSONString:N}=Qe(),D=new TextEncoder("utf-8");class p{#A;#e;static error(){return mA(J(),"immutable")}static json(rA,nA=void 0){s.argumentLengthCheck(arguments,1,"Response.json"),nA!==null&&(nA=s.converters.ResponseInit(nA));const wA=D.encode(N(rA)),kA=f(wA),IA=mA(T({}),"response");return CA(IA,nA,{body:kA[0],type:"application/json"}),IA}static redirect(rA,nA=302){s.argumentLengthCheck(arguments,1,"Response.redirect"),rA=s.converters.USVString(rA),nA=s.converters["unsigned short"](nA);let wA;try{wA=new URL(rA,d.settingsObject.baseUrl)}catch(TA){throw new TypeError(`Failed to parse URL from ${rA}`,{cause:TA})}if(!F.has(nA))throw new RangeError(`Invalid status code ${nA}`);const kA=mA(T({}),"immutable");kA.#e.status=nA;const IA=R(C(wA));return kA.#e.headersList.append("location",IA,!0),kA}constructor(rA=null,nA=void 0){if(s.util.markAsUncloneable(this),rA===E)return;rA!==null&&(rA=s.converters.BodyInit(rA,"Response","body")),nA=s.converters.ResponseInit(nA),this.#e=T({}),this.#A=new e(E),r(this.#A,"response"),Q(this.#A,this.#e.headersList);let wA=null;if(rA!=null){const[kA,IA]=f(rA);wA={body:kA,type:IA}}CA(this,nA,wA)}get type(){return s.brandCheck(this,p),this.#e.type}get url(){s.brandCheck(this,p);const rA=this.#e.urlList,nA=rA[rA.length-1]??null;return nA===null?"":C(nA,!0)}get redirected(){return s.brandCheck(this,p),this.#e.urlList.length>1}get status(){return s.brandCheck(this,p),this.#e.status}get ok(){return s.brandCheck(this,p),this.#e.status>=200&&this.#e.status<=299}get statusText(){return s.brandCheck(this,p),this.#e.statusText}get headers(){return s.brandCheck(this,p),this.#A}get body(){return s.brandCheck(this,p),this.#e.body?this.#e.body.stream:null}get bodyUsed(){return s.brandCheck(this,p),!!this.#e.body&&i.isDisturbed(this.#e.body.stream)}clone(){if(s.brandCheck(this,p),a(this.#e))throw s.errors.exception({header:"Response.clone",message:"Body has already been consumed."});const rA=b(this.#e);return this.#e.urlList.length!==0&&this.#e.body?.stream&&l.register(this,new WeakRef(this.#e.body.stream)),mA(rA,S(this.#A))}[c.inspect.custom](rA,nA){nA.depth===null&&(nA.depth=2),nA.colors??=!0;const wA={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${c.formatWithOptions(nA,wA)}`}static getResponseHeaders(rA){return rA.#A}static setResponseHeaders(rA,nA){rA.#A=nA}static getResponseState(rA){return rA.#e}static setResponseState(rA,nA){rA.#e=nA}}const{getResponseHeaders:k,setResponseHeaders:m,getResponseState:H,setResponseState:M}=p;Reflect.deleteProperty(p,"getResponseHeaders"),Reflect.deleteProperty(p,"setResponseHeaders"),Reflect.deleteProperty(p,"getResponseState"),Reflect.deleteProperty(p,"setResponseState"),u(p,H),Object.defineProperties(p.prototype,{type:n,url:n,status:n,ok:n,redirected:n,statusText:n,headers:n,clone:n,body:n,bodyUsed:n,[Symbol.toStringTag]:{value:"Response",configurable:!0}}),Object.defineProperties(p,{json:n,redirect:n,error:n});function b($){if($.internalResponse)return gA(b($.internalResponse),$.type);const rA=T({...$,body:null});return $.body!=null&&(rA.body=w($.body)),rA}function T($){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...$,headersList:$?.headersList?new y($?.headersList):new y,urlList:$?.urlList?[...$.urlList]:[]}}function J($){const rA=g($);return T({type:"error",status:0,error:rA?$:new Error($&&String($)),aborted:$&&$.name==="AbortError"})}function tA($){return $.type==="error"&&$.status===0}function sA($,rA){return rA={internalResponse:$,...rA},new Proxy($,{get(nA,wA){return wA in rA?rA[wA]:nA[wA]},set(nA,wA,kA){return h(!(wA in rA)),nA[wA]=kA,!0}})}function gA($,rA){if(rA==="basic")return sA($,{type:"basic",headersList:$.headersList});if(rA==="cors")return sA($,{type:"cors",headersList:$.headersList});if(rA==="opaque")return sA($,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(rA==="opaqueredirect")return sA($,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});h(!1)}function dA($,rA=null){return h(t($)),o($)?J(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:rA})):J(Object.assign(new DOMException("Request was cancelled."),{cause:rA}))}function CA($,rA,nA){if(rA.status!==null&&(rA.status<200||rA.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in rA&&rA.statusText!=null&&!A(String(rA.statusText)))throw new TypeError("Invalid statusText");if("status"in rA&&rA.status!=null&&(H($).status=rA.status),"statusText"in rA&&rA.statusText!=null&&(H($).statusText=rA.statusText),"headers"in rA&&rA.headers!=null&&B(k($),rA.headers),nA){if(I.includes($.status))throw s.errors.exception({header:"Response constructor",message:`Invalid response status code ${$.status}`});H($).body=nA.body,nA.type!=null&&!H($).headersList.contains("content-type",!0)&&H($).headersList.append("content-type",nA.type,!0)}}function mA($,rA){const nA=new p(E);M(nA,$);const wA=new e(E);return m(nA,wA),Q(wA,$.headersList),r(wA,rA),$.urlList.length!==0&&$.body?.stream&&l.register(nA,new WeakRef($.body.stream)),nA}return s.converters.XMLHttpRequestBodyInit=function($,rA,nA){return typeof $=="string"?s.converters.USVString($,rA,nA):s.is.Blob($)||s.is.BufferSource($)||s.is.FormData($)||s.is.URLSearchParams($)?$:s.converters.DOMString($,rA,nA)},s.converters.BodyInit=function($,rA,nA){return s.is.ReadableStream($)||$?.[Symbol.asyncIterator]?$:s.converters.XMLHttpRequestBodyInit($,rA,nA)},s.converters.ResponseInit=s.dictionaryConverter([{key:"status",converter:s.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:s.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:s.converters.HeadersInit}]),s.is.Response=s.util.MakeTypeAssertion(p),Rr={isNetworkError:tA,makeNetworkError:J,makeResponse:T,makeAppropriateNetworkError:dA,filterResponse:gA,Response:p,cloneResponse:b,fromInnerResponse:mA,getResponseState:H},Rr}var Nr,vs;function ke(){if(vs)return Nr;vs=1;const{extractBody:e,mixinBody:y,cloneBody:B,bodyUnusable:S}=Ue(),{Headers:r,fill:Q,HeadersList:f,setHeadersGuard:w,getHeadersGuard:u,setHeadersList:l,getHeadersList:a}=Se(),i=bA(),c=AA,{isValidHTTPToken:n,sameOrigin:A,environmentSettingsObject:t}=se(),{forbiddenMethodsSet:o,corsSafeListedMethodsSet:g,referrerPolicy:d,requestRedirect:F,requestMode:I,requestCredentials:s,requestCache:C,requestDuplex:E}=qe(),{kEnumerableProperty:h,normalizedMethodRecordsBase:R,normalizedMethodRecords:N}=i,{webidl:D}=ee(),{URLSerializer:p}=oe(),{kConstruct:k}=vA(),m=AA,{getMaxListeners:H,setMaxListeners:M,defaultMaxListeners:b}=AA,T=Symbol("abortController"),J=new FinalizationRegistry(({signal:G,abort:BA})=>{G.removeEventListener("abort",BA)}),tA=new WeakMap;let sA;try{sA=H(new AbortController().signal)>0}catch{sA=!1}function gA(G){return BA;function BA(){const QA=G.deref();if(QA!==void 0){J.unregister(BA),this.removeEventListener("abort",BA),QA.abort(this.reason);const RA=tA.get(QA.signal);if(RA!==void 0){if(RA.size!==0){for(const K of RA){const FA=K.deref();FA!==void 0&&FA.abort(this.reason)}RA.clear()}tA.delete(QA.signal)}}}}let dA=!1;class CA{#A;#e;#t;#r;constructor(BA,QA=void 0){if(D.util.markAsUncloneable(this),BA===k)return;D.argumentLengthCheck(arguments,1,"Request constructor"),BA=D.converters.RequestInfo(BA),QA=D.converters.RequestInit(QA);let K=null,FA=null;const OA=t.settingsObject.baseUrl;let LA=null;if(typeof BA=="string"){this.#e=QA.dispatcher;let fA;try{fA=new URL(BA,OA)}catch(U){throw new TypeError("Failed to parse URL from "+BA,{cause:U})}if(fA.username||fA.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+BA);K=IA({urlList:[fA]}),FA="cors"}else m(D.is.Request(BA)),K=BA.#r,LA=BA.#A,this.#e=QA.dispatcher||BA.#e;const XA=t.settingsObject.origin;let PA="client";if(K.window?.constructor?.name==="EnvironmentSettingsObject"&&A(K.window,XA)&&(PA=K.window),QA.window!=null)throw new TypeError(`'window' option '${PA}' must be null`);"window"in QA&&(PA="no-window"),K=IA({method:K.method,headersList:K.headersList,unsafeRequest:K.unsafeRequest,client:t.settingsObject,window:PA,priority:K.priority,origin:K.origin,referrer:K.referrer,referrerPolicy:K.referrerPolicy,mode:K.mode,credentials:K.credentials,cache:K.cache,redirect:K.redirect,integrity:K.integrity,keepalive:K.keepalive,reloadNavigation:K.reloadNavigation,historyNavigation:K.historyNavigation,urlList:[...K.urlList]});const qA=Object.keys(QA).length!==0;if(qA&&(K.mode==="navigate"&&(K.mode="same-origin"),K.reloadNavigation=!1,K.historyNavigation=!1,K.origin="client",K.referrer="client",K.referrerPolicy="",K.url=K.urlList[K.urlList.length-1],K.urlList=[K.url]),QA.referrer!==void 0){const fA=QA.referrer;if(fA==="")K.referrer="no-referrer";else{let U;try{U=new URL(fA,OA)}catch(Y){throw new TypeError(`Referrer "${fA}" is not a valid URL.`,{cause:Y})}U.protocol==="about:"&&U.hostname==="client"||XA&&!A(U,t.settingsObject.baseUrl)?K.referrer="client":K.referrer=U}}QA.referrerPolicy!==void 0&&(K.referrerPolicy=QA.referrerPolicy);let JA;if(QA.mode!==void 0?JA=QA.mode:JA=FA,JA==="navigate")throw D.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(JA!=null&&(K.mode=JA),QA.credentials!==void 0&&(K.credentials=QA.credentials),QA.cache!==void 0&&(K.cache=QA.cache),K.cache==="only-if-cached"&&K.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(QA.redirect!==void 0&&(K.redirect=QA.redirect),QA.integrity!=null&&(K.integrity=String(QA.integrity)),QA.keepalive!==void 0&&(K.keepalive=!!QA.keepalive),QA.method!==void 0){let fA=QA.method;const U=N[fA];if(U!==void 0)K.method=U;else{if(!n(fA))throw new TypeError(`'${fA}' is not a valid HTTP method.`);const Y=fA.toUpperCase();if(o.has(Y))throw new TypeError(`'${fA}' HTTP method is unsupported.`);fA=R[Y]??fA,K.method=fA}!dA&&K.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),dA=!0)}QA.signal!==void 0&&(LA=QA.signal),this.#r=K;const KA=new AbortController;if(this.#A=KA.signal,LA!=null)if(LA.aborted)KA.abort(LA.reason);else{this[T]=KA;const fA=new WeakRef(KA),U=gA(fA);sA&&H(LA)===b&&M(1500,LA),i.addAbortListener(LA,U),J.register(KA,{signal:LA,abort:U},U)}if(this.#t=new r(k),l(this.#t,K.headersList),w(this.#t,"request"),JA==="no-cors"){if(!g.has(K.method))throw new TypeError(`'${K.method} is unsupported in no-cors mode.`);w(this.#t,"request-no-cors")}if(qA){const fA=a(this.#t),U=QA.headers!==void 0?QA.headers:new f(fA);if(fA.clear(),U instanceof f){for(const{name:Y,value:W}of U.rawValues())fA.append(Y,W,!1);fA.cookies=U.cookies}else Q(this.#t,U)}const zA=D.is.Request(BA)?BA.#r.body:null;if((QA.body!=null||zA!=null)&&(K.method==="GET"||K.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let _A=null;if(QA.body!=null){const[fA,U]=e(QA.body,K.keepalive);_A=fA,U&&!a(this.#t).contains("content-type",!0)&&this.#t.append("content-type",U,!0)}const $A=_A??zA;if($A!=null&&$A.source==null){if(_A!=null&&QA.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(K.mode!=="same-origin"&&K.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');K.useCORSPreflightFlag=!0}let X=$A;if(_A==null&&zA!=null){if(S(BA.#r))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");const fA=new TransformStream;zA.stream.pipeThrough(fA),X={source:zA.source,length:zA.length,stream:fA.readable}}this.#r.body=X}get method(){return D.brandCheck(this,CA),this.#r.method}get url(){return D.brandCheck(this,CA),p(this.#r.url)}get headers(){return D.brandCheck(this,CA),this.#t}get destination(){return D.brandCheck(this,CA),this.#r.destination}get referrer(){return D.brandCheck(this,CA),this.#r.referrer==="no-referrer"?"":this.#r.referrer==="client"?"about:client":this.#r.referrer.toString()}get referrerPolicy(){return D.brandCheck(this,CA),this.#r.referrerPolicy}get mode(){return D.brandCheck(this,CA),this.#r.mode}get credentials(){return D.brandCheck(this,CA),this.#r.credentials}get cache(){return D.brandCheck(this,CA),this.#r.cache}get redirect(){return D.brandCheck(this,CA),this.#r.redirect}get integrity(){return D.brandCheck(this,CA),this.#r.integrity}get keepalive(){return D.brandCheck(this,CA),this.#r.keepalive}get isReloadNavigation(){return D.brandCheck(this,CA),this.#r.reloadNavigation}get isHistoryNavigation(){return D.brandCheck(this,CA),this.#r.historyNavigation}get signal(){return D.brandCheck(this,CA),this.#A}get body(){return D.brandCheck(this,CA),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return D.brandCheck(this,CA),!!this.#r.body&&i.isDisturbed(this.#r.body.stream)}get duplex(){return D.brandCheck(this,CA),"half"}clone(){if(D.brandCheck(this,CA),S(this.#r))throw new TypeError("unusable");const BA=TA(this.#r),QA=new AbortController;if(this.signal.aborted)QA.abort(this.signal.reason);else{let RA=tA.get(this.signal);RA===void 0&&(RA=new Set,tA.set(this.signal,RA));const K=new WeakRef(QA);RA.add(K),i.addAbortListener(QA.signal,gA(K))}return SA(BA,this.#e,QA.signal,u(this.#t))}[c.inspect.custom](BA,QA){QA.depth===null&&(QA.depth=2),QA.colors??=!0;const RA={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${c.formatWithOptions(QA,RA)}`}static setRequestSignal(BA,QA){return BA.#A=QA,BA}static getRequestDispatcher(BA){return BA.#e}static setRequestDispatcher(BA,QA){BA.#e=QA}static setRequestHeaders(BA,QA){BA.#t=QA}static getRequestState(BA){return BA.#r}static setRequestState(BA,QA){BA.#r=QA}}const{setRequestSignal:mA,getRequestDispatcher:$,setRequestDispatcher:rA,setRequestHeaders:nA,getRequestState:wA,setRequestState:kA}=CA;Reflect.deleteProperty(CA,"setRequestSignal"),Reflect.deleteProperty(CA,"getRequestDispatcher"),Reflect.deleteProperty(CA,"setRequestDispatcher"),Reflect.deleteProperty(CA,"setRequestHeaders"),Reflect.deleteProperty(CA,"getRequestState"),Reflect.deleteProperty(CA,"setRequestState"),y(CA,wA);function IA(G){return{method:G.method??"GET",localURLsOnly:G.localURLsOnly??!1,unsafeRequest:G.unsafeRequest??!1,body:G.body??null,client:G.client??null,reservedClient:G.reservedClient??null,replacesClientId:G.replacesClientId??"",window:G.window??"client",keepalive:G.keepalive??!1,serviceWorkers:G.serviceWorkers??"all",initiator:G.initiator??"",destination:G.destination??"",priority:G.priority??null,origin:G.origin??"client",policyContainer:G.policyContainer??"client",referrer:G.referrer??"client",referrerPolicy:G.referrerPolicy??"",mode:G.mode??"no-cors",useCORSPreflightFlag:G.useCORSPreflightFlag??!1,credentials:G.credentials??"same-origin",useCredentials:G.useCredentials??!1,cache:G.cache??"default",redirect:G.redirect??"follow",integrity:G.integrity??"",cryptoGraphicsNonceMetadata:G.cryptoGraphicsNonceMetadata??"",parserMetadata:G.parserMetadata??"",reloadNavigation:G.reloadNavigation??!1,historyNavigation:G.historyNavigation??!1,userActivation:G.userActivation??!1,taintedOrigin:G.taintedOrigin??!1,redirectCount:G.redirectCount??0,responseTainting:G.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:G.preventNoCacheCacheControlHeaderModification??!1,done:G.done??!1,timingAllowFailed:G.timingAllowFailed??!1,useURLCredentials:G.useURLCredentials??void 0,traversableForUserPrompts:G.traversableForUserPrompts??"client",urlList:G.urlList,url:G.urlList[0],headersList:G.headersList?new f(G.headersList):new f}}function TA(G){const BA=IA({...G,body:null});return G.body!=null&&(BA.body=B(G.body)),BA}function SA(G,BA,QA,RA){const K=new CA(k);kA(K,G),rA(K,BA),mA(K,QA);const FA=new r(k);return nA(K,FA),l(FA,G.headersList),w(FA,RA),K}return Object.defineProperties(CA.prototype,{method:h,url:h,headers:h,redirect:h,clone:h,signal:h,duplex:h,destination:h,body:h,bodyUsed:h,isHistoryNavigation:h,isReloadNavigation:h,keepalive:h,integrity:h,cache:h,credentials:h,attribute:h,referrerPolicy:h,referrer:h,mode:h,[Symbol.toStringTag]:{value:"Request",configurable:!0}}),D.is.Request=D.util.MakeTypeAssertion(CA),D.converters.RequestInfo=function(G){return typeof G=="string"?D.converters.USVString(G):D.is.Request(G)?G:D.converters.USVString(G)},D.converters.RequestInit=D.dictionaryConverter([{key:"method",converter:D.converters.ByteString},{key:"headers",converter:D.converters.HeadersInit},{key:"body",converter:D.nullableConverter(D.converters.BodyInit)},{key:"referrer",converter:D.converters.USVString},{key:"referrerPolicy",converter:D.converters.DOMString,allowedValues:d},{key:"mode",converter:D.converters.DOMString,allowedValues:I},{key:"credentials",converter:D.converters.DOMString,allowedValues:s},{key:"cache",converter:D.converters.DOMString,allowedValues:C},{key:"redirect",converter:D.converters.DOMString,allowedValues:F},{key:"integrity",converter:D.converters.DOMString},{key:"keepalive",converter:D.converters.boolean},{key:"signal",converter:D.nullableConverter(G=>D.converters.AbortSignal(G,"RequestInit","signal"))},{key:"window",converter:D.converters.any},{key:"duplex",converter:D.converters.DOMString,allowedValues:E},{key:"dispatcher",converter:D.converters.any},{key:"priority",converter:D.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]),Nr={Request:CA,makeRequest:IA,fromInnerRequest:SA,cloneRequest:TA,getRequestDispatcher:$,getRequestState:wA},Nr}var pr,Os;function Di(){if(Os)return pr;Os=1;const e=AA,{runtimeFeatures:y}=ce(),B=new Map([["sha256",0],["sha384",1],["sha512",2]]);let S;if(y.has("crypto")){S=AA;const i=S.getHashes();i.length===0&&B.clear();for(const c of B.keys())i.includes(c)===!1&&B.delete(c)}else B.clear();const r=Map.prototype.get.bind(B),Q=Map.prototype.has.bind(B),f=y.has("crypto")===!1||B.size===0?()=>!0:(i,c)=>{const n=u(c);if(n.length===0)return!0;const A=w(n);for(const t of A){const o=t.alg,g=t.val,d=l(o,i);if(a(d,g))return!0}return!1};function w(i){const c=[];let n=null;for(const A of i){if(e(Q(A.alg),"Invalid SRI hash algorithm token"),c.length===0){c.push(A),n=A;continue}const t=n.alg,o=r(t),g=A.alg,d=r(g);d<o||(d>o?(n=A,c[0]=A,c.length=1):c.push(A))}return c}function u(i){const c=[];for(const n of i.split(" ")){const t=n.split("?",1)[0];let o="";const g=[t.slice(0,6),t.slice(7)],d=g[0];if(!Q(d))continue;g[1]&&(o=g[1]);const F={alg:d,val:o};c.push(F)}return c}const l=(i,c)=>S.hash(i,c,"base64");function a(i,c){let n=i.length;n!==0&&i[n-1]==="="&&(n-=1),n!==0&&i[n-1]==="="&&(n-=1);let A=c.length;if(A!==0&&c[A-1]==="="&&(A-=1),A!==0&&c[A-1]==="="&&(A-=1),n!==A)return!1;for(let t=0;t<n;++t)if(!(i[t]===c[t]||i[t]==="+"&&c[t]==="-"||i[t]==="/"&&c[t]==="_"))return!1;return!0}return pr={applyAlgorithmToBytes:l,bytesMatch:f,caseSensitiveMatch:a,isValidSRIHashAlgorithm:Q,getStrongestMetadata:w,parseMetadata:u},pr}var Fr,xs;function je(){if(xs)return Fr;xs=1;const{makeNetworkError:e,makeAppropriateNetworkError:y,filterResponse:B,makeResponse:S,fromInnerResponse:r,getResponseState:Q}=ze(),{HeadersList:f}=Se(),{Request:w,cloneRequest:u,getRequestDispatcher:l,getRequestState:a}=ke(),i=Fe,{makePolicyContainer:c,clonePolicyContainer:n,requestBadPort:A,TAOCheck:t,appendRequestOriginHeader:o,responseLocationURL:g,requestCurrentURL:d,setRequestReferrerPolicyOnRedirect:F,tryUpgradeRequestToAPotentiallyTrustworthyURL:I,createOpaqueTimingInfo:s,appendFetchMetadata:C,corsCheck:E,crossOriginResourcePolicyCheck:h,determineRequestsReferrer:R,coarsenedSharedCurrentTime:N,sameOrigin:D,isCancelled:p,isAborted:k,isErrorLike:m,fullyReadBody:H,readableStreamClose:M,urlIsLocal:b,urlIsHttpHttpsScheme:T,urlHasHttpsScheme:J,clampAndCoarsenConnectionTimingInfo:tA,simpleRangeHeaderValue:sA,buildContentRange:gA,createInflate:dA,extractMimeType:CA,hasAuthenticationEntry:mA,includesCredentials:$,isTraversableNavigable:rA}=se(),nA=AA,{safelyExtractBody:wA,extractBody:kA}=Ue(),{redirectStatusSet:IA,nullBodyStatus:TA,safeMethodsSet:SA,requestBodyHeader:G,subresourceSet:BA}=qe(),QA=AA,{Readable:RA,pipeline:K,finished:FA,isErrored:OA,isReadable:LA}=AA,{addAbortListener:XA,bufferToLowerCasedHeaderName:PA}=bA(),{dataURLProcessor:qA,serializeAMimeType:JA,minimizeSupportedMimeType:KA}=oe(),{getGlobalDispatcher:zA}=An(),{webidl:_A}=ee(),{STATUS_CODES:$A}=AA,{bytesMatch:X}=Di(),{createDeferredPromise:fA}=Ze(),{isomorphicEncode:U}=Qe(),{runtimeFeatures:Y}=ce(),W=Y.has("zstd"),aA=["GET","HEAD"],iA=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici";let hA;class UA extends QA{constructor(EA){super(),this.dispatcher=EA,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(EA){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(EA),this.emit("terminated",EA))}abort(EA){this.state==="ongoing"&&(this.state="aborted",EA||(EA=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=EA,this.connection?.destroy(EA),this.emit("terminated",EA))}}function V(v){oA(v,"fetch")}function Z(v,EA=void 0){_A.argumentLengthCheck(arguments,1,"globalThis.fetch");let z=fA(),P;try{P=new w(v,EA)}catch(VA){return z.reject(VA),z.promise}const eA=a(P);if(P.signal.aborted)return j(z,eA,null,P.signal.reason,null),z.promise;eA.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(eA.serviceWorkers="none");let yA=null,YA=!1,GA=null;return XA(P.signal,()=>{YA=!0,nA(GA!=null),GA.abort(P.signal.reason);const VA=yA?.deref();j(z,eA,VA,P.signal.reason,GA.controller)}),GA=L({request:eA,processResponseEndOfBody:V,processResponse:VA=>{if(!YA){if(VA.aborted){j(z,eA,yA,GA.serializedAbortReason,GA.controller);return}if(VA.type==="error"){z.reject(new TypeError("fetch failed",{cause:VA.error}));return}yA=new WeakRef(r(VA,"immutable")),z.resolve(yA.deref()),z=null}},dispatcher:l(P),requestObject:P}),z.promise}function oA(v,EA="other"){if(v.type==="error"&&v.aborted||!v.urlList?.length)return;const z=v.urlList[0];let P=v.timingInfo,eA=v.cacheState;T(z)&&P!==null&&(v.timingAllowPassed||(P=s({startTime:P.startTime}),eA=""),P.endTime=N(),v.timingInfo=P,cA(P,z.href,EA,globalThis,eA,"",v.status))}const cA=performance.markResourceTiming;function j(v,EA,z,P,eA){if(v&&v.reject(P),EA.body?.stream!=null&&LA(EA.body.stream)&&EA.body.stream.cancel(P).catch(yA=>{if(yA.code!=="ERR_INVALID_STATE")throw yA}),z==null)return;const _=Q(z);_.body?.stream!=null&&LA(_.body.stream)&&eA.error(P)}function L({request:v,processRequestBodyChunkLength:EA,processRequestEndOfBody:z,processResponse:P,processResponseEndOfBody:eA,processResponseConsumeBody:_,useParallelQueue:yA=!1,dispatcher:YA=zA(),requestObject:GA=null}){nA(YA);let xA=null,VA=!1;v.client!=null&&(xA=v.client.globalObject,VA=v.client.crossOriginIsolatedCapability);const ne=N(VA),HA=s({startTime:ne}),WA={controller:new UA(YA),request:v,timingInfo:HA,processRequestBodyChunkLength:EA,processRequestEndOfBody:z,processResponse:P,processResponseConsumeBody:_,processResponseEndOfBody:eA,taskDestination:xA,crossOriginIsolatedCapability:VA,requestObject:GA};return nA(!v.body||v.body.stream),v.window==="client"&&(v.window=v.client?.globalObject?.constructor?.name==="Window"?v.client:"no-window"),v.origin==="client"&&(v.origin=v.client.origin),v.policyContainer==="client"&&(v.client!=null?v.policyContainer=n(v.client.policyContainer):v.policyContainer=c()),v.headersList.contains("accept",!0)||v.headersList.append("accept","*/*",!0),v.headersList.contains("accept-language",!0)||v.headersList.append("accept-language","*",!0),v.priority,BA.has(v.destination),O(WA,!1),WA.controller}async function O(v,EA){try{const z=v.request;let P=null;if(z.localURLsOnly&&!b(d(z))&&(P=e("local URLs only")),I(z),A(z)==="blocked"&&(P=e("bad port")),z.referrerPolicy===""&&(z.referrerPolicy=z.policyContainer.referrerPolicy),z.referrer!=="no-referrer"&&(z.referrer=R(z)),P===null){const _=d(z);D(_,z.url)&&z.responseTainting==="basic"||_.protocol==="data:"||z.mode==="navigate"||z.mode==="websocket"?(z.responseTainting="basic",P=await q(v)):z.mode==="same-origin"?P=e('request mode cannot be "same-origin"'):z.mode==="no-cors"?z.redirect!=="follow"?P=e('redirect mode cannot be "follow" for "no-cors" request'):(z.responseTainting="opaque",P=await q(v)):T(d(z))?(z.responseTainting="cors",P=await DA(v)):P=e("URL scheme must be a HTTP(S) scheme")}if(EA)return P;P.status!==0&&!P.internalResponse&&(z.responseTainting,z.responseTainting==="basic"?P=B(P,"basic"):z.responseTainting==="cors"?P=B(P,"cors"):z.responseTainting==="opaque"?P=B(P,"opaque"):nA(!1));let eA=P.status===0?P:P.internalResponse;if(eA.urlList.length===0&&eA.urlList.push(...z.urlList),z.timingAllowFailed||(P.timingAllowPassed=!0),P.type==="opaque"&&eA.status===206&&eA.rangeRequested&&!z.headers.contains("range",!0)&&(P=eA=e()),P.status!==0&&(z.method==="HEAD"||z.method==="CONNECT"||TA.includes(eA.status))&&(eA.body=null,v.controller.dump=!0),z.integrity){const _=YA=>lA(v,e(YA));if(z.responseTainting==="opaque"||P.body==null){_(P.error);return}const yA=YA=>{if(!X(YA,z.integrity)){_("integrity mismatch");return}P.body=wA(YA)[0],lA(v,P)};H(P.body,yA,_)}else lA(v,P)}catch(z){v.controller.terminate(z)}}function q(v){if(p(v)&&v.request.redirectCount===0)return Promise.resolve(y(v));const{request:EA}=v,{protocol:z}=d(EA);switch(z){case"about:":return Promise.resolve(e("about scheme is not supported"));case"blob:":{hA||(hA=AA.resolveObjectURL);const P=d(EA);if(P.search.length!==0)return Promise.resolve(e("NetworkError when attempting to fetch resource."));const eA=hA(P.toString());if(EA.method!=="GET"||!_A.is.Blob(eA))return Promise.resolve(e("invalid method"));const _=S(),yA=eA.size,YA=U(`${yA}`),GA=eA.type;if(EA.headersList.contains("range",!0)){_.rangeRequested=!0;const xA=EA.headersList.get("range",!0),VA=sA(xA,!0);if(VA==="failure")return Promise.resolve(e("failed to fetch the data URL"));let{rangeStartValue:ne,rangeEndValue:HA}=VA;if(ne===null)ne=yA-HA,HA=ne+HA-1;else{if(ne>=yA)return Promise.resolve(e("Range start is greater than the blob's size."));(HA===null||HA>=yA)&&(HA=yA-1)}const WA=eA.slice(ne,HA+1,GA),te=kA(WA);_.body=te[0];const ZA=U(`${WA.size}`),ge=gA(ne,HA,yA);_.status=206,_.statusText="Partial Content",_.headersList.set("content-length",ZA,!0),_.headersList.set("content-type",GA,!0),_.headersList.set("content-range",ge,!0)}else{const xA=kA(eA);_.statusText="OK",_.body=xA[0],_.headersList.set("content-length",YA,!0),_.headersList.set("content-type",GA,!0)}return Promise.resolve(_)}case"data:":{const P=d(EA),eA=qA(P);if(eA==="failure")return Promise.resolve(e("failed to fetch the data URL"));const _=JA(eA.mimeType);return Promise.resolve(S({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:_}]],body:wA(eA.body)[0]}))}case"file:":return Promise.resolve(e("not implemented... yet..."));case"http:":case"https:":return DA(v).catch(P=>e(P));default:return Promise.resolve(e("unknown scheme"))}}function x(v,EA){v.request.done=!0,v.processResponseDone!=null&&queueMicrotask(()=>v.processResponseDone(EA))}function lA(v,EA){let z=v.timingInfo;const P=()=>{const _=Date.now();v.request.destination==="document"&&(v.controller.fullTimingInfo=z),v.controller.reportTimingSteps=()=>{if(!T(v.request.url))return;z.endTime=_;let YA=EA.cacheState;const GA=EA.bodyInfo;EA.timingAllowPassed||(z=s(z),YA="");let xA=0;if(v.request.mode!=="navigator"||!EA.hasCrossOriginRedirects){xA=EA.status;const VA=CA(EA.headersList);VA!=="failure"&&(GA.contentType=KA(VA))}v.request.initiatorType!=null&&cA(z,v.request.url.href,v.request.initiatorType,globalThis,YA,GA,xA)};const yA=()=>{v.request.done=!0,v.processResponseEndOfBody!=null&&queueMicrotask(()=>v.processResponseEndOfBody(EA)),v.request.initiatorType!=null&&v.controller.reportTimingSteps()};queueMicrotask(()=>yA())};v.processResponse!=null&&queueMicrotask(()=>{v.processResponse(EA),v.processResponse=null});const eA=EA.type==="error"?EA:EA.internalResponse??EA;eA.body==null?P():FA(eA.body.stream,()=>{P()})}async function DA(v){const EA=v.request;let z=null,P=null;const eA=v.timingInfo;if(EA.serviceWorkers,z===null){if(EA.redirect==="follow"&&(EA.serviceWorkers="none"),P=z=await uA(v),EA.responseTainting==="cors"&&E(EA,z)==="failure")return e("cors failure");t(EA,z)==="failure"&&(EA.timingAllowFailed=!0)}return(EA.responseTainting==="opaque"||z.type==="opaque")&&h(EA.origin,EA.client,EA.destination,P)==="blocked"?e("blocked"):(IA.has(P.status)&&(EA.redirect!=="manual"&&v.controller.connection.destroy(void 0,!1),EA.redirect==="error"?z=e("unexpected redirect"):EA.redirect==="manual"?z=P:EA.redirect==="follow"?z=await NA(v,z):nA(!1)),z.timingInfo=eA,z)}function NA(v,EA){const z=v.request,P=EA.internalResponse?EA.internalResponse:EA;let eA;try{if(eA=g(P,d(z).hash),eA==null)return EA}catch(yA){return Promise.resolve(e(yA))}if(!T(eA))return Promise.resolve(e("URL scheme must be a HTTP(S) scheme"));if(z.redirectCount===20)return Promise.resolve(e("redirect count exceeded"));if(z.redirectCount+=1,z.mode==="cors"&&(eA.username||eA.password)&&!D(z,eA))return Promise.resolve(e('cross origin not allowed for request mode "cors"'));if(z.responseTainting==="cors"&&(eA.username||eA.password))return Promise.resolve(e('URL cannot contain credentials for request mode "cors"'));if(P.status!==303&&z.body!=null&&z.body.source==null)return Promise.resolve(e());if([301,302].includes(P.status)&&z.method==="POST"||P.status===303&&!aA.includes(z.method)){z.method="GET",z.body=null;for(const yA of G)z.headersList.delete(yA)}D(d(z),eA)||(z.headersList.delete("authorization",!0),z.headersList.delete("proxy-authorization",!0),z.headersList.delete("cookie",!0),z.headersList.delete("host",!0)),z.body!=null&&(nA(z.body.source!=null),z.body=wA(z.body.source)[0]);const _=v.timingInfo;return _.redirectEndTime=_.postRedirectStartTime=N(v.crossOriginIsolatedCapability),_.redirectStartTime===0&&(_.redirectStartTime=_.startTime),z.urlList.push(eA),F(z,P),O(v,!0)}async function uA(v,EA=!1,z=!1){const P=v.request;let eA=null,_=null,yA=null;P.window==="no-window"&&P.redirect==="error"?(eA=v,_=P):(_=u(P),eA={...v},eA.request=_);const YA=P.credentials==="include"||P.credentials==="same-origin"&&P.responseTainting==="basic",GA=_.body?_.body.length:null;let xA=null;if(_.body==null&&["POST","PUT"].includes(_.method)&&(xA="0"),GA!=null&&(xA=U(`${GA}`)),xA!=null&&_.headersList.append("content-length",xA,!0),GA!=null&&_.keepalive,_A.is.URL(_.referrer)&&_.headersList.append("referer",U(_.referrer.href),!0),o(_),C(_),_.headersList.contains("user-agent",!0)||_.headersList.append("user-agent",iA,!0),_.cache==="default"&&(_.headersList.contains("if-modified-since",!0)||_.headersList.contains("if-none-match",!0)||_.headersList.contains("if-unmodified-since",!0)||_.headersList.contains("if-match",!0)||_.headersList.contains("if-range",!0))&&(_.cache="no-store"),_.cache==="no-cache"&&!_.preventNoCacheCacheControlHeaderModification&&!_.headersList.contains("cache-control",!0)&&_.headersList.append("cache-control","max-age=0",!0),(_.cache==="no-store"||_.cache==="reload")&&(_.headersList.contains("pragma",!0)||_.headersList.append("pragma","no-cache",!0),_.headersList.contains("cache-control",!0)||_.headersList.append("cache-control","no-cache",!0)),_.headersList.contains("range",!0)&&_.headersList.append("accept-encoding","identity",!0),_.headersList.contains("accept-encoding",!0)||(J(d(_))?_.headersList.append("accept-encoding","br, gzip, deflate",!0):_.headersList.append("accept-encoding","gzip, deflate",!0)),_.headersList.delete("host",!0),YA&&!_.headersList.contains("authorization",!0)){let VA=null;if(!(mA(_)&&(_.useURLCredentials===void 0||!$(d(_))))){if($(d(_))&&EA){const{username:ne,password:HA}=d(_);VA=`Basic ${Buffer.from(`${ne}:${HA}`).toString("base64")}`}}VA!==null&&_.headersList.append("Authorization",VA,!1)}if(_.cache="no-store",_.cache!=="no-store"&&_.cache,yA==null){if(_.cache==="only-if-cached")return e("only if cached");const VA=await pA(eA,YA,z);!SA.has(_.method)&&VA.status>=200&&VA.status<=399,yA==null&&(yA=VA)}if(yA.urlList=[..._.urlList],_.headersList.contains("range",!0)&&(yA.rangeRequested=!0),yA.requestIncludesCredentials=YA,yA.status===401&&_.responseTainting!=="cors"&&YA&&rA(P.traversableForUserPrompts)){if(P.body!=null){if(P.body.source==null)return e("expected non-null body source");P.body=wA(P.body.source)[0]}if(P.useURLCredentials===void 0||EA)return p(v)?y(v):yA;v.controller.connection.destroy(),yA=await uA(v,!0)}if(yA.status===407)return P.window==="no-window"?e():p(v)?y(v):e("proxy authentication required");if(yA.status===421&&!z&&(P.body==null||P.body.source!=null)){if(p(v))return y(v);v.controller.connection.destroy(),yA=await uA(v,EA,!0)}return yA}async function pA(v,EA=!1,z=!1){nA(!v.controller.connection||v.controller.connection.destroyed),v.controller.connection={abort:null,destroyed:!1,destroy(HA,WA=!0){this.destroyed||(this.destroyed=!0,WA&&this.abort?.(HA??new DOMException("The operation was aborted.","AbortError")))}};const P=v.request;let eA=null;const _=v.timingInfo;P.cache="no-store",P.mode;let yA=null;if(P.body==null&&v.processRequestEndOfBody)queueMicrotask(()=>v.processRequestEndOfBody());else if(P.body!=null){const HA=async function*(ZA){p(v)||(yield ZA,v.processRequestBodyChunkLength?.(ZA.byteLength))},WA=()=>{p(v)||v.processRequestEndOfBody&&v.processRequestEndOfBody()},te=ZA=>{p(v)||(ZA.name==="AbortError"?v.controller.abort():v.controller.terminate(ZA))};yA=(async function*(){try{for await(const ZA of P.body.stream)yield*HA(ZA);WA()}catch(ZA){te(ZA)}})()}try{const{body:HA,status:WA,statusText:te,headersList:ZA,socket:ge}=await ne({body:yA});if(ge)eA=S({status:WA,statusText:te,headersList:ZA,socket:ge});else{const Ne=HA[Symbol.asyncIterator]();v.controller.next=()=>Ne.next(),eA=S({status:WA,statusText:te,headersList:ZA})}}catch(HA){return HA.name==="AbortError"?(v.controller.connection.destroy(),y(v,HA)):e(HA)}const YA=()=>v.controller.resume(),GA=HA=>{p(v)||v.controller.abort(HA)},xA=new ReadableStream({start(HA){v.controller.controller=HA},pull:YA,cancel:GA,type:"bytes"});eA.body={stream:xA,source:null,length:null},v.controller.resume||v.controller.on("terminated",VA),v.controller.resume=async()=>{for(;;){let HA,WA;try{const{done:ZA,value:ge}=await v.controller.next();if(k(v))break;HA=ZA?void 0:ge}catch(ZA){v.controller.ended&&!_.encodedBodySize?HA=void 0:(HA=ZA,WA=!0)}if(HA===void 0){M(v.controller.controller),x(v,eA);return}if(_.decodedBodySize+=HA?.byteLength??0,WA){v.controller.terminate(HA);return}const te=new Uint8Array(HA);if(te.byteLength&&v.controller.controller.enqueue(te),OA(xA)){v.controller.terminate();return}if(v.controller.controller.desiredSize<=0)return}};function VA(HA){k(v)?(eA.aborted=!0,LA(xA)&&v.controller.controller.error(v.controller.serializedAbortReason)):LA(xA)&&v.controller.controller.error(new TypeError("terminated",{cause:m(HA)?HA:void 0})),v.controller.connection.destroy()}return eA;function ne({body:HA}){const WA=d(P),te=v.controller.dispatcher,ZA=WA.pathname+WA.search,ge=WA.search.length===0&&WA.href[WA.href.length-WA.hash.length-1]==="?";return new Promise((Ne,rn)=>te.dispatch({path:ge?`${ZA}?`:ZA,origin:WA.origin,method:P.method,body:te.isMockActive?P.body&&(P.body.source||P.body.stream):HA,headers:P.headersList.entries,maxRedirections:0,upgrade:P.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(jA){const{connection:Ae}=v.controller;_.finalConnectionTimingInfo=tA(void 0,_.postRedirectStartTime,v.crossOriginIsolatedCapability),Ae.destroyed?jA(new DOMException("The operation was aborted.","AbortError")):(v.controller.on("terminated",jA),this.abort=Ae.abort=jA),_.finalNetworkRequestStartTime=N(v.crossOriginIsolatedCapability)},onResponseStarted(){_.finalNetworkResponseStartTime=N(v.crossOriginIsolatedCapability)},onHeaders(jA,Ae,Be,Ee){if(jA<200)return!1;const re=new f;for(let ae=0;ae<Ae.length;ae+=2)re.append(PA(Ae[ae]),Ae[ae+1].toString("latin1"),!0);const $e=re.get("location",!0);this.body=new RA({read:Be});const ue=$e&&P.redirect==="follow"&&IA.has(jA),ie=[];if(P.method!=="HEAD"&&P.method!=="CONNECT"&&!TA.includes(jA)&&!ue){const ae=re.get("content-encoding",!0),Le=ae?ae.toLowerCase().split(","):[],nn=5;if(Le.length>nn)return rn(new Error(`too many content-encodings in response: ${Le.length}, maximum allowed is ${nn}`)),!0;for(let At=Le.length-1;At>=0;--At){const pe=Le[At].trim();if(pe==="x-gzip"||pe==="gzip")ie.push(i.createGunzip({flush:i.constants.Z_SYNC_FLUSH,finishFlush:i.constants.Z_SYNC_FLUSH}));else if(pe==="deflate")ie.push(dA({flush:i.constants.Z_SYNC_FLUSH,finishFlush:i.constants.Z_SYNC_FLUSH}));else if(pe==="br")ie.push(i.createBrotliDecompress({flush:i.constants.BROTLI_OPERATION_FLUSH,finishFlush:i.constants.BROTLI_OPERATION_FLUSH}));else if(pe==="zstd"&&W)ie.push(i.createZstdDecompress({flush:i.constants.ZSTD_e_continue,finishFlush:i.constants.ZSTD_e_end}));else{ie.length=0;break}}}const Te=this.onError.bind(this);return Ne({status:jA,statusText:Ee,headersList:re,body:ie.length?K(this.body,...ie,ae=>{ae&&this.onError(ae)}).on("error",Te):this.body.on("error",Te)}),!0},onData(jA){if(v.controller.dump)return;const Ae=jA;return _.encodedBodySize+=Ae.byteLength,this.body.push(Ae)},onComplete(){this.abort&&v.controller.off("terminated",this.abort),v.controller.ended=!0,this.body.push(null)},onError(jA){this.abort&&v.controller.off("terminated",this.abort),this.body?.destroy(jA),v.controller.terminate(jA),rn(jA)},onRequestUpgrade(jA,Ae,Be,Ee){if(Ee.session!=null&&Ae!==200||Ee.session==null&&Ae!==101)return!1;const re=new f;for(const[$e,ue]of Object.entries(Be)){if(ue==null)continue;const ie=$e.toLowerCase();if(Array.isArray(ue))for(const Te of ue)re.append(ie,String(Te),!0);else re.append(ie,String(ue),!0)}return Ne({status:Ae,statusText:$A[Ae],headersList:re,socket:Ee}),!0},onUpgrade(jA,Ae,Be){if(Be.session!=null&&jA!==200||Be.session==null&&jA!==101)return!1;const Ee=new f;for(let re=0;re<Ae.length;re+=2)Ee.append(PA(Ae[re]),Ae[re+1].toString("latin1"),!0);return Ne({status:jA,statusText:$A[jA],headersList:Ee,socket:Be}),!0}}))}}return Fr={fetch:Z,Fetch:UA,fetching:L,finalizeAndReportTiming:oA},Fr}var Ur,Js;function wi(){if(Js)return Ur;Js=1;const e=AA,{URLSerializer:y}=oe(),{isValidHeaderName:B}=se();function S(Q,f,w=!1){const u=y(Q,w),l=y(f,w);return u===l}function r(Q){e(Q!==null);const f=[];for(let w of Q.split(","))w=w.trim(),B(w)&&f.push(w);return f}return Ur={urlEquals:S,getFieldValues:r},Ur}var mr,Ws;function Si(){if(Ws)return mr;Ws=1;const e=AA,{kConstruct:y}=vA(),{urlEquals:B,getFieldValues:S}=wi(),{kEnumerableProperty:r,isDisturbed:Q}=bA(),{webidl:f}=ee(),{cloneResponse:w,fromInnerResponse:u,getResponseState:l}=ze(),{Request:a,fromInnerRequest:i,getRequestState:c}=ke(),{fetching:n}=je(),{urlIsHttpHttpsScheme:A,readAllBytes:t}=se(),{createDeferredPromise:o}=Ze();class g{#A;constructor(){arguments[0]!==y&&f.illegalConstructor(),f.util.markAsUncloneable(this),this.#A=arguments[1]}async match(I,s={}){f.brandCheck(this,g);const C="Cache.match";f.argumentLengthCheck(arguments,1,C),I=f.converters.RequestInfo(I),s=f.converters.CacheQueryOptions(s,C,"options");const E=this.#s(I,s,1);if(E.length!==0)return E[0]}async matchAll(I=void 0,s={}){f.brandCheck(this,g);const C="Cache.matchAll";return I!==void 0&&(I=f.converters.RequestInfo(I)),s=f.converters.CacheQueryOptions(s,C,"options"),this.#s(I,s)}async add(I){f.brandCheck(this,g),f.argumentLengthCheck(arguments,1,"Cache.add"),I=f.converters.RequestInfo(I);const C=[I];return await this.addAll(C)}async addAll(I){f.brandCheck(this,g);const s="Cache.addAll";f.argumentLengthCheck(arguments,1,s);const C=[],E=[];for(let H of I){if(H===void 0)throw f.errors.conversionFailed({prefix:s,argument:"Argument 1",types:["undefined is not allowed"]});if(H=f.converters.RequestInfo(H),typeof H=="string")continue;const M=c(H);if(!A(M.url)||M.method!=="GET")throw f.errors.exception({header:s,message:"Expected http/s scheme when method is not GET."})}const h=[];for(const H of I){const M=c(new a(H));if(!A(M.url))throw f.errors.exception({header:s,message:"Expected http/s scheme."});M.initiator="fetch",M.destination="subresource",E.push(M);const b=o();h.push(n({request:M,processResponse(T){if(T.type==="error"||T.status===206||T.status<200||T.status>299)b.reject(f.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(T.headersList.contains("vary")){const J=S(T.headersList.get("vary"));for(const tA of J)if(tA==="*"){b.reject(f.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const sA of h)sA.abort();return}}},processResponseEndOfBody(T){if(T.aborted){b.reject(new DOMException("aborted","AbortError"));return}b.resolve(T)}})),C.push(b.promise)}const N=await Promise.all(C),D=[];let p=0;for(const H of N){const M={type:"put",request:E[p],response:H};D.push(M),p++}const k=o();let m=null;try{this.#e(D)}catch(H){m=H}return queueMicrotask(()=>{m===null?k.resolve(void 0):k.reject(m)}),k.promise}async put(I,s){f.brandCheck(this,g);const C="Cache.put";f.argumentLengthCheck(arguments,2,C),I=f.converters.RequestInfo(I),s=f.converters.Response(s,C,"response");let E=null;if(f.is.Request(I)?E=c(I):E=c(new a(I)),!A(E.url)||E.method!=="GET")throw f.errors.exception({header:C,message:"Expected an http/s scheme when method is not GET"});const h=l(s);if(h.status===206)throw f.errors.exception({header:C,message:"Got 206 status"});if(h.headersList.contains("vary")){const M=S(h.headersList.get("vary"));for(const b of M)if(b==="*")throw f.errors.exception({header:C,message:"Got * vary field value"})}if(h.body&&(Q(h.body.stream)||h.body.stream.locked))throw f.errors.exception({header:C,message:"Response body is locked or disturbed"});const R=w(h),N=o();if(h.body!=null){const b=h.body.stream.getReader();t(b,N.resolve,N.reject)}else N.resolve(void 0);const D=[],p={type:"put",request:E,response:R};D.push(p);const k=await N.promise;R.body!=null&&(R.body.source=k);const m=o();let H=null;try{this.#e(D)}catch(M){H=M}return queueMicrotask(()=>{H===null?m.resolve():m.reject(H)}),m.promise}async delete(I,s={}){f.brandCheck(this,g);const C="Cache.delete";f.argumentLengthCheck(arguments,1,C),I=f.converters.RequestInfo(I),s=f.converters.CacheQueryOptions(s,C,"options");let E=null;if(f.is.Request(I)){if(E=c(I),E.method!=="GET"&&!s.ignoreMethod)return!1}else e(typeof I=="string"),E=c(new a(I));const h=[],R={type:"delete",request:E,options:s};h.push(R);const N=o();let D=null,p;try{p=this.#e(h)}catch(k){D=k}return queueMicrotask(()=>{D===null?N.resolve(!!p?.length):N.reject(D)}),N.promise}async keys(I=void 0,s={}){f.brandCheck(this,g);const C="Cache.keys";I!==void 0&&(I=f.converters.RequestInfo(I)),s=f.converters.CacheQueryOptions(s,C,"options");let E=null;if(I!==void 0)if(f.is.Request(I)){if(E=c(I),E.method!=="GET"&&!s.ignoreMethod)return[]}else typeof I=="string"&&(E=c(new a(I)));const h=o(),R=[];if(I===void 0)for(const N of this.#A)R.push(N[0]);else{const N=this.#t(E,s);for(const D of N)R.push(D[0])}return queueMicrotask(()=>{const N=[];for(const D of R){const p=i(D,void 0,new AbortController().signal,"immutable");N.push(p)}h.resolve(Object.freeze(N))}),h.promise}#e(I){const s=this.#A,C=[...s],E=[],h=[];try{for(const R of I){if(R.type!=="delete"&&R.type!=="put")throw f.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(R.type==="delete"&&R.response!=null)throw f.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(R.request,R.options,E).length)throw new DOMException("???","InvalidStateError");let N;if(R.type==="delete"){if(N=this.#t(R.request,R.options),N.length===0)return[];for(const D of N){const p=s.indexOf(D);e(p!==-1),s.splice(p,1)}}else if(R.type==="put"){if(R.response==null)throw f.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});const D=R.request;if(!A(D.url))throw f.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(D.method!=="GET")throw f.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(R.options!=null)throw f.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});N=this.#t(R.request);for(const p of N){const k=s.indexOf(p);e(k!==-1),s.splice(k,1)}s.push([R.request,R.response]),E.push([R.request,R.response])}h.push([R.request,R.response])}return h}catch(R){throw this.#A.length=0,this.#A=C,R}}#t(I,s,C){const E=[],h=C??this.#A;for(const R of h){const[N,D]=R;this.#r(I,N,D,s)&&E.push(R)}return E}#r(I,s,C=null,E){const h=new URL(I.url),R=new URL(s.url);if(E?.ignoreSearch&&(R.search="",h.search=""),!B(h,R,!0))return!1;if(C==null||E?.ignoreVary||!C.headersList.contains("vary"))return!0;const N=S(C.headersList.get("vary"));for(const D of N){if(D==="*")return!1;const p=s.headersList.get(D),k=I.headersList.get(D);if(p!==k)return!1}return!0}#s(I,s,C=1/0){let E=null;if(I!==void 0)if(f.is.Request(I)){if(E=c(I),E.method!=="GET"&&!s.ignoreMethod)return[]}else typeof I=="string"&&(E=c(new a(I)));const h=[];if(I===void 0)for(const N of this.#A)h.push(N[1]);else{const N=this.#t(E,s);for(const D of N)h.push(D[1])}const R=[];for(const N of h){const D=u(w(N),"immutable");if(R.push(D),R.length>=C)break}return Object.freeze(R)}}Object.defineProperties(g.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:r,matchAll:r,add:r,addAll:r,put:r,delete:r,keys:r});const d=[{key:"ignoreSearch",converter:f.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:f.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:f.converters.boolean,defaultValue:()=>!1}];return f.converters.CacheQueryOptions=f.dictionaryConverter(d),f.converters.MultiCacheQueryOptions=f.dictionaryConverter([...d,{key:"cacheName",converter:f.converters.DOMString}]),f.converters.Response=f.interfaceConverter(f.is.Response,"Response"),f.converters["sequence<RequestInfo>"]=f.sequenceConverter(f.converters.RequestInfo),mr={Cache:g},mr}var Mr,Ps;function Ri(){if(Ps)return Mr;Ps=1;const{Cache:e}=Si(),{webidl:y}=ee(),{kEnumerableProperty:B}=bA(),{kConstruct:S}=vA();class r{#A=new Map;constructor(){arguments[0]!==S&&y.illegalConstructor(),y.util.markAsUncloneable(this)}async match(f,w={}){if(y.brandCheck(this,r),y.argumentLengthCheck(arguments,1,"CacheStorage.match"),f=y.converters.RequestInfo(f),w=y.converters.MultiCacheQueryOptions(w),w.cacheName!=null){if(this.#A.has(w.cacheName)){const u=this.#A.get(w.cacheName);return await new e(S,u).match(f,w)}}else for(const u of this.#A.values()){const a=await new e(S,u).match(f,w);if(a!==void 0)return a}}async has(f){y.brandCheck(this,r);const w="CacheStorage.has";return y.argumentLengthCheck(arguments,1,w),f=y.converters.DOMString(f,w,"cacheName"),this.#A.has(f)}async open(f){y.brandCheck(this,r);const w="CacheStorage.open";if(y.argumentLengthCheck(arguments,1,w),f=y.converters.DOMString(f,w,"cacheName"),this.#A.has(f)){const l=this.#A.get(f);return new e(S,l)}const u=[];return this.#A.set(f,u),new e(S,u)}async delete(f){y.brandCheck(this,r);const w="CacheStorage.delete";return y.argumentLengthCheck(arguments,1,w),f=y.converters.DOMString(f,w,"cacheName"),this.#A.delete(f)}async keys(){return y.brandCheck(this,r),[...this.#A.keys()]}}return Object.defineProperties(r.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:B,has:B,open:B,delete:B,keys:B}),Mr={CacheStorage:r},Mr}var kr,qs;function Ni(){return qs||(qs=1,kr={maxAttributeValueSize:1024,maxNameValuePairSize:4096}),kr}var br,_s;function Uo(){if(_s)return br;_s=1;function e(i){for(let c=0;c<i.length;++c){const n=i.charCodeAt(c);if(n>=0&&n<=8||n>=10&&n<=31||n===127)return!0}return!1}function y(i){for(let c=0;c<i.length;++c){const n=i.charCodeAt(c);if(n<33||n>126||n===34||n===40||n===41||n===60||n===62||n===64||n===44||n===59||n===58||n===92||n===47||n===91||n===93||n===63||n===61||n===123||n===125)throw new Error("Invalid cookie name")}}function B(i){let c=i.length,n=0;if(i[0]==='"'){if(c===1||i[c-1]!=='"')throw new Error("Invalid cookie value");--c,++n}for(;n<c;){const A=i.charCodeAt(n++);if(A<33||A>126||A===34||A===44||A===59||A===92)throw new Error("Invalid cookie value")}}function S(i){for(let c=0;c<i.length;++c){const n=i.charCodeAt(c);if(n<32||n===127||n===59)throw new Error("Invalid cookie path")}}function r(i){if(i.startsWith("-")||i.endsWith(".")||i.endsWith("-"))throw new Error("Invalid cookie domain")}const Q=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],w=Array(61).fill(0).map((i,c)=>c.toString().padStart(2,"0"));function u(i){return typeof i=="number"&&(i=new Date(i)),`${Q[i.getUTCDay()]}, ${w[i.getUTCDate()]} ${f[i.getUTCMonth()]} ${i.getUTCFullYear()} ${w[i.getUTCHours()]}:${w[i.getUTCMinutes()]}:${w[i.getUTCSeconds()]} GMT`}function l(i){if(i<0)throw new Error("Invalid cookie max-age")}function a(i){if(i.name.length===0)return null;y(i.name),B(i.value);const c=[`${i.name}=${i.value}`];i.name.startsWith("__Secure-")&&(i.secure=!0),i.name.startsWith("__Host-")&&(i.secure=!0,i.domain=null,i.path="/"),i.secure&&c.push("Secure"),i.httpOnly&&c.push("HttpOnly"),typeof i.maxAge=="number"&&(l(i.maxAge),c.push(`Max-Age=${i.maxAge}`)),i.domain&&(r(i.domain),c.push(`Domain=${i.domain}`)),i.path&&(S(i.path),c.push(`Path=${i.path}`)),i.expires&&i.expires.toString()!=="Invalid Date"&&c.push(`Expires=${u(i.expires)}`),i.sameSite&&c.push(`SameSite=${i.sameSite}`);for(const n of i.unparsed){if(!n.includes("="))throw new Error("Invalid unparsed");const[A,...t]=n.split("=");c.push(`${A.trim()}=${t.join("=")}`)}return c.join("; ")}return br={isCTLExcludingHtab:e,validateCookieName:y,validateCookiePath:S,validateCookieValue:B,toIMFDate:u,stringify:a},br}var Tr,Zs;function pi(){if(Zs)return Tr;Zs=1;const{collectASequenceOfCodePointsFast:e}=Qe(),{maxNameValuePairSize:y,maxAttributeValueSize:B}=Ni(),{isCTLExcludingHtab:S}=Uo(),r=AA,{unescape:Q}=AA;function f(u){if(S(u))return null;let l="",a="",i="",c="";if(u.includes(";")){const n={position:0};l=e(";",u,n),a=u.slice(n.position)}else l=u;if(!l.includes("="))c=l;else{const n={position:0};i=e("=",l,n),c=l.slice(n.position+1)}return i=i.trim(),c=c.trim(),i.length+c.length>y?null:{name:i,value:Q(c),...w(a)}}function w(u,l={}){if(u.length===0)return l;r(u[0]===";"),u=u.slice(1);let a="";u.includes(";")?(a=e(";",u,{position:0}),u=u.slice(a.length)):(a=u,u="");let i="",c="";if(a.includes("=")){const A={position:0};i=e("=",a,A),c=a.slice(A.position+1)}else i=a;if(i=i.trim(),c=c.trim(),c.length>B)return w(u,l);const n=i.toLowerCase();if(n==="expires"){const A=new Date(c);l.expires=A}else if(n==="max-age"){const A=c.charCodeAt(0);if((A<48||A>57)&&c[0]!=="-"||!/^\d+$/.test(c))return w(u,l);const t=Number(c);l.maxAge=t}else if(n==="domain"){let A=c;A[0]==="."&&(A=A.slice(1)),A=A.toLowerCase(),l.domain=A}else if(n==="path"){let A="";c.length===0||c[0]!=="/"?A="/":A=c,l.path=A}else if(n==="secure")l.secure=!0;else if(n==="httponly")l.httpOnly=!0;else if(n==="samesite"){let A="Default";const t=c.toLowerCase();t.includes("none")&&(A="None"),t.includes("strict")&&(A="Strict"),t.includes("lax")&&(A="Lax"),l.sameSite=A}else l.unparsed??=[],l.unparsed.push(`${i}=${c}`);return w(u,l)}return Tr={parseSetCookie:f,parseUnparsedAttributes:w},Tr}var Lr,Xs;function Fi(){if(Xs)return Lr;Xs=1;const{parseSetCookie:e}=pi(),{stringify:y}=Uo(),{webidl:B}=ee(),{Headers:S}=Se(),r=B.brandCheckMultiple([S,globalThis.Headers].filter(Boolean));function Q(a){B.argumentLengthCheck(arguments,1,"getCookies"),r(a);const i=a.get("cookie"),c={};if(!i)return c;for(const n of i.split(";")){const[A,...t]=n.split("=");c[A.trim()]=t.join("=")}return c}function f(a,i,c){r(a);const n="deleteCookie";B.argumentLengthCheck(arguments,2,n),i=B.converters.DOMString(i,n,"name"),c=B.converters.DeleteCookieAttributes(c),l(a,{name:i,value:"",expires:new Date(0),...c})}function w(a){B.argumentLengthCheck(arguments,1,"getSetCookies"),r(a);const i=a.getSetCookie();return i?i.map(c=>e(c)):[]}function u(a){return a=B.converters.DOMString(a),e(a)}function l(a,i){B.argumentLengthCheck(arguments,2,"setCookie"),r(a),i=B.converters.Cookie(i);const c=y(i);c&&a.append("set-cookie",c,!0)}return B.converters.DeleteCookieAttributes=B.dictionaryConverter([{converter:B.nullableConverter(B.converters.DOMString),key:"path",defaultValue:()=>null},{converter:B.nullableConverter(B.converters.DOMString),key:"domain",defaultValue:()=>null}]),B.converters.Cookie=B.dictionaryConverter([{converter:B.converters.DOMString,key:"name"},{converter:B.converters.DOMString,key:"value"},{converter:B.nullableConverter(a=>typeof a=="number"?B.converters["unsigned long long"](a):new Date(a)),key:"expires",defaultValue:()=>null},{converter:B.nullableConverter(B.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:B.nullableConverter(B.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:B.nullableConverter(B.converters.DOMString),key:"path",defaultValue:()=>null},{converter:B.nullableConverter(B.converters.boolean),key:"secure",defaultValue:()=>null},{converter:B.nullableConverter(B.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:B.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:B.sequenceConverter(B.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]),Lr={getCookies:Q,deleteCookie:f,getSetCookies:w,setCookie:l,parseCookie:u},Lr}var Hr,Ks;function en(){if(Ks)return Hr;Ks=1;const{webidl:e}=ee(),{kEnumerableProperty:y}=bA(),{kConstruct:B}=vA();class S extends Event{#A;constructor(l,a={}){if(l===B){super(arguments[1],arguments[2]),e.util.markAsUncloneable(this);return}const i="MessageEvent constructor";e.argumentLengthCheck(arguments,1,i),l=e.converters.DOMString(l,i,"type"),a=e.converters.MessageEventInit(a,i,"eventInitDict"),super(l,a),this.#A=a,e.util.markAsUncloneable(this)}get data(){return e.brandCheck(this,S),this.#A.data}get origin(){return e.brandCheck(this,S),this.#A.origin}get lastEventId(){return e.brandCheck(this,S),this.#A.lastEventId}get source(){return e.brandCheck(this,S),this.#A.source}get ports(){return e.brandCheck(this,S),Object.isFrozen(this.#A.ports)||Object.freeze(this.#A.ports),this.#A.ports}initMessageEvent(l,a=!1,i=!1,c=null,n="",A="",t=null,o=[]){return e.brandCheck(this,S),e.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new S(l,{bubbles:a,cancelable:i,data:c,origin:n,lastEventId:A,source:t,ports:o})}static createFastMessageEvent(l,a){const i=new S(B,l,a);return i.#A=a,i.#A.data??=null,i.#A.origin??="",i.#A.lastEventId??="",i.#A.source??=null,i.#A.ports??=[],i}}const{createFastMessageEvent:r}=S;delete S.createFastMessageEvent;class Q extends Event{#A;constructor(l,a={}){const i="CloseEvent constructor";e.argumentLengthCheck(arguments,1,i),l=e.converters.DOMString(l,i,"type"),a=e.converters.CloseEventInit(a),super(l,a),this.#A=a,e.util.markAsUncloneable(this)}get wasClean(){return e.brandCheck(this,Q),this.#A.wasClean}get code(){return e.brandCheck(this,Q),this.#A.code}get reason(){return e.brandCheck(this,Q),this.#A.reason}}class f extends Event{#A;constructor(l,a){const i="ErrorEvent constructor";e.argumentLengthCheck(arguments,1,i),super(l,a),e.util.markAsUncloneable(this),l=e.converters.DOMString(l,i,"type"),a=e.converters.ErrorEventInit(a??{}),this.#A=a}get message(){return e.brandCheck(this,f),this.#A.message}get filename(){return e.brandCheck(this,f),this.#A.filename}get lineno(){return e.brandCheck(this,f),this.#A.lineno}get colno(){return e.brandCheck(this,f),this.#A.colno}get error(){return e.brandCheck(this,f),this.#A.error}}Object.defineProperties(S.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:y,origin:y,lastEventId:y,source:y,ports:y,initMessageEvent:y}),Object.defineProperties(Q.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:y,code:y,wasClean:y}),Object.defineProperties(f.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:y,filename:y,lineno:y,colno:y,error:y}),e.converters.MessagePort=e.interfaceConverter(e.is.MessagePort,"MessagePort"),e.converters["sequence<MessagePort>"]=e.sequenceConverter(e.converters.MessagePort);const w=[{key:"bubbles",converter:e.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:e.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:e.converters.boolean,defaultValue:()=>!1}];return e.converters.MessageEventInit=e.dictionaryConverter([...w,{key:"data",converter:e.converters.any,defaultValue:()=>null},{key:"origin",converter:e.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:e.converters.DOMString,defaultValue:()=>""},{key:"source",converter:e.nullableConverter(e.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:e.converters["sequence<MessagePort>"],defaultValue:()=>[]}]),e.converters.CloseEventInit=e.dictionaryConverter([...w,{key:"wasClean",converter:e.converters.boolean,defaultValue:()=>!1},{key:"code",converter:e.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:e.converters.USVString,defaultValue:()=>""}]),e.converters.ErrorEventInit=e.dictionaryConverter([...w,{key:"message",converter:e.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:e.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:e.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:e.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:e.converters.any}]),Hr={MessageEvent:S,CloseEvent:Q,ErrorEvent:f,createFastMessageEvent:r},Hr}var Yr,zs;function he(){if(zs)return Yr;zs=1;const e="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",y={enumerable:!0,writable:!1,configurable:!1},B={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},S={SENT:1,RECEIVED:2},r={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},Q=65535,f={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},w=Buffer.allocUnsafe(0);return Yr={uid:e,sentCloseFrameState:S,staticPropertyDescriptors:y,states:B,opcodes:r,maxUnsigned16Bit:Q,parserStates:f,emptyBuffer:w,sendHints:{text:1,typedArray:2,arrayBuffer:3,blob:4}},Yr}var Gr,js;function Re(){if(js)return Gr;js=1;const{states:e,opcodes:y}=he(),{isUtf8:B}=AA,{removeHTTPWhitespace:S}=oe(),{collectASequenceOfCodePointsFast:r}=Qe();function Q(E){return E===e.CONNECTING}function f(E){return E===e.OPEN}function w(E){return E===e.CLOSING}function u(E){return E===e.CLOSED}function l(E,h,R=(D,p)=>new Event(D,p),N={}){const D=R(E,N);h.dispatchEvent(D)}function a(E,h,R){E.onMessage(h,R)}function i(E){return E.byteLength===E.buffer.byteLength?E.buffer:new Uint8Array(E).buffer}function c(E){if(E.length===0)return!1;for(let h=0;h<E.length;++h){const R=E.charCodeAt(h);if(R<33||R>126||R===34||R===40||R===41||R===44||R===47||R===58||R===59||R===60||R===61||R===62||R===63||R===64||R===91||R===92||R===93||R===123||R===125)return!1}return!0}function n(E){return E>=1e3&&E<1015?E!==1004&&E!==1005&&E!==1006:E>=3e3&&E<=4999}function A(E){return E===y.CLOSE||E===y.PING||E===y.PONG}function t(E){return E===y.CONTINUATION}function o(E){return E===y.TEXT||E===y.BINARY}function g(E){return o(E)||t(E)||A(E)}function d(E){const h={position:0},R=new Map;for(;h.position<E.length;){const N=r(";",E,h),[D,p=""]=N.split("=",2);R.set(S(D,!0,!1),S(p,!1,!0)),h.position++}return R}function F(E){if(E.length===0)return!1;for(let R=0;R<E.length;R++){const N=E.charCodeAt(R);if(N<48||N>57)return!1}const h=Number.parseInt(E,10);return h>=8&&h<=15}function I(E,h){let R;try{R=new URL(E,h)}catch(N){throw new DOMException(N,"SyntaxError")}if(R.protocol==="http:"?R.protocol="ws:":R.protocol==="https:"&&(R.protocol="wss:"),R.protocol!=="ws:"&&R.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(R.hash.length||R.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return R}function s(E,h){if(E!==null&&E!==1e3&&(E<3e3||E>4999))throw new DOMException("invalid code","InvalidAccessError");if(h!==null){const R=Buffer.byteLength(h);if(R>123)throw new DOMException(`Reason must be less than 123 bytes; received ${R}`,"SyntaxError")}}const C=(()=>{if(typeof process.versions.icu=="string"){const E=new TextDecoder("utf-8",{fatal:!0});return E.decode.bind(E)}return function(E){if(B(E))return E.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();return Gr={isConnecting:Q,isEstablished:f,isClosing:w,isClosed:u,fireEvent:l,isValidSubprotocol:c,isValidStatusCode:n,websocketMessageReceived:a,utf8Decode:C,isControlFrame:A,isContinuationFrame:t,isTextBinaryFrame:o,isValidOpcode:g,parseExtensions:d,isValidClientWindowBits:F,toArrayBuffer:i,getURLRecord:I,validateCloseCodeAndReason:s},Gr}var Vr,$s;function be(){if($s)return Vr;$s=1;const{runtimeFeatures:e}=ce(),{maxUnsigned16Bit:y,opcodes:B}=he(),S=8*1024;let r=null,Q=S;const f=e.has("crypto")?AA.randomFillSync:function(a,i,c){for(let n=0;n<a.length;++n)a[n]=Math.random()*255|0;return a};function w(){return Q===S&&(Q=0,f(r??=Buffer.allocUnsafeSlow(S),0,S)),[r[Q++],r[Q++],r[Q++],r[Q++]]}class u{constructor(a){this.frameData=a}createFrame(a){const i=this.frameData,c=w(),n=i?.byteLength??0;let A=n,t=6;n>y?(t+=8,A=127):n>125&&(t+=2,A=126);const o=Buffer.allocUnsafe(n+t);o[0]=o[1]=0,o[0]|=128,o[0]=(o[0]&240)+a;/*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> */o[t-4]=c[0],o[t-3]=c[1],o[t-2]=c[2],o[t-1]=c[3],o[1]=A,A===126?o.writeUInt16BE(n,2):A===127&&(o[2]=o[3]=0,o.writeUIntBE(n,4,6)),o[1]|=128;for(let g=0;g<n;++g)o[t+g]=i[g]^c[g&3];return o}static createFastTextFrame(a){const i=w(),c=a.length;for(let o=0;o<c;++o)a[o]^=i[o&3];let n=c,A=6;c>y?(A+=8,n=127):c>125&&(A+=2,n=126);const t=Buffer.allocUnsafeSlow(A);return t[0]=128|B.TEXT,t[1]=n|128,t[A-4]=i[0],t[A-3]=i[1],t[A-2]=i[2],t[A-1]=i[3],n===126?t.writeUInt16BE(c,2):n===127&&(t[2]=t[3]=0,t.writeUIntBE(c,4,6)),[t,a]}}return Vr={WebsocketFrameSend:u,generateMask:w},Vr}var vr,Ao;function tn(){if(Ao)return vr;Ao=1;const{uid:e,states:y,sentCloseFrameState:B,emptyBuffer:S,opcodes:r}=he(),{parseExtensions:Q,isClosed:f,isClosing:w,isEstablished:u,isConnecting:l,validateCloseCodeAndReason:a}=Re(),{makeRequest:i}=ke(),{fetching:c}=je(),{Headers:n,getHeadersList:A}=Se(),{getDecodeSplit:t}=se(),{WebsocketFrameSend:o}=be(),g=AA,{runtimeFeatures:d}=ce(),F=d.has("crypto")?AA:null;let I=!1;function s(h,R,N,D,p){const k=h;k.protocol=h.protocol==="ws:"?"http:":"https:";const m=i({urlList:[k],client:N,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(p.headers){const T=A(new n(p.headers));m.headersList=T}const H=F.randomBytes(16).toString("base64");m.headersList.append("sec-websocket-key",H,!0),m.headersList.append("sec-websocket-version","13",!0);for(const T of R)m.headersList.append("sec-websocket-protocol",T,!0);return m.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),c({request:m,useParallelQueue:!0,dispatcher:p.dispatcher,processResponse(T){if(T.type==="error"||T.status!==101){if(T.socket?.session==null){E(D,1002,"Received network error or non-101 status code.",T.error);return}if(T.status!==200){E(D,1002,"Received network error or non-200 status code.",T.error);return}}if(I===!1&&T.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),I=!0),R.length!==0&&!T.headersList.get("Sec-WebSocket-Protocol")){E(D,1002,"Server did not respond with sent protocols.");return}if(T.socket.session==null&&T.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){E(D,1002,'Server did not set Upgrade header to "websocket".');return}if(T.socket.session==null&&T.headersList.get("Connection")?.toLowerCase()!=="upgrade"){E(D,1002,'Server did not set Connection header to "upgrade".');return}const J=T.headersList.get("Sec-WebSocket-Accept"),tA=F.hash("sha1",H+e,"base64");if(J!==tA){E(D,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const sA=T.headersList.get("Sec-WebSocket-Extensions");let gA;if(sA!==null&&(gA=Q(sA),!gA.has("permessage-deflate"))){E(D,1002,"Sec-WebSocket-Extensions header does not match.");return}const dA=T.headersList.get("Sec-WebSocket-Protocol");if(dA!==null&&!t("sec-websocket-protocol",m.headersList).includes(dA)){E(D,1002,"Protocol was not set in the opening handshake.");return}T.socket.on("data",D.onSocketData),T.socket.on("close",D.onSocketClose),T.socket.on("error",D.onSocketError),D.wasEverConnected=!0,D.onConnectionEstablished(T,gA)}})}function C(h,R,N,D=!1){if(R??=null,N??="",D&&a(R,N),!(f(h.readyState)||w(h.readyState)))if(!u(h.readyState))E(h),h.readyState=y.CLOSING;else if(!h.closeState.has(B.SENT)&&!h.closeState.has(B.RECEIVED)){const p=new o;N.length!==0&&R===null&&(R=1e3),g(R===null||Number.isInteger(R)),R===null&&N.length===0?p.frameData=S:R!==null&&N===null?(p.frameData=Buffer.allocUnsafe(2),p.frameData.writeUInt16BE(R,0)):R!==null&&N!==null?(p.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(N)),p.frameData.writeUInt16BE(R,0),p.frameData.write(N,2,"utf-8")):p.frameData=S,h.socket.write(p.createFrame(r.CLOSE)),h.closeState.add(B.SENT),h.readyState=y.CLOSING}else h.readyState=y.CLOSING}function E(h,R,N,D){u(h.readyState)&&C(h,R,N,!1),h.controller.abort(),l(h.readyState)?h.onSocketClose():h.socket?.destroyed===!1&&h.socket.destroy()}return vr={establishWebSocketConnection:s,failWebsocketConnection:E,closeWebSocketConnection:C},vr}var Or,eo;function Ui(){if(eo)return Or;eo=1;const{createInflateRaw:e,Z_DEFAULT_WINDOWBITS:y}=Fe,{isValidClientWindowBits:B}=Re(),{MessageSizeExceededError:S}=MA(),r=Buffer.from([0,0,255,255]),Q=Symbol("kBuffer"),f=Symbol("kLength"),w=4*1024*1024;class u{#A;#e={};#t=!1;#r=null;constructor(a){this.#e.serverNoContextTakeover=a.has("server_no_context_takeover"),this.#e.serverMaxWindowBits=a.get("server_max_window_bits")}decompress(a,i,c){if(this.#t){c(new S);return}if(!this.#A){let n=y;if(this.#e.serverMaxWindowBits){if(!B(this.#e.serverMaxWindowBits)){c(new Error("Invalid server_max_window_bits"));return}n=Number.parseInt(this.#e.serverMaxWindowBits)}try{this.#A=e({windowBits:n})}catch(A){c(A);return}this.#A[Q]=[],this.#A[f]=0,this.#A.on("data",A=>{if(!this.#t){if(this.#A[f]+=A.length,this.#A[f]>w){if(this.#t=!0,this.#A.removeAllListeners(),this.#A.destroy(),this.#A=null,this.#r){const t=this.#r;this.#r=null,t(new S)}return}this.#A[Q].push(A)}}),this.#A.on("error",A=>{this.#A=null,c(A)})}this.#r=c,this.#A.write(a),i&&this.#A.write(r),this.#A.flush(()=>{if(this.#t||!this.#A)return;const n=Buffer.concat(this.#A[Q],this.#A[f]);this.#A[Q].length=0,this.#A[f]=0,this.#r=null,c(null,n)})}}return Or={PerMessageDeflate:u},Or}var xr,to;function mo(){if(to)return xr;to=1;const{Writable:e}=AA,y=AA,{parserStates:B,opcodes:S,states:r,emptyBuffer:Q,sentCloseFrameState:f}=he(),{isValidStatusCode:w,isValidOpcode:u,websocketMessageReceived:l,utf8Decode:a,isControlFrame:i,isTextBinaryFrame:c,isContinuationFrame:n}=Re(),{failWebsocketConnection:A}=tn(),{WebsocketFrameSend:t}=be(),{PerMessageDeflate:o}=Ui(),{MessageSizeExceededError:g}=MA();class d extends e{#A=[];#e=0;#t=0;#r=!1;#s=B.INFO;#n={};#a=[];#o;#i;constructor(I,s){super(),this.#i=I,this.#o=s??new Map,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new o(s))}_write(I,s,C){this.#A.push(I),this.#t+=I.length,this.#r=!0,this.run(C)}run(I){for(;this.#r;)if(this.#s===B.INFO){if(this.#t<2)return I();const s=this.consume(2),C=(s[0]&128)!==0,E=s[0]&15,h=(s[1]&128)===128,R=!C&&E!==S.CONTINUATION,N=s[1]&127,D=s[0]&64,p=s[0]&32,k=s[0]&16;if(!u(E))return A(this.#i,1002,"Invalid opcode received"),I();if(h)return A(this.#i,1002,"Frame cannot be masked"),I();if(D!==0&&!this.#o.has("permessage-deflate")){A(this.#i,1002,"Expected RSV1 to be clear.");return}if(p!==0||k!==0){A(this.#i,1002,"RSV1, RSV2, RSV3 must be clear");return}if(R&&!c(E)){A(this.#i,1002,"Invalid frame type was fragmented.");return}if(c(E)&&this.#a.length>0){A(this.#i,1002,"Expected continuation frame");return}if(this.#n.fragmented&&R){A(this.#i,1002,"Fragmented frame exceeded 125 bytes.");return}if((N>125||R)&&i(E)){A(this.#i,1002,"Control frame either too large or fragmented");return}if(n(E)&&this.#a.length===0&&!this.#n.compressed){A(this.#i,1002,"Unexpected continuation frame");return}N<=125?(this.#n.payloadLength=N,this.#s=B.READ_DATA):N===126?this.#s=B.PAYLOADLENGTH_16:N===127&&(this.#s=B.PAYLOADLENGTH_64),c(E)&&(this.#n.binaryType=E,this.#n.compressed=D!==0),this.#n.opcode=E,this.#n.masked=h,this.#n.fin=C,this.#n.fragmented=R}else if(this.#s===B.PAYLOADLENGTH_16){if(this.#t<2)return I();const s=this.consume(2);this.#n.payloadLength=s.readUInt16BE(0),this.#s=B.READ_DATA}else if(this.#s===B.PAYLOADLENGTH_64){if(this.#t<8)return I();const s=this.consume(8),C=s.readUInt32BE(0),E=s.readUInt32BE(4);if(C!==0||E>2**31-1){A(this.#i,1009,"Received payload length > 2^31 bytes.");return}this.#n.payloadLength=E,this.#s=B.READ_DATA}else if(this.#s===B.READ_DATA){if(this.#t<this.#n.payloadLength)return I();const s=this.consume(this.#n.payloadLength);if(i(this.#n.opcode))this.#r=this.parseControlFrame(s),this.#s=B.INFO;else if(!this.#n.compressed)this.writeFragments(s),!this.#n.fragmented&&this.#n.fin&&l(this.#i,this.#n.binaryType,this.consumeFragments()),this.#s=B.INFO;else{this.#o.get("permessage-deflate").decompress(s,this.#n.fin,(C,E)=>{if(C){const h=C instanceof g?1009:1007;A(this.#i,h,C.message);return}if(this.writeFragments(E),!this.#n.fin){this.#s=B.INFO,this.#r=!0,this.run(I);return}l(this.#i,this.#n.binaryType,this.consumeFragments()),this.#r=!0,this.#s=B.INFO,this.run(I)}),this.#r=!1;break}}}consume(I){if(I>this.#t)throw new Error("Called consume() before buffers satiated.");if(I===0)return Q;this.#t-=I;const s=this.#A[0];if(s.length>I)return this.#A[0]=s.subarray(I,s.length),s.subarray(0,I);if(s.length===I)return this.#A.shift();{let C=0;const E=Buffer.allocUnsafeSlow(I);for(;C!==I;){const h=this.#A[0],R=h.length;if(R+C===I){E.set(this.#A.shift(),C);break}else if(R+C>I){E.set(h.subarray(0,I-C),C),this.#A[0]=h.subarray(I-C);break}else E.set(this.#A.shift(),C),C+=R}return E}}writeFragments(I){this.#e+=I.length,this.#a.push(I)}consumeFragments(){const I=this.#a;if(I.length===1)return this.#e=0,I.shift();let s=0;const C=Buffer.allocUnsafeSlow(this.#e);for(let E=0;E<I.length;++E){const h=I[E];C.set(h,s),s+=h.length}return this.#a=[],this.#e=0,C}parseCloseBody(I){y(I.length!==1);let s;if(I.length>=2&&(s=I.readUInt16BE(0)),s!==void 0&&!w(s))return{code:1002,reason:"Invalid status code",error:!0};let C=I.subarray(2);C[0]===239&&C[1]===187&&C[2]===191&&(C=C.subarray(3));try{C=a(C)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:s,reason:C,error:!1}}parseControlFrame(I){const{opcode:s,payloadLength:C}=this.#n;if(s===S.CLOSE){if(C===1)return A(this.#i,1002,"Received close frame with a 1-byte body."),!1;if(this.#n.closeInfo=this.parseCloseBody(I),this.#n.closeInfo.error){const{code:E,reason:h}=this.#n.closeInfo;return A(this.#i,E,h),!1}if(!this.#i.closeState.has(f.SENT)&&!this.#i.closeState.has(f.RECEIVED)){let E=Q;this.#n.closeInfo.code&&(E=Buffer.allocUnsafe(2),E.writeUInt16BE(this.#n.closeInfo.code,0));const h=new t(E);this.#i.socket.write(h.createFrame(S.CLOSE)),this.#i.closeState.add(f.SENT)}return this.#i.readyState=r.CLOSING,this.#i.closeState.add(f.RECEIVED),!1}else if(s===S.PING){if(!this.#i.closeState.has(f.RECEIVED)){const E=new t(I);this.#i.socket.write(E.createFrame(S.PONG)),this.#i.onPing(I)}}else s===S.PONG&&this.#i.onPong(I);return!0}get closingInfo(){return this.#n.closeInfo}}return xr={ByteParser:d},xr}var Jr,ro;function mi(){if(ro)return Jr;ro=1;const{WebsocketFrameSend:e}=be(),{opcodes:y,sendHints:B}=he(),S=Co();class r{#A=new S;#e=!1;#t;constructor(u){this.#t=u}add(u,l,a){if(a!==B.blob){if(this.#e){const c={promise:null,callback:l,frame:Q(u,a)};this.#A.push(c)}else if(a===B.text){const{0:c,1:n}=e.createFastTextFrame(u);this.#t.cork(),this.#t.write(c),this.#t.write(n,l),this.#t.uncork()}else this.#t.write(Q(u,a),l);return}const i={promise:u.arrayBuffer().then(c=>{i.promise=null,i.frame=Q(c,a)}),callback:l,frame:null};this.#A.push(i),this.#e||this.#r()}async#r(){this.#e=!0;const u=this.#A;for(;!u.isEmpty();){const l=u.shift();l.promise!==null&&await l.promise,this.#t.write(l.frame,l.callback),l.callback=l.frame=null}this.#e=!1}}function Q(w,u){return new e(f(w,u)).createFrame(u===B.text?y.TEXT:y.BINARY)}function f(w,u){switch(u){case B.text:case B.typedArray:return new Uint8Array(w.buffer,w.byteOffset,w.byteLength);case B.arrayBuffer:case B.blob:return new Uint8Array(w)}}return Jr={SendQueue:r},Jr}var Wr,no;function Mi(){if(no)return Wr;no=1;const{isArrayBuffer:e}=AA,{webidl:y}=ee(),{URLSerializer:B}=oe(),{environmentSettingsObject:S}=se(),{staticPropertyDescriptors:r,states:Q,sentCloseFrameState:f,sendHints:w,opcodes:u}=he(),{isConnecting:l,isEstablished:a,isClosing:i,isClosed:c,isValidSubprotocol:n,fireEvent:A,utf8Decode:t,toArrayBuffer:o,getURLRecord:g}=Re(),{establishWebSocketConnection:d,closeWebSocketConnection:F,failWebsocketConnection:I}=tn(),{ByteParser:s}=mo(),{kEnumerableProperty:C}=bA(),{getGlobalDispatcher:E}=An(),{ErrorEvent:h,CloseEvent:R,createFastMessageEvent:N}=en(),{SendQueue:D}=mi(),{WebsocketFrameSend:p}=be(),{channels:k}=le();class m extends EventTarget{#A={open:null,error:null,close:null,message:null};#e=0;#t="";#r="";#s;#n={onConnectionEstablished:(b,T)=>this.#g(b,T),onMessage:(b,T)=>this.#c(b,T),onParserError:b=>I(this.#n,null,b.message),onParserDrain:()=>this.#E(),onSocketData:b=>{this.#i.write(b)||this.#n.socket.pause()},onSocketError:b=>{this.#n.readyState=Q.CLOSING,k.socketError.hasSubscribers&&k.socketError.publish(b),this.#n.socket.destroy()},onSocketClose:()=>this.#Q(),onPing:b=>{k.ping.hasSubscribers&&k.ping.publish({payload:b,websocket:this})},onPong:b=>{k.pong.hasSubscribers&&k.pong.publish({payload:b,websocket:this})},readyState:Q.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;#o;#i;constructor(b,T=[]){super(),y.util.markAsUncloneable(this);const J="WebSocket constructor";y.argumentLengthCheck(arguments,1,J);const tA=y.converters["DOMString or sequence<DOMString> or WebSocketInit"](T,J,"options");b=y.converters.USVString(b),T=tA.protocols;const sA=S.settingsObject.baseUrl,gA=g(b,sA);if(typeof T=="string"&&(T=[T]),T.length!==new Set(T.map(CA=>CA.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(T.length>0&&!T.every(CA=>n(CA)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#a=new URL(gA.href);const dA=S.settingsObject;this.#n.controller=d(gA,T,dA,this.#n,tA),this.#n.readyState=m.CONNECTING,this.#o="blob"}close(b=void 0,T=void 0){y.brandCheck(this,m),b!==void 0&&(b=y.converters["unsigned short"](b,"WebSocket.close","code",y.attributes.Clamp)),T!==void 0&&(T=y.converters.USVString(T)),b??=null,T??="",F(this.#n,b,T,!0)}send(b){y.brandCheck(this,m);const T="WebSocket.send";if(y.argumentLengthCheck(arguments,1,T),b=y.converters.WebSocketSendData(b,T,"data"),l(this.#n.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!a(this.#n.readyState)||i(this.#n.readyState)))if(typeof b=="string"){const J=Buffer.from(b);this.#e+=J.byteLength,this.#s.add(J,()=>{this.#e-=J.byteLength},w.text)}else e(b)?(this.#e+=b.byteLength,this.#s.add(b,()=>{this.#e-=b.byteLength},w.arrayBuffer)):ArrayBuffer.isView(b)?(this.#e+=b.byteLength,this.#s.add(b,()=>{this.#e-=b.byteLength},w.typedArray)):y.is.Blob(b)&&(this.#e+=b.size,this.#s.add(b,()=>{this.#e-=b.size},w.blob))}get readyState(){return y.brandCheck(this,m),this.#n.readyState}get bufferedAmount(){return y.brandCheck(this,m),this.#e}get url(){return y.brandCheck(this,m),B(this.#a)}get extensions(){return y.brandCheck(this,m),this.#r}get protocol(){return y.brandCheck(this,m),this.#t}get onopen(){return y.brandCheck(this,m),this.#A.open}set onopen(b){y.brandCheck(this,m),this.#A.open&&this.removeEventListener("open",this.#A.open);const T=y.converters.EventHandlerNonNull(b);T!==null?(this.addEventListener("open",T),this.#A.open=b):this.#A.open=null}get onerror(){return y.brandCheck(this,m),this.#A.error}set onerror(b){y.brandCheck(this,m),this.#A.error&&this.removeEventListener("error",this.#A.error);const T=y.converters.EventHandlerNonNull(b);T!==null?(this.addEventListener("error",T),this.#A.error=b):this.#A.error=null}get onclose(){return y.brandCheck(this,m),this.#A.close}set onclose(b){y.brandCheck(this,m),this.#A.close&&this.removeEventListener("close",this.#A.close);const T=y.converters.EventHandlerNonNull(b);T!==null?(this.addEventListener("close",T),this.#A.close=b):this.#A.close=null}get onmessage(){return y.brandCheck(this,m),this.#A.message}set onmessage(b){y.brandCheck(this,m),this.#A.message&&this.removeEventListener("message",this.#A.message);const T=y.converters.EventHandlerNonNull(b);T!==null?(this.addEventListener("message",T),this.#A.message=b):this.#A.message=null}get binaryType(){return y.brandCheck(this,m),this.#o}set binaryType(b){y.brandCheck(this,m),b!=="blob"&&b!=="arraybuffer"?this.#o="blob":this.#o=b}#g(b,T){this.#n.socket=b.socket;const J=new s(this.#n,T);J.on("drain",()=>this.#n.onParserDrain()),J.on("error",gA=>this.#n.onParserError(gA)),this.#i=J,this.#s=new D(b.socket),this.#n.readyState=Q.OPEN;const tA=b.headersList.get("sec-websocket-extensions");tA!==null&&(this.#r=tA);const sA=b.headersList.get("sec-websocket-protocol");if(sA!==null&&(this.#t=sA),A("open",this),k.open.hasSubscribers){const gA=b.headersList.entries;k.open.publish({address:b.socket.address(),protocol:this.#t,extensions:this.#r,websocket:this,handshakeResponse:{status:b.status,statusText:b.statusText,headers:gA}})}}#c(b,T){if(this.#n.readyState!==Q.OPEN)return;let J;if(b===u.TEXT)try{J=t(T)}catch{I(this.#n,1007,"Received invalid UTF-8 in text frame.");return}else b===u.BINARY&&(this.#o==="blob"?J=new Blob([T]):J=o(T));A("message",this,N,{origin:this.#a.origin,data:J})}#E(){this.#n.socket.resume()}#Q(){const b=this.#n.closeState.has(f.SENT)&&this.#n.closeState.has(f.RECEIVED);let T=1005,J="";const tA=this.#i?.closingInfo;tA&&!tA.error&&(T=tA.code??1005,J=tA.reason),this.#n.readyState=Q.CLOSED,this.#n.closeState.has(f.RECEIVED)||(T=1006,A("error",this,(sA,gA)=>new h(sA,gA),{error:new TypeError(J)})),A("close",this,(sA,gA)=>new R(sA,gA),{wasClean:b,code:T,reason:J}),k.close.hasSubscribers&&k.close.publish({websocket:this,code:T,reason:J})}static ping(b,T){if(Buffer.isBuffer(T)){if(T.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(T!==void 0)throw new TypeError("Expected buffer payload");const J=b.#n.readyState;if(a(J)&&!i(J)&&!c(J)){const tA=new p(T);b.#n.socket.write(tA.createFrame(u.PING))}}}const{ping:H}=m;return Reflect.deleteProperty(m,"ping"),m.CONNECTING=m.prototype.CONNECTING=Q.CONNECTING,m.OPEN=m.prototype.OPEN=Q.OPEN,m.CLOSING=m.prototype.CLOSING=Q.CLOSING,m.CLOSED=m.prototype.CLOSED=Q.CLOSED,Object.defineProperties(m.prototype,{CONNECTING:r,OPEN:r,CLOSING:r,CLOSED:r,url:C,readyState:C,bufferedAmount:C,onopen:C,onerror:C,onclose:C,close:C,onmessage:C,binaryType:C,send:C,extensions:C,protocol:C,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}}),Object.defineProperties(m,{CONNECTING:r,OPEN:r,CLOSING:r,CLOSED:r}),y.converters["sequence<DOMString>"]=y.sequenceConverter(y.converters.DOMString),y.converters["DOMString or sequence<DOMString>"]=function(M,b,T){return y.util.Type(M)===y.util.Types.OBJECT&&Symbol.iterator in M?y.converters["sequence<DOMString>"](M):y.converters.DOMString(M,b,T)},y.converters.WebSocketInit=y.dictionaryConverter([{key:"protocols",converter:y.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:y.converters.any,defaultValue:()=>E()},{key:"headers",converter:y.nullableConverter(y.converters.HeadersInit)}]),y.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(M){return y.util.Type(M)===y.util.Types.OBJECT&&!(Symbol.iterator in M)?y.converters.WebSocketInit(M):{protocols:y.converters["DOMString or sequence<DOMString>"](M)}},y.converters.WebSocketSendData=function(M){return y.util.Type(M)===y.util.Types.OBJECT&&(y.is.Blob(M)||y.is.BufferSource(M))?M:y.converters.USVString(M)},Wr={WebSocket:m,ping:H},Wr}var Pr,so;function Mo(){if(so)return Pr;so=1;const{webidl:e}=ee(),{validateCloseCodeAndReason:y}=Re(),{kConstruct:B}=vA(),{kEnumerableProperty:S}=bA();function r(){class w extends DOMException{get reason(){return""}}return new w().reason!==void 0?DOMException:new Proxy(DOMException,{construct(u,l,a){const i=Reflect.construct(u,l,u);return Object.setPrototypeOf(i,a.prototype),i}})}class Q extends r(){#A;#e;constructor(u="",l=void 0){if(u=e.converters.DOMString(u,"WebSocketError","message"),super(u,"WebSocketError"),l===B)return;l!==null&&(l=e.converters.WebSocketCloseInfo(l));let a=l.closeCode??null;const i=l.reason??"";y(a,i),i.length!==0&&a===null&&(a=1e3),this.#A=a,this.#e=i}get closeCode(){return this.#A}get reason(){return this.#e}static createUnvalidatedWebSocketError(u,l,a){const i=new Q(u,B);return i.#A=l,i.#e=a,i}}const{createUnvalidatedWebSocketError:f}=Q;return delete Q.createUnvalidatedWebSocketError,Object.defineProperties(Q.prototype,{closeCode:S,reason:S,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),e.is.WebSocketError=e.util.MakeTypeAssertion(Q),Pr={WebSocketError:Q,createUnvalidatedWebSocketError:f},Pr}var qr,oo;function ki(){if(oo)return qr;oo=1;const{createDeferredPromise:e}=Ze(),{environmentSettingsObject:y}=se(),{states:B,opcodes:S,sentCloseFrameState:r}=he(),{webidl:Q}=ee(),{getURLRecord:f,isValidSubprotocol:w,isEstablished:u,utf8Decode:l}=Re(),{establishWebSocketConnection:a,failWebsocketConnection:i,closeWebSocketConnection:c}=tn(),{channels:n}=le(),{WebsocketFrameSend:A}=be(),{ByteParser:t}=mo(),{WebSocketError:o,createUnvalidatedWebSocketError:g}=Mo(),{kEnumerableProperty:d}=bA(),{utf8DecodeBytes:F}=_e();let I=!1;class s{#A;#e;#t;#r;#s;#n;#a=!1;#o={onConnectionEstablished:(E,h)=>this.#c(E,h),onMessage:(E,h)=>this.#E(E,h),onParserError:E=>i(this.#o,null,E.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:E=>{this.#i.write(E)||this.#o.socket.pause()},onSocketError:E=>{this.#o.readyState=B.CLOSING,n.socketError.hasSubscribers&&n.socketError.publish(E),this.#o.socket.destroy()},onSocketClose:()=>this.#Q(),onPing:()=>{},onPong:()=>{},readyState:B.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;constructor(E,h=void 0){I||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),I=!0),Q.argumentLengthCheck(arguments,1,"WebSocket"),E=Q.converters.USVString(E),h!==null&&(h=Q.converters.WebSocketStreamOptions(h));const R=y.settingsObject.baseUrl,N=f(E,R),D=h.protocols;if(D.length!==new Set(D.map(k=>k.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(D.length>0&&!D.every(k=>w(k)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#A=N.toString(),this.#e=e(),this.#t=e(),h.signal!=null){const k=h.signal;if(k.aborted){this.#e.reject(k.reason),this.#t.reject(k.reason);return}k.addEventListener("abort",()=>{u(this.#o.readyState)||(i(this.#o),this.#o.readyState=B.CLOSING,this.#e.reject(k.reason),this.#t.reject(k.reason),this.#a=!0)},{once:!0})}const p=y.settingsObject;this.#o.controller=a(N,D,p,this.#o,h)}get url(){return this.#A.toString()}get opened(){return this.#e.promise}get closed(){return this.#t.promise}close(E=void 0){E!==null&&(E=Q.converters.WebSocketCloseInfo(E));const h=E.closeCode??null,R=E.reason;c(this.#o,h,R,!0)}#g(E){E=Q.converters.WebSocketStreamWrite(E);const h=e();let R=null,N=null;if(Q.is.BufferSource(E))R=new Uint8Array(ArrayBuffer.isView(E)?new Uint8Array(E.buffer,E.byteOffset,E.byteLength):E.slice()),N=S.BINARY;else{let D;try{D=Q.converters.DOMString(E)}catch(p){return h.reject(p),h.promise}R=new TextEncoder().encode(D),N=S.TEXT}if(!this.#o.closeState.has(r.SENT)&&!this.#o.closeState.has(r.RECEIVED)){const D=new A(R);this.#o.socket.write(D.createFrame(N),()=>{h.resolve(void 0)})}return h.promise}#c(E,h){this.#o.socket=E.socket;const R=new t(this.#o,h);R.on("drain",()=>this.#o.onParserDrain()),R.on("error",m=>this.#o.onParserError(m)),this.#i=R,this.#o.readyState=B.OPEN;const N=h??"",D=E.headersList.get("sec-websocket-protocol")??"",p=new ReadableStream({start:m=>{this.#s=m},pull(m){let H;for(;m.desiredSize>0&&(H=E.socket.read())!==null;)m.enqueue(H)},cancel:m=>this.#I(m)}),k=new WritableStream({write:m=>this.#g(m),close:()=>c(this.#o,null,null),abort:m=>this.#B(m)});this.#r=p,this.#n=k,this.#e.resolve({extensions:N,protocol:D,readable:p,writable:k})}#E(E,h){if(this.#o.readyState!==B.OPEN)return;let R;if(E===S.TEXT)try{R=l(h)}catch{i(this.#o,"Received invalid UTF-8 in text frame.");return}else E===S.BINARY&&(R=new Uint8Array(h.buffer,h.byteOffset,h.byteLength));this.#s.enqueue(R)}#Q(){const E=this.#o.closeState.has(r.SENT)&&this.#o.closeState.has(r.RECEIVED);if(this.#o.readyState=B.CLOSED,this.#a)return;this.#o.wasEverConnected||this.#e.reject(new o("Socket never opened"));const h=this.#i?.closingInfo;let R=h?.code??1005;!this.#o.closeState.has(r.SENT)&&!this.#o.closeState.has(r.RECEIVED)&&(R=1006);const N=h?.reason==null?"":F(Buffer.from(h.reason));if(E)this.#s.close(),this.#n.locked||this.#n.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:R,reason:N});else{const D=g("unclean close",R,N);this.#s?.error(D),this.#n?.abort(D),this.#t.reject(D)}}#B(E){let h=null,R="";Q.is.WebSocketError(E)&&(h=E.closeCode,R=E.reason),c(this.#o,h,R)}#I(E){this.#B(E)}}return Object.defineProperties(s.prototype,{url:d,opened:d,closed:d,close:d,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),Q.converters.WebSocketStreamOptions=Q.dictionaryConverter([{key:"protocols",converter:Q.sequenceConverter(Q.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:Q.nullableConverter(Q.converters.AbortSignal),defaultValue:()=>null}]),Q.converters.WebSocketCloseInfo=Q.dictionaryConverter([{key:"closeCode",converter:C=>Q.converters["unsigned short"](C,Q.attributes.EnforceRange)},{key:"reason",converter:Q.converters.USVString,defaultValue:()=>""}]),Q.converters.WebSocketStreamWrite=function(C){return typeof C=="string"?Q.converters.USVString(C):Q.converters.BufferSource(C)},qr={WebSocketStream:s},qr}var _r,io;function bi(){if(io)return _r;io=1;function e(B){return B.indexOf("\0")===-1}function y(B){if(B.length===0)return!1;for(let S=0;S<B.length;S++)if(B.charCodeAt(S)<48||B.charCodeAt(S)>57)return!1;return!0}return _r={isValidLastEventId:e,isASCIINumber:y},_r}var Zr,ao;function Ti(){if(ao)return Zr;ao=1;const{Transform:e}=AA,{isASCIINumber:y,isValidLastEventId:B}=bi(),S=[239,187,191],r=10,Q=13,f=58,w=32;class u extends e{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(a={}){a.readableObjectMode=!0,super(a),this.state=a.eventSourceSettings||{},a.push&&(this.push=a.push)}_transform(a,i,c){if(a.length===0){c();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,a]):this.buffer=a,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===S[0]){c();return}this.checkBOM=!1,c();return;case 2:if(this.buffer[0]===S[0]&&this.buffer[1]===S[1]){c();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===S[0]&&this.buffer[1]===S[1]&&this.buffer[2]===S[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,c();return}this.checkBOM=!1;break;default:this.buffer[0]===S[0]&&this.buffer[1]===S[1]&&this.buffer[2]===S[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos<this.buffer.length;){if(this.eventEndCheck){if(this.crlfCheck){if(this.buffer[this.pos]===r){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===r||this.buffer[this.pos]===Q){this.buffer[this.pos]===Q&&(this.crlfCheck=!0),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,(this.event.data!==void 0||this.event.event||this.event.id!==void 0||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===r||this.buffer[this.pos]===Q){this.buffer[this.pos]===Q&&(this.crlfCheck=!0),this.parseLine(this.buffer.subarray(0,this.pos),this.event),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.eventEndCheck=!0;continue}this.pos++}c()}parseLine(a,i){if(a.length===0)return;const c=a.indexOf(f);if(c===0)return;let n="",A="";if(c!==-1){n=a.subarray(0,c).toString("utf8");let t=c+1;a[t]===w&&++t,A=a.subarray(t).toString("utf8")}else n=a.toString("utf8"),A="";switch(n){case"data":i[n]===void 0?i[n]=A:i[n]+=`
|
|
128
|
+
${A}`;break;case"retry":y(A)&&(i[n]=A);break;case"id":B(A)&&(i[n]=A);break;case"event":A.length>0&&(i[n]=A);break}}processEvent(a){a.retry&&y(a.retry)&&(this.state.reconnectionTime=parseInt(a.retry,10)),a.id!==void 0&&B(a.id)&&(this.state.lastEventId=a.id),a.data!==void 0&&this.push({type:a.event||"message",options:{data:a.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}}return Zr={EventSourceStream:u},Zr}var Xr,go;function Li(){if(go)return Xr;go=1;const{pipeline:e}=AA,{fetching:y}=je(),{makeRequest:B}=ke(),{webidl:S}=ee(),{EventSourceStream:r}=Ti(),{parseMIMEType:Q}=oe(),{createFastMessageEvent:f}=en(),{isNetworkError:w}=ze(),{kEnumerableProperty:u}=bA(),{environmentSettingsObject:l}=se();let a=!1;const i=3e3,c=0,n=1,A=2,t="anonymous",o="use-credentials";class g extends EventTarget{#A={open:null,error:null,message:null};#e;#t=!1;#r=c;#s=null;#n=null;#a;#o;constructor(I,s={}){super(),S.util.markAsUncloneable(this);const C="EventSource constructor";S.argumentLengthCheck(arguments,1,C),a||(a=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),I=S.converters.USVString(I),s=S.converters.EventSourceInitDict(s,C,"eventSourceInitDict"),this.#a=s.node.dispatcher||s.dispatcher,this.#o={lastEventId:"",reconnectionTime:s.node.reconnectionTime};const E=l;let h;try{h=new URL(I,E.settingsObject.baseUrl),this.#o.origin=h.origin}catch(D){throw new DOMException(D,"SyntaxError")}this.#e=h.href;let R=t;s.withCredentials===!0&&(R=o,this.#t=!0);const N={redirect:"follow",keepalive:!0,mode:"cors",credentials:R==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};N.client=l.settingsObject,N.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],N.cache="no-store",N.initiator="other",N.urlList=[new URL(this.#e)],this.#s=B(N),this.#i()}get readyState(){return this.#r}get url(){return this.#e}get withCredentials(){return this.#t}#i(){if(this.#r===A)return;this.#r=c;const I={request:this.#s,dispatcher:this.#a},s=C=>{if(!w(C))return this.#g()};I.processResponseEndOfBody=s,I.processResponse=C=>{if(w(C))if(C.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#g();return}const E=C.headersList.get("content-type",!0),h=E!==null?Q(E):"failure",R=h!=="failure"&&h.essence==="text/event-stream";if(C.status!==200||R===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=n,this.dispatchEvent(new Event("open")),this.#o.origin=C.urlList[C.urlList.length-1].origin;const N=new r({eventSourceSettings:this.#o,push:D=>{this.dispatchEvent(f(D.type,D.options))}});e(C.body.stream,N,D=>{D?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#n=y(I)}#g(){this.#r!==A&&(this.#r=c,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#r===c&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#i())},this.#o.reconnectionTime)?.unref())}close(){S.brandCheck(this,g),this.#r!==A&&(this.#r=A,this.#n.abort(),this.#s=null)}get onopen(){return this.#A.open}set onopen(I){this.#A.open&&this.removeEventListener("open",this.#A.open);const s=S.converters.EventHandlerNonNull(I);s!==null?(this.addEventListener("open",s),this.#A.open=I):this.#A.open=null}get onmessage(){return this.#A.message}set onmessage(I){this.#A.message&&this.removeEventListener("message",this.#A.message);const s=S.converters.EventHandlerNonNull(I);s!==null?(this.addEventListener("message",s),this.#A.message=I):this.#A.message=null}get onerror(){return this.#A.error}set onerror(I){this.#A.error&&this.removeEventListener("error",this.#A.error);const s=S.converters.EventHandlerNonNull(I);s!==null?(this.addEventListener("error",s),this.#A.error=I):this.#A.error=null}}const d={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:c,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:n,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:A,writable:!1}};return Object.defineProperties(g,d),Object.defineProperties(g.prototype,d),Object.defineProperties(g.prototype,{close:u,onerror:u,onmessage:u,onopen:u,readyState:u,url:u,withCredentials:u}),S.converters.EventSourceInitDict=S.dictionaryConverter([{key:"withCredentials",converter:S.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:S.converters.any},{key:"node",converter:S.dictionaryConverter([{key:"reconnectionTime",converter:S.converters["unsigned long"],defaultValue:()=>i},{key:"dispatcher",converter:S.converters.any}]),defaultValue:()=>({})}]),Xr={EventSource:g,defaultReconnectionTime:i},Xr}Oe.exports;var Eo;function Hi(){return Eo||(Eo=1,(function(e){const y=Ce(),B=Pe(),S=ye(),r=qo(),Q=_o(),f=De(),w=uo(),u=ho(),l=Ko(),a=zo(),i=jo(),c=MA(),n=bA(),{InvalidArgumentError:A}=c,t=si(),o=de(),g=Do(),{MockCallHistory:d,MockCallHistoryLog:F}=wo(),I=Ro(),s=So(),C=ai(),E=fo(),h=$r(),{getGlobalDispatcher:R,setGlobalDispatcher:N}=An(),D=me(),p=po();Object.assign(B.prototype,t),e.exports.Dispatcher=B,e.exports.Client=y,e.exports.Pool=S,e.exports.BalancedPool=r,e.exports.RoundRobinPool=Q,e.exports.Agent=f,e.exports.ProxyAgent=w,e.exports.Socks5ProxyAgent=u,e.exports.EnvHttpProxyAgent=l,e.exports.RetryAgent=a,e.exports.H2CClient=i,e.exports.RetryHandler=h,e.exports.DecoratorHandler=D,e.exports.RedirectHandler=p,e.exports.interceptors={redirect:gi(),responseError:Ei(),retry:Qi(),dump:ci(),dns:Bi(),cache:hi(),decompress:ui(),deduplicate:di()},e.exports.cacheStores={MemoryCacheStore:Fo()};const k=yi();e.exports.cacheStores.SqliteCacheStore=k,e.exports.buildConnector=o,e.exports.errors=c,e.exports.util={parseHeaders:n.parseHeaders,headerNameToString:n.headerNameToString};function m(QA){return(RA,K,FA)=>{if(typeof K=="function"&&(FA=K,K=null),!RA||typeof RA!="string"&&typeof RA!="object"&&!(RA instanceof URL))throw new A("invalid url");if(K!=null&&typeof K!="object")throw new A("invalid opts");if(K&&K.path!=null){if(typeof K.path!="string")throw new A("invalid opts.path");let XA=K.path;K.path.startsWith("/")||(XA=`/${XA}`),RA=new URL(n.parseOrigin(RA).origin+XA)}else K||(K=typeof RA=="object"?RA:{}),RA=n.parseURL(RA);const{agent:OA,dispatcher:LA=R()}=K;if(OA)throw new A("unsupported opts.agent. Did you mean opts.client?");return QA.call(LA,{...K,origin:RA.origin,path:RA.search?`${RA.pathname}${RA.search}`:RA.pathname,method:K.method||(K.body?"PUT":"GET")},FA)}}e.exports.setGlobalDispatcher=N,e.exports.getGlobalDispatcher=R;const H=je().fetch,M=typeof __filename<"u"?__filename:void 0;function b(QA,RA){if(!QA||typeof QA!="object")return;const K=typeof QA.stack=="string"?QA.stack:"",FA=RA.replace(/\\/g,"/");if(K&&(K.includes(RA)||K.includes(FA)))return;const OA={};if(Error.captureStackTrace(OA,b),!OA.stack)return;const LA=OA.stack.split(`
|
|
129
|
+
`).slice(1).join(`
|
|
130
|
+
`);QA.stack=K?`${K}
|
|
131
|
+
${LA}`:OA.stack}e.exports.fetch=function(RA,K=void 0){return H(RA,K).catch(FA=>{throw M?b(FA,M):FA&&typeof FA=="object"&&Error.captureStackTrace(FA,e.exports.fetch),FA})},e.exports.Headers=Se().Headers,e.exports.Response=ze().Response,e.exports.Request=ke().Request,e.exports.FormData=zr().FormData;const{setGlobalOrigin:T,getGlobalOrigin:J}=lo();e.exports.setGlobalOrigin=T,e.exports.getGlobalOrigin=J;const{CacheStorage:tA}=Ri(),{kConstruct:sA}=vA();e.exports.caches=new tA(sA);const{deleteCookie:gA,getCookies:dA,getSetCookies:CA,setCookie:mA,parseCookie:$}=Fi();e.exports.deleteCookie=gA,e.exports.getCookies=dA,e.exports.getSetCookies=CA,e.exports.setCookie=mA,e.exports.parseCookie=$;const{parseMIMEType:rA,serializeAMimeType:nA}=oe();e.exports.parseMIMEType=rA,e.exports.serializeAMimeType=nA;const{CloseEvent:wA,ErrorEvent:kA,MessageEvent:IA}=en(),{WebSocket:TA,ping:SA}=Mi();e.exports.WebSocket=TA,e.exports.CloseEvent=wA,e.exports.ErrorEvent=kA,e.exports.MessageEvent=IA,e.exports.ping=SA,e.exports.WebSocketStream=ki().WebSocketStream,e.exports.WebSocketError=Mo().WebSocketError,e.exports.request=m(t.request),e.exports.stream=m(t.stream),e.exports.pipeline=m(t.pipeline),e.exports.connect=m(t.connect),e.exports.upgrade=m(t.upgrade),e.exports.MockClient=g,e.exports.MockCallHistory=d,e.exports.MockCallHistoryLog=F,e.exports.MockPool=s,e.exports.MockAgent=I,e.exports.SnapshotAgent=C,e.exports.mockErrors=E;const{EventSource:G}=Li();e.exports.EventSource=G;function BA(){globalThis.fetch=e.exports.fetch,globalThis.Headers=e.exports.Headers,globalThis.Response=e.exports.Response,globalThis.Request=e.exports.Request,globalThis.FormData=e.exports.FormData,globalThis.WebSocket=e.exports.WebSocket,globalThis.CloseEvent=e.exports.CloseEvent,globalThis.ErrorEvent=e.exports.ErrorEvent,globalThis.MessageEvent=e.exports.MessageEvent,globalThis.EventSource=e.exports.EventSource}e.exports.install=BA})(Oe)),Oe.exports}var ko=Hi();const Yi=Lo(ko),Pi=Ho({__proto__:null,default:Yi},[ko]);export{Pi as i};
|