9remote 2.3.1 → 2.3.2
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/cli.cjs
CHANGED
|
@@ -9,7 +9,7 @@ Right-click to open / quit`}function ns(){let{port:e,tunnelUrl:n}=jt,r=process.p
|
|
|
9
9
|
`}l||(t+=p)}else{var w=so(dr).times(o.getModuleCount()+3);t+=w+`
|
|
10
10
|
`,o.modules.forEach(function(x){t+=dr,t+=x.map(Bc).join(""),t+=dr+`
|
|
11
11
|
`}),t+=w}r?r(t):console.log(t)},setErrorLevel:function(e){this.error=$s[e]||this.error}}});var Ln=require("fs"),zt=require("path"),So=require("url"),Eo=b(require("os"),1);var Cn=b(require("dns"),1),Ie=b(require("path"),1),fo=b(require("os"),1),ne="9remote",yr=process.env.NREMOTE_REGISTRY||`https://registry.npmjs.org/${ne}/latest`,$e=`${ne}@latest`,He=Ie.default.join(fo.default.homedir(),".9remote"),re={ROOT:He,LOGS:Ie.default.join(He,"logs"),STATE:Ie.default.join(He,"state"),CONFIG:Ie.default.join(He,"config"),BIN:Ie.default.join(He,"bin"),PIDS:Ie.default.join(He,"pids"),BUFFERS:Ie.default.join(He,"buffers"),DAEMON:Ie.default.join(He,"daemon")},po=new Cn.default.promises.Resolver;po.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);var gr=Cn.default.lookup,ia=/^(\d{1,3}\.){3}\d{1,3}$|^::1$|^[0-9a-f:]+$/i;Cn.default.lookup=(e,n,r)=>{if(typeof n=="function"&&(r=n,n={}),e==="localhost"||ia.test(e))return gr(e,n,r);po.resolve4(e).then(o=>{if(!o?.length)return gr(e,n,r);n.all?r(null,o.map(t=>({address:t,family:4}))):r(null,o[0],4)}).catch(()=>gr(e,n,r))};var _=2208,mo=process.execPath,ho=(e=process.env)=>process.versions.electron?{...e,ELECTRON_RUN_AS_NODE:"1"}:{...e};var uo=5173;var cl=[`http://localhost:${_}`,`http://127.0.0.1:${_}`,`http://localhost:${uo}`,`http://127.0.0.1:${uo}`],Zt={fileName:"agent.log",rotatedName:"agent.log.1",maxBytes:2*1024*1024,cleanupAfterDays:7},go=60,F={STOPPED:0,PREPARING:1,CONNECTING:2,TUNNELING:3,VERIFYING:4,READY:5},yo={showTunnelUrlInMenu:!1};var wo={CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN:"1"};var vo={checkIntervalMs:3e4,requestTimeoutMs:5e3},ce={server:{strategy:"exp",baseMs:1e3,maxMs:6e4},tunnelRestart:{strategy:"exp",baseMs:2e3,maxMs:3e5},tunnelSpawn:{strategy:"linear",baseMs:5e3,maxMs:6e4},tunnelRateLimit:{strategy:"exp",baseMs:6e4,maxMs:9e5},internet:{strategy:"linear",baseMs:3e3,maxMs:6e4},sse:{strategy:"linear",baseMs:2e3,maxMs:2e3},urlSync:{strategy:"linear",baseMs:5e3,maxMs:6e4}},sa={Accept:"application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Cache-Control":"no-cache",Pragma:"no-cache","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"};function j(e,n={}){return fetch(e,{...n,headers:{...sa,...n.headers}})}var aa=(0,zt.dirname)((0,So.fileURLToPath)(__importMetaUrl)),ca=[(0,zt.join)(Eo.default.homedir(),".9remote",".env"),(0,zt.join)(aa,"..",".env")];function la(e){for(let n of e.split(`
|
|
12
|
-
`)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ca)if((0,Ln.existsSync)(e))try{la((0,Ln.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(wo))process.env[e]||(process.env[e]=n);var Tr=b(require("path"),1),_o=b(require("fs"),1),Po=require("url");var xo=b(To(),1),vr=b(require("crypto"),1),{machineIdSync:ua}=xo.default;async function vt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ua();return vr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),vr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var Ro=b(require("crypto"),1),fa=process.env.API_KEY_SECRET||"9remote-api-key-secret";function pa(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function da(e,n){return Ro.default.createHmac("sha256",fa).update(e+n).digest("hex").slice(0,6)}function St(e){let n=e.slice(0,8),r=pa(),o=da(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function Nn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var se=b(require("fs"),1),tn=b(require("path"),1);var ml=re.STATE,Sr=tn.default.join(re.STATE,"state.json"),Er=tn.default.join(re.ROOT,"keys.json"),Mn=tn.default.join(re.STATE,"cmd.json"),hl=tn.default.join(re.STATE,"settings.json");function Dn(){for(let e of[re.ROOT,re.STATE])se.default.existsSync(e)||se.default.mkdirSync(e,{recursive:!0})}function Fn(e){try{Dn(),se.default.writeFileSync(Sr,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function bo(){try{se.default.existsSync(Sr)&&se.default.unlinkSync(Sr)}catch{}}function Un(){try{return Dn(),se.default.existsSync(Er)?JSON.parse(se.default.readFileSync(Er,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function Et(e){try{Dn(),se.default.writeFileSync(Mn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Ao(){try{if(!se.default.existsSync(Mn))return null;let e=JSON.parse(se.default.readFileSync(Mn,"utf8"));return se.default.unlinkSync(Mn),e.cmd}catch{return null}}function ot(e,n,r="Default"){try{Dn();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return se.default.writeFileSync(Er,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function ko(){return process.env.CODESPACES==="true"}var ma=Tr.default.dirname((0,Po.fileURLToPath)(__importMetaUrl));async function je(){let e=await vt();if(ko()&&process.env.NREMOTE_API_KEY)return ot(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Un();if(!n.key){let{key:r}=St(e);n=ot(e,r,"Default")}return n}function Se(){return"2.3.
|
|
12
|
+
`)){let r=n.trim();if(!r||r.startsWith("#"))continue;let o=r.match(/^([A-Z_][A-Z0-9_]*)\s*=\s*"?(.*?)"?$/);o&&!process.env[o[1]]&&(process.env[o[1]]=o[2])}}for(let e of ca)if((0,Ln.existsSync)(e))try{la((0,Ln.readFileSync)(e,"utf8"))}catch{}for(let[e,n]of Object.entries(wo))process.env[e]||(process.env[e]=n);var Tr=b(require("path"),1),_o=b(require("fs"),1),Po=require("url");var xo=b(To(),1),vr=b(require("crypto"),1),{machineIdSync:ua}=xo.default;async function vt(e=null){let n=e||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ua();return vr.default.createHash("sha256").update(r+n).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),vr.default.randomUUID().replace(/-/g,"").substring(0,16)}}var Ro=b(require("crypto"),1),fa=process.env.API_KEY_SECRET||"9remote-api-key-secret";function pa(){let e="abcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<4;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n}function da(e,n){return Ro.default.createHmac("sha256",fa).update(e+n).digest("hex").slice(0,6)}function St(e){let n=e.slice(0,8),r=pa(),o=da(n,r);return{key:`sk-${n}-${r}-${o}`,keyId:r}}function Nn(e){return!e||e.length<8?"sk-***":`${e.slice(0,3)}***${e.slice(-4)}`}var se=b(require("fs"),1),tn=b(require("path"),1);var ml=re.STATE,Sr=tn.default.join(re.STATE,"state.json"),Er=tn.default.join(re.ROOT,"keys.json"),Mn=tn.default.join(re.STATE,"cmd.json"),hl=tn.default.join(re.STATE,"settings.json");function Dn(){for(let e of[re.ROOT,re.STATE])se.default.existsSync(e)||se.default.mkdirSync(e,{recursive:!0})}function Fn(e){try{Dn(),se.default.writeFileSync(Sr,JSON.stringify(e,null,2),{mode:384})}catch(n){console.error("Error saving state:",n)}}function bo(){try{se.default.existsSync(Sr)&&se.default.unlinkSync(Sr)}catch{}}function Un(){try{return Dn(),se.default.existsSync(Er)?JSON.parse(se.default.readFileSync(Er,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function Et(e){try{Dn(),se.default.writeFileSync(Mn,JSON.stringify({cmd:e,ts:Date.now()}))}catch{}}function Ao(){try{if(!se.default.existsSync(Mn))return null;let e=JSON.parse(se.default.readFileSync(Mn,"utf8"));return se.default.unlinkSync(Mn),e.cmd}catch{return null}}function ot(e,n,r="Default"){try{Dn();let o={machineId:e,key:n,name:r,createdAt:new Date().toISOString()};return se.default.writeFileSync(Er,JSON.stringify(o,null,2),{mode:384}),o}catch(o){return console.error("Error saving key:",o),null}}function ko(){return process.env.CODESPACES==="true"}var ma=Tr.default.dirname((0,Po.fileURLToPath)(__importMetaUrl));async function je(){let e=await vt();if(ko()&&process.env.NREMOTE_API_KEY)return ot(e,process.env.NREMOTE_API_KEY,"Codespace");let n=Un();if(!n.key){let{key:r}=St(e);n=ot(e,r,"Default")}return n}function Se(){return"2.3.2"}var Ee=b(require("fs"),1),xr=b(require("path"),1);var Hn=re.LOGS,nn=xr.default.join(Hn,Zt.fileName),jn=xr.default.join(Hn,Zt.rotatedName),Oo=!1,Io=null;function ha(){Ee.default.existsSync(Hn)||Ee.default.mkdirSync(Hn,{recursive:!0})}function ga(){try{if(Ee.default.statSync(nn).size<Zt.maxBytes)return;try{Ee.default.rmSync(jn,{force:!0})}catch{}Ee.default.renameSync(nn,jn)}catch{}}function ya(){try{let e=Ee.default.statSync(jn);Date.now()-e.mtimeMs>Zt.cleanupAfterDays*864e5&&Ee.default.rmSync(jn,{force:!0})}catch{}}function Rr(e){try{ga(),Ee.default.appendFileSync(nn,e+`
|
|
13
13
|
`)}catch{}}function Bn(e){return e.map(n=>{if(n instanceof Error)return n.stack||n.message;if(typeof n=="object")try{return JSON.stringify(n)}catch{return String(n)}return String(n)}).join(" ")}function $o(){let e=new Date,n=(r,o=2)=>String(r).padStart(o,"0");return`${n(e.getHours())}:${n(e.getMinutes())}:${n(e.getSeconds())}.${n(e.getMilliseconds(),3)}`}var wa=/\x1b\[[0-9;]*m/g,va=/https?:\/\/[^\s]+/g;function Sa(e){return String(e).replace(wa,"").replace(va,"").replace(/\s+$/g,"")}function Tt(e,n,r){let o=Sa(r);if(!o)return;let t=n==="info"?e:`${e}:${n}`,i=`${$o()} [${t}] ${o}`;if(Rr(i),Io)try{Io(i)}catch{}}function Ea(){process.on("uncaughtException",e=>Tt("crash","error",`uncaughtException: ${e?.stack||e?.message||e}`)),process.on("unhandledRejection",e=>{let n=e instanceof Error?e.stack||e.message:String(e);Tt("crash","error",`unhandledRejection: ${n}`)}),process.on("exit",e=>Rr(`${$o()} [exit] code=${e} pid=${process.pid}`))}function Co(){Oo||(Oo=!0,ha(),ya(),Rr(`
|
|
14
14
|
=== SESSION ${new Date().toISOString()} pid=${process.pid} argv=${process.argv.slice(2).join(" ")} ===`),Ea())}function Lo(e=60){try{return Ee.default.readFileSync(nn,"utf8").split(`
|
|
15
15
|
`).filter(Boolean).slice(-e)}catch{return[]}}var Ta=process.env.NODE_ENV==="development"||process.env.AGENT_DEBUG==="1";function q(e){return{debug:(...n)=>{Ta&&Tt(e,"debug",Bn(n))},info:(...n)=>Tt(e,"info",Bn(n)),warn:(...n)=>Tt(e,"warn",Bn(n)),error:(...n)=>Tt(e,"error",Bn(n))}}var rn=nn;var No=(e=0)=>n=>`\x1B[${n+e}m`,Mo=(e=0)=>n=>`\x1B[${38+e};5;${n}m`,Do=(e=0)=>(n,r,o)=>`\x1B[${38+e};2;${n};${r};${o}m`,N={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},bl=Object.keys(N.modifier),xa=Object.keys(N.color),Ra=Object.keys(N.bgColor),Al=[...xa,...Ra];function ba(){let e=new Map;for(let[n,r]of Object.entries(N)){for(let[o,t]of Object.entries(r))N[o]={open:`\x1B[${t[0]}m`,close:`\x1B[${t[1]}m`},r[o]=N[o],e.set(t[0],t[1]);Object.defineProperty(N,n,{value:r,enumerable:!1})}return Object.defineProperty(N,"codes",{value:e,enumerable:!1}),N.color.close="\x1B[39m",N.bgColor.close="\x1B[49m",N.color.ansi=No(),N.color.ansi256=Mo(),N.color.ansi16m=Do(),N.bgColor.ansi=No(10),N.bgColor.ansi256=Mo(10),N.bgColor.ansi16m=Do(10),Object.defineProperties(N,{rgbToAnsi256:{value(n,r,o){return n===r&&r===o?n<8?16:n>248?231:Math.round((n-8)/247*24)+232:16+36*Math.round(n/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)},enumerable:!1},hexToRgb:{value(n){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(n.toString(16));if(!r)return[0,0,0];let[o]=r;o.length===3&&(o=[...o].map(i=>i+i).join(""));let t=Number.parseInt(o,16);return[t>>16&255,t>>8&255,t&255]},enumerable:!1},hexToAnsi256:{value:n=>N.rgbToAnsi256(...N.hexToRgb(n)),enumerable:!1},ansi256ToAnsi:{value(n){if(n<8)return 30+n;if(n<16)return 90+(n-8);let r,o,t;if(n>=232)r=((n-232)*10+8)/255,o=r,t=r;else{n-=16;let a=n%36;r=Math.floor(n/36)/5,o=Math.floor(a/6)/5,t=a%6/5}let i=Math.max(r,o,t)*2;if(i===0)return 30;let s=30+(Math.round(t)<<2|Math.round(o)<<1|Math.round(r));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(n,r,o)=>N.ansi256ToAnsi(N.rgbToAnsi256(n,r,o)),enumerable:!1},hexToAnsi:{value:n=>N.ansi256ToAnsi(N.hexToAnsi256(n)),enumerable:!1}}),N}var Aa=ba(),he=Aa;var Gn=b(require("node:process"),1),Uo=b(require("node:os"),1),br=b(require("node:tty"),1);function le(e,n=globalThis.Deno?globalThis.Deno.args:Gn.default.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",o=n.indexOf(r+e),t=n.indexOf("--");return o!==-1&&(t===-1||o<t)}var{env:M}=Gn.default,Kn;le("no-color")||le("no-colors")||le("color=false")||le("color=never")?Kn=0:(le("color")||le("colors")||le("color=true")||le("color=always"))&&(Kn=1);function ka(){if("FORCE_COLOR"in M)return M.FORCE_COLOR==="true"?1:M.FORCE_COLOR==="false"?0:M.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(M.FORCE_COLOR,10),3)}function _a(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Pa(e,{streamIsTTY:n,sniffFlags:r=!0}={}){let o=ka();o!==void 0&&(Kn=o);let t=r?Kn:o;if(t===0)return 0;if(r){if(le("color=16m")||le("color=full")||le("color=truecolor"))return 3;if(le("color=256"))return 2}if("TF_BUILD"in M&&"AGENT_NAME"in M)return 1;if(e&&!n&&t===void 0)return 0;let i=t||0;if(M.TERM==="dumb")return i;if(Gn.default.platform==="win32"){let s=Uo.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in M)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in M)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in M)||M.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in M)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(M.TEAMCITY_VERSION)?1:0;if(M.COLORTERM==="truecolor"||M.TERM==="xterm-kitty"||M.TERM==="xterm-ghostty"||M.TERM==="wezterm")return 3;if("TERM_PROGRAM"in M){let s=Number.parseInt((M.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(M.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(M.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(M.TERM)||"COLORTERM"in M?1:i}function Fo(e,n={}){let r=Pa(e,{streamIsTTY:e&&e.isTTY,...n});return _a(r)}var Oa={stdout:Fo({isTTY:br.default.isatty(1)}),stderr:Fo({isTTY:br.default.isatty(2)})},Bo=Oa;function Ho(e,n,r){let o=e.indexOf(n);if(o===-1)return e;let t=n.length,i=0,s="";do s+=e.slice(i,o)+n+r,i=o+t,o=e.indexOf(n,i);while(o!==-1);return s+=e.slice(i),s}function jo(e,n,r,o){let t=0,i="";do{let s=e[o-1]==="\r";i+=e.slice(t,s?o-1:o)+n+(s?`\r
|
|
@@ -71,7 +71,7 @@ StandardError=append:${qn}
|
|
|
71
71
|
|
|
72
72
|
[Install]
|
|
73
73
|
WantedBy=default.target
|
|
74
|
-
`}function Ya(e){try{return(0,at.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function qa(){return(0,$.existsSync)(J.linux)||(0,$.existsSync)(J.linuxSystemd)}async function Ja(){try{if(process.platform==="darwin")return Ha();if(process.platform==="win32")return await Ga();if(process.platform==="linux")return qa()}catch{}return!1}async function ti(){try{if(process.platform==="win32"&&Ka(),!await Ja())return!1;if(process.platform==="darwin"){let e=Ba(xe(),Ge());return((0,$.existsSync)(J.darwin)?(0,$.readFileSync)(J.darwin,"utf8"):"")===e?!1:((0,$.writeFileSync)(J.darwin,e),!0)}if(process.platform==="win32"){let e=ja();return((0,$.existsSync)(J.win)?(0,$.readFileSync)(J.win,"utf8"):"")===e?!1:((0,$.writeFileSync)(J.win,e),!0)}if(process.platform==="linux"){if((0,$.existsSync)(J.linuxSystemd)){let e=Va();return(0,$.readFileSync)(J.linuxSystemd,"utf8")===e?!1:((0,$.writeFileSync)(J.linuxSystemd,e),Ya(["daemon-reload"]),!0)}if((0,$.existsSync)(J.linux)){let e=Wa();return(0,$.readFileSync)(J.linux,"utf8")===e?!1:((0,$.writeFileSync)(J.linux,e),!0)}}}catch{}return!1}var Qa=process.env.NODE_ENV==="development";var D=process.env.NREMOTE_WORKER_URL||(Qa?"https://dev.9remote.cc":"https://9remote.cc"),ni=3e4,ri=500,Lr=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},We={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ue={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Ce={maxLogLines:200,headerWidth:44},At={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},oi=5e3,ii=2,si=3e4,fe={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Xa=Re.default.dirname((0,ai.fileURLToPath)(__importMetaUrl)),ci=3e3;var Zn=2208,Nr=Re.default.join(kt.default.homedir(),".9remote","cloudflared.pid");function Za(){try{qo()}catch{}try{if((0,K.existsSync)(Nr)){let e=parseInt((0,K.readFileSync)(Nr,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,K.unlinkSync)(Nr)}catch{}}}catch{}try{process.platform==="win32"?(0,ln.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Zn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,ln.execSync)(`lsof -ti:${Zn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function li(){return"2.3.
|
|
74
|
+
`}function Ya(e){try{return(0,at.execFileSync)("systemctl",["--user",...e],{stdio:"ignore"}),!0}catch{return!1}}function qa(){return(0,$.existsSync)(J.linux)||(0,$.existsSync)(J.linuxSystemd)}async function Ja(){try{if(process.platform==="darwin")return Ha();if(process.platform==="win32")return await Ga();if(process.platform==="linux")return qa()}catch{}return!1}async function ti(){try{if(process.platform==="win32"&&Ka(),!await Ja())return!1;if(process.platform==="darwin"){let e=Ba(xe(),Ge());return((0,$.existsSync)(J.darwin)?(0,$.readFileSync)(J.darwin,"utf8"):"")===e?!1:((0,$.writeFileSync)(J.darwin,e),!0)}if(process.platform==="win32"){let e=ja();return((0,$.existsSync)(J.win)?(0,$.readFileSync)(J.win,"utf8"):"")===e?!1:((0,$.writeFileSync)(J.win,e),!0)}if(process.platform==="linux"){if((0,$.existsSync)(J.linuxSystemd)){let e=Va();return(0,$.readFileSync)(J.linuxSystemd,"utf8")===e?!1:((0,$.writeFileSync)(J.linuxSystemd,e),Ya(["daemon-reload"]),!0)}if((0,$.existsSync)(J.linux)){let e=Wa();return(0,$.readFileSync)(J.linux,"utf8")===e?!1:((0,$.writeFileSync)(J.linux,e),!0)}}}catch{}return!1}var Qa=process.env.NODE_ENV==="development";var D=process.env.NREMOTE_WORKER_URL||(Qa?"https://dev.9remote.cc":"https://9remote.cc"),ni=3e4,ri=500,Lr=300,ge={cmdMs:1e3,pendingApprovalMs:3e3,statsMs:5e3,serverReadyIntervalMs:200,serverReadyTimeoutMs:5e3,bgServerReadyTimeoutMs:15e3,bgServerReadyIntervalMs:300},We={intervalMs:2e3,timeoutMs:18e4,fetchTimeoutMs:5e3,dnsTimeoutMs:2e3,maxLogEntries:80,postReadyHoldMs:2e3},ue={killCloudflaredMs:500,killCloudflaredTuiMs:300,serverBootMs:2e3,trayReadyMs:1e3,postReadyHoldMs:2e3,bgSpawnFlushMs:400};var Ce={maxLogLines:200,headerWidth:44},At={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},oi=5e3,ii=2,si=3e4,fe={orange:m.rgb(230,138,110),orangeDim:m.rgb(200,120,95)};var Xa=Re.default.dirname((0,ai.fileURLToPath)(__importMetaUrl)),ci=3e3;var Zn=2208,Nr=Re.default.join(kt.default.homedir(),".9remote","cloudflared.pid");function Za(){try{qo()}catch{}try{if((0,K.existsSync)(Nr)){let e=parseInt((0,K.readFileSync)(Nr,"utf8"));if(Number.isFinite(e))try{process.kill(e)}catch{}try{(0,K.unlinkSync)(Nr)}catch{}}}catch{}try{process.platform==="win32"?(0,ln.execSync)(`for /f "tokens=5" %a in ('netstat -aon ^| findstr :${Zn}') do taskkill /F /PID %a`,{stdio:"ignore",windowsHide:!0}):(0,ln.execSync)(`lsof -ti:${Zn} | xargs kill -9 2>/dev/null || true`,{stdio:"ignore"})}catch{}if(process.platform==="win32"){let e=Date.now()+1500;for(;Date.now()<e;);}}function li(){return"2.3.2"}function ui(e,n){let r=e.split(".").map(Number),o=n.split(".").map(Number);for(let t=0;t<3;t++){if(o[t]>r[t])return!0;if(o[t]<r[t])return!1}return!1}function za(){return process.env.CODESPACES==="true"||process.env.GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN?"GitHub Codespaces":(0,K.existsSync)("/.dockerenv")?"Docker":null}function zn(){Za()}async function fi(){try{let e=li();if(!e)return null;let n=await j(yr,{signal:AbortSignal.timeout(ci)});if(!n.ok)return null;let{version:r}=await n.json();return r&&ui(e,r)?{current:e,latest:r}:null}catch{return null}}var Xn=Re.default.join(re.STATE,At.lockFile);function ec(){try{if((0,K.existsSync)(Xn)){let{pid:e,ts:n}=JSON.parse((0,K.readFileSync)(Xn,"utf8")),r=Date.now()-n<At.lockTtlMs,o=!1;try{process.kill(e,0),o=!0}catch{}if(r&&o)return!1}}catch{}try{(0,K.writeFileSync)(Xn,JSON.stringify({pid:process.pid,ts:Date.now()}))}catch{}return!0}async function tc(){try{let e=await j(yr,{signal:AbortSignal.timeout(ci)});if(!e.ok)return null;let{version:n}=await e.json();return n||null}catch{return null}}function nc(){try{if(process.env.NREMOTE_REGISTRY)return`--registry ${new URL(process.env.NREMOTE_REGISTRY).origin}`}catch{}return""}function rc(){let e=Ge(),n=Re.default.sep;for(let r of[`${n}lib${n}node_modules${n}`,`${n}node_modules${n}`]){let o=e.indexOf(r);if(o>0)return`--prefix "${e.slice(0,o)}"`}return""}function oc(){let e=process.env.NREMOTE_NPM_CLI;return e&&(0,K.existsSync)(e)?process.platform==="win32"?`"${xe()}" "${e}"`:`env ELECTRON_RUN_AS_NODE=1 "${xe()}" "${e}"`:"npm"}function ic({currentVersion:e,latest:n,agentPid:r}){let o=Jo(),t=nc(),i=xe(),s=Zo(),a=Ge(),c=Xn,l=`--prefer-online --no-audit --no-fund ${t} ${rc()}`.trim(),u=oc();if(process.platform==="win32"){let d=Re.default.join(kt.default.tmpdir(),`${ne}-restart.vbs`),h=`@echo off
|
|
75
75
|
setlocal EnableDelayedExpansion
|
|
76
76
|
set "NODE=${i}"
|
|
77
77
|
set "CLI=${a}"
|
package/dist/server.cjs
CHANGED
|
@@ -201,7 +201,7 @@ notify = ["bash", ${JSON.stringify(r)}, "9remote"]
|
|
|
201
201
|
`)&&(i+=`
|
|
202
202
|
`),fe.default.writeFileSync(t,i+a+s,"utf8"),{success:!0}},disable(){let t=Mt.codex();if(fe.default.existsSync(t)){let r=fe.default.readFileSync(t,"utf8");r=r.replace(sB,""),r=r.replace(new RegExp(`^${oB}(notify\\s*=.*)$`,"m"),"$1");let[n,i]=cB(r);i&&n.length&&!n.endsWith(`
|
|
203
203
|
`)&&(n+=`
|
|
204
|
-
`),fe.default.writeFileSync(t,n+i,"utf8")}let e=Mt.codexScript();return fe.default.existsSync(e)&&fe.default.unlinkSync(e),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.codex())&&fe.default.readFileSync(Mt.codex(),"utf8").includes("# 9Remote notification")}};$Q={enable(){let t=Mt.opencode(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,UQ(),"utf8"),{success:!0}},disable(){let t=Mt.opencode();return fe.default.existsSync(t)&&fe.default.unlinkSync(t),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.opencode())}};HQ="# 9remote hooks begin",WQ="# 9remote hooks end",zQ=" # 9remote hooks begin",GQ=" # 9remote hooks end",VQ={claude:ra("claude",{UserPromptSubmit:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},t=>t,{matchers:{Notification:"permission_prompt"},extra:hB}),codex:qQ,gemini:ra("gemini",{BeforeAgent:"working",PreToolUse:"working",PostToolUse:"working",AfterAgent:"done",Notification:"blocked"},t=>t),opencode:$Q,grok:ra("grok",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},pB),cursor:LQ("cursor",{stop:"done",beforeShellExecution:"blocked",beforeToolCall:"working"},{extra:t=>{t.version=t.version||1}}),antigravity:BQ("antigravity","9remote",{UserPromptSubmit:"working",PreToolUse:"working",Stop:"done",Notification:"blocked"}),kiro:FQ("kiro",{UserPromptSubmit:"working",PostToolUse:"working",preToolUse:"blocked",stop:"done"}),copilot:ra("copilot",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),codebuddy:ra("codebuddy",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),factory:ra("factory",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),qoder:ra("qoder",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),rovodev:iB("rovodev",{begin:zQ,end:GQ,items:[{event:"on_complete",type:"done"},{event:"on_error",type:"done"},{event:"on_tool_permission",type:"blocked"},{event:"on_message",type:"working"},{event:"on_tool_start",type:"working"}]}),hermes:(()=>{let t=iB("hermes",{begin:HQ,end:WQ,items:[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}]}),e=()=>Qt.default.join(Qt.default.dirname(Mt.hermes()),"shell-hooks-allowlist.json");return{enable:()=>{let r=t.enable(Mt.hermes()),n=Br(e()),i=(n.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes")));return n.approvals=[...i,...[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}].map(({event:s,type:o})=>({event:s,command:fl(o,"hermes"),approved_at:"2020-01-01T00:00:00Z"}))],Fn(e(),n),r},disable:()=>{let r=t.disable(Mt.hermes()),n=e();if(fe.default.existsSync(n)){let i=Br(n);i.approvals=(i.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes"))),i.approvals.length?Fn(n,i):fe.default.unlinkSync(n)}return r},isEnabled:()=>t.isEnabled(Mt.hermes())}})(),amp:{enable(){let t=Mt.amp(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,lB("amp","amp","agent.start","agent.end"),"utf8"),{success:!0}},disable(){return fe.default.existsSync(Mt.amp())&&fe.default.unlinkSync(Mt.amp()),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.amp())}},pi:{enable(){let t=Mt.pi(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,lB("pi","pi","agent_start","agent_end"),"utf8"),{success:!0}},disable(){return fe.default.existsSync(Mt.pi())&&fe.default.unlinkSync(Mt.pi()),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.pi())}}},KQ=OR});var uw=ie(()=>{Pf()});async function vB(){let t=await cm(),e=new Map(t.map(n=>[n.id,n])),r=db();for(let n of t)if(!r[n.id])try{await Wo(n.id)}catch{}Ci.clear();for(let[n,i]of Object.entries(r)){let s=e.get(n);Ci.set(n,{daemon:!0,name:i.name,createdAt:i.createdAt,shellId:i.shellId,cwd:s?.cwd||i.cwd,lastCols:i.cols??null,lastRows:i.rows??null,needsRespawn:!s})}sn(Ci)}async function SB(){let t=fD();for(let n of t.groups)xB.set(n.id,n);Object.assign(bB,t.sessionGroups),wB.push(...t.sessionOrder);try{mB()}catch{}try{dB()}catch{}if(fw==="daemon")if(!await qI())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{await vB(),ff("connected",()=>{vB().catch(()=>{})});return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let e=uD(),r=db();for(let n of e){let i=r[n]||{};Ci.set(n,{pty:null,name:i.name||`Terminal ${Ci.size+1}`,createdAt:i.createdAt||Date.now(),buffer:[],needsRestore:!0}),console.log(`\u{1F504} Found saved session: ${n}`)}e.length>0&&console.log(`\u2705 Found ${e.length} saved session(s)`)}function pl(t,e){fw==="daemon"&&(ff("output",({sessionId:i,enc:s,data:o,replay:a})=>{a!==!0&&eB(i),Xt(t,"output",{sessionId:i,enc:s,data:o,replay:a===!0})}),tB(i=>Xt(t,"statusState",kf())),ff("cwdChange",({sessionId:i,cwd:s})=>{let o=Ci.get(i);o&&s&&o.cwd!==s&&(o.cwd=s,sn(Ci)),Xt(t,"cwdChange",{sessionId:i,cwd:s})}),ff("sessionClosed",i=>{Ci.delete(i),cw(i),Xt(t,"sessionClosed",i),Xt(t,"notificationCleared",i)}));let r=()=>({version:JQ,remoteAvailable:Ic(),daemonMode:fw==="daemon"&&Nr(),platform:process.platform,updateAvailable:GP(),canSelfUpdate:!0,caps:{joinSessionSize:!0},...rD()}),n=()=>{let i=r();for(let s of t.sockets.sockets.values())s.data?.approved&&s.emit("serverInfo",i)};YP(n),pl._buildServerInfo=r,pl._emitServerInfo=n}function EB(){pl._emitServerInfo?.()}function RB(t){TB=t}async function CB(t,e,r){nD(),TB?.(),t.emit("serverInfo",pl._buildServerInfo?.()),xD(t,e,Ci,xB,bB,wB),RD(t,Ci),rB(t,e),Rm()&&await tD(t,r).catch(n=>{console.error("\u274C Failed to setup remote handlers:",n.message)}),t.on("disconnect",()=>{K2(t.id),iD()})}var yB,_B,pxe,hxe,fw,JQ,Ci,xB,bB,wB,TB,dg=ie(()=>{Ey();yB=require("path"),_B=require("url");pf();Cm();_i();Om();Dm();bD();CD();nB();gB();ug();uw();Pf();Ws();pxe=(0,yB.dirname)((0,_B.fileURLToPath)(__importMetaUrl)),hxe=vu.rgb(230,138,110),fw="daemon",JQ="2.3.1",Ci=new Map,xB=new Map,bB={},wB=[];TB=null});var If=P((mxe,PB)=>{"use strict";var QQ=require("path"),Ai="\\\\/",AB=`[^${Ai}]`,eee=0,ls="\\.",tee="\\+",ree="\\?",mg="\\/",nee="(?=.)",OB="[^/]",pw=`(?:${mg}|$)`,kB=`(?:^|${mg})`,hw=`${ls}{1,2}${pw}`,iee=`(?!${ls})`,see=`(?!${kB}${hw})`,oee=`(?!${ls}{0,1}${pw})`,aee=`(?!${hw})`,cee=`[^.${mg}]`,lee=`${OB}*?`,MB={DOT_LITERAL:ls,PLUS_LITERAL:tee,QMARK_LITERAL:ree,SLASH_LITERAL:mg,ONE_CHAR:nee,QMARK:OB,END_ANCHOR:pw,DOTS_SLASH:hw,NO_DOT:iee,NO_DOTS:see,NO_DOT_SLASH:oee,NO_DOTS_SLASH:aee,QMARK_NO_DOT:cee,STAR:lee,START_ANCHOR:kB},uee={...MB,SLASH_LITERAL:`[${Ai}]`,QMARK:AB,STAR:`${AB}*?`,DOTS_SLASH:`${ls}{1,2}(?:[${Ai}]|$)`,NO_DOT:`(?!${ls})`,NO_DOTS:`(?!(?:^|[${Ai}])${ls}{1,2}(?:[${Ai}]|$))`,NO_DOT_SLASH:`(?!${ls}{0,1}(?:[${Ai}]|$))`,NO_DOTS_SLASH:`(?!${ls}{1,2}(?:[${Ai}]|$))`,QMARK_NO_DOT:`[^.${Ai}]`,START_ANCHOR:`(?:^|[${Ai}])`,END_ANCHOR:`(?:[${Ai}]|$)`},fee={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};PB.exports={DEFAULT_MAX_EXTGLOB_RECURSION:eee,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:fee,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:QQ.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?uee:MB}}});var gg=P(Yr=>{"use strict";var pee=require("path"),hee=process.platform==="win32",{REGEX_BACKSLASH:dee,REGEX_REMOVE_BACKSLASH:mee,REGEX_SPECIAL_CHARS:gee,REGEX_SPECIAL_CHARS_GLOBAL:vee}=If();Yr.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Yr.hasRegexChars=t=>gee.test(t);Yr.isRegexChar=t=>t.length===1&&Yr.hasRegexChars(t);Yr.escapeRegex=t=>t.replace(vee,"\\$1");Yr.toPosixSlashes=t=>t.replace(dee,"/");Yr.removeBackslashes=t=>t.replace(mee,e=>e==="\\"?"":e);Yr.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Yr.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:hee===!0||pee.sep==="\\";Yr.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Yr.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Yr.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Yr.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",i=r.contains?"":"$",s=`${n}(?:${t})${i}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var qB=P((vxe,jB)=>{"use strict";var IB=gg(),{CHAR_ASTERISK:dw,CHAR_AT:yee,CHAR_BACKWARD_SLASH:Nf,CHAR_COMMA:_ee,CHAR_DOT:mw,CHAR_EXCLAMATION_MARK:gw,CHAR_FORWARD_SLASH:FB,CHAR_LEFT_CURLY_BRACE:vw,CHAR_LEFT_PARENTHESES:yw,CHAR_LEFT_SQUARE_BRACKET:xee,CHAR_PLUS:bee,CHAR_QUESTION_MARK:NB,CHAR_RIGHT_CURLY_BRACE:wee,CHAR_RIGHT_PARENTHESES:DB,CHAR_RIGHT_SQUARE_BRACKET:See}=If(),LB=t=>t===FB||t===Nf,BB=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},Eee=(t,e)=>{let r=e||{},n=t.length-1,i=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],c=t,l=-1,u=0,f=0,h=!1,d=!1,g=!1,y=!1,w=!1,A=!1,I=!1,L=!1,F=!1,W=!1,G=0,j,q,N={value:"",depth:0,isGlob:!1},R=()=>l>=n,p=()=>c.charCodeAt(l+1),v=()=>(j=q,c.charCodeAt(++l));for(;l<n;){q=v();let D;if(q===Nf){I=N.backslashes=!0,q=v(),q===vw&&(A=!0);continue}if(A===!0||q===vw){for(G++;R()!==!0&&(q=v());){if(q===Nf){I=N.backslashes=!0,v();continue}if(q===vw){G++;continue}if(A!==!0&&q===mw&&(q=v())===mw){if(h=N.isBrace=!0,g=N.isGlob=!0,W=!0,i===!0)continue;break}if(A!==!0&&q===_ee){if(h=N.isBrace=!0,g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===wee&&(G--,G===0)){A=!1,h=N.isBrace=!0,W=!0;break}}if(i===!0)continue;break}if(q===FB){if(s.push(l),o.push(N),N={value:"",depth:0,isGlob:!1},W===!0)continue;if(j===mw&&l===u+1){u+=2;continue}f=l+1;continue}if(r.noext!==!0&&(q===bee||q===yee||q===dw||q===NB||q===gw)===!0&&p()===yw){if(g=N.isGlob=!0,y=N.isExtglob=!0,W=!0,q===gw&&l===u&&(F=!0),i===!0){for(;R()!==!0&&(q=v());){if(q===Nf){I=N.backslashes=!0,q=v();continue}if(q===DB){g=N.isGlob=!0,W=!0;break}}continue}break}if(q===dw){if(j===dw&&(w=N.isGlobstar=!0),g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===NB){if(g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===xee){for(;R()!==!0&&(D=v());){if(D===Nf){I=N.backslashes=!0,v();continue}if(D===See){d=N.isBracket=!0,g=N.isGlob=!0,W=!0;break}}if(i===!0)continue;break}if(r.nonegate!==!0&&q===gw&&l===u){L=N.negated=!0,u++;continue}if(r.noparen!==!0&&q===yw){if(g=N.isGlob=!0,i===!0){for(;R()!==!0&&(q=v());){if(q===yw){I=N.backslashes=!0,q=v();continue}if(q===DB){W=!0;break}}continue}break}if(g===!0){if(W=!0,i===!0)continue;break}}r.noext===!0&&(y=!1,g=!1);let b=c,T="",x="";u>0&&(T=c.slice(0,u),c=c.slice(u),f-=u),b&&g===!0&&f>0?(b=c.slice(0,f),x=c.slice(f)):g===!0?(b="",x=c):b=c,b&&b!==""&&b!=="/"&&b!==c&&LB(b.charCodeAt(b.length-1))&&(b=b.slice(0,-1)),r.unescape===!0&&(x&&(x=IB.removeBackslashes(x)),b&&I===!0&&(b=IB.removeBackslashes(b)));let S={prefix:T,input:t,start:u,base:b,glob:x,isBrace:h,isBracket:d,isGlob:g,isExtglob:y,isGlobstar:w,negated:L,negatedExtglob:F};if(r.tokens===!0&&(S.maxDepth=0,LB(q)||o.push(N),S.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let C=0;C<s.length;C++){let m=D?D+1:u,M=s[C],Q=t.slice(m,M);r.tokens&&(C===0&&u!==0?(o[C].isPrefix=!0,o[C].value=T):o[C].value=Q,BB(o[C]),S.maxDepth+=o[C].depth),(C!==0||Q!=="")&&a.push(Q),D=M}if(D&&D+1<t.length){let C=t.slice(D+1);a.push(C),r.tokens&&(o[o.length-1].value=C,BB(o[o.length-1]),S.maxDepth+=o[o.length-1].depth)}S.slashes=s,S.parts=a}return S};jB.exports=Eee});var zB=P((yxe,WB)=>{"use strict";var Df=If(),Ar=gg(),{MAX_LENGTH:vg,POSIX_REGEX_SOURCE:Tee,REGEX_NON_SPECIAL_CHARS:Ree,REGEX_SPECIAL_CHARS_BACKREF:Cee,REPLACEMENTS:UB}=Df,Aee=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(i=>Ar.escapeRegex(i)).join("..")}return r},hl=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,$B=t=>{let e=[],r=0,n=0,i=0,s="",o=!1;for(let a of t){if(o===!0){s+=a,o=!1;continue}if(a==="\\"){s+=a,o=!0;continue}if(a==='"'){i=i===1?0:1,s+=a;continue}if(i===0){if(a==="[")r++;else if(a==="]"&&r>0)r--;else if(r===0){if(a==="(")n++;else if(a===")"&&n>0)n--;else if(a==="|"&&n===0){e.push(s),s="";continue}}}s+=a}return e.push(s),e},Oee=t=>{let e=!1;for(let r of t){if(e===!0){e=!1;continue}if(r==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(r))return!1}return!0},HB=t=>{let e=t.trim(),r=!0;for(;r===!0;)r=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),r=!0);if(Oee(e))return e.replace(/\\(.)/g,"$1")},kee=t=>{let e=t.map(HB).filter(Boolean);for(let r=0;r<e.length;r++)for(let n=r+1;n<e.length;n++){let i=e[r],s=e[n],o=i[0];if(!(!o||i!==o.repeat(i.length)||s!==o.repeat(s.length))&&(i===s||i.startsWith(s)||s.startsWith(i)))return!0}return!1},_w=(t,e=!0)=>{if(t[0]!=="+"&&t[0]!=="*"||t[1]!=="(")return;let r=0,n=0,i=0,s=!1;for(let o=1;o<t.length;o++){let a=t[o];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){i=i===1?0:1;continue}if(i!==1){if(a==="["){r++;continue}if(a==="]"&&r>0){r--;continue}if(!(r>0)){if(a==="("){n++;continue}if(a===")"&&(n--,n===0))return e===!0&&o!==t.length-1?void 0:{type:t[0],body:t.slice(2,o),end:o}}}}},Mee=t=>{let e=0,r=[];for(;e<t.length;){let i=_w(t.slice(e),!1);if(!i||i.type!=="*")return;let s=$B(i.body).map(a=>a.trim());if(s.length!==1)return;let o=HB(s[0]);if(!o||o.length!==1)return;r.push(o),e+=i.end+1}return r.length<1?void 0:`${r.length===1?Ar.escapeRegex(r[0]):`[${r.map(i=>Ar.escapeRegex(i)).join("")}]`}*`},Pee=t=>{let e=0,r=t.trim(),n=_w(r);for(;n;)e++,r=n.body.trim(),n=_w(r);return e},Iee=(t,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let r=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:Df.DEFAULT_MAX_EXTGLOB_RECURSION,n=$B(t).map(i=>i.trim());if(n.length>1&&(n.some(i=>i==="")||n.some(i=>/^[*?]+$/.test(i))||kee(n)))return{risky:!0};for(let i of n){let s=Mee(i);if(s)return{risky:!0,safeOutput:s};if(Pee(i)>r)return{risky:!0}}return{risky:!1}},xw=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=UB[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(vg,r.maxLength):vg,i=t.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",c=Ar.isWindows(e),l=Df.globChars(c),u=Df.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:h,SLASH_LITERAL:d,ONE_CHAR:g,DOTS_SLASH:y,NO_DOT:w,NO_DOT_SLASH:A,NO_DOTS_SLASH:I,QMARK:L,QMARK_NO_DOT:F,STAR:W,START_ANCHOR:G}=l,j=Y=>`(${a}(?:(?!${G}${Y.dot?y:f}).)*?)`,q=r.dot?"":w,N=r.dot?L:F,R=r.bash===!0?j(r):W;r.capture&&(R=`(${R})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let p={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Ar.removePrefix(t,p),i=t.length;let v=[],b=[],T=[],x=s,S,D=()=>p.index===i-1,C=p.peek=(Y=1)=>t[p.index+Y],m=p.advance=()=>t[++p.index]||"",M=()=>t.slice(p.index+1),Q=(Y="",ve=0)=>{p.consumed+=Y,p.index+=ve},U=Y=>{p.output+=Y.output!=null?Y.output:Y.value,Q(Y.value)},V=()=>{let Y=1;for(;C()==="!"&&(C(2)!=="("||C(3)==="?");)m(),p.start++,Y++;return Y%2===0?!1:(p.negated=!0,p.start++,!0)},J=Y=>{p[Y]++,T.push(Y)},ne=Y=>{p[Y]--,T.pop()},te=Y=>{if(x.type==="globstar"){let ve=p.braces>0&&(Y.type==="comma"||Y.type==="brace"),Z=Y.extglob===!0||v.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!ve&&!Z&&(p.output=p.output.slice(0,-x.output.length),x.type="star",x.value="*",x.output=R,p.output+=x.output)}if(v.length&&Y.type!=="paren"&&(v[v.length-1].inner+=Y.value),(Y.value||Y.output)&&U(Y),x&&x.type==="text"&&Y.type==="text"){x.value+=Y.value,x.output=(x.output||"")+Y.value;return}Y.prev=x,o.push(Y),x=Y},nt=(Y,ve)=>{let Z={...u[ve],conditions:1,inner:""};Z.prev=x,Z.parens=p.parens,Z.output=p.output,Z.startIndex=p.index,Z.tokensIndex=o.length;let se=(r.capture?"(":"")+Z.open;J("parens"),te({type:Y,value:ve,output:p.output?"":g}),te({type:"paren",extglob:!0,value:m(),output:se}),v.push(Z)},Se=Y=>{let ve=t.slice(Y.startIndex,p.index+1),Z=t.slice(Y.startIndex+2,p.index),se=Iee(Z,r);if((Y.type==="plus"||Y.type==="star")&&se.risky){let ue=se.safeOutput?(Y.output?"":g)+(r.capture?`(${se.safeOutput})`:se.safeOutput):void 0,vr=o[Y.tokensIndex];vr.type="text",vr.value=ve,vr.output=ue||Ar.escapeRegex(ve);for(let Me=Y.tokensIndex+1;Me<o.length;Me++)o[Me].value="",o[Me].output="",delete o[Me].suffix;p.output=Y.output+vr.output,p.backtrack=!0,te({type:"paren",extglob:!0,value:S,output:""}),ne("parens");return}let Re=Y.close+(r.capture?")":""),me;if(Y.type==="negate"){let ue=R;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(ue=j(r)),(ue!==R||D()||/^\)+$/.test(M()))&&(Re=Y.close=`)$))${ue}`),Y.inner.includes("*")&&(me=M())&&/^\.[^\\/.]+$/.test(me)){let vr=xw(me,{...e,fastpaths:!1}).output;Re=Y.close=`)${vr})${ue})`}Y.prev.type==="bos"&&(p.negatedExtglob=!0)}te({type:"paren",extglob:!0,value:S,output:Re}),ne("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let Y=!1,ve=t.replace(Cee,(Z,se,Re,me,ue,vr)=>me==="\\"?(Y=!0,Z):me==="?"?se?se+me+(ue?L.repeat(ue.length):""):vr===0?N+(ue?L.repeat(ue.length):""):L.repeat(Re.length):me==="."?f.repeat(Re.length):me==="*"?se?se+me+(ue?R:""):R:se?Z:`\\${Z}`);return Y===!0&&(r.unescape===!0?ve=ve.replace(/\\/g,""):ve=ve.replace(/\\+/g,Z=>Z.length%2===0?"\\\\":Z?"\\":"")),ve===t&&r.contains===!0?(p.output=t,p):(p.output=Ar.wrapOutput(ve,p,e),p)}for(;!D();){if(S=m(),S==="\0")continue;if(S==="\\"){let Z=C();if(Z==="/"&&r.bash!==!0||Z==="."||Z===";")continue;if(!Z){S+="\\",te({type:"text",value:S});continue}let se=/^\\+/.exec(M()),Re=0;if(se&&se[0].length>2&&(Re=se[0].length,p.index+=Re,Re%2!==0&&(S+="\\")),r.unescape===!0?S=m():S+=m(),p.brackets===0){te({type:"text",value:S});continue}}if(p.brackets>0&&(S!=="]"||x.value==="["||x.value==="[^")){if(r.posix!==!1&&S===":"){let Z=x.value.slice(1);if(Z.includes("[")&&(x.posix=!0,Z.includes(":"))){let se=x.value.lastIndexOf("["),Re=x.value.slice(0,se),me=x.value.slice(se+2),ue=Tee[me];if(ue){x.value=Re+ue,p.backtrack=!0,m(),!s.output&&o.indexOf(x)===1&&(s.output=g);continue}}}(S==="["&&C()!==":"||S==="-"&&C()==="]")&&(S=`\\${S}`),S==="]"&&(x.value==="["||x.value==="[^")&&(S=`\\${S}`),r.posix===!0&&S==="!"&&x.value==="["&&(S="^"),x.value+=S,U({value:S});continue}if(p.quotes===1&&S!=='"'){S=Ar.escapeRegex(S),x.value+=S,U({value:S});continue}if(S==='"'){p.quotes=p.quotes===1?0:1,r.keepQuotes===!0&&te({type:"text",value:S});continue}if(S==="("){J("parens"),te({type:"paren",value:S});continue}if(S===")"){if(p.parens===0&&r.strictBrackets===!0)throw new SyntaxError(hl("opening","("));let Z=v[v.length-1];if(Z&&p.parens===Z.parens+1){Se(v.pop());continue}te({type:"paren",value:S,output:p.parens?")":"\\)"}),ne("parens");continue}if(S==="["){if(r.nobracket===!0||!M().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(hl("closing","]"));S=`\\${S}`}else J("brackets");te({type:"bracket",value:S});continue}if(S==="]"){if(r.nobracket===!0||x&&x.type==="bracket"&&x.value.length===1){te({type:"text",value:S,output:`\\${S}`});continue}if(p.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(hl("opening","["));te({type:"text",value:S,output:`\\${S}`});continue}ne("brackets");let Z=x.value.slice(1);if(x.posix!==!0&&Z[0]==="^"&&!Z.includes("/")&&(S=`/${S}`),x.value+=S,U({value:S}),r.literalBrackets===!1||Ar.hasRegexChars(Z))continue;let se=Ar.escapeRegex(x.value);if(p.output=p.output.slice(0,-x.value.length),r.literalBrackets===!0){p.output+=se,x.value=se;continue}x.value=`(${a}${se}|${x.value})`,p.output+=x.value;continue}if(S==="{"&&r.nobrace!==!0){J("braces");let Z={type:"brace",value:S,output:"(",outputIndex:p.output.length,tokensIndex:p.tokens.length};b.push(Z),te(Z);continue}if(S==="}"){let Z=b[b.length-1];if(r.nobrace===!0||!Z){te({type:"text",value:S,output:S});continue}let se=")";if(Z.dots===!0){let Re=o.slice(),me=[];for(let ue=Re.length-1;ue>=0&&(o.pop(),Re[ue].type!=="brace");ue--)Re[ue].type!=="dots"&&me.unshift(Re[ue].value);se=Aee(me,r),p.backtrack=!0}if(Z.comma!==!0&&Z.dots!==!0){let Re=p.output.slice(0,Z.outputIndex),me=p.tokens.slice(Z.tokensIndex);Z.value=Z.output="\\{",S=se="\\}",p.output=Re;for(let ue of me)p.output+=ue.output||ue.value}te({type:"brace",value:S,output:se}),ne("braces"),b.pop();continue}if(S==="|"){v.length>0&&v[v.length-1].conditions++,te({type:"text",value:S});continue}if(S===","){let Z=S,se=b[b.length-1];se&&T[T.length-1]==="braces"&&(se.comma=!0,Z="|"),te({type:"comma",value:S,output:Z});continue}if(S==="/"){if(x.type==="dot"&&p.index===p.start+1){p.start=p.index+1,p.consumed="",p.output="",o.pop(),x=s;continue}te({type:"slash",value:S,output:d});continue}if(S==="."){if(p.braces>0&&x.type==="dot"){x.value==="."&&(x.output=f);let Z=b[b.length-1];x.type="dots",x.output+=S,x.value+=S,Z.dots=!0;continue}if(p.braces+p.parens===0&&x.type!=="bos"&&x.type!=="slash"){te({type:"text",value:S,output:f});continue}te({type:"dot",value:S,output:f});continue}if(S==="?"){if(!(x&&x.value==="(")&&r.noextglob!==!0&&C()==="("&&C(2)!=="?"){nt("qmark",S);continue}if(x&&x.type==="paren"){let se=C(),Re=S;if(se==="<"&&!Ar.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(x.value==="("&&!/[!=<:]/.test(se)||se==="<"&&!/<([!=]|\w+>)/.test(M()))&&(Re=`\\${S}`),te({type:"text",value:S,output:Re});continue}if(r.dot!==!0&&(x.type==="slash"||x.type==="bos")){te({type:"qmark",value:S,output:F});continue}te({type:"qmark",value:S,output:L});continue}if(S==="!"){if(r.noextglob!==!0&&C()==="("&&(C(2)!=="?"||!/[!=<:]/.test(C(3)))){nt("negate",S);continue}if(r.nonegate!==!0&&p.index===0){V();continue}}if(S==="+"){if(r.noextglob!==!0&&C()==="("&&C(2)!=="?"){nt("plus",S);continue}if(x&&x.value==="("||r.regex===!1){te({type:"plus",value:S,output:h});continue}if(x&&(x.type==="bracket"||x.type==="paren"||x.type==="brace")||p.parens>0){te({type:"plus",value:S});continue}te({type:"plus",value:h});continue}if(S==="@"){if(r.noextglob!==!0&&C()==="("&&C(2)!=="?"){te({type:"at",extglob:!0,value:S,output:""});continue}te({type:"text",value:S});continue}if(S!=="*"){(S==="$"||S==="^")&&(S=`\\${S}`);let Z=Ree.exec(M());Z&&(S+=Z[0],p.index+=Z[0].length),te({type:"text",value:S});continue}if(x&&(x.type==="globstar"||x.star===!0)){x.type="star",x.star=!0,x.value+=S,x.output=R,p.backtrack=!0,p.globstar=!0,Q(S);continue}let Y=M();if(r.noextglob!==!0&&/^\([^?]/.test(Y)){nt("star",S);continue}if(x.type==="star"){if(r.noglobstar===!0){Q(S);continue}let Z=x.prev,se=Z.prev,Re=Z.type==="slash"||Z.type==="bos",me=se&&(se.type==="star"||se.type==="globstar");if(r.bash===!0&&(!Re||Y[0]&&Y[0]!=="/")){te({type:"star",value:S,output:""});continue}let ue=p.braces>0&&(Z.type==="comma"||Z.type==="brace"),vr=v.length&&(Z.type==="pipe"||Z.type==="paren");if(!Re&&Z.type!=="paren"&&!ue&&!vr){te({type:"star",value:S,output:""});continue}for(;Y.slice(0,3)==="/**";){let Me=t[p.index+4];if(Me&&Me!=="/")break;Y=Y.slice(3),Q("/**",3)}if(Z.type==="bos"&&D()){x.type="globstar",x.value+=S,x.output=j(r),p.output=x.output,p.globstar=!0,Q(S);continue}if(Z.type==="slash"&&Z.prev.type!=="bos"&&!me&&D()){p.output=p.output.slice(0,-(Z.output+x.output).length),Z.output=`(?:${Z.output}`,x.type="globstar",x.output=j(r)+(r.strictSlashes?")":"|$)"),x.value+=S,p.globstar=!0,p.output+=Z.output+x.output,Q(S);continue}if(Z.type==="slash"&&Z.prev.type!=="bos"&&Y[0]==="/"){let Me=Y[1]!==void 0?"|$":"";p.output=p.output.slice(0,-(Z.output+x.output).length),Z.output=`(?:${Z.output}`,x.type="globstar",x.output=`${j(r)}${d}|${d}${Me})`,x.value+=S,p.output+=Z.output+x.output,p.globstar=!0,Q(S+m()),te({type:"slash",value:"/",output:""});continue}if(Z.type==="bos"&&Y[0]==="/"){x.type="globstar",x.value+=S,x.output=`(?:^|${d}|${j(r)}${d})`,p.output=x.output,p.globstar=!0,Q(S+m()),te({type:"slash",value:"/",output:""});continue}p.output=p.output.slice(0,-x.output.length),x.type="globstar",x.output=j(r),x.value+=S,p.output+=x.output,p.globstar=!0,Q(S);continue}let ve={type:"star",value:S,output:R};if(r.bash===!0){ve.output=".*?",(x.type==="bos"||x.type==="slash")&&(ve.output=q+ve.output),te(ve);continue}if(x&&(x.type==="bracket"||x.type==="paren")&&r.regex===!0){ve.output=S,te(ve);continue}(p.index===p.start||x.type==="slash"||x.type==="dot")&&(x.type==="dot"?(p.output+=A,x.output+=A):r.dot===!0?(p.output+=I,x.output+=I):(p.output+=q,x.output+=q),C()!=="*"&&(p.output+=g,x.output+=g)),te(ve)}for(;p.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing","]"));p.output=Ar.escapeLast(p.output,"["),ne("brackets")}for(;p.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing",")"));p.output=Ar.escapeLast(p.output,"("),ne("parens")}for(;p.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing","}"));p.output=Ar.escapeLast(p.output,"{"),ne("braces")}if(r.strictSlashes!==!0&&(x.type==="star"||x.type==="bracket")&&te({type:"maybe_slash",value:"",output:`${d}?`}),p.backtrack===!0){p.output="";for(let Y of p.tokens)p.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(p.output+=Y.suffix)}return p};xw.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(vg,r.maxLength):vg,i=t.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);t=UB[t]||t;let s=Ar.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:h,STAR:d,START_ANCHOR:g}=Df.globChars(s),y=r.dot?f:u,w=r.dot?h:u,A=r.capture?"":"?:",I={negated:!1,prefix:""},L=r.bash===!0?".*?":d;r.capture&&(L=`(${L})`);let F=q=>q.noglobstar===!0?L:`(${A}(?:(?!${g}${q.dot?l:o}).)*?)`,W=q=>{switch(q){case"*":return`${y}${c}${L}`;case".*":return`${o}${c}${L}`;case"*.*":return`${y}${L}${o}${c}${L}`;case"*/*":return`${y}${L}${a}${c}${w}${L}`;case"**":return y+F(r);case"**/*":return`(?:${y}${F(r)}${a})?${w}${c}${L}`;case"**/*.*":return`(?:${y}${F(r)}${a})?${w}${L}${o}${c}${L}`;case"**/.*":return`(?:${y}${F(r)}${a})?${o}${c}${L}`;default:{let N=/^(.*?)\.(\w+)$/.exec(q);if(!N)return;let R=W(N[1]);return R?R+o+N[2]:void 0}}},G=Ar.removePrefix(t,I),j=W(G);return j&&r.strictSlashes!==!0&&(j+=`${a}?`),j};WB.exports=xw});var VB=P((_xe,GB)=>{"use strict";var Nee=require("path"),Dee=qB(),bw=zB(),ww=gg(),Lee=If(),Bee=t=>t&&typeof t=="object"&&!Array.isArray(t),Yt=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>Yt(h,e,r));return h=>{for(let d of u){let g=d(h);if(g)return g}return!1}}let n=Bee(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let i=e||{},s=ww.isWindows(e),o=n?Yt.compileRe(t,e):Yt.makeRe(t,e,!1,!0),a=o.state;delete o.state;let c=()=>!1;if(i.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=Yt(i.ignore,u,r)}let l=(u,f=!1)=>{let{isMatch:h,match:d,output:g}=Yt.test(u,o,e,{glob:t,posix:s}),y={glob:t,state:a,regex:o,posix:s,input:u,output:g,match:d,isMatch:h};return typeof i.onResult=="function"&&i.onResult(y),h===!1?(y.isMatch=!1,f?y:!1):c(u)?(typeof i.onIgnore=="function"&&i.onIgnore(y),y.isMatch=!1,f?y:!1):(typeof i.onMatch=="function"&&i.onMatch(y),f?y:!0)};return r&&(l.state=a),l};Yt.test=(t,e,r,{glob:n,posix:i}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(i?ww.toPosixSlashes:null),a=t===n,c=a&&o?o(t):t;return a===!1&&(c=o?o(t):t,a=c===n),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yt.matchBase(t,e,r,i):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};Yt.matchBase=(t,e,r,n=ww.isWindows(r))=>(e instanceof RegExp?e:Yt.makeRe(e,r)).test(Nee.basename(t));Yt.isMatch=(t,e,r)=>Yt(e,r)(t);Yt.parse=(t,e)=>Array.isArray(t)?t.map(r=>Yt.parse(r,e)):bw(t,{...e,fastpaths:!1});Yt.scan=(t,e)=>Dee(t,e);Yt.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let i=e||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let c=Yt.toRegex(a,e);return n===!0&&(c.state=t),c};Yt.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(i.output=bw.fastpaths(t,e)),i.output||(i=bw(t,e)),Yt.compileRe(i,e,r,n)};Yt.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Yt.constants=Lee;GB.exports=Yt});var Sw=P((xxe,KB)=>{"use strict";KB.exports=VB()});var rF=P((bxe,tF)=>{"use strict";var Bf=require("fs"),{Readable:Fee}=require("stream"),Lf=require("path"),{promisify:bg}=require("util"),Ew=Sw(),jee=bg(Bf.readdir),qee=bg(Bf.stat),YB=bg(Bf.lstat),Uee=bg(Bf.realpath),$ee="!",QB="READDIRP_RECURSIVE_ERROR",Hee=new Set(["ENOENT","EPERM","EACCES","ELOOP",QB]),Tw="files",eF="directories",_g="files_directories",yg="all",ZB=[Tw,eF,_g,yg],Wee=t=>Hee.has(t.code),[XB,zee]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),Gee=process.platform==="win32"&&(XB>10||XB===10&&zee>=5),JB=t=>{if(t!==void 0){if(typeof t=="function")return t;if(typeof t=="string"){let e=Ew(t.trim());return r=>e(r.basename)}if(Array.isArray(t)){let e=[],r=[];for(let n of t){let i=n.trim();i.charAt(0)===$ee?r.push(Ew(i.slice(1))):e.push(Ew(i))}return r.length>0?e.length>0?n=>e.some(i=>i(n.basename))&&!r.some(i=>i(n.basename)):n=>!r.some(i=>i(n.basename)):n=>e.some(i=>i(n.basename))}}},xg=class t extends Fee{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:Tw,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let r={...t.defaultOptions,...e},{root:n,type:i}=r;this._fileFilter=JB(r.fileFilter),this._directoryFilter=JB(r.directoryFilter);let s=r.lstat?YB:qee;Gee?this._stat=o=>s(o,{bigint:!0}):this._stat=s,this._maxDepth=r.depth,this._wantsDir=[eF,_g,yg].includes(i),this._wantsFile=[Tw,_g,yg].includes(i),this._wantsEverything=i===yg,this._root=Lf.resolve(n),this._isDirent="Dirent"in Bf&&!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:r,depth:n,files:i=[]}=this.parent||{};if(i.length>0){let s=i.splice(0,e).map(o=>this._formatEntry(o,r));for(let o of await Promise.all(s)){if(this.destroyed)return;let a=await this._getEntryType(o);a==="directory"&&this._directoryFilter(o)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(o.fullPath,n+1)),this._wantsDir&&(this.push(o),e--)):(a==="file"||this._includeAsFile(o))&&this._fileFilter(o)&&this._wantsFile&&(this.push(o),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(r){this.destroy(r)}finally{this.reading=!1}}}async _exploreDir(e,r){let n;try{n=await jee(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:r,path:e}}async _formatEntry(e,r){let n;try{let i=this._isDirent?e.name:e,s=Lf.resolve(Lf.join(r,i));n={path:Lf.relative(this._root,s),fullPath:s,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(i){this._onError(i)}return n}_onError(e){Wee(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let r=e&&e[this._statsProp];if(r){if(r.isFile())return"file";if(r.isDirectory())return"directory";if(r&&r.isSymbolicLink()){let n=e.fullPath;try{let i=await Uee(n),s=await YB(i);if(s.isFile())return"file";if(s.isDirectory()){let o=i.length;if(n.startsWith(i)&&n.substr(o,1)===Lf.sep){let a=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return a.code=QB,this._onError(a)}return"directory"}}catch(i){this._onError(i)}}}}_includeAsFile(e){let r=e&&e[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}},dl=(t,e={})=>{let r=e.entryType||e.type;if(r==="both"&&(r=_g),r&&(e.type=r),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!ZB.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${ZB.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new xg(e)},Vee=(t,e={})=>new Promise((r,n)=>{let i=[];dl(t,e).on("data",s=>i.push(s)).on("end",()=>r(i)).on("error",s=>n(s))});dl.promise=Vee;dl.ReaddirpStream=xg;dl.default=dl;tF.exports=dl});var ml=P((wxe,nF)=>{nF.exports=function(t,e){if(typeof t!="string")throw new TypeError("expected path to be a string");if(t==="\\"||t==="/")return"/";var r=t.length;if(r<=1)return t;var n="";if(r>4&&t[3]==="\\"){var i=t[2];(i==="?"||i===".")&&t.slice(0,2)==="\\\\"&&(t=t.slice(2),n="//")}var s=t.split(/[/\\]+/);return e!==!1&&s[s.length-1]===""&&s.pop(),n+s.join("/")}});var lF=P((aF,cF)=>{"use strict";Object.defineProperty(aF,"__esModule",{value:!0});var oF=Sw(),Kee=ml(),iF="!",Yee={returnIndex:!1},Zee=t=>Array.isArray(t)?t:[t],Xee=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let r=oF(t,e);return n=>t===n||r(n)}return t instanceof RegExp?r=>t.test(r):r=>!1},sF=(t,e,r,n)=>{let i=Array.isArray(r),s=i?r[0]:r;if(!i&&typeof s!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(s));let o=Kee(s,!1);for(let c=0;c<e.length;c++){let l=e[c];if(l(o))return n?-1:!1}let a=i&&[o].concat(r.slice(1));for(let c=0;c<t.length;c++){let l=t[c];if(i?l(...a):l(o))return n?c:!0}return n?-1:!1},Rw=(t,e,r=Yee)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let n=typeof r=="boolean"?{returnIndex:r}:r,i=n.returnIndex||!1,s=Zee(t),o=s.filter(c=>typeof c=="string"&&c.charAt(0)===iF).map(c=>c.slice(1)).map(c=>oF(c,n)),a=s.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==iF).map(c=>Xee(c,n));return e==null?(c,l=!1)=>sF(a,o,c,typeof l=="boolean"?l:!1):sF(a,o,e,i)};Rw.default=Rw;cF.exports=Rw});var fF=P((Sxe,uF)=>{uF.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Cw=P((Exe,hF)=>{var Jee=fF(),pF={"{":"}","(":")","[":"]"},Qee=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,n=-2,i=-2,s=-2,o=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||n!==-1&&t[e]==="["&&t[e+1]!=="]"&&(n<e&&(n=t.indexOf("]",e)),n>e&&(o===-1||o>n||(o=t.indexOf("\\",e),o===-1||o>n)))||i!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(i=t.indexOf("}",e),i>e&&(o=t.indexOf("\\",e),o===-1||o>i))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(s=t.indexOf(")",r),s>r&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var c=pF[a];if(c){var l=t.indexOf(c,e);l!==-1&&(e=l+1)}if(t[e]==="!")return!0}else e++}return!1},ete=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var n=pF[r];if(n){var i=t.indexOf(n,e);i!==-1&&(e=i+1)}if(t[e]==="!")return!0}else e++}return!1};hF.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Jee(e))return!0;var n=Qee;return r&&r.strict===!1&&(n=ete),n(e)}});var mF=P((Txe,dF)=>{"use strict";var tte=Cw(),rte=require("path").posix.dirname,nte=require("os").platform()==="win32",Aw="/",ite=/\\/g,ste=/[\{\[].*[\}\]]$/,ote=/(^|[^\\])([\{\[]|\([^\)]+$)/,ate=/\\([\!\*\?\|\[\]\(\)\{\}])/g;dF.exports=function(e,r){var n=Object.assign({flipBackslashes:!0},r);n.flipBackslashes&&nte&&e.indexOf(Aw)<0&&(e=e.replace(ite,Aw)),ste.test(e)&&(e+=Aw),e+="a";do e=rte(e);while(tte(e)||ote.test(e));return e.replace(ate,"$1")}});var wg=P(jn=>{"use strict";jn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;jn.find=(t,e)=>t.nodes.find(r=>r.type===e);jn.exceedsLimit=(t,e,r=1,n)=>n===!1||!jn.isInteger(t)||!jn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=n;jn.escapeNode=(t,e=0,r)=>{let n=t.nodes[e];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};jn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;jn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;jn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;jn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);jn.flatten=(...t)=>{let e=[],r=n=>{for(let i=0;i<n.length;i++){let s=n[i];if(Array.isArray(s)){r(s);continue}s!==void 0&&e.push(s)}return e};return r(t),e}});var Sg=P((Cxe,vF)=>{"use strict";var gF=wg();vF.exports=(t,e={})=>{let r=(n,i={})=>{let s=e.escapeInvalid&&gF.isInvalidBrace(i),o=n.invalid===!0&&e.escapeInvalid===!0,a="";if(n.value)return(s||o)&&gF.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let c of n.nodes)a+=r(c);return a};return r(t)}});var _F=P((Axe,yF)=>{"use strict";yF.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var AF=P((Oxe,CF)=>{"use strict";var xF=_F(),na=(t,e,r)=>{if(xF(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(xF(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let i=String(n.relaxZeros),s=String(n.shorthand),o=String(n.capture),a=String(n.wrap),c=t+":"+e+"="+i+s+o+a;if(na.cache.hasOwnProperty(c))return na.cache[c].result;let l=Math.min(t,e),u=Math.max(t,e);if(Math.abs(l-u)===1){let y=t+"|"+e;return n.capture?`(${y})`:n.wrap===!1?y:`(?:${y})`}let f=RF(t)||RF(e),h={min:t,max:e,a:l,b:u},d=[],g=[];if(f&&(h.isPadded=f,h.maxLen=String(h.max).length),l<0){let y=u<0?Math.abs(u):1;g=bF(y,Math.abs(l),h,n),l=h.a=0}return u>=0&&(d=bF(l,u,h,n)),h.negatives=g,h.positives=d,h.result=cte(g,d,n),n.capture===!0?h.result=`(${h.result})`:n.wrap!==!1&&d.length+g.length>1&&(h.result=`(?:${h.result})`),na.cache[c]=h,h.result};function cte(t,e,r){let n=Ow(t,e,"-",!1,r)||[],i=Ow(e,t,"",!1,r)||[],s=Ow(t,e,"-?",!0,r)||[];return n.concat(s).concat(i).join("|")}function lte(t,e){let r=1,n=1,i=SF(t,r),s=new Set([e]);for(;t<=i&&i<=e;)s.add(i),r+=1,i=SF(t,r);for(i=EF(e+1,n)-1;t<i&&i<=e;)s.add(i),n+=1,i=EF(e+1,n)-1;return s=[...s],s.sort(pte),s}function ute(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let n=fte(t,e),i=n.length,s="",o=0;for(let a=0;a<i;a++){let[c,l]=n[a];c===l?s+=c:c!=="0"||l!=="9"?s+=hte(c,l,r):o++}return o&&(s+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[o],digits:i}}function bF(t,e,r,n){let i=lte(t,e),s=[],o=t,a;for(let c=0;c<i.length;c++){let l=i[c],u=ute(String(o),String(l),n),f="";if(!r.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+TF(a.count),o=l+1;continue}r.isPadded&&(f=dte(l,r,n)),u.string=f+u.pattern+TF(u.count),s.push(u),o=l+1,a=u}return s}function Ow(t,e,r,n,i){let s=[];for(let o of t){let{string:a}=o;!n&&!wF(e,"string",a)&&s.push(r+a),n&&wF(e,"string",a)&&s.push(r+a)}return s}function fte(t,e){let r=[];for(let n=0;n<t.length;n++)r.push([t[n],e[n]]);return r}function pte(t,e){return t>e?1:e>t?-1:0}function wF(t,e,r){return t.some(n=>n[e]===r)}function SF(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function EF(t,e){return t-t%Math.pow(10,e)}function TF(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function hte(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function RF(t){return/^-?(0+)\d/.test(t)}function dte(t,e,r){if(!e.isPadded)return t;let n=Math.abs(e.maxLen-String(t).length),i=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:return i?`0{0,${n}}`:`0{${n}}`}}na.cache={};na.clearCache=()=>na.cache={};CF.exports=na});var Pw=P((kxe,DF)=>{"use strict";var mte=require("util"),kF=AF(),OF=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),gte=t=>e=>t===!0?Number(e):String(e),kw=t=>typeof t=="number"||typeof t=="string"&&t!=="",Ff=t=>Number.isInteger(+t),Mw=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},vte=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,yte=(t,e,r)=>{if(e>0){let n=t[0]==="-"?"-":"";n&&(t=t.slice(1)),t=n+t.padStart(n?e-1:e,"0")}return r===!1?String(t):t},Tg=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},_te=(t,e,r)=>{t.negatives.sort((a,c)=>a<c?-1:a>c?1:0),t.positives.sort((a,c)=>a<c?-1:a>c?1:0);let n=e.capture?"":"?:",i="",s="",o;return t.positives.length&&(i=t.positives.map(a=>Tg(String(a),r)).join("|")),t.negatives.length&&(s=`-(${n}${t.negatives.map(a=>Tg(String(a),r)).join("|")})`),i&&s?o=`${i}|${s}`:o=i||s,e.wrap?`(${n}${o})`:o},MF=(t,e,r,n)=>{if(r)return kF(t,e,{wrap:!1,...n});let i=String.fromCharCode(t);if(t===e)return i;let s=String.fromCharCode(e);return`[${i}-${s}]`},PF=(t,e,r)=>{if(Array.isArray(t)){let n=r.wrap===!0,i=r.capture?"":"?:";return n?`(${i}${t.join("|")})`:t.join("|")}return kF(t,e,r)},IF=(...t)=>new RangeError("Invalid range arguments: "+mte.inspect(...t)),NF=(t,e,r)=>{if(r.strictRanges===!0)throw IF([t,e]);return[]},xte=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},bte=(t,e,r=1,n={})=>{let i=Number(t),s=Number(e);if(!Number.isInteger(i)||!Number.isInteger(s)){if(n.strictRanges===!0)throw IF([t,e]);return[]}i===0&&(i=0),s===0&&(s=0);let o=i>s,a=String(t),c=String(e),l=String(r);r=Math.max(Math.abs(r),1);let u=Mw(a)||Mw(c)||Mw(l),f=u?Math.max(a.length,c.length,l.length):0,h=u===!1&&vte(t,e,n)===!1,d=n.transform||gte(h);if(n.toRegex&&r===1)return MF(Tg(t,f),Tg(e,f),!0,n);let g={negatives:[],positives:[]},y=I=>g[I<0?"negatives":"positives"].push(Math.abs(I)),w=[],A=0;for(;o?i>=s:i<=s;)n.toRegex===!0&&r>1?y(i):w.push(yte(d(i,A),f,h)),i=o?i-r:i+r,A++;return n.toRegex===!0?r>1?_te(g,n,f):PF(w,null,{wrap:!1,...n}):w},wte=(t,e,r=1,n={})=>{if(!Ff(t)&&t.length>1||!Ff(e)&&e.length>1)return NF(t,e,n);let i=n.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,c=Math.min(s,o),l=Math.max(s,o);if(n.toRegex&&r===1)return MF(c,l,!1,n);let u=[],f=0;for(;a?s>=o:s<=o;)u.push(i(s,f)),s=a?s-r:s+r,f++;return n.toRegex===!0?PF(u,null,{wrap:!1,options:n}):u},Eg=(t,e,r,n={})=>{if(e==null&&kw(t))return[t];if(!kw(t)||!kw(e))return NF(t,e,n);if(typeof r=="function")return Eg(t,e,1,{transform:r});if(OF(r))return Eg(t,e,0,r);let i={...n};return i.capture===!0&&(i.wrap=!0),r=r||i.step||1,Ff(r)?Ff(t)&&Ff(e)?bte(t,e,r,i):wte(t,e,Math.max(Math.abs(r),1),i):r!=null&&!OF(r)?xte(r,i):Eg(t,e,1,r)};DF.exports=Eg});var FF=P((Mxe,BF)=>{"use strict";var Ste=Pw(),LF=wg(),Ete=(t,e={})=>{let r=(n,i={})=>{let s=LF.isInvalidBrace(i),o=n.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,c=e.escapeInvalid===!0?"\\":"",l="";if(n.isOpen===!0)return c+n.value;if(n.isClose===!0)return console.log("node.isClose",c,n.value),c+n.value;if(n.type==="open")return a?c+n.value:"(";if(n.type==="close")return a?c+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":a?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let u=LF.reduce(n.nodes),f=Ste(...u,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(f.length!==0)return u.length>1&&f.length>1?`(${f})`:f}if(n.nodes)for(let u of n.nodes)l+=r(u,n);return l};return r(t)};BF.exports=Ete});var UF=P((Pxe,qF)=>{"use strict";var Tte=Pw(),jF=Sg(),gl=wg(),ia=(t="",e="",r=!1)=>{let n=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?gl.flatten(e).map(i=>`{${i}}`):e;for(let i of t)if(Array.isArray(i))for(let s of i)n.push(ia(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),n.push(Array.isArray(s)?ia(i,s,r):i+s);return gl.flatten(n)},Rte=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,n=(i,s={})=>{i.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(i.invalid||i.dollar){a.push(ia(a.pop(),jF(i,e)));return}if(i.type==="brace"&&i.invalid!==!0&&i.nodes.length===2){a.push(ia(a.pop(),["{}"]));return}if(i.nodes&&i.ranges>0){let f=gl.reduce(i.nodes);if(gl.exceedsLimit(...f,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=Tte(...f,e);h.length===0&&(h=jF(i,e)),a.push(ia(a.pop(),h)),i.nodes=[];return}let c=gl.encloseBrace(i),l=i.queue,u=i;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,l=u.queue;for(let f=0;f<i.nodes.length;f++){let h=i.nodes[f];if(h.type==="comma"&&i.type==="brace"){f===1&&l.push(""),l.push("");continue}if(h.type==="close"){a.push(ia(a.pop(),l,c));continue}if(h.value&&h.type!=="open"){l.push(ia(l.pop(),h.value));continue}h.nodes&&n(h,i)}return l};return gl.flatten(n(t))};qF.exports=Rte});var HF=P((Ixe,$F)=>{"use strict";$F.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
204
|
+
`),fe.default.writeFileSync(t,n+i,"utf8")}let e=Mt.codexScript();return fe.default.existsSync(e)&&fe.default.unlinkSync(e),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.codex())&&fe.default.readFileSync(Mt.codex(),"utf8").includes("# 9Remote notification")}};$Q={enable(){let t=Mt.opencode(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,UQ(),"utf8"),{success:!0}},disable(){let t=Mt.opencode();return fe.default.existsSync(t)&&fe.default.unlinkSync(t),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.opencode())}};HQ="# 9remote hooks begin",WQ="# 9remote hooks end",zQ=" # 9remote hooks begin",GQ=" # 9remote hooks end",VQ={claude:ra("claude",{UserPromptSubmit:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},t=>t,{matchers:{Notification:"permission_prompt"},extra:hB}),codex:qQ,gemini:ra("gemini",{BeforeAgent:"working",PreToolUse:"working",PostToolUse:"working",AfterAgent:"done",Notification:"blocked"},t=>t),opencode:$Q,grok:ra("grok",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},pB),cursor:LQ("cursor",{stop:"done",beforeShellExecution:"blocked",beforeToolCall:"working"},{extra:t=>{t.version=t.version||1}}),antigravity:BQ("antigravity","9remote",{UserPromptSubmit:"working",PreToolUse:"working",Stop:"done",Notification:"blocked"}),kiro:FQ("kiro",{UserPromptSubmit:"working",PostToolUse:"working",preToolUse:"blocked",stop:"done"}),copilot:ra("copilot",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),codebuddy:ra("codebuddy",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),factory:ra("factory",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),qoder:ra("qoder",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),rovodev:iB("rovodev",{begin:zQ,end:GQ,items:[{event:"on_complete",type:"done"},{event:"on_error",type:"done"},{event:"on_tool_permission",type:"blocked"},{event:"on_message",type:"working"},{event:"on_tool_start",type:"working"}]}),hermes:(()=>{let t=iB("hermes",{begin:HQ,end:WQ,items:[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}]}),e=()=>Qt.default.join(Qt.default.dirname(Mt.hermes()),"shell-hooks-allowlist.json");return{enable:()=>{let r=t.enable(Mt.hermes()),n=Br(e()),i=(n.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes")));return n.approvals=[...i,...[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}].map(({event:s,type:o})=>({event:s,command:fl(o,"hermes"),approved_at:"2020-01-01T00:00:00Z"}))],Fn(e(),n),r},disable:()=>{let r=t.disable(Mt.hermes()),n=e();if(fe.default.existsSync(n)){let i=Br(n);i.approvals=(i.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes"))),i.approvals.length?Fn(n,i):fe.default.unlinkSync(n)}return r},isEnabled:()=>t.isEnabled(Mt.hermes())}})(),amp:{enable(){let t=Mt.amp(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,lB("amp","amp","agent.start","agent.end"),"utf8"),{success:!0}},disable(){return fe.default.existsSync(Mt.amp())&&fe.default.unlinkSync(Mt.amp()),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.amp())}},pi:{enable(){let t=Mt.pi(),e=Qt.default.dirname(t);return fe.default.existsSync(e)||fe.default.mkdirSync(e,{recursive:!0}),fe.default.writeFileSync(t,lB("pi","pi","agent_start","agent_end"),"utf8"),{success:!0}},disable(){return fe.default.existsSync(Mt.pi())&&fe.default.unlinkSync(Mt.pi()),{success:!0}},isEnabled(){return fe.default.existsSync(Mt.pi())}}},KQ=OR});var uw=ie(()=>{Pf()});async function vB(){let t=await cm(),e=new Map(t.map(n=>[n.id,n])),r=db();for(let n of t)if(!r[n.id])try{await Wo(n.id)}catch{}Ci.clear();for(let[n,i]of Object.entries(r)){let s=e.get(n);Ci.set(n,{daemon:!0,name:i.name,createdAt:i.createdAt,shellId:i.shellId,cwd:s?.cwd||i.cwd,lastCols:i.cols??null,lastRows:i.rows??null,needsRespawn:!s})}sn(Ci)}async function SB(){let t=fD();for(let n of t.groups)xB.set(n.id,n);Object.assign(bB,t.sessionGroups),wB.push(...t.sessionOrder);try{mB()}catch{}try{dB()}catch{}if(fw==="daemon")if(!await qI())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{await vB(),ff("connected",()=>{vB().catch(()=>{})});return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let e=uD(),r=db();for(let n of e){let i=r[n]||{};Ci.set(n,{pty:null,name:i.name||`Terminal ${Ci.size+1}`,createdAt:i.createdAt||Date.now(),buffer:[],needsRestore:!0}),console.log(`\u{1F504} Found saved session: ${n}`)}e.length>0&&console.log(`\u2705 Found ${e.length} saved session(s)`)}function pl(t,e){fw==="daemon"&&(ff("output",({sessionId:i,enc:s,data:o,replay:a})=>{a!==!0&&eB(i),Xt(t,"output",{sessionId:i,enc:s,data:o,replay:a===!0})}),tB(i=>Xt(t,"statusState",kf())),ff("cwdChange",({sessionId:i,cwd:s})=>{let o=Ci.get(i);o&&s&&o.cwd!==s&&(o.cwd=s,sn(Ci)),Xt(t,"cwdChange",{sessionId:i,cwd:s})}),ff("sessionClosed",i=>{Ci.delete(i),cw(i),Xt(t,"sessionClosed",i),Xt(t,"notificationCleared",i)}));let r=()=>({version:JQ,remoteAvailable:Ic(),daemonMode:fw==="daemon"&&Nr(),platform:process.platform,updateAvailable:GP(),canSelfUpdate:!0,caps:{joinSessionSize:!0},...rD()}),n=()=>{let i=r();for(let s of t.sockets.sockets.values())s.data?.approved&&s.emit("serverInfo",i)};YP(n),pl._buildServerInfo=r,pl._emitServerInfo=n}function EB(){pl._emitServerInfo?.()}function RB(t){TB=t}async function CB(t,e,r){nD(),TB?.(),t.emit("serverInfo",pl._buildServerInfo?.()),xD(t,e,Ci,xB,bB,wB),RD(t,Ci),rB(t,e),Rm()&&await tD(t,r).catch(n=>{console.error("\u274C Failed to setup remote handlers:",n.message)}),t.on("disconnect",()=>{K2(t.id),iD()})}var yB,_B,pxe,hxe,fw,JQ,Ci,xB,bB,wB,TB,dg=ie(()=>{Ey();yB=require("path"),_B=require("url");pf();Cm();_i();Om();Dm();bD();CD();nB();gB();ug();uw();Pf();Ws();pxe=(0,yB.dirname)((0,_B.fileURLToPath)(__importMetaUrl)),hxe=vu.rgb(230,138,110),fw="daemon",JQ="2.3.2",Ci=new Map,xB=new Map,bB={},wB=[];TB=null});var If=P((mxe,PB)=>{"use strict";var QQ=require("path"),Ai="\\\\/",AB=`[^${Ai}]`,eee=0,ls="\\.",tee="\\+",ree="\\?",mg="\\/",nee="(?=.)",OB="[^/]",pw=`(?:${mg}|$)`,kB=`(?:^|${mg})`,hw=`${ls}{1,2}${pw}`,iee=`(?!${ls})`,see=`(?!${kB}${hw})`,oee=`(?!${ls}{0,1}${pw})`,aee=`(?!${hw})`,cee=`[^.${mg}]`,lee=`${OB}*?`,MB={DOT_LITERAL:ls,PLUS_LITERAL:tee,QMARK_LITERAL:ree,SLASH_LITERAL:mg,ONE_CHAR:nee,QMARK:OB,END_ANCHOR:pw,DOTS_SLASH:hw,NO_DOT:iee,NO_DOTS:see,NO_DOT_SLASH:oee,NO_DOTS_SLASH:aee,QMARK_NO_DOT:cee,STAR:lee,START_ANCHOR:kB},uee={...MB,SLASH_LITERAL:`[${Ai}]`,QMARK:AB,STAR:`${AB}*?`,DOTS_SLASH:`${ls}{1,2}(?:[${Ai}]|$)`,NO_DOT:`(?!${ls})`,NO_DOTS:`(?!(?:^|[${Ai}])${ls}{1,2}(?:[${Ai}]|$))`,NO_DOT_SLASH:`(?!${ls}{0,1}(?:[${Ai}]|$))`,NO_DOTS_SLASH:`(?!${ls}{1,2}(?:[${Ai}]|$))`,QMARK_NO_DOT:`[^.${Ai}]`,START_ANCHOR:`(?:^|[${Ai}])`,END_ANCHOR:`(?:[${Ai}]|$)`},fee={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};PB.exports={DEFAULT_MAX_EXTGLOB_RECURSION:eee,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:fee,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:QQ.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?uee:MB}}});var gg=P(Yr=>{"use strict";var pee=require("path"),hee=process.platform==="win32",{REGEX_BACKSLASH:dee,REGEX_REMOVE_BACKSLASH:mee,REGEX_SPECIAL_CHARS:gee,REGEX_SPECIAL_CHARS_GLOBAL:vee}=If();Yr.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Yr.hasRegexChars=t=>gee.test(t);Yr.isRegexChar=t=>t.length===1&&Yr.hasRegexChars(t);Yr.escapeRegex=t=>t.replace(vee,"\\$1");Yr.toPosixSlashes=t=>t.replace(dee,"/");Yr.removeBackslashes=t=>t.replace(mee,e=>e==="\\"?"":e);Yr.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Yr.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:hee===!0||pee.sep==="\\";Yr.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Yr.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Yr.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Yr.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",i=r.contains?"":"$",s=`${n}(?:${t})${i}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var qB=P((vxe,jB)=>{"use strict";var IB=gg(),{CHAR_ASTERISK:dw,CHAR_AT:yee,CHAR_BACKWARD_SLASH:Nf,CHAR_COMMA:_ee,CHAR_DOT:mw,CHAR_EXCLAMATION_MARK:gw,CHAR_FORWARD_SLASH:FB,CHAR_LEFT_CURLY_BRACE:vw,CHAR_LEFT_PARENTHESES:yw,CHAR_LEFT_SQUARE_BRACKET:xee,CHAR_PLUS:bee,CHAR_QUESTION_MARK:NB,CHAR_RIGHT_CURLY_BRACE:wee,CHAR_RIGHT_PARENTHESES:DB,CHAR_RIGHT_SQUARE_BRACKET:See}=If(),LB=t=>t===FB||t===Nf,BB=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},Eee=(t,e)=>{let r=e||{},n=t.length-1,i=r.parts===!0||r.scanToEnd===!0,s=[],o=[],a=[],c=t,l=-1,u=0,f=0,h=!1,d=!1,g=!1,y=!1,w=!1,A=!1,I=!1,L=!1,F=!1,W=!1,G=0,j,q,N={value:"",depth:0,isGlob:!1},R=()=>l>=n,p=()=>c.charCodeAt(l+1),v=()=>(j=q,c.charCodeAt(++l));for(;l<n;){q=v();let D;if(q===Nf){I=N.backslashes=!0,q=v(),q===vw&&(A=!0);continue}if(A===!0||q===vw){for(G++;R()!==!0&&(q=v());){if(q===Nf){I=N.backslashes=!0,v();continue}if(q===vw){G++;continue}if(A!==!0&&q===mw&&(q=v())===mw){if(h=N.isBrace=!0,g=N.isGlob=!0,W=!0,i===!0)continue;break}if(A!==!0&&q===_ee){if(h=N.isBrace=!0,g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===wee&&(G--,G===0)){A=!1,h=N.isBrace=!0,W=!0;break}}if(i===!0)continue;break}if(q===FB){if(s.push(l),o.push(N),N={value:"",depth:0,isGlob:!1},W===!0)continue;if(j===mw&&l===u+1){u+=2;continue}f=l+1;continue}if(r.noext!==!0&&(q===bee||q===yee||q===dw||q===NB||q===gw)===!0&&p()===yw){if(g=N.isGlob=!0,y=N.isExtglob=!0,W=!0,q===gw&&l===u&&(F=!0),i===!0){for(;R()!==!0&&(q=v());){if(q===Nf){I=N.backslashes=!0,q=v();continue}if(q===DB){g=N.isGlob=!0,W=!0;break}}continue}break}if(q===dw){if(j===dw&&(w=N.isGlobstar=!0),g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===NB){if(g=N.isGlob=!0,W=!0,i===!0)continue;break}if(q===xee){for(;R()!==!0&&(D=v());){if(D===Nf){I=N.backslashes=!0,v();continue}if(D===See){d=N.isBracket=!0,g=N.isGlob=!0,W=!0;break}}if(i===!0)continue;break}if(r.nonegate!==!0&&q===gw&&l===u){L=N.negated=!0,u++;continue}if(r.noparen!==!0&&q===yw){if(g=N.isGlob=!0,i===!0){for(;R()!==!0&&(q=v());){if(q===yw){I=N.backslashes=!0,q=v();continue}if(q===DB){W=!0;break}}continue}break}if(g===!0){if(W=!0,i===!0)continue;break}}r.noext===!0&&(y=!1,g=!1);let b=c,T="",x="";u>0&&(T=c.slice(0,u),c=c.slice(u),f-=u),b&&g===!0&&f>0?(b=c.slice(0,f),x=c.slice(f)):g===!0?(b="",x=c):b=c,b&&b!==""&&b!=="/"&&b!==c&&LB(b.charCodeAt(b.length-1))&&(b=b.slice(0,-1)),r.unescape===!0&&(x&&(x=IB.removeBackslashes(x)),b&&I===!0&&(b=IB.removeBackslashes(b)));let S={prefix:T,input:t,start:u,base:b,glob:x,isBrace:h,isBracket:d,isGlob:g,isExtglob:y,isGlobstar:w,negated:L,negatedExtglob:F};if(r.tokens===!0&&(S.maxDepth=0,LB(q)||o.push(N),S.tokens=o),r.parts===!0||r.tokens===!0){let D;for(let C=0;C<s.length;C++){let m=D?D+1:u,M=s[C],Q=t.slice(m,M);r.tokens&&(C===0&&u!==0?(o[C].isPrefix=!0,o[C].value=T):o[C].value=Q,BB(o[C]),S.maxDepth+=o[C].depth),(C!==0||Q!=="")&&a.push(Q),D=M}if(D&&D+1<t.length){let C=t.slice(D+1);a.push(C),r.tokens&&(o[o.length-1].value=C,BB(o[o.length-1]),S.maxDepth+=o[o.length-1].depth)}S.slashes=s,S.parts=a}return S};jB.exports=Eee});var zB=P((yxe,WB)=>{"use strict";var Df=If(),Ar=gg(),{MAX_LENGTH:vg,POSIX_REGEX_SOURCE:Tee,REGEX_NON_SPECIAL_CHARS:Ree,REGEX_SPECIAL_CHARS_BACKREF:Cee,REPLACEMENTS:UB}=Df,Aee=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(i=>Ar.escapeRegex(i)).join("..")}return r},hl=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,$B=t=>{let e=[],r=0,n=0,i=0,s="",o=!1;for(let a of t){if(o===!0){s+=a,o=!1;continue}if(a==="\\"){s+=a,o=!0;continue}if(a==='"'){i=i===1?0:1,s+=a;continue}if(i===0){if(a==="[")r++;else if(a==="]"&&r>0)r--;else if(r===0){if(a==="(")n++;else if(a===")"&&n>0)n--;else if(a==="|"&&n===0){e.push(s),s="";continue}}}s+=a}return e.push(s),e},Oee=t=>{let e=!1;for(let r of t){if(e===!0){e=!1;continue}if(r==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(r))return!1}return!0},HB=t=>{let e=t.trim(),r=!0;for(;r===!0;)r=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),r=!0);if(Oee(e))return e.replace(/\\(.)/g,"$1")},kee=t=>{let e=t.map(HB).filter(Boolean);for(let r=0;r<e.length;r++)for(let n=r+1;n<e.length;n++){let i=e[r],s=e[n],o=i[0];if(!(!o||i!==o.repeat(i.length)||s!==o.repeat(s.length))&&(i===s||i.startsWith(s)||s.startsWith(i)))return!0}return!1},_w=(t,e=!0)=>{if(t[0]!=="+"&&t[0]!=="*"||t[1]!=="(")return;let r=0,n=0,i=0,s=!1;for(let o=1;o<t.length;o++){let a=t[o];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){i=i===1?0:1;continue}if(i!==1){if(a==="["){r++;continue}if(a==="]"&&r>0){r--;continue}if(!(r>0)){if(a==="("){n++;continue}if(a===")"&&(n--,n===0))return e===!0&&o!==t.length-1?void 0:{type:t[0],body:t.slice(2,o),end:o}}}}},Mee=t=>{let e=0,r=[];for(;e<t.length;){let i=_w(t.slice(e),!1);if(!i||i.type!=="*")return;let s=$B(i.body).map(a=>a.trim());if(s.length!==1)return;let o=HB(s[0]);if(!o||o.length!==1)return;r.push(o),e+=i.end+1}return r.length<1?void 0:`${r.length===1?Ar.escapeRegex(r[0]):`[${r.map(i=>Ar.escapeRegex(i)).join("")}]`}*`},Pee=t=>{let e=0,r=t.trim(),n=_w(r);for(;n;)e++,r=n.body.trim(),n=_w(r);return e},Iee=(t,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let r=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:Df.DEFAULT_MAX_EXTGLOB_RECURSION,n=$B(t).map(i=>i.trim());if(n.length>1&&(n.some(i=>i==="")||n.some(i=>/^[*?]+$/.test(i))||kee(n)))return{risky:!0};for(let i of n){let s=Mee(i);if(s)return{risky:!0,safeOutput:s};if(Pee(i)>r)return{risky:!0}}return{risky:!1}},xw=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=UB[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(vg,r.maxLength):vg,i=t.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);let s={type:"bos",value:"",output:r.prepend||""},o=[s],a=r.capture?"":"?:",c=Ar.isWindows(e),l=Df.globChars(c),u=Df.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:h,SLASH_LITERAL:d,ONE_CHAR:g,DOTS_SLASH:y,NO_DOT:w,NO_DOT_SLASH:A,NO_DOTS_SLASH:I,QMARK:L,QMARK_NO_DOT:F,STAR:W,START_ANCHOR:G}=l,j=Y=>`(${a}(?:(?!${G}${Y.dot?y:f}).)*?)`,q=r.dot?"":w,N=r.dot?L:F,R=r.bash===!0?j(r):W;r.capture&&(R=`(${R})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let p={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=Ar.removePrefix(t,p),i=t.length;let v=[],b=[],T=[],x=s,S,D=()=>p.index===i-1,C=p.peek=(Y=1)=>t[p.index+Y],m=p.advance=()=>t[++p.index]||"",M=()=>t.slice(p.index+1),Q=(Y="",ve=0)=>{p.consumed+=Y,p.index+=ve},U=Y=>{p.output+=Y.output!=null?Y.output:Y.value,Q(Y.value)},V=()=>{let Y=1;for(;C()==="!"&&(C(2)!=="("||C(3)==="?");)m(),p.start++,Y++;return Y%2===0?!1:(p.negated=!0,p.start++,!0)},J=Y=>{p[Y]++,T.push(Y)},ne=Y=>{p[Y]--,T.pop()},te=Y=>{if(x.type==="globstar"){let ve=p.braces>0&&(Y.type==="comma"||Y.type==="brace"),Z=Y.extglob===!0||v.length&&(Y.type==="pipe"||Y.type==="paren");Y.type!=="slash"&&Y.type!=="paren"&&!ve&&!Z&&(p.output=p.output.slice(0,-x.output.length),x.type="star",x.value="*",x.output=R,p.output+=x.output)}if(v.length&&Y.type!=="paren"&&(v[v.length-1].inner+=Y.value),(Y.value||Y.output)&&U(Y),x&&x.type==="text"&&Y.type==="text"){x.value+=Y.value,x.output=(x.output||"")+Y.value;return}Y.prev=x,o.push(Y),x=Y},nt=(Y,ve)=>{let Z={...u[ve],conditions:1,inner:""};Z.prev=x,Z.parens=p.parens,Z.output=p.output,Z.startIndex=p.index,Z.tokensIndex=o.length;let se=(r.capture?"(":"")+Z.open;J("parens"),te({type:Y,value:ve,output:p.output?"":g}),te({type:"paren",extglob:!0,value:m(),output:se}),v.push(Z)},Se=Y=>{let ve=t.slice(Y.startIndex,p.index+1),Z=t.slice(Y.startIndex+2,p.index),se=Iee(Z,r);if((Y.type==="plus"||Y.type==="star")&&se.risky){let ue=se.safeOutput?(Y.output?"":g)+(r.capture?`(${se.safeOutput})`:se.safeOutput):void 0,vr=o[Y.tokensIndex];vr.type="text",vr.value=ve,vr.output=ue||Ar.escapeRegex(ve);for(let Me=Y.tokensIndex+1;Me<o.length;Me++)o[Me].value="",o[Me].output="",delete o[Me].suffix;p.output=Y.output+vr.output,p.backtrack=!0,te({type:"paren",extglob:!0,value:S,output:""}),ne("parens");return}let Re=Y.close+(r.capture?")":""),me;if(Y.type==="negate"){let ue=R;if(Y.inner&&Y.inner.length>1&&Y.inner.includes("/")&&(ue=j(r)),(ue!==R||D()||/^\)+$/.test(M()))&&(Re=Y.close=`)$))${ue}`),Y.inner.includes("*")&&(me=M())&&/^\.[^\\/.]+$/.test(me)){let vr=xw(me,{...e,fastpaths:!1}).output;Re=Y.close=`)${vr})${ue})`}Y.prev.type==="bos"&&(p.negatedExtglob=!0)}te({type:"paren",extglob:!0,value:S,output:Re}),ne("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let Y=!1,ve=t.replace(Cee,(Z,se,Re,me,ue,vr)=>me==="\\"?(Y=!0,Z):me==="?"?se?se+me+(ue?L.repeat(ue.length):""):vr===0?N+(ue?L.repeat(ue.length):""):L.repeat(Re.length):me==="."?f.repeat(Re.length):me==="*"?se?se+me+(ue?R:""):R:se?Z:`\\${Z}`);return Y===!0&&(r.unescape===!0?ve=ve.replace(/\\/g,""):ve=ve.replace(/\\+/g,Z=>Z.length%2===0?"\\\\":Z?"\\":"")),ve===t&&r.contains===!0?(p.output=t,p):(p.output=Ar.wrapOutput(ve,p,e),p)}for(;!D();){if(S=m(),S==="\0")continue;if(S==="\\"){let Z=C();if(Z==="/"&&r.bash!==!0||Z==="."||Z===";")continue;if(!Z){S+="\\",te({type:"text",value:S});continue}let se=/^\\+/.exec(M()),Re=0;if(se&&se[0].length>2&&(Re=se[0].length,p.index+=Re,Re%2!==0&&(S+="\\")),r.unescape===!0?S=m():S+=m(),p.brackets===0){te({type:"text",value:S});continue}}if(p.brackets>0&&(S!=="]"||x.value==="["||x.value==="[^")){if(r.posix!==!1&&S===":"){let Z=x.value.slice(1);if(Z.includes("[")&&(x.posix=!0,Z.includes(":"))){let se=x.value.lastIndexOf("["),Re=x.value.slice(0,se),me=x.value.slice(se+2),ue=Tee[me];if(ue){x.value=Re+ue,p.backtrack=!0,m(),!s.output&&o.indexOf(x)===1&&(s.output=g);continue}}}(S==="["&&C()!==":"||S==="-"&&C()==="]")&&(S=`\\${S}`),S==="]"&&(x.value==="["||x.value==="[^")&&(S=`\\${S}`),r.posix===!0&&S==="!"&&x.value==="["&&(S="^"),x.value+=S,U({value:S});continue}if(p.quotes===1&&S!=='"'){S=Ar.escapeRegex(S),x.value+=S,U({value:S});continue}if(S==='"'){p.quotes=p.quotes===1?0:1,r.keepQuotes===!0&&te({type:"text",value:S});continue}if(S==="("){J("parens"),te({type:"paren",value:S});continue}if(S===")"){if(p.parens===0&&r.strictBrackets===!0)throw new SyntaxError(hl("opening","("));let Z=v[v.length-1];if(Z&&p.parens===Z.parens+1){Se(v.pop());continue}te({type:"paren",value:S,output:p.parens?")":"\\)"}),ne("parens");continue}if(S==="["){if(r.nobracket===!0||!M().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(hl("closing","]"));S=`\\${S}`}else J("brackets");te({type:"bracket",value:S});continue}if(S==="]"){if(r.nobracket===!0||x&&x.type==="bracket"&&x.value.length===1){te({type:"text",value:S,output:`\\${S}`});continue}if(p.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(hl("opening","["));te({type:"text",value:S,output:`\\${S}`});continue}ne("brackets");let Z=x.value.slice(1);if(x.posix!==!0&&Z[0]==="^"&&!Z.includes("/")&&(S=`/${S}`),x.value+=S,U({value:S}),r.literalBrackets===!1||Ar.hasRegexChars(Z))continue;let se=Ar.escapeRegex(x.value);if(p.output=p.output.slice(0,-x.value.length),r.literalBrackets===!0){p.output+=se,x.value=se;continue}x.value=`(${a}${se}|${x.value})`,p.output+=x.value;continue}if(S==="{"&&r.nobrace!==!0){J("braces");let Z={type:"brace",value:S,output:"(",outputIndex:p.output.length,tokensIndex:p.tokens.length};b.push(Z),te(Z);continue}if(S==="}"){let Z=b[b.length-1];if(r.nobrace===!0||!Z){te({type:"text",value:S,output:S});continue}let se=")";if(Z.dots===!0){let Re=o.slice(),me=[];for(let ue=Re.length-1;ue>=0&&(o.pop(),Re[ue].type!=="brace");ue--)Re[ue].type!=="dots"&&me.unshift(Re[ue].value);se=Aee(me,r),p.backtrack=!0}if(Z.comma!==!0&&Z.dots!==!0){let Re=p.output.slice(0,Z.outputIndex),me=p.tokens.slice(Z.tokensIndex);Z.value=Z.output="\\{",S=se="\\}",p.output=Re;for(let ue of me)p.output+=ue.output||ue.value}te({type:"brace",value:S,output:se}),ne("braces"),b.pop();continue}if(S==="|"){v.length>0&&v[v.length-1].conditions++,te({type:"text",value:S});continue}if(S===","){let Z=S,se=b[b.length-1];se&&T[T.length-1]==="braces"&&(se.comma=!0,Z="|"),te({type:"comma",value:S,output:Z});continue}if(S==="/"){if(x.type==="dot"&&p.index===p.start+1){p.start=p.index+1,p.consumed="",p.output="",o.pop(),x=s;continue}te({type:"slash",value:S,output:d});continue}if(S==="."){if(p.braces>0&&x.type==="dot"){x.value==="."&&(x.output=f);let Z=b[b.length-1];x.type="dots",x.output+=S,x.value+=S,Z.dots=!0;continue}if(p.braces+p.parens===0&&x.type!=="bos"&&x.type!=="slash"){te({type:"text",value:S,output:f});continue}te({type:"dot",value:S,output:f});continue}if(S==="?"){if(!(x&&x.value==="(")&&r.noextglob!==!0&&C()==="("&&C(2)!=="?"){nt("qmark",S);continue}if(x&&x.type==="paren"){let se=C(),Re=S;if(se==="<"&&!Ar.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(x.value==="("&&!/[!=<:]/.test(se)||se==="<"&&!/<([!=]|\w+>)/.test(M()))&&(Re=`\\${S}`),te({type:"text",value:S,output:Re});continue}if(r.dot!==!0&&(x.type==="slash"||x.type==="bos")){te({type:"qmark",value:S,output:F});continue}te({type:"qmark",value:S,output:L});continue}if(S==="!"){if(r.noextglob!==!0&&C()==="("&&(C(2)!=="?"||!/[!=<:]/.test(C(3)))){nt("negate",S);continue}if(r.nonegate!==!0&&p.index===0){V();continue}}if(S==="+"){if(r.noextglob!==!0&&C()==="("&&C(2)!=="?"){nt("plus",S);continue}if(x&&x.value==="("||r.regex===!1){te({type:"plus",value:S,output:h});continue}if(x&&(x.type==="bracket"||x.type==="paren"||x.type==="brace")||p.parens>0){te({type:"plus",value:S});continue}te({type:"plus",value:h});continue}if(S==="@"){if(r.noextglob!==!0&&C()==="("&&C(2)!=="?"){te({type:"at",extglob:!0,value:S,output:""});continue}te({type:"text",value:S});continue}if(S!=="*"){(S==="$"||S==="^")&&(S=`\\${S}`);let Z=Ree.exec(M());Z&&(S+=Z[0],p.index+=Z[0].length),te({type:"text",value:S});continue}if(x&&(x.type==="globstar"||x.star===!0)){x.type="star",x.star=!0,x.value+=S,x.output=R,p.backtrack=!0,p.globstar=!0,Q(S);continue}let Y=M();if(r.noextglob!==!0&&/^\([^?]/.test(Y)){nt("star",S);continue}if(x.type==="star"){if(r.noglobstar===!0){Q(S);continue}let Z=x.prev,se=Z.prev,Re=Z.type==="slash"||Z.type==="bos",me=se&&(se.type==="star"||se.type==="globstar");if(r.bash===!0&&(!Re||Y[0]&&Y[0]!=="/")){te({type:"star",value:S,output:""});continue}let ue=p.braces>0&&(Z.type==="comma"||Z.type==="brace"),vr=v.length&&(Z.type==="pipe"||Z.type==="paren");if(!Re&&Z.type!=="paren"&&!ue&&!vr){te({type:"star",value:S,output:""});continue}for(;Y.slice(0,3)==="/**";){let Me=t[p.index+4];if(Me&&Me!=="/")break;Y=Y.slice(3),Q("/**",3)}if(Z.type==="bos"&&D()){x.type="globstar",x.value+=S,x.output=j(r),p.output=x.output,p.globstar=!0,Q(S);continue}if(Z.type==="slash"&&Z.prev.type!=="bos"&&!me&&D()){p.output=p.output.slice(0,-(Z.output+x.output).length),Z.output=`(?:${Z.output}`,x.type="globstar",x.output=j(r)+(r.strictSlashes?")":"|$)"),x.value+=S,p.globstar=!0,p.output+=Z.output+x.output,Q(S);continue}if(Z.type==="slash"&&Z.prev.type!=="bos"&&Y[0]==="/"){let Me=Y[1]!==void 0?"|$":"";p.output=p.output.slice(0,-(Z.output+x.output).length),Z.output=`(?:${Z.output}`,x.type="globstar",x.output=`${j(r)}${d}|${d}${Me})`,x.value+=S,p.output+=Z.output+x.output,p.globstar=!0,Q(S+m()),te({type:"slash",value:"/",output:""});continue}if(Z.type==="bos"&&Y[0]==="/"){x.type="globstar",x.value+=S,x.output=`(?:^|${d}|${j(r)}${d})`,p.output=x.output,p.globstar=!0,Q(S+m()),te({type:"slash",value:"/",output:""});continue}p.output=p.output.slice(0,-x.output.length),x.type="globstar",x.output=j(r),x.value+=S,p.output+=x.output,p.globstar=!0,Q(S);continue}let ve={type:"star",value:S,output:R};if(r.bash===!0){ve.output=".*?",(x.type==="bos"||x.type==="slash")&&(ve.output=q+ve.output),te(ve);continue}if(x&&(x.type==="bracket"||x.type==="paren")&&r.regex===!0){ve.output=S,te(ve);continue}(p.index===p.start||x.type==="slash"||x.type==="dot")&&(x.type==="dot"?(p.output+=A,x.output+=A):r.dot===!0?(p.output+=I,x.output+=I):(p.output+=q,x.output+=q),C()!=="*"&&(p.output+=g,x.output+=g)),te(ve)}for(;p.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing","]"));p.output=Ar.escapeLast(p.output,"["),ne("brackets")}for(;p.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing",")"));p.output=Ar.escapeLast(p.output,"("),ne("parens")}for(;p.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(hl("closing","}"));p.output=Ar.escapeLast(p.output,"{"),ne("braces")}if(r.strictSlashes!==!0&&(x.type==="star"||x.type==="bracket")&&te({type:"maybe_slash",value:"",output:`${d}?`}),p.backtrack===!0){p.output="";for(let Y of p.tokens)p.output+=Y.output!=null?Y.output:Y.value,Y.suffix&&(p.output+=Y.suffix)}return p};xw.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(vg,r.maxLength):vg,i=t.length;if(i>n)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${n}`);t=UB[t]||t;let s=Ar.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:h,STAR:d,START_ANCHOR:g}=Df.globChars(s),y=r.dot?f:u,w=r.dot?h:u,A=r.capture?"":"?:",I={negated:!1,prefix:""},L=r.bash===!0?".*?":d;r.capture&&(L=`(${L})`);let F=q=>q.noglobstar===!0?L:`(${A}(?:(?!${g}${q.dot?l:o}).)*?)`,W=q=>{switch(q){case"*":return`${y}${c}${L}`;case".*":return`${o}${c}${L}`;case"*.*":return`${y}${L}${o}${c}${L}`;case"*/*":return`${y}${L}${a}${c}${w}${L}`;case"**":return y+F(r);case"**/*":return`(?:${y}${F(r)}${a})?${w}${c}${L}`;case"**/*.*":return`(?:${y}${F(r)}${a})?${w}${L}${o}${c}${L}`;case"**/.*":return`(?:${y}${F(r)}${a})?${o}${c}${L}`;default:{let N=/^(.*?)\.(\w+)$/.exec(q);if(!N)return;let R=W(N[1]);return R?R+o+N[2]:void 0}}},G=Ar.removePrefix(t,I),j=W(G);return j&&r.strictSlashes!==!0&&(j+=`${a}?`),j};WB.exports=xw});var VB=P((_xe,GB)=>{"use strict";var Nee=require("path"),Dee=qB(),bw=zB(),ww=gg(),Lee=If(),Bee=t=>t&&typeof t=="object"&&!Array.isArray(t),Yt=(t,e,r=!1)=>{if(Array.isArray(t)){let u=t.map(h=>Yt(h,e,r));return h=>{for(let d of u){let g=d(h);if(g)return g}return!1}}let n=Bee(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let i=e||{},s=ww.isWindows(e),o=n?Yt.compileRe(t,e):Yt.makeRe(t,e,!1,!0),a=o.state;delete o.state;let c=()=>!1;if(i.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=Yt(i.ignore,u,r)}let l=(u,f=!1)=>{let{isMatch:h,match:d,output:g}=Yt.test(u,o,e,{glob:t,posix:s}),y={glob:t,state:a,regex:o,posix:s,input:u,output:g,match:d,isMatch:h};return typeof i.onResult=="function"&&i.onResult(y),h===!1?(y.isMatch=!1,f?y:!1):c(u)?(typeof i.onIgnore=="function"&&i.onIgnore(y),y.isMatch=!1,f?y:!1):(typeof i.onMatch=="function"&&i.onMatch(y),f?y:!0)};return r&&(l.state=a),l};Yt.test=(t,e,r,{glob:n,posix:i}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=r||{},o=s.format||(i?ww.toPosixSlashes:null),a=t===n,c=a&&o?o(t):t;return a===!1&&(c=o?o(t):t,a=c===n),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=Yt.matchBase(t,e,r,i):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};Yt.matchBase=(t,e,r,n=ww.isWindows(r))=>(e instanceof RegExp?e:Yt.makeRe(e,r)).test(Nee.basename(t));Yt.isMatch=(t,e,r)=>Yt(e,r)(t);Yt.parse=(t,e)=>Array.isArray(t)?t.map(r=>Yt.parse(r,e)):bw(t,{...e,fastpaths:!1});Yt.scan=(t,e)=>Dee(t,e);Yt.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let i=e||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let c=Yt.toRegex(a,e);return n===!0&&(c.state=t),c};Yt.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(i.output=bw.fastpaths(t,e)),i.output||(i=bw(t,e)),Yt.compileRe(i,e,r,n)};Yt.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Yt.constants=Lee;GB.exports=Yt});var Sw=P((xxe,KB)=>{"use strict";KB.exports=VB()});var rF=P((bxe,tF)=>{"use strict";var Bf=require("fs"),{Readable:Fee}=require("stream"),Lf=require("path"),{promisify:bg}=require("util"),Ew=Sw(),jee=bg(Bf.readdir),qee=bg(Bf.stat),YB=bg(Bf.lstat),Uee=bg(Bf.realpath),$ee="!",QB="READDIRP_RECURSIVE_ERROR",Hee=new Set(["ENOENT","EPERM","EACCES","ELOOP",QB]),Tw="files",eF="directories",_g="files_directories",yg="all",ZB=[Tw,eF,_g,yg],Wee=t=>Hee.has(t.code),[XB,zee]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),Gee=process.platform==="win32"&&(XB>10||XB===10&&zee>=5),JB=t=>{if(t!==void 0){if(typeof t=="function")return t;if(typeof t=="string"){let e=Ew(t.trim());return r=>e(r.basename)}if(Array.isArray(t)){let e=[],r=[];for(let n of t){let i=n.trim();i.charAt(0)===$ee?r.push(Ew(i.slice(1))):e.push(Ew(i))}return r.length>0?e.length>0?n=>e.some(i=>i(n.basename))&&!r.some(i=>i(n.basename)):n=>!r.some(i=>i(n.basename)):n=>e.some(i=>i(n.basename))}}},xg=class t extends Fee{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:Tw,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let r={...t.defaultOptions,...e},{root:n,type:i}=r;this._fileFilter=JB(r.fileFilter),this._directoryFilter=JB(r.directoryFilter);let s=r.lstat?YB:qee;Gee?this._stat=o=>s(o,{bigint:!0}):this._stat=s,this._maxDepth=r.depth,this._wantsDir=[eF,_g,yg].includes(i),this._wantsFile=[Tw,_g,yg].includes(i),this._wantsEverything=i===yg,this._root=Lf.resolve(n),this._isDirent="Dirent"in Bf&&!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:r,depth:n,files:i=[]}=this.parent||{};if(i.length>0){let s=i.splice(0,e).map(o=>this._formatEntry(o,r));for(let o of await Promise.all(s)){if(this.destroyed)return;let a=await this._getEntryType(o);a==="directory"&&this._directoryFilter(o)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(o.fullPath,n+1)),this._wantsDir&&(this.push(o),e--)):(a==="file"||this._includeAsFile(o))&&this._fileFilter(o)&&this._wantsFile&&(this.push(o),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(r){this.destroy(r)}finally{this.reading=!1}}}async _exploreDir(e,r){let n;try{n=await jee(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:r,path:e}}async _formatEntry(e,r){let n;try{let i=this._isDirent?e.name:e,s=Lf.resolve(Lf.join(r,i));n={path:Lf.relative(this._root,s),fullPath:s,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(i){this._onError(i)}return n}_onError(e){Wee(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let r=e&&e[this._statsProp];if(r){if(r.isFile())return"file";if(r.isDirectory())return"directory";if(r&&r.isSymbolicLink()){let n=e.fullPath;try{let i=await Uee(n),s=await YB(i);if(s.isFile())return"file";if(s.isDirectory()){let o=i.length;if(n.startsWith(i)&&n.substr(o,1)===Lf.sep){let a=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return a.code=QB,this._onError(a)}return"directory"}}catch(i){this._onError(i)}}}}_includeAsFile(e){let r=e&&e[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}},dl=(t,e={})=>{let r=e.entryType||e.type;if(r==="both"&&(r=_g),r&&(e.type=r),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!ZB.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${ZB.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new xg(e)},Vee=(t,e={})=>new Promise((r,n)=>{let i=[];dl(t,e).on("data",s=>i.push(s)).on("end",()=>r(i)).on("error",s=>n(s))});dl.promise=Vee;dl.ReaddirpStream=xg;dl.default=dl;tF.exports=dl});var ml=P((wxe,nF)=>{nF.exports=function(t,e){if(typeof t!="string")throw new TypeError("expected path to be a string");if(t==="\\"||t==="/")return"/";var r=t.length;if(r<=1)return t;var n="";if(r>4&&t[3]==="\\"){var i=t[2];(i==="?"||i===".")&&t.slice(0,2)==="\\\\"&&(t=t.slice(2),n="//")}var s=t.split(/[/\\]+/);return e!==!1&&s[s.length-1]===""&&s.pop(),n+s.join("/")}});var lF=P((aF,cF)=>{"use strict";Object.defineProperty(aF,"__esModule",{value:!0});var oF=Sw(),Kee=ml(),iF="!",Yee={returnIndex:!1},Zee=t=>Array.isArray(t)?t:[t],Xee=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let r=oF(t,e);return n=>t===n||r(n)}return t instanceof RegExp?r=>t.test(r):r=>!1},sF=(t,e,r,n)=>{let i=Array.isArray(r),s=i?r[0]:r;if(!i&&typeof s!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(s));let o=Kee(s,!1);for(let c=0;c<e.length;c++){let l=e[c];if(l(o))return n?-1:!1}let a=i&&[o].concat(r.slice(1));for(let c=0;c<t.length;c++){let l=t[c];if(i?l(...a):l(o))return n?c:!0}return n?-1:!1},Rw=(t,e,r=Yee)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let n=typeof r=="boolean"?{returnIndex:r}:r,i=n.returnIndex||!1,s=Zee(t),o=s.filter(c=>typeof c=="string"&&c.charAt(0)===iF).map(c=>c.slice(1)).map(c=>oF(c,n)),a=s.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==iF).map(c=>Xee(c,n));return e==null?(c,l=!1)=>sF(a,o,c,typeof l=="boolean"?l:!1):sF(a,o,e,i)};Rw.default=Rw;cF.exports=Rw});var fF=P((Sxe,uF)=>{uF.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Cw=P((Exe,hF)=>{var Jee=fF(),pF={"{":"}","(":")","[":"]"},Qee=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,n=-2,i=-2,s=-2,o=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||n!==-1&&t[e]==="["&&t[e+1]!=="]"&&(n<e&&(n=t.indexOf("]",e)),n>e&&(o===-1||o>n||(o=t.indexOf("\\",e),o===-1||o>n)))||i!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(i=t.indexOf("}",e),i>e&&(o=t.indexOf("\\",e),o===-1||o>i))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(r<e&&(r=t.indexOf("|",e)),r!==-1&&t[r+1]!==")"&&(s=t.indexOf(")",r),s>r&&(o=t.indexOf("\\",r),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var c=pF[a];if(c){var l=t.indexOf(c,e);l!==-1&&(e=l+1)}if(t[e]==="!")return!0}else e++}return!1},ete=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var r=t[e+1];e+=2;var n=pF[r];if(n){var i=t.indexOf(n,e);i!==-1&&(e=i+1)}if(t[e]==="!")return!0}else e++}return!1};hF.exports=function(e,r){if(typeof e!="string"||e==="")return!1;if(Jee(e))return!0;var n=Qee;return r&&r.strict===!1&&(n=ete),n(e)}});var mF=P((Txe,dF)=>{"use strict";var tte=Cw(),rte=require("path").posix.dirname,nte=require("os").platform()==="win32",Aw="/",ite=/\\/g,ste=/[\{\[].*[\}\]]$/,ote=/(^|[^\\])([\{\[]|\([^\)]+$)/,ate=/\\([\!\*\?\|\[\]\(\)\{\}])/g;dF.exports=function(e,r){var n=Object.assign({flipBackslashes:!0},r);n.flipBackslashes&&nte&&e.indexOf(Aw)<0&&(e=e.replace(ite,Aw)),ste.test(e)&&(e+=Aw),e+="a";do e=rte(e);while(tte(e)||ote.test(e));return e.replace(ate,"$1")}});var wg=P(jn=>{"use strict";jn.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;jn.find=(t,e)=>t.nodes.find(r=>r.type===e);jn.exceedsLimit=(t,e,r=1,n)=>n===!1||!jn.isInteger(t)||!jn.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=n;jn.escapeNode=(t,e=0,r)=>{let n=t.nodes[e];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};jn.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;jn.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;jn.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;jn.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);jn.flatten=(...t)=>{let e=[],r=n=>{for(let i=0;i<n.length;i++){let s=n[i];if(Array.isArray(s)){r(s);continue}s!==void 0&&e.push(s)}return e};return r(t),e}});var Sg=P((Cxe,vF)=>{"use strict";var gF=wg();vF.exports=(t,e={})=>{let r=(n,i={})=>{let s=e.escapeInvalid&&gF.isInvalidBrace(i),o=n.invalid===!0&&e.escapeInvalid===!0,a="";if(n.value)return(s||o)&&gF.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let c of n.nodes)a+=r(c);return a};return r(t)}});var _F=P((Axe,yF)=>{"use strict";yF.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var AF=P((Oxe,CF)=>{"use strict";var xF=_F(),na=(t,e,r)=>{if(xF(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(xF(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let i=String(n.relaxZeros),s=String(n.shorthand),o=String(n.capture),a=String(n.wrap),c=t+":"+e+"="+i+s+o+a;if(na.cache.hasOwnProperty(c))return na.cache[c].result;let l=Math.min(t,e),u=Math.max(t,e);if(Math.abs(l-u)===1){let y=t+"|"+e;return n.capture?`(${y})`:n.wrap===!1?y:`(?:${y})`}let f=RF(t)||RF(e),h={min:t,max:e,a:l,b:u},d=[],g=[];if(f&&(h.isPadded=f,h.maxLen=String(h.max).length),l<0){let y=u<0?Math.abs(u):1;g=bF(y,Math.abs(l),h,n),l=h.a=0}return u>=0&&(d=bF(l,u,h,n)),h.negatives=g,h.positives=d,h.result=cte(g,d,n),n.capture===!0?h.result=`(${h.result})`:n.wrap!==!1&&d.length+g.length>1&&(h.result=`(?:${h.result})`),na.cache[c]=h,h.result};function cte(t,e,r){let n=Ow(t,e,"-",!1,r)||[],i=Ow(e,t,"",!1,r)||[],s=Ow(t,e,"-?",!0,r)||[];return n.concat(s).concat(i).join("|")}function lte(t,e){let r=1,n=1,i=SF(t,r),s=new Set([e]);for(;t<=i&&i<=e;)s.add(i),r+=1,i=SF(t,r);for(i=EF(e+1,n)-1;t<i&&i<=e;)s.add(i),n+=1,i=EF(e+1,n)-1;return s=[...s],s.sort(pte),s}function ute(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let n=fte(t,e),i=n.length,s="",o=0;for(let a=0;a<i;a++){let[c,l]=n[a];c===l?s+=c:c!=="0"||l!=="9"?s+=hte(c,l,r):o++}return o&&(s+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[o],digits:i}}function bF(t,e,r,n){let i=lte(t,e),s=[],o=t,a;for(let c=0;c<i.length;c++){let l=i[c],u=ute(String(o),String(l),n),f="";if(!r.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+TF(a.count),o=l+1;continue}r.isPadded&&(f=dte(l,r,n)),u.string=f+u.pattern+TF(u.count),s.push(u),o=l+1,a=u}return s}function Ow(t,e,r,n,i){let s=[];for(let o of t){let{string:a}=o;!n&&!wF(e,"string",a)&&s.push(r+a),n&&wF(e,"string",a)&&s.push(r+a)}return s}function fte(t,e){let r=[];for(let n=0;n<t.length;n++)r.push([t[n],e[n]]);return r}function pte(t,e){return t>e?1:e>t?-1:0}function wF(t,e,r){return t.some(n=>n[e]===r)}function SF(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function EF(t,e){return t-t%Math.pow(10,e)}function TF(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function hte(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function RF(t){return/^-?(0+)\d/.test(t)}function dte(t,e,r){if(!e.isPadded)return t;let n=Math.abs(e.maxLen-String(t).length),i=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:return i?`0{0,${n}}`:`0{${n}}`}}na.cache={};na.clearCache=()=>na.cache={};CF.exports=na});var Pw=P((kxe,DF)=>{"use strict";var mte=require("util"),kF=AF(),OF=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),gte=t=>e=>t===!0?Number(e):String(e),kw=t=>typeof t=="number"||typeof t=="string"&&t!=="",Ff=t=>Number.isInteger(+t),Mw=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},vte=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,yte=(t,e,r)=>{if(e>0){let n=t[0]==="-"?"-":"";n&&(t=t.slice(1)),t=n+t.padStart(n?e-1:e,"0")}return r===!1?String(t):t},Tg=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},_te=(t,e,r)=>{t.negatives.sort((a,c)=>a<c?-1:a>c?1:0),t.positives.sort((a,c)=>a<c?-1:a>c?1:0);let n=e.capture?"":"?:",i="",s="",o;return t.positives.length&&(i=t.positives.map(a=>Tg(String(a),r)).join("|")),t.negatives.length&&(s=`-(${n}${t.negatives.map(a=>Tg(String(a),r)).join("|")})`),i&&s?o=`${i}|${s}`:o=i||s,e.wrap?`(${n}${o})`:o},MF=(t,e,r,n)=>{if(r)return kF(t,e,{wrap:!1,...n});let i=String.fromCharCode(t);if(t===e)return i;let s=String.fromCharCode(e);return`[${i}-${s}]`},PF=(t,e,r)=>{if(Array.isArray(t)){let n=r.wrap===!0,i=r.capture?"":"?:";return n?`(${i}${t.join("|")})`:t.join("|")}return kF(t,e,r)},IF=(...t)=>new RangeError("Invalid range arguments: "+mte.inspect(...t)),NF=(t,e,r)=>{if(r.strictRanges===!0)throw IF([t,e]);return[]},xte=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},bte=(t,e,r=1,n={})=>{let i=Number(t),s=Number(e);if(!Number.isInteger(i)||!Number.isInteger(s)){if(n.strictRanges===!0)throw IF([t,e]);return[]}i===0&&(i=0),s===0&&(s=0);let o=i>s,a=String(t),c=String(e),l=String(r);r=Math.max(Math.abs(r),1);let u=Mw(a)||Mw(c)||Mw(l),f=u?Math.max(a.length,c.length,l.length):0,h=u===!1&&vte(t,e,n)===!1,d=n.transform||gte(h);if(n.toRegex&&r===1)return MF(Tg(t,f),Tg(e,f),!0,n);let g={negatives:[],positives:[]},y=I=>g[I<0?"negatives":"positives"].push(Math.abs(I)),w=[],A=0;for(;o?i>=s:i<=s;)n.toRegex===!0&&r>1?y(i):w.push(yte(d(i,A),f,h)),i=o?i-r:i+r,A++;return n.toRegex===!0?r>1?_te(g,n,f):PF(w,null,{wrap:!1,...n}):w},wte=(t,e,r=1,n={})=>{if(!Ff(t)&&t.length>1||!Ff(e)&&e.length>1)return NF(t,e,n);let i=n.transform||(h=>String.fromCharCode(h)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,c=Math.min(s,o),l=Math.max(s,o);if(n.toRegex&&r===1)return MF(c,l,!1,n);let u=[],f=0;for(;a?s>=o:s<=o;)u.push(i(s,f)),s=a?s-r:s+r,f++;return n.toRegex===!0?PF(u,null,{wrap:!1,options:n}):u},Eg=(t,e,r,n={})=>{if(e==null&&kw(t))return[t];if(!kw(t)||!kw(e))return NF(t,e,n);if(typeof r=="function")return Eg(t,e,1,{transform:r});if(OF(r))return Eg(t,e,0,r);let i={...n};return i.capture===!0&&(i.wrap=!0),r=r||i.step||1,Ff(r)?Ff(t)&&Ff(e)?bte(t,e,r,i):wte(t,e,Math.max(Math.abs(r),1),i):r!=null&&!OF(r)?xte(r,i):Eg(t,e,1,r)};DF.exports=Eg});var FF=P((Mxe,BF)=>{"use strict";var Ste=Pw(),LF=wg(),Ete=(t,e={})=>{let r=(n,i={})=>{let s=LF.isInvalidBrace(i),o=n.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,c=e.escapeInvalid===!0?"\\":"",l="";if(n.isOpen===!0)return c+n.value;if(n.isClose===!0)return console.log("node.isClose",c,n.value),c+n.value;if(n.type==="open")return a?c+n.value:"(";if(n.type==="close")return a?c+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":a?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let u=LF.reduce(n.nodes),f=Ste(...u,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(f.length!==0)return u.length>1&&f.length>1?`(${f})`:f}if(n.nodes)for(let u of n.nodes)l+=r(u,n);return l};return r(t)};BF.exports=Ete});var UF=P((Pxe,qF)=>{"use strict";var Tte=Pw(),jF=Sg(),gl=wg(),ia=(t="",e="",r=!1)=>{let n=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?gl.flatten(e).map(i=>`{${i}}`):e;for(let i of t)if(Array.isArray(i))for(let s of i)n.push(ia(s,e,r));else for(let s of e)r===!0&&typeof s=="string"&&(s=`{${s}}`),n.push(Array.isArray(s)?ia(i,s,r):i+s);return gl.flatten(n)},Rte=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,n=(i,s={})=>{i.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(i.invalid||i.dollar){a.push(ia(a.pop(),jF(i,e)));return}if(i.type==="brace"&&i.invalid!==!0&&i.nodes.length===2){a.push(ia(a.pop(),["{}"]));return}if(i.nodes&&i.ranges>0){let f=gl.reduce(i.nodes);if(gl.exceedsLimit(...f,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let h=Tte(...f,e);h.length===0&&(h=jF(i,e)),a.push(ia(a.pop(),h)),i.nodes=[];return}let c=gl.encloseBrace(i),l=i.queue,u=i;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,l=u.queue;for(let f=0;f<i.nodes.length;f++){let h=i.nodes[f];if(h.type==="comma"&&i.type==="brace"){f===1&&l.push(""),l.push("");continue}if(h.type==="close"){a.push(ia(a.pop(),l,c));continue}if(h.value&&h.type!=="open"){l.push(ia(l.pop(),h.value));continue}h.nodes&&n(h,i)}return l};return gl.flatten(n(t))};qF.exports=Rte});var HF=P((Ixe,$F)=>{"use strict";$F.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
205
205
|
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var KF=P((Nxe,VF)=>{"use strict";var Cte=Sg(),{MAX_LENGTH:WF,CHAR_BACKSLASH:Iw,CHAR_BACKTICK:Ate,CHAR_COMMA:Ote,CHAR_DOT:kte,CHAR_LEFT_PARENTHESES:Mte,CHAR_RIGHT_PARENTHESES:Pte,CHAR_LEFT_CURLY_BRACE:Ite,CHAR_RIGHT_CURLY_BRACE:Nte,CHAR_LEFT_SQUARE_BRACKET:zF,CHAR_RIGHT_SQUARE_BRACKET:GF,CHAR_DOUBLE_QUOTE:Dte,CHAR_SINGLE_QUOTE:Lte,CHAR_NO_BREAK_SPACE:Bte,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Fte}=HF(),jte=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},n=typeof r.maxLength=="number"?Math.min(WF,r.maxLength):WF;if(t.length>n)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${n})`);let i={type:"root",input:t,nodes:[]},s=[i],o=i,a=i,c=0,l=t.length,u=0,f=0,h,d=()=>t[u++],g=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(g({type:"bos"});u<l;)if(o=s[s.length-1],h=d(),!(h===Fte||h===Bte)){if(h===Iw){g({type:"text",value:(e.keepEscaping?h:"")+d()});continue}if(h===GF){g({type:"text",value:"\\"+h});continue}if(h===zF){c++;let y;for(;u<l&&(y=d());){if(h+=y,y===zF){c++;continue}if(y===Iw){h+=d();continue}if(y===GF&&(c--,c===0))break}g({type:"text",value:h});continue}if(h===Mte){o=g({type:"paren",nodes:[]}),s.push(o),g({type:"text",value:h});continue}if(h===Pte){if(o.type!=="paren"){g({type:"text",value:h});continue}o=s.pop(),g({type:"text",value:h}),o=s[s.length-1];continue}if(h===Dte||h===Lte||h===Ate){let y=h,w;for(e.keepQuotes!==!0&&(h="");u<l&&(w=d());){if(w===Iw){h+=w+d();continue}if(w===y){e.keepQuotes===!0&&(h+=w);break}h+=w}g({type:"text",value:h});continue}if(h===Ite){f++;let w={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||o.dollar===!0,depth:f,commas:0,ranges:0,nodes:[]};o=g(w),s.push(o),g({type:"open",value:h});continue}if(h===Nte){if(o.type!=="brace"){g({type:"text",value:h});continue}let y="close";o=s.pop(),o.close=!0,g({type:y,value:h}),f--,o=s[s.length-1];continue}if(h===Ote&&f>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:Cte(o)}]}g({type:"comma",value:h}),o.commas++;continue}if(h===kte&&f>0&&o.commas===0){let y=o.nodes;if(f===0||y.length===0){g({type:"text",value:h});continue}if(a.type==="dot"){if(o.range=[],a.value+=h,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let w=y[y.length-1];w.value+=a.value+h,a=w,o.ranges--;continue}g({type:"dot",value:h});continue}g({type:"text",value:h})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(A=>{A.nodes||(A.type==="open"&&(A.isOpen=!0),A.type==="close"&&(A.isClose=!0),A.nodes||(A.type="text"),A.invalid=!0)});let y=s[s.length-1],w=y.nodes.indexOf(o);y.nodes.splice(w,1,...o.nodes)}while(s.length>0);return g({type:"eos"}),i};VF.exports=jte});var XF=P((Dxe,ZF)=>{"use strict";var YF=Sg(),qte=FF(),Ute=UF(),$te=KF(),ln=(t,e={})=>{let r=[];if(Array.isArray(t))for(let n of t){let i=ln.create(n,e);Array.isArray(i)?r.push(...i):r.push(i)}else r=[].concat(ln.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};ln.parse=(t,e={})=>$te(t,e);ln.stringify=(t,e={})=>YF(typeof t=="string"?ln.parse(t,e):t,e);ln.compile=(t,e={})=>(typeof t=="string"&&(t=ln.parse(t,e)),qte(t,e));ln.expand=(t,e={})=>{typeof t=="string"&&(t=ln.parse(t,e));let r=Ute(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};ln.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?ln.compile(t,e):ln.expand(t,e);ZF.exports=ln});var JF=P((Lxe,Hte)=>{Hte.exports=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]});var ej=P((Bxe,QF)=>{QF.exports=JF()});var rj=P((Fxe,tj)=>{"use strict";var Wte=require("path"),zte=ej(),Gte=new Set(zte);tj.exports=t=>Gte.has(Wte.extname(t).slice(1).toLowerCase())});var Rg=P(le=>{"use strict";var{sep:Vte}=require("path"),{platform:Nw}=process,Kte=require("os");le.EV_ALL="all";le.EV_READY="ready";le.EV_ADD="add";le.EV_CHANGE="change";le.EV_ADD_DIR="addDir";le.EV_UNLINK="unlink";le.EV_UNLINK_DIR="unlinkDir";le.EV_RAW="raw";le.EV_ERROR="error";le.STR_DATA="data";le.STR_END="end";le.STR_CLOSE="close";le.FSEVENT_CREATED="created";le.FSEVENT_MODIFIED="modified";le.FSEVENT_DELETED="deleted";le.FSEVENT_MOVED="moved";le.FSEVENT_CLONED="cloned";le.FSEVENT_UNKNOWN="unknown";le.FSEVENT_FLAG_MUST_SCAN_SUBDIRS=1;le.FSEVENT_TYPE_FILE="file";le.FSEVENT_TYPE_DIRECTORY="directory";le.FSEVENT_TYPE_SYMLINK="symlink";le.KEY_LISTENERS="listeners";le.KEY_ERR="errHandlers";le.KEY_RAW="rawEmitters";le.HANDLER_KEYS=[le.KEY_LISTENERS,le.KEY_ERR,le.KEY_RAW];le.DOT_SLASH=`.${Vte}`;le.BACK_SLASH_RE=/\\/g;le.DOUBLE_SLASH_RE=/\/\//;le.SLASH_OR_BACK_SLASH_RE=/[/\\]/;le.DOT_RE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/;le.REPLACER_RE=/^\.[/\\]/;le.SLASH="/";le.SLASH_SLASH="//";le.BRACE_START="{";le.BANG="!";le.ONE_DOT=".";le.TWO_DOTS="..";le.STAR="*";le.GLOBSTAR="**";le.ROOT_GLOBSTAR="/**/*";le.SLASH_GLOBSTAR="/**";le.DIR_SUFFIX="Dir";le.ANYMATCH_OPTS={dot:!0};le.STRING_TYPE="string";le.FUNCTION_TYPE="function";le.EMPTY_STR="";le.EMPTY_FN=()=>{};le.IDENTITY_FN=t=>t;le.isWindows=Nw==="win32";le.isMacos=Nw==="darwin";le.isLinux=Nw==="linux";le.isIBMi=Kte.type()==="OS400"});var cj=P((qxe,aj)=>{"use strict";var us=require("fs"),dr=require("path"),{promisify:$f}=require("util"),Yte=rj(),{isWindows:Zte,isLinux:Xte,EMPTY_FN:Jte,EMPTY_STR:Qte,KEY_LISTENERS:vl,KEY_ERR:Dw,KEY_RAW:jf,HANDLER_KEYS:ere,EV_CHANGE:Ag,EV_ADD:Cg,EV_ADD_DIR:tre,EV_ERROR:ij,STR_DATA:rre,STR_END:nre,BRACE_START:ire,STAR:sre}=Rg(),ore="watch",are=$f(us.open),sj=$f(us.stat),cre=$f(us.lstat),lre=$f(us.close),Lw=$f(us.realpath),ure={lstat:cre,stat:sj},Fw=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},qf=(t,e,r)=>{let n=t[e];n instanceof Set||(t[e]=n=new Set([n])),n.add(r)},fre=t=>e=>{let r=t[e];r instanceof Set?r.clear():delete t[e]},Uf=(t,e,r)=>{let n=t[e];n instanceof Set?n.delete(r):n===r&&delete t[e]},oj=t=>t instanceof Set?t.size===0:!t,Og=new Map;function nj(t,e,r,n,i){let s=(o,a)=>{r(t),i(o,a,{watchedPath:t}),a&&t!==a&&kg(dr.resolve(t,a),vl,dr.join(t,a))};try{return us.watch(t,e,s)}catch(o){n(o)}}var kg=(t,e,r,n,i)=>{let s=Og.get(t);s&&Fw(s[e],o=>{o(r,n,i)})},pre=(t,e,r,n)=>{let{listener:i,errHandler:s,rawEmitter:o}=n,a=Og.get(e),c;if(!r.persistent)return c=nj(t,r,i,s,o),c.close.bind(c);if(a)qf(a,vl,i),qf(a,Dw,s),qf(a,jf,o);else{if(c=nj(t,r,kg.bind(null,e,vl),s,kg.bind(null,e,jf)),!c)return;c.on(ij,async l=>{let u=kg.bind(null,e,Dw);if(a.watcherUnusable=!0,Zte&&l.code==="EPERM")try{let f=await are(t,"r");await lre(f),u(l)}catch{}else u(l)}),a={listeners:i,errHandlers:s,rawEmitters:o,watcher:c},Og.set(e,a)}return()=>{Uf(a,vl,i),Uf(a,Dw,s),Uf(a,jf,o),oj(a.listeners)&&(a.watcher.close(),Og.delete(e),ere.forEach(fre(a)),a.watcher=void 0,Object.freeze(a))}},Bw=new Map,hre=(t,e,r,n)=>{let{listener:i,rawEmitter:s}=n,o=Bw.get(e),a=new Set,c=new Set,l=o&&o.options;return l&&(l.persistent<r.persistent||l.interval>r.interval)&&(a=o.listeners,c=o.rawEmitters,us.unwatchFile(e),o=void 0),o?(qf(o,vl,i),qf(o,jf,s)):(o={listeners:i,rawEmitters:s,options:r,watcher:us.watchFile(e,r,(u,f)=>{Fw(o.rawEmitters,d=>{d(Ag,e,{curr:u,prev:f})});let h=u.mtimeMs;(u.size!==f.size||h>f.mtimeMs||h===0)&&Fw(o.listeners,d=>d(t,u))})},Bw.set(e,o)),()=>{Uf(o,vl,i),Uf(o,jf,s),oj(o.listeners)&&(Bw.delete(e),us.unwatchFile(e),o.options=o.watcher=void 0,Object.freeze(o))}},jw=class{constructor(e){this.fsw=e,this._boundHandleError=r=>e._handleError(r)}_watchWithNodeFs(e,r){let n=this.fsw.options,i=dr.dirname(e),s=dr.basename(e);this.fsw._getWatchedDir(i).add(s);let a=dr.resolve(e),c={persistent:n.persistent};r||(r=Jte);let l;return n.usePolling?(c.interval=n.enableBinaryInterval&&Yte(s)?n.binaryInterval:n.interval,l=hre(e,a,c,{listener:r,rawEmitter:this.fsw._emitRaw})):l=pre(e,a,c,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),l}_handleFile(e,r,n){if(this.fsw.closed)return;let i=dr.dirname(e),s=dr.basename(e),o=this.fsw._getWatchedDir(i),a=r;if(o.has(s))return;let c=async(u,f)=>{if(this.fsw._throttle(ore,e,5)){if(!f||f.mtimeMs===0)try{let h=await sj(e);if(this.fsw.closed)return;let d=h.atimeMs,g=h.mtimeMs;(!d||d<=g||g!==a.mtimeMs)&&this.fsw._emit(Ag,e,h),Xte&&a.ino!==h.ino?(this.fsw._closeFile(u),a=h,this.fsw._addPathCloser(u,this._watchWithNodeFs(e,c))):a=h}catch{this.fsw._remove(i,s)}else if(o.has(s)){let h=f.atimeMs,d=f.mtimeMs;(!h||h<=d||d!==a.mtimeMs)&&this.fsw._emit(Ag,e,f),a=f}}},l=this._watchWithNodeFs(e,c);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Cg,e,0))return;this.fsw._emit(Cg,e,r)}return l}async _handleSymlink(e,r,n,i){if(this.fsw.closed)return;let s=e.fullPath,o=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await Lw(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(i)?this.fsw._symlinkPaths.get(s)!==a&&(this.fsw._symlinkPaths.set(s,a),this.fsw._emit(Ag,n,e.stats)):(o.add(i),this.fsw._symlinkPaths.set(s,a),this.fsw._emit(Cg,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(s))return!0;this.fsw._symlinkPaths.set(s,!0)}_handleRead(e,r,n,i,s,o,a){if(e=dr.join(e,Qte),!n.hasGlob&&(a=this.fsw._throttle("readdir",e,1e3),!a))return;let c=this.fsw._getWatchedDir(n.path),l=new Set,u=this.fsw._readdirp(e,{fileFilter:f=>n.filterPath(f),directoryFilter:f=>n.filterDir(f),depth:0}).on(rre,async f=>{if(this.fsw.closed){u=void 0;return}let h=f.path,d=dr.join(e,h);if(l.add(h),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,e,d,h))){if(this.fsw.closed){u=void 0;return}(h===i||!i&&!c.has(h))&&(this.fsw._incrReadyCount(),d=dr.join(s,dr.relative(s,d)),this._addToNodeFs(d,r,n,o+1))}}).on(ij,this._boundHandleError);return new Promise(f=>u.once(nre,()=>{if(this.fsw.closed){u=void 0;return}let h=a?a.clear():!1;f(),c.getChildren().filter(d=>d!==e&&!l.has(d)&&(!n.hasGlob||n.filterPath({fullPath:dr.resolve(e,d)}))).forEach(d=>{this.fsw._remove(e,d)}),u=void 0,h&&this._handleRead(e,!1,n,i,s,o,a)}))}async _handleDir(e,r,n,i,s,o,a){let c=this.fsw._getWatchedDir(dr.dirname(e)),l=c.has(dr.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!s&&!l&&(!o.hasGlob||o.globFilter(e))&&this.fsw._emit(tre,e,r),c.add(dr.basename(e)),this.fsw._getWatchedDir(e);let u,f,h=this.fsw.options.depth;if((h==null||i<=h)&&!this.fsw._symlinkPaths.has(a)){if(!s&&(await this._handleRead(e,n,o,s,e,i,u),this.fsw.closed))return;f=this._watchWithNodeFs(e,(d,g)=>{g&&g.mtimeMs===0||this._handleRead(d,!1,o,s,e,i,u)})}return f}async _addToNodeFs(e,r,n,i,s){let o=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(e,i);!a.hasGlob&&n&&(a.hasGlob=n.hasGlob,a.globFilter=n.globFilter,a.filterPath=c=>n.filterPath(c),a.filterDir=c=>n.filterDir(c));try{let c=await ure[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let l=this.fsw.options.followSymlinks&&!e.includes(sre)&&!e.includes(ire),u;if(c.isDirectory()){let f=dr.resolve(e),h=l?await Lw(e):e;if(this.fsw.closed||(u=await this._handleDir(a.watchPath,c,r,i,s,a,h),this.fsw.closed))return;f!==h&&h!==void 0&&this.fsw._symlinkPaths.set(f,h)}else if(c.isSymbolicLink()){let f=l?await Lw(e):e;if(this.fsw.closed)return;let h=dr.dirname(a.watchPath);if(this.fsw._getWatchedDir(h).add(a.watchPath),this.fsw._emit(Cg,a.watchPath,c),u=await this._handleDir(h,c,r,i,e,a,f),this.fsw.closed)return;f!==void 0&&this.fsw._symlinkPaths.set(dr.resolve(e),f)}else u=this._handleFile(a.watchPath,c,r);return o(),this.fsw._addPathCloser(e,u),!1}catch(c){if(this.fsw._handleError(c))return o(),e}}};aj.exports=jw});var mj=P((Uxe,Vw)=>{"use strict";var zw=require("fs"),mr=require("path"),{promisify:Gw}=require("util"),yl;try{yl=require("fsevents")}catch(t){process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR&&console.error(t)}if(yl){let t=process.version.match(/v(\d+)\.(\d+)/);if(t&&t[1]&&t[2]){let e=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10);e===8&&r<16&&(yl=void 0)}}var{EV_ADD:qw,EV_CHANGE:dre,EV_ADD_DIR:lj,EV_UNLINK:Mg,EV_ERROR:mre,STR_DATA:gre,STR_END:vre,FSEVENT_CREATED:yre,FSEVENT_MODIFIED:_re,FSEVENT_DELETED:xre,FSEVENT_MOVED:bre,FSEVENT_UNKNOWN:wre,FSEVENT_FLAG_MUST_SCAN_SUBDIRS:Sre,FSEVENT_TYPE_FILE:Ere,FSEVENT_TYPE_DIRECTORY:Hf,FSEVENT_TYPE_SYMLINK:dj,ROOT_GLOBSTAR:uj,DIR_SUFFIX:Tre,DOT_SLASH:fj,FUNCTION_TYPE:Uw,EMPTY_FN:Rre,IDENTITY_FN:Cre}=Rg(),Are=t=>isNaN(t)?{}:{depth:t},Hw=Gw(zw.stat),Ore=Gw(zw.lstat),pj=Gw(zw.realpath),kre={stat:Hw,lstat:Ore},sa=new Map,Mre=10,Pre=new Set([69888,70400,71424,72704,73472,131328,131840,262912]),Ire=(t,e)=>({stop:yl.watch(t,e)});function Nre(t,e,r,n){let i=mr.extname(e)?mr.dirname(e):e,s=mr.dirname(i),o=sa.get(i);Dre(s)&&(i=s);let a=mr.resolve(t),c=a!==e,l=(f,h,d)=>{c&&(f=f.replace(e,a)),(f===a||!f.indexOf(a+mr.sep))&&r(f,h,d)},u=!1;for(let f of sa.keys())if(e.indexOf(mr.resolve(f)+mr.sep)===0){i=f,o=sa.get(i),u=!0;break}return o||u?o.listeners.add(l):(o={listeners:new Set([l]),rawEmitter:n,watcher:Ire(i,(f,h)=>{if(!o.listeners.size||h&Sre)return;let d=yl.getInfo(f,h);o.listeners.forEach(g=>{g(f,h,d)}),o.rawEmitter(d.event,f,d)})},sa.set(i,o)),()=>{let f=o.listeners;if(f.delete(l),!f.size&&(sa.delete(i),o.watcher))return o.watcher.stop().then(()=>{o.rawEmitter=o.watcher=void 0,Object.freeze(o)})}}var Dre=t=>{let e=0;for(let r of sa.keys())if(r.indexOf(t)===0&&(e++,e>=Mre))return!0;return!1},Lre=()=>yl&&sa.size<128,$w=(t,e)=>{let r=0;for(;!t.indexOf(e)&&(t=mr.dirname(t))!==e;)r++;return r},hj=(t,e)=>t.type===Hf&&e.isDirectory()||t.type===dj&&e.isSymbolicLink()||t.type===Ere&&e.isFile(),Ww=class{constructor(e){this.fsw=e}checkIgnored(e,r){let n=this.fsw._ignoredPaths;if(this.fsw._isIgnored(e,r))return n.add(e),r&&r.isDirectory()&&n.add(e+uj),!0;n.delete(e),n.delete(e+uj)}addOrChange(e,r,n,i,s,o,a,c){let l=s.has(o)?dre:qw;this.handleEvent(l,e,r,n,i,s,o,a,c)}async checkExists(e,r,n,i,s,o,a,c){try{let l=await Hw(e);if(this.fsw.closed)return;hj(a,l)?this.addOrChange(e,r,n,i,s,o,a,c):this.handleEvent(Mg,e,r,n,i,s,o,a,c)}catch(l){l.code==="EACCES"?this.addOrChange(e,r,n,i,s,o,a,c):this.handleEvent(Mg,e,r,n,i,s,o,a,c)}}handleEvent(e,r,n,i,s,o,a,c,l){if(!(this.fsw.closed||this.checkIgnored(r)))if(e===Mg){let u=c.type===Hf;(u||o.has(a))&&this.fsw._remove(s,a,u)}else{if(e===qw){if(c.type===Hf&&this.fsw._getWatchedDir(r),c.type===dj&&l.followSymlinks){let f=l.depth===void 0?void 0:$w(n,i)+1;return this._addToFsEvents(r,!1,!0,f)}this.fsw._getWatchedDir(s).add(a)}let u=c.type===Hf?e+Tre:e;this.fsw._emit(u,r),u===lj&&this._addToFsEvents(r,!1,!0)}}_watchWithFsEvents(e,r,n,i){if(this.fsw.closed||this.fsw._isIgnored(e))return;let s=this.fsw.options,a=Nre(e,r,async(c,l,u)=>{if(this.fsw.closed||s.depth!==void 0&&$w(c,r)>s.depth)return;let f=n(mr.join(e,mr.relative(e,c)));if(i&&!i(f))return;let h=mr.dirname(f),d=mr.basename(f),g=this.fsw._getWatchedDir(u.type===Hf?f:h);if(Pre.has(l)||u.event===wre)if(typeof s.ignored===Uw){let y;try{y=await Hw(f)}catch{}if(this.fsw.closed||this.checkIgnored(f,y))return;hj(u,y)?this.addOrChange(f,c,r,h,g,d,u,s):this.handleEvent(Mg,f,c,r,h,g,d,u,s)}else this.checkExists(f,c,r,h,g,d,u,s);else switch(u.event){case yre:case _re:return this.addOrChange(f,c,r,h,g,d,u,s);case xre:case bre:return this.checkExists(f,c,r,h,g,d,u,s)}},this.fsw._emitRaw);return this.fsw._emitReady(),a}async _handleFsEventsSymlink(e,r,n,i){if(!(this.fsw.closed||this.fsw._symlinkPaths.has(r))){this.fsw._symlinkPaths.set(r,!0),this.fsw._incrReadyCount();try{let s=await pj(e);if(this.fsw.closed)return;if(this.fsw._isIgnored(s))return this.fsw._emitReady();this.fsw._incrReadyCount(),this._addToFsEvents(s||e,o=>{let a=e;return s&&s!==fj?a=o.replace(s,e):o!==fj&&(a=mr.join(e,o)),n(a)},!1,i)}catch(s){if(this.fsw._handleError(s))return this.fsw._emitReady()}}}emitAdd(e,r,n,i,s){let o=n(e),a=r.isDirectory(),c=this.fsw._getWatchedDir(mr.dirname(o)),l=mr.basename(o);a&&this.fsw._getWatchedDir(o),!c.has(l)&&(c.add(l),(!i.ignoreInitial||s===!0)&&this.fsw._emit(a?lj:qw,o,r))}initWatch(e,r,n,i){if(this.fsw.closed)return;let s=this._watchWithFsEvents(n.watchPath,mr.resolve(e||n.watchPath),i,n.globFilter);this.fsw._addPathCloser(r,s)}async _addToFsEvents(e,r,n,i){if(this.fsw.closed)return;let s=this.fsw.options,o=typeof r===Uw?r:Cre,a=this.fsw._getWatchHelpers(e);try{let c=await kre[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))throw null;if(c.isDirectory()){if(a.globFilter||this.emitAdd(o(e),c,o,s,n),i&&i>s.depth)return;this.fsw._readdirp(a.watchPath,{fileFilter:l=>a.filterPath(l),directoryFilter:l=>a.filterDir(l),...Are(s.depth-(i||0))}).on(gre,l=>{if(this.fsw.closed||l.stats.isDirectory()&&!a.filterPath(l))return;let u=mr.join(a.watchPath,l.path),{fullPath:f}=l;if(a.followSymlinks&&l.stats.isSymbolicLink()){let h=s.depth===void 0?void 0:$w(u,mr.resolve(a.watchPath))+1;this._handleFsEventsSymlink(u,f,o,h)}else this.emitAdd(u,l.stats,o,s,n)}).on(mre,Rre).on(vre,()=>{this.fsw._emitReady()})}else this.emitAdd(a.watchPath,c,o,s,n),this.fsw._emitReady()}catch(c){(!c||this.fsw._handleError(c))&&(this.fsw._emitReady(),this.fsw._emitReady())}if(s.persistent&&n!==!0)if(typeof r===Uw)this.initWatch(void 0,e,a,o);else{let c;try{c=await pj(a.watchPath)}catch{}this.initWatch(c,e,a,o)}}};Vw.exports=Ww;Vw.exports.canUse=Lre});var Rj=P(cS=>{"use strict";var{EventEmitter:Bre}=require("events"),oS=require("fs"),He=require("path"),{promisify:wj}=require("util"),Fre=rF(),Qw=lF().default,jre=mF(),Kw=Cw(),qre=XF(),Ure=ml(),$re=cj(),gj=mj(),{EV_ALL:Yw,EV_READY:Hre,EV_ADD:Pg,EV_CHANGE:Wf,EV_UNLINK:vj,EV_ADD_DIR:Wre,EV_UNLINK_DIR:zre,EV_RAW:Gre,EV_ERROR:Zw,STR_CLOSE:Vre,STR_END:Kre,BACK_SLASH_RE:Yre,DOUBLE_SLASH_RE:yj,SLASH_OR_BACK_SLASH_RE:Zre,DOT_RE:Xre,REPLACER_RE:Jre,SLASH:Xw,SLASH_SLASH:Qre,BRACE_START:ene,BANG:eS,ONE_DOT:Sj,TWO_DOTS:tne,GLOBSTAR:rne,SLASH_GLOBSTAR:Jw,ANYMATCH_OPTS:tS,STRING_TYPE:aS,FUNCTION_TYPE:nne,EMPTY_STR:rS,EMPTY_FN:ine,isWindows:sne,isMacos:one,isIBMi:ane}=Rg(),cne=wj(oS.stat),lne=wj(oS.readdir),nS=(t=[])=>Array.isArray(t)?t:[t],Ej=(t,e=[])=>(t.forEach(r=>{Array.isArray(r)?Ej(r,e):e.push(r)}),e),_j=t=>{let e=Ej(nS(t));if(!e.every(r=>typeof r===aS))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Tj)},xj=t=>{let e=t.replace(Yre,Xw),r=!1;for(e.startsWith(Qre)&&(r=!0);e.match(yj);)e=e.replace(yj,Xw);return r&&(e=Xw+e),e},Tj=t=>xj(He.normalize(xj(t))),bj=(t=rS)=>e=>typeof e!==aS?e:Tj(He.isAbsolute(e)?e:He.join(t,e)),une=(t,e)=>He.isAbsolute(t)?t:t.startsWith(eS)?eS+He.join(e,t.slice(1)):He.join(e,t),ai=(t,e)=>t[e]===void 0,iS=class{constructor(e,r){this.path=e,this._removeWatcher=r,this.items=new Set}add(e){let{items:r}=this;r&&e!==Sj&&e!==tne&&r.add(e)}async remove(e){let{items:r}=this;if(!r||(r.delete(e),r.size>0))return;let n=this.path;try{await lne(n)}catch{this._removeWatcher&&this._removeWatcher(He.dirname(n),He.basename(n))}}has(e){let{items:r}=this;if(r)return r.has(e)}getChildren(){let{items:e}=this;if(e)return[...e.values()]}dispose(){this.items.clear(),delete this.path,delete this._removeWatcher,delete this.items,Object.freeze(this)}},fne="stat",pne="lstat",sS=class{constructor(e,r,n,i){this.fsw=i,this.path=e=e.replace(Jre,rS),this.watchPath=r,this.fullWatchPath=He.resolve(r),this.hasGlob=r!==e,e===rS&&(this.hasGlob=!1),this.globSymlink=this.hasGlob&&n?void 0:!1,this.globFilter=this.hasGlob?Qw(e,void 0,tS):!1,this.dirParts=this.getDirParts(e),this.dirParts.forEach(s=>{s.length>1&&s.pop()}),this.followSymlinks=n,this.statMethod=n?fne:pne}checkGlobSymlink(e){return this.globSymlink===void 0&&(this.globSymlink=e.fullParentDir===this.fullWatchPath?!1:{realPath:e.fullParentDir,linkPath:this.fullWatchPath}),this.globSymlink?e.fullPath.replace(this.globSymlink.realPath,this.globSymlink.linkPath):e.fullPath}entryPath(e){return He.join(this.watchPath,He.relative(this.watchPath,this.checkGlobSymlink(e)))}filterPath(e){let{stats:r}=e;if(r&&r.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return(this.hasGlob&&typeof this.globFilter===nne?this.globFilter(n):!0)&&this.fsw._isntIgnored(n,r)&&this.fsw._hasReadPermissions(r)}getDirParts(e){if(!this.hasGlob)return[];let r=[];return(e.includes(ene)?qre.expand(e):[e]).forEach(i=>{r.push(He.relative(this.watchPath,i).split(Zre))}),r}filterDir(e){if(this.hasGlob){let r=this.getDirParts(this.checkGlobSymlink(e)),n=!1;this.unmatchedGlob=!this.dirParts.some(i=>i.every((s,o)=>(s===rne&&(n=!0),n||!r[0][o]||Qw(s,r[0][o],tS))))}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Ig=class extends Bre{constructor(e){super();let r={};e&&Object.assign(r,e),this._watched=new Map,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._symlinkPaths=new Map,this._streams=new Set,this.closed=!1,ai(r,"persistent")&&(r.persistent=!0),ai(r,"ignoreInitial")&&(r.ignoreInitial=!1),ai(r,"ignorePermissionErrors")&&(r.ignorePermissionErrors=!1),ai(r,"interval")&&(r.interval=100),ai(r,"binaryInterval")&&(r.binaryInterval=300),ai(r,"disableGlobbing")&&(r.disableGlobbing=!1),r.enableBinaryInterval=r.binaryInterval!==r.interval,ai(r,"useFsEvents")&&(r.useFsEvents=!r.usePolling),gj.canUse()||(r.useFsEvents=!1),ai(r,"usePolling")&&!r.useFsEvents&&(r.usePolling=one),ane&&(r.usePolling=!0);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let c=i.toLowerCase();c==="false"||c==="0"?r.usePolling=!1:c==="true"||c==="1"?r.usePolling=!0:r.usePolling=!!c}let s=process.env.CHOKIDAR_INTERVAL;s&&(r.interval=Number.parseInt(s,10)),ai(r,"atomic")&&(r.atomic=!r.usePolling&&!r.useFsEvents),r.atomic&&(this._pendingUnlinks=new Map),ai(r,"followSymlinks")&&(r.followSymlinks=!0),ai(r,"awaitWriteFinish")&&(r.awaitWriteFinish=!1),r.awaitWriteFinish===!0&&(r.awaitWriteFinish={});let o=r.awaitWriteFinish;o&&(o.stabilityThreshold||(o.stabilityThreshold=2e3),o.pollInterval||(o.pollInterval=100),this._pendingWrites=new Map),r.ignored&&(r.ignored=nS(r.ignored));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=ine,this._readyEmitted=!0,process.nextTick(()=>this.emit(Hre)))},this._emitRaw=(...c)=>this.emit(Gre,...c),this._readyEmitted=!1,this.options=r,r.useFsEvents?this._fsEventsHandler=new gj(this):this._nodeFsHandler=new $re(this),Object.freeze(r)}add(e,r,n){let{cwd:i,disableGlobbing:s}=this.options;this.closed=!1;let o=_j(e);return i&&(o=o.map(a=>{let c=une(a,i);return s||!Kw(a)?c:Ure(c)})),o=o.filter(a=>a.startsWith(eS)?(this._ignoredPaths.add(a.slice(1)),!1):(this._ignoredPaths.delete(a),this._ignoredPaths.delete(a+Jw),this._userIgnored=void 0,!0)),this.options.useFsEvents&&this._fsEventsHandler?(this._readyCount||(this._readyCount=o.length),this.options.persistent&&(this._readyCount+=o.length),o.forEach(a=>this._fsEventsHandler._addToFsEvents(a))):(this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!n,0,0,r);return c&&this._emitReady(),c})).then(a=>{this.closed||a.filter(c=>c).forEach(c=>{this.add(He.dirname(c),He.basename(r||c))})})),this}unwatch(e){if(this.closed)return this;let r=_j(e),{cwd:n}=this.options;return r.forEach(i=>{!He.isAbsolute(i)&&!this._closers.has(i)&&(n&&(i=He.join(n,i)),i=He.resolve(i)),this._closePath(i),this._ignoredPaths.add(i),this._watched.has(i)&&this._ignoredPaths.add(i+Jw),this._userIgnored=void 0}),this}close(){if(this.closed)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(r=>r.forEach(n=>{let i=n();i instanceof Promise&&e.push(i)})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(r=>r.dispose()),["closers","watched","streams","symlinkPaths","throttled"].forEach(r=>{this[`_${r}`].clear()}),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((r,n)=>{let i=this.options.cwd?He.relative(this.options.cwd,n):n;e[i||Sj]=r.getChildren().sort()}),e}emitWithAll(e,r){this.emit(...r),e!==Zw&&this.emit(Yw,...r)}async _emit(e,r,n,i,s){if(this.closed)return;let o=this.options;sne&&(r=He.normalize(r)),o.cwd&&(r=He.relative(o.cwd,r));let a=[e,r];s!==void 0?a.push(n,i,s):i!==void 0?a.push(n,i):n!==void 0&&a.push(n);let c=o.awaitWriteFinish,l;if(c&&(l=this._pendingWrites.get(r)))return l.lastChange=new Date,this;if(o.atomic){if(e===vj)return this._pendingUnlinks.set(r,a),setTimeout(()=>{this._pendingUnlinks.forEach((u,f)=>{this.emit(...u),this.emit(Yw,...u),this._pendingUnlinks.delete(f)})},typeof o.atomic=="number"?o.atomic:100),this;e===Pg&&this._pendingUnlinks.has(r)&&(e=a[0]=Wf,this._pendingUnlinks.delete(r))}if(c&&(e===Pg||e===Wf)&&this._readyEmitted){let u=(f,h)=>{f?(e=a[0]=Zw,a[1]=f,this.emitWithAll(e,a)):h&&(a.length>2?a[2]=h:a.push(h),this.emitWithAll(e,a))};return this._awaitWriteFinish(r,c.stabilityThreshold,e,u),this}if(e===Wf&&!this._throttle(Wf,r,50))return this;if(o.alwaysStat&&n===void 0&&(e===Pg||e===Wre||e===Wf)){let u=o.cwd?He.join(o.cwd,r):r,f;try{f=await cne(u)}catch{}if(!f||this.closed)return;a.push(f)}return this.emitWithAll(e,a),this}_handleError(e){let r=e&&e.code;return e&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(Zw,e),e||this.closed}_throttle(e,r,n){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e),s=i.get(r);if(s)return s.count++,!1;let o,a=()=>{let l=i.get(r),u=l?l.count:0;return i.delete(r),clearTimeout(o),l&&clearTimeout(l.timeoutObject),u};o=setTimeout(a,n);let c={timeoutObject:o,clear:a,count:0};return i.set(r,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,r,n,i){let s,o=e;this.options.cwd&&!He.isAbsolute(e)&&(o=He.join(this.options.cwd,e));let a=new Date,c=l=>{oS.stat(o,(u,f)=>{if(u||!this._pendingWrites.has(e)){u&&u.code!=="ENOENT"&&i(u);return}let h=Number(new Date);l&&f.size!==l.size&&(this._pendingWrites.get(e).lastChange=h);let d=this._pendingWrites.get(e);h-d.lastChange>=r?(this._pendingWrites.delete(e),i(void 0,f)):s=setTimeout(c,this.options.awaitWriteFinish.pollInterval,f)})};this._pendingWrites.has(e)||(this._pendingWrites.set(e,{lastChange:a,cancelWait:()=>(this._pendingWrites.delete(e),clearTimeout(s),n)}),s=setTimeout(c,this.options.awaitWriteFinish.pollInterval))}_getGlobIgnored(){return[...this._ignoredPaths.values()]}_isIgnored(e,r){if(this.options.atomic&&Xre.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=this.options.ignored,s=i&&i.map(bj(n)),o=nS(s).filter(c=>typeof c===aS&&!Kw(c)).map(c=>c+Jw),a=this._getGlobIgnored().map(bj(n)).concat(s,o);this._userIgnored=Qw(a,void 0,tS)}return this._userIgnored([e,r])}_isntIgnored(e,r){return!this._isIgnored(e,r)}_getWatchHelpers(e,r){let n=r||this.options.disableGlobbing||!Kw(e)?e:jre(e),i=this.options.followSymlinks;return new sS(e,n,i,this)}_getWatchedDir(e){this._boundRemove||(this._boundRemove=this._remove.bind(this));let r=He.resolve(e);return this._watched.has(r)||this._watched.set(r,new iS(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(e){if(this.options.ignorePermissionErrors)return!0;let n=(e&&Number.parseInt(e.mode,10))&511;return!!(4&Number.parseInt(n.toString(8)[0],10))}_remove(e,r,n){let i=He.join(e,r),s=He.resolve(i);if(n=n??(this._watched.has(i)||this._watched.has(s)),!this._throttle("remove",i,100))return;!n&&!this.options.useFsEvents&&this._watched.size===1&&this.add(e,r,!0),this._getWatchedDir(i).getChildren().forEach(h=>this._remove(i,h));let c=this._getWatchedDir(e),l=c.has(r);c.remove(r),this._symlinkPaths.has(s)&&this._symlinkPaths.delete(s);let u=i;if(this.options.cwd&&(u=He.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===Pg)return;this._watched.delete(i),this._watched.delete(s);let f=n?zre:vj;l&&!this._isIgnored(i)&&this._emit(f,i),this.options.useFsEvents||this._closePath(i)}_closePath(e){this._closeFile(e);let r=He.dirname(e);this._getWatchedDir(r).remove(He.basename(e))}_closeFile(e){let r=this._closers.get(e);r&&(r.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,r){if(!r)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(r)}_readdirp(e,r){if(this.closed)return;let n={type:Yw,alwaysStat:!0,lstat:!0,...r},i=Fre(e,n);return this._streams.add(i),i.once(Vre,()=>{i=void 0}),i.once(Kre,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};cS.FSWatcher=Ig;var hne=(t,e)=>{let r=new Ig(e);return r.add(t),r};cS.watch=hne});function Cj(t){let e=t.toLowerCase().split(".").pop();return uS[e]||"application/octet-stream"}var lS,Ng,uS,Aj,Oj,zf=ie(()=>{lS=["node_modules",".git","dist","build",".next","coverage","__pycache__",".cache",".turbo",".vercel",".output","out",".nuxt",".svelte-kit","target",".parcel-cache",".rollup.cache"],Ng=[".zip",".tar",".gz",".tgz",".rar",".7z",".bz2",".xz",".exe",".dll",".so",".dylib",".app",".bin",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db",".mdb",".class",".jar",".war",".pyc",".o",".obj"],uS={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",bmp:"image/bmp",avif:"image/avif",apng:"image/apng",tif:"image/tiff",tiff:"image/tiff",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",avi:"video/x-msvideo","3gp":"video/3gpp",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",flac:"audio/flac",m4a:"audio/mp4",aac:"audio/aac",opus:"audio/opus",pdf:"application/pdf",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xls:"application/vnd.ms-excel",csv:"text/csv",tsv:"text/tab-separated-values"};Aj=[".ssh",".aws",".gnupg",".kube",".docker",".cargo",".npmrc",".netrc",".pypirc",".config/gh",".config/gcloud"],Oj=["/etc/shadow","/etc/sudoers","/etc/ssh","/root","/private/etc/sudoers"]});function dne(t){if(!t)return null;let e=t.startsWith("~")?t.replace(/^~/,Mj):t,r=Js.default.resolve(e);try{return Dg.default.realpathSync(r)}catch{let n=r,i=[];for(;!Dg.default.existsSync(n);){i.unshift(Js.default.basename(n));let s=Js.default.dirname(n);if(s===n)return r;n=s}try{return Js.default.join(Dg.default.realpathSync(n),...i)}catch{return r}}}function Ht(t){let e=dne(t);if(!e)return!1;for(let r of Oj)if(e===r||e.startsWith(r+Js.default.sep))return!0;for(let r of Aj){let n=Js.default.join(Mj,r);if(e===n||e.startsWith(n+Js.default.sep))return!0}return!1}var Dg,Js,kj,Mj,Lg=ie(()=>{Dg=re(require("fs"),1),Js=re(require("path"),1),kj=re(require("os"),1);zf();Mj=kj.default.homedir()});function Fj(t){return lS.includes(t)}function bl(t){return Ng.includes(qn.default.extname(t).toLowerCase())}function _ne(t,e){return t.isDirectory()?"folder":bl(e)?"binary":"file"}function Qs(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:`${(t/(1024*1024)).toFixed(1)}MB`}async function Dj(t){let e=await(0,Bg.default)(t).metadata(),r=e.width||0,n=e.height||0,i=[80,60,40],s=[1600,1200,800],o=t,a=r,c=n;for(let l of s)for(let u of i){o=await(0,Bg.default)(t).resize({width:l,height:l,fit:"inside",withoutEnlargement:!0}).jpeg({quality:u,mozjpeg:!0}).toBuffer();let f=await(0,Bg.default)(o).metadata();if(a=f.width||l,c=f.height||l,o.length<=3145728)return{buffer:o,width:a,height:c,originalWidth:r,originalHeight:n}}return{buffer:o,width:a,height:c,originalWidth:r,originalHeight:n}}function jj(t,e,r,n=50){if(!(r.length>=n))try{for(let i of be.default.readdirSync(t)){if(r.length>=n)return;if(i.startsWith(".")||Fj(i))continue;let s=qn.default.join(t,i);try{let o=be.default.statSync(s);o.isDirectory()?jj(s,e,r,n):i.toLowerCase().includes(e.toLowerCase())&&r.push({name:i,path:s,type:bl(i)?"binary":"file",size:o.size,sizeFormatted:Qs(o.size)})}catch{}}}catch{}}function Lj(t){if(!t)return null;let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"::ANY::").replace(/\*/g,"[^/]*").replace(/::ANY::/g,".*").replace(/\?/g,".");return new RegExp(`^${e}$`)}function qj(t,e,r,n,i,s){if(s.length>=200)return;let o;try{o=be.default.readdirSync(t,{withFileTypes:!0})}catch{return}for(let a of o){if(s.length>=200)return;if(Fj(a.name))continue;let c=qn.default.join(t,a.name),l=qn.default.relative(e,c);if(a.isDirectory()){qj(c,e,r,n,i,s);continue}if(a.isFile()&&!bl(a.name)&&!Ht(c)&&!(i&&i.test(l))&&!(n&&!n.test(l)))try{if(be.default.statSync(c).size>1048576)continue;let h=be.default.readFileSync(c,"utf-8").split(`
|
|
206
206
|
`),d=[];for(let g=0;g<h.length&&d.length<10;g++){let y=h[g],w=r(y);for(let A of w){if(d.length>=10)break;d.push({line:g+1,column:A.column+1,lineText:y,matchLength:A.length})}}d.length&&s.push({path:c,matches:d})}catch{}}}function Uj(t,e,r){let n;try{n=be.default.readdirSync(t,{withFileTypes:!0})}catch{return[]}let i=[];for(let s of n){if(!r&&s.name.startsWith(".")&&s.name!==".env"&&s.name!==".env.example")continue;let o=qn.default.join(t,s.name);if(s.isDirectory()){let a={name:s.name,path:o,type:"folder"};e>0&&(a.children=Uj(o,e-1,r)),i.push(a)}else s.isFile()&&i.push({name:s.name,path:o,type:bl(s.name)?"binary":"file"})}return i.sort((s,o)=>s.type==="folder"&&o.type!=="folder"?-1:s.type!=="folder"&&o.type==="folder"?1:s.name.localeCompare(o.name)),i}function xne(){if(process.platform!=="win32")return[];try{return(0,xl.execSync)("wmic logicaldisk get name",{encoding:"utf-8",stdio:["pipe","pipe","pipe"],windowsHide:!0}).split(/\r?\n/).map(e=>e.trim()).filter(e=>/^[A-Z]:$/.test(e)).map(e=>({letter:e[0],path:e+"\\"}))}catch{return"CDEFGHIJ".split("").map(t=>`${t}:\\`).filter(t=>be.default.existsSync(t)).map(t=>({letter:t[0],path:t}))}}function $j(t){t.on("getSystemInfo",r=>{let n=process.platform;r({success:!0,platform:n,isWindows:n==="win32",drives:n==="win32"?xne():[],homedir:Oi.default.homedir()})}),t.on("getFiles",({dirPath:r,showHidden:n},i)=>{try{let s=r||Oi.default.homedir(),o=s.startsWith("~")?s.replace("~",Oi.default.homedir()):s;if(Ht(o))return i({success:!1,error:"Access denied"});if(!be.default.existsSync(o))return i({success:!1,error:"Directory not found"});let a;try{a=be.default.readdirSync(o,{withFileTypes:!0})}catch(f){return i({success:!1,error:f.message})}n||(a=a.filter(f=>!(f.name.startsWith(".")&&f.name!==".env"&&f.name!==".env.example"))),a.sort((f,h)=>{let d=f.isDirectory(),g=h.isDirectory();return d&&!g?-1:!d&&g?1:f.name.localeCompare(h.name)});let c=a.length>300,l=c?a.slice(0,300):a,u=[];for(let f of l)try{let h=qn.default.join(o,f.name),d=be.default.statSync(h);u.push({name:f.name,path:h,type:_ne(d,f.name),size:d.isFile()?d.size:null,sizeFormatted:d.isFile()?Qs(d.size):null,modified:d.mtime.getTime()})}catch{}i({success:!0,files:u,currentPath:o,parentPath:qn.default.dirname(o),truncated:c})}catch(s){i({success:!1,error:s.message})}}),t.on("searchFiles",({workspace:r,query:n},i)=>{try{if(!n||n.length<2)return i({success:!0,files:[]});let s=(r||Oi.default.homedir()).replace(/^~/,Oi.default.homedir());if(!be.default.existsSync(s))return i({success:!1,error:"Workspace not found"});let o=[];jj(s,n,o,50),o.sort((a,c)=>{let l=a.name.toLowerCase()===n.toLowerCase(),u=c.name.toLowerCase()===n.toLowerCase();return l&&!u?-1:!l&&u?1:a.path.length-c.path.length}),i({success:!0,files:o})}catch(s){i({success:!1,error:s.message})}}),t.on("readFile",({filePath:r},n)=>{try{if(Ht(r))return n({success:!1,error:"Access denied"});if(!be.default.existsSync(r))return n({success:!1,error:"File not found"});let i=be.default.statSync(r);if(i.size>1048576)return n({success:!1,error:`File too large (${Qs(i.size)}). Max ${Qs(1048576)}`});if(bl(r))return n({success:!1,error:"Cannot open binary file"});if(i.size>Fd)return n({success:!0,content:"",streamInstead:!0,size:i.size});n({success:!0,content:be.default.readFileSync(r,"utf-8")})}catch(i){n({success:!1,error:i.message})}}),t.on("readMedia",async({filePath:r},n)=>{try{if(Ht(r))return n({success:!1,error:"Access denied"});if(!be.default.existsSync(r))return n({success:!1,error:"File not found"});let i=be.default.statSync(r),s=qn.default.extname(r).toLowerCase().slice(1),o=uS[s]||"application/octet-stream",a=o.startsWith("image/"),c=a?20971520:5242880;if(i.size>c)return n({success:!1,error:`File too large (${Qs(i.size)}). Max ${Qs(c)}`});let l=be.default.readFileSync(r);if(a){let u=await Dj(l),f=`data:image/jpeg;base64,${u.buffer.toString("base64")}`;n({success:!0,dataUrl:f,size:i.size,mime:o,originalSize:i.size,originalWidth:u.originalWidth,originalHeight:u.originalHeight,width:u.width,height:u.height,scaled:u.buffer.length<i.size})}else{let u=`data:${o};base64,${l.toString("base64")}`;n({success:!0,dataUrl:u,size:i.size,mime:o})}}catch(i){n({success:!1,error:i.message})}}),t.on("readImage",async({filePath:r},n)=>{try{if(Ht(r))return n({success:!1,error:"Access denied"});if(!be.default.existsSync(r))return n({success:!1,error:"File not found"});let i=be.default.statSync(r);if(i.size>20971520)return n({success:!1,error:`Image too large (${Qs(i.size)}). Max ${Qs(20971520)}`});let s=be.default.readFileSync(r),o=await Dj(s),a=`data:image/jpeg;base64,${o.buffer.toString("base64")}`;n({success:!0,dataUrl:a,size:i.size,mime:"image/jpeg",originalSize:i.size,originalWidth:o.originalWidth,originalHeight:o.originalHeight,width:o.width,height:o.height,scaled:o.buffer.length<i.size})}catch(i){n({success:!1,error:i.message})}}),t.on("writeFile",({filePath:r,content:n},i)=>{try{if(Ht(r))return i({success:!1,error:"Access denied"});be.default.writeFileSync(r,n,"utf-8"),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("createItem",({itemPath:r,type:n},i)=>{try{if(Ht(r))return i({success:!1,error:"Access denied"});if(be.default.existsSync(r))return i({success:!1,error:"Item already exists"});n==="folder"?be.default.mkdirSync(r,{recursive:!0}):be.default.writeFileSync(r,"","utf-8"),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("deleteItem",({itemPath:r},n)=>{try{if(Ht(r))return n({success:!1,error:"Access denied"});if(!be.default.existsSync(r))return n({success:!1,error:"Item not found"});be.default.statSync(r).isDirectory()?be.default.rmSync(r,{recursive:!0}):be.default.unlinkSync(r),n({success:!0})}catch(i){n({success:!1,error:i.message})}}),t.on("renameItem",({oldPath:r,newPath:n},i)=>{try{if(Ht(r)||Ht(n))return i({success:!1,error:"Access denied"});if(!be.default.existsSync(r))return i({success:!1,error:"Item not found"});if(be.default.existsSync(n))return i({success:!1,error:"Target already exists"});be.default.renameSync(r,n),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("searchInFiles",({workspace:r,query:n,caseSensitive:i,regex:s,includeGlob:o,excludeGlob:a},c)=>{try{if(!n)return c({success:!0,results:[]});let l=(r||Oi.default.homedir()).replace(/^~/,Oi.default.homedir());if(!be.default.existsSync(l))return c({success:!1,error:"Workspace not found"});let u;if(s){let g;try{g=new RegExp(n,i?"g":"gi")}catch(y){return c({success:!1,error:`Invalid regex: ${y.message}`})}u=y=>{let w=[],A;for(g.lastIndex=0;(A=g.exec(y))!==null;)w.push({column:A.index,length:A[0].length}),A.index===g.lastIndex&&g.lastIndex++;return w}}else{let g=i?n:n.toLowerCase();u=y=>{let w=i?y:y.toLowerCase(),A=[],I=0;for(;(I=w.indexOf(g,I))!==-1;)A.push({column:I,length:g.length}),I+=g.length||1;return A}}let f=Lj(o),h=Lj(a),d=[];qj(l,l,u,f,h,d),c({success:!0,results:d})}catch(l){c({success:!1,error:l.message})}}),t.on("replaceInFiles",({workspace:r,query:n,replacement:i,caseSensitive:s,regex:o,files:a},c)=>{try{if(!n||!Array.isArray(a)||!a.length)return c({success:!0,replacedCount:0,fileCount:0});let l;if(o){let h;try{h=new RegExp(n,s?"g":"gi")}catch(d){return c({success:!1,error:`Invalid regex: ${d.message}`})}l=d=>{let g=0;return{next:d.replace(h,w=>(g++,i)),count:g}}}else l=h=>{let d=0,g=s?"g":"gi",y=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),w=new RegExp(y,g);return{next:h.replace(w,()=>(d++,i)),count:d}};let u=0,f=0;for(let h of a)try{if(!be.default.existsSync(h)||bl(h)||Ht(h))continue;let d=be.default.statSync(h);if(!d.isFile()||d.size>1048576)continue;let g=be.default.readFileSync(h,"utf-8"),{next:y,count:w}=l(g);w>0&&(be.default.writeFileSync(h,y,"utf-8"),u+=w,f++)}catch{}c({success:!0,replacedCount:u,fileCount:f})}catch(l){c({success:!1,error:l.message})}});let e=new Map;t.on("watchDir",({dirPath:r},n)=>{try{if(!r||!be.default.existsSync(r))return n({success:!1,error:"Directory not found"});let i=e.get(r);if(i)return i.count++,n({success:!0});let s=Bj.default.watch(r,{depth:0,ignoreInitial:!0,persistent:!0,ignored:a=>lS.includes(qn.default.basename(a))}),o=a=>c=>t.emit("fileChange",{type:a,path:c});s.on("add",o("add")).on("change",o("change")).on("unlink",o("unlink")).on("addDir",o("addDir")).on("unlinkDir",o("unlinkDir")),e.set(r,{w:s,count:1}),n({success:!0})}catch(i){n({success:!1,error:i.message})}}),t.on("unwatchDir",({dirPath:r},n)=>{try{let i=e.get(r);i&&--i.count<=0&&(i.w.close(),e.delete(r)),n({success:!0})}catch(i){n({success:!1,error:i.message})}}),t.once("disconnect",()=>{for(let{w:r}of e.values())try{r.close()}catch{}e.clear()}),t.on("revealInOS",({filePath:r},n)=>{try{if(!r)return n({success:!1,error:"No path"});let i=process.platform,s,o;i==="darwin"?(s="open",o=["-R",r]):i==="win32"?(s="explorer",o=[`/select,${r}`]):(s="xdg-open",o=[qn.default.dirname(r)]);let a=(0,xl.spawn)(s,o,{detached:!0,stdio:"ignore",windowsHide:!0});a.on("error",c=>n({success:!1,error:c.message})),a.unref(),n({success:!0})}catch(i){n({success:!1,error:i.message})}}),t.on("openInTerminal",({dirPath:r},n)=>{try{if(!r||!be.default.existsSync(r))return n({success:!1,error:"Directory not found"});let i=process.platform,s,o,a={detached:!0,stdio:"ignore",windowsHide:!0};i==="darwin"?(s="open",o=["-a","Terminal",r]):i==="win32"?(s="cmd",o=["/C","start",'"9Remote"',"cmd","/K"],a.shell=!1,a.cwd=r):(s="gnome-terminal",o=["--working-directory",r]);let c=(0,xl.spawn)(s,o,a);c.on("error",()=>{if(i==="linux"){let l=(0,xl.spawn)("xterm",["-e","bash"],{...a,cwd:r});l.on("error",u=>n({success:!1,error:u.message})),l.unref()}else n({success:!1,error:"Failed to open terminal"})}),c.unref(),n({success:!0})}catch(i){n({success:!1,error:i.message})}}),t.on("getFileTree",({dirPath:r,depth:n,showHidden:i},s)=>{try{let o=(r||Oi.default.homedir()).replace(/^~/,Oi.default.homedir());if(!be.default.existsSync(o))return s({success:!1,error:"Directory not found"});let c=Uj(o,typeof n=="number"?n:3,!!i);s({success:!0,tree:{name:qn.default.basename(o)||o,path:o,type:"folder",children:c}})}catch(o){s({success:!1,error:o.message})}})}var be,qn,Oi,xl,Bj,Bg,Hj=ie(()=>{be=re(require("fs"),1),qn=re(require("path"),1),Oi=re(require("os"),1),xl=require("child_process"),Bj=re(Rj(),1),Bg=re(require("sharp"),1);zf();Xi();Lg()});function fs(t,e){return new Promise(r=>{let n=(0,aa.spawn)("git",t,{cwd:e,windowsHide:!0}),i="",s="";n.stdout.on("data",o=>{i+=o.toString()}),n.stderr.on("data",o=>{s+=o.toString()}),n.on("error",o=>r({code:-1,stdout:i,stderr:o.message})),n.on("close",o=>r({code:o,stdout:i,stderr:s}))})}function wl(t,e){try{return(0,aa.spawnSync)("git",t,{cwd:e,encoding:"utf-8",windowsHide:!0}).stdout??""}catch{return""}}function Wj(t){return Ng.includes(oa.default.extname(t).toLowerCase())}function zj(t){t.on("gitStatus",({repoPath:e},r)=>{try{let n=(0,aa.execSync)("git status --porcelain --no-renames",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"],windowsHide:!0}),i={};try{(0,aa.execSync)("git diff HEAD --numstat --no-renames",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"],windowsHide:!0}).trim().split(`
|
|
207
207
|
`).filter(Boolean).forEach(a=>{let c=a.split(" ");c.length>=3&&(i[c[2]]={added:c[0]==="-"?0:parseInt(c[0],10)||0,deleted:c[1]==="-"?0:parseInt(c[1],10)||0})})}catch{}let s=[];for(let o of n.trim().split(`
|
|
@@ -348,8 +348,8 @@ self.addEventListener('fetch', (event) => {
|
|
|
348
348
|
</body>
|
|
349
349
|
</html>
|
|
350
350
|
`);return}e._proxyTargetPort=n,e.url=i+(s||""),t.web(e,r,{target:`http://localhost:${n}`,changeOrigin:!0},o=>{r.writeHead(502),r.end(`Bad Gateway: ${o.message}`)})}dg();var R8=re(require("http"),1),C8=re(require("https"),1),A8=require("child_process"),O8=require("util"),Jde=(0,O8.promisify)(A8.exec);async function Qde(){let t=process.platform,e=new Set([80,443]);try{let r;if(t==="win32")r="netstat -ano | findstr LISTENING";else{let s="/dev/null";r=`lsof -iTCP -sTCP:LISTEN -P -n 2>${s} || netstat -tlnp 2>${s}`}let{stdout:n}=await Jde(r),i=n.split(`
|
|
351
|
-
`);for(let s of i){let o=s.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(o)for(let a of o){let c=parseInt(a.replace(/[:\*\]\s]/g,""),10);c>0&&c<=65535&&(c===80||c===443||c>=1024)&&e.add(c)}}return Array.from(e)}catch(r){return console.error("Failed to get listening ports:",r.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function eme(t,e=2e3){return new Promise(r=>{let n=R8.default.request({host:"localhost",port:t,method:"GET",path:"/",timeout:e},i=>{i.on("data",()=>{}),i.on("end",()=>{}),r({active:!0,protocol:"http",status:i.statusCode})});n.on("error",i=>{r({active:!1,error:i.message})}),n.on("timeout",()=>{n.destroy(),r({active:!1,error:"timeout"})}),n.end()})}function tme(t,e=2e3){return new Promise(r=>{let n=C8.default.request({host:"localhost",port:t,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},i=>{i.on("data",()=>{}),i.on("end",()=>{}),r({active:!0,protocol:"https",status:i.statusCode})});n.on("error",i=>{r({active:!1,error:i.message})}),n.on("timeout",()=>{n.destroy(),r({active:!1,error:"timeout"})}),n.end()})}async function rme(t){let[e,r]=await Promise.all([eme(t),tme(t)]);return r.active?{port:t,...r}:e.active?{port:t,...e}:{port:t,active:!1}}async function k8(){let t=await Qde();return(await Promise.all(t.map(r=>rme(r)))).filter(r=>r.active).map(r=>({port:r.port,protocol:r.protocol,url:`${r.protocol}://localhost:${r.port}`,name:`localhost:${r.port}`,status:r.status})).sort((r,n)=>r.port-n.port)}var M8=re(require("crypto"),1),nme=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ime(){let t="abcdefghijklmnopqrstuvwxyz0123456789",e="";for(let r=0;r<4;r++)e+=t.charAt(Math.floor(Math.random()*t.length));return e}function P8(t,e){return M8.default.createHmac("sha256",nme).update(t+e).digest("hex").slice(0,6)}function I8(t){let e=t.slice(0,8),r=ime(),n=P8(e,r);return{key:`sk-${e}-${r}-${n}`,keyId:r}}function sme(t){if(!t||!t.startsWith("sk-"))return null;let e=t.split("-");if(e.length===4){let[,r,n,i]=e,s=P8(r,n);return i!==s?null:{machineId:r,keyId:n}}return null}function py(t){return sme(t)!==null}async function N8(t,e){let r=t.headers.authorization;if(!r||!r.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let n=r.slice(7);if(!py(n)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let i=await k8();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(i))}Bd();var B8=require("url");var hy=re(require("path"),1),F8=re(require("os"),1);nr();var D8=re(require("path"),1),L8=re(require("os"),1);var uEe=D8.default.join(L8.default.homedir(),".9remote","pids");ox();Sc();var _Ee=hy.default.dirname((0,B8.fileURLToPath)(__importMetaUrl));var xEe=hy.default.join(F8.default.homedir(),".9remote","cloudflared.pid");function j8(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let i=0;i<3;i++){if(n[i]>r[i])return!0;if(n[i]<r[i])return!1}return!1}var bEe=hy.default.join(we.STATE,zu.lockFile);_i();dg();Sc();Er();nr();Ac();var U8=re(q8(),1),OT=re(require("crypto"),1),{machineIdSync:ome}=U8.default;async function $8(t=null){let e=t||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ome();return OT.default.createHash("sha256").update(r+e).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),OT.default.randomUUID().replace(/-/g,"").substring(0,16)}}_i();async function H8(t,e){let r=WP(),n=r.workerUrl||"https://9remote.cc";if(!r.permanentKey){De(e,400,"No permanent key set");return}try{let s=await(await bu(`${n}/api/temp-key/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:r.permanentKey,expiryMinutes:30})})).json(),o=`${n}/login?k=${s.tempKey}`;ts({oneTimeKey:s.tempKey,oneTimeKeyExpiresAt:s.expiresAt,qrUrl:o}),ce(e,{oneTimeKey:s.tempKey,expiresAt:s.expiresAt,qrUrl:o})}catch(i){De(e,500,i.message)}}async function W8(t,e){try{let r=await $8(),{key:n}=I8(r),i=_P();xP(r,n,i?.name||"Default"),ts({permanentKey:n}),ce(e,{ok:!0,permanentKey:n})}catch(r){De(e,500,r.message)}}Er();of();rm();async function z8(t,e){let r=await Sr(t,e);if(!r)return;let n=NH(r.socketId);ce(e,{ok:n})}async function G8(t,e){let r=await Sr(t,e);if(!r)return;let n=LH(r.socketId);ce(e,{ok:n})}function V8(t,e){ce(e,{pending:RI()})}function K8(t,e){ce(e,{devices:SI()})}function Y8(t,e){ce(e,{rejected:tm()})}async function Z8(t,e){let r=await Sr(t,e);if(!r)return;let n=DH(r.deviceId);ce(e,{ok:n})}async function X8(t,e){let r=await Sr(t,e);r&&(ay(r.deviceId),Gs(r.deviceId),ce(e))}async function J8(t,e){let r=await Sr(t,e);r&&(ay(r.deviceId),bI(r.deviceId),ce(e))}async function Q8(t,e){let r=await Sr(t,e);if(!r)return;let n=ay(r.deviceId);ce(e,{disconnected:n})}function eW(t,e){ce(e,{enabled:af()})}async function tW(t,e){let r=await Sr(t,e);if(!r)return;let n=wI(r.deviceId,r.label);ce(e,{ok:n})}async function rW(t,e){let r=await Sr(t,e);if(!r)return;let n=OI(!!r.enabled);ce(e,{enabled:n})}Er();of();Ws();ug();Pf();uw();var nW={},ame=1e4;function iW(t,e){if(e)return{type:e.type||"stop",sessionId:e.sessionId||"",tool:e.tool||"claude"};let r=JSON.parse(t||"{}");return{type:r.type||"stop",sessionId:r.sessionId||"",tool:r.tool||"claude"}}async function sW(t,e){let r="";await new Promise(n=>{t.on("data",i=>r+=i),t.on("end",n)});try{aW(iW(r,null)),ce(e,{success:!0})}catch{De(e,400,"Invalid JSON")}}function oW(t,e,{query:r}){aW(iW(null,r)),ce(e,{success:!0})}function aW({type:t,sessionId:e,tool:r}){let n=Date.now(),i=Np();if(!i||!e)return;let s={type:t,sessionId:e,tool:r,timestamp:n},a=fg({type:t,sessionId:e,tool:r})?.state||Jt.IDLE;if(Xt(i,"statusChange",{sessionId:e,state:a,tool:r,since:n}),ow(e,s),Xt(i,"chatNotification",s),a!==Jt.DONE&&a!==Jt.BLOCKED)return;let c=`${e}:${a}`;n-(nW[c]||0)<ame||(nW[c]=n,Z2({...s,state:a}))}Er();Xd();Ac();ir();_i();function cW(){return{mode:px(),active:fx(),presets:Object.keys(ee.sleepInhibit?.presets||{})}}function lW(t,e){ce(e,cW())}async function uW(t,e){let r=await Sr(t,e);if(!r)return;let n=nf(r.mode);yP({sleepInhibitMode:n});let i=cW();$t("sleepInhibit",i),ce(e,i)}Er();$x();async function fW(t,e){let r=await mm();ce(e,r)}async function pW(t,e){let r=await nN(),n=await mm();ce(e,{...r,...n})}async function hW(t,e){let r=await Sr(t,e);if(!r)return;if(typeof r.text!="string"||!r.text){De(e,400,"Missing text");return}let n=await df(r.text);ce(e,{ok:n.ok,reason:n.reason||null})}async function dW(t,e){let r=await rN(),n=await mm();ce(e,{...r,...n})}pf();Er();async function mW(t,e){try{let r=await cm();ce(e,{sessions:r})}catch(r){De(e,500,r.message)}}async function gW(t,e){let r=await Sr(t,e);if(r){if(!r.sessionId)return De(e,400,"sessionId required");try{await Wo(r.sessionId),ce(e)}catch(n){De(e,500,n.message)}}}var Es=re(require("os"),1);ir();Cm();Er();function cme(){let t=YN();if(!t?.activeClients)return{total:0,streaming:0};let e=0;for(let r of t.activeClients.values())r.isStreaming&&e++;return{total:t.activeClients.size,streaming:e}}function lme(){let t=process.memoryUsage(),e=Es.default.cpus();return{agent:{pid:process.pid,version:"2.3.1",nodeVersion:process.version,platform:`${process.platform}/${process.arch}`,uptimeSec:Math.round(process.uptime()),memory:{heapUsedMB:Math.round(t.heapUsed/1048576*10)/10,heapTotalMB:Math.round(t.heapTotal/1048576*10)/10,rssMB:Math.round(t.rss/1048576*10)/10,externalMB:Math.round(t.external/1048576*10)/10}},os:{hostname:Es.default.hostname(),platform:Es.default.platform(),arch:Es.default.arch(),uptimeSec:Math.round(Es.default.uptime()),loadAvg:Es.default.loadavg(),cpuModel:e?.[0]?.model||"unknown",cpuCount:e.length,totalMemMB:Math.round(Es.default.totalmem()/1048576),freeMemMB:Math.round(Es.default.freemem()/1048576)},remote:{available:Rm(),...cme(),memoryWarningThresholdMB:ee.resourceManagement.memoryWarningThreshold},timestamp:Date.now()}}function vW(t,e){try{ce(e,lme())}catch(r){De(e,500,"stats error",r.message)}}Xd();Ac();ir();TR();IR();var Ts=Qe("server"),_o=(0,bW.fileURLToPath)(new URL(".",__importMetaUrl)),wW=process.env.NODE_ENV==="development",ume=5173,kT=(0,Pa.existsSync)((0,mn.join)(_o,"ui","dist"))?(0,mn.join)(_o,"ui","dist"):(0,mn.join)(_o,"ui"),fme={".html":"text/html",".js":"application/javascript",".css":"text/css",".svg":"image/svg+xml",".png":"image/png",".ico":"image/x-icon",".woff2":"font/woff2",".woff":"font/woff"};function pme(t,e,r){let n=(0,dy.request)({hostname:"localhost",port:ume,path:t.url,method:t.method,headers:t.headers},i=>{e.writeHead(i.statusCode,i.headers),i.pipe(e)});n.on("error",()=>r?r():void(e.writeHead(502),e.end("Vite dev server not ready"))),t.pipe(n)}function yW(t,e){if(!(0,Pa.existsSync)(e))return!1;let r=fme[(0,mn.extname)(e)]||"application/octet-stream";return t.setHeader("Content-Type",r),t.writeHead(200),t.end((0,Pa.readFileSync)(e)),!0}async function MT(t){try{let e=await bu(Cy);if(!e.ok)return;let{version:r}=await e.json();r&&j8(t,r)&&(VP({version:r}),$t("updateAvailable",{version:r}),EB())}catch{}}var _W=0;function hme(t){let e=Date.now();e-_W<zu.connectCheckDebounceMs||(_W=e,MT(t))}function dme(t,e){if(process.env.CODESPACES!=="true"){De(e,400,"Not running on Codespaces");return}let r=process.env.CODESPACE_NAME;if(!r){De(e,400,"Codespace name not found");return}let n=Np();n&&n.emit("codespace:stopping"),ce(e,{success:!0,message:"Stopping codespace..."}),setTimeout(()=>(0,Ma.execFile)("gh",["codespace","stop","-c",r],{windowsHide:!0}),500)}var SW;async function xW(t,e,{pathname:r}){let n=t.headers.authorization;if(!n||!n.startsWith("Bearer ")||!py(n.slice(7))){De(e,401,"Unauthorized");return}let{parseJsonBody:i}=await Promise.resolve().then(()=>(Er(),Eo)),s=await i(t,e);if(s){if(!s.port){De(e,400,"Port required");return}r.endsWith("start")?w8(s.port):S8(s.port),ce(e,{success:!0})}}function mme(t,e,{pathname:r,search:n}){let i=r.match(/^\/proxy\/(\d+)(\/.*)?$/);i?T8(SW,t,e,i[1],i[2]||"/",n):De(e,404,"Not found")}var gme=[{path:"/api/health",method:"GET",public:!0,handler:(t,e)=>ce(e,{status:"ok",timestamp:Date.now()})},{path:"/api/version",method:"GET",public:!0,handler:(t,e)=>{ce(e,{version:"2.3.1"})}},{path:"/api/notify",method:"POST",public:!0,handler:sW},{path:"/api/notify",method:"GET",public:!0,handler:oW},{path:"/proxy/*",method:"*",public:!0,handler:mme},{path:"/api/ui/events",method:"GET",handler:QP},{path:"/api/local-token",method:"GET",handler:ZP},{path:"/api/ui/state",method:"GET",handler:eI},{path:"/api/ui/state",method:"POST",handler:tI},{path:"/api/ui/stop",method:"POST",handler:rI},{path:"/api/ui/start",method:"POST",handler:nI},{path:"/api/ui/stop-tunnel",method:"POST",handler:iI},{path:"/api/ui/shutdown",method:"POST",handler:sI},{path:"/api/update",method:"POST",handler:oI},{path:"/api/system/stats",method:"GET",handler:vW},{path:"/api/key/one-time",method:"POST",handler:H8},{path:"/api/key/regenerate",method:"POST",handler:W8},{path:"/api/device/approve",method:"POST",handler:z8},{path:"/api/device/reject",method:"POST",handler:G8},{path:"/api/device/pending",method:"GET",handler:V8},{path:"/api/device/approved",method:"GET",handler:K8},{path:"/api/device/rejected",method:"GET",handler:Y8},{path:"/api/device/approve-rejected",method:"POST",handler:Z8},{path:"/api/device/clear-rejected",method:"POST",handler:X8},{path:"/api/device/remove",method:"POST",handler:J8},{path:"/api/device/label",method:"POST",handler:tW},{path:"/api/device/disconnect",method:"POST",handler:Q8},{path:"/api/device/auto-approve",method:"GET",handler:eW},{path:"/api/device/auto-approve",method:"POST",handler:rW},{path:"/api/connections",method:"GET",handler:aI},{path:"/api/logs",method:"GET",handler:cI},{path:"/api/logs/clear",method:"POST",handler:lI},{path:"/api/permissions",method:"GET",handler:fI},{path:"/api/permissions/request",method:"POST",handler:dI},{path:"/api/desktop/toggle",method:"POST",handler:uI},{path:"/api/ui/rtc-toggle",method:"POST",handler:XP},{path:"/api/autostart",method:"GET",handler:pI},{path:"/api/autostart",method:"POST",handler:hI},{path:"/api/sleep-inhibit",method:"GET",handler:lW},{path:"/api/sleep-inhibit",method:"POST",handler:uW},{path:"/api/desktop-unlock",method:"GET",handler:fW},{path:"/api/desktop-unlock/install",method:"POST",handler:pW},{path:"/api/desktop-unlock/uninstall",method:"POST",handler:dW},{path:"/api/desktop-unlock/type",method:"POST",handler:hW},{path:"/api/sessions",method:"GET",handler:mW},{path:"/api/sessions/delete",method:"POST",handler:gW},{path:"/api/local-sites",method:"*",public:!0,handler:N8},{path:"/api/codespace/stop",method:"POST",handler:dme},{path:"/api/proxy/start",method:"POST",public:!0,handler:xW},{path:"/api/proxy/end",method:"POST",public:!0,handler:xW}];var vme=parseInt(process.env.PORT||"2208",10),Hp=null;function yme(t){if(process.platform!=="win32")try{let e=(0,Ma.execSync)(`pgrep -f "vite --config ${t}"`,{encoding:"utf8"}).trim();for(let r of e.split(`
|
|
352
|
-
`).filter(Boolean))if((0,Ma.execSync)(`ps -o ppid= -p ${r}`,{encoding:"utf8"}).trim()==="1")try{process.kill(Number(r))}catch{}}catch{}}function _me(){if(!wW)return;let t=(0,mn.join)(_o,"vite.config.js");if(!(0,Pa.existsSync)(t))return;yme(t);let e=(0,Pa.existsSync)((0,mn.join)(_o,"node_modules",".bin","vite"))?(0,mn.join)(_o,"node_modules",".bin","vite"):(0,mn.join)(_o,"..","node_modules",".bin","vite");Hp=(0,Ma.spawn)("node",[e,"--config",t],{cwd:_o,stdio:"ignore",detached:!1}),Hp.on("error",()=>{}),Hp.unref()}async function EW(){let t=nx(),e=t.sleepInhibitMode;e||(t.sleepInhibit===!1?e="never":e=ee.sleepInhibit?.defaultMode||"never"),nf(e),await SB(),SW=E8(),_me();let n=Ty(gme,{fallback:(c,l,{pathname:u})=>{if(u.startsWith("/api/")||u.startsWith("/socket.io")){De(l,404,"Not found");return}let f=!!c.headers["cf-connecting-ip"],h=c.socket.remoteAddress==="127.0.0.1"||c.socket.remoteAddress==="::1";if(f||!h){De(l,403,"Forbidden");return}let d=()=>{let g=u==="/"||u===""?(0,mn.join)(kT,"index.html"):(0,mn.join)(kT,u);yW(l,g)||yW(l,(0,mn.join)(kT,"index.html"))};if(wW){pme(c,l,d);return}d()}}),i=(0,dy.createServer)(async(c,l)=>{FH(l),!jH(c,l)&&await n(c,l)});V_(),$P(),HP();let s=()=>vx().catch(c=>Ts.error(`permission refresh failed: ${c?.message||c}`));s(),process.platform==="darwin"&&setInterval(s,RR),await BH(i),i.on("error",c=>{Ts.error(`HTTP server error: ${c?.message||c}`),c?.code==="EADDRINUSE"&&process.exit(1)}),i.listen(vme,c=>{if(c)throw c;let l="2.3.
|
|
351
|
+
`);for(let s of i){let o=s.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(o)for(let a of o){let c=parseInt(a.replace(/[:\*\]\s]/g,""),10);c>0&&c<=65535&&(c===80||c===443||c>=1024)&&e.add(c)}}return Array.from(e)}catch(r){return console.error("Failed to get listening ports:",r.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function eme(t,e=2e3){return new Promise(r=>{let n=R8.default.request({host:"localhost",port:t,method:"GET",path:"/",timeout:e},i=>{i.on("data",()=>{}),i.on("end",()=>{}),r({active:!0,protocol:"http",status:i.statusCode})});n.on("error",i=>{r({active:!1,error:i.message})}),n.on("timeout",()=>{n.destroy(),r({active:!1,error:"timeout"})}),n.end()})}function tme(t,e=2e3){return new Promise(r=>{let n=C8.default.request({host:"localhost",port:t,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},i=>{i.on("data",()=>{}),i.on("end",()=>{}),r({active:!0,protocol:"https",status:i.statusCode})});n.on("error",i=>{r({active:!1,error:i.message})}),n.on("timeout",()=>{n.destroy(),r({active:!1,error:"timeout"})}),n.end()})}async function rme(t){let[e,r]=await Promise.all([eme(t),tme(t)]);return r.active?{port:t,...r}:e.active?{port:t,...e}:{port:t,active:!1}}async function k8(){let t=await Qde();return(await Promise.all(t.map(r=>rme(r)))).filter(r=>r.active).map(r=>({port:r.port,protocol:r.protocol,url:`${r.protocol}://localhost:${r.port}`,name:`localhost:${r.port}`,status:r.status})).sort((r,n)=>r.port-n.port)}var M8=re(require("crypto"),1),nme=process.env.API_KEY_SECRET||"9remote-api-key-secret";function ime(){let t="abcdefghijklmnopqrstuvwxyz0123456789",e="";for(let r=0;r<4;r++)e+=t.charAt(Math.floor(Math.random()*t.length));return e}function P8(t,e){return M8.default.createHmac("sha256",nme).update(t+e).digest("hex").slice(0,6)}function I8(t){let e=t.slice(0,8),r=ime(),n=P8(e,r);return{key:`sk-${e}-${r}-${n}`,keyId:r}}function sme(t){if(!t||!t.startsWith("sk-"))return null;let e=t.split("-");if(e.length===4){let[,r,n,i]=e,s=P8(r,n);return i!==s?null:{machineId:r,keyId:n}}return null}function py(t){return sme(t)!==null}async function N8(t,e){let r=t.headers.authorization;if(!r||!r.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let n=r.slice(7);if(!py(n)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let i=await k8();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(i))}Bd();var B8=require("url");var hy=re(require("path"),1),F8=re(require("os"),1);nr();var D8=re(require("path"),1),L8=re(require("os"),1);var uEe=D8.default.join(L8.default.homedir(),".9remote","pids");ox();Sc();var _Ee=hy.default.dirname((0,B8.fileURLToPath)(__importMetaUrl));var xEe=hy.default.join(F8.default.homedir(),".9remote","cloudflared.pid");function j8(t,e){let r=t.split(".").map(Number),n=e.split(".").map(Number);for(let i=0;i<3;i++){if(n[i]>r[i])return!0;if(n[i]<r[i])return!1}return!1}var bEe=hy.default.join(we.STATE,zu.lockFile);_i();dg();Sc();Er();nr();Ac();var U8=re(q8(),1),OT=re(require("crypto"),1),{machineIdSync:ome}=U8.default;async function $8(t=null){let e=t||process.env.MACHINE_ID_SALT||"9remote-salt";try{let r=ome();return OT.default.createHash("sha256").update(r+e).digest("hex").substring(0,16)}catch(r){return console.error("Error getting machine ID:",r),OT.default.randomUUID().replace(/-/g,"").substring(0,16)}}_i();async function H8(t,e){let r=WP(),n=r.workerUrl||"https://9remote.cc";if(!r.permanentKey){De(e,400,"No permanent key set");return}try{let s=await(await bu(`${n}/api/temp-key/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:r.permanentKey,expiryMinutes:30})})).json(),o=`${n}/login?k=${s.tempKey}`;ts({oneTimeKey:s.tempKey,oneTimeKeyExpiresAt:s.expiresAt,qrUrl:o}),ce(e,{oneTimeKey:s.tempKey,expiresAt:s.expiresAt,qrUrl:o})}catch(i){De(e,500,i.message)}}async function W8(t,e){try{let r=await $8(),{key:n}=I8(r),i=_P();xP(r,n,i?.name||"Default"),ts({permanentKey:n}),ce(e,{ok:!0,permanentKey:n})}catch(r){De(e,500,r.message)}}Er();of();rm();async function z8(t,e){let r=await Sr(t,e);if(!r)return;let n=NH(r.socketId);ce(e,{ok:n})}async function G8(t,e){let r=await Sr(t,e);if(!r)return;let n=LH(r.socketId);ce(e,{ok:n})}function V8(t,e){ce(e,{pending:RI()})}function K8(t,e){ce(e,{devices:SI()})}function Y8(t,e){ce(e,{rejected:tm()})}async function Z8(t,e){let r=await Sr(t,e);if(!r)return;let n=DH(r.deviceId);ce(e,{ok:n})}async function X8(t,e){let r=await Sr(t,e);r&&(ay(r.deviceId),Gs(r.deviceId),ce(e))}async function J8(t,e){let r=await Sr(t,e);r&&(ay(r.deviceId),bI(r.deviceId),ce(e))}async function Q8(t,e){let r=await Sr(t,e);if(!r)return;let n=ay(r.deviceId);ce(e,{disconnected:n})}function eW(t,e){ce(e,{enabled:af()})}async function tW(t,e){let r=await Sr(t,e);if(!r)return;let n=wI(r.deviceId,r.label);ce(e,{ok:n})}async function rW(t,e){let r=await Sr(t,e);if(!r)return;let n=OI(!!r.enabled);ce(e,{enabled:n})}Er();of();Ws();ug();Pf();uw();var nW={},ame=1e4;function iW(t,e){if(e)return{type:e.type||"stop",sessionId:e.sessionId||"",tool:e.tool||"claude"};let r=JSON.parse(t||"{}");return{type:r.type||"stop",sessionId:r.sessionId||"",tool:r.tool||"claude"}}async function sW(t,e){let r="";await new Promise(n=>{t.on("data",i=>r+=i),t.on("end",n)});try{aW(iW(r,null)),ce(e,{success:!0})}catch{De(e,400,"Invalid JSON")}}function oW(t,e,{query:r}){aW(iW(null,r)),ce(e,{success:!0})}function aW({type:t,sessionId:e,tool:r}){let n=Date.now(),i=Np();if(!i||!e)return;let s={type:t,sessionId:e,tool:r,timestamp:n},a=fg({type:t,sessionId:e,tool:r})?.state||Jt.IDLE;if(Xt(i,"statusChange",{sessionId:e,state:a,tool:r,since:n}),ow(e,s),Xt(i,"chatNotification",s),a!==Jt.DONE&&a!==Jt.BLOCKED)return;let c=`${e}:${a}`;n-(nW[c]||0)<ame||(nW[c]=n,Z2({...s,state:a}))}Er();Xd();Ac();ir();_i();function cW(){return{mode:px(),active:fx(),presets:Object.keys(ee.sleepInhibit?.presets||{})}}function lW(t,e){ce(e,cW())}async function uW(t,e){let r=await Sr(t,e);if(!r)return;let n=nf(r.mode);yP({sleepInhibitMode:n});let i=cW();$t("sleepInhibit",i),ce(e,i)}Er();$x();async function fW(t,e){let r=await mm();ce(e,r)}async function pW(t,e){let r=await nN(),n=await mm();ce(e,{...r,...n})}async function hW(t,e){let r=await Sr(t,e);if(!r)return;if(typeof r.text!="string"||!r.text){De(e,400,"Missing text");return}let n=await df(r.text);ce(e,{ok:n.ok,reason:n.reason||null})}async function dW(t,e){let r=await rN(),n=await mm();ce(e,{...r,...n})}pf();Er();async function mW(t,e){try{let r=await cm();ce(e,{sessions:r})}catch(r){De(e,500,r.message)}}async function gW(t,e){let r=await Sr(t,e);if(r){if(!r.sessionId)return De(e,400,"sessionId required");try{await Wo(r.sessionId),ce(e)}catch(n){De(e,500,n.message)}}}var Es=re(require("os"),1);ir();Cm();Er();function cme(){let t=YN();if(!t?.activeClients)return{total:0,streaming:0};let e=0;for(let r of t.activeClients.values())r.isStreaming&&e++;return{total:t.activeClients.size,streaming:e}}function lme(){let t=process.memoryUsage(),e=Es.default.cpus();return{agent:{pid:process.pid,version:"2.3.2",nodeVersion:process.version,platform:`${process.platform}/${process.arch}`,uptimeSec:Math.round(process.uptime()),memory:{heapUsedMB:Math.round(t.heapUsed/1048576*10)/10,heapTotalMB:Math.round(t.heapTotal/1048576*10)/10,rssMB:Math.round(t.rss/1048576*10)/10,externalMB:Math.round(t.external/1048576*10)/10}},os:{hostname:Es.default.hostname(),platform:Es.default.platform(),arch:Es.default.arch(),uptimeSec:Math.round(Es.default.uptime()),loadAvg:Es.default.loadavg(),cpuModel:e?.[0]?.model||"unknown",cpuCount:e.length,totalMemMB:Math.round(Es.default.totalmem()/1048576),freeMemMB:Math.round(Es.default.freemem()/1048576)},remote:{available:Rm(),...cme(),memoryWarningThresholdMB:ee.resourceManagement.memoryWarningThreshold},timestamp:Date.now()}}function vW(t,e){try{ce(e,lme())}catch(r){De(e,500,"stats error",r.message)}}Xd();Ac();ir();TR();IR();var Ts=Qe("server"),_o=(0,bW.fileURLToPath)(new URL(".",__importMetaUrl)),wW=process.env.NODE_ENV==="development",ume=5173,kT=(0,Pa.existsSync)((0,mn.join)(_o,"ui","dist"))?(0,mn.join)(_o,"ui","dist"):(0,mn.join)(_o,"ui"),fme={".html":"text/html",".js":"application/javascript",".css":"text/css",".svg":"image/svg+xml",".png":"image/png",".ico":"image/x-icon",".woff2":"font/woff2",".woff":"font/woff"};function pme(t,e,r){let n=(0,dy.request)({hostname:"localhost",port:ume,path:t.url,method:t.method,headers:t.headers},i=>{e.writeHead(i.statusCode,i.headers),i.pipe(e)});n.on("error",()=>r?r():void(e.writeHead(502),e.end("Vite dev server not ready"))),t.pipe(n)}function yW(t,e){if(!(0,Pa.existsSync)(e))return!1;let r=fme[(0,mn.extname)(e)]||"application/octet-stream";return t.setHeader("Content-Type",r),t.writeHead(200),t.end((0,Pa.readFileSync)(e)),!0}async function MT(t){try{let e=await bu(Cy);if(!e.ok)return;let{version:r}=await e.json();r&&j8(t,r)&&(VP({version:r}),$t("updateAvailable",{version:r}),EB())}catch{}}var _W=0;function hme(t){let e=Date.now();e-_W<zu.connectCheckDebounceMs||(_W=e,MT(t))}function dme(t,e){if(process.env.CODESPACES!=="true"){De(e,400,"Not running on Codespaces");return}let r=process.env.CODESPACE_NAME;if(!r){De(e,400,"Codespace name not found");return}let n=Np();n&&n.emit("codespace:stopping"),ce(e,{success:!0,message:"Stopping codespace..."}),setTimeout(()=>(0,Ma.execFile)("gh",["codespace","stop","-c",r],{windowsHide:!0}),500)}var SW;async function xW(t,e,{pathname:r}){let n=t.headers.authorization;if(!n||!n.startsWith("Bearer ")||!py(n.slice(7))){De(e,401,"Unauthorized");return}let{parseJsonBody:i}=await Promise.resolve().then(()=>(Er(),Eo)),s=await i(t,e);if(s){if(!s.port){De(e,400,"Port required");return}r.endsWith("start")?w8(s.port):S8(s.port),ce(e,{success:!0})}}function mme(t,e,{pathname:r,search:n}){let i=r.match(/^\/proxy\/(\d+)(\/.*)?$/);i?T8(SW,t,e,i[1],i[2]||"/",n):De(e,404,"Not found")}var gme=[{path:"/api/health",method:"GET",public:!0,handler:(t,e)=>ce(e,{status:"ok",timestamp:Date.now()})},{path:"/api/version",method:"GET",public:!0,handler:(t,e)=>{ce(e,{version:"2.3.2"})}},{path:"/api/notify",method:"POST",public:!0,handler:sW},{path:"/api/notify",method:"GET",public:!0,handler:oW},{path:"/proxy/*",method:"*",public:!0,handler:mme},{path:"/api/ui/events",method:"GET",handler:QP},{path:"/api/local-token",method:"GET",handler:ZP},{path:"/api/ui/state",method:"GET",handler:eI},{path:"/api/ui/state",method:"POST",handler:tI},{path:"/api/ui/stop",method:"POST",handler:rI},{path:"/api/ui/start",method:"POST",handler:nI},{path:"/api/ui/stop-tunnel",method:"POST",handler:iI},{path:"/api/ui/shutdown",method:"POST",handler:sI},{path:"/api/update",method:"POST",handler:oI},{path:"/api/system/stats",method:"GET",handler:vW},{path:"/api/key/one-time",method:"POST",handler:H8},{path:"/api/key/regenerate",method:"POST",handler:W8},{path:"/api/device/approve",method:"POST",handler:z8},{path:"/api/device/reject",method:"POST",handler:G8},{path:"/api/device/pending",method:"GET",handler:V8},{path:"/api/device/approved",method:"GET",handler:K8},{path:"/api/device/rejected",method:"GET",handler:Y8},{path:"/api/device/approve-rejected",method:"POST",handler:Z8},{path:"/api/device/clear-rejected",method:"POST",handler:X8},{path:"/api/device/remove",method:"POST",handler:J8},{path:"/api/device/label",method:"POST",handler:tW},{path:"/api/device/disconnect",method:"POST",handler:Q8},{path:"/api/device/auto-approve",method:"GET",handler:eW},{path:"/api/device/auto-approve",method:"POST",handler:rW},{path:"/api/connections",method:"GET",handler:aI},{path:"/api/logs",method:"GET",handler:cI},{path:"/api/logs/clear",method:"POST",handler:lI},{path:"/api/permissions",method:"GET",handler:fI},{path:"/api/permissions/request",method:"POST",handler:dI},{path:"/api/desktop/toggle",method:"POST",handler:uI},{path:"/api/ui/rtc-toggle",method:"POST",handler:XP},{path:"/api/autostart",method:"GET",handler:pI},{path:"/api/autostart",method:"POST",handler:hI},{path:"/api/sleep-inhibit",method:"GET",handler:lW},{path:"/api/sleep-inhibit",method:"POST",handler:uW},{path:"/api/desktop-unlock",method:"GET",handler:fW},{path:"/api/desktop-unlock/install",method:"POST",handler:pW},{path:"/api/desktop-unlock/uninstall",method:"POST",handler:dW},{path:"/api/desktop-unlock/type",method:"POST",handler:hW},{path:"/api/sessions",method:"GET",handler:mW},{path:"/api/sessions/delete",method:"POST",handler:gW},{path:"/api/local-sites",method:"*",public:!0,handler:N8},{path:"/api/codespace/stop",method:"POST",handler:dme},{path:"/api/proxy/start",method:"POST",public:!0,handler:xW},{path:"/api/proxy/end",method:"POST",public:!0,handler:xW}];var vme=parseInt(process.env.PORT||"2208",10),Hp=null;function yme(t){if(process.platform!=="win32")try{let e=(0,Ma.execSync)(`pgrep -f "vite --config ${t}"`,{encoding:"utf8"}).trim();for(let r of e.split(`
|
|
352
|
+
`).filter(Boolean))if((0,Ma.execSync)(`ps -o ppid= -p ${r}`,{encoding:"utf8"}).trim()==="1")try{process.kill(Number(r))}catch{}}catch{}}function _me(){if(!wW)return;let t=(0,mn.join)(_o,"vite.config.js");if(!(0,Pa.existsSync)(t))return;yme(t);let e=(0,Pa.existsSync)((0,mn.join)(_o,"node_modules",".bin","vite"))?(0,mn.join)(_o,"node_modules",".bin","vite"):(0,mn.join)(_o,"..","node_modules",".bin","vite");Hp=(0,Ma.spawn)("node",[e,"--config",t],{cwd:_o,stdio:"ignore",detached:!1}),Hp.on("error",()=>{}),Hp.unref()}async function EW(){let t=nx(),e=t.sleepInhibitMode;e||(t.sleepInhibit===!1?e="never":e=ee.sleepInhibit?.defaultMode||"never"),nf(e),await SB(),SW=E8(),_me();let n=Ty(gme,{fallback:(c,l,{pathname:u})=>{if(u.startsWith("/api/")||u.startsWith("/socket.io")){De(l,404,"Not found");return}let f=!!c.headers["cf-connecting-ip"],h=c.socket.remoteAddress==="127.0.0.1"||c.socket.remoteAddress==="::1";if(f||!h){De(l,403,"Forbidden");return}let d=()=>{let g=u==="/"||u===""?(0,mn.join)(kT,"index.html"):(0,mn.join)(kT,u);yW(l,g)||yW(l,(0,mn.join)(kT,"index.html"))};if(wW){pme(c,l,d);return}d()}}),i=(0,dy.createServer)(async(c,l)=>{FH(l),!jH(c,l)&&await n(c,l)});V_(),$P(),HP();let s=()=>vx().catch(c=>Ts.error(`permission refresh failed: ${c?.message||c}`));s(),process.platform==="darwin"&&setInterval(s,RR),await BH(i),i.on("error",c=>{Ts.error(`HTTP server error: ${c?.message||c}`),c?.code==="EADDRINUSE"&&process.exit(1)}),i.listen(vme,c=>{if(c)throw c;let l="2.3.2";MT(l),setInterval(()=>MT(l),zu.checkIntervalMs),RB(()=>hme(l))});let o=!1,a=async c=>{if(o)return;o=!0,ux(),Ts.info(`\u{1F6D1} Received ${c}, shutting down gracefully...`);let l=setTimeout(()=>{Ts.error("\u26A0\uFE0F Forced exit"),process.exit(1)},5e3);try{if(i.close(()=>Ts.info("\u2713 HTTP server closed")),Hp)try{Hp.kill()}catch{}let u=Np();u&&(u.emit("server:shutdown"),u.close(()=>Ts.info("\u2713 Socket.IO closed"))),await new Promise(f=>setTimeout(f,500)),clearTimeout(l),Ts.info("\u2705 Server stopped cleanly"),process.exit(0)}catch(u){Ts.error(`\u274C Error during shutdown: ${u?.message||u}`),clearTimeout(l),process.exit(1)}};return process.on("SIGINT",()=>a("SIGINT")),process.on("SIGTERM",()=>a("SIGTERM")),process.platform==="win32"&&process.on("SIGBREAK",()=>a("SIGBREAK")),i}EW().catch(t=>{Ts.error(`Server failed to start: ${t?.stack||t?.message||t}`),process.exit(1)});0&&(module.exports={startServer});
|
|
353
353
|
/*! Bundled license information:
|
|
354
354
|
|
|
355
355
|
negotiator/index.js:
|