/opt/rust
This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.
const { process } = globalThis;"use strict";var Nn=Object.create;var Ee=Object.defineProperty;var An=Object.getOwnPropertyDescriptor;var _n=Object.getOwnPropertyNames;var Mn=Object.getPrototypeOf,Ln=Object.prototype.hasOwnProperty;var we=(e,t)=>()=>(e&&(t=e(e=0)),t);var Ce=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),tt=(e,t)=>{for(var r in t)Ee(e,r,{get:t[r],enumerable:!0})},It=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _n(t))!Ln.call(e,o)&&o!==r&&Ee(e,o,{get:()=>t[o],enumerable:!(n=An(t,o))||n.enumerable});return e};var Y=(e,t,r)=>(r=e!=null?Nn(Mn(e)):{},It(t||!e||!e.__esModule?Ee(r,"default",{value:e,enumerable:!0}):r,e)),Dn=e=>It(Ee({},"__esModule",{value:!0}),e);var Ht=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var k=(e,t,r)=>(Ht(e,t,"read from private field"),r?r.call(e):t.get(e)),A=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},q=(e,t,r,n)=>(Ht(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var Dt,F,oe,Bt,Ut,jt,X=we(()=>{Dt=require("async_hooks"),F=new Dt.AsyncLocalStorage,oe={get:()=>F.getStore(),with:(e,t)=>F.run(e,t)},Bt=()=>globalThis[jt],Ut=()=>{Object.defineProperty(globalThis,jt,{enumerable:!1,configurable:!0,value:oe})},jt=Symbol.for("@vercel/request-context")});function ke(e){if(e.host)return`https://${e.host}`}var at=we(()=>{"use strict"});var Vt={};tt(Vt,{toNodeHandler:()=>jn});function jn(e){return(t,r)=>{let n=Bt()?.get(),o=qn(t,n?.signal??new AbortController().signal,e.fallbackOrigin);t.on("error",a=>{a.message!=="aborted"&&console.trace(a)});let s={waitUntil:n?.waitUntil??(()=>{}),cache:n?.cache??{delete:()=>Promise.resolve(),get:()=>Promise.resolve(null),set:()=>Promise.resolve(),expireTag:()=>Promise.resolve()},purge:n?.purge??{invalidateByTag:()=>Promise.resolve(),invalidateBySrcImage:()=>Promise.resolve(),dangerouslyDeleteByTag:()=>Promise.resolve(),dangerouslyDeleteBySrcImage:()=>Promise.resolve()}},i=e.handler(o,s);Promise.resolve(i).then(a=>{$n(a,r)}).catch(a=>{console.error("Error running the exported Web Handler:",a),r.headersSent||r.writeHead(500),r.end("Internal Server Error")})}}function qn(e,t,r){let n=ke(e.headers)??r;return new Request(new URL(e.url||"/",n),{method:e.method,headers:Fn(e.headers),duplex:"half",body:["HEAD","GET"].includes(e.method??"")?null:Vn(e),signal:t})}function Fn(e){let t=new Headers;for(let[r,n]of Object.entries(e)){let o=Array.isArray(n)?n:[n];for(let s of o)s!==void 0&&t.append(r,s)}return t}function Vn(e){return new ReadableStream({start(t){e.on("data",r=>{t.enqueue(new Uint8Array([...new Uint8Array(r)]))}),e.on("end",()=>{t.close()}),e.on("error",r=>{t.error(r)})}})}function $n(e,t){if(!e){t.end();return}let r=Wn(e.headers);if(t.writeHead(e.status,r),!e.body){t.end();return}let n=Gn(e.body);n.once("error",o=>{o&&o.name!=="AbortError"&&console.error(o),n.unpipe(t),n.resume(),t.end()}),n.pipe(t)}function Wn(e){let t={};if(e){let r=typeof e.raw<"u"?Object.entries(e.raw()):e.entries();for(let[n,o]of r)n.toLowerCase()==="set-cookie"?Array.isArray(t["set-cookie"])?t["set-cookie"].push(...qt(o)):t["set-cookie"]=qt(o):t[n]=o}return t}function qt(e){let t=[],r=0,n,o,s,i,a;function d(){for(;r<e.length&&/\s/.test(e.charAt(r));)r+=1;return r<e.length}function c(){return o=e.charAt(r),o!=="="&&o!==";"&&o!==","}for(;r<e.length;){for(n=r,a=!1;d();)if(o=e.charAt(r),o===","){for(s=r,r+=1,d(),i=r;r<e.length&&c();)r+=1;r<e.length&&e.charAt(r)==="="?(a=!0,r=i,t.push(e.substring(n,s)),n=r):r=s+1}else r+=1;(!a||r>=e.length)&&t.push(e.substring(n,e.length))}return t}function Gn(e,t={}){let r=e.getReader(),{highWaterMark:n,encoding:o,objectMode:s=!1,signal:i}=t,a=!1,d=new Ft.Readable({objectMode:s,highWaterMark:n,encoding:o,signal:i,read(){r.read().then(c=>{c.done?d.push(null):d.push(c.value)},c=>d.destroy(c))},destroy(c,l){function u(){try{l(c)}catch(v){process.nextTick(()=>{throw v})}}if(!a){r.cancel(c).then(u,u);return}u()}});return r.closed.then(()=>{a=!0},c=>{a=!0,d.destroy(c)}),d}var Ft,$t=we(()=>{"use strict";X();at();Ft=require("stream")});var ct=Ce(it=>{"use strict";var Wt=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,zn=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,Gt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,Jn=/\\([\u000b\u0020-\u00ff])/g,Yn=/([\\"])/g,zt=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;it.format=Xn;it.parse=Kn;function Xn(e){if(!e||typeof e!="object")throw new TypeError("argument obj is required");var t=e.parameters,r=e.type;if(!r||!zt.test(r))throw new TypeError("invalid type");var n=r;if(t&&typeof t=="object")for(var o,s=Object.keys(t).sort(),i=0;i<s.length;i++){if(o=s[i],!Gt.test(o))throw new TypeError("invalid parameter name");n+="; "+o+"="+Zn(t[o])}return n}function Kn(e){if(!e)throw new TypeError("argument string is required");var t=typeof e=="object"?Qn(e):e;if(typeof t!="string")throw new TypeError("argument string is required to be a string");var r=t.indexOf(";"),n=r!==-1?t.substr(0,r).trim():t.trim();if(!zt.test(n))throw new TypeError("invalid media type");var o=new eo(n.toLowerCase());if(r!==-1){var s,i,a;for(Wt.lastIndex=r;i=Wt.exec(t);){if(i.index!==r)throw new TypeError("invalid parameter format");r+=i[0].length,s=i[1].toLowerCase(),a=i[2],a[0]==='"'&&(a=a.substr(1,a.length-2).replace(Jn,"$1")),o.parameters[s]=a}if(r!==t.length)throw new TypeError("invalid parameter format")}return o}function Qn(e){var t;if(typeof e.getHeader=="function"?t=e.getHeader("content-type"):typeof e.headers=="object"&&(t=e.headers&&e.headers["content-type"]),typeof t!="string")throw new TypeError("content-type header is missing from object");return t}function Zn(e){var t=String(e);if(Gt.test(t))return t;if(t.length>0&&!zn.test(t))throw new TypeError("invalid parameter value");return'"'+t.replace(Yn,"\\$1")+'"'}function eo(e){this.parameters=Object.create(null),this.type=e}});var Jt=Ce(dt=>{"use strict";dt.parse=oo;dt.serialize=so;var to=decodeURIComponent,ro=encodeURIComponent,no=/; */,Ie=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function oo(e,t){if(typeof e!="string")throw new TypeError("argument str must be a string");for(var r={},n=t||{},o=e.split(no),s=n.decode||to,i=0;i<o.length;i++){var a=o[i],d=a.indexOf("=");if(!(d<0)){var c=a.substr(0,d).trim(),l=a.substr(++d,a.length).trim();l[0]=='"'&&(l=l.slice(1,-1)),r[c]==null&&(r[c]=ao(l,s))}}return r}function so(e,t,r){var n=r||{},o=n.encode||ro;if(typeof o!="function")throw new TypeError("option encode is invalid");if(!Ie.test(e))throw new TypeError("argument name is invalid");var s=o(t);if(s&&!Ie.test(s))throw new TypeError("argument val is invalid");var i=e+"="+s;if(n.maxAge!=null){var a=n.maxAge-0;if(isNaN(a))throw new Error("maxAge should be a Number");i+="; Max-Age="+Math.floor(a)}if(n.domain){if(!Ie.test(n.domain))throw new TypeError("option domain is invalid");i+="; Domain="+n.domain}if(n.path){if(!Ie.test(n.path))throw new TypeError("option path is invalid");i+="; Path="+n.path}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");i+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(i+="; HttpOnly"),n.secure&&(i+="; Secure"),n.sameSite){var d=typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite;switch(d){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return i}function ao(e,t){try{return t(e)}catch{return e}}});var Qt=Ce((Js,Kt)=>{"use strict";Kt.exports=uo;var io=require("crypto"),Yt=require("fs").Stats,Xt=Object.prototype.toString;function co(e){if(e.length===0)return'"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';var t=io.createHash("sha1").update(e,"utf8").digest("base64").substring(0,27),r=typeof e=="string"?Buffer.byteLength(e,"utf8"):e.length;return'"'+r.toString(16)+"-"+t+'"'}function uo(e,t){if(e==null)throw new TypeError("argument entity is required");var r=lo(e),n=t&&typeof t.weak=="boolean"?t.weak:r;if(!r&&typeof e!="string"&&!Buffer.isBuffer(e))throw new TypeError("argument entity must be string, Buffer, or fs.Stats");var o=r?po(e):co(e);return n?"W/"+o:o}function lo(e){return typeof Yt=="function"&&e instanceof Yt?!0:e&&typeof e=="object"&&"ctime"in e&&Xt.call(e.ctime)==="[object Date]"&&"mtime"in e&&Xt.call(e.mtime)==="[object Date]"&&"ino"in e&&typeof e.ino=="number"&&"size"in e&&typeof e.size=="number"}function po(e){var t=e.mtime.getTime().toString(16),r=e.size.toString(16);return'"'+r+"-"+t+'"'}});var tr={};tt(tr,{ApiError:()=>se,handlerWithHelpers:()=>So});function fo(e,t){return function(){if(!e.headers["content-type"])return;let{parse:n}=ct(),{type:o}=n(e.headers["content-type"]);if(o==="application/json")try{let s=t.toString();return s?JSON.parse(s):{}}catch{throw new se(400,"Invalid JSON")}if(o==="application/octet-stream")return t;if(o==="application/x-www-form-urlencoded"){let{parse:s}=require("querystring");return s(t.toString())}if(o==="text/plain")return t.toString()}}function go({url:e="/"}){return function(){let{parse:r}=require("url");return r(e,!0).query}}function mo(e){return function(){let r=e.headers.cookie;if(!r)return{};let{parse:n}=Jt();return n(Array.isArray(r)?r.join(";"):r)}}function ho(e,t){return e.statusCode=t,e}function yo(e,t,r){if(typeof t=="string"&&(r=t,t=307),typeof t!="number"||typeof r!="string")throw new Error("Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').");return e.writeHead(t,{Location:r}).end(),e}function vo(e,t){let{parse:r,format:n}=ct(),o=r(e);return o.parameters.charset=t,n(o)}function bo(e,t){let r=Qt(),n=Buffer.isBuffer(e)?e:Buffer.from(e,t);return r(n,{weak:!0})}function Zt(e,t,r){let n=r,o;switch(typeof n){case"string":t.getHeader("content-type")||t.setHeader("content-type","text/html");break;case"boolean":case"number":case"object":if(n===null)n="";else if(Buffer.isBuffer(n))t.getHeader("content-type")||t.setHeader("content-type","application/octet-stream");else return er(e,t,n);break}if(typeof n=="string"){o="utf8";let a=t.getHeader("content-type");typeof a=="string"&&t.setHeader("content-type",vo(a,"utf-8"))}let s;if(n!==void 0){if(Buffer.isBuffer(n))s=n.length;else if(typeof n=="string")if(n.length<1e3)s=Buffer.byteLength(n,o);else{let a=Buffer.from(n,o);s=a.length,n=a,o=void 0}else throw new Error("`body` is not a valid string, object, boolean, number, Stream, or Buffer");s!==void 0&&t.setHeader("content-length",s)}let i;return!t.getHeader("etag")&&s!==void 0&&(i=bo(n,o))&&t.setHeader("etag",i),(t.statusCode===204||t.statusCode===304)&&(t.removeHeader("Content-Type"),t.removeHeader("Content-Length"),t.removeHeader("Transfer-Encoding"),n=""),e.method==="HEAD"?t.end():o?t.end(n,o):t.end(n),t}function er(e,t,r){let n=JSON.stringify(r);return t.getHeader("content-type")||t.setHeader("content-type","application/json; charset=utf-8"),Zt(e,t,n)}function ut(e,t,r){let n={configurable:!0,enumerable:!0},o={...n,writable:!0};Object.defineProperty(e,t,{...n,get:()=>{let s=r();return Object.defineProperty(e,t,{...o,value:s}),s},set:s=>{Object.defineProperty(e,t,{...o,value:s})}})}function So(e){return async(t,r)=>{let n=t,o=r;try{let s=xo(n),i=await wo(s.cloneBodyStream());return await s.finalize(),ut(n,"cookies",mo(n)),ut(n,"query",go(n)),ut(n,"body",fo(n,i)),o.status=a=>ho(o,a),o.redirect=(a,d)=>yo(o,a,d),o.send=a=>Zt(n,o,a),o.json=a=>er(n,o,a),await e(n,o)}catch(s){if(s instanceof se)o.statusCode=s.statusCode,o.statusMessage=s.message,o.end();else throw s}}}function xo(e){let t=null,r=new Promise((n,o)=>{e.on("end",n),e.on("error",o)}).catch(n=>({error:n}));return{async finalize(){if(t){let n=await r;if(n&&typeof n=="object"&&n.error)throw n.error;Eo(e,t),t=e}},cloneBodyStream(){let n=t??e,o=new lt.PassThrough,s=new lt.PassThrough;return n.on("data",i=>{o.push(i),s.push(i)}),n.on("end",()=>{o.push(null),s.push(null)}),t=s,o}}}function Eo(e,t){for(let r in t){let n=t[r];typeof n=="function"&&(n=n.bind(e)),e[r]=n}return e}function wo(e){return new Promise((t,r)=>{let n=[];e.on("error",o=>r(o)),e.on("data",o=>n.push(o)),e.on("end",()=>t(Buffer.concat(n)))})}var lt,se,rr=we(()=>{"use strict";lt=require("stream");se=class extends Error{constructor(r,n){super(n);this.statusCode=r}}});var zr=Ce(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.getEdgeConfigsFromEnv=void 0;var Qo="https://edge-config.vercel.com/ecfg_",Zo=e=>{let t=[],r=new Set;return Object.values(e).map(n=>{let o=n?es(n):null;if(o){if(r.has(o.edgeConfigId))return;r.add(o.edgeConfigId),t.push({id:o.edgeConfigId,token:o.token})}}),t};Ve.getEdgeConfigsFromEnv=Zo;function es(e){try{if(e.startsWith("flags:")){let t=new URLSearchParams(e.slice(6)),r=t.get("edgeConfigId"),n=t.get("edgeConfigToken");if(r&&n)return{edgeConfigId:r,token:n}}else if(e.startsWith("edge-config:")){let t=new URLSearchParams(e.slice(12)),r=t.get("id"),n=t.get("token");if(r&&n)return{edgeConfigId:r,token:n}}if(e.startsWith(Qo)){let t=e.slice(31,64),r=e.indexOf("token=")+6,n=e.slice(r,r+36);return{edgeConfigId:t,token:n}}}catch{}return null}});var Ns={};tt(Ns,{startedDate:()=>re});module.exports=Dn(Ns);var Ot=require("module"),Pt=Symbol("node-module-hook"),rt=Ot.Module;function nt(){let e=rt._load;!e||e[Pt]||(rt._load=function(r,n,o){let s=Bn(),i=()=>s()||e;return i().apply(this,[r,n,o,(...a)=>i().apply(this,[...a,i()])])},Object.defineProperty(rt._load,Pt,{enumerable:!1,value:!0}))}var Nt=[];function Bn(){let e=0;return function(){return Nt[e++]}}function ot(e){Nt.push(e)}var Te=null,st=new Map;function At(e){if(Te)throw new Error("Instrumenting module requires can happen only once");Te=e;for(let[t,r]of st.entries())e(t,r);return()=>{Te=null}}var Un=(e,t,r,n)=>{let o=n(e,t,r);return st.get(e)!==o&&(e==="http"||e==="https"||e==="undici"||e==="next/dist/compiled/undici")&&(Te?.(e,o),st.set(e,o)),o};nt();ot(Un);var Rn=require("async_hooks");var nr=require("http");var _t=require("url");function Mt(e){return(t,r)=>{let n="";t.on("data",o=>{n+=o}),t.on("end",async()=>{let{event:o,context:s}=JSON.parse(n),{query:i}=(0,_t.parse)(o.path,!0);o.queryStringParameters={},o.multiValueQueryStringParameters=i;for(let[d,c]of Object.entries(i))typeof c=="string"&&(o.queryStringParameters[d]=c);let a=!1;try{let d=await e(o,s,(c,l)=>{a||(a=!0,l?r.end(JSON.stringify(l)):r.end(JSON.stringify({error:c})))});d&&!a&&(a=!0,r.end(JSON.stringify(d)))}catch(d){a||(a=!0,r.end(JSON.stringify({error:d})))}})}}var Lt=require("http"),Re=class extends Lt.ServerResponse{constructor(){super(...arguments);this.currentSocket=null;this.currentSocketDetacher=null}assignSocket(r){this.currentSocket&&this.currentSocketDetacher&&this.currentSocket.off("close",this.currentSocketDetacher),super.assignSocket(r);let n=()=>{this.writableEnded||this.emit("aborted")};this.currentSocket=r,this.currentSocketDetacher=n,r.once("close",n),this.once("close",()=>{this.currentSocket&&this.currentSocketDetacher&&(this.currentSocket.off("close",this.currentSocketDetacher),this.currentSocket=null,this.currentSocketDetacher=null)})}};async function or(e,t){let r,n;if("server"in e)return{server:e.server,handler:null};if(e.type==="web"){new Headers;let{toNodeHandler:s}=await Promise.resolve().then(()=>($t(),Vt));r=s({handler:(i,a)=>e.handlerWeb(i,a),fallbackOrigin:"https://vercel.com"})}else e.type==="aws"?r=Mt(e.handlerAws):(r=async(s,i)=>{s.on("error",()=>{}),await e.handler(s,i)},r.preload=e.handler.preload,n=r.preload);if(t){let{handlerWithHelpers:s}=await Promise.resolve().then(()=>(rr(),tr));r=s(r),r.preload=n}return{server:(0,nr.createServer)({ServerResponse:Re},r),handler:r}}var pt=require("util"),sr;function Co(e,...t){return(0,pt.format)(e,...t).replace(/\n/g,"\r")+``}function cr(e){if(sr)throw new Error("Errors can only be patched once");function t(n,o){let s=n[o].bind(n);return n[o]=function(i,...a){let d=e.storage?.getStore(),c=!1;if(d){let l=(0,pt.format)(i,...a)+``;if(o==="trace"){let u=new Error().stack?.split(``);u&&(l="Trace: "+l+u.slice(2).join(``))}if(l.includes("ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER"))return;c=e.report({payload:{message:Buffer.from(l),level:o==="log"?"info":o??"error",spanContext:ar(d)},context:d})}c||e.storage?.run(null,()=>{process.stdout.write(Co(i,...a))})}.bind(n),()=>n[o]=s}function r(n,o){let s=n.write.bind(n);return n.write=function(i,...a){let d=e.storage?.getStore(),c=!1;return d&&(c=e.report({payload:{message:Buffer.from(i),stream:o,spanContext:ar(d)},context:d})),typeof i=="string"&&i.includes("ExperimentalWarning: vm.USE_MAIN_CONTEXT_DEFAULT_LOADER")||c?!0:s(i,...a)}.bind(n),()=>n.write=s}sr=[r(process.stdout,"stdout"),r(process.stderr,"stderr"),t(console,"debug"),t(console,"error"),t(console,"info"),t(console,"log"),t(console,"trace"),t(console,"warn")]}function ar(e){return ir(ko())??ir(e.otelContext)}function ir(e){if(!e||"traceFlags"in e&&!e.traceFlags)return;let{traceId:t,spanId:r}=e;return{traceId:t,spanId:r}}var To=Symbol.for("opentelemetry.js.api.1"),Ro=Symbol.for("OpenTelemetry Context Key SPAN");function ko(){try{let e=Io("context");return e&&e.active()?.getValue(Ro)?.spanContext()||void 0}catch{return}}function Io(e){return globalThis[To]?.[e]}var dr=e=>parseFloat(e.toFixed(2)),_="performance"in globalThis?globalThis.performance:void 0,ae="__fallback_id__",ft=class{constructor(){this.measures=new Map;this.marks=new Map}_consumeGlobalMarks(t,r){let n=t.getEntries();for(let o=0;o<n.length;o++){let s=n[o];if(s.entryType!=="mark"||!s.name.startsWith("vc:"))continue;t.clearMarks(s.name);let i=this.marks.get(r)??new Map;i.set(s.name,{startTime:s.startTime}),this.marks.set(r,i)}}_measure(t,r,n,o,s){if(typeof o=="string"){let i=this.getMarks(t).get(o);if(!i)throw new Error(`The "${o}" performance mark has not been set`);let a=s?this.getMarks(t).get(s):void 0;if(s&&!a)throw new Error(`The "${s}" performance mark has not been set`);return r.measure(n,{start:i.startTime,end:a?a.startTime:void 0})}return typeof o=="object"?r.measure(n,o):r.measure(n,o,s)}measure(t,r,n,o){let s=He(t);if(!s||!_)return;let i=this._measure(s,_,r,n,o);_.clearMeasures(r);let a=this.measures.get(s)??new Map,d=1,c=()=>r+(d===1?"":`-${d}`);for(;a.has(c());)d++;return a.set(c(),{startTime:i.startTime,duration:i.duration,name:c()}),this.measures.set(s,a),i}mark(t,...r){let n=He(t);if(!n||!_)return;this._consumeGlobalMarks(_,n);let o=_.mark(...r);_.clearMarks(r[0]);let s=this.marks.get(n)??new Map;return s.set(o.name,{startTime:o.startTime}),this.marks.set(n,s),o}getMarks(t){let r=this.marks.get(t)??new Map,n=this.marks.get(ae)??new Map;for(let[o,s]of n)n.delete(o),r.set(o,s);return r}getMeasures(t){let r=this.measures.get(t)??new Map,n=this.measures.get(ae)??new Map;for(let[o,s]of n)n.delete(o),r.set(o,s);return r}clearEntries(t){this.marks.delete(ae),this.marks.delete(t),this.measures.delete(ae),this.measures.delete(t)}};function Ho(e){let t=He(e);if(!t)return{marks:{},measures:{},bytecode:{}};let r=Object.fromEntries(U.getMarks(t)),n=Object.fromEntries(U.getMeasures(t));U.clearEntries(t);let o=Oo()?.getStatus()??{};return{marks:r,measures:n,bytecode:o}}function ur(e,t){if(!He(e)||!_)return null;let n=Ho(e),o=[],s=[],i=0;typeof n.bytecode.HIT=="number"&&s.push(`bytecode-${n.bytecode.HIT>0?"hit":"miss"};offset=0`);let a=t.maxHeaderSize??16384,d=t.timingsOffset??0;for(let c of Po(_,n)){let l=dr(Math.max(0,c.offset)+d),u=dr(Math.max(0,c.duration)),v=`${c.name}_${l}+${u}`,f=`${c.name};dur=${u};desc="${v}";offset=${l}`;c.name.startsWith("fetch")?o.push(f):(i>0&&i++,i+=f.length,s.push(f))}for(let c of o){if(i+c.length+1>a)break;s.push(c),i+=c.length+1}return s.join(",")}function Po(e,t){let r=t.marks["vc:init-started"]?.startTime,n=t.marks["vc:import-started"]?.startTime,o=t.marks["vc:import-finished"]?.startTime,s=t.marks["vc:tla-started"]?.startTime,i=t.marks["vc:tla-finished"]?.startTime,a=t.marks["vc:server-ready"]?.startTime,d=t.marks["vc:init-finished"]?.startTime,c=t.marks["invoke-started"]?.startTime,l=t.marks["request-started"]?.startTime,u=t.marks["handler-started"]?.startTime,v=t.marks["response-started"]?.startTime,f=t.marks["n1-request-message"]?.startTime,h=t.marks["tunnel-requested"]?.startTime,y=t.marks["tunnel-connected"]?.startTime,x=t.marks["vc:bytecode-started"]?.startTime,b=t.marks["vc:bytecode-finished"]?.startTime,p=r||c||f||0,m=(E,T)=>{if(typeof T.start=="number"&&typeof T.end=="number"){let R=e.measure(E,T);e.clearMeasures(E);let Ze=Math.max(R.duration-(T.delta??0),0);return{name:E,duration:Ze,offset:T.start-p}}return null},w=typeof d=="number"&&typeof c=="number"?c-d:0;return[m("bootstrap",{start:r,end:n}),m("tla",{start:s,end:i}),m("post-init-delay",{start:d,end:c}),m("import-fn",{start:n,end:o,delta:typeof d=="number"&&typeof o=="number"&&o>d?w:0}),m("server-ready",{start:o,end:a}),m("request",{start:a||c||f,end:l,delta:typeof d=="number"&&typeof a=="number"&&a<d?w:0}),m("handler-latency",{start:l,end:u}),m("bytecode",{start:x,end:b}),...Object.values(t.measures).map(E=>{let T=typeof r=="number"&&typeof d=="number"&&typeof E.startTime=="number"&&E.startTime<d&&E.startTime+E.duration>d;return{name:E.name,duration:E.duration-(T?w:0),offset:E.startTime?E.startTime-p:0}}),m("response",{start:u,end:v}),m("total-latency",{start:r||c||f,end:u,delta:typeof r=="number"?w:0}),m("ttfb",{start:r||c||f,end:v,delta:typeof r=="number"?w:0}),m("tunnel",{start:h,end:y})].filter(E=>!!E)}function He(e){return typeof e?.["x-vercel-id"]=="string"?e["x-vercel-id"]:Array.isArray(e?.["x-vercel-id"])?e["x-vercel-id"][0]:void 0}function lr(e){!("performance"in globalThis)||globalThis.performance!==_||(globalThis.performance=new Proxy(globalThis.performance,{get(t,r){let n={"x-vercel-id":e?.getStore()?.vercelId??ae};return r==="mark"?(...o)=>o[0]?.startsWith("vc:")&&U.mark(n,o[0],o[1])||t.mark(o[0],o[1]):r==="measure"?(o,s,i)=>o.startsWith("vc:")&&U.measure(n,o.slice(3),s,i)||t.measure(o,s,i):t[r]}}))}var U=new ft;function Oo(){return globalThis[Symbol.for("@vercel/get-code-cache")]}X();var Pe=class{constructor({onError:t}={}){this.waitFunctions=new Set;this.awaiting=async()=>{let t=this.onError??console.error;for(;this.waitFunctions.size>0;){let r=[...this.waitFunctions];this.waitFunctions.clear(),await Promise.all(r.map(async n=>{try{await n()}catch(o){t(o)}}))}};this.waitUntil=t=>{this.waitFunctions.add(typeof t=="function"?t:()=>t)};this.onError=t}};var No="x-vercel-cache-state",pr="x-vercel-cache-tags",Ao="x-vercel-revalidate",fr="x-vercel-cache-item-name",_o="x-vercel-internal-sc-client-origin",Mo="x-vercel-internal-sc-client-name",Lo="RUNTIME_CACHE",Do="RUNTIME_CACHE",Bo="",Uo={},jo="",qo="https",ie=class{constructor({scBasepath:t,scHost:r,scHeaders:n,scProtocol:o,requestInit:s,onError:i,client:a,cacheTagApi:d}={}){this.getUrl=t=>`${this.protocol}://${this.host}${this.basepath}/v1/suspense-cache/${t}`;this.get=async(t,r)=>{try{let n={};r?.name&&(n[fr]=r.name);let o=await fetch(this.getUrl(t),{...this.requestInit,headers:{...this.headers,...n},method:"GET"});if(o.status===404)return null;if(o.status===200){if(o.headers.get(No)!=="fresh")return o.body?.cancel?.(),null;let i=o.headers.get(pr);return i&&this.cacheTagApi?.addCacheTag(i.split(",")),await o.json()}else throw new Error(`Failed to get cache: ${o.statusText}`)}catch(n){return this.onError?.(n),null}};this.set=async(t,r,n)=>{try{let o={};n?.ttl&&(o[Ao]=n.ttl.toString()),n?.tags&&n.tags.length>0&&(o[pr]=n.tags.join(","),this.cacheTagApi?.addCacheTag(n.tags)),n?.name&&(o[fr]=n.name);let s=await fetch(this.getUrl(t),{method:"POST",headers:{...this.headers,...o},body:JSON.stringify(r)});if(s.status!==200)throw new Error(`Failed to set cache: ${s.statusText}`)}catch(o){this.onError?.(o)}};this.delete=async t=>{try{let r=await fetch(this.getUrl(t),{...this.requestInit,method:"DELETE",headers:this.headers});if(r.status!==200)throw new Error(`Failed to delete cache: ${r.statusText}`)}catch(r){this.onError?.(r)}};this.expireTag=async t=>{try{Array.isArray(t)&&(t=t.join(","));let r=await fetch(this.getUrl(`revalidate?tags=${t}`),{...this.requestInit,method:"POST",headers:{...this.headers}});if(r.status!==200)throw new Error(`Failed to expire tag: ${r.statusText}`)}catch(r){this.onError?.(r)}};this.onError=i,this.basepath=t??jo,this.host=r??Bo,this.protocol=o??qo,this.headers=n??Uo,this.headers[_o]=Lo,this.headers[Mo]=a??Do,this.cacheTagApi=d,this.requestInit=s??{cache:"no-store"}}};var gr="_vc_srcimg:",mr=typeof process<"u"?process.env:{},Fo=!!mr.NEXT_PRIVATE_DEBUG_CACHE,Vo=Number(mr.VERCEL_PRIVATE_PURGE_CLIENT_TIMEOUT||"1000"),$o=e=>new Promise(t=>setTimeout(t,e));async function Ne(e,t,r=0){try{let n=await fetch(e,{...t||{},next:{internal:!0},signal:AbortSignal.timeout(Vo)});if(!n.ok)throw new Error(`Unexpected status ${n.status}`);return n}catch(n){let o=n;if(r===3){if(console.warn(`Purge failed after 3 retries with error: ${o.message}`),o.name==="AbortError"||o.name==="TimeoutError")return null;throw o}return Fo&&console.log(`Purge failed for ${e} retry ${r} with error: ${o.message}`),await $o(Math.pow(2,r)*200),Ne(e,t,r+1)}}async function Oe(e){if(!e)return{expiration:0};let{tagsExpiration:t}=await e.json();return{expiration:t}}var ce=class{constructor({scBasepath:t,scHost:r,scHeaders:n,scProtocol:o,requestInit:s,onError:i,client:a}={}){this.getInvalidateUrl=(t,r)=>`${this.protocol}://${this.host}${this.basepath}/v1/suspense-cache/invalidate?tags=${encodeURIComponent(t.join(","))}&swr=${encodeURIComponent(r)}`;this.invalidateByTag=async t=>{try{let r=Array.isArray(t)?t:[t],n=await Ne(this.getInvalidateUrl(r,31536e3),{...this.requestInit,method:"POST",headers:{...this.headers}});return Oe(n)}catch(r){throw this.onError?.(r),r}};this.invalidateBySrcImage=async t=>{try{let n=(Array.isArray(t)?t:[t]).map(s=>`${gr}${s.replace(/,/g,"!")}`),o=await fetch(this.getInvalidateUrl(n,31536e3),{...this.requestInit,method:"POST",headers:{...this.headers}});return Oe(o)}catch(r){throw this.onError?.(r),r}};this.dangerouslyDeleteByTag=async(t,r)=>{try{let n=Array.isArray(t)?t:[t],o=await Ne(this.getInvalidateUrl(n,r?.revalidationDeadlineSeconds??0),{...this.requestInit,method:"POST",headers:{...this.headers}});return Oe(o)}catch(n){throw this.onError?.(n),n}};this.dangerouslyDeleteBySrcImage=async(t,r)=>{try{let o=(Array.isArray(t)?t:[t]).map(i=>`${gr}${i.replace(/,/g,"!")}`),s=await Ne(this.getInvalidateUrl(o,r?.revalidationDeadlineSeconds??0),{...this.requestInit,method:"POST",headers:{...this.headers}});return Oe(s)}catch(n){throw this.onError?.(n),n}};this.onError=i,this.basepath=t??"",this.host=r??"",this.protocol=o??"https",this.headers=n??{},this.headers["x-vercel-internal-sc-client-origin"]="PURGE_API",this.headers["x-vercel-internal-sc-client-name"]=a??"PURGE_API",this.requestInit=s??{cache:"no-store"}}};var Ae=class{constructor(){this.tag=new Set;this.addCacheTag=(t,...r)=>{r.length>0&&console.warn(`addCacheTag expected 1 tag parameter but received ${r.length+1}. Additional tag parameters will be ignored.`),Array.isArray(t)?t.forEach(n=>this.tag.add(n)):this.tag.add(t)};this.getTags=()=>Array.from(this.tag)}};at();X();var z=require("http");var hr=Symbol.for("@vercel/flags-context");function yr(e){let{symbol:t,value:r}=Wo(e);Reflect.has(globalThis,t)||Object.defineProperty(globalThis,t,{value:r,configurable:!0})}function Wo(e){return{symbol:hr,value:{reportValue(t,r,n){let o={key:String(t),value:JSON.stringify(r)};if(o.value!==void 0){switch(typeof n?.reason=="string"&&(o.reason=n.reason),typeof n?.outcomeType=="string"&&(o.outcomeType=n.outcomeType),typeof n?.sdkVersion=="string"&&(o.sdkVersion=n.sdkVersion),typeof n?.originProjectId=="string"&&(o.originProjectId=n.originProjectId),typeof n?.originProvider=="string"&&(o.originProvider=n.originProvider),process.env.VC_SOURCE_TEMPLATE_TYPE){case"edge-on-node":o.source="edge",o.edgeType="middleware";break;case"worker":o.source="edge",o.edgeType="edge-function";break;default:break}e(o)}}}}}function vr(){let e=new Map;return{getValues(){return Object.fromEntries(e)},reportValue(t,r,n){e.set(t,r),Reflect.get(globalThis,hr).reportValue(t,r,n)}}}function br(e){let t=Buffer.from(JSON.stringify(e.metadata)),r=Buffer.alloc(4);return r.writeUInt32LE(t.length,0),Buffer.concat([r,t,e.buffer])}var _e=Buffer.allocUnsafe(8);function Go(){for(let e=0;e<8/4;e++)_e.writeUInt32BE(Math.random()*2**32>>>0,e*4);for(let e=0;e<8&&!(_e[e]>0);e++)e===8-1&&(_e[8-1]=1);return _e.toString("hex",0,8)}var G,de,ue,le,pe,Me,Le,gt=class{constructor({name:t,parentSpanId:r,startTime:n,kind:o=1}){A(this,G,void 0);A(this,de,void 0);A(this,ue,void 0);A(this,le,void 0);A(this,pe,void 0);A(this,Me,[]);A(this,Le,[]);q(this,de,t),q(this,G,Go()),q(this,ue,r||void 0),q(this,le,n??Date.now()),q(this,pe,o)}spanId(){return k(this,G)}end(){return{name:k(this,de),spanId:k(this,G),parentSpanId:k(this,ue),startTimeUnixNano:k(this,le)*1e6,endTimeUnixNano:Date.now()*1e6,kind:k(this,pe),events:k(this,Me),attributes:k(this,Le)}}childSpan(t){return new gt({parentSpanId:k(this,G),name:t.name,kind:t.kind})}},M=gt;G=new WeakMap,de=new WeakMap,ue=new WeakMap,le=new WeakMap,pe=new WeakMap,Me=new WeakMap,Le=new WeakMap;var fe,De=class{constructor({requestContext:t,reportSpans:r}){A(this,fe,void 0);this.requestContext=t,q(this,fe,r)}recordSpan(t,r){t&&this.recordSpans([t],r)}recordSpans(t,r){let n=r??this.requestContext.getStore()?.otelContext;!t.length||!n||k(this,fe).call(this,{resourceSpans:[{scopeSpans:[{scope:{name:"vercel.serverless-runtime"},spans:t.map(zo.bind(null,n.traceId))}]}]})}};fe=new WeakMap;function zo(e,t){return{...t,traceId:e,kind:1}}var Sr=Y(require("https")),xr=Y(require("http")),Er=Y(require("crypto")),H=null,Jo=12e4;async function wr(){if(H||process.versions.bun)return;let e=await import("inspector");H=new e.Session,H.connect(),await ge(t=>H.post("Profiler.setSamplingInterval",{interval:100},t)),await ge(t=>H.post("Profiler.enable",t)),await ge(t=>H.post("Profiler.start",t)),setTimeout(()=>{mt()},Jo)}async function mt(){if(!H||process.versions.bun)return;let e=await ge(t=>H.post("Profiler.stop",t));return await ge(t=>H.post("Profiler.disable",t)),H.disconnect(),H=null,JSON.stringify(e.profile)}function ge(e){return new Promise((t,r)=>{e((n,o)=>{n?r(n):t(o)})})}async function ht(e,t){let r=Er.default.randomUUID(),n=[];for(let[l,u]of Object.entries(t.fields))n.push(`--${r}\r`),n.push(`Content-Disposition: form-data; name="${l}"\r\r`),n.push(`${u}\r`);n.push(`--${r}\r`),n.push(`Content-Disposition: form-data; name="file"; filename="filename.json"\r`),n.push(`Content-Type: application/json\r\r`),n.push(e+`\r`),n.push(`--${r}--\r`);let o=Buffer.concat(n.map(l=>Buffer.from(l,"utf8"))),a=(new URL(t.url).protocol==="https:"?Sr.default.request:xr.default.request)(t.url,{__vercel_ignore:!0,method:"POST",headers:{"Content-Length":o.byteLength,"Content-Type":`multipart/form-data; boundary=${r}`}}),d=new Promise((l,u)=>{a.on("response",l),a.on("error",u)});a.write(o),a.end();let c=await d;if(!c.statusCode||c.statusCode<200||c.statusCode>300){let l=async()=>{let u=[];for await(let v of c)u.push(v);return Buffer.concat(u).toString()};throw new Error(`CPU profile upload failed: HTTP ${c.statusCode}: ${await l()}`)}}function Cr(e,t){let r=[...t.getHeaderNames()];for(let n of r)e.has(n)||t.removeHeader(n);for(let n of e.keys()){if(n.toLowerCase()==="set-cookie"){let s=e.getSetCookie();t.setHeader(n,s);continue}let o=e.get(n);o==null?t.removeHeader(n):t.setHeader(n,o)}}function Tr(e){let t=new Headers,r=e.getHeaderNames();for(let n of[...r]){let o=e.getHeader(n);typeof o>"u"||(Array.isArray(o)?o.forEach(s=>t.append(n,s)):t.append(n,String(o)))}return t}var Yo=Symbol.for("@vercel/function-healthcheck");function Rr(){let e=globalThis[Yo];if(typeof e=="function")return e}var K=globalThis.Function.constructor,Q=function*(){}.constructor,Z=async function(){}.constructor,ee=async function*(){}.constructor,Ue=!1,te=class extends Error{constructor(t){super(t),this.name="DisallowedEvalError"}};function Be(e){if(!e)return!1;for(let t of e.split(``)){if(t.includes("/var/task/")&&!t.includes("node_modules"))return!1;if(t.includes("next-server")||t.includes("react-server-dom-webpack")||t.includes("react-server-dom-turbopack")||t.includes("react-server-dom-parcel")||t.includes("waku/src/router/define-router"))return!0}return!1}function kr(){if(Ue)return;Ue=!0;function e(){let o=new Error().stack;return Be(o)?function(){return function(){throw new te('Detected dynamic code evaluation via Function.prototype.constructor which is not allowed on Vercel (use globalThis.Function("...") directly)')}}:K}function t(){let o=new Error().stack;return Be(o)?function(){return function(){throw new te("Detected dynamic code evaluation via generator function constructor which is not allowed on Vercel")}}:Q}function r(){let o=new Error().stack;return Be(o)?function(){return function(){throw new te("Detected dynamic code evaluation via async function constructor which is not allowed on Vercel")}}:Z}function n(){let o=new Error().stack;return Be(o)?function(){return function(){throw new te("Detected dynamic code evaluation via async generator function constructor which is not allowed on Vercel")}}:ee}Object.defineProperty(K.prototype,"constructor",{get:e,set(o){this!==K.prototype?Object.defineProperty(this,"constructor",{value:o,configurable:!0,enumerable:!0}):o!==K&&Object.defineProperty(this,"constructor",{value:o})},enumerable:!1,configurable:!0}),Object.defineProperty(Q.prototype,"constructor",{get:t,set(o){this!==Q.prototype?Object.defineProperty(this,"constructor",{value:o,configurable:!0,enumerable:!0}):o!==Q&&Object.defineProperty(this,"constructor",{value:o})},enumerable:!1,configurable:!0}),Object.defineProperty(Z.prototype,"constructor",{get:r,set(o){this!==Z.prototype?Object.defineProperty(this,"constructor",{value:o,configurable:!0,enumerable:!0}):o!==Z&&Object.defineProperty(this,"constructor",{value:o})},enumerable:!1,configurable:!0}),Object.defineProperty(ee.prototype,"constructor",{get:n,set(o){this!==ee.prototype?Object.defineProperty(this,"constructor",{value:o,configurable:!0,enumerable:!0}):o!==ee&&Object.defineProperty(this,"constructor",{value:o})},enumerable:!1,configurable:!0})}function Ir(){Ue&&(Ue=!1,Object.defineProperty(K.prototype,"constructor",{value:K,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(Q.prototype,"constructor",{value:Q,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(Z.prototype,"constructor",{value:Z,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(ee.prototype,"constructor",{value:ee,writable:!0,enumerable:!1,configurable:!0}))}var Hr=Function.prototype.toString,je=!1;function Pr(){if(je)return;je=!0;let e=function(){return this===e?"function toString() { [native code] }":typeof this=="function"&&"$$typeof"in this&&this.$$typeof===Symbol.for("react.server.reference")?(console.warn("[vc] TypeError: Unexpected toString call"),"function () { [omitted code] }"):Hr.call(this)};Function.prototype.toString=e}function Or(){je&&(je=!1,Function.prototype.toString=Hr)}var _r=require("http"),Mr=require("async_hooks");X();var Nr=["GET","HEAD","OPTIONS","POST","PUT","DELETE","PATCH"],L=Symbol.for("@vercel/server-context");var Fe=Symbol.for("@vercel/server-context-upgrade-handler"),qe=Symbol("@vercel/pending-ws-upgrade");function yt(e){let t=e.headers.connection,r=e.headers.upgrade;return typeof t=="string"&&t.split(",").some(n=>n.trim().toLowerCase()==="upgrade")&&typeof r=="string"&&r.split(",").some(n=>n.trim().toLowerCase()==="websocket")}function Lr(e){let{server:t,ensureRequestContextListenersPatched:r,dispatchRequest:n}=e;return(o,s,i)=>{if(!yt(o)||(s.setTimeout(0),s.setNoDelay(!0),t.listenerCount("upgrade")>1))return;let a=new _r.ServerResponse(o);typeof a.assignSocket=="function"&&a.assignSocket(s),Object.defineProperty(o,qe,{enumerable:!1,configurable:!0,value:i});let d=()=>{delete o[qe]};return a.once("close",d),a.once("finish",d),r(t),n(o,a)}}function Dr({withALSContext:e}){return t=>{for(let n of t.listeners("upgrade")){let s=function(i,a,d,...c){return i.headers["x-vercel-internal-invocation-id"]?o.call(this,i,a,d,...c):n.call(this,i,a,d,...c)};var r=s;if(n[L]||n===t[Fe])continue;t.removeListener("upgrade",n);let o=e(n);Object.defineProperty(s,L,{enumerable:!1,configurable:!0,value:n}),t.addListener("upgrade",s)}}}function Br({socket:e,req:t,context:r,storage:n,abortController:o}){e.once("close",()=>{n.run(r,()=>{t.emit("aborted"),o.abort()})}),t.once("aborted",()=>{t.removeAllListeners("aborted")})}function Ur({req:e,socket:t,storage:r,context:n,requestContext:o}){Ar(e,r,n,o),Ar(t,r,n,o)}function jr({socket:e,finalizeInvocation:t,setError:r}){e.once("close",t),e.once("error",r)}function qr({req:e,res:t,context:r,abortController:n,storage:o,finalizeInvocation:s,setError:i}){let a=e[qe];if(!a)throw new Error("No pending WebSocket upgrade state found for this request");delete e[qe];let d=e.socket;t.removeListener("close",s),t.detachSocket(d),d.once("close",()=>{o.run(r,()=>{e.emit("aborted"),n.abort()})});let c=Mr.AsyncLocalStorage.snapshot(),l=d.emit;return d.emit=function(...u){return c(()=>l.apply(this,u))},d.once("close",s),d.once("error",i),{req:e,socket:d,head:a}}function Ar(e,t,r,n){let o=e.emit;e.emit=function(...s){return t.run(r,()=>F.run(n,()=>o.apply(this,s)))}}var[Xo]=process.versions.node.split(".").map(Number),Fr=[];function Wr(e){Ut(),z.Server.prototype[L]||Object.defineProperty(z.Server.prototype,L,{configurable:!0,enumerable:!1,value:z.Server.prototype.emit});let t=n=>{for(let s of n.listeners("request"))if(!s[L]){let a=function(d,...c){if(d.url=="/_vercel/ping"){let l=Rr();l?Promise.resolve(l()).catch(u=>{c[0].statusCode=500,c[0].write(String(u))}).then(()=>{c[0].end()}):c[0].end();return}return d.headers["x-vercel-internal-invocation-id"]?i.call(this,d,...c):s.call(this,d,...c)};var o=a;n.removeListener("request",s);let i=$r({handler:s,type:"request"},{initSpans:e.initSpans,reportByteCode:e.reportByteCode,reportBodyEnd:e.reportBodyEnd,reportEnd:e.reportEnd,serverId:e.serverId,storage:e.storage,sendMetric:e.sendMetric,reportEdgeOnNode:e.reportEdgeOnNode,reportSpans:e.reportSpans});Object.defineProperty(a,L,{enumerable:!1,configurable:!0,value:s}),n.addListener("request",a)}},r=Dr({withALSContext:n=>$r({handler:n,type:"upgrade"},{initSpans:e.initSpans,reportByteCode:e.reportByteCode,reportBodyEnd:e.reportBodyEnd,reportEnd:e.reportEnd,serverId:e.serverId,storage:e.storage,sendMetric:e.sendMetric,reportEdgeOnNode:e.reportEdgeOnNode,reportSpans:e.reportSpans})});z.Server.prototype.emit=function(...n){if(!this[Fe]){let o=Lr({server:this,ensureRequestContextListenersPatched:s=>t(s),dispatchRequest:(s,i)=>z.Server.prototype[L].call(this,"request",s,i)});Object.defineProperty(this,Fe,{enumerable:!1,configurable:!0,value:o}),this.prependListener("upgrade",o)}return(n[0]==="request"||n[0]==="upgrade")&&(Fr.includes(this)||Fr.push(this),t(this),n[0]==="upgrade"&&r(this)),z.Server.prototype[L].call(this,...n)}}function Ko(){return globalThis[Symbol.for("@vercel/get-code-cache")]}function Vr(e,t,r,n){let o=e.emit;e.emit=function(...s){return t.run(r,()=>F.run(n,()=>o.apply(this,s)))}}function $r(e,t){return async function(r,n,...o){let s=e.type==="request"?{type:"request",res:n}:{type:"upgrade",socket:n},i=typeof r.headers["x-vercel-internal-trace-id"]=="string"?r.headers["x-vercel-internal-trace-id"]:null,a=typeof r.headers["x-vercel-internal-span-id"]=="string"?r.headers["x-vercel-internal-span-id"]:null,d=new URL(r.url??"/",ke(r.headers)),c,l;if(i&&a&&(l={traceId:i,spanId:a},c=new De({requestContext:t.storage,reportSpans:t.reportSpans}),Date.now()-re<1e4)){let g;for(;g=t.initSpans.pop();)c.recordSpan(g,l)}let u={url:d,invocationId:typeof r.headers["x-vercel-internal-invocation-id"]=="string"?r.headers["x-vercel-internal-invocation-id"]:void 0,serverId:t.serverId,requestId:typeof r.headers["x-vercel-internal-request-id"]=="string"?Number(r.headers["x-vercel-internal-request-id"]):void 0,vercelId:typeof r.headers["x-vercel-id"]=="string"?r.headers["x-vercel-id"]:void 0,intraSession:typeof r.headers["x-vercel-internal-intra-session"]=="string"?r.headers["x-vercel-internal-intra-session"]:void 0,otelContext:l,tracer:c},v=new Pe,f=r.headers["x-vercel-sc-headers"],h=f?JSON.parse(f):void 0,y=r.headers["x-vercel-sc-basepath"],x=r.headers["x-vercel-sc-host"],b=r.headers["x-vercel-sc-protocol"],p=!!r.headers["x-vercel-sc-no-header-leak"];p&&(delete r.headers["x-vercel-sc-basepath"],delete r.headers["x-vercel-sc-host"],delete r.headers["x-vercel-sc-protocol"],delete r.headers["x-vercel-sc-headers"],delete r.headers["x-vercel-sc-no-header-leak"]),delete r.headers["x-vercel-sc-runtime-cache"];let m=new Ae,w,C;if(h&&x){let g=new ie({scBasepath:y,scHeaders:{...h},scHost:x,scProtocol:b,cacheTagApi:m});w={delete:g.delete.bind(g),get:g.get.bind(g),set:g.set.bind(g),expireTag:g.expireTag.bind(g)};let S=new ce({scBasepath:y,scHeaders:{...h},scHost:x,scProtocol:b});C={invalidateByTag:S.invalidateByTag.bind(S),invalidateBySrcImage:S.invalidateBySrcImage.bind(S),dangerouslyDeleteByTag:S.dangerouslyDeleteByTag.bind(S),dangerouslyDeleteBySrcImage:S.dangerouslyDeleteBySrcImage.bind(S)}}let E=[],T=new AbortController,R={mutateResponseHeadersBeforeFlush(g){E.push(g)},telemetry:{rootSpanContext:l,reportSpans:t.reportSpans},reportEdgeOnNode:t.reportEdgeOnNode,waitUntil:v.waitUntil.bind(v),cache:w,purge:C,addCacheTag:g=>{m.addCacheTag(g)},method:r.method??"GET",url:String(d),flags:vr(),headers:Object.entries(r.headers).reduce((g,[S,B])=>(["x-vercel-internal-timings-offset"].includes(S)||(Array.isArray(B)?g[S]=B.join(","):typeof B=="string"&&(g[S]=B)),g),{}),signal:T.signal,upgradeWebSocket:s.type==="request"&&yt(r)?()=>{if(s.type!=="request")throw new Error("ctx.upgradeWebSocket() can only be called once per request");let g=qr({req:r,res:s.res,context:u,abortController:T,storage:t.storage,finalizeInvocation:et,setError:S=>{I=S}});return s={type:"upgrade",socket:g.socket},{req:g.req,socket:g.socket,head:g.head}}:void 0};if(p&&(x&&(R.headers["x-vercel-sc-host"]=x),y&&(R.headers["x-vercel-sc-basepath"]=y),f&&(R.headers["x-vercel-sc-headers"]=f),b&&(R.headers["x-vercel-sc-protocol"]=b)),u.intraSession&&(delete r.headers["x-vercel-internal-intra-session"],delete R.headers["x-vercel-internal-intra-session"]),s.type==="request"){let{res:g}=s,S;typeof r.headers["x-vercel-internal-timings-offset"]=="string"&&(S=parseInt(r.headers["x-vercel-internal-timings-offset"]));let B=g.writeHead;g.writeHead=function(...O){if(E.length){let $=Tr(this);for(let W of E)W($);Cr($,this)}U.mark(r.headers,"response-started");let N=ur(r.headers,{timingsOffset:S});N&&g.setHeader("x-vercel-internal-timing",N);let V=[...m.getTags()];V.length&&g.setHeader("vercel-cache-tag",V.join(","));let j=O.length==3?O[2]:O[1];if(Xo<22&&Array.isArray(j)){let $={};for(let W=0;W<j.length;W+=2){let xe=j[W+0];xe&&(Array.isArray($[xe])?$[xe].push(j[W+1]):$[xe]=[j[W+1]])}O=O.slice(0,-1),O.push($)}let On=B.call(this,...O);return process.versions.bun||g.flushHeaders(),On},g.once("aborted",()=>{t.storage.run(u,()=>{r.emit("aborted"),T.abort()})}),r.once("aborted",()=>{r.removeAllListeners("aborted")}),Vr(r,t.storage,u,R),Vr(g,t.storage,u,R)}else s.type==="upgrade"&&(Br({socket:s.socket,req:r,context:u,storage:t.storage,abortController:T}),Ur({req:r,socket:s.socket,storage:t.storage,context:u,requestContext:R}));U.mark(r.headers,"invoke-started");let Ze=typeof r.headers["x-min-bytecode-size"]=="string"?parseInt(r.headers["x-min-bytecode-size"],10):void 0;typeof r.headers["x-min-bytecode-size"]=="string"&&(delete r.headers["x-min-bytecode-size"],delete R.headers["x-min-bytecode-size"]);let Hn=typeof r.headers["x-max-bytecode-size"]=="string"?parseInt(r.headers["x-max-bytecode-size"],10):void 0;typeof r.headers["x-max-bytecode-size"]=="string"&&(delete r.headers["x-max-bytecode-size"],delete R.headers["x-max-bytecode-size"]);let Se=typeof r.headers["x-vercel-internal-cpu-profile"]=="string"?JSON.parse(r.headers["x-vercel-internal-cpu-profile"]):void 0;if(Se){let g=l?new M({parentSpanId:l.spanId,name:"Start CPU Profiler",kind:2}):void 0;await wr(),c?.recordSpan(g?.end(),l)}let Pn=typeof r.headers["x-matched-path"]=="string"?r.headers["x-matched-path"]:d.pathname,I,kt=!1,et=()=>{if(kt)return;kt=!0;let g;I?.message&&(g=typeof I.message=="string"?I.message:JSON.stringify(I.message)),t.reportBodyEnd({context:u,error:g}),t.storage.run(u,()=>F.run(R,()=>v.awaiting().then(()=>{let S=()=>{setImmediate(()=>{let N;I?.message&&(N=typeof I.message=="string"?I.message:JSON.stringify(I.message)),t.reportEnd({context:u,error:N})})},B=()=>{if(Se){let N=l?new M({parentSpanId:l.spanId,name:"Stop CPU Profiler",kind:2}):void 0;mt().then(V=>ht(V,Se)).catch(console.error).finally(()=>{console.log(`Recorded CPU profile: ${Se.fields.key}`),c?.recordSpan(N?.end()),S()})}else S()},O=Ko();if(O){let N=l?new M({parentSpanId:l.spanId,name:"Bytecode Caching",kind:2}):void 0;O.getSnapshot({bytecodeSpan:N,dedupeKey:Pn,maxByteCodeSize:Hn,minByteCodeSize:Ze}).then(({snapshot:V,spans:j})=>{V&&t.reportByteCode({payload:br(V),context:u}),j?.length&&c?.recordSpans(j,l)}).catch(console.error).finally(()=>{c?.recordSpan(N?.end()),B()})}else B()})))};if(s.type==="request"){let{res:g}=s;g.once("close",et)}else s.type==="upgrade"&&jr({socket:s.socket,finalizeInvocation:et,setError:g=>{I=g}});r.headers["x-vercel-internal-rusty-4372"]==="1"?kr():Ir(),r.headers["x-vercel-internal-rusty-4487"]==="1"?Pr():Or();try{return U.mark(r.headers,"handler-started"),delete r.headers["x-vercel-internal-request-id"],delete r.headers["x-vercel-internal-invocation-id"],delete r.headers["x-vercel-internal-timings-offset"],delete r.headers["x-vercel-internal-trace-id"],delete r.headers["x-vercel-internal-span-id"],delete r.headers["x-vercel-internal-cpu-profile"],delete r.headers["x-vercel-internal-rusty-4372"],delete r.headers["x-vercel-internal-rusty-4487"],u.vercelId&&(r.headers["x-invocation-id"]=u.vercelId),await t.storage.run(u,()=>F.run(R,()=>e.handler.call(this,r,n,...o)))}catch(g){if(u.requestId){if(I=g instanceof Error?g:new Error(g),t.storage.run(u,()=>console.error(g)),s.type==="request"){let{res:S}=s;S.statusCode=900,S.end()}else if(s.type==="upgrade"){let{socket:S}=s;S.destroy()}}else throw g}}}var kn=require("crypto");async function Gr(e,t){process.env.VERCEL_ENABLE_HANDLER_HOOKS==="1"&&await t?.[e]?.().catch(r=>{console.error(`Error in ${e} hook:`,r)})}X();var Qr=Y(zr()),xt=require("crypto"),ts="/opt/edge-config",rs=/^\/opt\/edge-config\/(?<edgeConfigId>ecfg_\w+)\.json$/,Jr=Symbol.for("privateEdgeConfig"),Yr=new WeakSet,vt=!0,Et=new Map,ne=new Map,me=new Map,wt=null;var Xr=(e=process.hrtime.bigint())=>()=>Math.round(Number(process.hrtime.bigint()-e)/1e6);async function Kr(e,t,r,n){return fetch("https://edge-config.vercel.com/embedded",{headers:{"x-edge-config-id":e,"x-edge-config-token":t,"x-edge-config-owner":r,...n?{"x-edge-config-min-updated-at":n.toString()}:null},cache:"no-store",__vercel_ignore:!0}).then(async o=>{if(!o.ok)return;let s=await o.text(),i=JSON.parse(s),a={text:s,parsed:i};return me.set(e,a),a}).catch(()=>{})}function ns(e,t){return!e||!t.updatedAt?!1:e-t.updatedAt>=1e4}function bt(e){return Number(oe.get()?.headers?.["x-vercel-edge-config-versions"]?.split(";").find(t=>t.startsWith(`${e}=`))?.split("=")[1])||void 0}function St(e,t){return!e||!t.updatedAt?!1:e>t.updatedAt}function os(e,t){if(wt)return;let r=e.readFile;wt=e.readFile;let n=e.readFile.toString(),o=e.readFile.toString.toString();async function s(...a){let d=a[0],c=typeof d=="string"&&a[1]==="utf-8"?rs.exec(d):null;if(c?.groups){let l=Xr(),u=c.groups.edgeConfigId,v=bt(u),f=me.get(u);if(f){let y=St(v,f.parsed);return t({purpose:f.parsed.purpose||null,edgeConfigId:u,durationMs:l(),edgeConfigDigest:f.parsed.digest,hasNewVersionInHeader:y,cacheStatus:y?"STALE":"HIT",cacheAction:"NONE",isBlocking:!1,readMethod:"readFile"}),f.text}let h=await r(...a);if(typeof h=="string"&&h)try{let y=JSON.parse(h);me.set(u,{text:h,parsed:y});let x=St(v,y);t({purpose:y.purpose||null,edgeConfigId:u,durationMs:l(),edgeConfigDigest:y.digest,hasNewVersionInHeader:x,cacheStatus:"MISS",cacheAction:"NONE",isBlocking:!1,readMethod:"readFile"})}catch{}return h}return r(...a)}Object.defineProperty(e,"readFile",{value:s}),Object.defineProperty(e.readFile,"toString",{value:()=>n}),Object.defineProperty(e.readFile.toString,"toString",{value:()=>o});let i={async get(a){let d=Xr(),c=me.get(a);if(!c){let p=bt(a);if(!p||ne.get(a))return;let w=oe.get()?.headers?.["x-vercel-owner-id"],C=Et.get(a);if(!w||!C)return;let E=Kr(a,C,w,p).finally(()=>{ne.delete(a)});return ne.set(a,E),null}let l=bt(a),u=c.parsed.purpose||null,v=!1,f=!1,h=c.parsed.digest,y="HIT",x="NONE",b;try{let p=oe.get()?.headers?.["x-vercel-owner-id"],m=Et.get(a);if(p&&m&&St(l,c.parsed)){f=!0,y="STALE";let w=ne.get(a);if(x=w?"FOLLOWING":"REFRESHING",b=()=>{if(w)return w;let C=Kr(a,m,p,l).finally(()=>{ne.delete(a)});return ne.set(a,C),C},ns(l,c.parsed)){v=!0;let C=await b();if(C)return y="MISS",h=C.parsed.digest,C.parsed;y="STALE_IF_ERROR"}}return c.parsed}finally{if(t({purpose:u,hasNewVersionInHeader:f,edgeConfigId:a,edgeConfigDigest:h,durationMs:d(),cacheStatus:y,cacheAction:x,isBlocking:v,readMethod:"privateGet"}),b){let p=Reflect.get(globalThis,Symbol.for("@vercel/request-context"));setImmediate(()=>{let m=b?.().catch(()=>{});m&&p?.get?.()?.waitUntil?.(m)})}}}};Object.defineProperty(i.get,"toString",{value:()=>"function get() { [native code] }"}),Reflect.has(globalThis,Jr)||Object.defineProperty(globalThis,Jr,{value:i,configurable:!0})}function Zr(e){let t=(0,Qr.getEdgeConfigsFromEnv)(process.env);return t.length===0?!1:(os(require("fs/promises"),({purpose:r,edgeConfigId:n,durationMs:o,hasNewVersionInHeader:s,edgeConfigDigest:i,cacheStatus:a,cacheAction:d,isBlocking:c,readMethod:l})=>{let u=e?.storage?.getStore();u&&(r==="flags"?Yr.has(u)||(Yr.add(u),e?.sendMetric({type:"flags-config-read-metric",context:u,payload:{edgeConfigId:n,edgeConfigDigest:i,edgeConfigRequestId:`ecfg:req:${(0,xt.randomUUID)()}`,edgeConfigReadDuration:o,source:"lambda",readMethod:l,cacheStatus:a,cacheAction:d,cacheIsBlocking:c,cacheIsFirstRead:vt}})):e?.sendMetric({type:"edge-config-metric",context:u,payload:{edgeConfigId:n,edgeConfigDigest:i,edgeConfigRequestId:`ecfg:req:${(0,xt.randomUUID)()}`,vercelRequestId:u.vercelId||null,duration:o,isFirstEdgeConfigRead:vt,source:"layer",hasNewVersionInHeader:s||!1,cacheStatus:a,cacheAction:d,isBlocking:c,readMethod:l}})),vt=!1}),t.forEach(({id:r,token:n})=>{Et.set(r,n),wt?.(`${ts}/${r}.json`,"utf-8").then(o=>{let s=JSON.parse(o);me.set(r,{text:o,parsed:s})}).catch(()=>{})}),!0)}var nn=require("async_hooks"),on=require("diagnostics_channel"),sn=require("perf_hooks");var he=require("tls"),an=(()=>{let e=0;return()=>++e})(),P=new nn.AsyncLocalStorage,ss=new sn.PerformanceObserver(e=>{let t=P.getStore();if(t){for(let r of e.getEntries())if(r.entryType==="dns"&&(t.dnsDuration=Math.round(r.duration)),r.entryType==="net"){t.netDuration=Math.round(r.duration);let n=r.detail;typeof n?.host=="string"&&(t.resolvedIp=n.host)}}});ss.observe({entryTypes:["net","dns","resource"]});var as=he.TLSSocket.prototype._start;he.TLSSocket.prototype._start=function(){let e=P.getStore();e&&(e.tlsStart=Date.now()),as.apply(this)};var is=he.TLSSocket.prototype._finishInit;he.TLSSocket.prototype._finishInit=function(){let e=P.getStore();e?.tlsStart&&(e.tlsDuration=Date.now()-e.tlsStart),is.apply(this)};var en=new WeakMap;function Ct(e){if(e==null)return{};let t=en.get(e)??{bytesWritten:0,bytesRead:0},r=e.bytesWritten,n=e.bytesRead;return en.set(e,{bytesWritten:r,bytesRead:n}),{requestTransferBytes:r-t.bytesWritten,responseTransferBytes:n-t.bytesRead}}(0,on.channel)("undici:client:sendHeaders").subscribe(e=>{let{socket:t}=e,r=P.getStore();r&&t!=null&&(r.undiciSocket=t)});function cs(e){return e?.toString().toLowerCase().includes("undici")||!!process.versions.bun&&e?.toString().toLowerCase().includes("[native code]")}var tn=!1;function cn(e){tn||(ds(e),At((t,r)=>t==="http"||t==="https"?ms(r,t,e):t==="undici"||t==="next/dist/compiled/undici"?us(t,e):ys),tn=!0)}function ds(e){cs(globalThis.fetch)&&dn(globalThis,"fetch",e)}function us(e,t){try{let r=require(e);dn(r,"undici",t)}catch{}}function rn(e){let t={protocol:e.protocol,hostname:typeof e.hostname=="string"&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,path:`${e.pathname||""}${e.search||""}`,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href};return e.port!==""&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${decodeURIComponent(e.username)}:${decodeURIComponent(e.password)}`),t}function ls(e){let t=e.protocol||"http:",r=e.hostname||e.host||"localhost",n=e.port?`:${e.port}`:"",o=e.path||"/";return $e(`${t}//${r}${n}${o}`)}function ps(e,t,r){if(typeof e=="string"){let n=e;e=rn(new URL(n))}else e instanceof URL?e=rn(e):(r=t,t=e,e=null);return typeof t=="function"?(r=t,t=e||{}):t=Object.assign(e||{},t),{options:t,callback:r}}function fs(e){return e.length>0&&Array.isArray(e[0])}function gs(e){let t={};if(fs(e))for(let r=0;r<e.length;r++){let n=e[r];t[n[0]]=n[1]}else{if(e.length%2!==0)throw new Error("specified request headers looks like an array of strings, but its length is not even");for(let r=0;r<e.length;r+=2)t[e[r+0]]=e[r+1]}return t}function ms(e,t,r){let{request:n}=e;e.request=function(...o){let s=Date.now(),i=an(),{options:a,callback:d}=ps(...o),c=!1;Array.isArray(a.headers)&&(a.headers=gs(a.headers),c=!0);let l=a.__vercel_ignore===!0,u=ls(a),v={headers:a.headers??{}};typeof v.headers=="object"&&v.headers!==null&&(r.mutateHeaders?.(u,v),a.headers=c?Object.entries(v.headers):v.headers);let f;d?f=P.run({},()=>n(a,d)):f=P.run({},()=>n(a));let{pathname:h,search:y}=new URL(f.path,"https://127.0.0.1"),x=null;return f.prependOnceListener("socket",b=>{x=b}),l||(r.onNetworkStarted?.({start:s,method:f.method,host:f.host,pathname:h,id:i,requestApi:t}),f.prependOnceListener("response",b=>{let p=Date.now(),m=P.getStore(),w=b?.headers?.["cache-duration"]?Number(b.headers["cache-duration"]):void 0,C=b?.statusCode??-1,E=!1,T=()=>{E||(E=!0,r.onNetwork?.({id:i,start:s,duration:p-s,host:f.host,method:f.method,pathname:h,search:y,statusCode:C,requestApi:t,dnsDuration:m?.dnsDuration,netDuration:m?.netDuration,tlsDuration:m?.tlsDuration,resolvedIp:m?.resolvedIp,cacheDuration:w,...Ct(x)}))};b.prependOnceListener("end",T),b.prependOnceListener("close",T)}),f.prependOnceListener("error",b=>{let p=Date.now(),m=P.getStore();r.onNetworkFailed?.({id:i,reason:ln(b),start:s,duration:p-s,host:f.host,method:f.method,pathname:h,search:y,requestApi:t,dnsDuration:m?.dnsDuration,netDuration:m?.netDuration,tlsDuration:m?.tlsDuration,resolvedIp:m?.resolvedIp,requestTransferBytes:Ct(x).requestTransferBytes})})),f},e.ClientRequest!==void 0&&(e.ClientRequest=e.request),e.get=function(...o){return e.request(...o).end()}}function dn(e,t,r){let{fetch:n}=e;e.fetch=o;async function o(s,i={}){let a=Date.now(),d=an(),c=i||{},l=$e(s instanceof Request?s.url:s),u=c;s instanceof Request?u.headers?r.mutateHeaders?.(l,u):r.mutateHeaders?.(l,s):r.mutateHeaders?.(l,u);let v=u.method||(s instanceof Request?s.method:"GET"),f=l&&l.hostname?l:void 0,h=c?.__vercel_ignore===!0;return f&&!h&&r.onNetworkStarted?.({id:d,requestApi:t,pathname:f.pathname??"",host:f.host,method:v??"GET",start:a}),P.run({},()=>n(s,u).then(y=>{let x=$e(c?.next?.fetchUrl??""),b=Date.now();if(!f||h)return y;let p=P.getStore(),m=y.headers.get("cache-duration")?Number(y.headers.get("cache-duration")):void 0;return r.onNetwork?.({id:d,start:a,duration:b-a,host:f.hostname,method:v??"GET",pathname:f.pathname??"",search:f.search??"",statusCode:y.status,fetchHost:x?.hostname,fetchIdx:c.next?.fetchIdx,fetchPath:x?.pathname,fetchType:c.next?.fetchType,requestApi:t,dnsDuration:p?.dnsDuration,netDuration:p?.netDuration,tlsDuration:p?.tlsDuration,resolvedIp:p?.resolvedIp,cacheDuration:m,...Ct(p?.undiciSocket??null)}),y},y=>{if(f&&!h){let x=Date.now(),b=$e(c?.next?.fetchUrl??""),p=P.getStore();r.onNetworkFailed?.({id:d,reason:ln(y),start:a,duration:x-a,host:f.hostname,method:v??"GET",pathname:f.pathname??"",search:f.search??"",fetchHost:b?.hostname,fetchIdx:c.next?.fetchIdx,fetchPath:b?.pathname,fetchType:c.next?.fetchType,requestApi:t,dnsDuration:p?.dnsDuration,netDuration:p?.netDuration,tlsDuration:p?.tlsDuration,resolvedIp:p?.resolvedIp})}throw y}))}}var hs=e=>e&&typeof e=="object"&&e instanceof DOMException&&(e.name==="AbortError"||e.name==="TimeoutError");function un(e,t){if(!(!e||typeof e!="object")){if("code"in e&&typeof e.code=="string")return e.code;if(t&&"cause"in e&&e.cause&&typeof e.cause=="object")return un(e.cause,!1)}}function ln(e){return hs(e)||e?.name==="AbortError"?"aborted":un(e,!0)??"error"}function $e(e){try{return new URL(e)}catch{return}}function We(e,t,r){r.headers?Array.isArray(r.headers)?r.headers.push([e,t]):typeof r.headers.set=="function"?r.headers.set(e,t):typeof r.headers=="object"&&(r.headers[e]=t):r.headers={[e]:t}}function ys(){}var Ge=class{constructor(t){this.params=t;this.cache=new Map;this.add=t=>{let r=this.params.storage?.getStore();!r?.requestId||t.host==="127.0.0.1"||t.host==="localhost"||this.cache.set(t.id,{event:t,context:r,requestId:r.requestId})};this.markUnresolved=t=>{let r=Date.now(),n=new Set;for(let[o,s]of this.cache)s.requestId===t&&(this.params.sendMetric({type:"fetch-metric",context:s.context,payload:{...s.event,duration:r-s.event.start,unresolved:!0,statusCode:-1}}),n.add(o));for(let o of n)this.cache.delete(o)}}finished(t){return this.cache.delete(t)}};function pn(e){let t=new Ge(e);return cn({mutateHeaders:(r,n)=>{let o=e.storage?.getStore();o?.vercelId&&(We("x-vercel-id",o.vercelId,n),We("x-invocation-id",o.vercelId,n)),o?.intraSession&&o?.url.hostname===r?.hostname&&We("x-vercel-intra-session",o.intraSession,n)},...process.env.DISABLE_NODE_BRIDGE_O11Y!=="1"&&{onNetworkStarted:t.add,onNetworkFailed:r=>{if(!t.finished(r.id))return;process.env.VERCEL_O11Y_SEARCH_PARAMS||delete r.search;let n=e.storage?.getStore();n&&e.sendMetric({type:"fetch-metric",context:n,payload:{...r,unresolved:!0,statusCode:-1}})},onNetwork:r=>{if(t?.finished(r.id),process.env.VERCEL_O11Y_SEARCH_PARAMS||delete r.search,r.host!=="127.0.0.1"&&r.host!=="localhost"){performance.measure("vc:fetch",{duration:r.duration,start:r.start-performance.timeOrigin});let n=e.storage?.getStore();n&&e.sendMetric({type:"fetch-metric",context:n,payload:r})}}}}),t.markUnresolved}var fn="text/x-component",ye="text/html; charset=utf-8",ze=".rsc",gn=".prefetch.rsc",mn=".segment.rsc";function D({revalidate:e,expire:t}){if(e===0)return"private, no-cache, no-store, max-age=0, must-revalidate";if(typeof e=="number"){let r=t!==void 0&&e<t?`, stale-while-revalidate=${t-e}`:"";return`s-maxage=${e}${r}`}return`s-maxage=${31536e3}`}async function hn(e,t,r){if(!e.value||!e.value.html||typeof e.value.html.toUnchunkedString!="function"||!e.value.postponed||!t.url||typeof t.url!="string"||t.url.endsWith(ze))return!1;let{headers:n}=e.value;if(n&&typeof n=="object")for(let[s,i]of Object.entries(n))typeof i>"u"||r.setHeader(s,i);let o=e.value.postponed.length;return r.setHeader("Content-Type",`application/x-nextjs-pre-render; state-length=${o}; origin=${JSON.stringify(ye)}`),typeof e.revalidate<"u"?e.revalidate===0?r.setHeader("Cache-Control",D({revalidate:0,expire:void 0})):typeof e.revalidate=="number"?r.setHeader("Cache-Control",D({revalidate:e.revalidate,expire:void 0})):r.setHeader("Cache-Control",D({revalidate:31536e3,expire:void 0})):e.cacheControl&&r.setHeader("Cache-Control",D(e.cacheControl)),r.write(e.value.postponed),r.write(e.value.html.toUnchunkedString()),r.end(),!0}async function yn(e,t,r){if(!e.value||!e.value.html||typeof e.value.html.toUnchunkedString!="function"||!e.value.postponed||!t.url||typeof t.url!="string"||t.url.endsWith(gn)||t.url.endsWith(mn))return!1;let{headers:n}=e.value;if(n&&typeof n=="object")for(let[i,a]of Object.entries(n))typeof a>"u"||r.setHeader(i,a);let o;t.url.endsWith(ze)?o=fn:o=ye;let s=e.value.postponed.length;return r.setHeader("Content-Type",`application/x-nextjs-pre-render; state-length=${s}; origin=${JSON.stringify(o)}`),typeof e.revalidate<"u"?e.revalidate===0?r.setHeader("Cache-Control",D({revalidate:0,expire:void 0})):typeof e.revalidate=="number"?r.setHeader("Cache-Control",D({revalidate:e.revalidate,expire:void 0})):r.setHeader("Cache-Control",D({revalidate:31536e3,expire:void 0})):e.cacheControl&&r.setHeader("Cache-Control",D(e.cacheControl)),r.write(e.value.postponed),o===ye&&r.write(e.value.html.toUnchunkedString()),r.end(),!0}function bs(e){return typeof e=="function"&&"getRequestHandlerWithMetadata"in e&&typeof e.getRequestHandlerWithMetadata=="function"}function vn(e){let t=bs(e)?Ss(e):e;return xs(t)}function Ss(e){return(t,r)=>e.getRequestHandlerWithMetadata({onCacheEntry:(o,s)=>hn(o,s,r),onCacheEntryV2:(o,s)=>yn(o,s,r)})(t,r)}function xs(e){let t=!1;function r(o){t||ws(o)&&(t=!0,console.warn(Es()))}let n=(o,s)=>{let i=e(o,s);if(i&&typeof i.then=="function")return Promise.resolve(i).then(a=>{r(a)});r(i)};return n.preload=e.preload,n}function Es(){return["WARN: default export returned a `Response`.","\u251C\u25B6 The default-export signature is `(req, res) => void` \u2014 returns are","\u2502 ignored. You likely meant the Web `fetch`-style API.","\u2502","\u251C\u25B6 Fix: export a `fetch` function or a named HTTP method:","\u2502 export function GET(request) { return new Response('ok') }","\u2502","\u251C\u25B6 Fix: write the response through `res`:","\u2502 export default function (req, res) { res.end('ok') }","\u2502","\u2570\u25B6 Read more: https://vercel.com/docs/functions/functions-api-reference#function-signature"].join(``)}function ws(e){if(!e)return!1;if(typeof Response<"u"&&e instanceof Response)return!0;let t=e;return typeof t.status=="number"&&typeof t.text=="function"&&typeof t.json=="function"&&t.headers!=null}var bn=require("url"),Sn=require("path"),J=require("http"),Cs=eval("v => import(v)"),[Ts]=process.versions.node.split(".").map(e=>Number(e)),be=Symbol.for("WebExportHandler");function Je(e){let t=()=>{},r=!1,n=!1,o=!1;return new Promise(s=>{let i=J.Server.prototype.listen;J.Server.prototype.listen=function(){return J.Server.prototype.listen=i,o=!0,t=()=>{n?this.listen():(console.log("Legacy server listening..."),s({server:this,type:"legacy"}))},r&&t(),this};let a="NODE_ENV";if(!process.env[a]){let c=process.env.VERCEL_REGION||process.env.NOW_REGION;process.env[a]=c==="dev1"?"development":"production"}async function d(c){"performance"in globalThis&&performance.mark("vc:import-started");function l(){return Cs((0,Sn.isAbsolute)(c)?(0,bn.pathToFileURL)(c).href:c)}let u;if(c.endsWith(".mjs"))u=await l();else try{u=await require(c)}catch{u=await l()}"performance"in globalThis&&performance.mark("vc:import-finished");for(let h=0;h<5;h++)u.default&&(u=u.default);let v={},f=!1;for(let h of Nr)f||(f=typeof u[h]=="function"),v[h]=typeof u[h]>"u"?()=>new Response(null,{status:405}):u[h];return f?(u=Object.assign({},u),u[be]=(...h)=>v[h[0].method](...h)):"fetch"in u&&typeof u.fetch=="function"?u={[be]:u.fetch}:process.env.VERCEL_USE_WEB_API==="1"&&(u={[be]:u}),u}d(e).then(c=>{let l=process.env.AWS_LAMBDA_HANDLER;if(l){let u=l.split(".").pop();if(typeof u!="string")throw new TypeError(`Invalid \`awsLambdaHandler\` provided: ${l}`);n=!0,s({handlerAws:c[u],type:"aws"})}else typeof c.listen=="function"?(n=!0,J.Server.prototype.listen=i,s({server:c,type:"server"})):typeof c=="function"?(n=!0,J.Server.prototype.listen=i,s({handler:vn(c),type:"handler"})):typeof c[be]=="function"?(Ts<18&&(console.error("Invalid export found in module %j.",e),console.error("Web handlers are only supported on Node.js 18+."),process.exit(1)),n=!0,J.Server.prototype.listen=i,s({handlerWeb:c[be],type:"web"})):typeof c=="object"&&Object.keys(c).length===0?setTimeout(()=>{o||(console.error("No exports found in module %j.",e),console.error("Did you forget to export a function or a server?"),process.exit(1))},5e3).unref():(console.error("Invalid export found in module %j.",e),console.error("The default export must be a function or server."),process.exit(1));r=!0,t()}).catch(c=>{c.code==="MODULE_NOT_FOUND"?(console.error(c.message),console.error('Did you forget to add it to "dependencies" in `package.json`?')):console.error(c),process.exit(1)})})}var En=require("path"),wn=require("fs/promises");async function Cn(){let e=process.env.VERCEL_NODEJS_GROUP_MANIFEST;if(e)return Rs(e).catch(t=>{t.code==="MODULE_NOT_FOUND"?(console.error(t.message),console.error("Failed to load grouped Node.js handler.")):console.error(t),process.exit(1)})}async function Rs(e){let t=await(0,wn.readFile)(xn(e),"utf8"),r=ks(JSON.parse(t)),n=await Promise.all(Object.entries(r.routes).map(async([i,{handler:a}])=>{let d=await Je(xn(a));if(d.type!=="handler"&&d.type!=="web")throw new Error(`Grouped Node.js entrypoint "${a}" resolved to "${d.type}". Only exported Node.js request handlers and Web handlers are supported in grouped mode.`);return[i,d]})),o=n[0]?.[1].type;for(let[,i]of n)if(i.type!==o)throw new Error(`Grouped Node.js entrypoints mix "${o}" and "${i.type}". Grouped mode requires all entrypoints to be the same type.`);if(o==="web"){let i=new Map;for(let[a,d]of n)d.type==="web"&&i.set(a,d.handlerWeb);return{handlerWeb:Hs(i),type:"web"}}let s=new Map;for(let[i,a]of n)a.type==="handler"&&s.set(i,a.handler);return{handler:Is(s),type:"handler"}}function xn(e){return(0,En.resolve)(process.env.LAMBDA_TASK_ROOT,e)}function ks(e){if(!e||typeof e!="object")throw new Error("Invalid grouped Node.js manifest: expected an object.");let t=e;if(t.version!==1)throw new Error(`Invalid grouped Node.js manifest: unsupported version ${JSON.stringify(t.version)}.`);if(!t.routes||typeof t.routes!="object")throw new Error('Invalid grouped Node.js manifest: "routes" must be an object.');for(let[r,n]of Object.entries(t.routes)){if(!n||typeof n!="object")throw new Error(`Invalid grouped Node.js manifest: route "${r}" must be an object.`);let o=n.handler;if(typeof o!="string"||o.length===0)throw new Error(`Invalid grouped Node.js manifest: route "${r}" is missing a "handler" string.`)}return e}var Ye="This request could not be handled. If you are the site owner, check your logs for more details.";function Is(e){let t=async(r,n)=>{let o=r.headers["x-matched-path"],s=Array.isArray(o)?o[0]:o;if(!s){console.error("Missing x-matched-path header. Grouped Node.js lambdas require route-level header injection."),n.statusCode=400,n.end(Ye);return}let i=e.get(s);if(typeof i!="function"){console.error(`No grouped Node.js entrypoint found for matched path "${s}".`),n.statusCode=400,n.end(Ye);return}await i(r,n)};return t.preload=async()=>{await Promise.all([...e.values()].map(r=>r.preload?.()))},t}function Hs(e){return(t,r)=>{let n=t.headers.get("x-matched-path")??void 0;if(!n)return console.error("Missing x-matched-path header. Grouped Node.js lambdas require route-level header injection."),new Response(Ye,{status:400});let o=e.get(n);return typeof o!="function"?(console.error(`No grouped Node.js entrypoint found for matched path "${n}".`),new Response(Ye,{status:400})):o(t,r)}}function Xe(){let e,t,r="pending",n=[],o=[],s=new Promise((a,d)=>{e=a,t=d}).finally(()=>n.forEach(a=>a())),i=async a=>{let d={...a};for(let[c,l]of o)try{d.type==="rejected"?l&&(d={type:"resolved",value:await l(d.value)}):c&&(d={type:"resolved",value:await c(d.value)})}catch(u){d={type:"rejected",value:u}}if(d.type==="rejected")throw d.value;return d.value};return{get promise(){return s},get resolved(){return r==="resolved"},get rejected(){return r==="rejected"},get settled(){return r!=="pending"},then:(a,d)=>{r==="pending"&&o.push([a,d])},resolve:a=>{r==="pending"&&(r="resolved",i({type:"resolved",value:a}).then(e,t))},reject:a=>{r==="pending"&&(r="rejected",i({type:"rejected",value:a}).then(e,t))},finally:a=>{r==="pending"?n.push(a):a()}}}async function Tn(e){let t=Xe();typeof e.timeout=="number"&&e.timeout>0&&(e.timeout=0);function r(o){if(!t.resolved){if(o)return t.reject(o);if(!this||typeof this.address!="function")return t.reject(new Error("Missing server.address() function on `this` in server.listen()"));let s=this.address();if(!s)return t.reject(new Error("`server.address()` returned `null`"));if(typeof s=="string")return t.reject(new Error(`Unexpected string for \`server.address()\`: ${s}`));t.resolve(s)}}let n=e.listen({host:"127.0.0.1",port:0},r);return n?.on("error",t.reject),n?.on("listening",r.bind(n)),t.promise}var Rt=require("stream"),Tt=Buffer.from(Uint8Array.of(0)),Ke=class extends Rt.Transform{constructor(t){super({...t,objectMode:!0})}_transform(t,r,n){try{this.push(Buffer.concat([Buffer.from(JSON.stringify(t)),Tt])),n()}catch(o){n(o)}}},Qe=class extends Rt.Transform{constructor(r){super({...r,objectMode:!0});this.buffer=Buffer.alloc(0)}_transform(r,n,o){this.buffer=Buffer.concat([this.buffer,r]);let s=this.buffer.indexOf(Tt);for(;s>-1;){let i;try{i=JSON.parse(this.buffer.subarray(0,s).toString())}catch(a){o(a);return}this.push(i),this.buffer=this.buffer.subarray(s+1),s=this.buffer.indexOf(Tt)}o()}};var In=Y(require("net"));var re=Date.now();performance.mark("vc:init-started");function Ps(e){process.on("unhandledRejection",t=>{e({type:"unrecoverable-error",payload:{exitCode:128,message:`Unhandled Rejection: ${t instanceof Error?t.stack||t.message:t}`}})}),process.on("uncaughtException",t=>{e({type:"unrecoverable-error",payload:{exitCode:129,message:`Uncaught Exception: ${t.stack||t}`}})})}async function Os(){let e=[],t=new M({parentSpanId:process.env.VERCEL_PARENT_SPAN_ID,startTime:re,name:"init"}),r=new M({parentSpanId:t.spanId(),startTime:re,name:"init_runtime"}),n=In.default.createConnection(process.env.VERCEL_IPC_PATH),o=new Ke,s=new Qe,i=Xe();n.on("connect",()=>{i.resolve()}),n.setNoDelay(!0),o.pipe(n),n.pipe(s);let a=process.env.VC_EDGE_ON_NODE;delete process.env.VC_EDGE_ON_NODE;let d={entrypointPath:a??process.env.VERCEL_HANDLER,shouldAddHelpers:!!process.env.VERCEL_SHOULD_ADD_HELPERS,serverId:(0,kn.randomUUID)()},c=new Rn.AsyncLocalStorage,l=p=>o.write(p),u=(p,m,w)=>{let C=c.getStore();C?.requestId&&l({type:"custom-metric",payload:{context:C,metric:{name:p,value:m,attributes:w}}})};(!a||process.env.VERCEL_CRASH_EDGEFNS_ON_ERRORS==="1")&&Ps(l),Object.defineProperty(globalThis,Symbol.for("@vercel/rusty-request-context"),{enumerable:!1,value:c}),Object.defineProperty(globalThis,Symbol.for("@vercel/rusty-runtime-ipc"),{enumerable:!1,value:{sendMessage:l,sendMetric:u}}),lr(c),Wr({initSpans:e,serverId:d.serverId,storage:c,reportEdgeOnNode:p=>{let m={type:"edge-on-node-metric",context:c.getStore(),payload:{reason:p}};l({type:"metric",payload:m})},reportByteCode:p=>{l({type:"bytecode",payload:{chunk:p.payload.toString("base64"),context:p.context}})},reportBodyEnd:p=>{l({type:"body-end",payload:{context:p.context,error:p.error}})},reportEnd:p=>{l({type:"end",payload:{context:p.context,error:p.error}})},reportSpans:p=>{l({type:"otel-spans",payload:p})},sendMetric:p=>{l({type:"metric",payload:p})}}),cr({storage:c,report:p=>p.context?.requestId?l({type:"log",payload:{...p.payload,context:p.context,message:p.payload.message.toString("base64")}}):!1});let v=pn({storage:c,sendMetric:p=>{p.context?.requestId&&l({type:"metric",payload:p})}});Zr({storage:c,sendMetric:p=>l({type:"metric",payload:p})}),yr(p=>{let m=c.getStore();l({type:"metric",payload:{type:"flag-value",context:m,payload:p}})}),e.push(r.end());let f=t.childSpan({name:"entrypoint"}),h=await Cn()??await Je(d.entrypointPath),y=await or(h,d.shouldAddHelpers);e.push(f.end()),s.on("data",p=>{if(p.type==="approaching-timeout"){if(!p.context.requestId)return;v(p.context.requestId)}});let x=t.childSpan({name:"start_server"}),[b]=await Promise.all([Tn(y.server),Gr("preload",y.handler),i.promise]);l({type:"server-started",payload:{httpPort:b.port,initDuration:Date.now()-re}}),e.push(x.end()),e.push(t.end()),performance.mark("vc:init-finished")}Os().catch(console.error);0&&(module.exports={startedDate});/*! Bundled license information: content-type/index.js: (*! * content-type * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed *) cookie/index.js: (*! * cookie * Copyright(c) 2012-2014 Roman Shtylman * Copyright(c) 2015 Douglas Christopher Wilson * MIT Licensed *) etag/index.js: (*! * etag * Copyright(c) 2014-2016 Douglas Christopher Wilson * MIT Licensed *)*/