just-bash-nx 3.0.8 → 3.0.9

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.
@@ -71,4 +71,4 @@ Gid: ${n} ${n} ${n} ${n}
71
71
  `};let n=await It(e,t),{hasParamExpansion:a,hasCommandSub:i}=Se(r);if((a||i)&&!s&&!q(e.state.env)){let f=T(e.state.env);if(x(n,f).length>1)return{error:`bash: $${Zs(r)}: ambiguous redirect
72
72
  `}}if(s||e.state.options.noglob)return{target:n};let o=await Rr(e,t);if(!ne(o,e.state.shoptOptions.extglob))return{target:n};let c=new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),u=await c.expand(o);return u.length===0?c.hasFailglob()?{error:`bash: no match: ${n}
73
73
  `}:{target:n}:u.length===1?{target:u[0]}:{error:`bash: ${n}: ambiguous redirect
74
- `}}async function It(e,t){let r=t.parts,s=r.length;if(s===1){let i=await U(e,r[0]);return ce(i,e.limits.maxStringLength,"word expansion"),i}let n=[];for(let i=0;i<s;i++)n.push(await U(e,r[i]));let a=n.join("");return ce(a,e.limits.maxStringLength,"word expansion"),a}async function U(e,t,r=!1){if(t.type==="ParameterExpansion")return qe(e,t,r);let s=Gs(e,t,r);if(s!==null)return s;switch(t.type){case"DoubleQuoted":{let n=[];for(let a of t.parts)n.push(await U(e,a,!0));return n.join("")}case"CommandSubstitution":{let n=Pn(t.body);if(n)try{let h=await Rt(e,n.target),d=h.startsWith("/")?h:`${e.state.cwd}/${h}`,m=await e.fs.readFile(d);e.state.lastExitCode=0,e.state.env.set("?","0");let g=m.replace(/\n+$/,"");return ce(g,e.limits.maxStringLength,"command substitution"),g}catch(h){if(h instanceof L)throw h;return e.state.lastExitCode=1,e.state.env.set("?","1"),""}let a=e.substitutionDepth??0,i=e.limits.maxSubstitutionDepth;if(a>=i)throw new L(`Command substitution nesting limit exceeded (${i})`,"substitution_depth");let l=e.substitutionDepth;e.substitutionDepth=a+1;let o=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let c=new Map(e.state.env),u=e.state.cwd,f=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let h=await e.executeScript(t.body),d=h.exitCode;e.state.env=c,e.state.cwd=u,e.state.suppressVerbose=f,e.state.lastExitCode=d,e.state.env.set("?",String(d)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr),e.state.bashPid=o,e.substitutionDepth=l;let m=Pr(h).replace(/\n+$/,"");return ce(m,e.limits.maxStringLength,"command substitution"),m}catch(h){if(e.state.env=c,e.state.cwd=u,e.state.bashPid=o,e.substitutionDepth=l,e.state.suppressVerbose=f,h instanceof L)throw h;if(h instanceof K){e.state.lastExitCode=h.exitCode,e.state.env.set("?",String(h.exitCode)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr);let d=Pr({stdout:h.stdout,stdoutKind:h.stdoutKind,stdoutEncoding:h.stdoutEncoding}).replace(/\n+$/,"");return ce(d,e.limits.maxStringLength,"command substitution"),d}throw h}}case"ArithmeticExpansion":{let n=t.expression.originalText;if(n&&/\$[a-zA-Z_][a-zA-Z0-9_]*(?![{[(])/.test(n)){let i=await kn(e,n),l=new V,o=M(l,i);return String(await R(e,o.expression,!0))}return String(await R(e,t.expression.expression,!0))}case"BraceExpansion":{let n=[];for(let a of t.items)if(a.type==="Range"){let i=St(a.start,a.end,a.step,a.startStr,a.endStr);if(i.expanded)n.push(...i.expanded);else return i.literal}else n.push(await Rt(e,a.word));return n.join(" ")}default:return""}}async function qe(e,t,r=!1){let{parameter:s}=t,{operation:n}=t,a=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let[,h,d]=a;if(e.state.associativeArrays?.has(h)||d.includes("$(")||d.includes("`")||d.includes("${")){let g=await At(e,d);s=`${h}[${g}]`}}else if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s)&&W(e,s)){let h=he(e,s);if(h&&h!==s){let d=h.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(d){let[,m,g]=d;if(e.state.associativeArrays?.has(m)||g.includes("$(")||g.includes("`")||g.includes("${")){let A=await At(e,g);s=`${m}[${A}]`}}}}let i=n&&(n.type==="DefaultValue"||n.type==="AssignDefault"||n.type==="UseAlternative"||n.type==="ErrorIfUnset"),l=!1;i&&(l=!await X(e,s));let o=i?l?"":await v(e,s,!1):await v(e,s,!0);if(!n)return o;i||(l=!await X(e,s));let{isEmpty:c,effectiveValue:u}=Vn(e,s,o,r),f={value:o,isUnset:l,isEmpty:c,effectiveValue:u,inDoubleQuotes:r};switch(n.type){case"DefaultValue":return Rn(e,n,f,Y);case"AssignDefault":return In(e,s,n,f,Y);case"ErrorIfUnset":return vn(e,s,n,f,Y);case"UseAlternative":return Dn(e,n,f,Y);case"PatternRemoval":{let h=await xn(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern removal"),h}case"PatternReplacement":{let h=await _n(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern replacement"),h}case"Length":return $n(e,s,o);case"LengthSliceError":throw new re(s);case"BadSubstitution":throw new re(n.text);case"Substring":return Cn(e,s,o,n);case"CaseModification":{let h=await On(e,o,n,Y,qe);return ce(h,e.limits.maxStringLength,"case modification"),h}case"Transform":return Ln(e,s,o,l,n);case"Indirection":return Wn(e,s,o,l,n,qe,r);case"ArrayKeys":return Tn(e,n);case"VarNamePrefix":return Mn(e,n);default:return o}}export{Li as a,Wi as b,de as c,G as d,M as e,V as f,Ai as g,gt as h,Mi as i,yt as j,Vi as k,An as l,T as m,Bi as n,Fi as o,W as p,Gi as q,Qi as r,Zi as s,Ui as t,ds as u,he as v,be as w,Hi as x,P as y,we as z,v as A,J as B,wt as C,Aa as D,Nt as E,Sa as F,ba as G,wa as H,Il as I,Rt as J,vl as K,Dl as L,xl as M,Us as N,_l as O,R as P};
74
+ `}}async function It(e,t){let r=t.parts,s=r.length;if(s===1){let i=await U(e,r[0]);return ce(i,e.limits.maxStringLength,"word expansion"),i}let n=[];for(let i=0;i<s;i++)n.push(await U(e,r[i]));let a=n.join("");return ce(a,e.limits.maxStringLength,"word expansion"),a}async function U(e,t,r=!1){if(t.type==="ParameterExpansion")return qe(e,t,r);let s=Gs(e,t,r);if(s!==null)return s;switch(t.type){case"DoubleQuoted":{let n=[];for(let a of t.parts)n.push(await U(e,a,!0));return n.join("")}case"CommandSubstitution":{let n=Pn(t.body);if(n){e.state.commandSubstitutionUsed=!0;try{let h=await Rt(e,n.target),d=h.startsWith("/")?h:`${e.state.cwd}/${h}`,m=await e.fs.readFile(d);e.state.lastExitCode=0,e.state.env.set("?","0");let g=m.replace(/\n+$/,"");return ce(g,e.limits.maxStringLength,"command substitution"),g}catch(h){if(h instanceof L)throw h;return e.state.lastExitCode=1,e.state.env.set("?","1"),""}}e.state.commandSubstitutionUsed=!0;let a=e.substitutionDepth??0,i=e.limits.maxSubstitutionDepth;if(a>=i)throw new L(`Command substitution nesting limit exceeded (${i})`,"substitution_depth");let l=e.substitutionDepth;e.substitutionDepth=a+1;let o=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let c=new Map(e.state.env),u=e.state.cwd,f=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let h=await e.executeScript(t.body),d=h.exitCode;e.state.env=c,e.state.cwd=u,e.state.suppressVerbose=f,e.state.lastExitCode=d,e.state.env.set("?",String(d)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr),e.state.bashPid=o,e.substitutionDepth=l;let m=Pr(h).replace(/\n+$/,"");return ce(m,e.limits.maxStringLength,"command substitution"),m}catch(h){if(e.state.env=c,e.state.cwd=u,e.state.bashPid=o,e.substitutionDepth=l,e.state.suppressVerbose=f,h instanceof L)throw h;if(h instanceof K){e.state.lastExitCode=h.exitCode,e.state.env.set("?",String(h.exitCode)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr);let d=Pr({stdout:h.stdout,stdoutKind:h.stdoutKind,stdoutEncoding:h.stdoutEncoding}).replace(/\n+$/,"");return ce(d,e.limits.maxStringLength,"command substitution"),d}throw h}}case"ArithmeticExpansion":{let n=t.expression.originalText;if(n&&/\$[a-zA-Z_][a-zA-Z0-9_]*(?![{[(])/.test(n)){let i=await kn(e,n),l=new V,o=M(l,i);return String(await R(e,o.expression,!0))}return String(await R(e,t.expression.expression,!0))}case"BraceExpansion":{let n=[];for(let a of t.items)if(a.type==="Range"){let i=St(a.start,a.end,a.step,a.startStr,a.endStr);if(i.expanded)n.push(...i.expanded);else return i.literal}else n.push(await Rt(e,a.word));return n.join(" ")}default:return""}}async function qe(e,t,r=!1){let{parameter:s}=t,{operation:n}=t,a=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let[,h,d]=a;if(e.state.associativeArrays?.has(h)||d.includes("$(")||d.includes("`")||d.includes("${")){let g=await At(e,d);s=`${h}[${g}]`}}else if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s)&&W(e,s)){let h=he(e,s);if(h&&h!==s){let d=h.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(d){let[,m,g]=d;if(e.state.associativeArrays?.has(m)||g.includes("$(")||g.includes("`")||g.includes("${")){let A=await At(e,g);s=`${m}[${A}]`}}}}let i=n&&(n.type==="DefaultValue"||n.type==="AssignDefault"||n.type==="UseAlternative"||n.type==="ErrorIfUnset"),l=!1;i&&(l=!await X(e,s));let o=i?l?"":await v(e,s,!1):await v(e,s,!0);if(!n)return o;i||(l=!await X(e,s));let{isEmpty:c,effectiveValue:u}=Vn(e,s,o,r),f={value:o,isUnset:l,isEmpty:c,effectiveValue:u,inDoubleQuotes:r};switch(n.type){case"DefaultValue":return Rn(e,n,f,Y);case"AssignDefault":return In(e,s,n,f,Y);case"ErrorIfUnset":return vn(e,s,n,f,Y);case"UseAlternative":return Dn(e,n,f,Y);case"PatternRemoval":{let h=await xn(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern removal"),h}case"PatternReplacement":{let h=await _n(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern replacement"),h}case"Length":return $n(e,s,o);case"LengthSliceError":throw new re(s);case"BadSubstitution":throw new re(n.text);case"Substring":return Cn(e,s,o,n);case"CaseModification":{let h=await On(e,o,n,Y,qe);return ce(h,e.limits.maxStringLength,"case modification"),h}case"Transform":return Ln(e,s,o,l,n);case"Indirection":return Wn(e,s,o,l,n,qe,r);case"ArrayKeys":return Tn(e,n);case"VarNamePrefix":return Mn(e,n);default:return o}}export{Li as a,Wi as b,de as c,G as d,M as e,V as f,Ai as g,gt as h,Mi as i,yt as j,Vi as k,An as l,T as m,Bi as n,Fi as o,W as p,Gi as q,Qi as r,Zi as s,Ui as t,ds as u,he as v,be as w,Hi as x,P as y,we as z,v as A,J as B,wt as C,Aa as D,Nt as E,Sa as F,ba as G,wa as H,Il as I,Rt as J,vl as K,Dl as L,xl as M,Us as N,_l as O,R as P};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-O3SBI3K7.js";import"./chunk-C6FRS5UB.js";import"./chunk-63XSH3IT.js";import"./chunk-DHC3ILJI.js";import"./chunk-OBH7XN5N.js";import"./chunk-KGOUQS5A.js";export{d as escapeGlobChars,e as escapeRegexChars,l as expandRedirectTarget,g as expandWord,i as expandWordForPattern,h as expandWordForRegex,j as expandWordWithGlob,a as getArrayElements,c as getVariable,k as hasQuotedMultiValueAt,b as isArray,f as isWordFullyQuoted};
2
+ import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-LT26MLOT.js";import"./chunk-C6FRS5UB.js";import"./chunk-63XSH3IT.js";import"./chunk-DHC3ILJI.js";import"./chunk-OBH7XN5N.js";import"./chunk-KGOUQS5A.js";export{d as escapeGlobChars,e as escapeRegexChars,l as expandRedirectTarget,g as expandWord,i as expandWordForPattern,h as expandWordForRegex,j as expandWordWithGlob,a as getArrayElements,c as getVariable,k as hasQuotedMultiValueAt,b as isArray,f as isWordFullyQuoted};
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{B as Hn,C as Un,D as ue,E as Ue,F as ee,G as Se,H as Lt,I as Zn,J as I,K as qn,L as Gn,M as Ae,N as As,O as Ft,P as j,a as Ln,b as ws,c as Fn,d as It,e as Q,f as V,g as $e,h as se,i as Ce,j as Fe,k as vs,l as Rt,m as Wn,n as bs,o as Mn,p as ye,q as Te,r as zn,s as Vn,t as $s,u as Es,v as We,w as Bn,x as jn,y as Ee,z as Ss}from"./chunks/chunk-O3SBI3K7.js";import{a as Je,b as et,c as Le}from"./chunks/chunk-NTW6IA45.js";import{c as gs}from"./chunks/chunk-LIYVQA3X.js";import{a as On,b as Dn}from"./chunks/chunk-OOJCYVYF.js";import{a as Re,b as me,c as ys}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Rn}from"./chunks/chunk-MO4RPBN2.js";import{a as Qe,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as je,d as Tn,e as ms}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as le,d as pe,e as xn,f as B,g as He,h as Ot,i as Dt,j as In,k as Y,l as Tt,m as Ie,n as xt,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as ce}from"./chunks/chunk-RLNOQILG.js";import{a as De}from"./chunks/chunk-4VDEBYW7.js";import{a as Nn}from"./chunks/chunk-KGOUQS5A.js";import{readFile as ll}from"node:fs/promises";import{dirname as cl,resolve as kn}from"node:path";import{fileURLToPath as ul}from"node:url";var tt=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(tt.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),tt.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),tt.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),tt.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var _s=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(_s.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),_s.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),Cs.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Gi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Kn=new Map;function Wt(e){return{name:e.name,async execute(t,s){let n=Kn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Kn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Xn(e){return(e?tt.filter(s=>e.includes(s.name)):tt).map(Wt)}function Yn(){return Gi.map(Wt)}function Qn(){return _s.map(Wt)}function Jn(){return Cs.map(Wt)}function er(e){return"load"in e&&typeof e.load=="function"}function tr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function M(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function Ze(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Mt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function st(e,t){if(t.startsWith("/"))return L(t);let s=Ze(e);return L(gt(s,t))}var nt=new TextEncoder;function Ki(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Ki(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=Ze(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){M(t,"write");let i=L(t);this.ensureParentDirs(i);let o=Le(n),a=Je(s,o);this.data.set(i,{type:"file",content:a,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){M(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?nt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return et(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return et(s,"binary")}async readFileBuffer(t){M(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:nt.encode(r.content)}return n.content instanceof Uint8Array?n.content:nt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){M(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=Le(n),a=Je(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:nt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){M(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){M(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let o=0;o<n.length-1;o++){let a=n[o];r=`${r}/${a}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=st(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let o of n){r=`${r}/${o}`;let a=this.data.get(r),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=st(r,a.target),a=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){M(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=Ze(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){M(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=st(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){M(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=gt(n,o);await this.rm(a,s)}}}this.data.delete(n)}async cp(t,s,n){M(t,"cp"),M(s,"cp");let r=L(t),i=L(s),o=this.data.get(r);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(r);for(let l of a){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Mt(t,s)}async chmod(t,s){M(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){M(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){M(t,"link"),M(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(n,o)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){M(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){M(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){M(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=n}};function Xi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Yi(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function Qi(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function Ji(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Ln}
2
+ import{B as Hn,C as Un,D as ue,E as Ue,F as ee,G as Se,H as Lt,I as Zn,J as I,K as qn,L as Gn,M as Ae,N as As,O as Ft,P as j,a as Ln,b as ws,c as Fn,d as It,e as Q,f as V,g as $e,h as se,i as Ce,j as Fe,k as vs,l as Rt,m as Wn,n as bs,o as Mn,p as ye,q as Te,r as zn,s as Vn,t as $s,u as Es,v as We,w as Bn,x as jn,y as Ee,z as Ss}from"./chunks/chunk-LT26MLOT.js";import{a as Je,b as et,c as Le}from"./chunks/chunk-NTW6IA45.js";import{c as gs}from"./chunks/chunk-LIYVQA3X.js";import{a as On,b as Dn}from"./chunks/chunk-OOJCYVYF.js";import{a as Re,b as me,c as ys}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Rn}from"./chunks/chunk-MO4RPBN2.js";import{a as Qe,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as je,d as Tn,e as ms}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as le,d as pe,e as xn,f as B,g as He,h as Ot,i as Dt,j as In,k as Y,l as Tt,m as Ie,n as xt,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as ce}from"./chunks/chunk-RLNOQILG.js";import{a as De}from"./chunks/chunk-4VDEBYW7.js";import{a as Nn}from"./chunks/chunk-KGOUQS5A.js";import{readFile as ll}from"node:fs/promises";import{dirname as cl,resolve as kn}from"node:path";import{fileURLToPath as ul}from"node:url";var tt=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(tt.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),tt.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),tt.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),tt.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var _s=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(_s.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),_s.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),Cs.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Gi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Kn=new Map;function Wt(e){return{name:e.name,async execute(t,s){let n=Kn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Kn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Xn(e){return(e?tt.filter(s=>e.includes(s.name)):tt).map(Wt)}function Yn(){return Gi.map(Wt)}function Qn(){return _s.map(Wt)}function Jn(){return Cs.map(Wt)}function er(e){return"load"in e&&typeof e.load=="function"}function tr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function M(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function Ze(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Mt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function st(e,t){if(t.startsWith("/"))return L(t);let s=Ze(e);return L(gt(s,t))}var nt=new TextEncoder;function Ki(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Ki(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=Ze(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){M(t,"write");let i=L(t);this.ensureParentDirs(i);let o=Le(n),a=Je(s,o);this.data.set(i,{type:"file",content:a,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){M(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?nt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return et(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return et(s,"binary")}async readFileBuffer(t){M(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:nt.encode(r.content)}return n.content instanceof Uint8Array?n.content:nt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){M(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=Le(n),a=Je(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:nt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){M(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){M(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let o=0;o<n.length-1;o++){let a=n[o];r=`${r}/${a}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=st(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let o of n){r=`${r}/${o}`;let a=this.data.get(r),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=st(r,a.target),a=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){M(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=Ze(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){M(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=st(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){M(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=gt(n,o);await this.rm(a,s)}}}this.data.delete(n)}async cp(t,s,n){M(t,"cp"),M(s,"cp");let r=L(t),i=L(s),o=this.data.get(r);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(r);for(let l of a){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Mt(t,s)}async chmod(t,s){M(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){M(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){M(t,"link"),M(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(n,o)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){M(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){M(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){M(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=n}};function Xi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Yi(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function Qi(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function Ji(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Ln}
3
3
  `),e.writeFileSync("/proc/self/exe","/bin/bash"),e.writeFileSync("/proc/self/cmdline","bash\0"),e.writeFileSync("/proc/self/comm",`bash
4
4
  `),e.writeFileLazy?e.writeFileLazy("/proc/self/status",()=>ws(t)):e.writeFileSync("/proc/self/status",ws(t)),e.writeFileSync("/proc/self/fd/0","/dev/stdin"),e.writeFileSync("/proc/self/fd/1","/dev/stdout"),e.writeFileSync("/proc/self/fd/2","/dev/stderr")}function nr(e,t,s={pid:1,ppid:0,uid:1e3,gid:1e3}){Xi(e)&&(Yi(e,t),Qi(e),Ji(e,s))}var eo=["allexport","errexit","noglob","noclobber","noexec","nounset","pipefail","posix","verbose","xtrace"],to=["braceexpand","hashall","interactive-comments"];function ks(e){let t=[],s=[...to.map(n=>({name:n,enabled:!0})),...eo.map(n=>({name:n,enabled:e[n]}))].sort((n,r)=>n.name.localeCompare(r.name));for(let n of s)n.enabled&&t.push(n.name);return t.join(":")}function it(e){e.state.env.set("SHELLOPTS",ks(e.state.options))}var so=["dotglob","expand_aliases","extglob","failglob","globskipdots","globstar","lastpipe","nocaseglob","nocasematch","nullglob","xpg_echo"];function Ns(e){let t=[];for(let s of so)e[s]&&t.push(s);return t.join(":")}function Os(e){e.state.env.set("BASHOPTS",Ns(e.state.shoptOptions))}var no="BASH_ALIAS_";function rr(e){return e.parts.length!==1?!1:e.parts[0].type==="Literal"}function ir(e){if(e.parts.length!==1)return null;let t=e.parts[0];return t.type==="Literal"?t.value:null}function or(e,t){return e.env.get(`${no}${t}`)}function Ds(e,t,s){if(!t.name||!rr(t.name))return t;let n=ir(t.name);if(!n)return t;let r=or(e,n);if(!r||s.has(n))return t;try{s.add(n);let i=new V,o=r,a=r.endsWith(" ");if(!a)for(let f of t.args){let d=lr(f);o+=` ${d}`}let l;try{l=i.parse(o)}catch(f){if(f instanceof It)throw f;return t}if(l.statements.length!==1||l.statements[0].pipelines.length!==1||l.statements[0].pipelines[0].commands.length!==1)return ar(t,r);let c=l.statements[0].pipelines[0].commands[0];if(c.type!=="SimpleCommand")return ar(t,r);let u={...c,assignments:[...t.assignments,...c.assignments],redirections:[...c.redirections,...t.redirections],line:t.line};if(a&&t.args.length>0&&(u={...u,args:[...u.args,...t.args]},u.args.length>0)){let f=u.args[0];if(rr(f)){let d=ir(f);if(d&&or(e,d)){let h={type:"SimpleCommand",name:f,args:u.args.slice(1),assignments:[],redirections:[]},m=Ds(e,h,s);m!==h&&(u={...u,name:m.name,args:[...m.args]})}}}return u}catch(i){throw s.delete(n),i}}function ar(e,t){let s=t;for(let o of e.args){let a=lr(o);s+=` ${a}`}let n=new V,r=n.parseWordFromString("eval",!1,!1),i=n.parseWordFromString(`'${s.replace(/'/g,"'\\''")}'`,!1,!1);return{type:"SimpleCommand",name:r,args:[i],assignments:e.assignments,redirections:e.redirections,line:e.line}}function lr(e){let t="";for(let s of e.parts)switch(s.type){case"Literal":t+=s.value.replace(/([\s"'$`\\*?[\]{}()<>|&;#!])/g,"\\$1");break;case"SingleQuoted":t+=`'${s.value}'`;break;case"DoubleQuoted":t+=`"${s.parts.map(n=>n.type==="Literal"?n.value:`$${n.type}`).join("")}"`;break;case"ParameterExpansion":t+=`\${${s.parameter}}`;break;case"CommandSubstitution":t+="$(...)";break;case"ArithmeticExpansion":t+=`$((${s.expression}))`;break;case"Glob":t+=s.pattern;break;default:break}return t}async function cr(e,t){let s=t.parts.map(u=>u.type==="Literal"?u.value:"\0").join(""),n=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);if(!n||!s.endsWith(")"))return null;let r=n[1],i=[],o=!1,a="",l=!1;for(let u of t.parts)if(u.type==="Literal"){let f=u.value;if(!o){let d=f.indexOf("=(");d!==-1&&(o=!0,f=f.slice(d+2))}if(o){f.endsWith(")")&&(f=f.slice(0,-1));let d=f.split(/(\s+)/);for(let h of d)/^\s+$/.test(h)?(a||l)&&(i.push(a),a="",l=!1):h&&(a+=h)}}else if(o)if(u.type==="BraceExpansion")if(/^\[.+\]=/.test(a))a+=Rt({type:"Word",parts:[u]});else{(a||l)&&(i.push(a),a="",l=!1);let d=await Ae(e,{type:"Word",parts:[u]});i.push(...d.values)}else{(u.type==="SingleQuoted"||u.type==="DoubleQuoted"||u.type==="Escaped")&&(l=!0);let f=await I(e,{type:"Word",parts:[u]});a+=f}(a||l)&&i.push(a);let c=i.map(u=>/^\[.+\]=/.test(u)?u:u===""?"''":/[\s"'\\$`!*?[\]{}|&;<>()]/.test(u)&&!u.startsWith("'")&&!u.startsWith('"')?`'${u.replace(/'/g,"'\\''")}'`:u);return`${r}=(${c.join(" ")})`}async function ur(e,t){let s=-1,n=-1,r=!1;for(let p=0;p<t.parts.length;p++){let g=t.parts[p];if(g.type==="Literal"){let w=g.value.indexOf("+=");if(w!==-1){let v=g.value.slice(0,w);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)){s=p,n=w,r=!0;break}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=w,r=!0;break}}let y=g.value.indexOf("=");if(y!==-1&&(y===0||g.value[y-1]!=="+")){let v=g.value.slice(0,y);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)||/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=y;break}}}}if(s===-1)return null;let i=t.parts.slice(0,s),o=t.parts[s];if(o.type!=="Literal")return null;let a=r?2:1,l=o.value.slice(0,n),c=o.value.slice(n+a),u=t.parts.slice(s+1),f="";for(let p of i)f+=await I(e,{type:"Word",parts:[p]});f+=l;let d={type:"Word",parts:c!==""?[{type:"Literal",value:c},...u]:u},h=d.parts.length>0?await I(e,d):"";return`${f}${r?"+=":"="}${h}`}var ro=["tar","yq","xan","sqlite3","python3","python"];function fr(e){return ro.includes(e)}var F=Object.freeze({stdout:"",stderr:"",exitCode:0});function W(e=""){return{stdout:e,stderr:"",exitCode:0}}function P(e,t=1){return{stdout:"",stderr:e,exitCode:t}}function k(e,t,s){return{stdout:e,stderr:t,exitCode:s}}function X(e){return{stdout:"",stderr:"",exitCode:e?0:1}}function Pe(e,t,s="",n=""){throw new Y(e,t,s,n)}function ie(e){let t=e.state.fileDescriptors;if(t&&t.size>=e.limits.maxFileDescriptors)throw new Y(`too many open file descriptors (max ${e.limits.maxFileDescriptors})`,"file_descriptors")}function Ts(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new Ie;return F}if(t.length>1)throw new B(1,"",`bash: break: too many arguments
5
5
  `);let s=1;if(t.length>0){let n=Number.parseInt(t[0],10);if(Number.isNaN(n)||n<1)throw new B(128,"",`bash: break: ${t[0]}: numeric argument required
@@ -652,7 +652,7 @@ sys 0m0.000s
652
652
  `,1)}}if(r=Math.max(...i.map(([a])=>typeof a=="number"?a:0))+1+r,r<0){let a=e.state.currentLine;return{index:0,error:k("",`bash: line ${a}: ${t}[${s}]: bad array subscript
653
653
  `,1)}}}return{index:r}}async function ma(e,t,s,n,r,i){let o="",a=s,l=null;if(ye(e,s)){let f=jn(e,s,n);if(f===void 0)return{continueToNext:!1,xtraceOutput:"",error:k("",`bash: ${s}: circular name reference
654
654
  `,1)};if(f===null)return{continueToNext:!0,xtraceOutput:""};a=f;let d=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);d&&(l={arrayName:d[1],subscriptExpr:d[2]},a=d[1])}if(Ue(e,a)){if(t.name)return o+=`bash: ${a}: readonly variable
655
- `,{continueToNext:!0,xtraceOutput:o};let f=ee(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,a))try{let f=new V;if(r){let h=`(${e.state.env.get(a)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js"),d=f(e,a)?`${a}_0`:a;c=r?(e.state.env.get(d)||"")+n:n}c=ut(e,a,c),o+=await mi(e,a,c);let u=a;if(l)u=await ya(e,l);else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js");f(e,a)&&(u=`${a}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(a)),e.state.tempEnvBindings?.some(f=>f.has(a))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(a))),{continueToNext:!1,xtraceOutput:o}}async function ya(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return vi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let o=new V,a=Q(o,n);i=await j(e,a.expression,!1)}catch{let o=e.state.env.get(n);i=o?Number.parseInt(o,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let o=Ee(e,s);o.length>0&&(i=Math.max(...o.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function bi(e,t,s,n){let r=await Ne(e,t.redirections);if(r)return r;let i=new Map(e.state.env),o=e.state.cwd,a={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=o,e.state.options=a,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Ie){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof le){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=k(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=k(y,`${v}${De(E)}
655
+ `,{continueToNext:!0,xtraceOutput:o};let f=ee(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,a))try{let f=new V;if(r){let h=`(${e.state.env.get(a)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-QVZM74A7.js"),d=f(e,a)?`${a}_0`:a;c=r?(e.state.env.get(d)||"")+n:n}c=ut(e,a,c),o+=await mi(e,a,c);let u=a;if(l)u=await ya(e,l);else{let{isArray:f}=await import("./chunks/expansion-QVZM74A7.js");f(e,a)&&(u=`${a}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(a)),e.state.tempEnvBindings?.some(f=>f.has(a))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(a))),{continueToNext:!1,xtraceOutput:o}}async function ya(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return vi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let o=new V,a=Q(o,n);i=await j(e,a.expression,!1)}catch{let o=e.state.env.get(n);i=o?Number.parseInt(o,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let o=Ee(e,s);o.length>0&&(i=Math.max(...o.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function bi(e,t,s,n){let r=await Ne(e,t.redirections);if(r)return r;let i=new Map(e.state.env),o=e.state.cwd,a={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=o,e.state.options=a,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Ie){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof le){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=k(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=k(y,`${v}${De(E)}
656
656
  `,1);return q(e,O,t.redirections)}S();let $=k(y,v,b);return q(e,$,t.redirections)}async function $i(e,t,s,n){let r="",i="",o=0,a=await ts(e,t.redirections);if(a)return a;let l=s;for(let f of t.redirections)if((f.operator==="<<"||f.operator==="<<-")&&f.target.type==="HereDoc"){let d=f.target,h=await I(e,d.content);d.stripTabs&&(h=h.split(`
657
657
  `).map(p=>p.replace(/^\t+/,"")).join(`
658
658
  `));let m=f.fd??0;m!==0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),ie(e),e.state.fileDescriptors.set(m,h)):l=h}else if(f.operator==="<<<"&&f.target.type==="Word")l=`${await I(e,f.target)}
@@ -662,7 +662,7 @@ sys 0m0.000s
662
662
  `,127)}if(i.startsWith("#!")){let g=i.indexOf(`
663
663
  `);g!==-1&&(i=i.slice(g+1))}let o=new Map(e.state.env),a=e.state.cwd,l={...e.state.options},c=e.state.loopDepth,u=e.state.parentHasLoopContext,f=e.state.lastArg,d=e.state.bashPid,h=e.state.groupStdin,m=e.state.currentSource;e.state.parentHasLoopContext=c>0,e.state.loopDepth=0,e.state.bashPid=e.state.nextVirtualPid++,n&&(e.state.groupStdin=n),e.state.currentSource=t,e.state.env.set("0",t),e.state.env.set("#",String(s.length)),e.state.env.set("@",s.join(" ")),e.state.env.set("*",s.join(" "));for(let g=0;g<s.length&&g<9;g++)e.state.env.set(String(g+1),s[g]);for(let g=s.length+1;g<=9;g++)e.state.env.delete(String(g));let p=()=>{e.state.env=o,e.state.cwd=a,e.state.options=l,e.state.loopDepth=c,e.state.parentHasLoopContext=u,e.state.lastArg=f,e.state.bashPid=d,e.state.groupStdin=h,e.state.currentSource=m};try{let w=new V().parse(i),y=await r(w);return p(),y}catch(g){if(p(),g instanceof B||g instanceof Y)throw g;if(g.name==="ParseException")return P(`bash: ${t}: ${g.message}
664
664
  `);throw g}}function ga(e){let t=s=>{for(let n of s){if(n.type==="CommandSubstitution"||n.type==="DoubleQuoted"&&t(n.parts))return!0;if(n.type==="BraceExpansion"){for(let r of n.items)if(r.type==="Word"&&t(r.word.parts))return!0}}return!1};return t(e.parts)}var _t=class{ctx;constructor(t,s){this.ctx={state:s,fs:t.fs,commands:t.commands,limits:t.limits,execFn:t.exec,executeScript:this.executeScript.bind(this),executeStatement:this.executeStatement.bind(this),executeCommand:this.executeCommand.bind(this),fetch:t.fetch,sleep:t.sleep,trace:t.trace,coverage:t.coverage,requireDefenseContext:t.requireDefenseContext??!1,jsBootstrapCode:t.jsBootstrapCode,invokeTool:t.invokeTool}}assertDefenseContext(t){if(!this.ctx.requireDefenseContext||ve.isInSandboxedContext())return;let s=`interpreter ${t} attempted outside defense context`;throw new Qe(s,{timestamp:Date.now(),type:"missing_defense_context",message:s,path:"DefenseInDepthBox.context",stack:new Error().stack,executionId:ve.getCurrentExecutionId()})}buildExportedEnv(){let t=this.ctx.state.exportedVars,s=this.ctx.state.tempExportedVars,n=new Set;if(t)for(let i of t)n.add(i);if(s)for(let i of s)n.add(i);if(n.size===0)return Object.create(null);let r=Object.create(null);for(let i of n){let o=this.ctx.state.env.get(i);o!==void 0&&(r[i]=o)}return r}async executeScript(t){this.assertDefenseContext("execution");let s="",n="",r=0,i=this.ctx.limits.maxOutputSize,o=(a,l)=>{s.length+n.length+a.length+l.length>i&&Pe(`total output size exceeded (>${i} bytes), increase executionLimits.maxOutputSize`,"output_size"),s+=a,n+=l};for(let a of t.statements)try{let l=await this.executeStatement(a);o(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}catch(l){if(l instanceof B)throw l.prependOutput(s,n),l;if(l instanceof be)return o(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof Y)throw l;if(l instanceof pe)return o(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof xn)return o(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof Ot)return o(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)};if(l instanceof He){o(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof In){o(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof de||l instanceof he){if(this.ctx.state.loopDepth>0)throw l.prependOutput(s,n),l;o(l.stdout,l.stderr);continue}throw l instanceof le&&l.prependOutput(s,n),l}return{stdout:s,stderr:n,exitCode:r,env:Re(this.ctx.state.env)}}async executeUserScript(t,s,n=""){return Ei(this.ctx,t,s,n,r=>this.executeScript(r))}async executeStatement(t){if(this.assertDefenseContext("statement"),this.ctx.state.signal?.aborted)throw new Tt;if(this.ctx.state.commandCount++,this.ctx.state.commandCount>this.ctx.limits.maxCommandCount&&Pe(`too many commands executed (>${this.ctx.limits.maxCommandCount}), increase executionLimits.maxCommandCount`,"commands"),t.deferredError)throw new It(t.deferredError.message,t.line??1,1);if(this.ctx.state.options.noexec)return F;this.ctx.state.errexitSafe=!1;let s="",n="";this.ctx.state.options.verbose&&!this.ctx.state.suppressVerbose&&t.sourceText&&(n+=`${t.sourceText}
665
- `);let r=0,i=-1,o=!1;for(let c=0;c<t.pipelines.length;c++){let u=t.pipelines[c],f=c>0?t.operators[c-1]:null;if(f==="&&"&&r!==0||f==="||"&&r===0)continue;let d=await this.executePipeline(u);s+=d.stdout,n+=d.stderr,r=d.exitCode,i=c,o=u.negated,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}let a=i<t.pipelines.length-1,l=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=a||o||l,this.ctx.state.options.errexit&&r!==0&&i===t.pipelines.length-1&&!o&&!this.ctx.state.inCondition&&!l)throw new pe(r,s,n);return k(s,n,r)}async executePipeline(t){return gi(this.ctx,t,(s,n)=>this.executeCommand(s,n))}async executeCommand(t,s){switch(this.assertDefenseContext("command"),this.ctx.coverage?.hit(`bash:cmd:${t.type}`),t.type){case"SimpleCommand":return this.executeSimpleCommand(t,s);case"If":return ii(this.ctx,t);case"For":return oi(this.ctx,t);case"CStyleFor":return ai(this.ctx,t);case"While":return li(this.ctx,t,s);case"Until":return ci(this.ctx,t);case"Case":return ui(this.ctx,t);case"Subshell":return this.executeSubshell(t,s);case"Group":return this.executeGroup(t,s);case"FunctionDef":return Cr(this.ctx,t);case"ArithmeticCommand":return this.executeArithmeticCommand(t);case"ConditionalCommand":return this.executeConditionalCommand(t);default:return F}}async executeSimpleCommand(t,s){try{return await this.executeSimpleCommandInner(t,s)}catch(n){if(n instanceof Dt)return P(n.stderr);throw n}}async executeSimpleCommandInner(t,s){if(t.line!==void 0&&(this.ctx.state.currentLine=t.line),this.ctx.state.shoptOptions.expand_aliases&&t.name){let $=t,E=100;for(;E>0;){let O=this.expandAlias($);if(O===$)break;$=O,E--}this.aliasExpansionStack.clear(),$!==t&&(t=$)}this.ctx.state.expansionStderr="";let n=await wi(this.ctx,t);if(n.error)return n.error;let r=n.tempAssignments,i=n.xtraceOutput;if(!t.name){if(t.redirections.length>0){let E=await Ne(this.ctx,t.redirections);if(E)return E;let O=k("",i,0);return q(this.ctx,O,t.redirections)}this.ctx.state.lastArg="";let $=(this.ctx.state.expansionStderr||"")+i;return this.ctx.state.expansionStderr="",k("",$,this.ctx.state.lastExitCode)}let o=t.name&&Sn(t.name,["local","declare","typeset","export","readonly"]),a=Array.from(r.keys());if(a.length>0&&!o){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let $ of a)this.ctx.state.tempExportedVars.add($)}let l=await ts(this.ctx,t.redirections);if(l){for(let[$,E]of r)E===void 0?this.ctx.state.env.delete($):this.ctx.state.env.set($,E);return l}let c=-1;for(let $ of t.redirections){if(($.operator==="<<"||$.operator==="<<-")&&$.target.type==="HereDoc"){let E=$.target,O=await I(this.ctx,E.content);E.stripTabs&&(O=O.split(`
665
+ `);let r=0,i=-1,o=!1;for(let c=0;c<t.pipelines.length;c++){let u=t.pipelines[c],f=c>0?t.operators[c-1]:null;if(f==="&&"&&r!==0||f==="||"&&r===0)continue;let d=await this.executePipeline(u);s+=d.stdout,n+=d.stderr,r=d.exitCode,i=c,o=u.negated,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}let a=i<t.pipelines.length-1,l=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=a||o||l,this.ctx.state.options.errexit&&r!==0&&i===t.pipelines.length-1&&!o&&!this.ctx.state.inCondition&&!l)throw new pe(r,s,n);return k(s,n,r)}async executePipeline(t){return gi(this.ctx,t,(s,n)=>this.executeCommand(s,n))}async executeCommand(t,s){switch(this.assertDefenseContext("command"),this.ctx.coverage?.hit(`bash:cmd:${t.type}`),t.type){case"SimpleCommand":return this.executeSimpleCommand(t,s);case"If":return ii(this.ctx,t);case"For":return oi(this.ctx,t);case"CStyleFor":return ai(this.ctx,t);case"While":return li(this.ctx,t,s);case"Until":return ci(this.ctx,t);case"Case":return ui(this.ctx,t);case"Subshell":return this.executeSubshell(t,s);case"Group":return this.executeGroup(t,s);case"FunctionDef":return Cr(this.ctx,t);case"ArithmeticCommand":return this.executeArithmeticCommand(t);case"ConditionalCommand":return this.executeConditionalCommand(t);default:return F}}async executeSimpleCommand(t,s){try{return await this.executeSimpleCommandInner(t,s)}catch(n){if(n instanceof Dt)return P(n.stderr);throw n}}async executeSimpleCommandInner(t,s){if(t.line!==void 0&&(this.ctx.state.currentLine=t.line),this.ctx.state.shoptOptions.expand_aliases&&t.name){let $=t,E=100;for(;E>0;){let O=this.expandAlias($);if(O===$)break;$=O,E--}this.aliasExpansionStack.clear(),$!==t&&(t=$)}this.ctx.state.expansionStderr="",this.ctx.state.commandSubstitutionUsed=!1;let n=await wi(this.ctx,t);if(n.error)return n.error;let r=n.tempAssignments,i=n.xtraceOutput;if(!t.name){if(t.redirections.length>0){let O=await Ne(this.ctx,t.redirections);if(O)return O;let _=k("",i,0);return q(this.ctx,_,t.redirections)}this.ctx.state.lastArg="";let $=(this.ctx.state.expansionStderr||"")+i;this.ctx.state.expansionStderr="";let E=this.ctx.state.commandSubstitutionUsed?this.ctx.state.lastExitCode:0;return k("",$,E)}let o=t.name&&Sn(t.name,["local","declare","typeset","export","readonly"]),a=Array.from(r.keys());if(a.length>0&&!o){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let $ of a)this.ctx.state.tempExportedVars.add($)}let l=await ts(this.ctx,t.redirections);if(l){for(let[$,E]of r)E===void 0?this.ctx.state.env.delete($):this.ctx.state.env.set($,E);return l}let c=-1;for(let $ of t.redirections){if(($.operator==="<<"||$.operator==="<<-")&&$.target.type==="HereDoc"){let E=$.target,O=await I(this.ctx,E.content);E.stripTabs&&(O=O.split(`
666
666
  `).map(D=>D.replace(/^\t+/,"")).join(`
667
667
  `)),O=je(O);let _=$.fd??0;_!==0?(this.ctx.state.fileDescriptors||(this.ctx.state.fileDescriptors=new Map),ie(this.ctx),this.ctx.state.fileDescriptors.set(_,O)):s=O;continue}if($.operator==="<<<"&&$.target.type==="Word"){s=je(`${await I(this.ctx,$.target)}
668
668
  `);continue}if($.operator==="<"&&$.target.type==="Word")try{let E=await I(this.ctx,$.target),O=this.ctx.fs.resolvePath(this.ctx.state.cwd,E);s=await Tn(this.ctx.fs,O)}catch{let E=await I(this.ctx,$.target);for(let[O,_]of r)_===void 0?this.ctx.state.env.delete(O):this.ctx.state.env.set(O,_);return P(`bash: ${E}: No such file or directory
@@ -71,4 +71,4 @@ Gid: ${n} ${n} ${n} ${n}
71
71
  `};let n=await It(e,t),{hasParamExpansion:a,hasCommandSub:i}=Se(r);if((a||i)&&!s&&!q(e.state.env)){let f=T(e.state.env);if(x(n,f).length>1)return{error:`bash: $${Zs(r)}: ambiguous redirect
72
72
  `}}if(s||e.state.options.noglob)return{target:n};let o=await Rr(e,t);if(!ne(o,e.state.shoptOptions.extglob))return{target:n};let c=new oe(e.fs,e.state.cwd,e.state.env,{globstar:e.state.shoptOptions.globstar,nullglob:e.state.shoptOptions.nullglob,failglob:e.state.shoptOptions.failglob,dotglob:e.state.shoptOptions.dotglob,extglob:e.state.shoptOptions.extglob,globskipdots:e.state.shoptOptions.globskipdots,maxGlobOperations:e.limits.maxGlobOperations}),u=await c.expand(o);return u.length===0?c.hasFailglob()?{error:`bash: no match: ${n}
73
73
  `}:{target:n}:u.length===1?{target:u[0]}:{error:`bash: ${n}: ambiguous redirect
74
- `}}async function It(e,t){let r=t.parts,s=r.length;if(s===1){let i=await U(e,r[0]);return ce(i,e.limits.maxStringLength,"word expansion"),i}let n=[];for(let i=0;i<s;i++)n.push(await U(e,r[i]));let a=n.join("");return ce(a,e.limits.maxStringLength,"word expansion"),a}async function U(e,t,r=!1){if(t.type==="ParameterExpansion")return qe(e,t,r);let s=Gs(e,t,r);if(s!==null)return s;switch(t.type){case"DoubleQuoted":{let n=[];for(let a of t.parts)n.push(await U(e,a,!0));return n.join("")}case"CommandSubstitution":{let n=Pn(t.body);if(n)try{let h=await Rt(e,n.target),d=h.startsWith("/")?h:`${e.state.cwd}/${h}`,m=await e.fs.readFile(d);e.state.lastExitCode=0,e.state.env.set("?","0");let g=m.replace(/\n+$/,"");return ce(g,e.limits.maxStringLength,"command substitution"),g}catch(h){if(h instanceof L)throw h;return e.state.lastExitCode=1,e.state.env.set("?","1"),""}let a=e.substitutionDepth??0,i=e.limits.maxSubstitutionDepth;if(a>=i)throw new L(`Command substitution nesting limit exceeded (${i})`,"substitution_depth");let l=e.substitutionDepth;e.substitutionDepth=a+1;let o=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let c=new Map(e.state.env),u=e.state.cwd,f=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let h=await e.executeScript(t.body),d=h.exitCode;e.state.env=c,e.state.cwd=u,e.state.suppressVerbose=f,e.state.lastExitCode=d,e.state.env.set("?",String(d)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr),e.state.bashPid=o,e.substitutionDepth=l;let m=Pr(h).replace(/\n+$/,"");return ce(m,e.limits.maxStringLength,"command substitution"),m}catch(h){if(e.state.env=c,e.state.cwd=u,e.state.bashPid=o,e.substitutionDepth=l,e.state.suppressVerbose=f,h instanceof L)throw h;if(h instanceof K){e.state.lastExitCode=h.exitCode,e.state.env.set("?",String(h.exitCode)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr);let d=Pr({stdout:h.stdout,stdoutKind:h.stdoutKind,stdoutEncoding:h.stdoutEncoding}).replace(/\n+$/,"");return ce(d,e.limits.maxStringLength,"command substitution"),d}throw h}}case"ArithmeticExpansion":{let n=t.expression.originalText;if(n&&/\$[a-zA-Z_][a-zA-Z0-9_]*(?![{[(])/.test(n)){let i=await kn(e,n),l=new V,o=M(l,i);return String(await R(e,o.expression,!0))}return String(await R(e,t.expression.expression,!0))}case"BraceExpansion":{let n=[];for(let a of t.items)if(a.type==="Range"){let i=St(a.start,a.end,a.step,a.startStr,a.endStr);if(i.expanded)n.push(...i.expanded);else return i.literal}else n.push(await Rt(e,a.word));return n.join(" ")}default:return""}}async function qe(e,t,r=!1){let{parameter:s}=t,{operation:n}=t,a=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let[,h,d]=a;if(e.state.associativeArrays?.has(h)||d.includes("$(")||d.includes("`")||d.includes("${")){let g=await At(e,d);s=`${h}[${g}]`}}else if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s)&&W(e,s)){let h=he(e,s);if(h&&h!==s){let d=h.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(d){let[,m,g]=d;if(e.state.associativeArrays?.has(m)||g.includes("$(")||g.includes("`")||g.includes("${")){let A=await At(e,g);s=`${m}[${A}]`}}}}let i=n&&(n.type==="DefaultValue"||n.type==="AssignDefault"||n.type==="UseAlternative"||n.type==="ErrorIfUnset"),l=!1;i&&(l=!await X(e,s));let o=i?l?"":await v(e,s,!1):await v(e,s,!0);if(!n)return o;i||(l=!await X(e,s));let{isEmpty:c,effectiveValue:u}=Vn(e,s,o,r),f={value:o,isUnset:l,isEmpty:c,effectiveValue:u,inDoubleQuotes:r};switch(n.type){case"DefaultValue":return Rn(e,n,f,Y);case"AssignDefault":return In(e,s,n,f,Y);case"ErrorIfUnset":return vn(e,s,n,f,Y);case"UseAlternative":return Dn(e,n,f,Y);case"PatternRemoval":{let h=await xn(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern removal"),h}case"PatternReplacement":{let h=await _n(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern replacement"),h}case"Length":return $n(e,s,o);case"LengthSliceError":throw new re(s);case"BadSubstitution":throw new re(n.text);case"Substring":return Cn(e,s,o,n);case"CaseModification":{let h=await On(e,o,n,Y,qe);return ce(h,e.limits.maxStringLength,"case modification"),h}case"Transform":return Ln(e,s,o,l,n);case"Indirection":return Wn(e,s,o,l,n,qe,r);case"ArrayKeys":return Tn(e,n);case"VarNamePrefix":return Mn(e,n);default:return o}}export{Li as a,Wi as b,de as c,G as d,M as e,V as f,Ai as g,gt as h,Mi as i,yt as j,Vi as k,An as l,T as m,Bi as n,Fi as o,W as p,Gi as q,Qi as r,Zi as s,Ui as t,ds as u,he as v,be as w,Hi as x,P as y,we as z,v as A,J as B,wt as C,Aa as D,Nt as E,Sa as F,ba as G,wa as H,Il as I,Rt as J,vl as K,Dl as L,xl as M,Us as N,_l as O,R as P};
74
+ `}}async function It(e,t){let r=t.parts,s=r.length;if(s===1){let i=await U(e,r[0]);return ce(i,e.limits.maxStringLength,"word expansion"),i}let n=[];for(let i=0;i<s;i++)n.push(await U(e,r[i]));let a=n.join("");return ce(a,e.limits.maxStringLength,"word expansion"),a}async function U(e,t,r=!1){if(t.type==="ParameterExpansion")return qe(e,t,r);let s=Gs(e,t,r);if(s!==null)return s;switch(t.type){case"DoubleQuoted":{let n=[];for(let a of t.parts)n.push(await U(e,a,!0));return n.join("")}case"CommandSubstitution":{let n=Pn(t.body);if(n){e.state.commandSubstitutionUsed=!0;try{let h=await Rt(e,n.target),d=h.startsWith("/")?h:`${e.state.cwd}/${h}`,m=await e.fs.readFile(d);e.state.lastExitCode=0,e.state.env.set("?","0");let g=m.replace(/\n+$/,"");return ce(g,e.limits.maxStringLength,"command substitution"),g}catch(h){if(h instanceof L)throw h;return e.state.lastExitCode=1,e.state.env.set("?","1"),""}}e.state.commandSubstitutionUsed=!0;let a=e.substitutionDepth??0,i=e.limits.maxSubstitutionDepth;if(a>=i)throw new L(`Command substitution nesting limit exceeded (${i})`,"substitution_depth");let l=e.substitutionDepth;e.substitutionDepth=a+1;let o=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let c=new Map(e.state.env),u=e.state.cwd,f=e.state.suppressVerbose;e.state.suppressVerbose=!0;try{let h=await e.executeScript(t.body),d=h.exitCode;e.state.env=c,e.state.cwd=u,e.state.suppressVerbose=f,e.state.lastExitCode=d,e.state.env.set("?",String(d)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr),e.state.bashPid=o,e.substitutionDepth=l;let m=Pr(h).replace(/\n+$/,"");return ce(m,e.limits.maxStringLength,"command substitution"),m}catch(h){if(e.state.env=c,e.state.cwd=u,e.state.bashPid=o,e.substitutionDepth=l,e.state.suppressVerbose=f,h instanceof L)throw h;if(h instanceof K){e.state.lastExitCode=h.exitCode,e.state.env.set("?",String(h.exitCode)),h.stderr&&(e.state.expansionStderr=(e.state.expansionStderr||"")+h.stderr);let d=Pr({stdout:h.stdout,stdoutKind:h.stdoutKind,stdoutEncoding:h.stdoutEncoding}).replace(/\n+$/,"");return ce(d,e.limits.maxStringLength,"command substitution"),d}throw h}}case"ArithmeticExpansion":{let n=t.expression.originalText;if(n&&/\$[a-zA-Z_][a-zA-Z0-9_]*(?![{[(])/.test(n)){let i=await kn(e,n),l=new V,o=M(l,i);return String(await R(e,o.expression,!0))}return String(await R(e,t.expression.expression,!0))}case"BraceExpansion":{let n=[];for(let a of t.items)if(a.type==="Range"){let i=St(a.start,a.end,a.step,a.startStr,a.endStr);if(i.expanded)n.push(...i.expanded);else return i.literal}else n.push(await Rt(e,a.word));return n.join(" ")}default:return""}}async function qe(e,t,r=!1){let{parameter:s}=t,{operation:n}=t,a=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(a){let[,h,d]=a;if(e.state.associativeArrays?.has(h)||d.includes("$(")||d.includes("`")||d.includes("${")){let g=await At(e,d);s=`${h}[${g}]`}}else if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(s)&&W(e,s)){let h=he(e,s);if(h&&h!==s){let d=h.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(d){let[,m,g]=d;if(e.state.associativeArrays?.has(m)||g.includes("$(")||g.includes("`")||g.includes("${")){let A=await At(e,g);s=`${m}[${A}]`}}}}let i=n&&(n.type==="DefaultValue"||n.type==="AssignDefault"||n.type==="UseAlternative"||n.type==="ErrorIfUnset"),l=!1;i&&(l=!await X(e,s));let o=i?l?"":await v(e,s,!1):await v(e,s,!0);if(!n)return o;i||(l=!await X(e,s));let{isEmpty:c,effectiveValue:u}=Vn(e,s,o,r),f={value:o,isUnset:l,isEmpty:c,effectiveValue:u,inDoubleQuotes:r};switch(n.type){case"DefaultValue":return Rn(e,n,f,Y);case"AssignDefault":return In(e,s,n,f,Y);case"ErrorIfUnset":return vn(e,s,n,f,Y);case"UseAlternative":return Dn(e,n,f,Y);case"PatternRemoval":{let h=await xn(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern removal"),h}case"PatternReplacement":{let h=await _n(e,o,n,Y,U);return ce(h,e.limits.maxStringLength,"pattern replacement"),h}case"Length":return $n(e,s,o);case"LengthSliceError":throw new re(s);case"BadSubstitution":throw new re(n.text);case"Substring":return Cn(e,s,o,n);case"CaseModification":{let h=await On(e,o,n,Y,qe);return ce(h,e.limits.maxStringLength,"case modification"),h}case"Transform":return Ln(e,s,o,l,n);case"Indirection":return Wn(e,s,o,l,n,qe,r);case"ArrayKeys":return Tn(e,n);case"VarNamePrefix":return Mn(e,n);default:return o}}export{Li as a,Wi as b,de as c,G as d,M as e,V as f,Ai as g,gt as h,Mi as i,yt as j,Vi as k,An as l,T as m,Bi as n,Fi as o,W as p,Gi as q,Qi as r,Zi as s,Ui as t,ds as u,he as v,be as w,Hi as x,P as y,we as z,v as A,J as B,wt as C,Aa as D,Nt as E,Sa as F,ba as G,wa as H,Il as I,Rt as J,vl as K,Dl as L,xl as M,Us as N,_l as O,R as P};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-O3SBI3K7.js";import"./chunk-C6FRS5UB.js";import"./chunk-63XSH3IT.js";import"./chunk-DHC3ILJI.js";import"./chunk-OBH7XN5N.js";import"./chunk-KGOUQS5A.js";export{d as escapeGlobChars,e as escapeRegexChars,l as expandRedirectTarget,g as expandWord,i as expandWordForPattern,h as expandWordForRegex,j as expandWordWithGlob,a as getArrayElements,c as getVariable,k as hasQuotedMultiValueAt,b as isArray,f as isWordFullyQuoted};
2
+ import{A as c,B as d,C as e,I as f,J as g,K as h,L as i,M as j,N as k,O as l,y as a,z as b}from"./chunk-LT26MLOT.js";import"./chunk-C6FRS5UB.js";import"./chunk-63XSH3IT.js";import"./chunk-DHC3ILJI.js";import"./chunk-OBH7XN5N.js";import"./chunk-KGOUQS5A.js";export{d as escapeGlobChars,e as escapeRegexChars,l as expandRedirectTarget,g as expandWord,i as expandWordForPattern,h as expandWordForRegex,j as expandWordWithGlob,a as getArrayElements,c as getVariable,k as hasQuotedMultiValueAt,b as isArray,f as isWordFullyQuoted};
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{B as Un,C as Zn,D as ue,E as Ze,F as ee,G as Ae,H as Lt,I as qn,J as x,K as Gn,L as Kn,M as _e,N as _s,O as Ft,P as j,a as Fn,b as vs,c as Mn,d as xt,e as Q,f as V,g as Ee,h as ne,i as ke,j as Me,k as bs,l as Rt,m as Wn,n as $s,o as zn,p as ye,q as Ie,r as Vn,s as Bn,t as Es,u as Ss,v as We,w as jn,x as Hn,y as Se,z as As}from"./chunks/chunk-O3SBI3K7.js";import{a as et,b as tt,c as Fe}from"./chunks/chunk-NTW6IA45.js";import{c as ws}from"./chunks/chunk-LIYVQA3X.js";import{a as Dn,b as Tn}from"./chunks/chunk-OOJCYVYF.js";import{a as Le,b as me,c as gs}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Ln}from"./chunks/chunk-MO4RPBN2.js";import{a as Je,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as He,d as In,e as ys}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as ce,d as pe,e as xn,f as B,g as Ue,h as Ot,i as Dt,j as Rn,k as Y,l as Tt,m as Re,n as It,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as Te}from"./chunks/chunk-RLNOQILG.js";import{a as $e}from"./chunks/chunk-4VDEBYW7.js";import{a as On}from"./chunks/chunk-KGOUQS5A.js";import*as Ui from"node:fs";import*as Zi from"node:readline";var st=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(st.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),st.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),st.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),st.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),Cs.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var ks=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(ks.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),ks.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Xi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Xn=new Map;function Mt(e){return{name:e.name,async execute(t,s){let n=Xn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Xn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Yn(e){return(e?st.filter(s=>e.includes(s.name)):st).map(Mt)}function Qn(){return Xi.map(Mt)}function Jn(){return Cs.map(Mt)}function er(){return ks.map(Mt)}function tr(e){return"load"in e&&typeof e.load=="function"}function sr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function W(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function qe(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Wt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function nt(e,t){if(t.startsWith("/"))return L(t);let s=qe(e);return L(gt(s,t))}var rt=new TextEncoder;function Yi(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Yi(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=qe(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){W(t,"write");let i=L(t);this.ensureParentDirs(i);let a=Fe(n),o=et(s,a);this.data.set(i,{type:"file",content:o,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){W(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?rt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Fe(s);return tt(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return tt(s,"binary")}async readFileBuffer(t){W(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:rt.encode(r.content)}return n.content instanceof Uint8Array?n.content:rt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){W(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let a=Fe(n),o=et(s,a);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:rt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+o.length);u.set(c),u.set(o,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){W(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=rt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){W(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=rt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let a=0;a<n.length-1;a++){let o=n[a];r=`${r}/${o}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=nt(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let a of n){r=`${r}/${a}`;let o=this.data.get(r),l=0,c=40;for(;o&&o.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=nt(r,o.target),o=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){W(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=qe(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){W(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=nt(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,a=new Map;for(let[o,l]of this.data.entries())if(o!==s&&o.startsWith(i)){let c=o.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!a.has(u)&&a.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(a.values()).sort((o,l)=>o.name<l.name?-1:o.name>l.name?1:0)}async rm(t,s){W(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let a of i){let o=gt(n,a);await this.rm(o,s)}}}this.data.delete(n)}async cp(t,s,n){W(t,"cp"),W(s,"cp");let r=L(t),i=L(s),a=this.data.get(r);if(!a)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(a.type==="file")if(this.ensureParentDirs(i),"content"in a){let o=a.content instanceof Uint8Array?new Uint8Array(a.content):a.content;this.data.set(i,{...a,content:o})}else this.data.set(i,{...a});else if(a.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...a});else if(a.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let o=await this.readdir(r);for(let l of o){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Wt(t,s)}async chmod(t,s){W(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){W(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){W(t,"link"),W(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let a=i;"lazy"in a&&(a=await this.materializeLazy(n,a)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:a.content,mode:a.mode,mtime:a.mtime})}async readlink(t){W(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){W(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){W(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),a=this.data.get(i);if(!a)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);a.mtime=n}};function Qi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Ji(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function ea(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function ta(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Fn}
2
+ import{B as Un,C as Zn,D as ue,E as Ze,F as ee,G as Ae,H as Lt,I as qn,J as x,K as Gn,L as Kn,M as _e,N as _s,O as Ft,P as j,a as Fn,b as vs,c as Mn,d as xt,e as Q,f as V,g as Ee,h as ne,i as ke,j as Me,k as bs,l as Rt,m as Wn,n as $s,o as zn,p as ye,q as Ie,r as Vn,s as Bn,t as Es,u as Ss,v as We,w as jn,x as Hn,y as Se,z as As}from"./chunks/chunk-LT26MLOT.js";import{a as et,b as tt,c as Fe}from"./chunks/chunk-NTW6IA45.js";import{c as ws}from"./chunks/chunk-LIYVQA3X.js";import{a as Dn,b as Tn}from"./chunks/chunk-OOJCYVYF.js";import{a as Le,b as me,c as gs}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Ln}from"./chunks/chunk-MO4RPBN2.js";import{a as Je,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as He,d as In,e as ys}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as ce,d as pe,e as xn,f as B,g as Ue,h as Ot,i as Dt,j as Rn,k as Y,l as Tt,m as Re,n as It,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as Te}from"./chunks/chunk-RLNOQILG.js";import{a as $e}from"./chunks/chunk-4VDEBYW7.js";import{a as On}from"./chunks/chunk-KGOUQS5A.js";import*as Ui from"node:fs";import*as Zi from"node:readline";var st=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(st.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),st.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),st.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),st.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),Cs.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var ks=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(ks.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),ks.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Xi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Xn=new Map;function Mt(e){return{name:e.name,async execute(t,s){let n=Xn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Xn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Yn(e){return(e?st.filter(s=>e.includes(s.name)):st).map(Mt)}function Qn(){return Xi.map(Mt)}function Jn(){return Cs.map(Mt)}function er(){return ks.map(Mt)}function tr(e){return"load"in e&&typeof e.load=="function"}function sr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function W(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function qe(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Wt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function nt(e,t){if(t.startsWith("/"))return L(t);let s=qe(e);return L(gt(s,t))}var rt=new TextEncoder;function Yi(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Yi(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=qe(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){W(t,"write");let i=L(t);this.ensureParentDirs(i);let a=Fe(n),o=et(s,a);this.data.set(i,{type:"file",content:o,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){W(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?rt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Fe(s);return tt(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return tt(s,"binary")}async readFileBuffer(t){W(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:rt.encode(r.content)}return n.content instanceof Uint8Array?n.content:rt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){W(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let a=Fe(n),o=et(s,a);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:rt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+o.length);u.set(c),u.set(o,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){W(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=rt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){W(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=rt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let a=0;a<n.length-1;a++){let o=n[a];r=`${r}/${o}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=nt(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let a of n){r=`${r}/${a}`;let o=this.data.get(r),l=0,c=40;for(;o&&o.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=nt(r,o.target),o=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){W(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=qe(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){W(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=nt(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,a=new Map;for(let[o,l]of this.data.entries())if(o!==s&&o.startsWith(i)){let c=o.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!a.has(u)&&a.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(a.values()).sort((o,l)=>o.name<l.name?-1:o.name>l.name?1:0)}async rm(t,s){W(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let a of i){let o=gt(n,a);await this.rm(o,s)}}}this.data.delete(n)}async cp(t,s,n){W(t,"cp"),W(s,"cp");let r=L(t),i=L(s),a=this.data.get(r);if(!a)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(a.type==="file")if(this.ensureParentDirs(i),"content"in a){let o=a.content instanceof Uint8Array?new Uint8Array(a.content):a.content;this.data.set(i,{...a,content:o})}else this.data.set(i,{...a});else if(a.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...a});else if(a.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let o=await this.readdir(r);for(let l of o){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Wt(t,s)}async chmod(t,s){W(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){W(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){W(t,"link"),W(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let a=i;"lazy"in a&&(a=await this.materializeLazy(n,a)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:a.content,mode:a.mode,mtime:a.mtime})}async readlink(t){W(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){W(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){W(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),a=this.data.get(i);if(!a)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);a.mtime=n}};function Qi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Ji(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function ea(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function ta(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Fn}
3
3
  `),e.writeFileSync("/proc/self/exe","/bin/bash"),e.writeFileSync("/proc/self/cmdline","bash\0"),e.writeFileSync("/proc/self/comm",`bash
4
4
  `),e.writeFileLazy?e.writeFileLazy("/proc/self/status",()=>vs(t)):e.writeFileSync("/proc/self/status",vs(t)),e.writeFileSync("/proc/self/fd/0","/dev/stdin"),e.writeFileSync("/proc/self/fd/1","/dev/stdout"),e.writeFileSync("/proc/self/fd/2","/dev/stderr")}function rr(e,t,s={pid:1,ppid:0,uid:1e3,gid:1e3}){Qi(e)&&(Ji(e,t),ea(e),ta(e,s))}var sa=["allexport","errexit","noglob","noclobber","noexec","nounset","pipefail","posix","verbose","xtrace"],na=["braceexpand","hashall","interactive-comments"];function Ns(e){let t=[],s=[...na.map(n=>({name:n,enabled:!0})),...sa.map(n=>({name:n,enabled:e[n]}))].sort((n,r)=>n.name.localeCompare(r.name));for(let n of s)n.enabled&&t.push(n.name);return t.join(":")}function at(e){e.state.env.set("SHELLOPTS",Ns(e.state.options))}var ra=["dotglob","expand_aliases","extglob","failglob","globskipdots","globstar","lastpipe","nocaseglob","nocasematch","nullglob","xpg_echo"];function Os(e){let t=[];for(let s of ra)e[s]&&t.push(s);return t.join(":")}function Ds(e){e.state.env.set("BASHOPTS",Os(e.state.shoptOptions))}var ia="BASH_ALIAS_";function ir(e){return e.parts.length!==1?!1:e.parts[0].type==="Literal"}function ar(e){if(e.parts.length!==1)return null;let t=e.parts[0];return t.type==="Literal"?t.value:null}function or(e,t){return e.env.get(`${ia}${t}`)}function Ts(e,t,s){if(!t.name||!ir(t.name))return t;let n=ar(t.name);if(!n)return t;let r=or(e,n);if(!r||s.has(n))return t;try{s.add(n);let i=new V,a=r,o=r.endsWith(" ");if(!o)for(let f of t.args){let d=cr(f);a+=` ${d}`}let l;try{l=i.parse(a)}catch(f){if(f instanceof xt)throw f;return t}if(l.statements.length!==1||l.statements[0].pipelines.length!==1||l.statements[0].pipelines[0].commands.length!==1)return lr(t,r);let c=l.statements[0].pipelines[0].commands[0];if(c.type!=="SimpleCommand")return lr(t,r);let u={...c,assignments:[...t.assignments,...c.assignments],redirections:[...c.redirections,...t.redirections],line:t.line};if(o&&t.args.length>0&&(u={...u,args:[...u.args,...t.args]},u.args.length>0)){let f=u.args[0];if(ir(f)){let d=ar(f);if(d&&or(e,d)){let h={type:"SimpleCommand",name:f,args:u.args.slice(1),assignments:[],redirections:[]},m=Ts(e,h,s);m!==h&&(u={...u,name:m.name,args:[...m.args]})}}}return u}catch(i){throw s.delete(n),i}}function lr(e,t){let s=t;for(let a of e.args){let o=cr(a);s+=` ${o}`}let n=new V,r=n.parseWordFromString("eval",!1,!1),i=n.parseWordFromString(`'${s.replace(/'/g,"'\\''")}'`,!1,!1);return{type:"SimpleCommand",name:r,args:[i],assignments:e.assignments,redirections:e.redirections,line:e.line}}function cr(e){let t="";for(let s of e.parts)switch(s.type){case"Literal":t+=s.value.replace(/([\s"'$`\\*?[\]{}()<>|&;#!])/g,"\\$1");break;case"SingleQuoted":t+=`'${s.value}'`;break;case"DoubleQuoted":t+=`"${s.parts.map(n=>n.type==="Literal"?n.value:`$${n.type}`).join("")}"`;break;case"ParameterExpansion":t+=`\${${s.parameter}}`;break;case"CommandSubstitution":t+="$(...)";break;case"ArithmeticExpansion":t+=`$((${s.expression}))`;break;case"Glob":t+=s.pattern;break;default:break}return t}async function ur(e,t){let s=t.parts.map(u=>u.type==="Literal"?u.value:"\0").join(""),n=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);if(!n||!s.endsWith(")"))return null;let r=n[1],i=[],a=!1,o="",l=!1;for(let u of t.parts)if(u.type==="Literal"){let f=u.value;if(!a){let d=f.indexOf("=(");d!==-1&&(a=!0,f=f.slice(d+2))}if(a){f.endsWith(")")&&(f=f.slice(0,-1));let d=f.split(/(\s+)/);for(let h of d)/^\s+$/.test(h)?(o||l)&&(i.push(o),o="",l=!1):h&&(o+=h)}}else if(a)if(u.type==="BraceExpansion")if(/^\[.+\]=/.test(o))o+=Rt({type:"Word",parts:[u]});else{(o||l)&&(i.push(o),o="",l=!1);let d=await _e(e,{type:"Word",parts:[u]});i.push(...d.values)}else{(u.type==="SingleQuoted"||u.type==="DoubleQuoted"||u.type==="Escaped")&&(l=!0);let f=await x(e,{type:"Word",parts:[u]});o+=f}(o||l)&&i.push(o);let c=i.map(u=>/^\[.+\]=/.test(u)?u:u===""?"''":/[\s"'\\$`!*?[\]{}|&;<>()]/.test(u)&&!u.startsWith("'")&&!u.startsWith('"')?`'${u.replace(/'/g,"'\\''")}'`:u);return`${r}=(${c.join(" ")})`}async function fr(e,t){let s=-1,n=-1,r=!1;for(let p=0;p<t.parts.length;p++){let g=t.parts[p];if(g.type==="Literal"){let w=g.value.indexOf("+=");if(w!==-1){let v=g.value.slice(0,w);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)){s=p,n=w,r=!0;break}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=w,r=!0;break}}let y=g.value.indexOf("=");if(y!==-1&&(y===0||g.value[y-1]!=="+")){let v=g.value.slice(0,y);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)||/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=y;break}}}}if(s===-1)return null;let i=t.parts.slice(0,s),a=t.parts[s];if(a.type!=="Literal")return null;let o=r?2:1,l=a.value.slice(0,n),c=a.value.slice(n+o),u=t.parts.slice(s+1),f="";for(let p of i)f+=await x(e,{type:"Word",parts:[p]});f+=l;let d={type:"Word",parts:c!==""?[{type:"Literal",value:c},...u]:u},h=d.parts.length>0?await x(e,d):"";return`${f}${r?"+=":"="}${h}`}var aa=["tar","yq","xan","sqlite3","python3","python"];function dr(e){return aa.includes(e)}var F=Object.freeze({stdout:"",stderr:"",exitCode:0});function M(e=""){return{stdout:e,stderr:"",exitCode:0}}function k(e,t=1){return{stdout:"",stderr:e,exitCode:t}}function P(e,t,s){return{stdout:e,stderr:t,exitCode:s}}function X(e){return{stdout:"",stderr:"",exitCode:e?0:1}}function Pe(e,t,s="",n=""){throw new Y(e,t,s,n)}function ae(e){let t=e.state.fileDescriptors;if(t&&t.size>=e.limits.maxFileDescriptors)throw new Y(`too many open file descriptors (max ${e.limits.maxFileDescriptors})`,"file_descriptors")}function Is(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new Re;return F}if(t.length>1)throw new B(1,"",`bash: break: too many arguments
5
5
  `);let s=1;if(t.length>0){let n=Number.parseInt(t[0],10);if(Number.isNaN(n)||n<1)throw new B(128,"",`bash: break: ${t[0]}: numeric argument required
@@ -652,7 +652,7 @@ sys 0m0.000s
652
652
  `,1)}}if(r=Math.max(...i.map(([o])=>typeof o=="number"?o:0))+1+r,r<0){let o=e.state.currentLine;return{index:0,error:P("",`bash: line ${o}: ${t}[${s}]: bad array subscript
653
653
  `,1)}}}return{index:r}}async function go(e,t,s,n,r,i){let a="",o=s,l=null;if(ye(e,s)){let f=Hn(e,s,n);if(f===void 0)return{continueToNext:!1,xtraceOutput:"",error:P("",`bash: ${s}: circular name reference
654
654
  `,1)};if(f===null)return{continueToNext:!0,xtraceOutput:""};o=f;let d=o.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);d&&(l={arrayName:d[1],subscriptExpr:d[2]},o=d[1])}if(Ze(e,o)){if(t.name)return a+=`bash: ${o}: readonly variable
655
- `,{continueToNext:!0,xtraceOutput:a};let f=ee(e,o);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,o))try{let f=new V;if(r){let h=`(${e.state.env.get(o)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js"),d=f(e,o)?`${o}_0`:o;c=r?(e.state.env.get(d)||"")+n:n}c=ft(e,o,c),a+=await yi(e,o,c);let u=o;if(l)u=await wo(e,l);else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js");f(e,o)&&(u=`${o}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(o)),e.state.tempEnvBindings?.some(f=>f.has(o))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(o))),{continueToNext:!1,xtraceOutput:a}}async function wo(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return bi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let a=new V,o=Q(a,n);i=await j(e,o.expression,!1)}catch{let a=e.state.env.get(n);i=a?Number.parseInt(a,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let a=Se(e,s);a.length>0&&(i=Math.max(...a.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function $i(e,t,s,n){let r=await Oe(e,t.redirections);if(r)return r;let i=new Map(e.state.env),a=e.state.cwd,o={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=a,e.state.options=o,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Re){y+=E.stdout,v+=E.stderr;let _=P(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=P(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=P(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof ce){y+=E.stdout,v+=E.stderr;let _=P(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=P(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=P(y,`${v}${$e(E)}
655
+ `,{continueToNext:!0,xtraceOutput:a};let f=ee(e,o);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,o))try{let f=new V;if(r){let h=`(${e.state.env.get(o)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-QVZM74A7.js"),d=f(e,o)?`${o}_0`:o;c=r?(e.state.env.get(d)||"")+n:n}c=ft(e,o,c),a+=await yi(e,o,c);let u=o;if(l)u=await wo(e,l);else{let{isArray:f}=await import("./chunks/expansion-QVZM74A7.js");f(e,o)&&(u=`${o}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(o)),e.state.tempEnvBindings?.some(f=>f.has(o))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(o))),{continueToNext:!1,xtraceOutput:a}}async function wo(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return bi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let a=new V,o=Q(a,n);i=await j(e,o.expression,!1)}catch{let a=e.state.env.get(n);i=a?Number.parseInt(a,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let a=Se(e,s);a.length>0&&(i=Math.max(...a.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function $i(e,t,s,n){let r=await Oe(e,t.redirections);if(r)return r;let i=new Map(e.state.env),a=e.state.cwd,o={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=a,e.state.options=o,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Re){y+=E.stdout,v+=E.stderr;let _=P(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=P(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=P(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof ce){y+=E.stdout,v+=E.stderr;let _=P(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=P(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=P(y,`${v}${$e(E)}
656
656
  `,1);return q(e,O,t.redirections)}S();let $=P(y,v,b);return q(e,$,t.redirections)}async function Ei(e,t,s,n){let r="",i="",a=0,o=await ts(e,t.redirections);if(o)return o;let l=s;for(let f of t.redirections)if((f.operator==="<<"||f.operator==="<<-")&&f.target.type==="HereDoc"){let d=f.target,h=await x(e,d.content);d.stripTabs&&(h=h.split(`
657
657
  `).map(p=>p.replace(/^\t+/,"")).join(`
658
658
  `));let m=f.fd??0;m!==0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),ae(e),e.state.fileDescriptors.set(m,h)):l=h}else if(f.operator==="<<<"&&f.target.type==="Word")l=`${await x(e,f.target)}
@@ -662,7 +662,7 @@ sys 0m0.000s
662
662
  `,127)}if(i.startsWith("#!")){let g=i.indexOf(`
663
663
  `);g!==-1&&(i=i.slice(g+1))}let a=new Map(e.state.env),o=e.state.cwd,l={...e.state.options},c=e.state.loopDepth,u=e.state.parentHasLoopContext,f=e.state.lastArg,d=e.state.bashPid,h=e.state.groupStdin,m=e.state.currentSource;e.state.parentHasLoopContext=c>0,e.state.loopDepth=0,e.state.bashPid=e.state.nextVirtualPid++,n&&(e.state.groupStdin=n),e.state.currentSource=t,e.state.env.set("0",t),e.state.env.set("#",String(s.length)),e.state.env.set("@",s.join(" ")),e.state.env.set("*",s.join(" "));for(let g=0;g<s.length&&g<9;g++)e.state.env.set(String(g+1),s[g]);for(let g=s.length+1;g<=9;g++)e.state.env.delete(String(g));let p=()=>{e.state.env=a,e.state.cwd=o,e.state.options=l,e.state.loopDepth=c,e.state.parentHasLoopContext=u,e.state.lastArg=f,e.state.bashPid=d,e.state.groupStdin=h,e.state.currentSource=m};try{let w=new V().parse(i),y=await r(w);return p(),y}catch(g){if(p(),g instanceof B||g instanceof Y)throw g;if(g.name==="ParseException")return k(`bash: ${t}: ${g.message}
664
664
  `);throw g}}function vo(e){let t=s=>{for(let n of s){if(n.type==="CommandSubstitution"||n.type==="DoubleQuoted"&&t(n.parts))return!0;if(n.type==="BraceExpansion"){for(let r of n.items)if(r.type==="Word"&&t(r.word.parts))return!0}}return!1};return t(e.parts)}var _t=class{ctx;constructor(t,s){this.ctx={state:s,fs:t.fs,commands:t.commands,limits:t.limits,execFn:t.exec,executeScript:this.executeScript.bind(this),executeStatement:this.executeStatement.bind(this),executeCommand:this.executeCommand.bind(this),fetch:t.fetch,sleep:t.sleep,trace:t.trace,coverage:t.coverage,requireDefenseContext:t.requireDefenseContext??!1,jsBootstrapCode:t.jsBootstrapCode,invokeTool:t.invokeTool}}assertDefenseContext(t){if(!this.ctx.requireDefenseContext||ve.isInSandboxedContext())return;let s=`interpreter ${t} attempted outside defense context`;throw new Je(s,{timestamp:Date.now(),type:"missing_defense_context",message:s,path:"DefenseInDepthBox.context",stack:new Error().stack,executionId:ve.getCurrentExecutionId()})}buildExportedEnv(){let t=this.ctx.state.exportedVars,s=this.ctx.state.tempExportedVars,n=new Set;if(t)for(let i of t)n.add(i);if(s)for(let i of s)n.add(i);if(n.size===0)return Object.create(null);let r=Object.create(null);for(let i of n){let a=this.ctx.state.env.get(i);a!==void 0&&(r[i]=a)}return r}async executeScript(t){this.assertDefenseContext("execution");let s="",n="",r=0,i=this.ctx.limits.maxOutputSize,a=(o,l)=>{s.length+n.length+o.length+l.length>i&&Pe(`total output size exceeded (>${i} bytes), increase executionLimits.maxOutputSize`,"output_size"),s+=o,n+=l};for(let o of t.statements)try{let l=await this.executeStatement(o);a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}catch(l){if(l instanceof B)throw l.prependOutput(s,n),l;if(l instanceof be)return a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Le(this.ctx.state.env)};if(l instanceof Y)throw l;if(l instanceof pe)return a(l.stdout,l.stderr),r=l.exitCode,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Le(this.ctx.state.env)};if(l instanceof xn)return a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Le(this.ctx.state.env)};if(l instanceof Ot)return a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r)),{stdout:s,stderr:n,exitCode:r,env:Le(this.ctx.state.env)};if(l instanceof Ue){a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof Rn){a(l.stdout,l.stderr),r=1,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r));continue}if(l instanceof de||l instanceof he){if(this.ctx.state.loopDepth>0)throw l.prependOutput(s,n),l;a(l.stdout,l.stderr);continue}throw l instanceof ce&&l.prependOutput(s,n),l}return{stdout:s,stderr:n,exitCode:r,env:Le(this.ctx.state.env)}}async executeUserScript(t,s,n=""){return Si(this.ctx,t,s,n,r=>this.executeScript(r))}async executeStatement(t){if(this.assertDefenseContext("statement"),this.ctx.state.signal?.aborted)throw new Tt;if(this.ctx.state.commandCount++,this.ctx.state.commandCount>this.ctx.limits.maxCommandCount&&Pe(`too many commands executed (>${this.ctx.limits.maxCommandCount}), increase executionLimits.maxCommandCount`,"commands"),t.deferredError)throw new xt(t.deferredError.message,t.line??1,1);if(this.ctx.state.options.noexec)return F;this.ctx.state.errexitSafe=!1;let s="",n="";this.ctx.state.options.verbose&&!this.ctx.state.suppressVerbose&&t.sourceText&&(n+=`${t.sourceText}
665
- `);let r=0,i=-1,a=!1;for(let c=0;c<t.pipelines.length;c++){let u=t.pipelines[c],f=c>0?t.operators[c-1]:null;if(f==="&&"&&r!==0||f==="||"&&r===0)continue;let d=await this.executePipeline(u);s+=d.stdout,n+=d.stderr,r=d.exitCode,i=c,a=u.negated,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}let o=i<t.pipelines.length-1,l=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=o||a||l,this.ctx.state.options.errexit&&r!==0&&i===t.pipelines.length-1&&!a&&!this.ctx.state.inCondition&&!l)throw new pe(r,s,n);return P(s,n,r)}async executePipeline(t){return wi(this.ctx,t,(s,n)=>this.executeCommand(s,n))}async executeCommand(t,s){switch(this.assertDefenseContext("command"),this.ctx.coverage?.hit(`bash:cmd:${t.type}`),t.type){case"SimpleCommand":return this.executeSimpleCommand(t,s);case"If":return ai(this.ctx,t);case"For":return oi(this.ctx,t);case"CStyleFor":return li(this.ctx,t);case"While":return ci(this.ctx,t,s);case"Until":return ui(this.ctx,t);case"Case":return fi(this.ctx,t);case"Subshell":return this.executeSubshell(t,s);case"Group":return this.executeGroup(t,s);case"FunctionDef":return kr(this.ctx,t);case"ArithmeticCommand":return this.executeArithmeticCommand(t);case"ConditionalCommand":return this.executeConditionalCommand(t);default:return F}}async executeSimpleCommand(t,s){try{return await this.executeSimpleCommandInner(t,s)}catch(n){if(n instanceof Dt)return k(n.stderr);throw n}}async executeSimpleCommandInner(t,s){if(t.line!==void 0&&(this.ctx.state.currentLine=t.line),this.ctx.state.shoptOptions.expand_aliases&&t.name){let $=t,E=100;for(;E>0;){let O=this.expandAlias($);if(O===$)break;$=O,E--}this.aliasExpansionStack.clear(),$!==t&&(t=$)}this.ctx.state.expansionStderr="";let n=await vi(this.ctx,t);if(n.error)return n.error;let r=n.tempAssignments,i=n.xtraceOutput;if(!t.name){if(t.redirections.length>0){let E=await Oe(this.ctx,t.redirections);if(E)return E;let O=P("",i,0);return q(this.ctx,O,t.redirections)}this.ctx.state.lastArg="";let $=(this.ctx.state.expansionStderr||"")+i;return this.ctx.state.expansionStderr="",P("",$,this.ctx.state.lastExitCode)}let a=t.name&&An(t.name,["local","declare","typeset","export","readonly"]),o=Array.from(r.keys());if(o.length>0&&!a){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let $ of o)this.ctx.state.tempExportedVars.add($)}let l=await ts(this.ctx,t.redirections);if(l){for(let[$,E]of r)E===void 0?this.ctx.state.env.delete($):this.ctx.state.env.set($,E);return l}let c=-1;for(let $ of t.redirections){if(($.operator==="<<"||$.operator==="<<-")&&$.target.type==="HereDoc"){let E=$.target,O=await x(this.ctx,E.content);E.stripTabs&&(O=O.split(`
665
+ `);let r=0,i=-1,a=!1;for(let c=0;c<t.pipelines.length;c++){let u=t.pipelines[c],f=c>0?t.operators[c-1]:null;if(f==="&&"&&r!==0||f==="||"&&r===0)continue;let d=await this.executePipeline(u);s+=d.stdout,n+=d.stderr,r=d.exitCode,i=c,a=u.negated,this.ctx.state.lastExitCode=r,this.ctx.state.env.set("?",String(r))}let o=i<t.pipelines.length-1,l=this.ctx.state.errexitSafe;if(this.ctx.state.errexitSafe=o||a||l,this.ctx.state.options.errexit&&r!==0&&i===t.pipelines.length-1&&!a&&!this.ctx.state.inCondition&&!l)throw new pe(r,s,n);return P(s,n,r)}async executePipeline(t){return wi(this.ctx,t,(s,n)=>this.executeCommand(s,n))}async executeCommand(t,s){switch(this.assertDefenseContext("command"),this.ctx.coverage?.hit(`bash:cmd:${t.type}`),t.type){case"SimpleCommand":return this.executeSimpleCommand(t,s);case"If":return ai(this.ctx,t);case"For":return oi(this.ctx,t);case"CStyleFor":return li(this.ctx,t);case"While":return ci(this.ctx,t,s);case"Until":return ui(this.ctx,t);case"Case":return fi(this.ctx,t);case"Subshell":return this.executeSubshell(t,s);case"Group":return this.executeGroup(t,s);case"FunctionDef":return kr(this.ctx,t);case"ArithmeticCommand":return this.executeArithmeticCommand(t);case"ConditionalCommand":return this.executeConditionalCommand(t);default:return F}}async executeSimpleCommand(t,s){try{return await this.executeSimpleCommandInner(t,s)}catch(n){if(n instanceof Dt)return k(n.stderr);throw n}}async executeSimpleCommandInner(t,s){if(t.line!==void 0&&(this.ctx.state.currentLine=t.line),this.ctx.state.shoptOptions.expand_aliases&&t.name){let $=t,E=100;for(;E>0;){let O=this.expandAlias($);if(O===$)break;$=O,E--}this.aliasExpansionStack.clear(),$!==t&&(t=$)}this.ctx.state.expansionStderr="",this.ctx.state.commandSubstitutionUsed=!1;let n=await vi(this.ctx,t);if(n.error)return n.error;let r=n.tempAssignments,i=n.xtraceOutput;if(!t.name){if(t.redirections.length>0){let O=await Oe(this.ctx,t.redirections);if(O)return O;let _=P("",i,0);return q(this.ctx,_,t.redirections)}this.ctx.state.lastArg="";let $=(this.ctx.state.expansionStderr||"")+i;this.ctx.state.expansionStderr="";let E=this.ctx.state.commandSubstitutionUsed?this.ctx.state.lastExitCode:0;return P("",$,E)}let a=t.name&&An(t.name,["local","declare","typeset","export","readonly"]),o=Array.from(r.keys());if(o.length>0&&!a){this.ctx.state.tempExportedVars=this.ctx.state.tempExportedVars||new Set;for(let $ of o)this.ctx.state.tempExportedVars.add($)}let l=await ts(this.ctx,t.redirections);if(l){for(let[$,E]of r)E===void 0?this.ctx.state.env.delete($):this.ctx.state.env.set($,E);return l}let c=-1;for(let $ of t.redirections){if(($.operator==="<<"||$.operator==="<<-")&&$.target.type==="HereDoc"){let E=$.target,O=await x(this.ctx,E.content);E.stripTabs&&(O=O.split(`
666
666
  `).map(D=>D.replace(/^\t+/,"")).join(`
667
667
  `)),O=He(O);let _=$.fd??0;_!==0?(this.ctx.state.fileDescriptors||(this.ctx.state.fileDescriptors=new Map),ae(this.ctx),this.ctx.state.fileDescriptors.set(_,O)):s=O;continue}if($.operator==="<<<"&&$.target.type==="Word"){s=He(`${await x(this.ctx,$.target)}
668
668
  `);continue}if($.operator==="<"&&$.target.type==="Word")try{let E=await x(this.ctx,$.target),O=this.ctx.fs.resolvePath(this.ctx.state.cwd,E);s=await In(this.ctx.fs,O)}catch{let E=await x(this.ctx,$.target);for(let[O,_]of r)_===void 0?this.ctx.state.env.delete(O):this.ctx.state.env.set(O,_);return k(`bash: ${E}: No such file or directory