devcontainers-community / features-dart-sdk

🎯 Installs the Dart SDK
MIT License
0 stars 2 forks source link

Cannot install feature, outputs minified JS in output #3

Open sr229 opened 6 months ago

sr229 commented 6 months ago

It seems I cannot use the devcontainer feature in GitHub Codespaces. Tried looking at the creation log but the error only spewed out minified JS.

Minimal reproduction sample


{
   "name": "TestRepro",
    "image": "mcr.microsoft.com/devcontainers/base:debian",
    "features": {
      "ghcr.io/codesandbox/devcontainer-features/codesandbox:latest": {},
      "ghcr.io/devcontainers/features/common-utils:2": {
        "upgradePackages": true
      },
      "ghcr.io/devcontainers-community/features/dart-sdk": {}
    },
    "customizations": {
    "vscode": {
        "extensions": [
            "Dart-Code.dart-code"
        ]
      }
    }
  }

Creation Log (From GitHub Codespaces)

creation.log

Kleak commented 3 months ago

Just tested it and also got the problem

phorcys420 commented 1 month ago

can reproduce too

[1] node@84b6d685d4f0> devcontainer up --workspace-folder . --remove-existing-container
[1 ms] @devcontainers/cli 0.67.0. Node.js v20.15.1. linux 5.15.153.1-microsoft-standard-WSL2 x64.
[123 ms] Resolving Feature dependencies for 'ghcr.io/devcontainers-community/features/dart-sdk:1'...
/usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9
`).reduce(p8,Object.create(null)),p8=(e,A)=>{let t=parseInt(A,10);if(t!==Buffer.byteLength(A)+1)return e;A=A.slice((t+" ").length);let i=A.split("="),r=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!r)return e;let n=i.join("=");return e[r]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(r)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,e};uR.exports=lI});var gg=L((JsA,QR)=>{QR.exports=e=>{let A=e.length-1,t=-1;for(;A>-1&&e.charAt(A)==="/";)t=A,A--;return t===-1?e:e.slice(0,t)}});var uE=L((KsA,cR)=>{"use strict";cR.exports=e=>class extends e{warn(A,t,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=t instanceof Error&&t.code||A,i.tarCode=A,!this.strict&&i.recoverable!==!1?(t instanceof Error&&(i=Object.assign(t,i),t=t.message),this.emit("warn",i.tarCode,t,i)):t instanceof Error?this.emit("error",Object.assign(t,i)):this.emit("error",Object.assign(new Error(`${A}: ${t}`),i))}}});var rf=L((YsA,lR)=>{"use strict";var QE=["|","<",">","?",":"],tf=QE.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),D8=new Map(QE.map((e,A)=>[e,tf[A]])),w8=new Map(tf.map((e,A)=>[e,QE[A]]));lR.exports={encode:e=>QE.reduce((A,t)=>A.split(t).join(D8.get(t)),e),decode:e=>tf.reduce((A,t)=>A.split(t).join(w8.get(t)),e)}});var nf=L((TsA,fR)=>{var{isAbsolute:m8,parse:hR}=require("path").win32;fR.exports=e=>{let A="",t=hR(e);for(;m8(e)||t.root;){let i=e.charAt(0)==="/"&&e.slice(0,4)!=="//?/"?"/":t.root;e=e.slice(i.length),A+=i,t=hR(e)}return[A,e]}});var pR=L((PsA,dR)=>{"use strict";dR.exports=(e,A,t)=>(e&=4095,t&&(e=(e|384)&-19),A&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e)});var Qf=L((_sA,GR)=>{"use strict";var{Minipass:RR}=tE(),kR=EE(),MR=sg(),Hr=require("fs"),DR=require("path"),Kr=ng(),y8=gg(),NR=(e,A)=>A?(e=Kr(e).replace(/^\.(\/|$)/,""),y8(A)+"/"+e):Kr(e),F8=16*1024*1024,wR=Symbol("process"),mR=Symbol("file"),yR=Symbol("directory"),sf=Symbol("symlink"),FR=Symbol("hardlink"),hI=Symbol("header"),cE=Symbol("read"),gf=Symbol("lstat"),lE=Symbol("onlstat"),af=Symbol("onread"),If=Symbol("onreadlink"),Cf=Symbol("openfile"),Bf=Symbol("onopenfile"),oo=Symbol("close"),hE=Symbol("mode"),Ef=Symbol("awaitDrain"),of=Symbol("ondrain"),Yr=Symbol("prefix"),SR=Symbol("hadError"),vR=uE(),S8=rf(),bR=nf(),LR=pR(),fE=vR(class extends RR{constructor(A,t){if(t=t||{},super(t),typeof A!="string")throw new TypeError("path is required");this.path=Kr(A),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=t.maxReadSize||F8,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=Kr(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?Kr(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[r,n]=bR(this.path);r&&(this.path=n,i=r)}this.win32=!!t.win32||process.platform==="win32",this.win32&&(this.path=S8.decode(this.path.replace(/\\/g,"/")),A=A.replace(/\\/g,"/")),this.absolute=Kr(t.absolute||DR.resolve(this.cwd,A)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[lE](this.statCache.get(this.absolute)):this[gf]()}emit(A,...t){return A==="error"&&(this[SR]=!0),super.emit(A,...t)}[gf](){Hr.lstat(this.absolute,(A,t)=>{if(A)return this.emit("error",A);this[lE](t)})}[lE](A){this.statCache.set(this.absolute,A),this.stat=A,A.isFile()||(A.size=0),this.type=k8(A),this.emit("stat",A),this[wR]()}[wR](){switch(this.type){case"File":return this[mR]();case"Directory":return this[yR]();case"SymbolicLink":return this[sf]();default:return this.end()}}[hE](A){return LR(A,this.type==="Directory",this.portable)}[Yr](A){return NR(A,this.prefix)}[hI](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new MR({path:this[Yr](this.path),linkpath:this.type==="Link"?this[Yr](this.linkpath):this.linkpath,mode:this[hE](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new kR({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[Yr](this.path),linkpath:this.type==="Link"?this[Yr](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[yR](){this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[hI](),this.end()}[sf](){Hr.readlink(this.absolute,(A,t)=>{if(A)return this.emit("error",A);this[If](t)})}[If](A){this.linkpath=Kr(A),this[hI](),this.end()}[FR](A){this.type="Link",this.linkpath=Kr(DR.relative(this.cwd,A)),this.stat.size=0,this[hI](),this.end()}[mR](){if(this.stat.nlink>1){let A=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(A)){let t=this.linkCache.get(A);if(t.indexOf(this.cwd)===0)return this[FR](t)}this.linkCache.set(A,this.absolute)}if(this[hI](),this.stat.size===0)return this.end();this[Cf]()}[Cf](){Hr.open(this.absolute,"r",(A,t)=>{if(A)return this.emit("error",A);this[Bf](t)})}[Bf](A){if(this.fd=A,this[SR])return this[oo]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[cE]()}[cE](){let{fd:A,buf:t,offset:i,length:r,pos:n}=this;Hr.read(A,t,i,r,n,(o,s)=>{if(o)return this[oo](()=>this.emit("error",o));this[af](s)})}[oo](A){Hr.close(this.fd,A)}[af](A){if(A<=0&&this.remain>0){let r=new Error("encountered unexpected EOF");return r.path=this.absolute,r.syscall="read",r.code="EOF",this[oo](()=>this.emit("error",r))}if(A>this.remain){let r=new Error("did not encounter expected EOF");return r.path=this.absolute,r.syscall="read",r.code="EOF",this[oo](()=>this.emit("error",r))}if(A===this.remain)for(let r=A;r<this.length&&A<this.blockRemain;r++)this.buf[r+this.offset]=0,A++,this.remain++;let t=this.offset===0&&A===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+A);this.write(t)?this[of]():this[Ef](()=>this[of]())}[Ef](A){this.once("drain",A)}write(A){if(this.blockRemain<A.length){let t=new Error("writing more data than expected");return t.path=this.absolute,this.emit("error",t)}return this.remain-=A.length,this.blockRemain-=A.length,this.pos+=A.length,this.offset+=A.length,super.write(A)}[of](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[oo](A=>A?this.emit("error",A):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[cE]()}}),uf=class extends fE{[gf](){this[lE](Hr.lstatSync(this.absolute))}[sf](){this[If](Hr.readlinkSync(this.absolute))}[Cf](){this[Bf](Hr.openSync(this.absolute,"r"))}[cE](){let A=!0;try{let{fd:t,buf:i,offset:r,length:n,pos:o}=this,s=Hr.readSync(t,i,r,n,o);this[af](s),A=!1}finally{if(A)try{this[oo](()=>{})}catch{}}}[Ef](A){A()}[oo](A){Hr.closeSync(this.fd),A()}},R8=vR(class extends RR{constructor(A,t){t=t||{},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=A,this.type=A.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=Kr(A.path),this.mode=this[hE](A.mode),this.uid=this.portable?null:A.uid,this.gid=this.portable?null:A.gid,this.uname=this.portable?null:A.uname,this.gname=this.portable?null:A.gname,this.size=A.size,this.mtime=this.noMtime?null:t.mtime||A.mtime,this.atime=this.portable?null:A.atime,this.ctime=this.portable?null:A.ctime,this.linkpath=Kr(A.linkpath),typeof t.onwarn=="function"&&this.on("warn",t.onwarn);let i=!1;if(!this.preservePaths){let[r,n]=bR(this.path);r&&(this.path=n,i=r)}this.remain=A.size,this.blockRemain=A.startBlockSize,this.header=new MR({path:this[Yr](this.path),linkpath:this.type==="Link"?this[Yr](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new kR({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[Yr](this.path),linkpath:this.type==="Link"?this[Yr](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),A.pipe(this)}[Yr](A){return NR(A,this.prefix)}[hE](A){return LR(A,this.type==="Directory",this.portable)}write(A){let t=A.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(A)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});fE.Sync=uf;fE.Tar=R8;var k8=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported";GR.exports=fE});var RE=L((WsA,PR)=>{"use strict";var FE=class{constructor(A,t){this.path=A||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},{Minipass:M8}=tE(),UR=jh(),N8=CE(),mf=Qf(),v8=mf.Sync,b8=mf.Tar,L8=jB(),xR=Buffer.alloc(1024),DE=Symbol("onStat"),dE=Symbol("ended"),Tr=Symbol("queue"),ag=Symbol("current"),as=Symbol("process"),pE=Symbol("processing"),JR=Symbol("processJob"),Pr=Symbol("jobs"),cf=Symbol("jobDone"),wE=Symbol("addFSEntry"),KR=Symbol("addTarEntry"),df=Symbol("stat"),pf=Symbol("readdir"),mE=Symbol("onreaddir"),yE=Symbol("pipe"),HR=Symbol("entry"),lf=Symbol("entryOpt"),Df=Symbol("writeEntryClass"),TR=Symbol("write"),hf=Symbol("ondrain"),SE=require("fs"),YR=require("path"),G8=uE(),ff=ng(),yf=G8(class extends M8{constructor(A){if(super(A),A=A||Object.create(null),this.opt=A,this.file=A.file||"",this.cwd=A.cwd||process.cwd(),this.maxReadSize=A.maxReadSize,this.preservePaths=!!A.preservePaths,this.strict=!!A.strict,this.noPax=!!A.noPax,this.prefix=ff(A.prefix||""),this.linkCache=A.linkCache||new Map,this.statCache=A.statCache||new Map,this.readdirCache=A.readdirCache||new Map,this[Df]=mf,typeof A.onwarn=="function"&&this.on("warn",A.onwarn),this.portable=!!A.portable,this.zip=null,A.gzip||A.brotli){if(A.gzip&&A.brotli)throw new TypeError("gzip and brotli are mutually exclusive");A.gzip&&(typeof A.gzip!="object"&&(A.gzip={}),this.portable&&(A.gzip.portable=!0),this.zip=new UR.Gzip(A.gzip)),A.brotli&&(typeof A.brotli!="object"&&(A.brotli={}),this.zip=new UR.BrotliCompress(A.brotli)),this.zip.on("data",t=>super.write(t)),this.zip.on("end",t=>super.end()),this.zip.on("drain",t=>this[hf]()),this.on("resume",t=>this.zip.resume())}else this.on("drain",this[hf]);this.noDirRecurse=!!A.noDirRecurse,this.follow=!!A.follow,this.noMtime=!!A.noMtime,this.mtime=A.mtime||null,this.filter=typeof A.filter=="function"?A.filter:t=>!0,this[Tr]=new L8,this[Pr]=0,this.jobs=+A.jobs||4,this[pE]=!1,this[dE]=!1}[TR](A){return super.write(A)}add(A){return this.write(A),this}end(A){return A&&this.write(A),this[dE]=!0,this[as](),this}write(A){if(this[dE])throw new Error("write after end");return A instanceof N8?this[KR](A):this[wE](A),this.flowing}[KR](A){let t=ff(YR.resolve(this.cwd,A.path));if(!this.filter(A.path,A))A.resume();else{let i=new FE(A.path,t,!1);i.entry=new b8(A,this[lf](i)),i.entry.on("end",r=>this[cf](i)),this[Pr]+=1,this[Tr].push(i)}this[as]()}[wE](A){let t=ff(YR.resolve(this.cwd,A));this[Tr].push(new FE(A,t)),this[as]()}[df](A){A.pending=!0,this[Pr]+=1;let t=this.follow?"stat":"lstat";SE[t](A.absolute,(i,r)=>{A.pending=!1,this[Pr]-=1,i?this.emit("error",i):this[DE](A,r)})}[DE](A,t){this.statCache.set(A.absolute,t),A.stat=t,this.filter(A.path,t)||(A.ignore=!0),this[as]()}[pf](A){A.pending=!0,this[Pr]+=1,SE.readdir(A.absolute,(t,i)=>{if(A.pending=!1,this[Pr]-=1,t)return this.emit("error",t);this[mE](A,i)})}[mE](A,t){this.readdirCache.set(A.absolute,t),A.readdir=t,this[as]()}[as](){if(!this[pE]){this[pE]=!0;for(let A=this[Tr].head;A!==null&&this[Pr]<this.jobs;A=A.next)if(this[JR](A.value),A.value.ignore){let t=A.next;this[Tr].removeNode(A),A.next=t}this[pE]=!1,this[dE]&&!this[Tr].length&&this[Pr]===0&&(this.zip?this.zip.end(xR):(super.write(xR),super.end()))}}get[ag](){return this[Tr]&&this[Tr].head&&this[Tr].head.value}[cf](A){this[Tr].shift(),this[Pr]-=1,this[as]()}[JR](A){if(!A.pending){if(A.entry){A===this[ag]&&!A.piped&&this[yE](A);return}if(A.stat||(this.statCache.has(A.absolute)?this[DE](A,this.statCache.get(A.absolute)):this[df](A)),!!A.stat&&!A.ignore&&!(!this.noDirRecurse&&A.stat.isDirectory()&&!A.readdir&&(this.readdirCache.has(A.absolute)?this[mE](A,this.readdirCache.get(A.absolute)):this[pf](A),!A.readdir))){if(A.entry=this[HR](A),!A.entry){A.ignore=!0;return}A===this[ag]&&!A.piped&&this[yE](A)}}}[lf](A){return{onwarn:(t,i,r)=>this.warn(t,i,r),noPax:this.noPax,cwd:this.cwd,absolute:A.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[HR](A){this[Pr]+=1;try{return new this[Df](A.path,this[lf](A)).on("end",()=>this[cf](A)).on("error",t=>this.emit("error",t))}catch(t){this.emit("error",t)}}[hf](){this[ag]&&this[ag].entry&&this[ag].entry.resume()}[yE](A){A.piped=!0,A.readdir&&A.readdir.forEach(r=>{let n=A.path,o=n==="./"?"":n.replace(/\/*$/,"/");this[wE](o+r)});let t=A.entry,i=this.zip;i?t.on("data",r=>{i.write(r)||t.pause()}):t.on("data",r=>{super.write(r)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),wf=class extends yf{constructor(A){super(A),this[Df]=v8}pause(){}resume(){}[df](A){let t=this.follow?"statSync":"lstatSync";this[DE](A,SE[t](A.absolute))}[pf](A,t){this[mE](A,SE.readdirSync(A.absolute))}[yE](A){let t=A.entry,i=this.zip;A.readdir&&A.readdir.forEach(r=>{let n=A.path,o=n==="./"?"":n.replace(/\/*$/,"/");this[wE](o+r)}),i?t.on("data",r=>{i.write(r)}):t.on("data",r=>{super[TR](r)})}};yf.Sync=wf;PR.exports=yf});var lg=L(dI=>{"use strict";var U8=Nh(),x8=require("events").EventEmitter,ei=require("fs"),Rf=ei.writev;if(!Rf){let e=process.binding("fs"),A=e.FSReqWrap||e.FSReqCallback;Rf=(t,i,r,n)=>{let o=(g,C)=>n(g,C,i),s=new A;s.oncomplete=o,e.writeBuffers(t,i,r,s)}}var Qg=Symbol("_autoClose"),dr=Symbol("_close"),fI=Symbol("_ended"),ge=Symbol("_fd"),OR=Symbol("_finished"),go=Symbol("_flags"),Ff=Symbol("_flush"),kf=Symbol("_handleChunk"),Mf=Symbol("_makeBuf"),bE=Symbol("_mode"),kE=Symbol("_needDrain"),Eg=Symbol("_onerror"),cg=Symbol("_onopen"),Sf=Symbol("_onread"),Cg=Symbol("_onwrite"),ao=Symbol("_open"),Sn=Symbol("_path"),Is=Symbol("_pos"),Or=Symbol("_queue"),Bg=Symbol("_read"),qR=Symbol("_readSize"),so=Symbol("_reading"),ME=Symbol("_remain"),_R=Symbol("_size"),NE=Symbol("_write"),Ig=Symbol("_writing"),vE=Symbol("_defaultFlag"),ug=Symbol("_errored"),LE=class extends U8{constructor(A,t){if(t=t||{},super(t),this.readable=!0,this.writable=!1,typeof A!="string")throw new TypeError("path must be a string");this[ug]=!1,this[ge]=typeof t.fd=="number"?t.fd:null,this[Sn]=A,this[qR]=t.readSize||16*1024*1024,this[so]=!1,this[_R]=typeof t.size=="number"?t.size:1/0,this[ME]=this[_R],this[Qg]=typeof t.autoClose=="boolean"?t.autoClose:!0,typeof this[ge]=="number"?this[Bg]():this[ao]()}get fd(){return this[ge]}get path(){return this[Sn]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[ao](){ei.open(this[Sn],"r",(A,t)=>this[cg](A,t))}[cg](A,t){A?this[Eg](A):(this[ge]=t,this.emit("open",t),this[Bg]())}[Mf](){return Buffer.allocUnsafe(Math.min(this[qR],this[ME]))}[Bg](){if(!this[so]){this[so]=!0;let A=this[Mf]();if(A.length===0)return process.nextTick(()=>this[Sf](null,0,A));ei.read(this[ge],A,0,A.length,null,(t,i,r)=>this[Sf](t,i,r))}}[Sf](A,t,i){this[so]=!1,A?this[Eg](A):this[kf](t,i)&&this[Bg]()}[dr](){if(this[Qg]&&typeof this[ge]=="number"){let A=this[ge];this[ge]=null,ei.close(A,t=>t?this.emit("error",t):this.emit("close"))}}[Eg](A){this[so]=!0,this[dr](),this.emit("error",A)}[kf](A,t){let i=!1;return this[ME]-=A,A>0&&(i=super.write(A<t.length?t.slice(0,A):t)),(A===0||this[ME]<=0)&&(i=!1,this[dr](),super.end()),i}emit(A,t){switch(A){case"prefinish":case"finish":break;case"drain":typeof this[ge]=="number"&&this[Bg]();break;case"error":return this[ug]?void 0:(this[ug]=!0,super.emit(A,t));default:return super.emit(A,t)}}},Nf=class extends LE{[ao](){let A=!0;try{this[cg](null,ei.openSync(this[Sn],"r")),A=!1}finally{A&&this[dr]()}}[Bg](){let A=!0;try{if(!this[so]){this[so]=!0;do{let t=this[Mf](),i=t.length===0?0:ei.readSync(this[ge],t,0,t.length,null);if(!this[kf](i,t))break}while(!0);this[so]=!1}A=!1}finally{A&&this[dr]()}}[dr](){if(this[Qg]&&typeof this[ge]=="number"){let A=this[ge];this[ge]=null,ei.closeSync(A),this.emit("close")}}},GE=class extends x8{constructor(A,t){t=t||{},super(t),this.readable=!1,this.writable=!0,this[ug]=!1,this[Ig]=!1,this[fI]=!1,this[kE]=!1,this[Or]=[],this[Sn]=A,this[ge]=typeof t.fd=="number"?t.fd:null,this[bE]=t.mode===void 0?438:t.mode,this[Is]=typeof t.start=="number"?t.start:null,this[Qg]=typeof t.autoClose=="boolean"?t.autoClose:!0;let i=this[Is]!==null?"r+":"w";this[vE]=t.flags===void 0,this[go]=this[vE]?i:t.flags,this[ge]===null&&this[ao]()}emit(A,t){if(A==="error"){if(this[ug])return;this[ug]=!0}return super.emit(A,t)}get fd(){return this[ge]}get path(){return this[Sn]}[Eg](A){this[dr](),this[Ig]=!0,this.emit("error",A)}[ao](){ei.open(this[Sn],this[go],this[bE],(A,t)=>this[cg](A,t))}[cg](A,t){this[vE]&&this[go]==="r+"&&A&&A.code==="ENOENT"?(this[go]="w",this[ao]()):A?this[Eg](A):(this[ge]=t,this.emit("open",t),this[Ff]())}end(A,t){return A&&this.write(A,t),this[fI]=!0,!this[Ig]&&!this[Or].length&&typeof this[ge]=="number"&&this[Cg](null,0),this}write(A,t){return typeof A=="string"&&(A=Buffer.from(A,t)),this[fI]?(this.emit("error",new Error("write() after end()")),!1):this[ge]===null||this[Ig]||this[Or].length?(this[Or].push(A),this[kE]=!0,!1):(this[Ig]=!0,this[NE](A),!0)}[NE](A){ei.write(this[ge],A,0,A.length,this[Is],(t,i)=>this[Cg](t,i))}[Cg](A,t){A?this[Eg](A):(this[Is]!==null&&(this[Is]+=t),this[Or].length?this[Ff]():(this[Ig]=!1,this[fI]&&!this[OR]?(this[OR]=!0,this[dr](),this.emit("finish")):this[kE]&&(this[kE]=!1,this.emit("drain"))))}[Ff](){if(this[Or].length===0)this[fI]&&this[Cg](null,0);else if(this[Or].length===1)this[NE](this[Or].pop());else{let A=this[Or];this[Or]=[],Rf(this[ge],A,this[Is],(t,i)=>this[Cg](t,i))}}[dr](){if(this[Qg]&&typeof this[ge]=="number"){let A=this[ge];this[ge]=null,ei.close(A,t=>t?this.emit("error",t):this.emit("close"))}}},vf=class extends GE{[ao](){let A;if(this[vE]&&this[go]==="r+")try{A=ei.openSync(this[Sn],this[go],this[bE])}catch(t){if(t.code==="ENOENT")return this[go]="w",this[ao]();throw t}else A=ei.openSync(this[Sn],this[go],this[bE]);this[cg](null,A)}[dr](){if(this[Qg]&&typeof this[ge]=="number"){let A=this[ge];this[ge]=null,ei.closeSync(A),this.emit("close")}}[NE](A){let t=!0;try{this[Cg](null,ei.writeSync(this[ge],A,0,A.length,this[Is])),t=!1}finally{if(t)try{this[dr]()}catch{}}}};dI.ReadStream=LE;dI.ReadStreamSync=Nf;dI.WriteStream=GE;dI.WriteStreamSync=vf});var TE=L((XsA,tk)=>{"use strict";var J8=uE(),jR=sg(),K8=require("events"),H8=jB(),Y8=1024*1024,T8=CE(),WR=EE(),VR=jh(),{nextTick:P8}=require("process"),bf=Buffer.from([31,139]),qi=Symbol("state"),Cs=Symbol("writeEntry"),Rn=Symbol("readEntry"),Lf=Symbol("nextEntry"),ZR=Symbol("processEntry"),_i=Symbol("extendedHeader"),pI=Symbol("globalExtendedHeader"),Io=Symbol("meta"),XR=Symbol("emitMeta"),Qe=Symbol("buffer"),kn=Symbol("queue"),Co=Symbol("ended"),zR=Symbol("emittedEnd"),Bs=Symbol("emit"),at=Symbol("unzip"),UE=Symbol("consumeChunk"),xE=Symbol("consumeChunkSub"),Gf=Symbol("consumeBody"),$R=Symbol("consumeMeta"),Ak=Symbol("consumeHeader"),JE=Symbol("consuming"),Uf=Symbol("bufferConcat"),xf=Symbol("maybeEnd"),DI=Symbol("writing"),Bo=Symbol("aborted"),KE=Symbol("onDone"),Es=Symbol("sawValidEntry"),HE=Symbol("sawNullBlock"),YE=Symbol("sawEOF"),ek=Symbol("closeStream"),O8=e=>!0;tk.exports=J8(class extends K8{constructor(A){A=A||{},super(A),this.file=A.file||"",this[Es]=null,this.on(KE,i=>{(this[qi]==="begin"||this[Es]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),A.ondone?this.on(KE,A.ondone):this.on(KE,i=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!A.strict,this.maxMetaEntrySize=A.maxMetaEntrySize||Y8,this.filter=typeof A.filter=="function"?A.filter:O8;let t=A.file&&(A.file.endsWith(".tar.br")||A.file.endsWith(".tbr"));this.brotli=!A.gzip&&A.brotli!==void 0?A.brotli:t?void 0:!1,this.writable=!0,this.readable=!1,this[kn]=new H8,this[Qe]=null,this[Rn]=null,this[Cs]=null,this[qi]="begin",this[Io]="",this[_i]=null,this[pI]=null,this[Co]=!1,this[at]=null,this[Bo]=!1,this[HE]=!1,this[YE]=!1,this.on("end",()=>this[ek]()),typeof A.onwarn=="function"&&this.on("warn",A.onwarn),typeof A.onentry=="function"&&this.on("entry",A.onentry)}[Ak](A,t){this[Es]===null&&(this[Es]=!1);let i;try{i=new jR(A,t,this[_i],this[pI])}catch(r){return this.warn("TAR_ENTRY_INVALID",r)}if(i.nullBlock)this[HE]?(this[YE]=!0,this[qi]==="begin"&&(this[qi]="header"),this[Bs]("eof")):(this[HE]=!0,this[Bs]("nullBlock"));else if(this[HE]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let r=i.type;if(/^(Symbolic)?Link$/.test(r)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(r)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let n=this[Cs]=new T8(i,this[_i],this[pI]);if(!this[Es])if(n.remain){let o=()=>{n.invalid||(this[Es]=!0)};n.on("end",o)}else this[Es]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[Bs]("ignoredEntry",n),this[qi]="ignore",n.resume()):n.size>0&&(this[Io]="",n.on("data",o=>this[Io]+=o),this[qi]="meta"):(this[_i]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[Bs]("ignoredEntry",n),this[qi]=n.remain?"ignore":"header",n.resume()):(n.remain?this[qi]="body":(this[qi]="header",n.end()),this[Rn]?this[kn].push(n):(this[kn].push(n),this[Lf]())))}}}[ek](){P8(()=>this.emit("close"))}[ZR](A){let t=!0;return A?Array.isArray(A)?this.emit.apply(this,A):(this[Rn]=A,this.emit("entry",A),A.emittedEnd||(A.on("end",i=>this[Lf]()),t=!1)):(this[Rn]=null,t=!1),t}[Lf](){do;while(this[ZR](this[kn].shift()));if(!this[kn].length){let A=this[Rn];!A||A.flowing||A.size===A.remain?this[DI]||this.emit("drain"):A.once("drain",i=>this.emit("drain"))}}[Gf](A,t){let i=this[Cs],r=i.blockRemain,n=r>=A.length&&t===0?A:A.slice(t,t+r);return i.write(n),i.blockRemain||(this[qi]="header",this[Cs]=null,i.end()),n.length}[$R](A,t){let i=this[Cs],r=this[Gf](A,t);return this[Cs]||this[XR](i),r}[Bs](A,t,i){!this[kn].length&&!this[Rn]?this.emit(A,t,i):this[kn].push([A,t,i])}[XR](A){switch(this[Bs]("meta",this[Io]),A.type){case"ExtendedHeader":case"OldExtendedHeader":this[_i]=WR.parse(this[Io],this[_i],!1);break;case"GlobalExtendedHeader":this[pI]=WR.parse(this[Io],this[pI],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[_i]=this[_i]||Object.create(null),this[_i].path=this[Io].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[_i]=this[_i]||Object.create(null),this[_i].linkpath=this[Io].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+A.type)}}abort(A){this[Bo]=!0,this.emit("abort",A),this.warn("TAR_ABORT",A,{recoverable:!1})}write(A){if(this[Bo])return;if((this[at]===null||this.brotli===void 0&&this[at]===!1)&&A){if(this[Qe]&&(A=Buffer.concat([this[Qe],A]),this[Qe]=null),A.length<bf.length)return this[Qe]=A,!0;for(let n=0;this[at]===null&&n<bf.length;n++)A[n]!==bf[n]&&(this[at]=!1);let r=this.brotli===void 0;if(this[at]===!1&&r)if(A.length<512)if(this[Co])this.brotli=!0;else return this[Qe]=A,!0;else try{new jR(A.slice(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[at]===null||this[at]===!1&&this.brotli){let n=this[Co];this[Co]=!1,this[at]=this[at]===null?new VR.Unzip:new VR.BrotliDecompress,this[at].on("data",s=>this[UE](s)),this[at].on("error",s=>this.abort(s)),this[at].on("end",s=>{this[Co]=!0,this[UE]()}),this[DI]=!0;let o=this[at][n?"end":"write"](A);return this[DI]=!1,o}}this[DI]=!0,this[at]?this[at].write(A):this[UE](A),this[DI]=!1;let i=this[kn].length?!1:this[Rn]?this[Rn].flowing:!0;return!i&&!this[kn].length&&this[Rn].once("drain",r=>this.emit("drain")),i}[Uf](A){A&&!this[Bo]&&(this[Qe]=this[Qe]?Buffer.concat([this[Qe],A]):A)}[xf](){if(this[Co]&&!this[zR]&&!this[Bo]&&!this[JE]){this[zR]=!0;let A=this[Cs];if(A&&A.blockRemain){let t=this[Qe]?this[Qe].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${A.blockRemain} more bytes, only ${t} available)`,{entry:A}),this[Qe]&&A.write(this[Qe]),A.end()}this[Bs](KE)}}[UE](A){if(this[JE])this[Uf](A);else if(!A&&!this[Qe])this[xf]();else{if(this[JE]=!0,this[Qe]){this[Uf](A);let t=this[Qe];this[Qe]=null,this[xE](t)}else this[xE](A);for(;this[Qe]&&this[Qe].length>=512&&!this[Bo]&&!this[YE];){let t=this[Qe];this[Qe]=null,this[xE](t)}this[JE]=!1}(!this[Qe]||this[Co])&&this[xf]()}[xE](A){let t=0,i=A.length;for(;t+512<=i&&!this[Bo]&&!this[YE];)switch(this[qi]){case"begin":case"header":this[Ak](A,t),t+=512;break;case"ignore":case"body":t+=this[Gf](A,t);break;case"meta":t+=this[$R](A,t);break;default:throw new Error("invalid state: "+this[qi])}t<i&&(this[Qe]?this[Qe]=Buffer.concat([A.slice(t),this[Qe]]):this[Qe]=A.slice(t))}end(A){this[Bo]||(this[at]?this[at].end(A):(this[Co]=!0,this.brotli===void 0&&(A=A||Buffer.alloc(0)),this.write(A)))}})});var PE=L((zsA,ok)=>{"use strict";var q8=Ag(),rk=TE(),hg=require("fs"),_8=lg(),ik=require("path"),Jf=gg();ok.exports=(e,A,t)=>{typeof e=="function"?(t=e,A=null,e={}):Array.isArray(e)&&(A=e,e={}),typeof A=="function"&&(t=A,A=null),A?A=Array.from(A):A=[];let i=q8(e);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return A.length&&W8(i,A),i.noResume||j8(i),i.file&&i.sync?V8(i):i.file?Z8(i,t):nk(i)};var j8=e=>{let A=e.onentry;e.onentry=A?t=>{A(t),t.resume()}:t=>t.resume()},W8=(e,A)=>{let t=new Map(A.map(n=>[Jf(n),!0])),i=e.filter,r=(n,o)=>{let s=o||ik.parse(n).root||".",g=n===s?!1:t.has(n)?t.get(n):r(ik.dirname(n),s);return t.set(n,g),g};e.filter=i?(n,o)=>i(n,o)&&r(Jf(n)):n=>r(Jf(n))},V8=e=>{let A=nk(e),t=e.file,i=!0,r;try{let n=hg.statSync(t),o=e.maxReadSize||16*1024*1024;if(n.size<o)A.end(hg.readFileSync(t));else{let s=0,g=Buffer.allocUnsafe(o);for(r=hg.openSync(t,"r");s<n.size;){let C=hg.readSync(r,g,0,o,s);s+=C,A.write(g.slice(0,C))}A.end()}i=!1}finally{if(i&&r)try{hg.closeSync(r)}catch{}}},Z8=(e,A)=>{let t=new rk(e),i=e.maxReadSize||16*1024*1024,r=e.file,n=new Promise((o,s)=>{t.on("error",s),t.on("end",o),hg.stat(r,(g,C)=>{if(g)s(g);else{let a=new _8.ReadStream(r,{readSize:i,size:C.size});a.on("error",s),a.pipe(t)}})});return A?n.then(A,A):n},nk=e=>new rk(e)});var Bk=L(($sA,Ck)=>{"use strict";var X8=Ag(),OE=RE(),sk=lg(),gk=PE(),ak=require("path");Ck.exports=(e,A,t)=>{if(typeof A=="function"&&(t=A),Array.isArray(e)&&(A=e,e={}),!A||!Array.isArray(A)||!A.length)throw new TypeError("no files or directories specified");A=Array.from(A);let i=X8(e);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?z8(i,A):i.file?$8(i,A,t):i.sync?A4(i,A):e4(i,A)};var z8=(e,A)=>{let t=new OE.Sync(e),i=new sk.WriteStreamSync(e.file,{mode:e.mode||438});t.pipe(i),Ik(t,A)},$8=(e,A,t)=>{let i=new OE(e),r=new sk.WriteStream(e.file,{mode:e.mode||438});i.pipe(r);let n=new Promise((o,s)=>{r.on("error",s),r.on("close",o),i.on("error",s)});return Kf(i,A),t?n.then(t,t):n},Ik=(e,A)=>{A.forEach(t=>{t.charAt(0)==="@"?gk({file:ak.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:i=>e.add(i)}):e.add(t)}),e.end()},Kf=(e,A)=>{for(;A.length;){let t=A.shift();if(t.charAt(0)==="@")return gk({file:ak.resolve(e.cwd,t.slice(1)),noResume:!0,onentry:i=>e.add(i)}).then(i=>Kf(e,A));e.add(t)}e.end()},A4=(e,A)=>{let t=new OE.Sync(e);return Ik(t,A),t},e4=(e,A)=>{let t=new OE(e);return Kf(t,A),t}});var Hf=L((AgA,fk)=>{"use strict";var t4=Ag(),Ek=RE(),wi=require("fs"),uk=lg(),Qk=PE(),ck=require("path"),lk=sg();fk.exports=(e,A,t)=>{let i=t4(e);if(!i.file)throw new TypeError("file is required");if(i.gzip||i.brotli||i.file.endsWith(".br")||i.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!A||!Array.isArray(A)||!A.length)throw new TypeError("no files or directories specified");return A=Array.from(A),i.sync?i4(i,A):n4(i,A,t)};var i4=(e,A)=>{let t=new Ek.Sync(e),i=!0,r,n;try{try{r=wi.openSync(e.file,"r+")}catch(g){if(g.code==="ENOENT")r=wi.openSync(e.file,"w+");else throw g}let o=wi.fstatSync(r),s=Buffer.alloc(512);A:for(n=0;n<o.size;n+=512){for(let a=0,u=0;a<512;a+=u){if(u=wi.readSync(r,s,a,s.length-a,n+a),n===0&&s[0]===31&&s[1]===139)throw new Error("cannot append to compressed archives");if(!u)break A}let g=new lk(s);if(!g.cksumValid)break;let C=512*Math.ceil(g.size/512);if(n+C+512>o.size)break;n+=C,e.mtimeCache&&e.mtimeCache.set(g.path,g.mtime)}i=!1,r4(e,t,n,r,A)}finally{if(i)try{wi.closeSync(r)}catch{}}},r4=(e,A,t,i,r)=>{let n=new uk.WriteStreamSync(e.file,{fd:i,start:t});A.pipe(n),o4(A,r)},n4=(e,A,t)=>{A=Array.from(A);let i=new Ek(e),r=(o,s,g)=>{let C=(B,c)=>{B?wi.close(o,Q=>g(B)):g(null,c)},a=0;if(s===0)return C(null,0);let u=0,E=Buffer.alloc(512),I=(B,c)=>{if(B)return C(B);if(u+=c,u<512&&c)return wi.read(o,E,u,E.length-u,a+u,I);if(a===0&&E[0]===31&&E[1]===139)return C(new Error("cannot append to compressed archives"));if(u<512)return C(null,a);let Q=new lk(E);if(!Q.cksumValid)return C(null,a);let l=512*Math.ceil(Q.size/512);if(a+l+512>s||(a+=l+512,a>=s))return C(null,a);e.mtimeCache&&e.mtimeCache.set(Q.path,Q.mtime),u=0,wi.read(o,E,0,512,a,I)};wi.read(o,E,0,512,a,I)},n=new Promise((o,s)=>{i.on("error",s);let g="r+",C=(a,u)=>{if(a&&a.code==="ENOENT"&&g==="r+")return g="w+",wi.open(e.file,g,C);if(a)return s(a);wi.fstat(u,(E,I)=>{if(E)return wi.close(u,()=>s(E));r(u,I.size,(B,c)=>{if(B)return s(B);let Q=new uk.WriteStream(e.file,{fd:u,start:c});i.pipe(Q),Q.on("error",s),Q.on("close",o),hk(i,A)})})};wi.open(e.file,g,C)});return t?n.then(t,t):n},o4=(e,A)=>{A.forEach(t=>{t.charAt(0)==="@"?Qk({file:ck.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:i=>e.add(i)}):e.add(t)}),e.end()},hk=(e,A)=>{for(;A.length;){let t=A.shift();if(t.charAt(0)==="@")return Qk({file:ck.resolve(e.cwd,t.slice(1)),noResume:!0,onentry:i=>e.add(i)}).then(i=>hk(e,A));e.add(t)}e.end()}});var pk=L((egA,dk)=>{"use strict";var s4=Ag(),g4=Hf();dk.exports=(e,A,t)=>{let i=s4(e);if(!i.file)throw new TypeError("file is required");if(i.gzip||i.brotli||i.file.endsWith(".br")||i.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!A||!Array.isArray(A)||!A.length)throw new TypeError("no files or directories specified");return A=Array.from(A),a4(i),g4(i,A,t)};var a4=e=>{let A=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=A?(t,i)=>A(t,i)&&!(e.mtimeCache.get(t)>i.mtime):(t,i)=>!(e.mtimeCache.get(t)>i.mtime)}});var mk=L((tgA,wk)=>{var{promisify:Dk}=require("util"),Eo=require("fs"),I4=e=>{if(!e)e={mode:511,fs:Eo};else if(typeof e=="object")e={mode:511,fs:Eo,...e};else if(typeof e=="number")e={mode:e,fs:Eo};else if(typeof e=="string")e={mode:parseInt(e,8),fs:Eo};else throw new TypeError("invalid options argument");return e.mkdir=e.mkdir||e.fs.mkdir||Eo.mkdir,e.mkdirAsync=Dk(e.mkdir),e.stat=e.stat||e.fs.stat||Eo.stat,e.statAsync=Dk(e.stat),e.statSync=e.statSync||e.fs.statSync||Eo.statSync,e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||Eo.mkdirSync,e};wk.exports=I4});var Fk=L((igA,yk)=>{var C4=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:B4,parse:E4}=require("path"),u4=e=>{if(/\0/.test(e))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:e,code:"ERR_INVALID_ARG_VALUE"});if(e=B4(e),C4==="win32"){let A=/[*|"<>?:]/,{root:t}=E4(e);if(A.test(e.substr(t.length)))throw Object.assign(new Error("Illegal characters in path."),{path:e,code:"EINVAL"})}return e};yk.exports=u4});var Nk=L((rgA,Mk)=>{var{dirname:Sk}=require("path"),Rk=(e,A,t=void 0)=>t===A?Promise.resolve():e.statAsync(A).then(i=>i.isDirectory()?t:void 0,i=>i.code==="ENOENT"?Rk(e,Sk(A),A):void 0),kk=(e,A,t=void 0)=>{if(t!==A)try{return e.statSync(A).isDirectory()?t:void 0}catch(i){return i.code==="ENOENT"?kk(e,Sk(A),A):void 0}};Mk.exports={findMade:Rk,findMadeSync:kk}});var Pf=L((ngA,bk)=>{var{dirname:vk}=require("path"),Yf=(e,A,t)=>{A.recursive=!1;let i=vk(e);return i===e?A.mkdirAsync(e,A).catch(r=>{if(r.code!=="EISDIR")throw r}):A.mkdirAsync(e,A).then(()=>t||e,r=>{if(r.code==="ENOENT")return Yf(i,A).then(n=>Yf(e,A,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;return A.statAsync(e).then(n=>{if(n.isDirectory())return t;throw r},()=>{throw r})})},Tf=(e,A,t)=>{let i=vk(e);if(A.recursive=!1,i===e)try{return A.mkdirSync(e,A)}catch(r){if(r.code!=="EISDIR")throw r;return}try{return A.mkdirSync(e,A),t||e}catch(r){if(r.code==="ENOENT")return Tf(e,A,Tf(i,A,t));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;try{if(!A.statSync(e).isDirectory())throw r}catch{throw r}}};bk.exports={mkdirpManual:Yf,mkdirpManualSync:Tf}});var Uk=L((ogA,Gk)=>{var{dirname:Lk}=require("path"),{findMade:Q4,findMadeSync:c4}=Nk(),{mkdirpManual:l4,mkdirpManualSync:h4}=Pf(),f4=(e,A)=>(A.recursive=!0,Lk(e)===e?A.mkdirAsync(e,A):Q4(A,e).then(i=>A.mkdirAsync(e,A).then(()=>i).catch(r=>{if(r.code==="ENOENT")return l4(e,A);throw r}))),d4=(e,A)=>{if(A.recursive=!0,Lk(e)===e)return A.mkdirSync(e,A);let i=c4(A,e);try{return A.mkdirSync(e,A),i}catch(r){if(r.code==="ENOENT")return h4(e,A);throw r}};Gk.exports={mkdirpNative:f4,mkdirpNativeSync:d4}});var Hk=L((sgA,Kk)=>{var xk=require("fs"),p4=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,Of=p4.replace(/^v/,"").split("."),Jk=+Of[0]>10||+Of[0]==10&&+Of[1]>=12,D4=Jk?e=>e.mkdir===xk.mkdir:()=>!1,w4=Jk?e=>e.mkdirSync===xk.mkdirSync:()=>!1;Kk.exports={useNative:D4,useNativeSync:w4}});var _k=L((ggA,qk)=>{var fg=mk(),dg=Fk(),{mkdirpNative:Yk,mkdirpNativeSync:Tk}=Uk(),{mkdirpManual:Pk,mkdirpManualSync:Ok}=Pf(),{useNative:m4,useNativeSync:y4}=Hk(),pg=(e,A)=>(e=dg(e),A=fg(A),m4(A)?Yk(e,A):Pk(e,A)),F4=(e,A)=>(e=dg(e),A=fg(A),y4(A)?Tk(e,A):Ok(e,A));pg.sync=F4;pg.native=(e,A)=>Yk(dg(e),fg(A));pg.manual=(e,A)=>Pk(dg(e),fg(A));pg.nativeSync=(e,A)=>Tk(dg(e),fg(A));pg.manualSync=(e,A)=>Ok(dg(e),fg(A));qk.exports=pg});var $k=L((agA,zk)=>{"use strict";var ji=require("fs"),us=require("path"),S4=ji.lchown?"lchown":"chown",R4=ji.lchownSync?"lchownSync":"chownSync",Wk=ji.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),jk=(e,A,t)=>{try{return ji[R4](e,A,t)}catch(i){if(i.code!=="ENOENT")throw i}},k4=(e,A,t)=>{try{return ji.chownSync(e,A,t)}catch(i){if(i.code!=="ENOENT")throw i}},M4=Wk?(e,A,t,i)=>r=>{!r||r.code!=="EISDIR"?i(r):ji.chown(e,A,t,i)}:(e,A,t,i)=>i,qf=Wk?(e,A,t)=>{try{return jk(e,A,t)}catch(i){if(i.code!=="EISDIR")throw i;k4(e,A,t)}}:(e,A,t)=>jk(e,A,t),N4=process.version,Vk=(e,A,t)=>ji.readdir(e,A,t),v4=(e,A)=>ji.readdirSync(e,A);/^v4\./.test(N4)&&(Vk=(e,A,t)=>ji.readdir(e,t));var qE=(e,A,t,i)=>{ji[S4](e,A,t,M4(e,A,t,r=>{i(r&&r.code!=="ENOENT"?r:null)}))},Zk=(e,A,t,i,r)=>{if(typeof A=="string")return ji.lstat(us.resolve(e,A),(n,o)=>{if(n)return r(n.code!=="ENOENT"?n:null);o.name=A,Zk(e,o,t,i,r)});if(A.isDirectory())_f(us.resolve(e,A.name),t,i,n=>{if(n)return r(n);let o=us.resolve(e,A.name);qE(o,t,i,r)});else{let n=us.resolve(e,A.name);qE(n,t,i,r)}},_f=(e,A,t,i)=>{Vk(e,{withFileTypes:!0},(r,n)=>{if(r){if(r.code==="ENOENT")return i();if(r.code!=="ENOTDIR"&&r.code!=="ENOTSUP")return i(r)}if(r||!n.length)return qE(e,A,t,i);let o=n.length,s=null,g=C=>{if(!s){if(C)return i(s=C);if(--o===0)return qE(e,A,t,i)}};n.forEach(C=>Zk(e,C,A,t,g))})},b4=(e,A,t,i)=>{if(typeof A=="string")try{let r=ji.lstatSync(us.resolve(e,A));r.name=A,A=r}catch(r){if(r.code==="ENOENT")return;throw r}A.isDirectory()&&Xk(us.resolve(e,A.name),t,i),qf(us.resolve(e,A.name),t,i)},Xk=(e,A,t)=>{let i;try{i=v4(e,{withFileTypes:!0})}catch(r){if(r.code==="ENOENT")return;if(r.code==="ENOTDIR"||r.code==="ENOTSUP")return qf(e,A,t);throw r}return i&&i.length&&i.forEach(r=>b4(e,r,A,t)),qf(e,A,t)};zk.exports=_f;_f.sync=Xk});var iM=L((IgA,jf)=>{"use strict";var AM=_k(),Wi=require("fs"),_E=require("path"),eM=$k(),pr=ng(),jE=class extends Error{constructor(A,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=A}get name(){return"SylinkError"}},WE=class extends Error{constructor(A,t){super(t+": Cannot cd into '"+A+"'"),this.path=A,this.code=t}get name(){return"CwdError"}},VE=(e,A)=>e.get(pr(A)),wI=(e,A,t)=>e.set(pr(A),t),L4=(e,A)=>{Wi.stat(e,(t,i)=>{(t||!i.isDirectory())&&(t=new WE(e,t&&t.code||"ENOTDIR")),A(t)})};jf.exports=(e,A,t)=>{e=pr(e);let i=A.umask,r=A.mode|448,n=(r&i)!==0,o=A.uid,s=A.gid,g=typeof o=="number"&&typeof s=="number"&&(o!==A.processUid||s!==A.processGid),C=A.preserve,a=A.unlink,u=A.cache,E=pr(A.cwd),I=(Q,l)=>{Q?t(Q):(wI(u,e,!0),l&&g?eM(l,o,s,h=>I(h)):n?Wi.chmod(e,r,t):t())};if(u&&VE(u,e)===!0)return I();if(e===E)return L4(e,I);if(C)return AM(e,{mode:r}).then(Q=>I(null,Q),I);let c=pr(_E.relative(E,e)).split("/");ZE(E,c,r,u,a,E,null,I)};var ZE=(e,A,t,i,r,n,o,s)=>{if(!A.length)return s(null,o);let g=A.shift(),C=pr(_E.resolve(e+"/"+g));if(VE(i,C))return ZE(C,A,t,i,r,n,o,s);Wi.mkdir(C,t,tM(C,A,t,i,r,n,o,s))},tM=(e,A,t,i,r,n,o,s)=>g=>{g?Wi.lstat(e,(C,a)=>{if(C)C.path=C.path&&pr(C.path),s(C);else if(a.isDirectory())ZE(e,A,t,i,r,n,o,s);else if(r)Wi.unlink(e,u=>{if(u)return s(u);Wi.mkdir(e,t,tM(e,A,t,i,r,n,o,s))});else{if(a.isSymbolicLink())return s(new jE(e,e+"/"+A.join("/")));s(g)}}):(o=o||e,ZE(e,A,t,i,r,n,o,s))},G4=e=>{let A=!1,t="ENOTDIR";try{A=Wi.statSync(e).isDirectory()}catch(i){t=i.code}finally{if(!A)throw new WE(e,t)}};jf.exports.sync=(e,A)=>{e=pr(e);let t=A.umask,i=A.mode|448,r=(i&t)!==0,n=A.uid,o=A.gid,s=typeof n=="number"&&typeof o=="number"&&(n!==A.processUid||o!==A.processGid),g=A.preserve,C=A.unlink,a=A.cache,u=pr(A.cwd),E=Q=>{wI(a,e,!0),Q&&s&&eM.sync(Q,n,o),r&&Wi.chmodSync(e,i)};if(a&&VE(a,e)===!0)return E();if(e===u)return G4(u),E();if(g)return E(AM.sync(e,i));let B=pr(_E.relative(u,e)).split("/"),c=null;for(let Q=B.shift(),l=u;Q&&(l+="/"+Q);Q=B.shift())if(l=pr(_E.resolve(l)),!VE(a,l))try{Wi.mkdirSync(l,i),c=c||l,wI(a,l,!0)}catch{let d=Wi.lstatSync(l);if(d.isDirectory()){wI(a,l,!0);continue}else if(C){Wi.unlinkSync(l),Wi.mkdirSync(l,i),c=c||l,wI(a,l,!0);continue}else if(d.isSymbolicLink())return new jE(l,l+"/"+B.join("/"))}return E(c)}});var Vf=L((CgA,rM)=>{var Wf=Object.create(null),{hasOwnProperty:U4}=Object.prototype;rM.exports=e=>(U4.call(Wf,e)||(Wf[e]=e.normalize("NFD")),Wf[e])});var gM=L((BgA,sM)=>{var nM=require("assert"),x4=Vf(),J4=gg(),{join:oM}=require("path"),K4=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,H4=K4==="win32";sM.exports=()=>{let e=new Map,A=new Map,t=C=>C.split("/").slice(0,-1).reduce((u,E)=>(u.length&&(E=oM(u[u.length-1],E)),u.push(E||"/"),u),[]),i=new Set,r=C=>{let a=A.get(C);if(!a)throw new Error("function does not have any path reservations");return{paths:a.paths.map(u=>e.get(u)),dirs:[...a.dirs].map(u=>e.get(u))}},n=C=>{let{paths:a,dirs:u}=r(C);return a.every(E=>E[0]===C)&&u.every(E=>E[0]instanceof Set&&E[0].has(C))},o=C=>i.has(C)||!n(C)?!1:(i.add(C),C(()=>s(C)),!0),s=C=>{if(!i.has(C))return!1;let{paths:a,dirs:u}=A.get(C),E=new Set;return a.forEach(I=>{let B=e.get(I);nM.equal(B[0],C),B.length===1?e.delete(I):(B.shift(),typeof B[0]=="function"?E.add(B[0]):B[0].forEach(c=>E.add(c)))}),u.forEach(I=>{let B=e.get(I);nM(B[0]instanceof Set),B[0].size===1&&B.length===1?e.delete(I):B[0].size===1?(B.shift(),E.add(B[0])):B[0].delete(C)}),i.delete(C),E.forEach(I=>o(I)),!0};return{check:n,reserve:(C,a)=>{C=H4?["win32 parallelization disabled"]:C.map(E=>J4(oM(x4(E))).toLowerCase());let u=new Set(C.map(E=>t(E)).reduce((E,I)=>E.concat(I)));return A.set(a,{dirs:u,paths:C}),C.forEach(E=>{let I=e.get(E);I?I.push(a):e.set(E,[a])}),u.forEach(E=>{let I=e.get(E);I?I[I.length-1]instanceof Set?I[I.length-1].add(a):I.push(new Set([a])):e.set(E,[new Set([a])])}),o(a)}}}});var CM=L((EgA,IM)=>{var Y4=process.env.__FAKE_PLATFORM__||process.platform,T4=Y4==="win32",P4=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:O4,O_TRUNC:q4,O_WRONLY:_4,UV_FS_O_FILEMAP:aM=0}=P4.constants,j4=T4&&!!aM,W4=512*1024,V4=aM|q4|O4|_4;IM.exports=j4?e=>e<W4?V4:"w":()=>"w"});var rd=L((ugA,yM)=>{"use strict";var Z4=require("assert"),X4=TE(),re=require("fs"),z4=lg(),Mn=require("path"),DM=iM(),BM=rf(),$4=gM(),Aq=nf(),Vi=ng(),eq=gg(),tq=Vf(),EM=Symbol("onEntry"),zf=Symbol("checkFs"),uM=Symbol("checkFs2"),$E=Symbol("pruneCache"),$f=Symbol("isReusable"),Zi=Symbol("makeFs"),Ad=Symbol("file"),ed=Symbol("directory"),Au=Symbol("link"),QM=Symbol("symlink"),cM=Symbol("hardlink"),lM=Symbol("unsupported"),hM=Symbol("checkPath"),uo=Symbol("mkdir"),Ft=Symbol("onError"),XE=Symbol("pending"),fM=Symbol("pend"),Dg=Symbol("unpend"),Zf=Symbol("ended"),Xf=Symbol("maybeClose"),td=Symbol("skip"),mI=Symbol("doChown"),yI=Symbol("uid"),FI=Symbol("gid"),SI=Symbol("checkedCwd"),wM=require("crypto"),mM=CM(),iq=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,RI=iq==="win32",rq=1024,nq=(e,A)=>{if(!RI)return re.unlink(e,A);let t=e+".DELETE."+wM.randomBytes(16).toString("hex");re.rename(e,t,i=>{if(i)return A(i);re.unlink(t,A)})},oq=e=>{if(!RI)return re.unlinkSync(e);let A=e+".DELETE."+wM.randomBytes(16).toString("hex");re.renameSync(e,A),re.unlinkSync(A)},dM=(e,A,t)=>e===e>>>0?e:A===A>>>0?A:t,pM=e=>eq(Vi(tq(e))).toLowerCase(),sq=(e,A)=>{A=pM(A);for(let t of e.keys()){let i=pM(t);(i===A||i.indexOf(A+"/")===0)&&e.delete(t)}},gq=e=>{for(let A of e.keys())e.delete(A)},kI=class extends X4{constructor(A){if(A||(A={}),A.ondone=t=>{this[Zf]=!0,this[Xf]()},super(A),this[SI]=!1,this.reservations=$4(),this.transform=typeof A.transform=="function"?A.transform:null,this.writable=!0,this.readable=!1,this[XE]=0,this[Zf]=!1,this.dirCache=A.dirCache||new Map,typeof A.uid=="number"||typeof A.gid=="number"){if(typeof A.uid!="number"||typeof A.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(A.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=A.uid,this.gid=A.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;A.preserveOwner===void 0&&typeof A.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!A.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.maxDepth=typeof A.maxDepth=="number"?A.maxDepth:rq,this.forceChown=A.forceChown===!0,this.win32=!!A.win32||RI,this.newer=!!A.newer,this.keep=!!A.keep,this.noMtime=!!A.noMtime,this.preservePaths=!!A.preservePaths,this.unlink=!!A.unlink,this.cwd=Vi(Mn.resolve(A.cwd||process.cwd())),this.strip=+A.strip||0,this.processUmask=A.noChmod?0:process.umask(),this.umask=typeof A.umask=="number"?A.umask:this.processUmask,this.dmode=A.dmode||511&~this.umask,this.fmode=A.fmode||438&~this.umask,this.on("entry",t=>this[EM](t))}warn(A,t,i={}){return(A==="TAR_BAD_ARCHIVE"||A==="TAR_ABORT")&&(i.recoverable=!1),super.warn(A,t,i)}[Xf](){this[Zf]&&this[XE]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[hM](A){let t=Vi(A.path),i=t.split("/");if(this.strip){if(i.length<this.strip)return!1;if(A.type==="Link"){let r=Vi(A.linkpath).split("/");if(r.length>=this.strip)A.linkpath=r.slice(this.strip).join("/");else return!1}i.splice(0,this.strip),A.path=i.join("/")}if(isFinite(this.maxDepth)&&i.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:A,path:t,depth:i.length,maxDepth:this.maxDepth}),!1;if(!this.preservePaths){if(i.includes("..")||RI&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:A,path:t}),!1;let[r,n]=Aq(t);r&&(A.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${r} from absolute path`,{entry:A,path:t}))}if(Mn.isAbsolute(A.path)?A.absolute=Vi(Mn.resolve(A.path)):A.absolute=Vi(Mn.resolve(this.cwd,A.path)),!this.preservePaths&&A.absolute.indexOf(this.cwd+"/")!==0&&A.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:A,path:Vi(A.path),resolvedPath:A.absolute,cwd:this.cwd}),!1;if(A.absolute===this.cwd&&A.type!=="Directory"&&A.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Mn.win32.parse(A.absolute);A.absolute=r+BM.encode(A.absolute.slice(r.length));let{root:n}=Mn.win32.parse(A.path);A.path=n+BM.encode(A.path.slice(n.length))}return!0}[EM](A){if(!this[hM](A))return A.resume();switch(Z4.equal(typeof A.absolute,"string"),A.type){case"Directory":case"GNUDumpDir":A.mode&&(A.mode=A.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[zf](A);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[lM](A)}}[Ft](A,t){A.name==="CwdError"?this.emit("error",A):(this.warn("TAR_ENTRY_ERROR",A,{entry:t}),this[Dg](),t.resume())}[uo](A,t,i){DM(Vi(A),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},i)}[mI](A){return this.forceChown||this.preserveOwner&&(typeof A.uid=="number"&&A.uid!==this.processUid||typeof A.gid=="number"&&A.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[yI](A){return dM(this.uid,A.uid,this.processUid)}[FI](A){return dM(this.gid,A.gid,this.processGid)}[Ad](A,t){let i=A.mode&4095||this.fmode,r=new z4.WriteStream(A.absolute,{flags:mM(A.size),mode:i,autoClose:!1});r.on("error",g=>{r.fd&&re.close(r.fd,()=>{}),r.write=()=>!0,this[Ft](g,A),t()});let n=1,o=g=>{if(g){r.fd&&re.close(r.fd,()=>{}),this[Ft](g,A),t();return}--n===0&&re.close(r.fd,C=>{C?this[Ft](C,A):this[Dg](),t()})};r.on("finish",g=>{let C=A.absolute,a=r.fd;if(A.mtime&&!this.noMtime){n++;let u=A.atime||new Date,E=A.mtime;re.futimes(a,u,E,I=>I?re.utimes(C,u,E,B=>o(B&&I)):o())}if(this[mI](A)){n++;let u=this[yI](A),E=this[FI](A);re.fchown(a,u,E,I=>I?re.chown(C,u,E,B=>o(B&&I)):o())}o()});let s=this.transform&&this.transform(A)||A;s!==A&&(s.on("error",g=>{this[Ft](g,A),t()}),A.pipe(s)),s.pipe(r)}[ed](A,t){let i=A.mode&4095||this.dmode;this[uo](A.absolute,i,r=>{if(r){this[Ft](r,A),t();return}let n=1,o=s=>{--n===0&&(t(),this[Dg](),A.resume())};A.mtime&&!this.noMtime&&(n++,re.utimes(A.absolute,A.atime||new Date,A.mtime,o)),this[mI](A)&&(n++,re.chown(A.absolute,this[yI](A),this[FI](A),o)),o()})}[lM](A){A.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${A.type}`,{entry:A}),A.resume()}[QM](A,t){this[Au](A,A.linkpath,"symlink",t)}[cM](A,t){let i=Vi(Mn.resolve(this.cwd,A.linkpath));this[Au](A,i,"link",t)}[fM](){this[XE]++}[Dg](){this[XE]--,this[Xf]()}[td](A){this[Dg](),A.resume()}[$f](A,t){return A.type==="File"&&!this.unlink&&t.isFile()&&t.nlink<=1&&!RI}[zf](A){this[fM]();let t=[A.path];A.linkpath&&t.push(A.linkpath),this.reservations.reserve(t,i=>this[uM](A,i))}[$E](A){A.type==="SymbolicLink"?gq(this.dirCache):A.type!=="Directory"&&sq(this.dirCache,A.absolute)}[uM](A,t){this[$E](A);let i=s=>{this[$E](A),t(s)},r=()=>{this[uo](this.cwd,this.dmode,s=>{if(s){this[Ft](s,A),i();return}this[SI]=!0,n()})},n=()=>{if(A.absolute!==this.cwd){let s=Vi(Mn.dirname(A.absolute));if(s!==this.cwd)return this[uo](s,this.dmode,g=>{if(g){this[Ft](g,A),i();return}o()})}o()},o=()=>{re.lstat(A.absolute,(s,g)=>{if(g&&(this.keep||this.newer&&g.mtime>A.mtime)){this[td](A),i();return}if(s||this[$f](A,g))return this[Zi](null,A,i);if(g.isDirectory()){if(A.type==="Directory"){let C=!this.noChmod&&A.mode&&(g.mode&4095)!==A.mode,a=u=>this[Zi](u,A,i);return C?re.chmod(A.absolute,A.mode,a):a()}if(A.absolute!==this.cwd)return re.rmdir(A.absolute,C=>this[Zi](C,A,i))}if(A.absolute===this.cwd)return this[Zi](null,A,i);nq(A.absolute,C=>this[Zi](C,A,i))})};this[SI]?n():r()}[Zi](A,t,i){if(A){this[Ft](A,t),i();return}switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[Ad](t,i);case"Link":return this[cM](t,i);case"SymbolicLink":return this[QM](t,i);case"Directory":case"GNUDumpDir":return this[ed](t,i)}}[Au](A,t,i,r){re[i](t,A.absolute,n=>{n?this[Ft](n,A):(this[Dg](),A.resume()),r()})}},zE=e=>{try{return[null,e()]}catch(A){return[A,null]}},id=class extends kI{[Zi](A,t){return super[Zi](A,t,()=>{})}[zf](A){if(this[$E](A),!this[SI]){let n=this[uo](this.cwd,this.dmode);if(n)return this[Ft](n,A);this[SI]=!0}if(A.absolute!==this.cwd){let n=Vi(Mn.dirname(A.absolute));if(n!==this.cwd){let o=this[uo](n,this.dmode);if(o)return this[Ft](o,A)}}let[t,i]=zE(()=>re.lstatSync(A.absolute));if(i&&(this.keep||this.newer&&i.mtime>A.mtime))return this[td](A);if(t||this[$f](A,i))return this[Zi](null,A);if(i.isDirectory()){if(A.type==="Directory"){let o=!this.noChmod&&A.mode&&(i.mode&4095)!==A.mode,[s]=o?zE(()=>{re.chmodSync(A.absolute,A.mode)}):[];return this[Zi](s,A)}let[n]=zE(()=>re.rmdirSync(A.absolute));this[Zi](n,A)}let[r]=A.absolute===this.cwd?[]:zE(()=>oq(A.absolute));this[Zi](r,A)}[Ad](A,t){let i=A.mode&4095||this.fmode,r=s=>{let g;try{re.closeSync(n)}catch(C){g=C}(s||g)&&this[Ft](s||g,A),t()},n;try{n=re.openSync(A.absolute,mM(A.size),i)}catch(s){return r(s)}let o=this.transform&&this.transform(A)||A;o!==A&&(o.on("error",s=>this[Ft](s,A)),A.pipe(o)),o.on("data",s=>{try{re.writeSync(n,s,0,s.length)}catch(g){r(g)}}),o.on("end",s=>{let g=null;if(A.mtime&&!this.noMtime){let C=A.atime||new Date,a=A.mtime;try{re.futimesSync(n,C,a)}catch(u){try{re.utimesSync(A.absolute,C,a)}catch{g=u}}}if(this[mI](A)){let C=this[yI](A),a=this[FI](A);try{re.fchownSync(n,C,a)}catch(u){try{re.chownSync(A.absolute,C,a)}catch{g=g||u}}}r(g)})}[ed](A,t){let i=A.mode&4095||this.dmode,r=this[uo](A.absolute,i);if(r){this[Ft](r,A),t();return}if(A.mtime&&!this.noMtime)try{re.utimesSync(A.absolute,A.atime||new Date,A.mtime)}catch{}if(this[mI](A))try{re.chownSync(A.absolute,this[yI](A),this[FI](A))}catch{}t(),A.resume()}[uo](A,t){try{return DM.sync(Vi(A),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(i){return i}}[Au](A,t,i,r){try{re[i+"Sync"](t,A.absolute),r(),A.resume()}catch(n){return this[Ft](n,A)}}};kI.Sync=id;yM.exports=kI});var MM=L((QgA,kM)=>{"use strict";var aq=Ag(),eu=rd(),SM=require("fs"),RM=lg(),FM=require("path"),nd=gg();kM.exports=(e,A,t)=>{typeof e=="function"?(t=e,A=null,e={}):Array.isArray(e)&&(A=e,e={}),typeof A=="function"&&(t=A,A=null),A?A=Array.from(A):A=[];let i=aq(e);if(i.sync&&typeof t=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof t=="function")throw new TypeError("callback only supported with file option");return A.length&&Iq(i,A),i.file&&i.sync?Cq(i):i.file?Bq(i,t):i.sync?Eq(i):uq(i)};var Iq=(e,A)=>{let t=new Map(A.map(n=>[nd(n),!0])),i=e.filter,r=(n,o)=>{let s=o||FM.parse(n).root||".",g=n===s?!1:t.has(n)?t.get(n):r(FM.dirname(n),s);return t.set(n,g),g};e.filter=i?(n,o)=>i(n,o)&&r(nd(n)):n=>r(nd(n))},Cq=e=>{let A=new eu.Sync(e),t=e.file,i=SM.statSync(t),r=e.maxReadSize||16*1024*1024;new RM.ReadStreamSync(t,{readSize:r,size:i.size}).pipe(A)},Bq=(e,A)=>{let t=new eu(e),i=e.maxReadSize||16*1024*1024,r=e.file,n=new Promise((o,s)=>{t.on("error",s),t.on("close",o),SM.stat(r,(g,C)=>{if(g)s(g);else{let a=new RM.ReadStream(r,{readSize:i,size:C.size});a.on("error",s),a.pipe(t)}})});return A?n.then(A,A):n},Eq=e=>new eu.Sync(e),uq=e=>new eu(e)});var tu=L($e=>{"use strict";$e.c=$e.create=Bk();$e.r=$e.replace=Hf();$e.t=$e.list=PE();$e.u=$e.update=pk();$e.x=$e.extract=MM();$e.Pack=RE();$e.Unpack=rd();$e.Parse=TE();$e.ReadEntry=CE();$e.WriteEntry=Qf();$e.Header=sg();$e.Pax=EE();$e.types=Zh()});var PM=L((hgA,TM)=>{var Ht=require("fs"),NI=require("path");TM.exports=ru;ru.ncp=ru;function ru(e,A,t,i){var r=i;i||(r=t,t={});var n=process.cwd(),o=NI.resolve(n,e),s=NI.resolve(n,A),g=t.filter,C=t.rename,a=t.transform,u=t.clobber!==!1,E=t.modified,I=t.dereference,B=null,c=0,Q=0,l=0,h=t.limit||ru.limit||16;h=h<1?1:h>512?512:h,d(o);function d(H){if(c++,g){if(g instanceof RegExp){if(!g.test(H))return _(!0)}else if(typeof g=="function"&&!g(H))return _(!0)}return p(H)}function p(H){var $=I?Ht.stat:Ht.lstat;if(l>=h)return setImmediate(function(){p(H)});l++,$(H,function(P,K){var rA={};if(P)return O(P);if(rA.name=H,rA.mode=K.mode,rA.mtime=K.mtime,rA.atime=K.atime,K.isDirectory())return x(rA);if(K.isFile())return D(rA);if(K.isSymbolicLink())return M(H)})}function D(H){var $=H.name.replace(o,s);C&&($=C($)),J($,function(P){if(P)return R(H,$);if(u&&G($,function(){R(H,$)}),E){var K=I?Ht.stat:Ht.lstat;K($,function(rA,uA){if(H.mtime.getTime()>uA.mtime.getTime())R(H,$);else return _()})}else return _()})}function R(H,$){var P=Ht.createReadStream(H.name),K=Ht.createWriteStream($,{mode:H.mode});P.on("error",O),K.on("error",O),a?a(P,K,H):K.on("open",function(){P.pipe(K)}),K.once("finish",function(){E&&Ht.utimesSync($,H.atime,H.mtime),_()})}function G(H,$){Ht.unlink(H,function(P){return P?O(P):$()})}function x(H){var $=H.name.replace(o,s);J($,function(P){if(P)return Y(H,$);T(H.name)})}function Y(H,$){Ht.mkdir($,H.mode,function(P){if(P)return O(P);T(H.name)})}function T(H){Ht.readdir(H,function($,P){return $?O($):(P.forEach(function(K){d(NI.join(H,K))}),_())})}function M(H){var $=H.replace(o,s);Ht.readlink(H,function(P,K){if(P)return O(P);k(K,$)})}function k(H,$){I&&(H=NI.resolve(n,H)),J($,function(P){if(P)return v(H,$);Ht.readlink($,function(K,rA){return K?O(K):(I&&(rA=NI.resolve(n,rA)),rA===H?_():G($,function(){v(H,$)}))})})}function v(H,$){Ht.symlink(H,$,function(P){return P?O(P):_()})}function J(H,$){Ht.lstat(H,function(P){return P&&P.code==="ENOENT"?$(!0):$(!1)})}function O(H){return t.stopOnError?r(H):(!B&&t.errs?B=Ht.createWriteStream(t.errs):B||(B=[]),typeof B.write>"u"?B.push(H):B.write(H.stack+`

TypeError: Cannot read properties of undefined (reading '0')
    at /usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:40696
    at Array.every (<anonymous>)
    at n (/usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:40686)
    at o (/usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:40767)
    at /usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:41194
    at Set.forEach (<anonymous>)
    at s (/usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:41183)
    at /usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:40791
    at i (/usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:48834)
    at /usr/local/share/npm-global/lib/node_modules/@devcontainers/cli/dist/spec-node/devContainersSpecCLI.js:9:49906

Node.js v20.15.1