sliccy 3.46.3 → 3.47.0

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.
Files changed (56) hide show
  1. package/dist/ui/assets/{adobe-BkCAkLQD.js → adobe-C-xenIKx.js} +1 -1
  2. package/dist/ui/assets/{adobe-B7FamLrZ.js → adobe-qCY6ivXO.js} +2 -2
  3. package/dist/ui/assets/{agent-bridge-BPS_RWjG.js → agent-bridge-C4ts6UDq.js} +1 -1
  4. package/dist/ui/assets/{agent-message-to-chat-o3lfinly.js → agent-message-to-chat-DPRhGBs4.js} +1 -1
  5. package/dist/ui/assets/{apps-DMK5l7L9.js → apps-CYL5BhJf.js} +1 -1
  6. package/dist/ui/assets/{azure-openai-DoRrQDSM.js → azure-openai-CO0NFpL2.js} +1 -1
  7. package/dist/ui/assets/{azure-openai-DY9JBAjD.js → azure-openai-CPkTa0su.js} +1 -1
  8. package/dist/ui/assets/{bsh-watchdog-C_JX-i0L.js → bsh-watchdog-DfI809zK.js} +1 -1
  9. package/dist/ui/assets/{cdp-Bf4uR5Uu.js → cdp-Db59vRJQ.js} +3 -3
  10. package/dist/ui/assets/{connect-surface-VMvaasgd.js → connect-surface-BDaQKlML.js} +1 -1
  11. package/dist/ui/assets/cost-command-B3nvtfXC.js +1 -0
  12. package/dist/ui/assets/{dist-DuFwf0w3.js → dist-OM2jRu8Y.js} +1 -1
  13. package/dist/ui/assets/{dist-BKM7IUTp.js → dist-dbmxHU6J.js} +1 -1
  14. package/dist/ui/assets/{es-C0E2L8vC.js → es-CRcGk_dC.js} +1 -1
  15. package/dist/ui/assets/{follower-sprinkle-bridge-ChwWcxk6.js → follower-sprinkle-bridge-Bpy-TF_X.js} +1 -1
  16. package/dist/ui/assets/{fs-DAFMMAPa.js → fs-DcA1BNNv.js} +1 -1
  17. package/dist/ui/assets/{github-CupiUifV.js → github-BqzI7vhc.js} +2 -2
  18. package/dist/ui/assets/{github-copilot-DGZu7iDo.js → github-copilot-DBZSMaox.js} +1 -1
  19. package/dist/ui/assets/{github-copilot-DUMHA_zj.js → github-copilot-zrSi2iC7.js} +1 -1
  20. package/dist/ui/assets/{github-mr3hHGui.js → github-tinMqkeQ.js} +1 -1
  21. package/dist/ui/assets/{kernel-worker-DLkLqWDD.js → kernel-worker-_IUAJWS9.js} +1034 -1029
  22. package/dist/ui/assets/{lick-ws-bridge-DVGfwM4z.js → lick-ws-bridge-CwFft5O8.js} +1 -1
  23. package/dist/ui/assets/{local-llm-I7gbb03O.js → local-llm-CaXpXlbR.js} +1 -1
  24. package/dist/ui/assets/{magick-wasm-BEr9O1At.js → magick-wasm-BIFbxErX.js} +1 -1
  25. package/dist/ui/assets/{main-DKbKe83M.js → main-DSrMyWaa.js} +8 -8
  26. package/dist/ui/assets/{main-cherry-DYW0Mf_h.js → main-cherry-BDqHdEMv.js} +1 -1
  27. package/dist/ui/assets/{migration-run-CbmE7L29.js → migration-run-D0xMidm5.js} +1 -1
  28. package/dist/ui/assets/{mount-BmLSoNti.js → mount-ADgmVBvB.js} +1 -1
  29. package/dist/ui/assets/{nuke-command-Dy9thgrV.js → nuke-command-LJbpXp2R.js} +1 -1
  30. package/dist/ui/assets/{oauth-bootstrap-CEmuV8RH.js → oauth-bootstrap-BXqjn9Qq.js} +2 -2
  31. package/dist/ui/assets/{oauth-service-D4VUBplJ.js → oauth-service-a_gyh797.js} +1 -1
  32. package/dist/ui/assets/{onboarding-orchestrator-2l8brTGd.js → onboarding-orchestrator-pyU6D59v.js} +1 -1
  33. package/dist/ui/assets/{openai-codex-BOLv4Q5O.js → openai-codex-CYaN0Ump.js} +1 -1
  34. package/dist/ui/assets/{openai-codex-CukMiP7E.js → openai-codex-K4vpNjSa.js} +1 -1
  35. package/dist/ui/assets/{panel-rpc-handlers-DhApDgIq.js → panel-rpc-handlers-D2-Phmyd.js} +1 -1
  36. package/dist/ui/assets/{provider-CWLYuE68.js → provider-6dWTWSJI.js} +1 -1
  37. package/dist/ui/assets/{provider-D17aFzDd.js → provider-7m7DmMdS.js} +2 -2
  38. package/dist/ui/assets/provider-settings-CAEPLE7s.js +99 -0
  39. package/dist/ui/assets/provider-store-access-BYHS39SV.js +1 -0
  40. package/dist/ui/assets/provider-store-access-C64mheK5.js +1 -0
  41. package/dist/ui/assets/{providers-Ciax-WUk.js → providers-c-ke5R_0.js} +1 -1
  42. package/dist/ui/assets/{proxied-fetch-C483fMnu.js → proxied-fetch-F4h6eOTV.js} +1 -1
  43. package/dist/ui/assets/{remote-terminal-view-DcoFM1kL.js → remote-terminal-view-DYnQ-4wQ.js} +1 -1
  44. package/dist/ui/assets/{store-B1ci0dfX.js → store-B82edrFx.js} +1 -1
  45. package/dist/ui/assets/{sudo-CA6twyYS.js → sudo-Bi9vBTmt.js} +1 -1
  46. package/dist/ui/assets/{tray-leave-runtime-DPgYEo3v.js → tray-leave-runtime-Cy132NiR.js} +1 -1
  47. package/dist/ui/assets/{upgrade-detection-iVC-kyNS.js → upgrade-detection-B4m9w3ed.js} +1 -1
  48. package/dist/ui/assets/{xai-grok-BqAgHCix.js → xai-grok-BLa4TTkc.js} +1 -1
  49. package/dist/ui/assets/{xai-grok-CBCxrCtl.js → xai-grok-BUFS4apS.js} +1 -1
  50. package/dist/ui/index.html +1 -1
  51. package/dist/ui/packages/webapp/index.html +1 -1
  52. package/package.json +1 -1
  53. package/dist/ui/assets/cost-command-Bkn0se2Y.js +0 -1
  54. package/dist/ui/assets/provider-settings-BvLKKd_7.js +0 -99
  55. package/dist/ui/assets/provider-store-access-D1OL_quo.js +0 -1
  56. package/dist/ui/assets/provider-store-access-Dg5JtEcU.js +0 -1
@@ -1,4 +1,4 @@
1
- import{o as e,r as t,t as n}from"./chunk-CMxvf4Kt.js";import{f as r,p as i}from"./kernel-worker-DLkLqWDD.js";function a(e,t){if(e.byteLength>=t)return e;if(ArrayBuffer.isView(e)){let n=a(e.buffer,t);return new e.constructor(n,e.byteOffset,t)}let n=typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer;if(e.maxByteLength>t)return n?e.grow(t):e.resize(t),e;if(n){let n=new SharedArrayBuffer(t);return new Uint8Array(n).set(new Uint8Array(e)),n}try{return e.transfer(t)}catch{let n=new ArrayBuffer(t);return new Uint8Array(n).set(new Uint8Array(e)),n}}var o=class extends DataView{constructor(e,t,n){let{buffer:r,byteOffset:i,byteLength:a}=new Uint8Array(e,t,n);super(r,i,a)}};for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(o.prototype,e,{value:()=>{throw ReferenceError(`Do not use DataView methods on a BufferView.`)},writable:!1,enumerable:!1,configurable:!1});var s=class{id;_size;options;regions=[];get size(){return this._size}set size(e){if(e>=this._size){this._size=e;return}this._size=e;for(let t=this.regions.length-1;t>=0;t--){let n=this.regions[t];if(n.offset>=e){this.regions.splice(t,1);continue}let r=e-n.offset;n.data.byteLength>r&&(n.data=n.data.subarray(0,r)),n.ranges=n.ranges.filter(t=>t.start<e).map(t=>t.end>e?{start:t.start,end:e}:t)}}constructor(e,t,n,r){this.id=e,this._size=t,this.options=n,n.sparse??=!0,n.sparse||this.regions.push({offset:0,data:new Uint8Array(t),ranges:[]}),r?.set(e,this)}collect(){if(!this.options.sparse)return;let{regionGapThreshold:e=4095}=this.options;for(let t=0;t<this.regions.length-1;){let n=this.regions[t],r=this.regions[t+1];if(r.offset-(n.offset+n.data.byteLength)>e){t++;continue}n.ranges.push(...r.ranges),n.ranges.sort((e,t)=>e.start-t.start),n.ranges=n.ranges.reduce((e,t)=>(!e.length||e.at(-1).end<t.start?e.push(t):e.at(-1).end=Math.max(e.at(-1).end,t.end),e),[]),n.data=a(n.data,r.offset+r.data.byteLength),n.data.set(r.data,r.offset-n.offset),this.regions.splice(t+1,1)}}missing(e,t){let n=[];for(let r of this.regions){if(r.offset>=t)break;for(let i of r.ranges)if(!(i.end<=e)&&(i.start>=t||(i.start>e&&n.push({start:e,end:Math.min(i.start,t)}),i.end>e&&(e=Math.max(e,i.end)),e>=t)))break;if(e>=t)break}return e<t&&n.push({start:e,end:t}),n}cached(e,t){let n=[];for(let r of this.regions){if(r.offset>=t)break;for(let i of r.ranges)if(!(i.end<=e)){if(i.start>=t)break;n.push({start:Math.max(e,i.start),end:Math.min(t,i.end)})}}n.sort((e,t)=>e.start-t.start);let r=[];for(let e of n){let t=r.at(-1);t&&e.start<=t.end?t.end=Math.max(t.end,e.end):r.push(e)}return r}regionAt(e){if(this.regions.length)for(let t of this.regions){if(t.offset>e)break;if(e>=t.offset&&e<t.offset+t.data.byteLength)return t}}add(e,t){let n=t+e.byteLength,r=this.regionAt(t);if(r)return r.data=a(r.data,n),r.data.set(e,t),r.ranges.push({start:t,end:n}),r.ranges.sort((e,t)=>e.start-t.start),this.collect(),this;let i={data:e,offset:t,ranges:[{start:t,end:n}]},o=this.regions.findIndex(e=>e.offset>t);return o==-1?this.regions.push(i):this.regions.splice(o,0,i),this.collect(),this}};const c=new Uint32Array(256);for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=t&1?2197175160^t>>>1:t>>>1;c[e]=t}function l(e){let t=4294967295;for(let n=0;n<e.length;n++)t=t>>>8^c[(t^e[n])&255];return(t^4294967295)>>>0}var u=e(n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1),d=class extends u.default{[Symbol.toStringTag]=`List`;constructor(e){super(),e&&this.push(...e)}data=new Set;toSet(){return new Set(this.data)}toArray(){return Array.from(this.data)}toJSON(){return Array.from(this.data)}toString(){return this.join(`,`)}_set(e,t,n=!1){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not set an element outside the bounds of the list`);let r=Array.from(this.data);r.splice(e,+n,t),this.data=new Set(r),this.emit(`update`)}set(e,t){this._set(e,t,!0)}deleteAt(e){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not delete an element outside the bounds of the list`);this.delete(Array.from(this.data).at(e))}insert(e,t=this.data.size){this._set(t,e,!1)}at(e){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not access an element outside the bounds of the list`);return Array.from(this.data).at(e)}pop(){let e=Array.from(this.data).pop();return e!==void 0&&this.delete(e),e}push(...e){for(let t of e)this.add(t);return this.data.size}join(e){return Array.from(this.data).join(e)}splice(e,t,...n){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not splice elements outside the bounds of the list`);let r=Array.from(this.data),i=r.splice(e,t,...n);return this.data=new Set(r),this.emit(`update`),i}add(e){return this.data.add(e),this.emit(`update`),this.emit(`add`,e),this}clear(){this.data.clear(),this.emit(`update`)}delete(e){let t=this.data.delete(e);return this.emit(`update`),t}has(e){return this.data.has(e)}get size(){return this.data.size}entries(){return this.toArray().entries()}keys(){return this.toArray().keys()}values(){return this.data.values()}[Symbol.iterator](){return this.data[Symbol.iterator]()}};function f(e,t){let n=Object.entries(e);return Object.fromEntries(n.filter(([e,n])=>t(e,n)))}function p(e,...t){let n={};for(let r of t.flat())n[r]=e[r];return n}function m(e,...t){return f(e,e=>!t.flat().includes(e))}function h(e){try{return JSON.parse(e),!0}catch{return!1}}function g(e){let t=[];for(let n=e;n&&![`Function`,`Object`].includes(n.constructor.name);n=Object.getPrototypeOf(n))t.push(n.constructor.name);return t}function _(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,typeof n==`function`?n.bind(t):n]))}function v(e=Error()){let t=setTimeout(()=>{throw e},5e3);return()=>clearTimeout(t)}function y(e){throw e&&typeof e==`object`&&g(e).includes(`Error`)&&Error?.captureStackTrace(e,y),e}const b=Intl.NumberFormat(`en`,{notation:`compact`});b.format.bind(b);function x(e=0,t=1){return Math.round(Math.random()*(t-e)+e)}function S(e){return e.at(0).toUpperCase()+e.slice(1)}const C=new TextEncoder;function w(e){return C.encode(e)}const T=new TextDecoder;function ee(e){if(!e)return``;if(e.buffer instanceof ArrayBuffer&&!e.buffer.resizable)return T.decode(e);let t=new Uint8Array(e.byteLength);return t.set(e),T.decode(t)}function te(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function ne(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}function E(e){let t=Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function D(e){let t=e.replace(/-/g,``),n=new Uint8Array(16);for(let e=0;e<16;e++)n[e]=parseInt(t.slice(e*2,e*2+2),16);return n}var O;(function(e){e[e.EPERM=1]=`EPERM`,e[e.ENOENT=2]=`ENOENT`,e[e.ESRCH=3]=`ESRCH`,e[e.EINTR=4]=`EINTR`,e[e.EIO=5]=`EIO`,e[e.ENXIO=6]=`ENXIO`,e[e.E2BIG=7]=`E2BIG`,e[e.ENOEXEC=8]=`ENOEXEC`,e[e.EBADF=9]=`EBADF`,e[e.ECHILD=10]=`ECHILD`,e[e.EAGAIN=11]=`EAGAIN`,e[e.ENOMEM=12]=`ENOMEM`,e[e.EACCES=13]=`EACCES`,e[e.EFAULT=14]=`EFAULT`,e[e.ENOTBLK=15]=`ENOTBLK`,e[e.EBUSY=16]=`EBUSY`,e[e.EEXIST=17]=`EEXIST`,e[e.EXDEV=18]=`EXDEV`,e[e.ENODEV=19]=`ENODEV`,e[e.ENOTDIR=20]=`ENOTDIR`,e[e.EISDIR=21]=`EISDIR`,e[e.EINVAL=22]=`EINVAL`,e[e.ENFILE=23]=`ENFILE`,e[e.EMFILE=24]=`EMFILE`,e[e.ETXTBSY=26]=`ETXTBSY`,e[e.EFBIG=27]=`EFBIG`,e[e.ENOSPC=28]=`ENOSPC`,e[e.ESPIPE=29]=`ESPIPE`,e[e.EROFS=30]=`EROFS`,e[e.EMLINK=31]=`EMLINK`,e[e.EPIPE=32]=`EPIPE`,e[e.EDOM=33]=`EDOM`,e[e.ERANGE=34]=`ERANGE`,e[e.EDEADLK=35]=`EDEADLK`,e[e.ENAMETOOLONG=36]=`ENAMETOOLONG`,e[e.ENOLCK=37]=`ENOLCK`,e[e.ENOSYS=38]=`ENOSYS`,e[e.ENOTEMPTY=39]=`ENOTEMPTY`,e[e.ELOOP=40]=`ELOOP`,e[e.ENOMSG=42]=`ENOMSG`,e[e.EIDRM=43]=`EIDRM`,e[e.ECHRNG=44]=`ECHRNG`,e[e.EL2NSYNC=45]=`EL2NSYNC`,e[e.EL3HLT=46]=`EL3HLT`,e[e.EL3RST=47]=`EL3RST`,e[e.ENRNG=48]=`ENRNG`,e[e.EUNATCH=49]=`EUNATCH`,e[e.ECSI=50]=`ECSI`,e[e.EL2HLT=51]=`EL2HLT`,e[e.EBADE=52]=`EBADE`,e[e.EBADR=53]=`EBADR`,e[e.EXFULL=54]=`EXFULL`,e[e.ENOANO=55]=`ENOANO`,e[e.EBADRQC=56]=`EBADRQC`,e[e.EBADSLT=57]=`EBADSLT`,e[e.EBFONT=59]=`EBFONT`,e[e.ENOSTR=60]=`ENOSTR`,e[e.ENODATA=61]=`ENODATA`,e[e.ETIME=62]=`ETIME`,e[e.ENOSR=63]=`ENOSR`,e[e.ENONET=64]=`ENONET`,e[e.ENOPKG=65]=`ENOPKG`,e[e.EREMOTE=66]=`EREMOTE`,e[e.ENOLINK=67]=`ENOLINK`,e[e.EADV=68]=`EADV`,e[e.ESRMNT=69]=`ESRMNT`,e[e.ECOMM=70]=`ECOMM`,e[e.EPROTO=71]=`EPROTO`,e[e.EMULTIHOP=72]=`EMULTIHOP`,e[e.EDOTDOT=73]=`EDOTDOT`,e[e.EBADMSG=74]=`EBADMSG`,e[e.EOVERFLOW=75]=`EOVERFLOW`,e[e.ENOTUNIQ=76]=`ENOTUNIQ`,e[e.EBADFD=77]=`EBADFD`,e[e.EREMCHG=78]=`EREMCHG`,e[e.ELIBACC=79]=`ELIBACC`,e[e.ELIBBAD=80]=`ELIBBAD`,e[e.ELIBSCN=81]=`ELIBSCN`,e[e.ELIBMAX=82]=`ELIBMAX`,e[e.ELIBEXEC=83]=`ELIBEXEC`,e[e.EILSEQ=84]=`EILSEQ`,e[e.ERESTART=85]=`ERESTART`,e[e.ESTRPIPE=86]=`ESTRPIPE`,e[e.EUSERS=87]=`EUSERS`,e[e.ENOTSOCK=88]=`ENOTSOCK`,e[e.EDESTADDRREQ=89]=`EDESTADDRREQ`,e[e.EMSGSIZE=90]=`EMSGSIZE`,e[e.EPROTOTYPE=91]=`EPROTOTYPE`,e[e.ENOPROTOOPT=92]=`ENOPROTOOPT`,e[e.EPROTONOSUPPORT=93]=`EPROTONOSUPPORT`,e[e.ESOCKTNOSUPPORT=94]=`ESOCKTNOSUPPORT`,e[e.ENOTSUP=95]=`ENOTSUP`,e[e.EPFNOSUPPORT=96]=`EPFNOSUPPORT`,e[e.EAFNOSUPPORT=97]=`EAFNOSUPPORT`,e[e.EADDRINUSE=98]=`EADDRINUSE`,e[e.EADDRNOTAVAIL=99]=`EADDRNOTAVAIL`,e[e.ENETDOWN=100]=`ENETDOWN`,e[e.ENETUNREACH=101]=`ENETUNREACH`,e[e.ENETRESET=102]=`ENETRESET`,e[e.ECONNABORTED=103]=`ECONNABORTED`,e[e.ECONNRESET=104]=`ECONNRESET`,e[e.ENOBUFS=105]=`ENOBUFS`,e[e.EISCONN=106]=`EISCONN`,e[e.ENOTCONN=107]=`ENOTCONN`,e[e.ESHUTDOWN=108]=`ESHUTDOWN`,e[e.ETOOMANYREFS=109]=`ETOOMANYREFS`,e[e.ETIMEDOUT=110]=`ETIMEDOUT`,e[e.ECONNREFUSED=111]=`ECONNREFUSED`,e[e.EHOSTDOWN=112]=`EHOSTDOWN`,e[e.EHOSTUNREACH=113]=`EHOSTUNREACH`,e[e.EALREADY=114]=`EALREADY`,e[e.EINPROGRESS=115]=`EINPROGRESS`,e[e.ESTALE=116]=`ESTALE`,e[e.EEUCLEAN=117]=`EEUCLEAN`,e[e.ENOTNAM=118]=`ENOTNAM`,e[e.ENAVAIL=119]=`ENAVAIL`,e[e.EISNAM=120]=`EISNAM`,e[e.EREMOTEIO=121]=`EREMOTEIO`,e[e.EDQUOT=122]=`EDQUOT`,e[e.ENOMEDIUM=123]=`ENOMEDIUM`,e[e.EMEDIUMTYPE=124]=`EMEDIUMTYPE`,e[e.ECANCELED=125]=`ECANCELED`,e[e.ENOKEY=126]=`ENOKEY`,e[e.EKEYEXPIRED=127]=`EKEYEXPIRED`,e[e.EKEYREVOKED=128]=`EKEYREVOKED`,e[e.EKEYREJECTED=129]=`EKEYREJECTED`,e[e.EOWNERDEAD=130]=`EOWNERDEAD`,e[e.ENOTRECOVERABLE=131]=`ENOTRECOVERABLE`,e[e.ERFKILL=132]=`ERFKILL`,e[e.EHWPOISON=133]=`EHWPOISON`})(O||={});const re={[O.EPERM]:`Operation not permitted`,[O.ENOENT]:`No such file or directory`,[O.ESRCH]:`No such process`,[O.EINTR]:`Interrupted system call`,[O.EIO]:`Input/output error`,[O.ENXIO]:`No such device or address`,[O.E2BIG]:`Argument list too long`,[O.ENOEXEC]:`Exec format error`,[O.EBADF]:`Bad file descriptor`,[O.ECHILD]:`No child processes`,[O.EAGAIN]:`Resource temporarily unavailable`,[O.ENOMEM]:`Out of memory`,[O.EACCES]:`Permission denied`,[O.EFAULT]:`Bad address`,[O.ENOTBLK]:`Block device required`,[O.EBUSY]:`Resource busy or locked`,[O.EEXIST]:`File exists`,[O.EXDEV]:`Invalid cross-device link`,[O.ENODEV]:`No such device`,[O.ENOTDIR]:`File is not a directory`,[O.EISDIR]:`File is a directory`,[O.EINVAL]:`Invalid argument`,[O.ENFILE]:`Too many open files in system`,[O.EMFILE]:`Too many open files`,[O.ETXTBSY]:`Text file busy`,[O.EFBIG]:`File is too big`,[O.ENOSPC]:`No space left on disk`,[O.ESPIPE]:`Illegal seek`,[O.EROFS]:`Cannot modify a read-only file system`,[O.EMLINK]:`Too many links`,[O.EPIPE]:`Broken pipe`,[O.EDOM]:`Numerical argument out of domain`,[O.ERANGE]:`Numerical result out of range`,[O.EDEADLK]:`Resource deadlock would occur`,[O.ENAMETOOLONG]:`File name too long`,[O.ENOLCK]:`No locks available`,[O.ENOSYS]:`Function not implemented`,[O.ENOTEMPTY]:`Directory is not empty`,[O.ELOOP]:`Too many levels of symbolic links`,[O.ENOMSG]:`No message of desired type`,[O.EIDRM]:`Identifier removed`,[O.ECHRNG]:`Channel number out of range`,[O.EL2NSYNC]:`Level 2 not synchronized`,[O.EL3HLT]:`Level 3 halted`,[O.EL3RST]:`Level 3 reset`,[O.ENRNG]:`Link number out of range`,[O.EUNATCH]:`Protocol driver not attached`,[O.ECSI]:`No CSI structure available`,[O.EL2HLT]:`Level 2 halted`,[O.EBADE]:`Invalid exchange`,[O.EBADR]:`Invalid request descriptor`,[O.EXFULL]:`Exchange full`,[O.ENOANO]:`No anode`,[O.EBADRQC]:`Invalid request code`,[O.EBADSLT]:`Invalid slot`,[O.EBFONT]:`Bad font file format`,[O.ENOSTR]:`Device not a stream`,[O.ENODATA]:`No data available`,[O.ETIME]:`Timer expired`,[O.ENOSR]:`Out of streams resources`,[O.ENONET]:`Machine is not on the network`,[O.ENOPKG]:`Package not installed`,[O.EREMOTE]:`Object is remote`,[O.ENOLINK]:`Link has been severed`,[O.EADV]:`Advertise error`,[O.ESRMNT]:`Srmount error`,[O.ECOMM]:`Communication error on send`,[O.EPROTO]:`Protocol error`,[O.EMULTIHOP]:`Multihop attempted`,[O.EDOTDOT]:`RFS specific error`,[O.EBADMSG]:`Bad message`,[O.EOVERFLOW]:`Value too large for defined data type`,[O.ENOTUNIQ]:`Name not unique on network`,[O.EBADFD]:`File descriptor in bad state`,[O.EREMCHG]:`Remote address changed`,[O.ELIBACC]:`Can not access a needed shared library`,[O.ELIBBAD]:`Accessing a corrupted shared library`,[O.ELIBSCN]:`.lib section in a.out corrupted`,[O.ELIBMAX]:`Attempting to link in too many shared libraries`,[O.ELIBEXEC]:`Cannot exec a shared library directly`,[O.EILSEQ]:`Invalid or incomplete multibyte or wide character`,[O.ERESTART]:`Interrupted system call should be restarted`,[O.ESTRPIPE]:`Streams pipe error`,[O.EUSERS]:`Too many users`,[O.ENOTSOCK]:`Socket operation on non-socket`,[O.EDESTADDRREQ]:`Destination address required`,[O.EMSGSIZE]:`Message too long`,[O.EPROTOTYPE]:`Protocol wrong type for socket`,[O.ENOPROTOOPT]:`Protocol not available`,[O.EPROTONOSUPPORT]:`Protocol not supported`,[O.ESOCKTNOSUPPORT]:`Socket type not supported`,[O.ENOTSUP]:`Operation is not supported`,[O.EPFNOSUPPORT]:`Protocol family not supported`,[O.EAFNOSUPPORT]:`Address family not supported by protocol`,[O.EADDRINUSE]:`Address already in use`,[O.EADDRNOTAVAIL]:`Cannot assign requested address`,[O.ENETDOWN]:`Network is down`,[O.ENETUNREACH]:`Network is unreachable`,[O.ENETRESET]:`Network dropped connection on reset`,[O.ECONNABORTED]:`Software caused connection abort`,[O.ECONNRESET]:`Connection reset by peer`,[O.ENOBUFS]:`No buffer space available`,[O.EISCONN]:`Transport endpoint is already connected`,[O.ENOTCONN]:`Transport endpoint is not connected`,[O.ESHUTDOWN]:`Cannot send after transport endpoint shutdown`,[O.ETOOMANYREFS]:`Too many references: cannot splice`,[O.ETIMEDOUT]:`Connection timed out`,[O.ECONNREFUSED]:`Connection refused`,[O.EHOSTDOWN]:`Host is down`,[O.EHOSTUNREACH]:`No route to host`,[O.EALREADY]:`Operation already in progress`,[O.EINPROGRESS]:`Operation now in progress`,[O.ESTALE]:`Stale file handle`,[O.EEUCLEAN]:`Structure needs cleaning`,[O.ENOTNAM]:`Not a XENIX named type file`,[O.ENAVAIL]:`No XENIX semaphores available`,[O.EISNAM]:`Is a named type file`,[O.EREMOTEIO]:`Remote I/O error`,[O.EDQUOT]:`Disk quota exceeded`,[O.ENOMEDIUM]:`No medium found`,[O.EMEDIUMTYPE]:`Wrong medium type`,[O.ECANCELED]:`Operation canceled`,[O.ENOKEY]:`Required key not available`,[O.EKEYEXPIRED]:`Key has expired`,[O.EKEYREVOKED]:`Key has been revoked`,[O.EKEYREJECTED]:`Key was rejected by service`,[O.EOWNERDEAD]:`Owner died`,[O.ENOTRECOVERABLE]:`State not recoverable`,[O.ERFKILL]:`Operation not possible due to RF-kill`,[O.EHWPOISON]:`Memory page has hardware error`};function k(e){let t=`${e.code}: ${re[e.errno]}, ${e.syscall}`;return e.path&&(t+=` '${e.path}'`),e.dest&&(t+=` -> '${e.dest}'`),e.message&&!e.message.startsWith(re[e.errno])&&(t+=` (${e.message})`),e.message=t,e}var A=class e extends Error{errno;code;path;dest;syscall;constructor(e,t,n={}){let r=O[e];super(t||``),this.errno=e,this.code=r,Object.assign(this,m(n,`message`)),t||k(this),Error.captureStackTrace?.(this,this.constructor)}toString(){return this.message}toJSON(){let e={errno:this.errno,code:this.code,stack:this.stack,message:this.message};return this.path&&(e.path=this.path),this.dest&&(e.dest=this.dest),this.syscall&&(e.syscall=this.syscall),e}static fromJSON(t){let n=t.syscall?new e(t.errno,!1,t):new e(t.errno,t.message);return n.stack=t.stack,n}};function j(e,t,n,r){typeof t==`string`&&(t={syscall:t,path:n,dest:r});let i=new A(O[e],!1,t??{});return Error.captureStackTrace?.(i,j),i}function M(e,t){let n=new A(O[e],t??re[O[e]]);return Error.captureStackTrace?.(n,M),n}function N(e,t,n){let r=typeof e==`string`?{syscall:e}:e;return t&&(r.path=t),n&&(r.dest=n),function(e){throw Object.assign(e,r),k(e),e}}var P=t({Level:()=>F,alert:()=>ce,configure:()=>Ee,crit:()=>le,debug:()=>fe,deprecated:()=>pe,emerg:()=>se,entries:()=>ae,err:()=>R,fancy:()=>ve,format:()=>be,info:()=>de,isEnabled:()=>Te,levelOf:()=>I,levels:()=>ie,log:()=>L,notice:()=>ue,warn:()=>z}),F;(function(e){e[e.EMERG=0]=`EMERG`,e[e.ALERT=1]=`ALERT`,e[e.CRIT=2]=`CRIT`,e[e.ERR=3]=`ERR`,e[e.WARN=4]=`WARN`,e[e.NOTICE=5]=`NOTICE`,e[e.INFO=6]=`INFO`,e[e.DEBUG=7]=`DEBUG`})(F||={});const ie=[`emergency`,`alert`,`critical`,`error`,`warning`,`notice`,`info`,`debug`];function I(e){return ie.indexOf(e)}const ae=new d;function L(e,t){if(!Te)return;let n={level:e,message:t,timestamp:new Date,elapsedMs:performance.now()};ae.add(n),Se(n)}function oe(e){return function(t){return L(e,t.toString()),t}}const se=oe(F.EMERG),ce=oe(F.ALERT),le=oe(F.CRIT),R=oe(F.ERR),z=oe(F.WARN),ue=oe(F.NOTICE),de=oe(F.INFO),fe=oe(F.DEBUG);function pe(e){L(F.WARN,e+` is deprecated and should not be used.`)}function me(e,t){return`\x1b[${t}m${e}\x1b[0m`}function he(e){return`[`+(e.elapsedMs/1e3).toFixed(3).padStart(10)+`] `}const ge={ansi:{[F.EMERG]:`1;4;37;41`,[F.ALERT]:`1;37;41`,[F.CRIT]:`1;35`,[F.ERR]:`1;31`,[F.WARN]:`1;33`,[F.NOTICE]:`1;36`,[F.INFO]:`1;37`,[F.DEBUG]:`0;2;37`},css:{[F.EMERG]:`font-weight: bold; text-decoration: underline; color: white; background-color: red;`,[F.ALERT]:`font-weight: bold; color: white; background-color: red;`,[F.CRIT]:`font-weight: bold; color: magenta;`,[F.ERR]:`font-weight: bold; color: red;`,[F.WARN]:`font-weight: bold; color: yellow;`,[F.NOTICE]:`font-weight: bold; color: cyan;`,[F.INFO]:`font-weight: bold; color: white;`,[F.DEBUG]:`opacity: 0.8; color: white;`}},_e={ansi:{[F.EMERG]:`1;31`,[F.ALERT]:`1;31`,[F.CRIT]:`1;31`,[F.ERR]:`31`,[F.WARN]:`33`,[F.NOTICE]:`1;37`,[F.INFO]:`37`,[F.DEBUG]:`2;37`},css:{[F.EMERG]:`font-weight: bold; color: red;`,[F.ALERT]:`font-weight: bold; color: red;`,[F.CRIT]:`font-weight: bold; color: red;`,[F.ERR]:`color: red;`,[F.WARN]:`color: yellow;`,[F.NOTICE]:`font-weight: bold; color: white;`,[F.INFO]:`color: white;`,[F.DEBUG]:`opacity: 0.8; color: white;`}};function ve({style:e,colorize:t}){return function*(n){e==`css`&&(yield t==`level`?`%c%s %c%s`:`%c%s %c%s%s %c%s`),yield*e==`ansi`?[me(he(n),`2;37`)]:[`opacity: 0.8; color: white;`,he(n)];let r=e==`ansi`?[me(ie[n.level].toUpperCase(),ge.ansi[n.level])]:[ge.css[n.level],ie[n.level].toUpperCase()];if(t==`level`){yield*r,yield n.message;return}n.level<F.CRIT&&(yield*r),e==`ansi`?yield me(n.message,_e.ansi[n.level]):yield*[_e.css[n.level],n.message]}}let ye=e=>[he(e),e.message];function be(e){let t=ye(e);return typeof t==`string`?[t]:Array.from(t)}let xe=console.error;function Se(e){e.level>Ce||xe(...be(e))}let Ce=F.ALERT,we=!1,Te=!0;function Ee(e){if(ye=e.format??ye,xe=e.output??xe,Ce=typeof e.level==`string`?I(e.level):e.level??Ce,Te=e.enabled??Te,we=e.stack??we,e.dumpBacklog)for(let e of ae)Se(e)}function De(e){return typeof e==`object`&&!!e&&`create`in e&&typeof e.create==`function`}function Oe(e,t){return Object.defineProperty(t,"prototype",{value:void 0}),e&&Object.defineProperty(t,"name",{value:e}),t}function ke(e){return!(e&&e.constructor===Function)||e.prototype===void 0?!1:Function.prototype===Object.getPrototypeOf(e)?Object.getOwnPropertyNames(e.prototype).length>1:!0}function Ae(e,t){if(typeof t!=`object`||!t)throw R(M(`EINVAL`,`Invalid options`));for(let[n,r]of Object.entries(e.options)){let e=t?.[n];if(e==null){if(!r.required){fe(`Using default for option: `+n);continue}throw R(M(`EINVAL`,`Missing required option: `+n))}let i=(t,n=e)=>typeof t==`function`?ke(t)?e instanceof t:t(e):typeof e===t||e?.constructor?.name===t;if(Array.isArray(r.type)?r.type.some(e=>i(e)):i(r.type))continue;let a=typeof e==`object`&&`constructor`in e?e.constructor.name:typeof e,o=e=>typeof e==`function`?e.name==`type`?e.toString():e.name:e;throw R(M(`EINVAL`,`Incorrect type for "${n}": ${a} (expected ${Array.isArray(r.type)?`one of ${r.type.map(o).join(`, `)}`:o(r.type)})`))}}function je(e){return typeof e==`object`&&!!e&&`backend`in e&&De(e.backend)}function Me(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}function Ne(e){return e?!e.uid||!e.gid||!e.euid||!e.egid||e.groups.some(e=>!e):!1}const Pe=Symbol(`ZenFSContext`),Fe={[Pe]:!0,id:0,root:`/`,pwd:`/`,credentials:Me({uid:0,gid:0}),descriptors:new Map,parent:null,children:[]};function Ie(e){return typeof e==`object`&&e&&Pe in e?e:Fe}let Le=1;function Re(e,t={}){let{root:n=e.root,pwd:r=e.pwd,credentials:i=structuredClone(e.credentials)}=t,a={[Pe]:!0,id:Le++,root:n,pwd:r,credentials:Me(i),descriptors:new Map,parent:e,children:[]};return Object.defineProperties(a,{id:{configurable:!1,writable:!1},credentials:{configurable:!1,writable:!1},descriptors:{configurable:!1,writable:!1},parent:{configurable:!1,writable:!1},children:{configurable:!1,writable:!1}}),a}var ze=t({COPYFILE_EXCL:()=>1,COPYFILE_FICLONE:()=>2,COPYFILE_FICLONE_FORCE:()=>4,F_OK:()=>0,O_APPEND:()=>Be,O_CREAT:()=>64,O_DIRECT:()=>qe,O_DIRECTORY:()=>Ve,O_DSYNC:()=>Ge,O_EXCL:()=>128,O_NOATIME:()=>He,O_NOCTTY:()=>256,O_NOFOLLOW:()=>Ue,O_NONBLOCK:()=>Je,O_RDONLY:()=>0,O_RDWR:()=>2,O_SYMLINK:()=>Ke,O_SYNC:()=>We,O_TRUNC:()=>512,O_WRONLY:()=>1,R_OK:()=>4,S_IFBLK:()=>$e,S_IFCHR:()=>tt,S_IFDIR:()=>et,S_IFIFO:()=>nt,S_IFLNK:()=>Ze,S_IFMT:()=>Ye,S_IFREG:()=>Qe,S_IFSOCK:()=>Xe,S_IRGRP:()=>32,S_IROTH:()=>4,S_IRUSR:()=>256,S_IRWXG:()=>56,S_IRWXO:()=>7,S_IRWXU:()=>448,S_ISGID:()=>it,S_ISUID:()=>rt,S_ISVTX:()=>512,S_IWGRP:()=>16,S_IWOTH:()=>2,S_IWUSR:()=>128,S_IXGRP:()=>8,S_IXOTH:()=>1,S_IXUSR:()=>64,UV_FS_O_FILEMAP:()=>0,W_OK:()=>2,X_OK:()=>1,size_max:()=>at});const Be=1024,Ve=65536,He=262144,Ue=131072,We=1052672,Ge=4096,Ke=32768,qe=16384,Je=2048,Ye=61440,Xe=49152,Ze=40960,Qe=32768,$e=24576,et=16384,tt=8192,nt=4096,rt=2048,it=1024,at=4294967295;function ot(e){return`__isArrayType`in e&&e.__isArrayType===!0}function st(e){return typeof e!=`object`&&typeof e!=`function`||e==null?!1:ot(e)?st(e.type):`name`in e&&`size`in e&&`get`in e&&`set`in e&&typeof e.name==`string`&&typeof e.size==`number`&&typeof e.get==`function`&&typeof e.set==`function`&&ct.has(e.name)&&ct.get(e.name)?.name===e.name}const ct=new Map;function lt(e){if(ct.has(e.name))throw ReferenceError(`Type is already registered: ${e.name}`);ct.set(e.name,e)}const ut=Symbol(`DataView`);function dt(e){return e[ut]??=new DataView(e),e[ut]}const ft={name:`int8`,size:1,array:Int8Array,get:(e,t)=>dt(e).getInt8(t),set:(e,t,n)=>dt(e).setInt8(t,n)},pt={name:`uint8`,size:1,array:Uint8Array,get:(e,t)=>dt(e).getUint8(t),set:(e,t,n)=>dt(e).setUint8(t,n)},mt={int8:ft,uint8:pt,int16:{name:`int16`,size:2,array:Int16Array,get:(e,t)=>dt(e).getInt16(t,!0),set:(e,t,n)=>dt(e).setInt16(t,n,!0)},uint16:{name:`uint16`,size:2,array:Uint16Array,get:(e,t)=>dt(e).getUint16(t,!0),set:(e,t,n)=>dt(e).setUint16(t,n,!0)},int32:{name:`int32`,size:4,array:Int32Array,get:(e,t)=>dt(e).getInt32(t,!0),set:(e,t,n)=>dt(e).setInt32(t,n,!0)},uint32:{name:`uint32`,size:4,array:Uint32Array,get:(e,t)=>dt(e).getUint32(t,!0),set:(e,t,n)=>dt(e).setUint32(t,n,!0)},int64:{name:`int64`,size:8,array:BigInt64Array,get:(e,t)=>dt(e).getBigInt64(t,!0),set:(e,t,n)=>dt(e).setBigInt64(t,n,!0)},uint64:{name:`uint64`,size:8,array:BigUint64Array,get:(e,t)=>dt(e).getBigUint64(t,!0),set:(e,t,n)=>dt(e).setBigUint64(t,n,!0)},float32:{name:`float32`,size:4,array:Float32Array,get:(e,t)=>dt(e).getFloat32(t,!0),set:(e,t,n)=>dt(e).setFloat32(t,n,!0)},float64:{name:`float64`,size:8,array:Float64Array,get:(e,t)=>dt(e).getFloat64(t,!0),set:(e,t,n)=>dt(e).setFloat64(t,n,!0)}},ht=Object.keys(mt);for(let e of Object.values(mt))lt(e);const gt={...mt,...Object.fromEntries(ht.map(e=>[S(e),mt[e]])),char:pt},_t=Object.keys(gt);function vt(e){return _t.includes(e.toString())}function yt(e){if(!vt(e))throw M(`EINVAL`,`Not a valid primitive type: `+e)}function bt(e){return e==`char`?`uint8`:e.toLowerCase()}function xt(e){return(typeof e==`object`||typeof e==`function`)&&e!==null&&`toInit`in e&&typeof e.toInit==`function`}function St(e){return xt(e)?e.toInit():st(e)?{type:e}:e}function Ct(e,t,n={}){if(!e)throw M(`EINVAL`,`Invalid name for struct field`);typeof e==`symbol`&&console.warn(`Symbol used for struct field name will be coerced to string: `+e.toString());let r=e.toString(),i=Object.assign(St(t),n);if(!st(i.type))throw M(`EINVAL`,`Invalid type for struct field "${r}"`);let a=i.countedBy?` counted_by(${typeof i.countedBy==`string`?i.countedBy:`<function>`})`:``;return{name:r,offset:0,type:i.type,countedBy:i.countedBy,alignment:i.align??i.type.size,decl:i.type instanceof zt?`${i.typeName??i.type.type.name} ${r}[${i.type.length}]${a}`:`${i.typeName??i.type.name} ${r}`,littleEndian:!i.bigEndian}}function wt(e,t){if(!(e instanceof Error)||e.message.toLowerCase()!==`offset is outside the bounds of the dataview`)throw e;let n=M(`EFAULT`,`Segmentation fault (at 0x${t.toString(16)})`);throw Error.captureStackTrace(n,wt),n}function Tt(e,t){return t.type instanceof zt&&t.type.length==0&&!!t.countedBy?.length&&!!e.constructor.isDynamic}function Et(e,t){let n=typeof t.countedBy==`function`?t.countedBy(e):e[t.countedBy];if(typeof n==`bigint`){if(n>BigInt(2**53-1))throw M(`EOVERFLOW`,`countedBy field value exceeds max safe integer`);n=Number(n)}if(typeof n!=`number`)throw M(`EINVAL`,`countedBy field value is not a number`);return n}function Dt(e,t){let n=t.type.type.size*Et(e,t);if(Nt(t.type.type)&&t.type.type.isDynamic)for(let r of e[t.name])n+=Pt(r);return n}const Ot=Symbol(`kOffsets`);function kt(e,t,n){let{offset:r,name:i}=t;e[Ot]||=Object.create(null);let a=e[Ot];if(a[i]!==void 0){if(n)return a[i];delete a[i]}let{fields:o}=e.constructor,s=o.indexOf(t);for(let t of o.slice(0,s)){Tt(e,t)&&(r+=Dt(e,t));let n=e[t.name];Mt(n)&&n.constructor.isDynamic&&(r+=Pt(n))}if(n)a[i]=r;else for(let e of o.slice(s))a[e.name]!==void 0&&delete a[e.name];return r}function At(e,t,n,r){typeof n==`string`&&(n=n.charCodeAt(0));let i=e.byteOffset+kt(e,t,!1)+(r??0)*t.type.size;try{t.type.set(e.buffer,i,n);return}catch(e){wt(e,i)}}function jt(e,t){let n=t.type;if(Tt(e,t)){let r=t.type.type;n=new zt(r,Et(e,t))}let r=e.byteOffset+kt(e,t,!0);try{return n.get(e.buffer,r)}catch(e){wt(e,r)}}function Mt(e){return typeof e==`object`&&!!e&&`constructor`in e&&Nt(e.constructor)}function Nt(e){return typeof e==`function`&&`prototype`in e&&`fields`in e&&typeof e.fields==`object`&&st(e)}function Pt(e){let t=0;for(let n of e.constructor.fields){let r=e[n.name];Tt(e,n)&&(t+=Dt(e,n)),Mt(r)&&r.constructor.isDynamic&&(t+=Pt(r))}return t}function Ft(e){if(st(e))return e.size;if(e==null)return 0;if(typeof e==`object`&&st(e.constructor))return e.constructor.size;if(Array.isArray(e)){let t=0;for(let n=0;n<e.length;n++)t+=Ft(e[n]);return t}if(typeof e==`string`)return yt(e),mt[bt(e)].size;throw TypeError(`Unable to resolve size of \`${e.toString()}\``)}function B(e){let t=Ft(e);return Mt(e)&&e.constructor.isDynamic?t+Pt(e):t}function It(e,t){let n;if(Nt(e)){if(e.isDynamic)throw M(`EINVAL`,`Cannot get offset of field in dynamic struct from the constructor`);n=e}else if(Mt(e))n=e.constructor;else throw M(`EINVAL`,`Type is not a struct or struct constructor`);let{fields:r}=n,i=r.find(e=>e.name===t);if(!i)throw M(`EINVAL`,`Struct does not have field: `+t);return Nt(e)?i.offset:kt(e,i,!0)}function Lt(e,t){class n extends DataView{length;type=e;*[Symbol.iterator](){for(let e=0;e<this.length;e++)yield this[e]}_offsets=[0];offsetOf(t){if(!e.isDynamic)return t*e.size;if(t<this._offsets.length)return this._offsets[t];for(let n=this._offsets.length;n<=t;n++)this._offsets[n]=this._offsets[n-1]+B(e.get(this.buffer,this.byteOffset+this._offsets[n-1]));return this._offsets[t]}constructor(n,r,i){let a=typeof n==`object`?n:new ArrayBuffer((n??0)*e.size);super(a,r,i),this.length=typeof n==`number`?n:e.isDynamic?t??y(`Unknown length of StructArray<${e.name}>`):Math.floor(this.byteLength/e.size);let o=e=>this.byteOffset+this.offsetOf(e);return new Proxy(this,{get(t,n){if(n in t)return t[n];let r=parseInt(n.toString());if(Number.isSafeInteger(r))return e.get(t.buffer,o(r))},set(t,n,r){let i=parseInt(n.toString());return Number.isSafeInteger(i)?(e.set(t.buffer,o(i),r),!0):!1}})}}for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(n.prototype,e,{enumerable:!1,configurable:!1,writable:!1,value:void 0});return n}function Rt(e){return typeof e==`function`&&`prototype`in e&&`fields`in e&&typeof e.fields==`object`&&st(e)}var zt=class{type;length;name;size;__structArray;__arrayType;__isArrayType=!0;constructor(e,t){this.type=e,this.length=t,this.name=`${e.name}[${t}]`,this.size=e.size*t,this.array=Lt(this),this.__structArray=Lt(e,t),this.__arrayType=e.array?e.array:this.__structArray}get=(e,t)=>vt(this.type.name)&&t%this.type.size!==0?new this.__structArray(e,t,this.size):new this.__arrayType(e,t,this.size);set=(e,t,n)=>{if(this.length)for(let r=0;r<this.length;r++)this.type.set(e,t+r*this.type.size,n[r]);else{let r=t;for(let t=0;t<n.length;t++)this.type.set(e,r,n[t]),r+=Rt(this.type)&&this.type.isDynamic?B(n[t]):this.type.size}};array};Symbol.metadata??=Symbol.for(`Symbol.metadata`);function Bt(e){e.metadata??={};let t=e.metadata.structInit??{};return e.metadata.structInit={fields:[...t.fields??[]]},e.metadata.structInit}function Vt(...e){let t=e.reduce((e,t)=>({...e,...t}),{});return typeof this==`object`&&Object.assign(t,this),function(e,n){let r=Bt(n),i=1,a=[],o=0,s=e=>{o=Math.ceil(o/e)*e};for(let e of r.fields)t.isPacked||s(e.alignment),t.isUnion?o=Math.max(o,e.type.size):(e.offset=o,o+=e.type.size),a.push(e),i=Math.max(i,e.alignment);t.alignment??=i,t.isPacked||s(t.alignment);class c extends e{static name=e.name;static size=o;static alignment=t.alignment;static isUnion=!!t.isUnion;static isDynamic=!!t.isDynamic;static fields=a;static get(e,t){return new this(e,t)}static set(e,t,n){let r=new Uint8Array(n.buffer,n.byteOffset,this.size),i=new Uint8Array(e,t,this.size);if(!(n.buffer===e&&n.byteOffset===t))for(let e=0;e<this.size;e++)i[e]=r[e]}static[Symbol.toStringTag]=`[struct ${e.name}]`;constructor(...e){e.length||(e=[new ArrayBuffer(o),0,o]),super(...e);for(let e of Object.values(a))Object.defineProperty(this,e.name,{enumerable:!0,configurable:!0,get(){return jt(this,e)},set(t){At(this,e,t)}})}}return n.addInitializer(function(){Object.defineProperty(c,"name",{value:e.name}),lt(c)}),c}}Vt.packed=Vt.bind({isPacked:!0}),Vt.align=function(e){return Vt.bind({alignment:e})};function Ht(e,t={}){return function(n,r){if(r.kind!=`accessor`)throw M(`EINVAL`,`Field must be an accessor`);let i=Bt(r),a=Ct(r.name,e,t);return i.fields.push(a),{get(){return jt(this,a)},set(e){At(this,a,e)}}}}function Ut(e){let t=mt[bt(e)];function n(n,r){return typeof n==`number`?Ht(new zt(t,n),{typeName:e,...r}):Ht(t,{typeName:e})(n,r&&`name`in r?r:y(M(`EINVAL`,`Invalid decorator context object`)))}return n}const V=Object.fromEntries(_t.map(e=>[e,Ut(e)]));function Wt(e){return e}Wt.typed=function(e){return e};var Gt=class e{type;init;constructor(t,n){this.type=t,this.init=n;let r=(r=>new e(new zt(t,r),n));return Object.setPrototypeOf(r,new.target.prototype),Object.assign(r,{type:t,init:n}),r}align(t){return new e(this.type,{...this.init,align:t})}countedBy(t){return new e(this.type,{...this.init,countedBy:t})}bigEndian(){return new e(this.type,{...this.init,bigEndian:!0})}toInit(){return{type:this.type,...this.init}}$type(){return new e(this.type,this.init)}};function Kt(e,t=0){return new Gt(new zt(e,t),{})}function qt(e,t,...n){let r=n.reduce((e,t)=>({...e,...t}),{});typeof this==`object`&&Object.assign(r,this);let i=1,a=0,o=e=>{a=Math.ceil(a/e)*e},s=[];for(let[e,n]of Object.entries(t)){if(typeof e==`number`)throw TypeError(`Field names can not be numbers`);let t=Ct(e,n);r.isPacked||o(t.alignment),r.isUnion?a=Math.max(a,t.type.size):(t.offset=a,a+=t.type.size),s.push(t),i=Math.max(i,t.alignment)}r.alignment??=i,r.isPacked||o(r.alignment);class c extends DataView{static name=e;static size=a;static alignment=r.alignment;static isUnion=!!r.isUnion;static isDynamic=!!r.isDynamic;static fields=s;static get(e,t){return new this(e,t)}static set(e,t,n){let r=new Uint8Array(n.buffer,n.byteOffset,this.size),i=new Uint8Array(e,t,this.size);if(!(n.buffer===e&&n.byteOffset===t))for(let e=0;e<this.size;e++)i[e]=r[e]}static[Symbol.toStringTag]=`[struct ${e}]`;constructor(e=new ArrayBuffer(a),t,n){super(e,t,n??e.byteLength-(t??0));for(let e of Object.values(this.constructor.fields??s))Object.defineProperty(this,e.name,{enumerable:!0,configurable:!0,get(){return jt(this,e)},set(t){At(this,e,t)}})}}for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(c.prototype,e,{enumerable:!1,configurable:!1,writable:!1,value:void 0});return lt(c),c}qt.extend=function(e,t,n,...r){let i=r.reduce((e,t)=>({...e,...t}),{});typeof this==`object`&&Object.assign(i,this);let a=1,o=e.size,s=e=>{o=Math.ceil(o/e)*e},c=e.fields;for(let[e,t]of Object.entries(n)){if(typeof e==`number`)throw TypeError(`Field names can not be numbers`);let n=Ct(e,t);i.isPacked||s(n.alignment),i.isUnion?o=Math.max(o,n.type.size):(n.offset=o,o+=n.type.size),c.push(n),a=Math.max(a,n.alignment)}i.alignment??=a,i.isPacked||s(i.alignment);class l extends e{static name=t;static size=o;static alignment=i.alignment;static isUnion=!!i.isUnion;static isDynamic=!!i.isDynamic;static fields=c;static[Symbol.toStringTag]=`[struct ${t}]`}return lt(l),l},qt.packed=qt.bind({isPacked:!0}),qt.align=function(e){return qt.bind({alignment:e})},qt.dynamic=qt.bind({isDynamic:!0}),Object.fromEntries(Object.entries(gt).map(([e,t])=>[e,new Gt(t,{typeName:e})]));function Jt(e){return JSON.parse(ee(e),(e,t)=>e==``?t:typeof t==`string`?BigInt(t).toString(16).slice(0,Math.min(t.length,8)):t)}function Yt(e){return w(JSON.stringify(e))}function Xt(e,t){if(typeof e==`number`)return e;if(typeof e==`string`){let t=parseInt(e,8);if(!isNaN(t))return t}if(typeof t==`number`)return t;throw M(`EINVAL`,`Invalid mode: `+e?.toString())}function Zt(e){if(e instanceof Date)return e.getTime();try{return Number(e)}catch{throw M(`EINVAL`,`Invalid time.`)}}function H(e,t=!1){if(e instanceof URL){if(e.protocol!=`file:`)throw M(`EINVAL`,`URLs must use the file: protocol`);e=e.pathname}if(e=e.toString(),e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`\0`))throw M(`EINVAL`,`Path can not contain null character`);if(e.length==0)throw M(`EINVAL`,`Path can not be empty`);return e=e.replaceAll(/[/\\]+/g,`/`),t?e:sn.call(this,e)}function Qt(e,t=`utf8`,n,r=0){return typeof e!=`object`||!e?{encoding:typeof e==`string`?e:t??null,flag:n,mode:r}:{encoding:typeof e?.encoding==`string`?e.encoding:t??null,flag:typeof e?.flag==`string`?e.flag:n,mode:Xt(`mode`in e?e?.mode:null,r)}}function $t(e){let t=`\0GS\0`;return e=e.replace(/\*\*/g,t).replace(/\*/g,`\0S\0`).replace(/[.+^$(){}|[\]\\]/g,`\\$&`).replace(/\?/g,`.`).replaceAll(`/\0GS\0/`,`(?:/.*)?/`).replaceAll(t,`.*`).replaceAll(`\0S\0`,`[^/]*`),RegExp(`^${e}$`)}async function en(e){let t=Promise.withResolvers();setTimeout(()=>t.reject(M(`ETIMEDOUT`)),500),e.on(`online`,t.resolve),await t.promise}function tn(e){return`/tmp/${H(e,!0)}${Date.now()}-${Math.random().toString(36).slice(2)}`}var nn=t({basename:()=>dn,dirname:()=>W,extname:()=>fn,format:()=>pn,formatExt:()=>on,isAbsolute:()=>ln,join:()=>U,matchesGlob:()=>hn,normalize:()=>cn,normalizeString:()=>an,parse:()=>mn,relative:()=>un,resolve:()=>sn,sep:()=>`/`});function rn(e,t){if(typeof e!=`object`)throw TypeError(`"${t}" is not an object`)}function an(e,t){let n=``,r=0,i=-1,a=0,o=`\0`;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else if(o==`/`)break;else o=`/`;if(o==`/`){if(!(i===s-1||a===1))if(a===2){if(n.length<2||r!==2||n.at(-1)!==`.`||n.at(-2)!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}else if(n.length!==0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1;i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function on(e){return e?`${e[0]===`.`?``:`.`}${e}`:``}function sn(...e){let t=``;for(let n of[...e.reverse(),Ie(this).pwd])if(n?.length&&(t=`${n}/${t}`,n.startsWith(`/`)))break;let n=t.startsWith(`/`);return t=an(t,!n),n?`/${t}`:t.length?t:`/`}function cn(e){if(!e.length)return`.`;let t=e[0]===`/`,n=e.at(-1)===`/`;return e=an(e,!t),e.length?(n&&(e+=`/`),t?`/${e}`:e):t?`/`:n?`./`:`.`}function ln(e){return e.startsWith(`/`)}function U(...e){if(!e.length)return`.`;let t=e.filter(e=>e).join(`/`);return t?.length?cn(t):`.`}function un(e,t){if(e===t||(e=sn.call(this,e),t=sn.call(this,t),e===t))return``;let n=e.length,r=n-1,i=t.length-1,a=r<i?r:i,o=-1,s=0;for(;s<a;s++){let n=e[1+s];if(n!==t[1+s])break;n===`/`&&(o=s)}if(s===a)if(i>a){if(t[1+s]===`/`)return t.slice(1+s+1);if(s===0)return t.slice(1+s)}else r>a&&(e[1+s]===`/`?o=s:s===0&&(o=0));let c=``;for(s=1+o+1;s<=n;++s)(s===n||e[s]===`/`)&&(c+=c.length===0?`..`:`/..`);return`${c}${t.slice(1+o)}`}function W(e){if(e.length===0)return`.`;let t=e[0]===`/`,n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e[t]===`/`){if(!r){n=t;break}}else r=!1;return n===-1?t?`/`:`.`:t&&n===1?`//`:e.slice(0,n)}function dn(e,t){let n=0,r=-1,i=!0;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let a=t.length-1,o=-1;for(let s=e.length-1;s>=0;--s)if(e[s]===`/`){if(!i){n=s+1;break}}else o===-1&&(i=!1,o=s+1),a>=0&&(e[s]===t[a]?--a===-1&&(r=s):(a=-1,r=o));return n===r?r=o:r===-1&&(r=e.length),e.slice(n,r)}for(let t=e.length-1;t>=0;--t)if(e[t]===`/`){if(!i){n=t+1;break}}else r===-1&&(i=!1,r=t+1);return r===-1?``:e.slice(n,r)}function fn(e){let t=-1,n=0,r=-1,i=!0,a=0;for(let o=e.length-1;o>=0;--o){if(e[o]===`/`){if(!i){n=o+1;break}continue}r===-1&&(i=!1,r=o+1),e[o]===`.`?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?``:e.slice(t,r)}function pn(e){rn(e,`pathObject`);let t=e.dir||e.root,n=e.base||`${e.name||``}${on(e.ext)}`;return t?t===e.root?`${t}${n}`:`${t}/${n}`:n}function mn(e){let t=e[0]===`/`,n={root:t?`/`:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return n;let r=+!!t,i=-1,a=0,o=-1,s=!0,c=e.length-1,l=0;for(;c>=r;--c){if(e[c]===`/`){if(!s){a=c+1;break}continue}o===-1&&(s=!1,o=c+1),e[c]===`.`?i===-1?i=c:l!==1&&(l=1):i!==-1&&(l=-1)}if(o!==-1){let r=a===0&&t?1:a;i===-1||l===0||l===1&&i===o-1&&i===a+1?n.base=n.name=e.slice(r,o):(n.name=e.slice(r,i),n.base=e.slice(r,o),n.ext=e.slice(i,o))}return a>0?n.dir=e.slice(0,a-1):t&&(n.dir=`/`),n}function hn(e,t){return $t(e).test(t)}const gn=BigInt(1e3);var _n=class{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}set blocks(e){}mode;dev=this._convert(0);ino=this._convert(0);rdev=this._convert(0);nlink=this._convert(1);blksize=this._convert(4096);uid=this._convert(0);gid=this._convert(0);atimeMs;get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}mtimeMs;get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}ctimeMs;get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}birthtimeMs;get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}size;data;flags;version;constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:r,uid:i,gid:a,size:o,mode:s,ino:c,...l}={}){let u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(r??u),this.uid=this._convert(i??0),this.gid=this._convert(a??0),this.size=this._convert(o??0),this.ino=this._convert(c??0),this.mode=this._convert(s??0),this.mode&61440||(this.mode|=this._convert(Qe)),Object.assign(this,l)}isFile(){return(this.mode&Ye)==Qe}isDirectory(){return(this.mode&Ye)==et}isSymbolicLink(){return(this.mode&Ye)==Ze}isSocket(){return(this.mode&Ye)==Xe}isBlockDevice(){return(this.mode&Ye)==$e}isCharacterDevice(){return(this.mode&Ye)==tt}isFIFO(){return(this.mode&Ye)==nt}toJSON(){return p(this,Dn)}hasAccess(e,t){return q(t,this._isBigint?new vn(this):this,e)}get atimeNs(){return BigInt(this.atimeMs)*gn}get mtimeNs(){return BigInt(this.mtimeMs)*gn}get ctimeNs(){return BigInt(this.ctimeMs)*gn}get birthtimeNs(){return BigInt(this.birthtimeMs)*gn}},vn=class extends _n{_isBigint=!1},yn=class extends _n{_isBigint=!0};function bn(e,t){return e.size==t.size&&+e.atime==+t.atime&&+e.mtime==+t.mtime&&+e.ctime==+t.ctime&&e.mode==t.mode}var xn=class{type=525687744115;bsize=4096;blocks=0;bfree=0;bavail=0;files=at;ffree=at},Sn=class{type=BigInt(`0x7a656e6673`);bsize=BigInt(4096);blocks=BigInt(0);bfree=BigInt(0);bavail=BigInt(0);files=BigInt(at);ffree=BigInt(at)},Cn=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},G=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0};const wn=3968;let Tn=(()=>{var e,t;let n=[Vt.packed()],r,i=[],a,o=Wt.typed(Uint8Array),s,c=[],l=[],u,d=[],f=[];var p=class extends o{static{a=this}static{let m=typeof Symbol==`function`&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;s=[(e=V).uint32.bind(e)],u=[(t=V).uint32.bind(t)],Cn(this,null,s,{kind:`accessor`,name:`keySize`,static:!1,private:!1,access:{has:e=>`keySize`in e,get:e=>e.keySize,set:(e,t)=>{e.keySize=t}},metadata:m},c,l),Cn(this,null,u,{kind:`accessor`,name:`valueSize`,static:!1,private:!1,access:{has:e=>`valueSize`in e,get:e=>e.valueSize,set:(e,t)=>{e.valueSize=t}},metadata:m},d,f),Cn(null,r={value:a},n,{kind:`class`,name:a.name,metadata:m},null,i),p=a=r.value,m&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:m})}static name=`Attribute`;#e=G(this,c,void 0);get keySize(){return this.#e}set keySize(e){this.#e=e}#t=(G(this,l),G(this,d,void 0));get valueSize(){return this.#t}set valueSize(e){this.#t=e}get name(){return ee(this.subarray(8,8+this.keySize))}set name(e){let t=w(e);if(8+t.length+this.valueSize>wn)throw M(`EOVERFLOW`);this.set(t,8),this.keySize=t.length}get value(){return this.subarray(8+this.keySize,this.size)}set value(e){if(8+this.keySize+e.length>wn)throw M(`EOVERFLOW`);this.valueSize=e.length,this.set(e,8+this.keySize)}get size(){return 8+this.keySize+this.valueSize}constructor(){super(...arguments),G(this,f)}static{G(a,i)}};return a})(),En=(()=>{var e;let t=[Vt.packed()],n,r=[],i,a=Wt(o),s,c=[],l=[];var u=class extends a{static{i=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(a[Symbol.metadata]??null):void 0;s=[(e=V).uint32.bind(e)],Cn(this,null,s,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:o},c,l),Cn(null,n={value:i},t,{kind:`class`,name:i.name,metadata:o},null,r),u=i=n.value,o&&Object.defineProperty(i,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`Attributes`;#e=G(this,c,void 0);get size(){return this.#e}set size(e){this.#e=e}get byteSize(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);e+=t.size}return e}has(e){let t=this.byteOffset+B(this);for(let n=0;n<this.size;n++){let n=new Tn(this.buffer,t);if(n.name==e)return!0;t+=n.size}return!1}get(e){let t=this.byteOffset+B(this);for(let n=0;n<this.size;n++){let n=new Tn(this.buffer,t);if(n.name==e)return n.value;t+=n.size}}set(e,t){let n=this.byteOffset+B(this),r;for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,n);t.name==e&&(r=[n,t.size]),n+=t.size}let i=new Uint8Array(this.buffer);if(r){let[e,t]=r;n-=t,i.copyWithin(e,e+t,n+t),i.fill(0,n,n+t),this.size--}let a=new Tn(this.buffer,n);a.name=e,a.value=t,this.size++}remove(e){let t=this.byteOffset+B(this),n;for(let r=0;r<this.size;r++){let r=new Tn(this.buffer,t);r.name==e&&(n=[t,r.size]),t+=r.size}if(!n)return!1;let[r,i]=n,a=new Uint8Array(this.buffer);return a.copyWithin(r,r+i,t),a.fill(0,t-i,t),this.size--,!0}copyFrom(e){let{byteSize:t}=e;new Uint8Array(this.buffer,this.byteOffset,t).set(new Uint8Array(e.buffer,e.byteOffset,t))}*keys(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield t.name,e+=t.size}}*values(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield t.value,e+=t.size}}*entries(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield[t.name,t.value],e+=t.size}}constructor(){super(...arguments),G(this,l)}static{G(i,r)}};return i})();const Dn=[`ino`,`data`,`size`,`mode`,`flags`,`nlink`,`uid`,`gid`,`atimeMs`,`birthtimeMs`,`mtimeMs`,`ctimeMs`,`version`];var On;(function(e){e[e.Sync=1]=`Sync`,e[e.NoAtime=2]=`NoAtime`,e[e.Append=4]=`Append`,e[e.Immutable=8]=`Immutable`,e[e.Dead=16]=`Dead`,e[e.NoQuota=32]=`NoQuota`,e[e.Dirsync=64]=`Dirsync`,e[e.NoCMtime=128]=`NoCMtime`,e[e.SwapFile=256]=`SwapFile`,e[e.Private=512]=`Private`,e[e.IMA=1024]=`IMA`,e[e.AutoMount=2048]=`AutoMount`,e[e.NoSec=4096]=`NoSec`,e[e.DAX=8192]=`DAX`,e[e.Encrypted=16384]=`Encrypted`,e[e.CaseFold=32768]=`CaseFold`,e[e.Verity=65536]=`Verity`,e[e.KernelFile=131072]=`KernelFile`})(On||={});let K=(()=>{var e,t,n,r,i,a,s,c,l,u,d,f,m,h,g,_;let v=[Vt.packed()],y,b=[],x,S=Wt(o),C,w=[],T=[],ee,te=[],ne=[],E,D=[],O=[],re,k=[],A=[],j,N=[],P=[],F,ie=[],I=[],ae,L=[],oe=[],se,ce=[],R=[],ue,de=[],fe=[],pe,me=[],he=[],ge,_e=[],ve=[],ye,be=[],xe=[],Se,Ce=[],we=[],Te,Ee=[],De=[],Oe,ke=[],Ae=[],je,Me=[],Ne=[],Pe,Fe=[],Ie=[],Le,Re=[],ze=[],Be,Ve=[],He=[];var Ue=class extends S{static{x=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(S[Symbol.metadata]??null):void 0;C=[(e=V).uint32.bind(e)],ee=[(t=V).uint32.bind(t)],E=[(n=V).uint32.bind(n)],re=[(r=V).uint16.bind(r)],j=[(i=V).uint32.bind(i)],F=[(a=V).uint32.bind(a)],ae=[(s=V).uint32.bind(s)],se=[(c=V).float64.bind(c)],ue=[(l=V).float64.bind(l)],pe=[(u=V).float64.bind(u)],ge=[(d=V).float64.bind(d)],ye=[(f=V).uint32.bind(f)],Se=[(m=V).uint32.bind(m)],Te=[(h=V).uint32.bind(h)],Oe=[(g=V).uint16.bind(g)],je=[(_=V).uint32.bind(_)],Pe=[V.uint8(48)],Le=[Ht(En)],Be=[V.uint8(wn)],Cn(this,null,C,{kind:`accessor`,name:`data`,static:!1,private:!1,access:{has:e=>`data`in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:o},w,T),Cn(this,null,ee,{kind:`accessor`,name:`__data_old`,static:!1,private:!1,access:{has:e=>`__data_old`in e,get:e=>e.__data_old,set:(e,t)=>{e.__data_old=t}},metadata:o},te,ne),Cn(this,null,E,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:o},D,O),Cn(this,null,re,{kind:`accessor`,name:`mode`,static:!1,private:!1,access:{has:e=>`mode`in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:o},k,A),Cn(this,null,j,{kind:`accessor`,name:`nlink`,static:!1,private:!1,access:{has:e=>`nlink`in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:o},N,P),Cn(this,null,F,{kind:`accessor`,name:`uid`,static:!1,private:!1,access:{has:e=>`uid`in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:o},ie,I),Cn(this,null,ae,{kind:`accessor`,name:`gid`,static:!1,private:!1,access:{has:e=>`gid`in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:o},L,oe),Cn(this,null,se,{kind:`accessor`,name:`atimeMs`,static:!1,private:!1,access:{has:e=>`atimeMs`in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:o},ce,R),Cn(this,null,ue,{kind:`accessor`,name:`birthtimeMs`,static:!1,private:!1,access:{has:e=>`birthtimeMs`in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:o},de,fe),Cn(this,null,pe,{kind:`accessor`,name:`mtimeMs`,static:!1,private:!1,access:{has:e=>`mtimeMs`in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:o},me,he),Cn(this,null,ge,{kind:`accessor`,name:`ctimeMs`,static:!1,private:!1,access:{has:e=>`ctimeMs`in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:o},_e,ve),Cn(this,null,ye,{kind:`accessor`,name:`ino`,static:!1,private:!1,access:{has:e=>`ino`in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:o},be,xe),Cn(this,null,Se,{kind:`accessor`,name:`__ino_old`,static:!1,private:!1,access:{has:e=>`__ino_old`in e,get:e=>e.__ino_old,set:(e,t)=>{e.__ino_old=t}},metadata:o},Ce,we),Cn(this,null,Te,{kind:`accessor`,name:`flags`,static:!1,private:!1,access:{has:e=>`flags`in e,get:e=>e.flags,set:(e,t)=>{e.flags=t}},metadata:o},Ee,De),Cn(this,null,Oe,{kind:`accessor`,name:`__after_flags`,static:!1,private:!1,access:{has:e=>`__after_flags`in e,get:e=>e.__after_flags,set:(e,t)=>{e.__after_flags=t}},metadata:o},ke,Ae),Cn(this,null,je,{kind:`accessor`,name:`version`,static:!1,private:!1,access:{has:e=>`version`in e,get:e=>e.version,set:(e,t)=>{e.version=t}},metadata:o},Me,Ne),Cn(this,null,Pe,{kind:`accessor`,name:`__padding`,static:!1,private:!1,access:{has:e=>`__padding`in e,get:e=>e.__padding,set:(e,t)=>{e.__padding=t}},metadata:o},Fe,Ie),Cn(this,null,Le,{kind:`accessor`,name:`attributes`,static:!1,private:!1,access:{has:e=>`attributes`in e,get:e=>e.attributes,set:(e,t)=>{e.attributes=t}},metadata:o},Re,ze),Cn(this,null,Be,{kind:`accessor`,name:`__data`,static:!1,private:!1,access:{has:e=>`__data`in e,get:e=>e.__data,set:(e,t)=>{e.__data=t}},metadata:o},Ve,He),Cn(null,y={value:x},v,{kind:`class`,name:x.name,metadata:o},null,b),Ue=x=y.value,o&&Object.defineProperty(x,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`Inode`;constructor(...e){let t={};if(typeof e[0]==`object`&&e[0]!==null&&!ArrayBuffer.isView(e[0])&&(t=e[0],e=[B(Ue)]),super(...e),G(this,He),this.byteLength<B(Ue))throw le(M(`EIO`,`Buffer is too small to create an inode (${this.byteLength} bytes)`));Object.assign(this,t),this.atimeMs||=Date.now(),this.mtimeMs||=Date.now(),this.ctimeMs||=Date.now(),this.birthtimeMs||=Date.now(),this.ino&&!this.nlink&&z(`Inode ${this.ino} has an nlink of 0`)}#e=G(this,w,void 0);get data(){return this.#e}set data(e){this.#e=e}#t=(G(this,T),G(this,te,void 0));get __data_old(){return this.#t}set __data_old(e){this.#t=e}#n=(G(this,ne),G(this,D,void 0));get size(){return this.#n}set size(e){this.#n=e}#r=(G(this,O),G(this,k,void 0));get mode(){return this.#r}set mode(e){this.#r=e}#i=(G(this,A),G(this,N,void 0));get nlink(){return this.#i}set nlink(e){this.#i=e}#a=(G(this,P),G(this,ie,void 0));get uid(){return this.#a}set uid(e){this.#a=e}#o=(G(this,I),G(this,L,void 0));get gid(){return this.#o}set gid(e){this.#o=e}#s=(G(this,oe),G(this,ce,void 0));get atimeMs(){return this.#s}set atimeMs(e){this.#s=e}#c=(G(this,R),G(this,de,void 0));get birthtimeMs(){return this.#c}set birthtimeMs(e){this.#c=e}#l=(G(this,fe),G(this,me,void 0));get mtimeMs(){return this.#l}set mtimeMs(e){this.#l=e}#u=(G(this,he),G(this,_e,void 0));get ctimeMs(){return this.#u}set ctimeMs(e){this.#u=e}#d=(G(this,ve),G(this,be,void 0));get ino(){return this.#d}set ino(e){this.#d=e}#f=(G(this,xe),G(this,Ce,void 0));get __ino_old(){return this.#f}set __ino_old(e){this.#f=e}#p=(G(this,we),G(this,Ee,void 0));get flags(){return this.#p}set flags(e){this.#p=e}#m=(G(this,De),G(this,ke,void 0));get __after_flags(){return this.#m}set __after_flags(e){this.#m=e}#h=(G(this,Ae),G(this,Me,void 0));get version(){return this.#h}set version(e){this.#h=e}#g=(G(this,Ne),G(this,Fe,void 0));get __padding(){return this.#g}set __padding(e){this.#g=e}#_=(G(this,Ie),G(this,Re,void 0));get attributes(){return this.#_}set attributes(e){this.#_=e}#v=(G(this,ze),G(this,Ve,void 0));get __data(){return this.#v}set __data(e){this.#v=e}toString(){return`<Inode ${this.ino}>`}toJSON(){return{...p(this,Dn),attributes:this.attributes}}toStats(){return new vn(this)}update(e){if(!e)return!1;let t=!1;for(let n of Dn)e[n]!==void 0&&(n==`ino`||n==`data`||this[n]!==e[n]&&(n==`atimeMs`&&this.flags&On.NoAtime||(this[n]=e[n],t=!0)));return e.attributes&&(this.attributes.copyFrom(e.attributes),t=!0),t&&(this.ctimeMs=Date.now()),t}static{G(x,b)}};return Ue=x})();function kn(e){return(e.mode&Ye)==Qe}function An(e){return(e.mode&Ye)==et}function jn(e){return(e.mode&Ye)==Ze}function Mn(e){return(e.mode&Ye)==Xe}function Nn(e){return(e.mode&Ye)==$e}function Pn(e){return(e.mode&Ye)==tt}function Fn(e){return(e.mode&Ye)==nt}function q(e,t,n){let{credentials:r}=Ie(e);if(jn(t)||r.euid===0||r.egid===0)return!0;let i=0;return r.uid===t.uid&&(t.mode&256&&(i|=4),t.mode&128&&(i|=2),t.mode&64&&(i|=1)),(r.gid===t.gid||r.groups.includes(Number(t.gid)))&&(t.mode&32&&(i|=4),t.mode&16&&(i|=2),t.mode&8&&(i|=1)),t.mode&4&&(i|=4),t.mode&2&&(i|=2),t.mode&1&&(i|=1),(i&n)===n}function In(e,t,n){let r=!0;return!isNaN(t)&&t>=0&&t<4294967295?e.uid=t:r=!1,!isNaN(n)&&n>=0&&n<4294967295?e.gid=n:r=!1,r}var Ln=class e extends Map{maxSize=at;toJSON(){return{version:1,maxSize:this.maxSize,entries:Object.fromEntries([...this].map(([e,t])=>[e,t.toJSON()]))}}toString(){return JSON.stringify(this.toJSON())}get byteSize(){let e=this.size*B(K);for(let t of this.values())e+=t.size;return e}usage(){return{totalSpace:this.maxSize,freeSpace:this.maxSize-this.byteSize}}pathOf(e){for(let[t,n]of this)if(n.ino==e||n.data==e)return t}getByID(e){return this.entryByID(e)?.inode}entryByID(e){for(let[t,n]of this)if(n.ino==e||n.data==e)return{path:t,inode:n}}directoryEntries(e){let t=this.get(e);if(!t)throw M(`ENOENT`);if((t.mode&61440)!=16384)throw M(`ENOTDIR`);let n={};for(let t of this.keys())W(t)==e&&t!=e&&(n[dn(t)]=this.get(t).ino);return n}_alloc(){return Math.max(...[...this.values()].flatMap(e=>[e.ino,e.data]))+1}directories(){let e=new Map;for(let[t,n]of this){if((n.mode&61440)!=16384)continue;let r={};for(let e of this.keys())W(e)==t&&e!=t&&(r[dn(e)]=this.get(e).ino);e.set(t,r)}return e}fromJSON(e){if(e.version!=1)throw M(`EINVAL`,`Index version mismatch`);this.clear();for(let[t,n]of Object.entries(e.entries))n.data??=x(1,at),t==`/`&&(n.ino=0),this.set(t,new K(n));return this}static parse(t){if(!h(t))throw M(`EINVAL`,`Invalid JSON`);let n=JSON.parse(t),r=new e;return r.fromJSON(n),r}};const Rn=4096;var zn=class e{type;name;label;_mountPoint;_uuid=crypto.randomUUID();get uuid(){return this._uuid}attributes=new Map;constructor(t,n){this.type=t,this.name=n,this.streamRead===e.prototype.streamRead&&this.attributes.set(`default_stream_read`),this.streamWrite===e.prototype.streamWrite&&this.attributes.set(`default_stream_write`)}toString(){return`${this.name} ${this.label?JSON.stringify(this.label):``} (${this._mountPoint?`mounted on `+this._mountPoint:`unmounted`})`}usage(){return{totalSpace:0,freeSpace:0}}async ready(){}readySync(){if(this.ready!==e.prototype.ready)throw M(`EAGAIN`)}async exists(e){try{return await this.stat(e),!0}catch(e){return e.code!=`ENOENT`}}existsSync(e){try{return this.statSync(e),!0}catch(e){return e.code!=`ENOENT`}}streamRead(e,t){return new ReadableStream({start:async n=>{let{size:r}=await this.stat(e),{start:i=0,end:a=r}=t;for(let t=i;t<a;t+=Rn){let r=t+Rn>a?a-t:Rn,i=new Uint8Array(r);await this.read(e,i,t,t+r).catch(n.error.bind(n)),n.enqueue(i)}n.close()},type:`bytes`})}streamWrite(e,t){let n=t.start??0;return new WritableStream({write:async(t,r)=>{let i=!1,a=e=>{i=!0,r.error(e)},{size:o}=await this.stat(e);await this.write(e,t,n).catch(a),!i&&(n+=t.byteLength,await this.touch(e,{mtimeMs:Date.now(),size:Math.max(o,n)}).catch(a))}})}};Promise.withResolvers??=(z(`Using a polyfill of Promise.withResolvers`),function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}),Symbol.dispose??=(z(`Using a polyfill of Symbol.dispose`),Symbol(`Symbol.dispose`)),Symbol.asyncDispose??=(z(`Using a polyfill of Symbol.asyncDispose`),Symbol(`Symbol.asyncDispose`)),globalThis.crypto.randomUUID??=(z(`Using a polyfill of crypto.randomUUID`),function(){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}),Uint8Array.prototype.toBase64??=(z(`Using a polyfill of Uint8Array.prototype.toBase64`),function(){return btoa(String.fromCharCode(...this))}),Uint8Array.fromBase64??=(z(`Using a polyfill of Uint8Array.fromBase64`),function(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}),Uint8Array.prototype.toHex??=(z(`Using a polyfill of Uint8Array.prototype.toHex`),function(){return[...this].map(e=>e.toString(16).padStart(2,`0`)).join(``)}),Uint8Array.fromHex??=(z(`Using a polyfill of Uint8Array.fromHex`),function(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t});var Bn=class{store;constructor(e){this.store=e}},Vn=class extends Bn{async get(e,t,n){return this.getSync(e,t,n)}async set(e,t,n){return this.setSync(e,t,n)}async remove(e){return this.removeSync(e)}},Hn=class extends Bn{asyncDone=Promise.resolve();async(e){this.asyncDone=this.asyncDone.then(()=>e)}_cached(e,t){this.store.cache??=new Map;let n=this.store.cache.get(e);return n?(t&&(n.size=t.size),n):t?new s(e,t.size,{},this.store.cache):void 0}getSync(e,t,n){let r=this._cached(e);if(!r)return;n??=r.size;let i=r.missing(t,n);for(let{start:t,end:n}of i)this.async(this.get(e,t,n));if(i.length)throw M(`EAGAIN`);let a=r.regionAt(t);if(!a){z(`Missing cache region for `+e);return}return a.data.subarray(t-a.offset,n-a.offset)}setSync(e,t,n){this.async(this.set(e,t,n))}removeSync(e){this.async(this.remove(e)),this.store.cache?.delete(e)}},Un=class{raw;fs;done=!1;flag(e){return this.raw.store.flags?.includes(e)??!1}constructor(e,t){this.raw=e,this.fs=t}originalData=new Map;modifiedKeys=new Set;keys(){return this.raw.keys()}async get(e,t=0,n){let r=await this.raw.get(e,t,n);return this.stash(e),r}getSync(e,t=0,n){let r=this.raw.getSync(e,t,n);return this.stash(e),r}async set(e,t,n=0){await this.markModified(e,n,t.byteLength);let r=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);await this.raw.set(e,r,n)}setSync(e,t,n=0){this.markModifiedSync(e,n,t.byteLength);let r=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);this.raw.setSync(e,r,n)}async remove(e){await this.markModified(e,0,void 0),await this.raw.remove(e)}removeSync(e){this.markModifiedSync(e,0,void 0),this.raw.removeSync(e)}commit(){return this.done=!0,Promise.resolve()}commitSync(){this.done=!0}async abort(){if(!this.done){for(let[e,t]of this.originalData)if(this.modifiedKeys.has(e)){if(t.some(e=>!e.data)){await this.raw.remove(e),this.fs._remove(e);continue}for(let n of t.reverse())await this.raw.set(e,n.data,n.offset)}this.done=!0}}abortSync(){if(!this.done){for(let[e,t]of this.originalData)if(this.modifiedKeys.has(e)){if(t.some(e=>!e.data)){this.raw.removeSync(e),this.fs._remove(e);continue}for(let n of t.reverse())this.raw.setSync(e,n.data,n.offset)}this.done=!0}}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}stash(e,t,n=0){this.originalData.has(e)||this.originalData.set(e,[]),this.originalData.get(e).push({data:t,offset:n})}async markModified(e,t,n){this.modifiedKeys.add(e);let r=n?t+n:void 0;try{this.stash(e,await this.raw.get(e,t,r),t)}catch(n){if(!(this.raw instanceof Hn))throw n;let i=this.raw._cached(e);if(!i)throw n;for(let n of i.cached(t,r??t))this.stash(e,await this.raw.get(e,n.start,n.end),n.start)}}markModifiedSync(e,t,n){this.modifiedKeys.add(e);let r=n?t+n:void 0;try{this.stash(e,this.raw.getSync(e,t,r),t)}catch(n){if(!(this.raw instanceof Hn))throw n;let i=this.raw._cached(e);if(!i)throw n;for(let n of i.cached(t,r??t))this.stash(e,this.raw.getSync(e,n.start,n.end),n.start)}}},Wn=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Gn=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Kn=class extends zn{store;_ids=new Map([[`/`,0]]);_paths=new Map([[0,new Set(`/`)]]);_path(e){let[t]=this._paths.get(e)??[];return t}_add(e,t){this._paths.has(e)||this._paths.set(e,new Set),this._paths.get(e).add(t),this._ids.set(t,e)}_remove(e){for(let t of this._paths.get(e)??[])this._ids.delete(t);this._paths.delete(e)}_move(e,t){let n=[];for(let[r,i]of this._ids){let a=un(e,r);if(a.startsWith(`..`))continue;let o=U(t,a);o.endsWith(`/`)&&(o=o.slice(0,-1)),n.push({oldKey:r,newKey:o,ino:i})}for(let{oldKey:e,newKey:t,ino:r}of n){this._ids.delete(e),this._ids.set(t,r);let n=this._paths.get(r);if(!n){z(`Missing paths in table for ino `+r);continue}n.delete(e),n.add(t)}}_initialized=!1;async ready(){this._initialized||=(this.attributes.has(`no_async_preload`)||this.checkRootSync(),await this.checkRoot(),await this._populate(),!0)}readySync(){this._initialized||=(this.attributes.has(`no_async_preload`)||this.checkRootSync(),this.checkRootSync(),this._populateSync(),!0)}constructor(e){super(e.type??1802921587,e.name),this.store=e,e.fs=this,this._uuid=e.uuid??this.uuid,this.label=e.label,fe(this.name+`: supports features: `+this.store.flags?.join(`, `))}usage(){return this.store.usage?.()||{totalSpace:0,freeSpace:0}}async loadIndex(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0),r=e.directories();for(let[t,i]of e)this._add(i.ino,t),await n.set(i.ino,i),r.has(t)&&await n.set(i.data,Yt(r.get(t)));await n.commit()}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}loadIndexSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1),r=e.directories();for(let[t,i]of e)this._add(i.ino,t),n.setSync(i.ino,i),r.has(t)&&n.setSync(i.data,Yt(r.get(t)));n.commitSync()}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async createIndex(){let e={stack:[],error:void 0,hasError:!1};try{let t=new Ln,n=Wn(e,this.transaction(),!0),r=[[`/`,0]],i=v(M(`EDEADLK`));for(;r.length;){let[e,i]=r.shift(),a=new K(await n.get(i));if(t.set(e,a),a.mode&16384){let t=Jt(await n.get(a.data)??y(M(`ENODATA`)));for(let[n,i]of Object.entries(t))r.push([U(e,n),i])}}return i(),t}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}createIndexSync(){let e={stack:[],error:void 0,hasError:!1};try{let t=new Ln,n=Wn(e,this.transaction(),!1),r=[[`/`,0]],i=v(M(`EDEADLK`));for(;r.length;){let[e,i]=r.shift(),a=new K(n.getSync(i));if(t.set(e,a),a.mode&16384){let t=Jt(n.getSync(a.data)??y(M(`ENODATA`)));for(let[n,i]of Object.entries(t))r.push([U(e,n),i])}}return i(),t}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=mn(e),a=mn(t),o=await this.findInode(r,i.dir),s=Jt(await r.get(o.data)??y(M(`ENODATA`)));if(!s[i.base])throw M(`ENOENT`);let c=s[i.base];if(c!=this._ids.get(e)&&R(`Ino mismatch while renaming ${e} to ${t}`),delete s[i.base],(a.dir+`/`).startsWith(e+`/`))throw M(`EBUSY`);let l=a.dir==i.dir,u=l?o:await this.findInode(r,a.dir),d=l?s:Jt(await r.get(u.data)??y(M(`ENODATA`)));if(d[a.base]){let e=new K(await r.get(d[a.base])??y(M(`ENOENT`)));if(!kn(e))throw M(`EISDIR`);await r.remove(e.data),await r.remove(d[a.base])}d[a.base]=c,await r.set(o.data,Yt(s)),await r.set(u.data,Yt(d)),await r.commit(),this._move(e,t)}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=mn(e),a=mn(t),o=this.findInodeSync(r,i.dir),s=Jt(r.getSync(o.data)??y(M(`ENODATA`)));if(!s[i.base])throw M(`ENOENT`);let c=s[i.base];if(c!=this._ids.get(e)&&R(`Ino mismatch while renaming ${e} to ${t}`),delete s[i.base],(a.dir+`/`).startsWith(e+`/`))throw M(`EBUSY`);let l=a.dir===i.dir,u=l?o:this.findInodeSync(r,a.dir),d=l?s:Jt(r.getSync(u.data)??y(M(`ENODATA`)));if(d[a.base]){let e=new K(r.getSync(d[a.base])??y(M(`ENOENT`)));if(!kn(e))throw M(`EISDIR`);r.removeSync(e.data),r.removeSync(d[a.base])}d[a.base]=c,r.setSync(o.data,Yt(s)),r.setSync(u.data,Yt(d)),r.commitSync(),this._move(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0);return await this.findInode(n,e)}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1);return this.findInodeSync(n,e)}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=await this.findInode(r,e);i.update(t)&&(this._add(i.ino,e),r.setSync(i.ino,i)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=this.findInodeSync(r,e);i.update(t)&&(this._add(i.ino,e),r.setSync(i.ino,i)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async createFile(e,t){return t.mode|=Qe,await this.commitNew(e,t,new Uint8Array)}createFileSync(e,t){return t.mode|=Qe,this.commitNewSync(e,t,new Uint8Array)}async unlink(e){return this.remove(e,!1)}unlinkSync(e){this.removeSync(e,!1)}async rmdir(e){if((await this.readdir(e)).length)throw M(`ENOTEMPTY`);await this.remove(e,!0)}rmdirSync(e){if(this.readdirSync(e).length)throw M(`ENOTEMPTY`);this.removeSync(e,!0)}async mkdir(e,t){return t.mode|=et,await this.commitNew(e,t,w(`{}`))}mkdirSync(e,t){return t.mode|=et,this.commitNewSync(e,t,w(`{}`))}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0),r=await this.findInode(n,e);return Object.keys(Jt(await n.get(r.data)??y(M(`ENOENT`))))}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1),r=this.findInodeSync(n,e);return Object.keys(Jt(n.getSync(r.data)??y(M(`ENOENT`))))}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async sync(){}syncSync(){}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=W(t),a=await this.findInode(r,i),o=Jt(await r.get(a.data)??y(M(`ENOENT`))),s=await this.findInode(r,e);s.nlink++,o[dn(t)]=s.ino,this._add(s.ino,t),await r.set(s.ino,s),await r.set(a.data,Yt(o)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=W(t),a=this.findInodeSync(r,i),o=Jt(r.getSync(a.data)??y(M(`ENOENT`))),s=this.findInodeSync(r,e);s.nlink++,o[dn(t)]=s.ino,this._add(s.ino,t),r.setSync(s.ino,s),r.setSync(a.data,Yt(o)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{let a=Wn(i,this.transaction(),!0),o=await this.findInode(a,e);if(o.size==0)return;let s=await a.get(o.data,n,r)??y(M(`ENODATA`)),c=a.flag(`partial`)?s:s.subarray(n,r);c.byteLength>t.byteLength&&R(`Trying to place ${c.byteLength} bytes into a ${t.byteLength} byte buffer on read`),t.set(c)}catch(e){i.error=e,i.hasError=!0}finally{let e=Gn(i);e&&await e}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{let a=Wn(i,this.transaction(),!1),o=this.findInodeSync(a,e);if(o.size==0)return;let s=a.getSync(o.data,n,r)??y(M(`ENODATA`)),c=a.flag(`partial`)?s:s.subarray(n,r);c.byteLength>t.byteLength&&R(`Trying to place ${c.byteLength} bytes into a ${t.byteLength} byte buffer on read`),t.set(c)}catch(e){i.error=e,i.hasError=!0}finally{Gn(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{let i=Wn(r,this.transaction(),!0),o=await this.findInode(i,e),s=t;i.flag(`partial`)||(s=a(await i.get(o.data)??new Uint8Array,n+t.byteLength),s.set(t,n),n=0),await i.set(o.data,s,n),this._add(o.ino,e),await i.commit()}catch(e){r.error=e,r.hasError=!0}finally{let e=Gn(r);e&&await e}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{let i=Wn(r,this.transaction(),!1),o=this.findInodeSync(i,e),s=t;i.flag(`partial`)||(s=a(i.getSync(o.data)??new Uint8Array,n+t.byteLength),s.set(t,n),n=0),i.setSync(o.data,s,n),this._add(o.ino,e),i.commitSync()}catch(e){r.error=e,r.hasError=!0}finally{Gn(r)}}transaction(){return new Un(this.store.transaction(),this)}async checkRoot(){let e={stack:[],error:void 0,hasError:!1};try{let t=Wn(e,this.transaction(),!0);if(await t.get(0))return;let n=new K({ino:0,data:1,mode:16895});await t.set(n.data,w(`{}`)),this._add(0,`/`),await t.set(0,n),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}checkRootSync(){let e={stack:[],error:void 0,hasError:!1};try{let t=Wn(e,this.transaction(),!1);if(t.getSync(0))return;let n=new K({ino:0,data:1,mode:16895});t.setSync(n.data,w(`{}`)),this._add(0,`/`),t.setSync(0,n),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async _populate(){let e={stack:[],error:void 0,hasError:!1};try{if(this._initialized){z(`Attempted to populate tables after initialization`);return}fe(`Populating tables with existing store metadata`);let t=Wn(e,this.transaction(),!0),n=await t.get(0);if(!n){ue(`Store does not have a root inode`);let e=new K({ino:0,data:1,mode:16895});await t.set(e.data,w(`{}`)),this._add(0,`/`),await t.set(0,e),await t.commit();return}if(n.length<B(K)){le(`Store contains an invalid root inode. Refusing to populate tables`);return}let r=new Set,i=0,a=[[`/`,0]];for(;a.length>0;){i++;let[e,n]=a.shift();this._add(n,e);let o=await t.get(n);if(!o){z(`Store is missing data for inode: `+n);continue}if(o.length<B(K)){z(`Invalid inode size for ino ${n}: ${o.length}`);continue}let s=new K(o);if((s.mode&16384)!=16384||r.has(n))continue;r.add(n);let c=await t.get(s.data);if(!c){z(`Store is missing directory data: `+s.data);continue}let l=Jt(c);for(let[t,n]of Object.entries(l))a.push([U(e,t),n])}fe(`Added ${i} existing inode(s) from store`)}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}_populateSync(){let e={stack:[],error:void 0,hasError:!1};try{if(this._initialized){z(`Attempted to populate tables after initialization`);return}fe(`Populating tables with existing store metadata`);let t=Wn(e,this.transaction(),!1),n=t.getSync(0);if(!n){ue(`Store does not have a root inode`);let e=new K({ino:0,data:1,mode:16895});t.setSync(e.data,w(`{}`)),this._add(0,`/`),t.setSync(0,e),t.commitSync();return}if(n.length<B(K)){le(`Store contains an invalid root inode. Refusing to populate tables`);return}let r=new Set,i=0,a=[[`/`,0]];for(;a.length>0;){i++;let[e,n]=a.shift();this._add(n,e);let o=t.getSync(n);if(!o){z(`Store is missing data for inode: `+n);continue}if(o.length<B(K)){z(`Invalid inode size for ino ${n}: ${o.length}`);continue}let s=new K(o);if((s.mode&16384)!=16384||r.has(n))continue;r.add(n);let c=t.getSync(s.data);if(!c){z(`Store is missing directory data: `+s.data);continue}let l=Jt(c);for(let[t,n]of Object.entries(l))a.push([U(e,t),n])}fe(`Added ${i} existing inode(s) from store`)}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async _findInode(e,t,n=new Set){if(n.has(t))throw le(M(`EIO`,`Infinite loop detected while finding inode`));if(n.add(t),t==`/`)return new K(await e.get(0)??y(M(`ENODATA`)));let{dir:r,base:i}=mn(t),a=await this._findInode(e,r,n),o=Jt(await e.get(a.data)??y(M(`ENODATA`)));if(!(i in o))throw M(`ENOENT`);return new K(await e.get(o[i])??y(M(`ENODATA`)))}_findInodeSync(e,t,n=new Set){if(n.has(t))throw le(M(`EIO`,`Infinite loop detected while finding inode`));if(n.add(t),t==`/`)return new K(e.getSync(0)??y(M(`ENOENT`)));let{dir:r,base:i}=mn(t),a=this._findInodeSync(e,r,n),o=Jt(e.getSync(a.data)??y(M(`ENODATA`)));if(!(i in o))throw M(`ENOENT`);return new K(e.getSync(o[i])??y(M(`ENODATA`)))}async findInode(e,t){if(this.attributes.has(`no_id_tables`))return await this._findInode(e,t);let n=this._ids.get(t);if(n===void 0)throw M(`ENOENT`);return new K(await e.get(n)??y(M(`ENOENT`)))}findInodeSync(e,t){if(this.attributes.has(`no_id_tables`))return this._findInodeSync(e,t);let n=this._ids.get(t);if(n===void 0)throw M(`ENOENT`);return new K(e.getSync(n)??y(M(`ENOENT`)))}_lastID;allocNew(e){this._lastID??=Math.max(...this._paths.keys()),this._lastID+=2;let t=this._lastID;if(t>4294967295)throw R(M(`ENOSPC`,`No IDs available`));return this._add(t,e),t}async commitNew(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{if(e==`/`)throw M(`EEXIST`);let i=Wn(r,this.transaction(),!0),{dir:a,base:o}=mn(e),s=await this.findInode(i,a),c=Jt(await i.get(s.data)??y(M(`ENOENT`)));if(c[o])throw M(`EEXIST`);let l=this.allocNew(e),u=new K({...t,ino:l,data:l+1,size:n.byteLength,nlink:1});return await i.set(u.ino,u),await i.set(u.data,n),c[o]=u.ino,await i.set(s.data,Yt(c)),await i.commit(),u}catch(e){r.error=e,r.hasError=!0}finally{let e=Gn(r);e&&await e}}commitNewSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{if(e==`/`)throw M(`EEXIST`);let i=Wn(r,this.transaction(),!1),{dir:a,base:o}=mn(e),s=this.findInodeSync(i,a),c=Jt(i.getSync(s.data)??y(M(`ENOENT`)));if(c[o])throw M(`EEXIST`);let l=this.allocNew(e),u=new K({...t,ino:l,data:l+1,size:n.byteLength,nlink:1});return i.setSync(u.ino,u),i.setSync(u.data,n),c[o]=u.ino,i.setSync(s.data,Yt(c)),i.commitSync(),u}catch(e){r.error=e,r.hasError=!0}finally{Gn(r)}}async remove(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),{dir:i,base:a}=mn(e),o=await this.findInode(r,i),s=Jt(await r.get(o.data)??y(M(`ENOENT`)));if(!s[a])throw M(`ENOENT`);let c=s[a],l=new K(await r.get(c)??y(M(`ENOENT`)));if(delete s[a],!t&&An(l))throw M(`EISDIR`);await r.set(o.data,Yt(s)),l.nlink>1?(l.update({nlink:l.nlink-1}),await r.set(l.ino,l)):(await r.remove(l.data),await r.remove(c),this._remove(c)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}removeSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),{dir:i,base:a}=mn(e),o=this.findInodeSync(r,i),s=Jt(r.getSync(o.data)??y(M(`ENOENT`))),c=s[a];if(!c)throw M(`ENOENT`);let l=new K(r.getSync(c)??y(M(`ENOENT`)));if(delete s[a],!t&&An(l))throw M(`EISDIR`);r.setSync(o.data,Yt(s)),l.nlink>1?(l.update({nlink:l.nlink-1}),r.setSync(l.ino,l)):(r.removeSync(l.data),r.removeSync(c),this._remove(c)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}},qn=class extends Vn{async keys(){return this.store.keys()}async get(e){return await(this.store.getAsync?.(e)??this.store.get(e))}getSync(e){return this.store.get(e)}setSync(e,t){this.store.set(e,t)}removeSync(e){this.store.delete(e)}},Jn=class extends Hn{async keys(){return await this.asyncDone,this.store.keys()}async get(e,t,n){return await this.asyncDone,await this.store.get(e,t,n)}getSync(e,t,n){return this.store.cached(e,t,n)}async set(e,t,n=0){await this.asyncDone,await this.store.set(e,t,n)}async remove(e){await this.asyncDone,await this.store.delete(e)}},Yn=class extends Map{maxSize;label;flags=[];name=`tmpfs`;constructor(e=at,t){super(),this.maxSize=e,this.label=t}async sync(){}transaction(){return new qn(this)}get bytes(){let e=this.size*4;for(let t of this.values())e+=t.byteLength;return e}usage(){return{totalSpace:this.maxSize,freeSpace:this.maxSize-this.bytes}}};const Xn={name:`InMemory`,options:{maxSize:{type:`number`,required:!1},label:{type:`string`,required:!1}},create({maxSize:e,label:t}){let n=new Kn(new Yn(e,t));return n.checkRootSync(),n}};var Zn=class extends Kn{devices=new Map;devicesWithDriver(e,t){if(t&&typeof e==`string`)throw R(M(`EINVAL`,`Can not fetch devices using only a driver name`));let n=[];for(let r of this.devices.values())t&&r.driver!=e||(typeof e==`string`?e:e.name)==r.driver.name&&n.push(r);return n}_createDevice(e,t={}){let n=1,r=Array.from(this.devices.values()).at(-1);for(;this.store.has(n)||r?.inode.ino==n;)n++;let i=e.init?.(n,t),a={data:{},minor:0,major:0,...m(i??{},`metadata`),driver:e,inode:new K({mode:8630,...i?.metadata})},o=`/`+(a.name||e.name)+(e.singleton?``:this.devicesWithDriver(e).length);if(this.existsSync(o))throw M(`EEXIST`);return this.devices.set(o,a),de(`Initialized device: `+this._mountPoint+o),a}addDefaults(){this._createDevice($n),this._createDevice(er),this._createDevice(tr),this._createDevice(nr),this._createDevice(rr),fe(`Added default devices`)}constructor(){super(new Yn(16777216,`devfs`))}async rename(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.rename(e,t)}renameSync(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.renameSync(e,t)}async stat(e){let t=this.devices.get(e);return t?t.inode:super.stat(e)}statSync(e){let t=this.devices.get(e);return t?t.inode:super.statSync(e)}async touch(e,t){let n=this.devices.get(e);n?n.inode.update(t):await super.touch(e,t)}touchSync(e,t){let n=this.devices.get(e);n?n.inode.update(t):super.touchSync(e,t)}async createFile(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.createFile(e,t)}createFileSync(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.createFileSync(e,t)}async unlink(e){if(this.devices.has(e))throw M(`EPERM`);return super.unlink(e)}unlinkSync(e){if(this.devices.has(e))throw M(`EPERM`);return super.unlinkSync(e)}async rmdir(e){return super.rmdir(e)}rmdirSync(e){return super.rmdirSync(e)}async mkdir(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.mkdir(e,t)}mkdirSync(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.mkdirSync(e,t)}async readdir(e){let t=await super.readdir(e);for(let n of this.devices.keys())W(n)==e&&t.push(dn(n));return t}readdirSync(e){let t=super.readdirSync(e);for(let n of this.devices.keys())W(n)==e&&t.push(dn(n));return t}async link(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.link(e,t)}linkSync(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.linkSync(e,t)}async sync(){for(let e of this.devices.values())e.driver.sync?.(e);return super.sync()}syncSync(){for(let e of this.devices.values())e.driver.sync?.(e);return super.syncSync()}async read(e,t,n,r){let i=this.devices.get(e);if(!i){await super.read(e,t,n,r);return}i.driver.read(i,t,n,r)}readSync(e,t,n,r){let i=this.devices.get(e);if(!i){super.readSync(e,t,n,r);return}i.driver.read(i,t,n,r)}async write(e,t,n){let r=this.devices.get(e);if(!r)return await super.write(e,t,n);r.driver.write(r,t,n)}writeSync(e,t,n){let r=this.devices.get(e);if(!r)return super.writeSync(e,t,n);r.driver.write(r,t,n)}};const Qn=new Uint8Array,$n={name:`null`,singleton:!0,init(){return{major:1,minor:3}},read(){return Qn},write(){}},er={name:`zero`,singleton:!0,init(){return{major:1,minor:5}},read(e,t,n,r){t.fill(0,n,r)},write(){}},tr={name:`full`,singleton:!0,init(){return{major:1,minor:7}},read(e,t,n,r){t.fill(0,n,r)},write(){throw M(`ENOSPC`)}},nr={name:`random`,singleton:!0,init(){return{major:1,minor:8}},read(e,t){for(let e=0;e<t.length;e++)t[e]=Math.floor(Math.random()*256)},write(){}},rr={name:`console`,singleton:!0,init(e,{output:t=e=>console.log(e)}={}){return{major:5,minor:1,data:{output:t}}},read(){return Qn},write(e,t,n){let r=ee(t);e.data.output(r,n)}},ir={null:$n,zero:er,full:tr,random:nr,console:rr};var ar=i();let J=!0;function or(e){J=e}var sr;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.FIFO=1]=`FIFO`,e[e.CHR=2]=`CHR`,e[e.DIR=4]=`DIR`,e[e.BLK=6]=`BLK`,e[e.REG=8]=`REG`,e[e.LNK=10]=`LNK`,e[e.SOCK=12]=`SOCK`,e[e.WHT=14]=`WHT`})(sr||={});function cr(e){return(e&61440)>>12}function lr(e){return e<<12}var ur=class{ino;type;path;name},dr=class{context;path;fs;internalPath;flag;inode;_buffer;_position=0;get position(){return this.flag&1024?this.inode.size:this._position}set position(e){this._position=e}dirty=!1;closed=!1;get isClosed(){return this.closed}constructor(e,t,n,r,i,a){this.context=e,this.path=t,this.fs=n,this.internalPath=r,this.flag=i,this.inode=a}get _isSync(){return!!(this.flag&1052672||this.inode.flags&On.Sync||this.fs.attributes.has(`sync`))}[Symbol.dispose](){this.closeSync()}syncSync(){if(this.closed)throw j(`EBADF`,`sync`,this.path);this.dirty&&=(this.fs.attributes.has(`no_write`)||this.fs.touchSync(this.internalPath,this.inode),!1)}datasyncSync(){return this.syncSync()}closeSync(){if(this.closed)throw j(`EBADF`,`close`,this.path);this.syncSync(),this.disposeSync()}disposeSync(e){if(this.closed)throw j(`EBADF`,`close`,this.path);if(this.dirty&&!e)throw j(`EBUSY`,`close`,this.path);this.closed=!0}truncateSync(e){if(e<0)throw j(`EINVAL`,`truncate`,this.path);if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`truncate`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`truncate`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`truncate`,this.path);this.dirty=!0,this.inode.mtimeMs=Date.now(),this.inode.size=e,this.inode.ctimeMs=Date.now(),this._isSync&&this.syncSync()}writeSync(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);this.dirty=!0;let i=r+n,a=e.subarray(t,t+n);return!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(this.inode.size=i),this.inode.mtimeMs=Date.now(),this.inode.ctimeMs=Date.now(),this._position=r+a.byteLength,this.fs.writeSync(this.internalPath,a,r),this._isSync&&this.syncSync(),a.byteLength}readSync(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||this.flag&1)throw j(`EBADF`,`read`,this.path);!(this.inode.flags&On.NoAtime)&&!this.fs.attributes.has(`no_atime`)&&(this.dirty=!0,this.inode.atimeMs=Date.now());let i=r+n;!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(i=r+Math.max(this.inode.size-r,0)),this._position=i;let a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return this.fs.readSync(this.internalPath,a.subarray(t,t+n),r,i),this._isSync&&this.syncSync(),i-r}chmodSync(e){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,this.inode.mode=this.inode.mode&(e>61440?-61441:Ye)|e,(this._isSync||e>61440)&&this.syncSync()}chownSync(e,t){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,In(this.inode,e,t),this._isSync&&this.syncSync()}utimesSync(e,t){if(this.closed)throw j(`EBADF`,`utimes`,this.path);this.dirty=!0,this.inode.atimeMs=e,this.inode.mtimeMs=t,this._isSync&&this.syncSync()}async[Symbol.asyncDispose](){await this.close()}async sync(){if(this.closed)throw j(`EBADF`,`sync`,this.path);this.dirty&&=(this.fs.attributes.has(`no_write`)||await this.fs.touch(this.internalPath,this.inode),!1)}datasync(){return this.sync()}async close(){if(this.closed)throw j(`EBADF`,`close`,this.path);await this.sync(),this.dispose()}dispose(e){if(this.closed)throw j(`EBADF`,`close`,this.path);if(this.dirty&&!e)throw j(`EBUSY`,`close`,this.path);this.closed=!0}stat(){if(this.closed)throw j(`EBADF`,`stat`,this.path);return this.inode}async truncate(e){if(e<0)throw j(`EINVAL`,`truncate`,this.path);if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`truncate`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`truncate`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`truncate`,this.path);this.dirty=!0,this.inode.mtimeMs=Date.now(),this.inode.size=e,this.inode.ctimeMs=Date.now(),this._isSync&&await this.sync()}async write(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);this.dirty=!0;let i=r+n,a=e.subarray(t,t+n);return!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(this.inode.size=i),this.inode.mtimeMs=Date.now(),this.inode.ctimeMs=Date.now(),this._position=r+a.byteLength,await this.fs.write(this.internalPath,a,r),this._isSync&&await this.sync(),a.byteLength}async read(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||this.flag&1)throw j(`EBADF`,`read`,this.path);!(this.inode.flags&On.NoAtime)&&!this.fs.attributes.has(`no_atime`)&&(this.dirty=!0,this.inode.atimeMs=Date.now());let i=r+n;!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(i=r+Math.max(this.inode.size-r,0)),this._position=i;let a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return await this.fs.read(this.internalPath,a.subarray(t,t+n),r,i),this._isSync&&await this.sync(),i-r}async chmod(e){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,this.inode.mode=this.inode.mode&(e>61440?-61441:Ye)|e,(this._isSync||e>61440)&&await this.sync()}async chown(e,t){if(this.closed)throw j(`EBADF`,`chown`,this.path);this.dirty=!0,In(this.inode,e,t),this._isSync&&await this.sync()}async utimes(e,t){if(this.closed)throw j(`EBADF`,`utimes`,this.path);this.dirty=!0,this.inode.atimeMs=e,this.inode.mtimeMs=t,this._isSync&&await this.sync()}streamRead(e){if(this.closed)throw j(`EBADF`,`streamRead`,this.path);return this.fs.streamRead(this.internalPath,e)}streamWrite(e){if(this.closed)throw j(`EBADF`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);return this.fs.streamWrite(this.internalPath,e)}};function fr(e){let t=Ie(e.context).descriptors,n=Math.max(t.size?Math.max(...t.keys())+1:0,4);return t.set(n,e),n}function pr(e,t){let n=Ie(e).descriptors.get(t);if(!n)throw M(`EBADF`);return n}function mr(e,t){return Ie(e).descriptors.delete(t)}const hr=/[rwasx]{1,2}\+?/;function gr(e){if(typeof e==`number`)return e;if(!hr.test(e))throw M(`EINVAL`,`Invalid flag string: `+e);return _r(e)}function _r(e){if(!e.includes(`r`)&&!e.includes(`w`)&&!e.includes(`a`))throw M(`EINVAL`,`Invalid flag string: `+e);let t=e.includes(`r`)?0:64;return e.includes(`w`)&&(t|=512),e.includes(`a`)&&(t|=Be),e.includes(`+`)?t|=2:e.includes(`r`)||(t|=1),e.includes(`s`)&&(t|=We),e.includes(`x`)&&(t|=128),t}function vr(e){let t=0;return e&1||(t|=4),(e&1||e&2)&&(t|=2),t}const yr=A;function br(e,t){return e.path=t,e}function xr(e,t,n,r){let i=typeof n==`string`?{path:n,dest:r,syscall:t.endsWith(`Sync`)?t.slice(0,-4):t}:n,a=e[t];if(typeof a!=`function`)throw TypeError(`${t} is not a function`);return function(...t){try{return a.call(e,...t)}catch(e){throw k(Object.assign(e,i))}}}function Sr(e,t){return new Proxy(e,{get(e,n){let r=Reflect.get(e,n);return typeof r==`function`?function n(...i){try{let a=r.apply(e,i);return a instanceof Promise?a.catch(e=>{if(`code`in e)throw k(Object.assign(e,t));if(e in O){let r=j(e,t);Error.captureStackTrace(r,n)}throw e}):a}catch(e){throw k(Object.assign(e,t))}}:r}})}const Cr=new Map;wr(`/`,Xn.create({label:`root`}));function wr(e,t){if(e[0]!=`/`&&(e=`/`+e),e=sn.call(this,e),Cr.has(e))throw R(M(`EINVAL`,`Mount point is already in use: `+e));t._mountPoint=e,Cr.set(e,t),de(`Mounted ${t.name} on ${e}`),fe(`${t.name} attributes: ${[...t.attributes].map(([e,t])=>t==null?e:e+`=`+t).join(`, `)}`)}function Tr(e){if(e[0]!=`/`&&(e=`/`+e),e=sn.call(this,e),!Cr.has(e)){z(e+` is already unmounted`);return}Cr.delete(e),ue(`Unmounted `+e)}function Y(e,t,n){let{root:r}=Ie(t),i={path:e,...n};e=H(U(r,e),!0),e=sn.call(t,e);let a=[...Cr].sort((e,t)=>e[0].length>t[0].length?-1:1);for(let[t,n]of a){if(!Or(t,e))continue;e=e.slice(t.length>1?t.length:0),e===``&&(e=`/`);let a=n.attributes.get(`case_fold`);return a===`lower`&&(e=e.toLowerCase()),a===`upper`&&(e=e.toUpperCase()),{fs:Sr(n,i),path:e,mountPoint:t,root:r}}throw ce(new A(O.EIO,`No file system for `+e))}function Er(e,t){let n=e.usage(),r=n.blockSize||4096;return{type:(t?BigInt:Number)(e.type),bsize:(t?BigInt:Number)(r),ffree:(t?BigInt:Number)(n.freeNodes||4294967295),files:(t?BigInt:Number)(n.totalNodes||4294967295),bavail:(t?BigInt:Number)(n.freeSpace/r),bfree:(t?BigInt:Number)(n.freeSpace/r),blocks:(t?BigInt:Number)(n.totalSpace/r)}}function Dr(e){let t=Ie(this);if(!Ne(t.credentials))throw M(`EPERM`,`Can not chroot() as non-root user`);t.root??=`/`;let n=U(t.root,e);for(let e of t.descriptors?.values()??[]){if(!e.path.startsWith(t.root))throw j(`EBUSY`,`chroot`,e.path);e.path=e.path.slice(t.root.length)}if(n.length>t.root.length)throw M(`EPERM`,`Can not chroot() outside of current root`);t.root=n}function Or(e,t){return e===`/`||e===t?!0:(e.endsWith(`/`)||(e+=`/`),t.startsWith(e))}var kr=t({link:()=>Ir,mkdir:()=>Nr,open:()=>jr,readdir:()=>Pr,readlink:()=>Mr,rename:()=>Fr,resolve:()=>Ar,stat:()=>Lr});function Ar(e,t,n,r){t=sn.call(e,t);try{let i=Y(t,e),a=i.fs.statSync(i.path);return!jn(a)||n?{...i,fullPath:t,stats:a}:Ar(e,sn.call(e,W(t),Mr.call(e,t)),n,r)}catch(e){if(k(Object.assign(e,{syscall:`stat`,path:t,...r})),n)throw e}let{base:i,dir:a}=mn(t),o=a==`/`?`/`:Ar(e,a,!1,r).fullPath,s=U(o,i),c=Y(s,e),l;try{l=c.fs.statSync(c.path)}catch(e){if(e.code===`ENOENT`)return{...c,fullPath:t};throw k(Object.assign(e,{syscall:`stat`,path:s,...r}))}return jn(l)?Ar(e,sn.call(e,o,Mr.call(e,s)),!1,r):{...c,fullPath:s,stats:l}}function jr(e,t){e=H(e);let n=Xt(t.mode,420),r=gr(t.flag);e=t.preserveSymlinks?e:Ar(this,e).fullPath;let{fs:i,path:a}=Y(e,this),o;try{o=i.statSync(a)}catch{}if(!o){if(!(r&64))throw j(`ENOENT`,`open`,e);let o=i.statSync(W(a));if(J&&!q(this,o,2))throw j(`EACCES`,`open`,e);if(!An(o))throw j(`ENOTDIR`,`open`,e);if(!t.allowDirectory&&n&16384)throw j(`EISDIR`,`open`,e);if(J&&!q(this,o,2))throw j(`EACCES`,`open`,e);let{euid:s,egid:c}=Ie(this).credentials,l=i.createFileSync(a,{mode:n,uid:o.mode&2048?o.uid:s,gid:o.mode&1024?o.gid:c});return new dr(this,e,i,a,r,l)}if(J&&(!q(this,o,n)||!q(this,o,vr(r))))throw j(`EACCES`,`open`,e);if(r&128)throw j(`EEXIST`,`open`,e);let s=new dr(this,e,i,a,r,o);if(!t.allowDirectory&&o.mode&16384)throw j(`EISDIR`,`open`,e);return r&512&&s.truncateSync(0),s}function Mr(e){e=H(e);let{fs:t,stats:n,path:r}=Ar(this,e,!0);if(!n)throw j(`ENOENT`,`readlink`,e);if(J&&!q(this,n,4))throw j(`EACCES`,`readlink`,e);if(!jn(n))throw j(`EINVAL`,`readlink`,e);let i=n.size,a=new Uint8Array(i);return t.readSync(r,a,0,i),ee(a)}function Nr(e,t={}){e=H(e);let{fs:n,path:r}=Ar(this,e),{euid:i,egid:a}=Ie(this).credentials,{mode:o=511,recursive:s}=t,c=(e,t,r)=>{if(J&&!q(this,r,2))throw j(`EACCES`,`mkdir`,W(e));let s=n.mkdirSync(t,{mode:o,uid:r.mode&2048?r.uid:i,gid:r.mode&1024?r.gid:a});return zi(this,`rename`,e),s};if(!s){c(e,r,n.statSync(W(r)));return}let l=[];for(let t=r,i=e;!n.existsSync(t);t=W(t),i=W(i))l.unshift({resolved:t,original:i});if(!l.length)return;let u=[n.statSync(W(l[0].resolved))];for(let[e,t]of l.entries())u.push(c(t.original,t.resolved,u[e]));return l[0].original}function Pr(e,t={}){e=H(e);let{fs:n,path:r}=Ar(this,e),i=n.statSync(r);if(J&&!q(this,i,4))throw j(`EACCES`,`readdir`,e);if(!An(i))throw j(`ENOTDIR`,`readdir`,e);let a=n.readdirSync(r),o=[],s=e=>{let i;try{i=n.statSync(U(r,e))}catch(e){if(e.code==`ENOENT`)return;throw e}let a=new ur;if(a.ino=i.ino,a.type=cr(i.mode),a.path=e,a.name=dn(e),o.push(a),!An(i)||!t?.recursive)return;let c=n.readdirSync(U(r,e));for(let t of c)s(U(e,t))};for(let e of a)s(e);return o}function Fr(e,t){e=H(e),t=H(t);let n={syscall:`rename`,path:e,dest:t},r=Ar(this,e,!0,n),i=Y(t,this,n);if(r.fs.uuid!==i.fs.uuid)throw j(`EXDEV`,n);if(i.path.startsWith(r.path+`/`))throw j(`EBUSY`,n);if(!r.stats)throw j(`ENOENT`,n);let a=r.fs,o=a.statSync(W(r.path)),s=a.statSync(W(i.path)),c;try{c=a.statSync(i.path)}catch(e){if(e.code!=`ENOENT`)throw e}if(J&&(!q(this,o,4)||!q(this,s,2)))throw j(`EACCES`,n);if(c&&!An(r.stats)&&An(c))throw j(`EISDIR`,n);if(c&&An(r.stats)&&!An(c))throw j(`ENOTDIR`,n);r.fs.renameSync(r.path,i.path),zi(this,`rename`,e),zi(this,`change`,t)}function Ir(e,t){e=H(e),t=H(t);let n={syscall:`link`,path:t,dest:e},{fs:r,path:i}=Y(e,this,n),a=Y(t,this,n);if(r.uuid!==a.fs.uuid)throw j(`EXDEV`,n);let o=r.statSync(i);if(J){if(!q(this,o,4))throw j(`EACCES`,n);let e=r.statSync(W(i));if(!q(this,e,4))throw j(`EACCES`,n);let t=r.statSync(W(a.path));if(!q(this,t,2))throw j(`EACCES`,n)}return r.linkSync(i,a.path)}function Lr(e,t){e=H.call(this,e);let n={syscall:t?`lstat`:`stat`,path:e},r;if(!t)r=Ar(this,e,!1,n).stats;else{let{base:t,dir:i}=mn(e),{fs:a,path:o}=Ar(this,i,!1,n);try{r=a.statSync(t?U(o,t):o)}catch(e){throw k(Object.assign(e,n)),e}}if(!r)throw j(`ENOENT`,n);if(J&&!q(this,r,4))throw j(`EACCES`,n);return r}var Rr=class e{ino;type;_name;get name(){let e=ar.Buffer.from(this._name);return this._encoding==`buffer`?e:e.toString(this._encoding)}_encoding;_parentPath;get parentPath(){return this._parentPath}get path(){return z(`Dirent.path was removed in Node v24, use parentPath instead`),this._parentPath}static from(t,n){let r=new e,{base:i,dir:a}=mn(t.path);return r._parentPath=a||`.`,r._name=i,r.ino=t.ino,r.type=t.type,r._encoding=n,r}isFile(){return this.type===sr.REG}isDirectory(){return this.type===sr.DIR}isBlockDevice(){return this.type===sr.BLK}isCharacterDevice(){return this.type===sr.CHR}isSymbolicLink(){return this.type===sr.LNK}isFIFO(){return this.type===sr.FIFO}isSocket(){return this.type===sr.SOCK}},zr=class{path;context;closed=!1;checkClosed(){if(this.closed)throw M(`EBADF`,`Can not use closed Dir`)}_entries;constructor(e,t){this.path=e,this.context=t}close(e){if(this.closed=!0,!e)return Promise.resolve();e(null)}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??=await Ga.call(this.context,this.path,{withFileTypes:!0}),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(null,t))}readSync(){return this.checkClosed(),this._entries??=di.call(this.context,this.path,{withFileTypes:!0}),this._entries.length?this._entries.shift()??null:null}async next(){let e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}[Symbol.dispose](){this.closed||this.closeSync()}async[Symbol.asyncDispose](){this.closed||await this.close()}},Br=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Vr=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});function Hr(e,t){return Fr.call(this,e,t)}function Ur(e){e=H(e);try{let{fs:t,path:n}=Ar(this,e);return t.existsSync(n)}catch(e){if(e.errno==O.ENOENT)return!1;throw e}}function Wr(e,t){let n=Lr.call(this,e,!1);return t?.bigint?new yn(n):new vn(n)}function Gr(e,t){let n=Lr.call(this,e,!0);return t?.bigint?new yn(n):new vn(n)}function Kr(e,t=0){let n={stack:[],error:void 0,hasError:!1};try{let r=Br(n,jr.call(this,e,{flag:`r+`}),!1);if(t||=0,t<0)throw j(`EINVAL`,`truncate`,e.toString());r.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{Vr(n)}}function qr(e){e=H(e);let{fs:t,path:n}=Y(e,this);try{if(J&&!q(this,t.statSync(n),2))throw j(`EACCES`,`unlink`);t.unlinkSync(n)}catch(t){throw k(Object.assign(t,{path:e}))}zi(this,`rename`,e.toString())}function Jr(e,t,n=0){return fr(jr.call(this,e,{flag:t,mode:n}))}function Yr(e,t,n){return fr(jr.call(this,e,{flag:t,mode:n,preserveSymlinks:!0}))}function Xr(e,t={}){let n={stack:[],error:void 0,hasError:!1};try{let r=Qt(t,null,`r`,420);if(gr(r.flag)&1)throw j(`EBADF`,`read`,e.toString());let i=Br(n,typeof e==`number`?pr(this,e):jr.call(this,e.toString(),{flag:r.flag,mode:420,preserveSymlinks:!1}),!1),{size:a}=i.stat(),o=ar.Buffer.alloc(a);return i.readSync(o,0,a,0),r.encoding?o.toString(r.encoding):o}catch(e){n.error=e,n.hasError=!0}finally{Vr(n)}}function Zr(e,t,n={}){let r={stack:[],error:void 0,hasError:!1};try{let i=Qt(n,`utf8`,`w+`,420),a=gr(i.flag);if(!(a&1||a&2))throw new A(O.EINVAL,`Flag passed to writeFile must allow for writing`);if(typeof t!=`string`&&!i.encoding)throw new A(O.EINVAL,`Encoding not specified`);let o=typeof t==`string`?ar.Buffer.from(t,i.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new A(O.EINVAL,`Data not specified`);Br(r,typeof e==`number`?pr(this,e):jr.call(this,e.toString(),{flag:a,mode:i.mode,preserveSymlinks:!0}),!1).writeSync(o,0,o.byteLength,0),zi(this,`change`,e.toString())}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function Qr(e,t,n={}){let r=Qt(n,`utf8`,`a+`,420),i=gr(r.flag);if(!(i&1024))throw new A(O.EINVAL,`Flag passed to appendFile must allow for appending`);if(typeof t!=`string`&&!r.encoding)throw new A(O.EINVAL,`Encoding not specified`);let a=typeof t==`string`?ar.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=typeof e==`number`?pr(this,e):jr.call(this,H(e),{flag:i,mode:r.mode,preserveSymlinks:!0});o.writeSync(a,0,a.byteLength),typeof o!=`number`&&o.closeSync()}function $r(e,t){let n=pr(this,e).stat();return t?.bigint?new yn(n):new vn(n)}function ei(e){pr(this,e).closeSync(),mr(this,e)}function ti(e,t=0){if(t||=0,t<0)throw new A(O.EINVAL);pr(this,e).truncateSync(t)}function ni(e){pr(this,e).syncSync()}function ri(e){pr(this,e).datasyncSync()}function ii(e,t,n,r,i){let a,o,s,c;if(typeof t==`string`){c=typeof n==`number`?n:null;let e=typeof r==`string`?r:`utf8`;o=0,a=ar.Buffer.from(t,e),s=a.byteLength}else a=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,s=r,c=typeof i==`number`?i:null;let l=pr(this,e);c??=l.position;let u=l.writeSync(a,o,s,c);return zi(this,`change`,l.path),u}function ai(e,t,n,r,i){let a=pr(this,e),o=typeof n==`object`?n.offset:n;if(typeof n==`object`&&(r=n.length,i=n.position),i&&i>2**53-1)throw j(`EINVAL`);return typeof i==`bigint`&&(i=Number(i)),i=Number.isSafeInteger(i)?i:a.position,a.readSync(t,o,r,i)}function oi(e,t,n){pr(this,e).chownSync(t,n)}function si(e,t){let n=Xt(t,-1);if(n<0)throw new A(O.EINVAL,`Invalid mode.`);pr(this,e).chmodSync(n)}function ci(e,t,n){pr(this,e).utimesSync(Zt(t),Zt(n))}function li(e){e=H(e);let{fs:t,path:n}=Ar(this,e),r=xr(t,`statSync`,e)(n);if(!An(r))throw j(`ENOTDIR`,`rmdir`,e);if(J&&!q(this,r,2))throw j(`EACCES`,`rmdir`,e);xr(t,`rmdirSync`,e)(n),zi(this,`rename`,e.toString())}function ui(e,t){t=typeof t==`object`?t:{mode:t};let n=Xt(t?.mode,511);return Nr.call(this,e,{...t,mode:n})}function di(e,t){t=typeof t==`object`?t:{encoding:t},e=H(e);let n=[],r=Pr.call(this,e,t??void 0);for(let e of r)t?.withFileTypes?n.push(Rr.from(e,t.encoding)):t?.encoding==`buffer`?n.push(ar.Buffer.from(e.path)):n.push(e.path);return n}function fi(e,t){return Ir.call(this,e,t)}function pi(e,t,n=`file`){let r={stack:[],error:void 0,hasError:!1};try{if(![`file`,`dir`,`junction`].includes(n))throw TypeError(`Invalid symlink type: `+n);t=H(t);let i=Br(r,jr.call(this,t,{flag:`wx`,mode:420}),!1);i.writeSync(w(H(e,!0))),i.chmodSync(Ze)}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function mi(e,t){let n=ar.Buffer.from(Mr.call(this,e)),r=typeof t==`object`?t?.encoding:t;return r==`buffer`?n:n.toString(r??`utf-8`)}function hi(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{Br(r,jr.call(this,e,{flag:`r+`,mode:0}),!1).chownSync(t,n)}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function gi(e,t,n){let r=Yr.call(this,e,`r+`);oi.call(this,r,t,n),ei.call(this,r)}function _i(e,t){let n=Jr.call(this,e,`r+`);si.call(this,n,t),ei.call(this,n)}function vi(e,t){let n=Yr.call(this,e,`r+`);si.call(this,n,t),ei.call(this,n)}function yi(e,t,n){let r=Jr.call(this,e,`r+`);ci.call(this,r,t,n),ei.call(this,r)}function bi(e,t,n){let r=Yr.call(this,e,`r+`);ci.call(this,r,t,n),ei.call(this,r)}function xi(e,t){let n=typeof t==`string`?t:t?.encoding??`utf8`;e=H(e,!0);let{fullPath:r}=Ar(this,e);if(n==`utf8`||n==`utf-8`)return r;let i=ar.Buffer.from(r,`utf-8`);return n==`buffer`?i:i.toString(n)}function Si(e,t=384){if(J&&!q(this,Wr.call(this,e),t))throw new A(O.EACCES)}function Ci(e,t){e=H(e);let n;try{n=Gr.bind(this)(e)}catch(e){if(e.code!=`ENOENT`||!t?.force)throw e}if(n)switch(n.mode&Ye){case et:if(t?.recursive)for(let n of di.call(this,e))Ci.call(this,U(e,n),t);li.call(this,e);break;case Qe:case Ze:case $e:case tt:qr.call(this,e);break;case nt:case Xe:default:throw j(`ENOSYS`,`rm`,e)}}function wi(e,t){let n=typeof t==`object`?t?.encoding:t||`utf8`,r=tn(e);return ui.call(this,r),n==`buffer`?ar.Buffer.from(r):r}function Ti(e,t){let n=tn(e);ui.call(this,n);let r=()=>Ci(n,{recursive:!0,force:!0});return{path:n,remove:r,[Symbol.dispose]:r}}function Ei(e,t,n){if(e=H(e),t=H(t),n&&n&1&&Ur(t))throw j(`EEXIST`,`copyFile`,t);Zr.call(this,t,Xr(e)),zi(this,`rename`,t.toString())}function Di(e,t,n){let r=pr(this,e),i=0;for(let e of t)i+=r.readSync(e,0,e.byteLength,n+i);return i}function Oi(e,t,n){let r=pr(this,e),i=0;for(let e of t)i+=r.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+i);return i}function ki(e,t){return e=H(e),new zr(e,this)}function Ai(e,t,n){e=H(e),t=H(t);let r=Gr.call(this,e);if(n?.errorOnExist&&Ur.call(this,t))throw j(`EEXIST`,`cp`,t);switch(r.mode&Ye){case et:if(!n?.recursive)throw j(`EISDIR`,`cp`,e);ui.call(this,t,{recursive:!0});for(let r of di.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(U(e,r.name),U(t,r.name))||Ai.call(this,U(e,r.name),U(t,r.name),n);break;case Qe:case Ze:Ei.call(this,e,t);break;case $e:case tt:case nt:case Xe:default:throw j(`ENOSYS`,`cp`,e)}n?.preserveTimestamps&&yi.call(this,t,r.atime,r.mtime)}function ji(e,t){e=H(e);let{fs:n}=Y(e,this);return Er(n,t?.bigint)}function Mi(e,t={}){e=Array.isArray(e)?e:[e];let{cwd:n=`/`,withFileTypes:r=!1,exclude:i=()=>!1}=t,a=e.map(e=>e.replace(/^\/+/g,``)),o=a.some(e=>e.includes(`**`)),s=a.map(e=>{let t=e.search(/[*?[\]{]/);if(t===-1)return e;let n=e.lastIndexOf(`/`,t);return n===-1?``:e.slice(0,n)}),c=a.map($t),l=[];function u(e){let t=di(e,{withFileTypes:r,encoding:`utf8`});for(let n of t){let t=U(e,r?n.name:n);if(typeof i==`function`?i(r?n:t):i.some(e=>hn(e,t)))continue;let a=t.replace(/^\/+/g,``);Wr(t).isDirectory()&&(o||s.some(e=>a===e||e.startsWith(a+`/`)))&&u(t),c.some(e=>e.test(a))&&l.push(r?n:a)}}return u(n instanceof URL?n.pathname:n),l}var Ni=class extends u.default{_context;path;off(e,t,n,r){return super.off(e,t,n,r)}removeListener(e,t,n,r){return super.removeListener(e,t,n,r)}constructor(e,t){super(),this._context=e,this.path=t}setMaxListeners(){throw j(`ENOSYS`,`Watcher.setMaxListeners`)}getMaxListeners(){throw j(`ENOSYS`,`Watcher.getMaxListeners`)}prependListener(){throw j(`ENOSYS`,`Watcher.prependListener`)}prependOnceListener(){throw j(`ENOSYS`,`Watcher.prependOnceListener`)}rawListeners(){throw j(`ENOSYS`,`Watcher.rawListeners`)}ref(){return this}unref(){return this}},Pi=class extends Ni{options;realpath;constructor(e,t,n){let r=Ie(e);super(r,t),this.options=n,this.realpath=U(r.root,t),Li(this.realpath,this)}close(){super.emit(`close`),Ri(this.realpath,this)}[Symbol.dispose](){this.close()}},Fi=class extends Ni{options;intervalId;previous;constructor(e,t,n){super(e,t),this.options=n,this.start()}onInterval(){try{let e=Wr(this.path);bn(this.previous,e)||(this.emit(`change`,e,this.previous),this.previous=e)}catch(e){this.emit(`error`,e)}}start(){let e=this.options.interval||5e3;try{this.previous=Wr(this.path)}catch(e){this.emit(`error`,e);return}this.intervalId=setInterval(this.onInterval.bind(this),e),!this.options.persistent&&typeof this.intervalId==`object`&&this.intervalId.unref()}stop(){this.intervalId&&=(clearInterval(this.intervalId),void 0),this.removeAllListeners()}};const Ii=new Map;function Li(e,t){let n=H(e);Ii.has(n)||Ii.set(n,new Set),Ii.get(n).add(t)}function Ri(e,t){let n=H(e);Ii.has(n)&&(Ii.get(n).delete(t),Ii.get(n).size===0&&Ii.delete(n))}function zi(e,t,n){let r=Ie(e);r&&(n=U(r.root??`/`,n)),n=H(n);for(let e=n;e!=`/`;e=W(e)){let r=Ii.get(e);if(r)for(let i of r)i.emit(`change`,t,un.call(i._context,e,n)||dn(n))}}async function Bi(e,t,n,r){if(t=sn.call(e,t),n){let n=Y(t,e,r),i=await n.fs.stat(n.path).catch(()=>void 0);return{...n,fullPath:t,stats:i}}try{let i=Y(t,e),a=await i.fs.stat(i.path);return jn(a)?await Bi(e,sn.call(e,W(t),await Hi.call(e,t)),n,r):{...i,fullPath:t,stats:a}}catch{}let{base:i,dir:a}=mn(t),o=a==`/`?`/`:(await Bi(e,a,!1,r)).fullPath,s=U(o,i),c=Y(s,e),l=await c.fs.stat(c.path).catch(e=>{if(e.code!=`ENOENT`)throw k(Object.assign(e,{syscall:`stat`,path:s,...r}))});return l?jn(l)?await Bi(e,sn.call(e,o,await Hi.call(e,s)),!1,r):{...c,fullPath:s,stats:l}:{...c,fullPath:t}}async function Vi(e,t,n){t=H(t);let r=Xt(n.mode,420),i=gr(n.flag),a={syscall:`open`,path:t},{fs:o,path:s,stats:c}=await Bi(e,t,n.preserveSymlinks,a);if(!c){if(!(i&64))throw j(`ENOENT`,a);let c=await o.stat(W(s));if(J&&!q(e,c,2))throw j(`EACCES`,`open`,W(t));if(!An(c))throw j(`ENOTDIR`,`open`,W(t));if(!n.allowDirectory&&r&16384)throw j(`EISDIR`,`open`,t);let{euid:l,egid:u}=Ie(e).credentials,d=await o.createFile(s,{mode:r,uid:c.mode&2048?c.uid:l,gid:c.mode&1024?c.gid:u});return new dr(e,t,o,s,i,d)}if(J&&!q(e,c,vr(i)))throw j(`EACCES`,a);if(i&128)throw j(`EEXIST`,a);let l=new dr(e,t,o,s,i,c);if(!n.allowDirectory&&r&16384)throw j(`EISDIR`,`open`,t);return i&512&&await l.truncate(0),l}async function Hi(e){e=H(e);let t={syscall:`readlink`,path:e},{fs:n,stats:r,path:i}=await Bi(this,e,!0,t);if(!r)throw j(`ENOENT`,t);if(J&&!q(this,r,4))throw j(`EACCES`,t);if(!jn(r))throw j(`EINVAL`,t);let a=r.size,o=new Uint8Array(a);return await n.read(i,o,0,a),ee(o)}async function Ui(e,t={}){e=H(e);let{euid:n,egid:r}=Ie(this).credentials,{mode:i=511,recursive:a}=t,{fs:o,path:s}=Y(e,this,{syscall:`mkdir`}),c=async(e,t,a)=>{if(J&&!q(this,a,2))throw j(`EACCES`,`mkdir`,e);let s=await o.mkdir(t,{mode:i,uid:a.mode&2048?a.uid:n,gid:a.mode&1024?a.gid:r});return zi(this,`rename`,e),s};if(!a){await c(e,s,await o.stat(W(s)));return}let l=[],u=e;for(let e=s;!await o.exists(e);e=W(e),u=W(u))l.unshift([u,e]);if(!l.length)return;let d=[await o.stat(W(l[0][1]))];for(let[e,[t,n]]of l.entries())d.push(await c(t,n,d[e]));return l[0][0]}async function Wi(e,t={}){e=H(e);let n={syscall:`readdir`,path:e},{fs:r,path:i,stats:a}=await Bi(this,e,!1,n);if(!a)throw j(`ENOENT`,n);if(J&&!q(this,a,4))throw j(`EACCES`,n);if(!An(a))throw j(`ENOTDIR`,n);let o=await r.readdir(i),s=[],c=async e=>{let n=await r.stat(U(i,e)).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!n)return;let a=new ur;if(a.ino=n.ino,a.type=cr(n.mode),a.path=e,a.name=dn(e),s.push(a),!t.recursive||!An(n))return;let o=await r.readdir(U(i,e));for(let t of o)await c(U(e,t))};return await Promise.all(o.map(c)),s}async function Gi(e,t){e=H(e),t=H(t);let n={syscall:`rename`,path:e,dest:t},r=await Bi(this,e,!0,n),i=Y(t,this,n);if(r.fs.uuid!==i.fs.uuid)throw j(`EXDEV`,n);if(i.path.startsWith(r.path+`/`))throw j(`EBUSY`,n);if(!r.stats)throw j(`ENOENT`,n);let a=r.fs,o=await a.stat(W(r.path)),s=await a.stat(W(i.path)),c=await a.stat(i.path).catch(e=>{if(e.code==`ENOENT`)return null;throw e});if(J&&(!q(this,o,4)||!q(this,s,2)))throw j(`EACCES`,n);if(c&&!An(r.stats)&&An(c))throw j(`EISDIR`,n);if(c&&An(r.stats)&&!An(c))throw j(`ENOTDIR`,n);await r.fs.rename(r.path,i.path),zi(this,`rename`,e),zi(this,`change`,t)}async function Ki(e,t){e=H(e),t=H(t);let n={syscall:`link`,path:t,dest:e},{fs:r,path:i}=Y(e,this,n),a=Y(t,this,n);if(r.uuid!=a.fs.uuid)throw j(`EXDEV`,n);let o=await r.stat(i);if(J){if(!q(this,o,4))throw j(`EACCES`,n);let e=await r.stat(W(i));if(!q(this,e,4))throw j(`EACCES`,n);let t=await r.stat(W(a.path));if(!q(this,t,2))throw j(`EACCES`,n)}return await r.link(i,a.path)}async function qi(e,t){e=H.call(this,e);let n={syscall:t?`lstat`:`stat`,path:e},r;if(!t)r=(await Bi(this,e,!1,n)).stats;else{let{base:t,dir:i}=mn(e),{fs:a,path:o}=await Bi(this,i,!1,n);r=await a.stat(t?U(o,t):o).catch(N(n))}if(!r)throw j(`ENOENT`,n);if(J&&!q(this,r,4))throw j(`EACCES`,n);return r}var Ji=class extends u.default{input;output;terminal;line=``;_cursor=0;get cursor(){return this._cursor}_buffer=``;_closed=!1;_paused=!1;_prompt=``;_history=[];_historyIndex=-1;_currentLine=``;constructor(e,t,n,r=!1){super(),this.input=e,this.output=t,this.terminal=r,this.input.on(`data`,this._onData),this.input.on(`end`,this.close.bind(this)),this.input.on(`close`,this.close.bind(this))}_onData=e=>{if(!(this._paused||this._closed)){this._buffer+=typeof e==`string`?e:e.toString(`utf8`);for(let e=this._buffer.indexOf(`
1
+ import{o as e,r as t,t as n}from"./chunk-CMxvf4Kt.js";import{f as r,p as i}from"./kernel-worker-_IUAJWS9.js";function a(e,t){if(e.byteLength>=t)return e;if(ArrayBuffer.isView(e)){let n=a(e.buffer,t);return new e.constructor(n,e.byteOffset,t)}let n=typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer;if(e.maxByteLength>t)return n?e.grow(t):e.resize(t),e;if(n){let n=new SharedArrayBuffer(t);return new Uint8Array(n).set(new Uint8Array(e)),n}try{return e.transfer(t)}catch{let n=new ArrayBuffer(t);return new Uint8Array(n).set(new Uint8Array(e)),n}}var o=class extends DataView{constructor(e,t,n){let{buffer:r,byteOffset:i,byteLength:a}=new Uint8Array(e,t,n);super(r,i,a)}};for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(o.prototype,e,{value:()=>{throw ReferenceError(`Do not use DataView methods on a BufferView.`)},writable:!1,enumerable:!1,configurable:!1});var s=class{id;_size;options;regions=[];get size(){return this._size}set size(e){if(e>=this._size){this._size=e;return}this._size=e;for(let t=this.regions.length-1;t>=0;t--){let n=this.regions[t];if(n.offset>=e){this.regions.splice(t,1);continue}let r=e-n.offset;n.data.byteLength>r&&(n.data=n.data.subarray(0,r)),n.ranges=n.ranges.filter(t=>t.start<e).map(t=>t.end>e?{start:t.start,end:e}:t)}}constructor(e,t,n,r){this.id=e,this._size=t,this.options=n,n.sparse??=!0,n.sparse||this.regions.push({offset:0,data:new Uint8Array(t),ranges:[]}),r?.set(e,this)}collect(){if(!this.options.sparse)return;let{regionGapThreshold:e=4095}=this.options;for(let t=0;t<this.regions.length-1;){let n=this.regions[t],r=this.regions[t+1];if(r.offset-(n.offset+n.data.byteLength)>e){t++;continue}n.ranges.push(...r.ranges),n.ranges.sort((e,t)=>e.start-t.start),n.ranges=n.ranges.reduce((e,t)=>(!e.length||e.at(-1).end<t.start?e.push(t):e.at(-1).end=Math.max(e.at(-1).end,t.end),e),[]),n.data=a(n.data,r.offset+r.data.byteLength),n.data.set(r.data,r.offset-n.offset),this.regions.splice(t+1,1)}}missing(e,t){let n=[];for(let r of this.regions){if(r.offset>=t)break;for(let i of r.ranges)if(!(i.end<=e)&&(i.start>=t||(i.start>e&&n.push({start:e,end:Math.min(i.start,t)}),i.end>e&&(e=Math.max(e,i.end)),e>=t)))break;if(e>=t)break}return e<t&&n.push({start:e,end:t}),n}cached(e,t){let n=[];for(let r of this.regions){if(r.offset>=t)break;for(let i of r.ranges)if(!(i.end<=e)){if(i.start>=t)break;n.push({start:Math.max(e,i.start),end:Math.min(t,i.end)})}}n.sort((e,t)=>e.start-t.start);let r=[];for(let e of n){let t=r.at(-1);t&&e.start<=t.end?t.end=Math.max(t.end,e.end):r.push(e)}return r}regionAt(e){if(this.regions.length)for(let t of this.regions){if(t.offset>e)break;if(e>=t.offset&&e<t.offset+t.data.byteLength)return t}}add(e,t){let n=t+e.byteLength,r=this.regionAt(t);if(r)return r.data=a(r.data,n),r.data.set(e,t),r.ranges.push({start:t,end:n}),r.ranges.sort((e,t)=>e.start-t.start),this.collect(),this;let i={data:e,offset:t,ranges:[{start:t,end:n}]},o=this.regions.findIndex(e=>e.offset>t);return o==-1?this.regions.push(i):this.regions.splice(o,0,i),this.collect(),this}};const c=new Uint32Array(256);for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=t&1?2197175160^t>>>1:t>>>1;c[e]=t}function l(e){let t=4294967295;for(let n=0;n<e.length;n++)t=t>>>8^c[(t^e[n])&255];return(t^4294967295)>>>0}var u=e(n(((e,t)=>{var n=Object.prototype.hasOwnProperty,r=`~`;function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(r=!1));function a(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(e,t,n,i,o){if(typeof n!=`function`)throw TypeError(`The listener must be a function`);var s=new a(n,i||e,o),c=r?r+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){--e._eventsCount===0?e._events=new i:delete e._events[t]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)n.call(t,i)&&e.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e},c.prototype.listeners=function(e){var t=r?r+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,a=n.length,o=Array(a);i<a;i++)o[i]=n[i].fn;return o},c.prototype.listenerCount=function(e){var t=r?r+e:e,n=this._events[t];return n?n.fn?1:n.length:0},c.prototype.emit=function(e,t,n,i,a,o){var s=r?r+e:e;if(!this._events[s])return!1;var c=this._events[s],l=arguments.length,u,d;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,i),!0;case 5:return c.fn.call(c.context,t,n,i,a),!0;case 6:return c.fn.call(c.context,t,n,i,a,o),!0}for(d=1,u=Array(l-1);d<l;d++)u[d-1]=arguments[d];c.fn.apply(c.context,u)}else{var f=c.length,p;for(d=0;d<f;d++)switch(c[d].once&&this.removeListener(e,c[d].fn,void 0,!0),l){case 1:c[d].fn.call(c[d].context);break;case 2:c[d].fn.call(c[d].context,t);break;case 3:c[d].fn.call(c[d].context,t,n);break;case 4:c[d].fn.call(c[d].context,t,n,i);break;default:if(!u)for(p=1,u=Array(l-1);p<l;p++)u[p-1]=arguments[p];c[d].fn.apply(c[d].context,u)}}return!0},c.prototype.on=function(e,t,n){return o(this,e,t,n,!1)},c.prototype.once=function(e,t,n){return o(this,e,t,n,!0)},c.prototype.removeListener=function(e,t,n,i){var a=r?r+e:e;if(!this._events[a])return this;if(!t)return s(this,a),this;var o=this._events[a];if(o.fn)o.fn===t&&(!i||o.once)&&(!n||o.context===n)&&s(this,a);else{for(var c=0,l=[],u=o.length;c<u;c++)(o[c].fn!==t||i&&!o[c].once||n&&o[c].context!==n)&&l.push(o[c]);l.length?this._events[a]=l.length===1?l[0]:l:s(this,a)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=r?r+e:e,this._events[t]&&s(this,t)):(this._events=new i,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t!==void 0&&(t.exports=c)}))(),1),d=class extends u.default{[Symbol.toStringTag]=`List`;constructor(e){super(),e&&this.push(...e)}data=new Set;toSet(){return new Set(this.data)}toArray(){return Array.from(this.data)}toJSON(){return Array.from(this.data)}toString(){return this.join(`,`)}_set(e,t,n=!1){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not set an element outside the bounds of the list`);let r=Array.from(this.data);r.splice(e,+n,t),this.data=new Set(r),this.emit(`update`)}set(e,t){this._set(e,t,!0)}deleteAt(e){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not delete an element outside the bounds of the list`);this.delete(Array.from(this.data).at(e))}insert(e,t=this.data.size){this._set(t,e,!1)}at(e){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not access an element outside the bounds of the list`);return Array.from(this.data).at(e)}pop(){let e=Array.from(this.data).pop();return e!==void 0&&this.delete(e),e}push(...e){for(let t of e)this.add(t);return this.data.size}join(e){return Array.from(this.data).join(e)}splice(e,t,...n){if(Math.abs(e)>this.data.size)throw ReferenceError(`Can not splice elements outside the bounds of the list`);let r=Array.from(this.data),i=r.splice(e,t,...n);return this.data=new Set(r),this.emit(`update`),i}add(e){return this.data.add(e),this.emit(`update`),this.emit(`add`,e),this}clear(){this.data.clear(),this.emit(`update`)}delete(e){let t=this.data.delete(e);return this.emit(`update`),t}has(e){return this.data.has(e)}get size(){return this.data.size}entries(){return this.toArray().entries()}keys(){return this.toArray().keys()}values(){return this.data.values()}[Symbol.iterator](){return this.data[Symbol.iterator]()}};function f(e,t){let n=Object.entries(e);return Object.fromEntries(n.filter(([e,n])=>t(e,n)))}function p(e,...t){let n={};for(let r of t.flat())n[r]=e[r];return n}function m(e,...t){return f(e,e=>!t.flat().includes(e))}function h(e){try{return JSON.parse(e),!0}catch{return!1}}function g(e){let t=[];for(let n=e;n&&![`Function`,`Object`].includes(n.constructor.name);n=Object.getPrototypeOf(n))t.push(n.constructor.name);return t}function _(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,typeof n==`function`?n.bind(t):n]))}function v(e=Error()){let t=setTimeout(()=>{throw e},5e3);return()=>clearTimeout(t)}function y(e){throw e&&typeof e==`object`&&g(e).includes(`Error`)&&Error?.captureStackTrace(e,y),e}const b=Intl.NumberFormat(`en`,{notation:`compact`});b.format.bind(b);function x(e=0,t=1){return Math.round(Math.random()*(t-e)+e)}function S(e){return e.at(0).toUpperCase()+e.slice(1)}const C=new TextEncoder;function w(e){return C.encode(e)}const T=new TextDecoder;function ee(e){if(!e)return``;if(e.buffer instanceof ArrayBuffer&&!e.buffer.resizable)return T.decode(e);let t=new Uint8Array(e.byteLength);return t.set(e),T.decode(t)}function te(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}function ne(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t}function E(e){let t=Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function D(e){let t=e.replace(/-/g,``),n=new Uint8Array(16);for(let e=0;e<16;e++)n[e]=parseInt(t.slice(e*2,e*2+2),16);return n}var O;(function(e){e[e.EPERM=1]=`EPERM`,e[e.ENOENT=2]=`ENOENT`,e[e.ESRCH=3]=`ESRCH`,e[e.EINTR=4]=`EINTR`,e[e.EIO=5]=`EIO`,e[e.ENXIO=6]=`ENXIO`,e[e.E2BIG=7]=`E2BIG`,e[e.ENOEXEC=8]=`ENOEXEC`,e[e.EBADF=9]=`EBADF`,e[e.ECHILD=10]=`ECHILD`,e[e.EAGAIN=11]=`EAGAIN`,e[e.ENOMEM=12]=`ENOMEM`,e[e.EACCES=13]=`EACCES`,e[e.EFAULT=14]=`EFAULT`,e[e.ENOTBLK=15]=`ENOTBLK`,e[e.EBUSY=16]=`EBUSY`,e[e.EEXIST=17]=`EEXIST`,e[e.EXDEV=18]=`EXDEV`,e[e.ENODEV=19]=`ENODEV`,e[e.ENOTDIR=20]=`ENOTDIR`,e[e.EISDIR=21]=`EISDIR`,e[e.EINVAL=22]=`EINVAL`,e[e.ENFILE=23]=`ENFILE`,e[e.EMFILE=24]=`EMFILE`,e[e.ETXTBSY=26]=`ETXTBSY`,e[e.EFBIG=27]=`EFBIG`,e[e.ENOSPC=28]=`ENOSPC`,e[e.ESPIPE=29]=`ESPIPE`,e[e.EROFS=30]=`EROFS`,e[e.EMLINK=31]=`EMLINK`,e[e.EPIPE=32]=`EPIPE`,e[e.EDOM=33]=`EDOM`,e[e.ERANGE=34]=`ERANGE`,e[e.EDEADLK=35]=`EDEADLK`,e[e.ENAMETOOLONG=36]=`ENAMETOOLONG`,e[e.ENOLCK=37]=`ENOLCK`,e[e.ENOSYS=38]=`ENOSYS`,e[e.ENOTEMPTY=39]=`ENOTEMPTY`,e[e.ELOOP=40]=`ELOOP`,e[e.ENOMSG=42]=`ENOMSG`,e[e.EIDRM=43]=`EIDRM`,e[e.ECHRNG=44]=`ECHRNG`,e[e.EL2NSYNC=45]=`EL2NSYNC`,e[e.EL3HLT=46]=`EL3HLT`,e[e.EL3RST=47]=`EL3RST`,e[e.ENRNG=48]=`ENRNG`,e[e.EUNATCH=49]=`EUNATCH`,e[e.ECSI=50]=`ECSI`,e[e.EL2HLT=51]=`EL2HLT`,e[e.EBADE=52]=`EBADE`,e[e.EBADR=53]=`EBADR`,e[e.EXFULL=54]=`EXFULL`,e[e.ENOANO=55]=`ENOANO`,e[e.EBADRQC=56]=`EBADRQC`,e[e.EBADSLT=57]=`EBADSLT`,e[e.EBFONT=59]=`EBFONT`,e[e.ENOSTR=60]=`ENOSTR`,e[e.ENODATA=61]=`ENODATA`,e[e.ETIME=62]=`ETIME`,e[e.ENOSR=63]=`ENOSR`,e[e.ENONET=64]=`ENONET`,e[e.ENOPKG=65]=`ENOPKG`,e[e.EREMOTE=66]=`EREMOTE`,e[e.ENOLINK=67]=`ENOLINK`,e[e.EADV=68]=`EADV`,e[e.ESRMNT=69]=`ESRMNT`,e[e.ECOMM=70]=`ECOMM`,e[e.EPROTO=71]=`EPROTO`,e[e.EMULTIHOP=72]=`EMULTIHOP`,e[e.EDOTDOT=73]=`EDOTDOT`,e[e.EBADMSG=74]=`EBADMSG`,e[e.EOVERFLOW=75]=`EOVERFLOW`,e[e.ENOTUNIQ=76]=`ENOTUNIQ`,e[e.EBADFD=77]=`EBADFD`,e[e.EREMCHG=78]=`EREMCHG`,e[e.ELIBACC=79]=`ELIBACC`,e[e.ELIBBAD=80]=`ELIBBAD`,e[e.ELIBSCN=81]=`ELIBSCN`,e[e.ELIBMAX=82]=`ELIBMAX`,e[e.ELIBEXEC=83]=`ELIBEXEC`,e[e.EILSEQ=84]=`EILSEQ`,e[e.ERESTART=85]=`ERESTART`,e[e.ESTRPIPE=86]=`ESTRPIPE`,e[e.EUSERS=87]=`EUSERS`,e[e.ENOTSOCK=88]=`ENOTSOCK`,e[e.EDESTADDRREQ=89]=`EDESTADDRREQ`,e[e.EMSGSIZE=90]=`EMSGSIZE`,e[e.EPROTOTYPE=91]=`EPROTOTYPE`,e[e.ENOPROTOOPT=92]=`ENOPROTOOPT`,e[e.EPROTONOSUPPORT=93]=`EPROTONOSUPPORT`,e[e.ESOCKTNOSUPPORT=94]=`ESOCKTNOSUPPORT`,e[e.ENOTSUP=95]=`ENOTSUP`,e[e.EPFNOSUPPORT=96]=`EPFNOSUPPORT`,e[e.EAFNOSUPPORT=97]=`EAFNOSUPPORT`,e[e.EADDRINUSE=98]=`EADDRINUSE`,e[e.EADDRNOTAVAIL=99]=`EADDRNOTAVAIL`,e[e.ENETDOWN=100]=`ENETDOWN`,e[e.ENETUNREACH=101]=`ENETUNREACH`,e[e.ENETRESET=102]=`ENETRESET`,e[e.ECONNABORTED=103]=`ECONNABORTED`,e[e.ECONNRESET=104]=`ECONNRESET`,e[e.ENOBUFS=105]=`ENOBUFS`,e[e.EISCONN=106]=`EISCONN`,e[e.ENOTCONN=107]=`ENOTCONN`,e[e.ESHUTDOWN=108]=`ESHUTDOWN`,e[e.ETOOMANYREFS=109]=`ETOOMANYREFS`,e[e.ETIMEDOUT=110]=`ETIMEDOUT`,e[e.ECONNREFUSED=111]=`ECONNREFUSED`,e[e.EHOSTDOWN=112]=`EHOSTDOWN`,e[e.EHOSTUNREACH=113]=`EHOSTUNREACH`,e[e.EALREADY=114]=`EALREADY`,e[e.EINPROGRESS=115]=`EINPROGRESS`,e[e.ESTALE=116]=`ESTALE`,e[e.EEUCLEAN=117]=`EEUCLEAN`,e[e.ENOTNAM=118]=`ENOTNAM`,e[e.ENAVAIL=119]=`ENAVAIL`,e[e.EISNAM=120]=`EISNAM`,e[e.EREMOTEIO=121]=`EREMOTEIO`,e[e.EDQUOT=122]=`EDQUOT`,e[e.ENOMEDIUM=123]=`ENOMEDIUM`,e[e.EMEDIUMTYPE=124]=`EMEDIUMTYPE`,e[e.ECANCELED=125]=`ECANCELED`,e[e.ENOKEY=126]=`ENOKEY`,e[e.EKEYEXPIRED=127]=`EKEYEXPIRED`,e[e.EKEYREVOKED=128]=`EKEYREVOKED`,e[e.EKEYREJECTED=129]=`EKEYREJECTED`,e[e.EOWNERDEAD=130]=`EOWNERDEAD`,e[e.ENOTRECOVERABLE=131]=`ENOTRECOVERABLE`,e[e.ERFKILL=132]=`ERFKILL`,e[e.EHWPOISON=133]=`EHWPOISON`})(O||={});const re={[O.EPERM]:`Operation not permitted`,[O.ENOENT]:`No such file or directory`,[O.ESRCH]:`No such process`,[O.EINTR]:`Interrupted system call`,[O.EIO]:`Input/output error`,[O.ENXIO]:`No such device or address`,[O.E2BIG]:`Argument list too long`,[O.ENOEXEC]:`Exec format error`,[O.EBADF]:`Bad file descriptor`,[O.ECHILD]:`No child processes`,[O.EAGAIN]:`Resource temporarily unavailable`,[O.ENOMEM]:`Out of memory`,[O.EACCES]:`Permission denied`,[O.EFAULT]:`Bad address`,[O.ENOTBLK]:`Block device required`,[O.EBUSY]:`Resource busy or locked`,[O.EEXIST]:`File exists`,[O.EXDEV]:`Invalid cross-device link`,[O.ENODEV]:`No such device`,[O.ENOTDIR]:`File is not a directory`,[O.EISDIR]:`File is a directory`,[O.EINVAL]:`Invalid argument`,[O.ENFILE]:`Too many open files in system`,[O.EMFILE]:`Too many open files`,[O.ETXTBSY]:`Text file busy`,[O.EFBIG]:`File is too big`,[O.ENOSPC]:`No space left on disk`,[O.ESPIPE]:`Illegal seek`,[O.EROFS]:`Cannot modify a read-only file system`,[O.EMLINK]:`Too many links`,[O.EPIPE]:`Broken pipe`,[O.EDOM]:`Numerical argument out of domain`,[O.ERANGE]:`Numerical result out of range`,[O.EDEADLK]:`Resource deadlock would occur`,[O.ENAMETOOLONG]:`File name too long`,[O.ENOLCK]:`No locks available`,[O.ENOSYS]:`Function not implemented`,[O.ENOTEMPTY]:`Directory is not empty`,[O.ELOOP]:`Too many levels of symbolic links`,[O.ENOMSG]:`No message of desired type`,[O.EIDRM]:`Identifier removed`,[O.ECHRNG]:`Channel number out of range`,[O.EL2NSYNC]:`Level 2 not synchronized`,[O.EL3HLT]:`Level 3 halted`,[O.EL3RST]:`Level 3 reset`,[O.ENRNG]:`Link number out of range`,[O.EUNATCH]:`Protocol driver not attached`,[O.ECSI]:`No CSI structure available`,[O.EL2HLT]:`Level 2 halted`,[O.EBADE]:`Invalid exchange`,[O.EBADR]:`Invalid request descriptor`,[O.EXFULL]:`Exchange full`,[O.ENOANO]:`No anode`,[O.EBADRQC]:`Invalid request code`,[O.EBADSLT]:`Invalid slot`,[O.EBFONT]:`Bad font file format`,[O.ENOSTR]:`Device not a stream`,[O.ENODATA]:`No data available`,[O.ETIME]:`Timer expired`,[O.ENOSR]:`Out of streams resources`,[O.ENONET]:`Machine is not on the network`,[O.ENOPKG]:`Package not installed`,[O.EREMOTE]:`Object is remote`,[O.ENOLINK]:`Link has been severed`,[O.EADV]:`Advertise error`,[O.ESRMNT]:`Srmount error`,[O.ECOMM]:`Communication error on send`,[O.EPROTO]:`Protocol error`,[O.EMULTIHOP]:`Multihop attempted`,[O.EDOTDOT]:`RFS specific error`,[O.EBADMSG]:`Bad message`,[O.EOVERFLOW]:`Value too large for defined data type`,[O.ENOTUNIQ]:`Name not unique on network`,[O.EBADFD]:`File descriptor in bad state`,[O.EREMCHG]:`Remote address changed`,[O.ELIBACC]:`Can not access a needed shared library`,[O.ELIBBAD]:`Accessing a corrupted shared library`,[O.ELIBSCN]:`.lib section in a.out corrupted`,[O.ELIBMAX]:`Attempting to link in too many shared libraries`,[O.ELIBEXEC]:`Cannot exec a shared library directly`,[O.EILSEQ]:`Invalid or incomplete multibyte or wide character`,[O.ERESTART]:`Interrupted system call should be restarted`,[O.ESTRPIPE]:`Streams pipe error`,[O.EUSERS]:`Too many users`,[O.ENOTSOCK]:`Socket operation on non-socket`,[O.EDESTADDRREQ]:`Destination address required`,[O.EMSGSIZE]:`Message too long`,[O.EPROTOTYPE]:`Protocol wrong type for socket`,[O.ENOPROTOOPT]:`Protocol not available`,[O.EPROTONOSUPPORT]:`Protocol not supported`,[O.ESOCKTNOSUPPORT]:`Socket type not supported`,[O.ENOTSUP]:`Operation is not supported`,[O.EPFNOSUPPORT]:`Protocol family not supported`,[O.EAFNOSUPPORT]:`Address family not supported by protocol`,[O.EADDRINUSE]:`Address already in use`,[O.EADDRNOTAVAIL]:`Cannot assign requested address`,[O.ENETDOWN]:`Network is down`,[O.ENETUNREACH]:`Network is unreachable`,[O.ENETRESET]:`Network dropped connection on reset`,[O.ECONNABORTED]:`Software caused connection abort`,[O.ECONNRESET]:`Connection reset by peer`,[O.ENOBUFS]:`No buffer space available`,[O.EISCONN]:`Transport endpoint is already connected`,[O.ENOTCONN]:`Transport endpoint is not connected`,[O.ESHUTDOWN]:`Cannot send after transport endpoint shutdown`,[O.ETOOMANYREFS]:`Too many references: cannot splice`,[O.ETIMEDOUT]:`Connection timed out`,[O.ECONNREFUSED]:`Connection refused`,[O.EHOSTDOWN]:`Host is down`,[O.EHOSTUNREACH]:`No route to host`,[O.EALREADY]:`Operation already in progress`,[O.EINPROGRESS]:`Operation now in progress`,[O.ESTALE]:`Stale file handle`,[O.EEUCLEAN]:`Structure needs cleaning`,[O.ENOTNAM]:`Not a XENIX named type file`,[O.ENAVAIL]:`No XENIX semaphores available`,[O.EISNAM]:`Is a named type file`,[O.EREMOTEIO]:`Remote I/O error`,[O.EDQUOT]:`Disk quota exceeded`,[O.ENOMEDIUM]:`No medium found`,[O.EMEDIUMTYPE]:`Wrong medium type`,[O.ECANCELED]:`Operation canceled`,[O.ENOKEY]:`Required key not available`,[O.EKEYEXPIRED]:`Key has expired`,[O.EKEYREVOKED]:`Key has been revoked`,[O.EKEYREJECTED]:`Key was rejected by service`,[O.EOWNERDEAD]:`Owner died`,[O.ENOTRECOVERABLE]:`State not recoverable`,[O.ERFKILL]:`Operation not possible due to RF-kill`,[O.EHWPOISON]:`Memory page has hardware error`};function k(e){let t=`${e.code}: ${re[e.errno]}, ${e.syscall}`;return e.path&&(t+=` '${e.path}'`),e.dest&&(t+=` -> '${e.dest}'`),e.message&&!e.message.startsWith(re[e.errno])&&(t+=` (${e.message})`),e.message=t,e}var A=class e extends Error{errno;code;path;dest;syscall;constructor(e,t,n={}){let r=O[e];super(t||``),this.errno=e,this.code=r,Object.assign(this,m(n,`message`)),t||k(this),Error.captureStackTrace?.(this,this.constructor)}toString(){return this.message}toJSON(){let e={errno:this.errno,code:this.code,stack:this.stack,message:this.message};return this.path&&(e.path=this.path),this.dest&&(e.dest=this.dest),this.syscall&&(e.syscall=this.syscall),e}static fromJSON(t){let n=t.syscall?new e(t.errno,!1,t):new e(t.errno,t.message);return n.stack=t.stack,n}};function j(e,t,n,r){typeof t==`string`&&(t={syscall:t,path:n,dest:r});let i=new A(O[e],!1,t??{});return Error.captureStackTrace?.(i,j),i}function M(e,t){let n=new A(O[e],t??re[O[e]]);return Error.captureStackTrace?.(n,M),n}function N(e,t,n){let r=typeof e==`string`?{syscall:e}:e;return t&&(r.path=t),n&&(r.dest=n),function(e){throw Object.assign(e,r),k(e),e}}var P=t({Level:()=>F,alert:()=>ce,configure:()=>Ee,crit:()=>le,debug:()=>fe,deprecated:()=>pe,emerg:()=>se,entries:()=>ae,err:()=>R,fancy:()=>ve,format:()=>be,info:()=>de,isEnabled:()=>Te,levelOf:()=>I,levels:()=>ie,log:()=>L,notice:()=>ue,warn:()=>z}),F;(function(e){e[e.EMERG=0]=`EMERG`,e[e.ALERT=1]=`ALERT`,e[e.CRIT=2]=`CRIT`,e[e.ERR=3]=`ERR`,e[e.WARN=4]=`WARN`,e[e.NOTICE=5]=`NOTICE`,e[e.INFO=6]=`INFO`,e[e.DEBUG=7]=`DEBUG`})(F||={});const ie=[`emergency`,`alert`,`critical`,`error`,`warning`,`notice`,`info`,`debug`];function I(e){return ie.indexOf(e)}const ae=new d;function L(e,t){if(!Te)return;let n={level:e,message:t,timestamp:new Date,elapsedMs:performance.now()};ae.add(n),Se(n)}function oe(e){return function(t){return L(e,t.toString()),t}}const se=oe(F.EMERG),ce=oe(F.ALERT),le=oe(F.CRIT),R=oe(F.ERR),z=oe(F.WARN),ue=oe(F.NOTICE),de=oe(F.INFO),fe=oe(F.DEBUG);function pe(e){L(F.WARN,e+` is deprecated and should not be used.`)}function me(e,t){return`\x1b[${t}m${e}\x1b[0m`}function he(e){return`[`+(e.elapsedMs/1e3).toFixed(3).padStart(10)+`] `}const ge={ansi:{[F.EMERG]:`1;4;37;41`,[F.ALERT]:`1;37;41`,[F.CRIT]:`1;35`,[F.ERR]:`1;31`,[F.WARN]:`1;33`,[F.NOTICE]:`1;36`,[F.INFO]:`1;37`,[F.DEBUG]:`0;2;37`},css:{[F.EMERG]:`font-weight: bold; text-decoration: underline; color: white; background-color: red;`,[F.ALERT]:`font-weight: bold; color: white; background-color: red;`,[F.CRIT]:`font-weight: bold; color: magenta;`,[F.ERR]:`font-weight: bold; color: red;`,[F.WARN]:`font-weight: bold; color: yellow;`,[F.NOTICE]:`font-weight: bold; color: cyan;`,[F.INFO]:`font-weight: bold; color: white;`,[F.DEBUG]:`opacity: 0.8; color: white;`}},_e={ansi:{[F.EMERG]:`1;31`,[F.ALERT]:`1;31`,[F.CRIT]:`1;31`,[F.ERR]:`31`,[F.WARN]:`33`,[F.NOTICE]:`1;37`,[F.INFO]:`37`,[F.DEBUG]:`2;37`},css:{[F.EMERG]:`font-weight: bold; color: red;`,[F.ALERT]:`font-weight: bold; color: red;`,[F.CRIT]:`font-weight: bold; color: red;`,[F.ERR]:`color: red;`,[F.WARN]:`color: yellow;`,[F.NOTICE]:`font-weight: bold; color: white;`,[F.INFO]:`color: white;`,[F.DEBUG]:`opacity: 0.8; color: white;`}};function ve({style:e,colorize:t}){return function*(n){e==`css`&&(yield t==`level`?`%c%s %c%s`:`%c%s %c%s%s %c%s`),yield*e==`ansi`?[me(he(n),`2;37`)]:[`opacity: 0.8; color: white;`,he(n)];let r=e==`ansi`?[me(ie[n.level].toUpperCase(),ge.ansi[n.level])]:[ge.css[n.level],ie[n.level].toUpperCase()];if(t==`level`){yield*r,yield n.message;return}n.level<F.CRIT&&(yield*r),e==`ansi`?yield me(n.message,_e.ansi[n.level]):yield*[_e.css[n.level],n.message]}}let ye=e=>[he(e),e.message];function be(e){let t=ye(e);return typeof t==`string`?[t]:Array.from(t)}let xe=console.error;function Se(e){e.level>Ce||xe(...be(e))}let Ce=F.ALERT,we=!1,Te=!0;function Ee(e){if(ye=e.format??ye,xe=e.output??xe,Ce=typeof e.level==`string`?I(e.level):e.level??Ce,Te=e.enabled??Te,we=e.stack??we,e.dumpBacklog)for(let e of ae)Se(e)}function De(e){return typeof e==`object`&&!!e&&`create`in e&&typeof e.create==`function`}function Oe(e,t){return Object.defineProperty(t,"prototype",{value:void 0}),e&&Object.defineProperty(t,"name",{value:e}),t}function ke(e){return!(e&&e.constructor===Function)||e.prototype===void 0?!1:Function.prototype===Object.getPrototypeOf(e)?Object.getOwnPropertyNames(e.prototype).length>1:!0}function Ae(e,t){if(typeof t!=`object`||!t)throw R(M(`EINVAL`,`Invalid options`));for(let[n,r]of Object.entries(e.options)){let e=t?.[n];if(e==null){if(!r.required){fe(`Using default for option: `+n);continue}throw R(M(`EINVAL`,`Missing required option: `+n))}let i=(t,n=e)=>typeof t==`function`?ke(t)?e instanceof t:t(e):typeof e===t||e?.constructor?.name===t;if(Array.isArray(r.type)?r.type.some(e=>i(e)):i(r.type))continue;let a=typeof e==`object`&&`constructor`in e?e.constructor.name:typeof e,o=e=>typeof e==`function`?e.name==`type`?e.toString():e.name:e;throw R(M(`EINVAL`,`Incorrect type for "${n}": ${a} (expected ${Array.isArray(r.type)?`one of ${r.type.map(o).join(`, `)}`:o(r.type)})`))}}function je(e){return typeof e==`object`&&!!e&&`backend`in e&&De(e.backend)}function Me(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}function Ne(e){return e?!e.uid||!e.gid||!e.euid||!e.egid||e.groups.some(e=>!e):!1}const Pe=Symbol(`ZenFSContext`),Fe={[Pe]:!0,id:0,root:`/`,pwd:`/`,credentials:Me({uid:0,gid:0}),descriptors:new Map,parent:null,children:[]};function Ie(e){return typeof e==`object`&&e&&Pe in e?e:Fe}let Le=1;function Re(e,t={}){let{root:n=e.root,pwd:r=e.pwd,credentials:i=structuredClone(e.credentials)}=t,a={[Pe]:!0,id:Le++,root:n,pwd:r,credentials:Me(i),descriptors:new Map,parent:e,children:[]};return Object.defineProperties(a,{id:{configurable:!1,writable:!1},credentials:{configurable:!1,writable:!1},descriptors:{configurable:!1,writable:!1},parent:{configurable:!1,writable:!1},children:{configurable:!1,writable:!1}}),a}var ze=t({COPYFILE_EXCL:()=>1,COPYFILE_FICLONE:()=>2,COPYFILE_FICLONE_FORCE:()=>4,F_OK:()=>0,O_APPEND:()=>Be,O_CREAT:()=>64,O_DIRECT:()=>qe,O_DIRECTORY:()=>Ve,O_DSYNC:()=>Ge,O_EXCL:()=>128,O_NOATIME:()=>He,O_NOCTTY:()=>256,O_NOFOLLOW:()=>Ue,O_NONBLOCK:()=>Je,O_RDONLY:()=>0,O_RDWR:()=>2,O_SYMLINK:()=>Ke,O_SYNC:()=>We,O_TRUNC:()=>512,O_WRONLY:()=>1,R_OK:()=>4,S_IFBLK:()=>$e,S_IFCHR:()=>tt,S_IFDIR:()=>et,S_IFIFO:()=>nt,S_IFLNK:()=>Ze,S_IFMT:()=>Ye,S_IFREG:()=>Qe,S_IFSOCK:()=>Xe,S_IRGRP:()=>32,S_IROTH:()=>4,S_IRUSR:()=>256,S_IRWXG:()=>56,S_IRWXO:()=>7,S_IRWXU:()=>448,S_ISGID:()=>it,S_ISUID:()=>rt,S_ISVTX:()=>512,S_IWGRP:()=>16,S_IWOTH:()=>2,S_IWUSR:()=>128,S_IXGRP:()=>8,S_IXOTH:()=>1,S_IXUSR:()=>64,UV_FS_O_FILEMAP:()=>0,W_OK:()=>2,X_OK:()=>1,size_max:()=>at});const Be=1024,Ve=65536,He=262144,Ue=131072,We=1052672,Ge=4096,Ke=32768,qe=16384,Je=2048,Ye=61440,Xe=49152,Ze=40960,Qe=32768,$e=24576,et=16384,tt=8192,nt=4096,rt=2048,it=1024,at=4294967295;function ot(e){return`__isArrayType`in e&&e.__isArrayType===!0}function st(e){return typeof e!=`object`&&typeof e!=`function`||e==null?!1:ot(e)?st(e.type):`name`in e&&`size`in e&&`get`in e&&`set`in e&&typeof e.name==`string`&&typeof e.size==`number`&&typeof e.get==`function`&&typeof e.set==`function`&&ct.has(e.name)&&ct.get(e.name)?.name===e.name}const ct=new Map;function lt(e){if(ct.has(e.name))throw ReferenceError(`Type is already registered: ${e.name}`);ct.set(e.name,e)}const ut=Symbol(`DataView`);function dt(e){return e[ut]??=new DataView(e),e[ut]}const ft={name:`int8`,size:1,array:Int8Array,get:(e,t)=>dt(e).getInt8(t),set:(e,t,n)=>dt(e).setInt8(t,n)},pt={name:`uint8`,size:1,array:Uint8Array,get:(e,t)=>dt(e).getUint8(t),set:(e,t,n)=>dt(e).setUint8(t,n)},mt={int8:ft,uint8:pt,int16:{name:`int16`,size:2,array:Int16Array,get:(e,t)=>dt(e).getInt16(t,!0),set:(e,t,n)=>dt(e).setInt16(t,n,!0)},uint16:{name:`uint16`,size:2,array:Uint16Array,get:(e,t)=>dt(e).getUint16(t,!0),set:(e,t,n)=>dt(e).setUint16(t,n,!0)},int32:{name:`int32`,size:4,array:Int32Array,get:(e,t)=>dt(e).getInt32(t,!0),set:(e,t,n)=>dt(e).setInt32(t,n,!0)},uint32:{name:`uint32`,size:4,array:Uint32Array,get:(e,t)=>dt(e).getUint32(t,!0),set:(e,t,n)=>dt(e).setUint32(t,n,!0)},int64:{name:`int64`,size:8,array:BigInt64Array,get:(e,t)=>dt(e).getBigInt64(t,!0),set:(e,t,n)=>dt(e).setBigInt64(t,n,!0)},uint64:{name:`uint64`,size:8,array:BigUint64Array,get:(e,t)=>dt(e).getBigUint64(t,!0),set:(e,t,n)=>dt(e).setBigUint64(t,n,!0)},float32:{name:`float32`,size:4,array:Float32Array,get:(e,t)=>dt(e).getFloat32(t,!0),set:(e,t,n)=>dt(e).setFloat32(t,n,!0)},float64:{name:`float64`,size:8,array:Float64Array,get:(e,t)=>dt(e).getFloat64(t,!0),set:(e,t,n)=>dt(e).setFloat64(t,n,!0)}},ht=Object.keys(mt);for(let e of Object.values(mt))lt(e);const gt={...mt,...Object.fromEntries(ht.map(e=>[S(e),mt[e]])),char:pt},_t=Object.keys(gt);function vt(e){return _t.includes(e.toString())}function yt(e){if(!vt(e))throw M(`EINVAL`,`Not a valid primitive type: `+e)}function bt(e){return e==`char`?`uint8`:e.toLowerCase()}function xt(e){return(typeof e==`object`||typeof e==`function`)&&e!==null&&`toInit`in e&&typeof e.toInit==`function`}function St(e){return xt(e)?e.toInit():st(e)?{type:e}:e}function Ct(e,t,n={}){if(!e)throw M(`EINVAL`,`Invalid name for struct field`);typeof e==`symbol`&&console.warn(`Symbol used for struct field name will be coerced to string: `+e.toString());let r=e.toString(),i=Object.assign(St(t),n);if(!st(i.type))throw M(`EINVAL`,`Invalid type for struct field "${r}"`);let a=i.countedBy?` counted_by(${typeof i.countedBy==`string`?i.countedBy:`<function>`})`:``;return{name:r,offset:0,type:i.type,countedBy:i.countedBy,alignment:i.align??i.type.size,decl:i.type instanceof zt?`${i.typeName??i.type.type.name} ${r}[${i.type.length}]${a}`:`${i.typeName??i.type.name} ${r}`,littleEndian:!i.bigEndian}}function wt(e,t){if(!(e instanceof Error)||e.message.toLowerCase()!==`offset is outside the bounds of the dataview`)throw e;let n=M(`EFAULT`,`Segmentation fault (at 0x${t.toString(16)})`);throw Error.captureStackTrace(n,wt),n}function Tt(e,t){return t.type instanceof zt&&t.type.length==0&&!!t.countedBy?.length&&!!e.constructor.isDynamic}function Et(e,t){let n=typeof t.countedBy==`function`?t.countedBy(e):e[t.countedBy];if(typeof n==`bigint`){if(n>BigInt(2**53-1))throw M(`EOVERFLOW`,`countedBy field value exceeds max safe integer`);n=Number(n)}if(typeof n!=`number`)throw M(`EINVAL`,`countedBy field value is not a number`);return n}function Dt(e,t){let n=t.type.type.size*Et(e,t);if(Nt(t.type.type)&&t.type.type.isDynamic)for(let r of e[t.name])n+=Pt(r);return n}const Ot=Symbol(`kOffsets`);function kt(e,t,n){let{offset:r,name:i}=t;e[Ot]||=Object.create(null);let a=e[Ot];if(a[i]!==void 0){if(n)return a[i];delete a[i]}let{fields:o}=e.constructor,s=o.indexOf(t);for(let t of o.slice(0,s)){Tt(e,t)&&(r+=Dt(e,t));let n=e[t.name];Mt(n)&&n.constructor.isDynamic&&(r+=Pt(n))}if(n)a[i]=r;else for(let e of o.slice(s))a[e.name]!==void 0&&delete a[e.name];return r}function At(e,t,n,r){typeof n==`string`&&(n=n.charCodeAt(0));let i=e.byteOffset+kt(e,t,!1)+(r??0)*t.type.size;try{t.type.set(e.buffer,i,n);return}catch(e){wt(e,i)}}function jt(e,t){let n=t.type;if(Tt(e,t)){let r=t.type.type;n=new zt(r,Et(e,t))}let r=e.byteOffset+kt(e,t,!0);try{return n.get(e.buffer,r)}catch(e){wt(e,r)}}function Mt(e){return typeof e==`object`&&!!e&&`constructor`in e&&Nt(e.constructor)}function Nt(e){return typeof e==`function`&&`prototype`in e&&`fields`in e&&typeof e.fields==`object`&&st(e)}function Pt(e){let t=0;for(let n of e.constructor.fields){let r=e[n.name];Tt(e,n)&&(t+=Dt(e,n)),Mt(r)&&r.constructor.isDynamic&&(t+=Pt(r))}return t}function Ft(e){if(st(e))return e.size;if(e==null)return 0;if(typeof e==`object`&&st(e.constructor))return e.constructor.size;if(Array.isArray(e)){let t=0;for(let n=0;n<e.length;n++)t+=Ft(e[n]);return t}if(typeof e==`string`)return yt(e),mt[bt(e)].size;throw TypeError(`Unable to resolve size of \`${e.toString()}\``)}function B(e){let t=Ft(e);return Mt(e)&&e.constructor.isDynamic?t+Pt(e):t}function It(e,t){let n;if(Nt(e)){if(e.isDynamic)throw M(`EINVAL`,`Cannot get offset of field in dynamic struct from the constructor`);n=e}else if(Mt(e))n=e.constructor;else throw M(`EINVAL`,`Type is not a struct or struct constructor`);let{fields:r}=n,i=r.find(e=>e.name===t);if(!i)throw M(`EINVAL`,`Struct does not have field: `+t);return Nt(e)?i.offset:kt(e,i,!0)}function Lt(e,t){class n extends DataView{length;type=e;*[Symbol.iterator](){for(let e=0;e<this.length;e++)yield this[e]}_offsets=[0];offsetOf(t){if(!e.isDynamic)return t*e.size;if(t<this._offsets.length)return this._offsets[t];for(let n=this._offsets.length;n<=t;n++)this._offsets[n]=this._offsets[n-1]+B(e.get(this.buffer,this.byteOffset+this._offsets[n-1]));return this._offsets[t]}constructor(n,r,i){let a=typeof n==`object`?n:new ArrayBuffer((n??0)*e.size);super(a,r,i),this.length=typeof n==`number`?n:e.isDynamic?t??y(`Unknown length of StructArray<${e.name}>`):Math.floor(this.byteLength/e.size);let o=e=>this.byteOffset+this.offsetOf(e);return new Proxy(this,{get(t,n){if(n in t)return t[n];let r=parseInt(n.toString());if(Number.isSafeInteger(r))return e.get(t.buffer,o(r))},set(t,n,r){let i=parseInt(n.toString());return Number.isSafeInteger(i)?(e.set(t.buffer,o(i),r),!0):!1}})}}for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(n.prototype,e,{enumerable:!1,configurable:!1,writable:!1,value:void 0});return n}function Rt(e){return typeof e==`function`&&`prototype`in e&&`fields`in e&&typeof e.fields==`object`&&st(e)}var zt=class{type;length;name;size;__structArray;__arrayType;__isArrayType=!0;constructor(e,t){this.type=e,this.length=t,this.name=`${e.name}[${t}]`,this.size=e.size*t,this.array=Lt(this),this.__structArray=Lt(e,t),this.__arrayType=e.array?e.array:this.__structArray}get=(e,t)=>vt(this.type.name)&&t%this.type.size!==0?new this.__structArray(e,t,this.size):new this.__arrayType(e,t,this.size);set=(e,t,n)=>{if(this.length)for(let r=0;r<this.length;r++)this.type.set(e,t+r*this.type.size,n[r]);else{let r=t;for(let t=0;t<n.length;t++)this.type.set(e,r,n[t]),r+=Rt(this.type)&&this.type.isDynamic?B(n[t]):this.type.size}};array};Symbol.metadata??=Symbol.for(`Symbol.metadata`);function Bt(e){e.metadata??={};let t=e.metadata.structInit??{};return e.metadata.structInit={fields:[...t.fields??[]]},e.metadata.structInit}function Vt(...e){let t=e.reduce((e,t)=>({...e,...t}),{});return typeof this==`object`&&Object.assign(t,this),function(e,n){let r=Bt(n),i=1,a=[],o=0,s=e=>{o=Math.ceil(o/e)*e};for(let e of r.fields)t.isPacked||s(e.alignment),t.isUnion?o=Math.max(o,e.type.size):(e.offset=o,o+=e.type.size),a.push(e),i=Math.max(i,e.alignment);t.alignment??=i,t.isPacked||s(t.alignment);class c extends e{static name=e.name;static size=o;static alignment=t.alignment;static isUnion=!!t.isUnion;static isDynamic=!!t.isDynamic;static fields=a;static get(e,t){return new this(e,t)}static set(e,t,n){let r=new Uint8Array(n.buffer,n.byteOffset,this.size),i=new Uint8Array(e,t,this.size);if(!(n.buffer===e&&n.byteOffset===t))for(let e=0;e<this.size;e++)i[e]=r[e]}static[Symbol.toStringTag]=`[struct ${e.name}]`;constructor(...e){e.length||(e=[new ArrayBuffer(o),0,o]),super(...e);for(let e of Object.values(a))Object.defineProperty(this,e.name,{enumerable:!0,configurable:!0,get(){return jt(this,e)},set(t){At(this,e,t)}})}}return n.addInitializer(function(){Object.defineProperty(c,"name",{value:e.name}),lt(c)}),c}}Vt.packed=Vt.bind({isPacked:!0}),Vt.align=function(e){return Vt.bind({alignment:e})};function Ht(e,t={}){return function(n,r){if(r.kind!=`accessor`)throw M(`EINVAL`,`Field must be an accessor`);let i=Bt(r),a=Ct(r.name,e,t);return i.fields.push(a),{get(){return jt(this,a)},set(e){At(this,a,e)}}}}function Ut(e){let t=mt[bt(e)];function n(n,r){return typeof n==`number`?Ht(new zt(t,n),{typeName:e,...r}):Ht(t,{typeName:e})(n,r&&`name`in r?r:y(M(`EINVAL`,`Invalid decorator context object`)))}return n}const V=Object.fromEntries(_t.map(e=>[e,Ut(e)]));function Wt(e){return e}Wt.typed=function(e){return e};var Gt=class e{type;init;constructor(t,n){this.type=t,this.init=n;let r=(r=>new e(new zt(t,r),n));return Object.setPrototypeOf(r,new.target.prototype),Object.assign(r,{type:t,init:n}),r}align(t){return new e(this.type,{...this.init,align:t})}countedBy(t){return new e(this.type,{...this.init,countedBy:t})}bigEndian(){return new e(this.type,{...this.init,bigEndian:!0})}toInit(){return{type:this.type,...this.init}}$type(){return new e(this.type,this.init)}};function Kt(e,t=0){return new Gt(new zt(e,t),{})}function qt(e,t,...n){let r=n.reduce((e,t)=>({...e,...t}),{});typeof this==`object`&&Object.assign(r,this);let i=1,a=0,o=e=>{a=Math.ceil(a/e)*e},s=[];for(let[e,n]of Object.entries(t)){if(typeof e==`number`)throw TypeError(`Field names can not be numbers`);let t=Ct(e,n);r.isPacked||o(t.alignment),r.isUnion?a=Math.max(a,t.type.size):(t.offset=a,a+=t.type.size),s.push(t),i=Math.max(i,t.alignment)}r.alignment??=i,r.isPacked||o(r.alignment);class c extends DataView{static name=e;static size=a;static alignment=r.alignment;static isUnion=!!r.isUnion;static isDynamic=!!r.isDynamic;static fields=s;static get(e,t){return new this(e,t)}static set(e,t,n){let r=new Uint8Array(n.buffer,n.byteOffset,this.size),i=new Uint8Array(e,t,this.size);if(!(n.buffer===e&&n.byteOffset===t))for(let e=0;e<this.size;e++)i[e]=r[e]}static[Symbol.toStringTag]=`[struct ${e}]`;constructor(e=new ArrayBuffer(a),t,n){super(e,t,n??e.byteLength-(t??0));for(let e of Object.values(this.constructor.fields??s))Object.defineProperty(this,e.name,{enumerable:!0,configurable:!0,get(){return jt(this,e)},set(t){At(this,e,t)}})}}for(let e of Object.getOwnPropertyNames(DataView.prototype))!e.startsWith(`get`)&&!e.startsWith(`set`)||Object.defineProperty(c.prototype,e,{enumerable:!1,configurable:!1,writable:!1,value:void 0});return lt(c),c}qt.extend=function(e,t,n,...r){let i=r.reduce((e,t)=>({...e,...t}),{});typeof this==`object`&&Object.assign(i,this);let a=1,o=e.size,s=e=>{o=Math.ceil(o/e)*e},c=e.fields;for(let[e,t]of Object.entries(n)){if(typeof e==`number`)throw TypeError(`Field names can not be numbers`);let n=Ct(e,t);i.isPacked||s(n.alignment),i.isUnion?o=Math.max(o,n.type.size):(n.offset=o,o+=n.type.size),c.push(n),a=Math.max(a,n.alignment)}i.alignment??=a,i.isPacked||s(i.alignment);class l extends e{static name=t;static size=o;static alignment=i.alignment;static isUnion=!!i.isUnion;static isDynamic=!!i.isDynamic;static fields=c;static[Symbol.toStringTag]=`[struct ${t}]`}return lt(l),l},qt.packed=qt.bind({isPacked:!0}),qt.align=function(e){return qt.bind({alignment:e})},qt.dynamic=qt.bind({isDynamic:!0}),Object.fromEntries(Object.entries(gt).map(([e,t])=>[e,new Gt(t,{typeName:e})]));function Jt(e){return JSON.parse(ee(e),(e,t)=>e==``?t:typeof t==`string`?BigInt(t).toString(16).slice(0,Math.min(t.length,8)):t)}function Yt(e){return w(JSON.stringify(e))}function Xt(e,t){if(typeof e==`number`)return e;if(typeof e==`string`){let t=parseInt(e,8);if(!isNaN(t))return t}if(typeof t==`number`)return t;throw M(`EINVAL`,`Invalid mode: `+e?.toString())}function Zt(e){if(e instanceof Date)return e.getTime();try{return Number(e)}catch{throw M(`EINVAL`,`Invalid time.`)}}function H(e,t=!1){if(e instanceof URL){if(e.protocol!=`file:`)throw M(`EINVAL`,`URLs must use the file: protocol`);e=e.pathname}if(e=e.toString(),e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`\0`))throw M(`EINVAL`,`Path can not contain null character`);if(e.length==0)throw M(`EINVAL`,`Path can not be empty`);return e=e.replaceAll(/[/\\]+/g,`/`),t?e:sn.call(this,e)}function Qt(e,t=`utf8`,n,r=0){return typeof e!=`object`||!e?{encoding:typeof e==`string`?e:t??null,flag:n,mode:r}:{encoding:typeof e?.encoding==`string`?e.encoding:t??null,flag:typeof e?.flag==`string`?e.flag:n,mode:Xt(`mode`in e?e?.mode:null,r)}}function $t(e){let t=`\0GS\0`;return e=e.replace(/\*\*/g,t).replace(/\*/g,`\0S\0`).replace(/[.+^$(){}|[\]\\]/g,`\\$&`).replace(/\?/g,`.`).replaceAll(`/\0GS\0/`,`(?:/.*)?/`).replaceAll(t,`.*`).replaceAll(`\0S\0`,`[^/]*`),RegExp(`^${e}$`)}async function en(e){let t=Promise.withResolvers();setTimeout(()=>t.reject(M(`ETIMEDOUT`)),500),e.on(`online`,t.resolve),await t.promise}function tn(e){return`/tmp/${H(e,!0)}${Date.now()}-${Math.random().toString(36).slice(2)}`}var nn=t({basename:()=>dn,dirname:()=>W,extname:()=>fn,format:()=>pn,formatExt:()=>on,isAbsolute:()=>ln,join:()=>U,matchesGlob:()=>hn,normalize:()=>cn,normalizeString:()=>an,parse:()=>mn,relative:()=>un,resolve:()=>sn,sep:()=>`/`});function rn(e,t){if(typeof e!=`object`)throw TypeError(`"${t}" is not an object`)}function an(e,t){let n=``,r=0,i=-1,a=0,o=`\0`;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else if(o==`/`)break;else o=`/`;if(o==`/`){if(!(i===s-1||a===1))if(a===2){if(n.length<2||r!==2||n.at(-1)!==`.`||n.at(-2)!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}else if(n.length!==0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1;i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function on(e){return e?`${e[0]===`.`?``:`.`}${e}`:``}function sn(...e){let t=``;for(let n of[...e.reverse(),Ie(this).pwd])if(n?.length&&(t=`${n}/${t}`,n.startsWith(`/`)))break;let n=t.startsWith(`/`);return t=an(t,!n),n?`/${t}`:t.length?t:`/`}function cn(e){if(!e.length)return`.`;let t=e[0]===`/`,n=e.at(-1)===`/`;return e=an(e,!t),e.length?(n&&(e+=`/`),t?`/${e}`:e):t?`/`:n?`./`:`.`}function ln(e){return e.startsWith(`/`)}function U(...e){if(!e.length)return`.`;let t=e.filter(e=>e).join(`/`);return t?.length?cn(t):`.`}function un(e,t){if(e===t||(e=sn.call(this,e),t=sn.call(this,t),e===t))return``;let n=e.length,r=n-1,i=t.length-1,a=r<i?r:i,o=-1,s=0;for(;s<a;s++){let n=e[1+s];if(n!==t[1+s])break;n===`/`&&(o=s)}if(s===a)if(i>a){if(t[1+s]===`/`)return t.slice(1+s+1);if(s===0)return t.slice(1+s)}else r>a&&(e[1+s]===`/`?o=s:s===0&&(o=0));let c=``;for(s=1+o+1;s<=n;++s)(s===n||e[s]===`/`)&&(c+=c.length===0?`..`:`/..`);return`${c}${t.slice(1+o)}`}function W(e){if(e.length===0)return`.`;let t=e[0]===`/`,n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e[t]===`/`){if(!r){n=t;break}}else r=!1;return n===-1?t?`/`:`.`:t&&n===1?`//`:e.slice(0,n)}function dn(e,t){let n=0,r=-1,i=!0;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let a=t.length-1,o=-1;for(let s=e.length-1;s>=0;--s)if(e[s]===`/`){if(!i){n=s+1;break}}else o===-1&&(i=!1,o=s+1),a>=0&&(e[s]===t[a]?--a===-1&&(r=s):(a=-1,r=o));return n===r?r=o:r===-1&&(r=e.length),e.slice(n,r)}for(let t=e.length-1;t>=0;--t)if(e[t]===`/`){if(!i){n=t+1;break}}else r===-1&&(i=!1,r=t+1);return r===-1?``:e.slice(n,r)}function fn(e){let t=-1,n=0,r=-1,i=!0,a=0;for(let o=e.length-1;o>=0;--o){if(e[o]===`/`){if(!i){n=o+1;break}continue}r===-1&&(i=!1,r=o+1),e[o]===`.`?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?``:e.slice(t,r)}function pn(e){rn(e,`pathObject`);let t=e.dir||e.root,n=e.base||`${e.name||``}${on(e.ext)}`;return t?t===e.root?`${t}${n}`:`${t}/${n}`:n}function mn(e){let t=e[0]===`/`,n={root:t?`/`:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return n;let r=+!!t,i=-1,a=0,o=-1,s=!0,c=e.length-1,l=0;for(;c>=r;--c){if(e[c]===`/`){if(!s){a=c+1;break}continue}o===-1&&(s=!1,o=c+1),e[c]===`.`?i===-1?i=c:l!==1&&(l=1):i!==-1&&(l=-1)}if(o!==-1){let r=a===0&&t?1:a;i===-1||l===0||l===1&&i===o-1&&i===a+1?n.base=n.name=e.slice(r,o):(n.name=e.slice(r,i),n.base=e.slice(r,o),n.ext=e.slice(i,o))}return a>0?n.dir=e.slice(0,a-1):t&&(n.dir=`/`),n}function hn(e,t){return $t(e).test(t)}const gn=BigInt(1e3);var _n=class{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}set blocks(e){}mode;dev=this._convert(0);ino=this._convert(0);rdev=this._convert(0);nlink=this._convert(1);blksize=this._convert(4096);uid=this._convert(0);gid=this._convert(0);atimeMs;get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}mtimeMs;get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}ctimeMs;get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}birthtimeMs;get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}size;data;flags;version;constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:r,uid:i,gid:a,size:o,mode:s,ino:c,...l}={}){let u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(r??u),this.uid=this._convert(i??0),this.gid=this._convert(a??0),this.size=this._convert(o??0),this.ino=this._convert(c??0),this.mode=this._convert(s??0),this.mode&61440||(this.mode|=this._convert(Qe)),Object.assign(this,l)}isFile(){return(this.mode&Ye)==Qe}isDirectory(){return(this.mode&Ye)==et}isSymbolicLink(){return(this.mode&Ye)==Ze}isSocket(){return(this.mode&Ye)==Xe}isBlockDevice(){return(this.mode&Ye)==$e}isCharacterDevice(){return(this.mode&Ye)==tt}isFIFO(){return(this.mode&Ye)==nt}toJSON(){return p(this,Dn)}hasAccess(e,t){return q(t,this._isBigint?new vn(this):this,e)}get atimeNs(){return BigInt(this.atimeMs)*gn}get mtimeNs(){return BigInt(this.mtimeMs)*gn}get ctimeNs(){return BigInt(this.ctimeMs)*gn}get birthtimeNs(){return BigInt(this.birthtimeMs)*gn}},vn=class extends _n{_isBigint=!1},yn=class extends _n{_isBigint=!0};function bn(e,t){return e.size==t.size&&+e.atime==+t.atime&&+e.mtime==+t.mtime&&+e.ctime==+t.ctime&&e.mode==t.mode}var xn=class{type=525687744115;bsize=4096;blocks=0;bfree=0;bavail=0;files=at;ffree=at},Sn=class{type=BigInt(`0x7a656e6673`);bsize=BigInt(4096);blocks=BigInt(0);bfree=BigInt(0);bavail=BigInt(0);files=BigInt(at);ffree=BigInt(at)},Cn=function(e,t,n,r,i,a){function o(e){if(e!==void 0&&typeof e!=`function`)throw TypeError(`Function expected`);return e}for(var s=r.kind,c=s===`getter`?`get`:s===`setter`?`set`:`value`,l=!t&&e?r.static?e:e.prototype:null,u=t||(l?Object.getOwnPropertyDescriptor(l,r.name):{}),d,f=!1,p=n.length-1;p>=0;p--){var m={};for(var h in r)m[h]=h===`access`?{}:r[h];for(var h in r.access)m.access[h]=r.access[h];m.addInitializer=function(e){if(f)throw TypeError(`Cannot add initializers after decoration has completed`);a.push(o(e||null))};var g=(0,n[p])(s===`accessor`?{get:u.get,set:u.set}:u[c],m);if(s===`accessor`){if(g===void 0)continue;if(typeof g!=`object`||!g)throw TypeError(`Object expected`);(d=o(g.get))&&(u.get=d),(d=o(g.set))&&(u.set=d),(d=o(g.init))&&i.unshift(d)}else (d=o(g))&&(s===`field`?i.unshift(d):u[c]=d)}l&&Object.defineProperty(l,r.name,u),f=!0},G=function(e,t,n){for(var r=arguments.length>2,i=0;i<t.length;i++)n=r?t[i].call(e,n):t[i].call(e);return r?n:void 0};const wn=3968;let Tn=(()=>{var e,t;let n=[Vt.packed()],r,i=[],a,o=Wt.typed(Uint8Array),s,c=[],l=[],u,d=[],f=[];var p=class extends o{static{a=this}static{let m=typeof Symbol==`function`&&Symbol.metadata?Object.create(o[Symbol.metadata]??null):void 0;s=[(e=V).uint32.bind(e)],u=[(t=V).uint32.bind(t)],Cn(this,null,s,{kind:`accessor`,name:`keySize`,static:!1,private:!1,access:{has:e=>`keySize`in e,get:e=>e.keySize,set:(e,t)=>{e.keySize=t}},metadata:m},c,l),Cn(this,null,u,{kind:`accessor`,name:`valueSize`,static:!1,private:!1,access:{has:e=>`valueSize`in e,get:e=>e.valueSize,set:(e,t)=>{e.valueSize=t}},metadata:m},d,f),Cn(null,r={value:a},n,{kind:`class`,name:a.name,metadata:m},null,i),p=a=r.value,m&&Object.defineProperty(a,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:m})}static name=`Attribute`;#e=G(this,c,void 0);get keySize(){return this.#e}set keySize(e){this.#e=e}#t=(G(this,l),G(this,d,void 0));get valueSize(){return this.#t}set valueSize(e){this.#t=e}get name(){return ee(this.subarray(8,8+this.keySize))}set name(e){let t=w(e);if(8+t.length+this.valueSize>wn)throw M(`EOVERFLOW`);this.set(t,8),this.keySize=t.length}get value(){return this.subarray(8+this.keySize,this.size)}set value(e){if(8+this.keySize+e.length>wn)throw M(`EOVERFLOW`);this.valueSize=e.length,this.set(e,8+this.keySize)}get size(){return 8+this.keySize+this.valueSize}constructor(){super(...arguments),G(this,f)}static{G(a,i)}};return a})(),En=(()=>{var e;let t=[Vt.packed()],n,r=[],i,a=Wt(o),s,c=[],l=[];var u=class extends a{static{i=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(a[Symbol.metadata]??null):void 0;s=[(e=V).uint32.bind(e)],Cn(this,null,s,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:o},c,l),Cn(null,n={value:i},t,{kind:`class`,name:i.name,metadata:o},null,r),u=i=n.value,o&&Object.defineProperty(i,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`Attributes`;#e=G(this,c,void 0);get size(){return this.#e}set size(e){this.#e=e}get byteSize(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);e+=t.size}return e}has(e){let t=this.byteOffset+B(this);for(let n=0;n<this.size;n++){let n=new Tn(this.buffer,t);if(n.name==e)return!0;t+=n.size}return!1}get(e){let t=this.byteOffset+B(this);for(let n=0;n<this.size;n++){let n=new Tn(this.buffer,t);if(n.name==e)return n.value;t+=n.size}}set(e,t){let n=this.byteOffset+B(this),r;for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,n);t.name==e&&(r=[n,t.size]),n+=t.size}let i=new Uint8Array(this.buffer);if(r){let[e,t]=r;n-=t,i.copyWithin(e,e+t,n+t),i.fill(0,n,n+t),this.size--}let a=new Tn(this.buffer,n);a.name=e,a.value=t,this.size++}remove(e){let t=this.byteOffset+B(this),n;for(let r=0;r<this.size;r++){let r=new Tn(this.buffer,t);r.name==e&&(n=[t,r.size]),t+=r.size}if(!n)return!1;let[r,i]=n,a=new Uint8Array(this.buffer);return a.copyWithin(r,r+i,t),a.fill(0,t-i,t),this.size--,!0}copyFrom(e){let{byteSize:t}=e;new Uint8Array(this.buffer,this.byteOffset,t).set(new Uint8Array(e.buffer,e.byteOffset,t))}*keys(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield t.name,e+=t.size}}*values(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield t.value,e+=t.size}}*entries(){let e=this.byteOffset+B(this);for(let t=0;t<this.size;t++){let t=new Tn(this.buffer,e);yield[t.name,t.value],e+=t.size}}constructor(){super(...arguments),G(this,l)}static{G(i,r)}};return i})();const Dn=[`ino`,`data`,`size`,`mode`,`flags`,`nlink`,`uid`,`gid`,`atimeMs`,`birthtimeMs`,`mtimeMs`,`ctimeMs`,`version`];var On;(function(e){e[e.Sync=1]=`Sync`,e[e.NoAtime=2]=`NoAtime`,e[e.Append=4]=`Append`,e[e.Immutable=8]=`Immutable`,e[e.Dead=16]=`Dead`,e[e.NoQuota=32]=`NoQuota`,e[e.Dirsync=64]=`Dirsync`,e[e.NoCMtime=128]=`NoCMtime`,e[e.SwapFile=256]=`SwapFile`,e[e.Private=512]=`Private`,e[e.IMA=1024]=`IMA`,e[e.AutoMount=2048]=`AutoMount`,e[e.NoSec=4096]=`NoSec`,e[e.DAX=8192]=`DAX`,e[e.Encrypted=16384]=`Encrypted`,e[e.CaseFold=32768]=`CaseFold`,e[e.Verity=65536]=`Verity`,e[e.KernelFile=131072]=`KernelFile`})(On||={});let K=(()=>{var e,t,n,r,i,a,s,c,l,u,d,f,m,h,g,_;let v=[Vt.packed()],y,b=[],x,S=Wt(o),C,w=[],T=[],ee,te=[],ne=[],E,D=[],O=[],re,k=[],A=[],j,N=[],P=[],F,ie=[],I=[],ae,L=[],oe=[],se,ce=[],R=[],ue,de=[],fe=[],pe,me=[],he=[],ge,_e=[],ve=[],ye,be=[],xe=[],Se,Ce=[],we=[],Te,Ee=[],De=[],Oe,ke=[],Ae=[],je,Me=[],Ne=[],Pe,Fe=[],Ie=[],Le,Re=[],ze=[],Be,Ve=[],He=[];var Ue=class extends S{static{x=this}static{let o=typeof Symbol==`function`&&Symbol.metadata?Object.create(S[Symbol.metadata]??null):void 0;C=[(e=V).uint32.bind(e)],ee=[(t=V).uint32.bind(t)],E=[(n=V).uint32.bind(n)],re=[(r=V).uint16.bind(r)],j=[(i=V).uint32.bind(i)],F=[(a=V).uint32.bind(a)],ae=[(s=V).uint32.bind(s)],se=[(c=V).float64.bind(c)],ue=[(l=V).float64.bind(l)],pe=[(u=V).float64.bind(u)],ge=[(d=V).float64.bind(d)],ye=[(f=V).uint32.bind(f)],Se=[(m=V).uint32.bind(m)],Te=[(h=V).uint32.bind(h)],Oe=[(g=V).uint16.bind(g)],je=[(_=V).uint32.bind(_)],Pe=[V.uint8(48)],Le=[Ht(En)],Be=[V.uint8(wn)],Cn(this,null,C,{kind:`accessor`,name:`data`,static:!1,private:!1,access:{has:e=>`data`in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:o},w,T),Cn(this,null,ee,{kind:`accessor`,name:`__data_old`,static:!1,private:!1,access:{has:e=>`__data_old`in e,get:e=>e.__data_old,set:(e,t)=>{e.__data_old=t}},metadata:o},te,ne),Cn(this,null,E,{kind:`accessor`,name:`size`,static:!1,private:!1,access:{has:e=>`size`in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:o},D,O),Cn(this,null,re,{kind:`accessor`,name:`mode`,static:!1,private:!1,access:{has:e=>`mode`in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:o},k,A),Cn(this,null,j,{kind:`accessor`,name:`nlink`,static:!1,private:!1,access:{has:e=>`nlink`in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:o},N,P),Cn(this,null,F,{kind:`accessor`,name:`uid`,static:!1,private:!1,access:{has:e=>`uid`in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:o},ie,I),Cn(this,null,ae,{kind:`accessor`,name:`gid`,static:!1,private:!1,access:{has:e=>`gid`in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:o},L,oe),Cn(this,null,se,{kind:`accessor`,name:`atimeMs`,static:!1,private:!1,access:{has:e=>`atimeMs`in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:o},ce,R),Cn(this,null,ue,{kind:`accessor`,name:`birthtimeMs`,static:!1,private:!1,access:{has:e=>`birthtimeMs`in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:o},de,fe),Cn(this,null,pe,{kind:`accessor`,name:`mtimeMs`,static:!1,private:!1,access:{has:e=>`mtimeMs`in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:o},me,he),Cn(this,null,ge,{kind:`accessor`,name:`ctimeMs`,static:!1,private:!1,access:{has:e=>`ctimeMs`in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:o},_e,ve),Cn(this,null,ye,{kind:`accessor`,name:`ino`,static:!1,private:!1,access:{has:e=>`ino`in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:o},be,xe),Cn(this,null,Se,{kind:`accessor`,name:`__ino_old`,static:!1,private:!1,access:{has:e=>`__ino_old`in e,get:e=>e.__ino_old,set:(e,t)=>{e.__ino_old=t}},metadata:o},Ce,we),Cn(this,null,Te,{kind:`accessor`,name:`flags`,static:!1,private:!1,access:{has:e=>`flags`in e,get:e=>e.flags,set:(e,t)=>{e.flags=t}},metadata:o},Ee,De),Cn(this,null,Oe,{kind:`accessor`,name:`__after_flags`,static:!1,private:!1,access:{has:e=>`__after_flags`in e,get:e=>e.__after_flags,set:(e,t)=>{e.__after_flags=t}},metadata:o},ke,Ae),Cn(this,null,je,{kind:`accessor`,name:`version`,static:!1,private:!1,access:{has:e=>`version`in e,get:e=>e.version,set:(e,t)=>{e.version=t}},metadata:o},Me,Ne),Cn(this,null,Pe,{kind:`accessor`,name:`__padding`,static:!1,private:!1,access:{has:e=>`__padding`in e,get:e=>e.__padding,set:(e,t)=>{e.__padding=t}},metadata:o},Fe,Ie),Cn(this,null,Le,{kind:`accessor`,name:`attributes`,static:!1,private:!1,access:{has:e=>`attributes`in e,get:e=>e.attributes,set:(e,t)=>{e.attributes=t}},metadata:o},Re,ze),Cn(this,null,Be,{kind:`accessor`,name:`__data`,static:!1,private:!1,access:{has:e=>`__data`in e,get:e=>e.__data,set:(e,t)=>{e.__data=t}},metadata:o},Ve,He),Cn(null,y={value:x},v,{kind:`class`,name:x.name,metadata:o},null,b),Ue=x=y.value,o&&Object.defineProperty(x,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:o})}static name=`Inode`;constructor(...e){let t={};if(typeof e[0]==`object`&&e[0]!==null&&!ArrayBuffer.isView(e[0])&&(t=e[0],e=[B(Ue)]),super(...e),G(this,He),this.byteLength<B(Ue))throw le(M(`EIO`,`Buffer is too small to create an inode (${this.byteLength} bytes)`));Object.assign(this,t),this.atimeMs||=Date.now(),this.mtimeMs||=Date.now(),this.ctimeMs||=Date.now(),this.birthtimeMs||=Date.now(),this.ino&&!this.nlink&&z(`Inode ${this.ino} has an nlink of 0`)}#e=G(this,w,void 0);get data(){return this.#e}set data(e){this.#e=e}#t=(G(this,T),G(this,te,void 0));get __data_old(){return this.#t}set __data_old(e){this.#t=e}#n=(G(this,ne),G(this,D,void 0));get size(){return this.#n}set size(e){this.#n=e}#r=(G(this,O),G(this,k,void 0));get mode(){return this.#r}set mode(e){this.#r=e}#i=(G(this,A),G(this,N,void 0));get nlink(){return this.#i}set nlink(e){this.#i=e}#a=(G(this,P),G(this,ie,void 0));get uid(){return this.#a}set uid(e){this.#a=e}#o=(G(this,I),G(this,L,void 0));get gid(){return this.#o}set gid(e){this.#o=e}#s=(G(this,oe),G(this,ce,void 0));get atimeMs(){return this.#s}set atimeMs(e){this.#s=e}#c=(G(this,R),G(this,de,void 0));get birthtimeMs(){return this.#c}set birthtimeMs(e){this.#c=e}#l=(G(this,fe),G(this,me,void 0));get mtimeMs(){return this.#l}set mtimeMs(e){this.#l=e}#u=(G(this,he),G(this,_e,void 0));get ctimeMs(){return this.#u}set ctimeMs(e){this.#u=e}#d=(G(this,ve),G(this,be,void 0));get ino(){return this.#d}set ino(e){this.#d=e}#f=(G(this,xe),G(this,Ce,void 0));get __ino_old(){return this.#f}set __ino_old(e){this.#f=e}#p=(G(this,we),G(this,Ee,void 0));get flags(){return this.#p}set flags(e){this.#p=e}#m=(G(this,De),G(this,ke,void 0));get __after_flags(){return this.#m}set __after_flags(e){this.#m=e}#h=(G(this,Ae),G(this,Me,void 0));get version(){return this.#h}set version(e){this.#h=e}#g=(G(this,Ne),G(this,Fe,void 0));get __padding(){return this.#g}set __padding(e){this.#g=e}#_=(G(this,Ie),G(this,Re,void 0));get attributes(){return this.#_}set attributes(e){this.#_=e}#v=(G(this,ze),G(this,Ve,void 0));get __data(){return this.#v}set __data(e){this.#v=e}toString(){return`<Inode ${this.ino}>`}toJSON(){return{...p(this,Dn),attributes:this.attributes}}toStats(){return new vn(this)}update(e){if(!e)return!1;let t=!1;for(let n of Dn)e[n]!==void 0&&(n==`ino`||n==`data`||this[n]!==e[n]&&(n==`atimeMs`&&this.flags&On.NoAtime||(this[n]=e[n],t=!0)));return e.attributes&&(this.attributes.copyFrom(e.attributes),t=!0),t&&(this.ctimeMs=Date.now()),t}static{G(x,b)}};return Ue=x})();function kn(e){return(e.mode&Ye)==Qe}function An(e){return(e.mode&Ye)==et}function jn(e){return(e.mode&Ye)==Ze}function Mn(e){return(e.mode&Ye)==Xe}function Nn(e){return(e.mode&Ye)==$e}function Pn(e){return(e.mode&Ye)==tt}function Fn(e){return(e.mode&Ye)==nt}function q(e,t,n){let{credentials:r}=Ie(e);if(jn(t)||r.euid===0||r.egid===0)return!0;let i=0;return r.uid===t.uid&&(t.mode&256&&(i|=4),t.mode&128&&(i|=2),t.mode&64&&(i|=1)),(r.gid===t.gid||r.groups.includes(Number(t.gid)))&&(t.mode&32&&(i|=4),t.mode&16&&(i|=2),t.mode&8&&(i|=1)),t.mode&4&&(i|=4),t.mode&2&&(i|=2),t.mode&1&&(i|=1),(i&n)===n}function In(e,t,n){let r=!0;return!isNaN(t)&&t>=0&&t<4294967295?e.uid=t:r=!1,!isNaN(n)&&n>=0&&n<4294967295?e.gid=n:r=!1,r}var Ln=class e extends Map{maxSize=at;toJSON(){return{version:1,maxSize:this.maxSize,entries:Object.fromEntries([...this].map(([e,t])=>[e,t.toJSON()]))}}toString(){return JSON.stringify(this.toJSON())}get byteSize(){let e=this.size*B(K);for(let t of this.values())e+=t.size;return e}usage(){return{totalSpace:this.maxSize,freeSpace:this.maxSize-this.byteSize}}pathOf(e){for(let[t,n]of this)if(n.ino==e||n.data==e)return t}getByID(e){return this.entryByID(e)?.inode}entryByID(e){for(let[t,n]of this)if(n.ino==e||n.data==e)return{path:t,inode:n}}directoryEntries(e){let t=this.get(e);if(!t)throw M(`ENOENT`);if((t.mode&61440)!=16384)throw M(`ENOTDIR`);let n={};for(let t of this.keys())W(t)==e&&t!=e&&(n[dn(t)]=this.get(t).ino);return n}_alloc(){return Math.max(...[...this.values()].flatMap(e=>[e.ino,e.data]))+1}directories(){let e=new Map;for(let[t,n]of this){if((n.mode&61440)!=16384)continue;let r={};for(let e of this.keys())W(e)==t&&e!=t&&(r[dn(e)]=this.get(e).ino);e.set(t,r)}return e}fromJSON(e){if(e.version!=1)throw M(`EINVAL`,`Index version mismatch`);this.clear();for(let[t,n]of Object.entries(e.entries))n.data??=x(1,at),t==`/`&&(n.ino=0),this.set(t,new K(n));return this}static parse(t){if(!h(t))throw M(`EINVAL`,`Invalid JSON`);let n=JSON.parse(t),r=new e;return r.fromJSON(n),r}};const Rn=4096;var zn=class e{type;name;label;_mountPoint;_uuid=crypto.randomUUID();get uuid(){return this._uuid}attributes=new Map;constructor(t,n){this.type=t,this.name=n,this.streamRead===e.prototype.streamRead&&this.attributes.set(`default_stream_read`),this.streamWrite===e.prototype.streamWrite&&this.attributes.set(`default_stream_write`)}toString(){return`${this.name} ${this.label?JSON.stringify(this.label):``} (${this._mountPoint?`mounted on `+this._mountPoint:`unmounted`})`}usage(){return{totalSpace:0,freeSpace:0}}async ready(){}readySync(){if(this.ready!==e.prototype.ready)throw M(`EAGAIN`)}async exists(e){try{return await this.stat(e),!0}catch(e){return e.code!=`ENOENT`}}existsSync(e){try{return this.statSync(e),!0}catch(e){return e.code!=`ENOENT`}}streamRead(e,t){return new ReadableStream({start:async n=>{let{size:r}=await this.stat(e),{start:i=0,end:a=r}=t;for(let t=i;t<a;t+=Rn){let r=t+Rn>a?a-t:Rn,i=new Uint8Array(r);await this.read(e,i,t,t+r).catch(n.error.bind(n)),n.enqueue(i)}n.close()},type:`bytes`})}streamWrite(e,t){let n=t.start??0;return new WritableStream({write:async(t,r)=>{let i=!1,a=e=>{i=!0,r.error(e)},{size:o}=await this.stat(e);await this.write(e,t,n).catch(a),!i&&(n+=t.byteLength,await this.touch(e,{mtimeMs:Date.now(),size:Math.max(o,n)}).catch(a))}})}};Promise.withResolvers??=(z(`Using a polyfill of Promise.withResolvers`),function(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}),Symbol.dispose??=(z(`Using a polyfill of Symbol.dispose`),Symbol(`Symbol.dispose`)),Symbol.asyncDispose??=(z(`Using a polyfill of Symbol.asyncDispose`),Symbol(`Symbol.asyncDispose`)),globalThis.crypto.randomUUID??=(z(`Using a polyfill of crypto.randomUUID`),function(){let e=crypto.getRandomValues(new Uint8Array(16));e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}),Uint8Array.prototype.toBase64??=(z(`Using a polyfill of Uint8Array.prototype.toBase64`),function(){return btoa(String.fromCharCode(...this))}),Uint8Array.fromBase64??=(z(`Using a polyfill of Uint8Array.fromBase64`),function(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}),Uint8Array.prototype.toHex??=(z(`Using a polyfill of Uint8Array.prototype.toHex`),function(){return[...this].map(e=>e.toString(16).padStart(2,`0`)).join(``)}),Uint8Array.fromHex??=(z(`Using a polyfill of Uint8Array.fromHex`),function(e){let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t});var Bn=class{store;constructor(e){this.store=e}},Vn=class extends Bn{async get(e,t,n){return this.getSync(e,t,n)}async set(e,t,n){return this.setSync(e,t,n)}async remove(e){return this.removeSync(e)}},Hn=class extends Bn{asyncDone=Promise.resolve();async(e){this.asyncDone=this.asyncDone.then(()=>e)}_cached(e,t){this.store.cache??=new Map;let n=this.store.cache.get(e);return n?(t&&(n.size=t.size),n):t?new s(e,t.size,{},this.store.cache):void 0}getSync(e,t,n){let r=this._cached(e);if(!r)return;n??=r.size;let i=r.missing(t,n);for(let{start:t,end:n}of i)this.async(this.get(e,t,n));if(i.length)throw M(`EAGAIN`);let a=r.regionAt(t);if(!a){z(`Missing cache region for `+e);return}return a.data.subarray(t-a.offset,n-a.offset)}setSync(e,t,n){this.async(this.set(e,t,n))}removeSync(e){this.async(this.remove(e)),this.store.cache?.delete(e)}},Un=class{raw;fs;done=!1;flag(e){return this.raw.store.flags?.includes(e)??!1}constructor(e,t){this.raw=e,this.fs=t}originalData=new Map;modifiedKeys=new Set;keys(){return this.raw.keys()}async get(e,t=0,n){let r=await this.raw.get(e,t,n);return this.stash(e),r}getSync(e,t=0,n){let r=this.raw.getSync(e,t,n);return this.stash(e),r}async set(e,t,n=0){await this.markModified(e,n,t.byteLength);let r=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);await this.raw.set(e,r,n)}setSync(e,t,n=0){this.markModifiedSync(e,n,t.byteLength);let r=t instanceof Uint8Array?t:new Uint8Array(t.buffer,t.byteOffset,t.byteLength);this.raw.setSync(e,r,n)}async remove(e){await this.markModified(e,0,void 0),await this.raw.remove(e)}removeSync(e){this.markModifiedSync(e,0,void 0),this.raw.removeSync(e)}commit(){return this.done=!0,Promise.resolve()}commitSync(){this.done=!0}async abort(){if(!this.done){for(let[e,t]of this.originalData)if(this.modifiedKeys.has(e)){if(t.some(e=>!e.data)){await this.raw.remove(e),this.fs._remove(e);continue}for(let n of t.reverse())await this.raw.set(e,n.data,n.offset)}this.done=!0}}abortSync(){if(!this.done){for(let[e,t]of this.originalData)if(this.modifiedKeys.has(e)){if(t.some(e=>!e.data)){this.raw.removeSync(e),this.fs._remove(e);continue}for(let n of t.reverse())this.raw.setSync(e,n.data,n.offset)}this.done=!0}}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}stash(e,t,n=0){this.originalData.has(e)||this.originalData.set(e,[]),this.originalData.get(e).push({data:t,offset:n})}async markModified(e,t,n){this.modifiedKeys.add(e);let r=n?t+n:void 0;try{this.stash(e,await this.raw.get(e,t,r),t)}catch(n){if(!(this.raw instanceof Hn))throw n;let i=this.raw._cached(e);if(!i)throw n;for(let n of i.cached(t,r??t))this.stash(e,await this.raw.get(e,n.start,n.end),n.start)}}markModifiedSync(e,t,n){this.modifiedKeys.add(e);let r=n?t+n:void 0;try{this.stash(e,this.raw.getSync(e,t,r),t)}catch(n){if(!(this.raw instanceof Hn))throw n;let i=this.raw._cached(e);if(!i)throw n;for(let n of i.cached(t,r??t))this.stash(e,this.raw.getSync(e,n.start,n.end),n.start)}}},Wn=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Gn=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r}),Kn=class extends zn{store;_ids=new Map([[`/`,0]]);_paths=new Map([[0,new Set(`/`)]]);_path(e){let[t]=this._paths.get(e)??[];return t}_add(e,t){this._paths.has(e)||this._paths.set(e,new Set),this._paths.get(e).add(t),this._ids.set(t,e)}_remove(e){for(let t of this._paths.get(e)??[])this._ids.delete(t);this._paths.delete(e)}_move(e,t){let n=[];for(let[r,i]of this._ids){let a=un(e,r);if(a.startsWith(`..`))continue;let o=U(t,a);o.endsWith(`/`)&&(o=o.slice(0,-1)),n.push({oldKey:r,newKey:o,ino:i})}for(let{oldKey:e,newKey:t,ino:r}of n){this._ids.delete(e),this._ids.set(t,r);let n=this._paths.get(r);if(!n){z(`Missing paths in table for ino `+r);continue}n.delete(e),n.add(t)}}_initialized=!1;async ready(){this._initialized||=(this.attributes.has(`no_async_preload`)||this.checkRootSync(),await this.checkRoot(),await this._populate(),!0)}readySync(){this._initialized||=(this.attributes.has(`no_async_preload`)||this.checkRootSync(),this.checkRootSync(),this._populateSync(),!0)}constructor(e){super(e.type??1802921587,e.name),this.store=e,e.fs=this,this._uuid=e.uuid??this.uuid,this.label=e.label,fe(this.name+`: supports features: `+this.store.flags?.join(`, `))}usage(){return this.store.usage?.()||{totalSpace:0,freeSpace:0}}async loadIndex(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0),r=e.directories();for(let[t,i]of e)this._add(i.ino,t),await n.set(i.ino,i),r.has(t)&&await n.set(i.data,Yt(r.get(t)));await n.commit()}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}loadIndexSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1),r=e.directories();for(let[t,i]of e)this._add(i.ino,t),n.setSync(i.ino,i),r.has(t)&&n.setSync(i.data,Yt(r.get(t)));n.commitSync()}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async createIndex(){let e={stack:[],error:void 0,hasError:!1};try{let t=new Ln,n=Wn(e,this.transaction(),!0),r=[[`/`,0]],i=v(M(`EDEADLK`));for(;r.length;){let[e,i]=r.shift(),a=new K(await n.get(i));if(t.set(e,a),a.mode&16384){let t=Jt(await n.get(a.data)??y(M(`ENODATA`)));for(let[n,i]of Object.entries(t))r.push([U(e,n),i])}}return i(),t}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}createIndexSync(){let e={stack:[],error:void 0,hasError:!1};try{let t=new Ln,n=Wn(e,this.transaction(),!1),r=[[`/`,0]],i=v(M(`EDEADLK`));for(;r.length;){let[e,i]=r.shift(),a=new K(n.getSync(i));if(t.set(e,a),a.mode&16384){let t=Jt(n.getSync(a.data)??y(M(`ENODATA`)));for(let[n,i]of Object.entries(t))r.push([U(e,n),i])}}return i(),t}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async rename(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=mn(e),a=mn(t),o=await this.findInode(r,i.dir),s=Jt(await r.get(o.data)??y(M(`ENODATA`)));if(!s[i.base])throw M(`ENOENT`);let c=s[i.base];if(c!=this._ids.get(e)&&R(`Ino mismatch while renaming ${e} to ${t}`),delete s[i.base],(a.dir+`/`).startsWith(e+`/`))throw M(`EBUSY`);let l=a.dir==i.dir,u=l?o:await this.findInode(r,a.dir),d=l?s:Jt(await r.get(u.data)??y(M(`ENODATA`)));if(d[a.base]){let e=new K(await r.get(d[a.base])??y(M(`ENOENT`)));if(!kn(e))throw M(`EISDIR`);await r.remove(e.data),await r.remove(d[a.base])}d[a.base]=c,await r.set(o.data,Yt(s)),await r.set(u.data,Yt(d)),await r.commit(),this._move(e,t)}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}renameSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=mn(e),a=mn(t),o=this.findInodeSync(r,i.dir),s=Jt(r.getSync(o.data)??y(M(`ENODATA`)));if(!s[i.base])throw M(`ENOENT`);let c=s[i.base];if(c!=this._ids.get(e)&&R(`Ino mismatch while renaming ${e} to ${t}`),delete s[i.base],(a.dir+`/`).startsWith(e+`/`))throw M(`EBUSY`);let l=a.dir===i.dir,u=l?o:this.findInodeSync(r,a.dir),d=l?s:Jt(r.getSync(u.data)??y(M(`ENODATA`)));if(d[a.base]){let e=new K(r.getSync(d[a.base])??y(M(`ENOENT`)));if(!kn(e))throw M(`EISDIR`);r.removeSync(e.data),r.removeSync(d[a.base])}d[a.base]=c,r.setSync(o.data,Yt(s)),r.setSync(u.data,Yt(d)),r.commitSync(),this._move(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async stat(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0);return await this.findInode(n,e)}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}statSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1);return this.findInodeSync(n,e)}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async touch(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=await this.findInode(r,e);i.update(t)&&(this._add(i.ino,e),r.setSync(i.ino,i)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}touchSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=this.findInodeSync(r,e);i.update(t)&&(this._add(i.ino,e),r.setSync(i.ino,i)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async createFile(e,t){return t.mode|=Qe,await this.commitNew(e,t,new Uint8Array)}createFileSync(e,t){return t.mode|=Qe,this.commitNewSync(e,t,new Uint8Array)}async unlink(e){return this.remove(e,!1)}unlinkSync(e){this.removeSync(e,!1)}async rmdir(e){if((await this.readdir(e)).length)throw M(`ENOTEMPTY`);await this.remove(e,!0)}rmdirSync(e){if(this.readdirSync(e).length)throw M(`ENOTEMPTY`);this.removeSync(e,!0)}async mkdir(e,t){return t.mode|=et,await this.commitNew(e,t,w(`{}`))}mkdirSync(e,t){return t.mode|=et,this.commitNewSync(e,t,w(`{}`))}async readdir(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!0),r=await this.findInode(n,e);return Object.keys(Jt(await n.get(r.data)??y(M(`ENOENT`))))}catch(e){t.error=e,t.hasError=!0}finally{let e=Gn(t);e&&await e}}readdirSync(e){let t={stack:[],error:void 0,hasError:!1};try{let n=Wn(t,this.transaction(),!1),r=this.findInodeSync(n,e);return Object.keys(Jt(n.getSync(r.data)??y(M(`ENOENT`))))}catch(e){t.error=e,t.hasError=!0}finally{Gn(t)}}async sync(){}syncSync(){}async link(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),i=W(t),a=await this.findInode(r,i),o=Jt(await r.get(a.data)??y(M(`ENOENT`))),s=await this.findInode(r,e);s.nlink++,o[dn(t)]=s.ino,this._add(s.ino,t),await r.set(s.ino,s),await r.set(a.data,Yt(o)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}linkSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),i=W(t),a=this.findInodeSync(r,i),o=Jt(r.getSync(a.data)??y(M(`ENOENT`))),s=this.findInodeSync(r,e);s.nlink++,o[dn(t)]=s.ino,this._add(s.ino,t),r.setSync(s.ino,s),r.setSync(a.data,Yt(o)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}async read(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{let a=Wn(i,this.transaction(),!0),o=await this.findInode(a,e);if(o.size==0)return;let s=await a.get(o.data,n,r)??y(M(`ENODATA`)),c=a.flag(`partial`)?s:s.subarray(n,r);c.byteLength>t.byteLength&&R(`Trying to place ${c.byteLength} bytes into a ${t.byteLength} byte buffer on read`),t.set(c)}catch(e){i.error=e,i.hasError=!0}finally{let e=Gn(i);e&&await e}}readSync(e,t,n,r){let i={stack:[],error:void 0,hasError:!1};try{let a=Wn(i,this.transaction(),!1),o=this.findInodeSync(a,e);if(o.size==0)return;let s=a.getSync(o.data,n,r)??y(M(`ENODATA`)),c=a.flag(`partial`)?s:s.subarray(n,r);c.byteLength>t.byteLength&&R(`Trying to place ${c.byteLength} bytes into a ${t.byteLength} byte buffer on read`),t.set(c)}catch(e){i.error=e,i.hasError=!0}finally{Gn(i)}}async write(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{let i=Wn(r,this.transaction(),!0),o=await this.findInode(i,e),s=t;i.flag(`partial`)||(s=a(await i.get(o.data)??new Uint8Array,n+t.byteLength),s.set(t,n),n=0),await i.set(o.data,s,n),this._add(o.ino,e),await i.commit()}catch(e){r.error=e,r.hasError=!0}finally{let e=Gn(r);e&&await e}}writeSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{let i=Wn(r,this.transaction(),!1),o=this.findInodeSync(i,e),s=t;i.flag(`partial`)||(s=a(i.getSync(o.data)??new Uint8Array,n+t.byteLength),s.set(t,n),n=0),i.setSync(o.data,s,n),this._add(o.ino,e),i.commitSync()}catch(e){r.error=e,r.hasError=!0}finally{Gn(r)}}transaction(){return new Un(this.store.transaction(),this)}async checkRoot(){let e={stack:[],error:void 0,hasError:!1};try{let t=Wn(e,this.transaction(),!0);if(await t.get(0))return;let n=new K({ino:0,data:1,mode:16895});await t.set(n.data,w(`{}`)),this._add(0,`/`),await t.set(0,n),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}checkRootSync(){let e={stack:[],error:void 0,hasError:!1};try{let t=Wn(e,this.transaction(),!1);if(t.getSync(0))return;let n=new K({ino:0,data:1,mode:16895});t.setSync(n.data,w(`{}`)),this._add(0,`/`),t.setSync(0,n),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async _populate(){let e={stack:[],error:void 0,hasError:!1};try{if(this._initialized){z(`Attempted to populate tables after initialization`);return}fe(`Populating tables with existing store metadata`);let t=Wn(e,this.transaction(),!0),n=await t.get(0);if(!n){ue(`Store does not have a root inode`);let e=new K({ino:0,data:1,mode:16895});await t.set(e.data,w(`{}`)),this._add(0,`/`),await t.set(0,e),await t.commit();return}if(n.length<B(K)){le(`Store contains an invalid root inode. Refusing to populate tables`);return}let r=new Set,i=0,a=[[`/`,0]];for(;a.length>0;){i++;let[e,n]=a.shift();this._add(n,e);let o=await t.get(n);if(!o){z(`Store is missing data for inode: `+n);continue}if(o.length<B(K)){z(`Invalid inode size for ino ${n}: ${o.length}`);continue}let s=new K(o);if((s.mode&16384)!=16384||r.has(n))continue;r.add(n);let c=await t.get(s.data);if(!c){z(`Store is missing directory data: `+s.data);continue}let l=Jt(c);for(let[t,n]of Object.entries(l))a.push([U(e,t),n])}fe(`Added ${i} existing inode(s) from store`)}catch(t){e.error=t,e.hasError=!0}finally{let t=Gn(e);t&&await t}}_populateSync(){let e={stack:[],error:void 0,hasError:!1};try{if(this._initialized){z(`Attempted to populate tables after initialization`);return}fe(`Populating tables with existing store metadata`);let t=Wn(e,this.transaction(),!1),n=t.getSync(0);if(!n){ue(`Store does not have a root inode`);let e=new K({ino:0,data:1,mode:16895});t.setSync(e.data,w(`{}`)),this._add(0,`/`),t.setSync(0,e),t.commitSync();return}if(n.length<B(K)){le(`Store contains an invalid root inode. Refusing to populate tables`);return}let r=new Set,i=0,a=[[`/`,0]];for(;a.length>0;){i++;let[e,n]=a.shift();this._add(n,e);let o=t.getSync(n);if(!o){z(`Store is missing data for inode: `+n);continue}if(o.length<B(K)){z(`Invalid inode size for ino ${n}: ${o.length}`);continue}let s=new K(o);if((s.mode&16384)!=16384||r.has(n))continue;r.add(n);let c=t.getSync(s.data);if(!c){z(`Store is missing directory data: `+s.data);continue}let l=Jt(c);for(let[t,n]of Object.entries(l))a.push([U(e,t),n])}fe(`Added ${i} existing inode(s) from store`)}catch(t){e.error=t,e.hasError=!0}finally{Gn(e)}}async _findInode(e,t,n=new Set){if(n.has(t))throw le(M(`EIO`,`Infinite loop detected while finding inode`));if(n.add(t),t==`/`)return new K(await e.get(0)??y(M(`ENODATA`)));let{dir:r,base:i}=mn(t),a=await this._findInode(e,r,n),o=Jt(await e.get(a.data)??y(M(`ENODATA`)));if(!(i in o))throw M(`ENOENT`);return new K(await e.get(o[i])??y(M(`ENODATA`)))}_findInodeSync(e,t,n=new Set){if(n.has(t))throw le(M(`EIO`,`Infinite loop detected while finding inode`));if(n.add(t),t==`/`)return new K(e.getSync(0)??y(M(`ENOENT`)));let{dir:r,base:i}=mn(t),a=this._findInodeSync(e,r,n),o=Jt(e.getSync(a.data)??y(M(`ENODATA`)));if(!(i in o))throw M(`ENOENT`);return new K(e.getSync(o[i])??y(M(`ENODATA`)))}async findInode(e,t){if(this.attributes.has(`no_id_tables`))return await this._findInode(e,t);let n=this._ids.get(t);if(n===void 0)throw M(`ENOENT`);return new K(await e.get(n)??y(M(`ENOENT`)))}findInodeSync(e,t){if(this.attributes.has(`no_id_tables`))return this._findInodeSync(e,t);let n=this._ids.get(t);if(n===void 0)throw M(`ENOENT`);return new K(e.getSync(n)??y(M(`ENOENT`)))}_lastID;allocNew(e){this._lastID??=Math.max(...this._paths.keys()),this._lastID+=2;let t=this._lastID;if(t>4294967295)throw R(M(`ENOSPC`,`No IDs available`));return this._add(t,e),t}async commitNew(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{if(e==`/`)throw M(`EEXIST`);let i=Wn(r,this.transaction(),!0),{dir:a,base:o}=mn(e),s=await this.findInode(i,a),c=Jt(await i.get(s.data)??y(M(`ENOENT`)));if(c[o])throw M(`EEXIST`);let l=this.allocNew(e),u=new K({...t,ino:l,data:l+1,size:n.byteLength,nlink:1});return await i.set(u.ino,u),await i.set(u.data,n),c[o]=u.ino,await i.set(s.data,Yt(c)),await i.commit(),u}catch(e){r.error=e,r.hasError=!0}finally{let e=Gn(r);e&&await e}}commitNewSync(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{if(e==`/`)throw M(`EEXIST`);let i=Wn(r,this.transaction(),!1),{dir:a,base:o}=mn(e),s=this.findInodeSync(i,a),c=Jt(i.getSync(s.data)??y(M(`ENOENT`)));if(c[o])throw M(`EEXIST`);let l=this.allocNew(e),u=new K({...t,ino:l,data:l+1,size:n.byteLength,nlink:1});return i.setSync(u.ino,u),i.setSync(u.data,n),c[o]=u.ino,i.setSync(s.data,Yt(c)),i.commitSync(),u}catch(e){r.error=e,r.hasError=!0}finally{Gn(r)}}async remove(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!0),{dir:i,base:a}=mn(e),o=await this.findInode(r,i),s=Jt(await r.get(o.data)??y(M(`ENOENT`)));if(!s[a])throw M(`ENOENT`);let c=s[a],l=new K(await r.get(c)??y(M(`ENOENT`)));if(delete s[a],!t&&An(l))throw M(`EISDIR`);await r.set(o.data,Yt(s)),l.nlink>1?(l.update({nlink:l.nlink-1}),await r.set(l.ino,l)):(await r.remove(l.data),await r.remove(c),this._remove(c)),await r.commit()}catch(e){n.error=e,n.hasError=!0}finally{let e=Gn(n);e&&await e}}removeSync(e,t){let n={stack:[],error:void 0,hasError:!1};try{let r=Wn(n,this.transaction(),!1),{dir:i,base:a}=mn(e),o=this.findInodeSync(r,i),s=Jt(r.getSync(o.data)??y(M(`ENOENT`))),c=s[a];if(!c)throw M(`ENOENT`);let l=new K(r.getSync(c)??y(M(`ENOENT`)));if(delete s[a],!t&&An(l))throw M(`EISDIR`);r.setSync(o.data,Yt(s)),l.nlink>1?(l.update({nlink:l.nlink-1}),r.setSync(l.ino,l)):(r.removeSync(l.data),r.removeSync(c),this._remove(c)),r.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{Gn(n)}}},qn=class extends Vn{async keys(){return this.store.keys()}async get(e){return await(this.store.getAsync?.(e)??this.store.get(e))}getSync(e){return this.store.get(e)}setSync(e,t){this.store.set(e,t)}removeSync(e){this.store.delete(e)}},Jn=class extends Hn{async keys(){return await this.asyncDone,this.store.keys()}async get(e,t,n){return await this.asyncDone,await this.store.get(e,t,n)}getSync(e,t,n){return this.store.cached(e,t,n)}async set(e,t,n=0){await this.asyncDone,await this.store.set(e,t,n)}async remove(e){await this.asyncDone,await this.store.delete(e)}},Yn=class extends Map{maxSize;label;flags=[];name=`tmpfs`;constructor(e=at,t){super(),this.maxSize=e,this.label=t}async sync(){}transaction(){return new qn(this)}get bytes(){let e=this.size*4;for(let t of this.values())e+=t.byteLength;return e}usage(){return{totalSpace:this.maxSize,freeSpace:this.maxSize-this.bytes}}};const Xn={name:`InMemory`,options:{maxSize:{type:`number`,required:!1},label:{type:`string`,required:!1}},create({maxSize:e,label:t}){let n=new Kn(new Yn(e,t));return n.checkRootSync(),n}};var Zn=class extends Kn{devices=new Map;devicesWithDriver(e,t){if(t&&typeof e==`string`)throw R(M(`EINVAL`,`Can not fetch devices using only a driver name`));let n=[];for(let r of this.devices.values())t&&r.driver!=e||(typeof e==`string`?e:e.name)==r.driver.name&&n.push(r);return n}_createDevice(e,t={}){let n=1,r=Array.from(this.devices.values()).at(-1);for(;this.store.has(n)||r?.inode.ino==n;)n++;let i=e.init?.(n,t),a={data:{},minor:0,major:0,...m(i??{},`metadata`),driver:e,inode:new K({mode:8630,...i?.metadata})},o=`/`+(a.name||e.name)+(e.singleton?``:this.devicesWithDriver(e).length);if(this.existsSync(o))throw M(`EEXIST`);return this.devices.set(o,a),de(`Initialized device: `+this._mountPoint+o),a}addDefaults(){this._createDevice($n),this._createDevice(er),this._createDevice(tr),this._createDevice(nr),this._createDevice(rr),fe(`Added default devices`)}constructor(){super(new Yn(16777216,`devfs`))}async rename(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.rename(e,t)}renameSync(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.renameSync(e,t)}async stat(e){let t=this.devices.get(e);return t?t.inode:super.stat(e)}statSync(e){let t=this.devices.get(e);return t?t.inode:super.statSync(e)}async touch(e,t){let n=this.devices.get(e);n?n.inode.update(t):await super.touch(e,t)}touchSync(e,t){let n=this.devices.get(e);n?n.inode.update(t):super.touchSync(e,t)}async createFile(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.createFile(e,t)}createFileSync(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.createFileSync(e,t)}async unlink(e){if(this.devices.has(e))throw M(`EPERM`);return super.unlink(e)}unlinkSync(e){if(this.devices.has(e))throw M(`EPERM`);return super.unlinkSync(e)}async rmdir(e){return super.rmdir(e)}rmdirSync(e){return super.rmdirSync(e)}async mkdir(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.mkdir(e,t)}mkdirSync(e,t){if(this.devices.has(e))throw M(`EEXIST`);return super.mkdirSync(e,t)}async readdir(e){let t=await super.readdir(e);for(let n of this.devices.keys())W(n)==e&&t.push(dn(n));return t}readdirSync(e){let t=super.readdirSync(e);for(let n of this.devices.keys())W(n)==e&&t.push(dn(n));return t}async link(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.link(e,t)}linkSync(e,t){if(this.devices.has(e))throw M(`EPERM`);if(this.devices.has(t))throw M(`EEXIST`);return super.linkSync(e,t)}async sync(){for(let e of this.devices.values())e.driver.sync?.(e);return super.sync()}syncSync(){for(let e of this.devices.values())e.driver.sync?.(e);return super.syncSync()}async read(e,t,n,r){let i=this.devices.get(e);if(!i){await super.read(e,t,n,r);return}i.driver.read(i,t,n,r)}readSync(e,t,n,r){let i=this.devices.get(e);if(!i){super.readSync(e,t,n,r);return}i.driver.read(i,t,n,r)}async write(e,t,n){let r=this.devices.get(e);if(!r)return await super.write(e,t,n);r.driver.write(r,t,n)}writeSync(e,t,n){let r=this.devices.get(e);if(!r)return super.writeSync(e,t,n);r.driver.write(r,t,n)}};const Qn=new Uint8Array,$n={name:`null`,singleton:!0,init(){return{major:1,minor:3}},read(){return Qn},write(){}},er={name:`zero`,singleton:!0,init(){return{major:1,minor:5}},read(e,t,n,r){t.fill(0,n,r)},write(){}},tr={name:`full`,singleton:!0,init(){return{major:1,minor:7}},read(e,t,n,r){t.fill(0,n,r)},write(){throw M(`ENOSPC`)}},nr={name:`random`,singleton:!0,init(){return{major:1,minor:8}},read(e,t){for(let e=0;e<t.length;e++)t[e]=Math.floor(Math.random()*256)},write(){}},rr={name:`console`,singleton:!0,init(e,{output:t=e=>console.log(e)}={}){return{major:5,minor:1,data:{output:t}}},read(){return Qn},write(e,t,n){let r=ee(t);e.data.output(r,n)}},ir={null:$n,zero:er,full:tr,random:nr,console:rr};var ar=i();let J=!0;function or(e){J=e}var sr;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.FIFO=1]=`FIFO`,e[e.CHR=2]=`CHR`,e[e.DIR=4]=`DIR`,e[e.BLK=6]=`BLK`,e[e.REG=8]=`REG`,e[e.LNK=10]=`LNK`,e[e.SOCK=12]=`SOCK`,e[e.WHT=14]=`WHT`})(sr||={});function cr(e){return(e&61440)>>12}function lr(e){return e<<12}var ur=class{ino;type;path;name},dr=class{context;path;fs;internalPath;flag;inode;_buffer;_position=0;get position(){return this.flag&1024?this.inode.size:this._position}set position(e){this._position=e}dirty=!1;closed=!1;get isClosed(){return this.closed}constructor(e,t,n,r,i,a){this.context=e,this.path=t,this.fs=n,this.internalPath=r,this.flag=i,this.inode=a}get _isSync(){return!!(this.flag&1052672||this.inode.flags&On.Sync||this.fs.attributes.has(`sync`))}[Symbol.dispose](){this.closeSync()}syncSync(){if(this.closed)throw j(`EBADF`,`sync`,this.path);this.dirty&&=(this.fs.attributes.has(`no_write`)||this.fs.touchSync(this.internalPath,this.inode),!1)}datasyncSync(){return this.syncSync()}closeSync(){if(this.closed)throw j(`EBADF`,`close`,this.path);this.syncSync(),this.disposeSync()}disposeSync(e){if(this.closed)throw j(`EBADF`,`close`,this.path);if(this.dirty&&!e)throw j(`EBUSY`,`close`,this.path);this.closed=!0}truncateSync(e){if(e<0)throw j(`EINVAL`,`truncate`,this.path);if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`truncate`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`truncate`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`truncate`,this.path);this.dirty=!0,this.inode.mtimeMs=Date.now(),this.inode.size=e,this.inode.ctimeMs=Date.now(),this._isSync&&this.syncSync()}writeSync(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);this.dirty=!0;let i=r+n,a=e.subarray(t,t+n);return!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(this.inode.size=i),this.inode.mtimeMs=Date.now(),this.inode.ctimeMs=Date.now(),this._position=r+a.byteLength,this.fs.writeSync(this.internalPath,a,r),this._isSync&&this.syncSync(),a.byteLength}readSync(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||this.flag&1)throw j(`EBADF`,`read`,this.path);!(this.inode.flags&On.NoAtime)&&!this.fs.attributes.has(`no_atime`)&&(this.dirty=!0,this.inode.atimeMs=Date.now());let i=r+n;!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(i=r+Math.max(this.inode.size-r,0)),this._position=i;let a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return this.fs.readSync(this.internalPath,a.subarray(t,t+n),r,i),this._isSync&&this.syncSync(),i-r}chmodSync(e){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,this.inode.mode=this.inode.mode&(e>61440?-61441:Ye)|e,(this._isSync||e>61440)&&this.syncSync()}chownSync(e,t){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,In(this.inode,e,t),this._isSync&&this.syncSync()}utimesSync(e,t){if(this.closed)throw j(`EBADF`,`utimes`,this.path);this.dirty=!0,this.inode.atimeMs=e,this.inode.mtimeMs=t,this._isSync&&this.syncSync()}async[Symbol.asyncDispose](){await this.close()}async sync(){if(this.closed)throw j(`EBADF`,`sync`,this.path);this.dirty&&=(this.fs.attributes.has(`no_write`)||await this.fs.touch(this.internalPath,this.inode),!1)}datasync(){return this.sync()}async close(){if(this.closed)throw j(`EBADF`,`close`,this.path);await this.sync(),this.dispose()}dispose(e){if(this.closed)throw j(`EBADF`,`close`,this.path);if(this.dirty&&!e)throw j(`EBUSY`,`close`,this.path);this.closed=!0}stat(){if(this.closed)throw j(`EBADF`,`stat`,this.path);return this.inode}async truncate(e){if(e<0)throw j(`EINVAL`,`truncate`,this.path);if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`truncate`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`truncate`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`truncate`,this.path);this.dirty=!0,this.inode.mtimeMs=Date.now(),this.inode.size=e,this.inode.ctimeMs=Date.now(),this._isSync&&await this.sync()}async write(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||!(this.flag&1||this.flag&2))throw j(`EBADF`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);this.dirty=!0;let i=r+n,a=e.subarray(t,t+n);return!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(this.inode.size=i),this.inode.mtimeMs=Date.now(),this.inode.ctimeMs=Date.now(),this._position=r+a.byteLength,await this.fs.write(this.internalPath,a,r),this._isSync&&await this.sync(),a.byteLength}async read(e,t=0,n=e.byteLength-t,r=this.position){if(this.closed||this.flag&1)throw j(`EBADF`,`read`,this.path);!(this.inode.flags&On.NoAtime)&&!this.fs.attributes.has(`no_atime`)&&(this.dirty=!0,this.inode.atimeMs=Date.now());let i=r+n;!Pn(this.inode)&&!Nn(this.inode)&&i>this.inode.size&&(i=r+Math.max(this.inode.size-r,0)),this._position=i;let a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return await this.fs.read(this.internalPath,a.subarray(t,t+n),r,i),this._isSync&&await this.sync(),i-r}async chmod(e){if(this.closed)throw j(`EBADF`,`chmod`,this.path);this.dirty=!0,this.inode.mode=this.inode.mode&(e>61440?-61441:Ye)|e,(this._isSync||e>61440)&&await this.sync()}async chown(e,t){if(this.closed)throw j(`EBADF`,`chown`,this.path);this.dirty=!0,In(this.inode,e,t),this._isSync&&await this.sync()}async utimes(e,t){if(this.closed)throw j(`EBADF`,`utimes`,this.path);this.dirty=!0,this.inode.atimeMs=e,this.inode.mtimeMs=t,this._isSync&&await this.sync()}streamRead(e){if(this.closed)throw j(`EBADF`,`streamRead`,this.path);return this.fs.streamRead(this.internalPath,e)}streamWrite(e){if(this.closed)throw j(`EBADF`,`write`,this.path);if(this.inode.flags&On.Immutable)throw j(`EPERM`,`write`,this.path);if(this.fs.attributes.has(`readonly`))throw j(`EROFS`,`write`,this.path);return this.fs.streamWrite(this.internalPath,e)}};function fr(e){let t=Ie(e.context).descriptors,n=Math.max(t.size?Math.max(...t.keys())+1:0,4);return t.set(n,e),n}function pr(e,t){let n=Ie(e).descriptors.get(t);if(!n)throw M(`EBADF`);return n}function mr(e,t){return Ie(e).descriptors.delete(t)}const hr=/[rwasx]{1,2}\+?/;function gr(e){if(typeof e==`number`)return e;if(!hr.test(e))throw M(`EINVAL`,`Invalid flag string: `+e);return _r(e)}function _r(e){if(!e.includes(`r`)&&!e.includes(`w`)&&!e.includes(`a`))throw M(`EINVAL`,`Invalid flag string: `+e);let t=e.includes(`r`)?0:64;return e.includes(`w`)&&(t|=512),e.includes(`a`)&&(t|=Be),e.includes(`+`)?t|=2:e.includes(`r`)||(t|=1),e.includes(`s`)&&(t|=We),e.includes(`x`)&&(t|=128),t}function vr(e){let t=0;return e&1||(t|=4),(e&1||e&2)&&(t|=2),t}const yr=A;function br(e,t){return e.path=t,e}function xr(e,t,n,r){let i=typeof n==`string`?{path:n,dest:r,syscall:t.endsWith(`Sync`)?t.slice(0,-4):t}:n,a=e[t];if(typeof a!=`function`)throw TypeError(`${t} is not a function`);return function(...t){try{return a.call(e,...t)}catch(e){throw k(Object.assign(e,i))}}}function Sr(e,t){return new Proxy(e,{get(e,n){let r=Reflect.get(e,n);return typeof r==`function`?function n(...i){try{let a=r.apply(e,i);return a instanceof Promise?a.catch(e=>{if(`code`in e)throw k(Object.assign(e,t));if(e in O){let r=j(e,t);Error.captureStackTrace(r,n)}throw e}):a}catch(e){throw k(Object.assign(e,t))}}:r}})}const Cr=new Map;wr(`/`,Xn.create({label:`root`}));function wr(e,t){if(e[0]!=`/`&&(e=`/`+e),e=sn.call(this,e),Cr.has(e))throw R(M(`EINVAL`,`Mount point is already in use: `+e));t._mountPoint=e,Cr.set(e,t),de(`Mounted ${t.name} on ${e}`),fe(`${t.name} attributes: ${[...t.attributes].map(([e,t])=>t==null?e:e+`=`+t).join(`, `)}`)}function Tr(e){if(e[0]!=`/`&&(e=`/`+e),e=sn.call(this,e),!Cr.has(e)){z(e+` is already unmounted`);return}Cr.delete(e),ue(`Unmounted `+e)}function Y(e,t,n){let{root:r}=Ie(t),i={path:e,...n};e=H(U(r,e),!0),e=sn.call(t,e);let a=[...Cr].sort((e,t)=>e[0].length>t[0].length?-1:1);for(let[t,n]of a){if(!Or(t,e))continue;e=e.slice(t.length>1?t.length:0),e===``&&(e=`/`);let a=n.attributes.get(`case_fold`);return a===`lower`&&(e=e.toLowerCase()),a===`upper`&&(e=e.toUpperCase()),{fs:Sr(n,i),path:e,mountPoint:t,root:r}}throw ce(new A(O.EIO,`No file system for `+e))}function Er(e,t){let n=e.usage(),r=n.blockSize||4096;return{type:(t?BigInt:Number)(e.type),bsize:(t?BigInt:Number)(r),ffree:(t?BigInt:Number)(n.freeNodes||4294967295),files:(t?BigInt:Number)(n.totalNodes||4294967295),bavail:(t?BigInt:Number)(n.freeSpace/r),bfree:(t?BigInt:Number)(n.freeSpace/r),blocks:(t?BigInt:Number)(n.totalSpace/r)}}function Dr(e){let t=Ie(this);if(!Ne(t.credentials))throw M(`EPERM`,`Can not chroot() as non-root user`);t.root??=`/`;let n=U(t.root,e);for(let e of t.descriptors?.values()??[]){if(!e.path.startsWith(t.root))throw j(`EBUSY`,`chroot`,e.path);e.path=e.path.slice(t.root.length)}if(n.length>t.root.length)throw M(`EPERM`,`Can not chroot() outside of current root`);t.root=n}function Or(e,t){return e===`/`||e===t?!0:(e.endsWith(`/`)||(e+=`/`),t.startsWith(e))}var kr=t({link:()=>Ir,mkdir:()=>Nr,open:()=>jr,readdir:()=>Pr,readlink:()=>Mr,rename:()=>Fr,resolve:()=>Ar,stat:()=>Lr});function Ar(e,t,n,r){t=sn.call(e,t);try{let i=Y(t,e),a=i.fs.statSync(i.path);return!jn(a)||n?{...i,fullPath:t,stats:a}:Ar(e,sn.call(e,W(t),Mr.call(e,t)),n,r)}catch(e){if(k(Object.assign(e,{syscall:`stat`,path:t,...r})),n)throw e}let{base:i,dir:a}=mn(t),o=a==`/`?`/`:Ar(e,a,!1,r).fullPath,s=U(o,i),c=Y(s,e),l;try{l=c.fs.statSync(c.path)}catch(e){if(e.code===`ENOENT`)return{...c,fullPath:t};throw k(Object.assign(e,{syscall:`stat`,path:s,...r}))}return jn(l)?Ar(e,sn.call(e,o,Mr.call(e,s)),!1,r):{...c,fullPath:s,stats:l}}function jr(e,t){e=H(e);let n=Xt(t.mode,420),r=gr(t.flag);e=t.preserveSymlinks?e:Ar(this,e).fullPath;let{fs:i,path:a}=Y(e,this),o;try{o=i.statSync(a)}catch{}if(!o){if(!(r&64))throw j(`ENOENT`,`open`,e);let o=i.statSync(W(a));if(J&&!q(this,o,2))throw j(`EACCES`,`open`,e);if(!An(o))throw j(`ENOTDIR`,`open`,e);if(!t.allowDirectory&&n&16384)throw j(`EISDIR`,`open`,e);if(J&&!q(this,o,2))throw j(`EACCES`,`open`,e);let{euid:s,egid:c}=Ie(this).credentials,l=i.createFileSync(a,{mode:n,uid:o.mode&2048?o.uid:s,gid:o.mode&1024?o.gid:c});return new dr(this,e,i,a,r,l)}if(J&&(!q(this,o,n)||!q(this,o,vr(r))))throw j(`EACCES`,`open`,e);if(r&128)throw j(`EEXIST`,`open`,e);let s=new dr(this,e,i,a,r,o);if(!t.allowDirectory&&o.mode&16384)throw j(`EISDIR`,`open`,e);return r&512&&s.truncateSync(0),s}function Mr(e){e=H(e);let{fs:t,stats:n,path:r}=Ar(this,e,!0);if(!n)throw j(`ENOENT`,`readlink`,e);if(J&&!q(this,n,4))throw j(`EACCES`,`readlink`,e);if(!jn(n))throw j(`EINVAL`,`readlink`,e);let i=n.size,a=new Uint8Array(i);return t.readSync(r,a,0,i),ee(a)}function Nr(e,t={}){e=H(e);let{fs:n,path:r}=Ar(this,e),{euid:i,egid:a}=Ie(this).credentials,{mode:o=511,recursive:s}=t,c=(e,t,r)=>{if(J&&!q(this,r,2))throw j(`EACCES`,`mkdir`,W(e));let s=n.mkdirSync(t,{mode:o,uid:r.mode&2048?r.uid:i,gid:r.mode&1024?r.gid:a});return zi(this,`rename`,e),s};if(!s){c(e,r,n.statSync(W(r)));return}let l=[];for(let t=r,i=e;!n.existsSync(t);t=W(t),i=W(i))l.unshift({resolved:t,original:i});if(!l.length)return;let u=[n.statSync(W(l[0].resolved))];for(let[e,t]of l.entries())u.push(c(t.original,t.resolved,u[e]));return l[0].original}function Pr(e,t={}){e=H(e);let{fs:n,path:r}=Ar(this,e),i=n.statSync(r);if(J&&!q(this,i,4))throw j(`EACCES`,`readdir`,e);if(!An(i))throw j(`ENOTDIR`,`readdir`,e);let a=n.readdirSync(r),o=[],s=e=>{let i;try{i=n.statSync(U(r,e))}catch(e){if(e.code==`ENOENT`)return;throw e}let a=new ur;if(a.ino=i.ino,a.type=cr(i.mode),a.path=e,a.name=dn(e),o.push(a),!An(i)||!t?.recursive)return;let c=n.readdirSync(U(r,e));for(let t of c)s(U(e,t))};for(let e of a)s(e);return o}function Fr(e,t){e=H(e),t=H(t);let n={syscall:`rename`,path:e,dest:t},r=Ar(this,e,!0,n),i=Y(t,this,n);if(r.fs.uuid!==i.fs.uuid)throw j(`EXDEV`,n);if(i.path.startsWith(r.path+`/`))throw j(`EBUSY`,n);if(!r.stats)throw j(`ENOENT`,n);let a=r.fs,o=a.statSync(W(r.path)),s=a.statSync(W(i.path)),c;try{c=a.statSync(i.path)}catch(e){if(e.code!=`ENOENT`)throw e}if(J&&(!q(this,o,4)||!q(this,s,2)))throw j(`EACCES`,n);if(c&&!An(r.stats)&&An(c))throw j(`EISDIR`,n);if(c&&An(r.stats)&&!An(c))throw j(`ENOTDIR`,n);r.fs.renameSync(r.path,i.path),zi(this,`rename`,e),zi(this,`change`,t)}function Ir(e,t){e=H(e),t=H(t);let n={syscall:`link`,path:t,dest:e},{fs:r,path:i}=Y(e,this,n),a=Y(t,this,n);if(r.uuid!==a.fs.uuid)throw j(`EXDEV`,n);let o=r.statSync(i);if(J){if(!q(this,o,4))throw j(`EACCES`,n);let e=r.statSync(W(i));if(!q(this,e,4))throw j(`EACCES`,n);let t=r.statSync(W(a.path));if(!q(this,t,2))throw j(`EACCES`,n)}return r.linkSync(i,a.path)}function Lr(e,t){e=H.call(this,e);let n={syscall:t?`lstat`:`stat`,path:e},r;if(!t)r=Ar(this,e,!1,n).stats;else{let{base:t,dir:i}=mn(e),{fs:a,path:o}=Ar(this,i,!1,n);try{r=a.statSync(t?U(o,t):o)}catch(e){throw k(Object.assign(e,n)),e}}if(!r)throw j(`ENOENT`,n);if(J&&!q(this,r,4))throw j(`EACCES`,n);return r}var Rr=class e{ino;type;_name;get name(){let e=ar.Buffer.from(this._name);return this._encoding==`buffer`?e:e.toString(this._encoding)}_encoding;_parentPath;get parentPath(){return this._parentPath}get path(){return z(`Dirent.path was removed in Node v24, use parentPath instead`),this._parentPath}static from(t,n){let r=new e,{base:i,dir:a}=mn(t.path);return r._parentPath=a||`.`,r._name=i,r.ino=t.ino,r.type=t.type,r._encoding=n,r}isFile(){return this.type===sr.REG}isDirectory(){return this.type===sr.DIR}isBlockDevice(){return this.type===sr.BLK}isCharacterDevice(){return this.type===sr.CHR}isSymbolicLink(){return this.type===sr.LNK}isFIFO(){return this.type===sr.FIFO}isSocket(){return this.type===sr.SOCK}},zr=class{path;context;closed=!1;checkClosed(){if(this.closed)throw M(`EBADF`,`Can not use closed Dir`)}_entries;constructor(e,t){this.path=e,this.context=t}close(e){if(this.closed=!0,!e)return Promise.resolve();e(null)}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??=await Ga.call(this.context,this.path,{withFileTypes:!0}),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(null,t))}readSync(){return this.checkClosed(),this._entries??=di.call(this.context,this.path,{withFileTypes:!0}),this._entries.length?this._entries.shift()??null:null}async next(){let e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}[Symbol.dispose](){this.closed||this.closeSync()}async[Symbol.asyncDispose](){this.closed||await this.close()}},Br=function(e,t,n){if(t!=null){if(typeof t!=`object`&&typeof t!=`function`)throw TypeError(`Object expected.`);var r,i;if(n){if(!Symbol.asyncDispose)throw TypeError(`Symbol.asyncDispose is not defined.`);r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw TypeError(`Symbol.dispose is not defined.`);r=t[Symbol.dispose],n&&(i=r)}if(typeof r!=`function`)throw TypeError(`Object not disposable.`);i&&(r=function(){try{i.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t},Vr=(function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,`An error was suppressed during disposal.`):n,t.hasError=!0}var r,i=0;function a(){for(;r=t.stack.pop();)try{if(!r.async&&i===1)return i=0,t.stack.push(r),Promise.resolve().then(a);if(r.dispose){var e=r.dispose.call(r.value);if(r.async)return i|=2,Promise.resolve(e).then(a,function(e){return n(e),a()})}else i|=1}catch(e){n(e)}if(i===1)return t.hasError?Promise.reject(t.error):Promise.resolve();if(t.hasError)throw t.error}return a()}})(typeof SuppressedError==`function`?SuppressedError:function(e,t,n){var r=Error(n);return r.name=`SuppressedError`,r.error=e,r.suppressed=t,r});function Hr(e,t){return Fr.call(this,e,t)}function Ur(e){e=H(e);try{let{fs:t,path:n}=Ar(this,e);return t.existsSync(n)}catch(e){if(e.errno==O.ENOENT)return!1;throw e}}function Wr(e,t){let n=Lr.call(this,e,!1);return t?.bigint?new yn(n):new vn(n)}function Gr(e,t){let n=Lr.call(this,e,!0);return t?.bigint?new yn(n):new vn(n)}function Kr(e,t=0){let n={stack:[],error:void 0,hasError:!1};try{let r=Br(n,jr.call(this,e,{flag:`r+`}),!1);if(t||=0,t<0)throw j(`EINVAL`,`truncate`,e.toString());r.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{Vr(n)}}function qr(e){e=H(e);let{fs:t,path:n}=Y(e,this);try{if(J&&!q(this,t.statSync(n),2))throw j(`EACCES`,`unlink`);t.unlinkSync(n)}catch(t){throw k(Object.assign(t,{path:e}))}zi(this,`rename`,e.toString())}function Jr(e,t,n=0){return fr(jr.call(this,e,{flag:t,mode:n}))}function Yr(e,t,n){return fr(jr.call(this,e,{flag:t,mode:n,preserveSymlinks:!0}))}function Xr(e,t={}){let n={stack:[],error:void 0,hasError:!1};try{let r=Qt(t,null,`r`,420);if(gr(r.flag)&1)throw j(`EBADF`,`read`,e.toString());let i=Br(n,typeof e==`number`?pr(this,e):jr.call(this,e.toString(),{flag:r.flag,mode:420,preserveSymlinks:!1}),!1),{size:a}=i.stat(),o=ar.Buffer.alloc(a);return i.readSync(o,0,a,0),r.encoding?o.toString(r.encoding):o}catch(e){n.error=e,n.hasError=!0}finally{Vr(n)}}function Zr(e,t,n={}){let r={stack:[],error:void 0,hasError:!1};try{let i=Qt(n,`utf8`,`w+`,420),a=gr(i.flag);if(!(a&1||a&2))throw new A(O.EINVAL,`Flag passed to writeFile must allow for writing`);if(typeof t!=`string`&&!i.encoding)throw new A(O.EINVAL,`Encoding not specified`);let o=typeof t==`string`?ar.Buffer.from(t,i.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new A(O.EINVAL,`Data not specified`);Br(r,typeof e==`number`?pr(this,e):jr.call(this,e.toString(),{flag:a,mode:i.mode,preserveSymlinks:!0}),!1).writeSync(o,0,o.byteLength,0),zi(this,`change`,e.toString())}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function Qr(e,t,n={}){let r=Qt(n,`utf8`,`a+`,420),i=gr(r.flag);if(!(i&1024))throw new A(O.EINVAL,`Flag passed to appendFile must allow for appending`);if(typeof t!=`string`&&!r.encoding)throw new A(O.EINVAL,`Encoding not specified`);let a=typeof t==`string`?ar.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=typeof e==`number`?pr(this,e):jr.call(this,H(e),{flag:i,mode:r.mode,preserveSymlinks:!0});o.writeSync(a,0,a.byteLength),typeof o!=`number`&&o.closeSync()}function $r(e,t){let n=pr(this,e).stat();return t?.bigint?new yn(n):new vn(n)}function ei(e){pr(this,e).closeSync(),mr(this,e)}function ti(e,t=0){if(t||=0,t<0)throw new A(O.EINVAL);pr(this,e).truncateSync(t)}function ni(e){pr(this,e).syncSync()}function ri(e){pr(this,e).datasyncSync()}function ii(e,t,n,r,i){let a,o,s,c;if(typeof t==`string`){c=typeof n==`number`?n:null;let e=typeof r==`string`?r:`utf8`;o=0,a=ar.Buffer.from(t,e),s=a.byteLength}else a=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,s=r,c=typeof i==`number`?i:null;let l=pr(this,e);c??=l.position;let u=l.writeSync(a,o,s,c);return zi(this,`change`,l.path),u}function ai(e,t,n,r,i){let a=pr(this,e),o=typeof n==`object`?n.offset:n;if(typeof n==`object`&&(r=n.length,i=n.position),i&&i>2**53-1)throw j(`EINVAL`);return typeof i==`bigint`&&(i=Number(i)),i=Number.isSafeInteger(i)?i:a.position,a.readSync(t,o,r,i)}function oi(e,t,n){pr(this,e).chownSync(t,n)}function si(e,t){let n=Xt(t,-1);if(n<0)throw new A(O.EINVAL,`Invalid mode.`);pr(this,e).chmodSync(n)}function ci(e,t,n){pr(this,e).utimesSync(Zt(t),Zt(n))}function li(e){e=H(e);let{fs:t,path:n}=Ar(this,e),r=xr(t,`statSync`,e)(n);if(!An(r))throw j(`ENOTDIR`,`rmdir`,e);if(J&&!q(this,r,2))throw j(`EACCES`,`rmdir`,e);xr(t,`rmdirSync`,e)(n),zi(this,`rename`,e.toString())}function ui(e,t){t=typeof t==`object`?t:{mode:t};let n=Xt(t?.mode,511);return Nr.call(this,e,{...t,mode:n})}function di(e,t){t=typeof t==`object`?t:{encoding:t},e=H(e);let n=[],r=Pr.call(this,e,t??void 0);for(let e of r)t?.withFileTypes?n.push(Rr.from(e,t.encoding)):t?.encoding==`buffer`?n.push(ar.Buffer.from(e.path)):n.push(e.path);return n}function fi(e,t){return Ir.call(this,e,t)}function pi(e,t,n=`file`){let r={stack:[],error:void 0,hasError:!1};try{if(![`file`,`dir`,`junction`].includes(n))throw TypeError(`Invalid symlink type: `+n);t=H(t);let i=Br(r,jr.call(this,t,{flag:`wx`,mode:420}),!1);i.writeSync(w(H(e,!0))),i.chmodSync(Ze)}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function mi(e,t){let n=ar.Buffer.from(Mr.call(this,e)),r=typeof t==`object`?t?.encoding:t;return r==`buffer`?n:n.toString(r??`utf-8`)}function hi(e,t,n){let r={stack:[],error:void 0,hasError:!1};try{Br(r,jr.call(this,e,{flag:`r+`,mode:0}),!1).chownSync(t,n)}catch(e){r.error=e,r.hasError=!0}finally{Vr(r)}}function gi(e,t,n){let r=Yr.call(this,e,`r+`);oi.call(this,r,t,n),ei.call(this,r)}function _i(e,t){let n=Jr.call(this,e,`r+`);si.call(this,n,t),ei.call(this,n)}function vi(e,t){let n=Yr.call(this,e,`r+`);si.call(this,n,t),ei.call(this,n)}function yi(e,t,n){let r=Jr.call(this,e,`r+`);ci.call(this,r,t,n),ei.call(this,r)}function bi(e,t,n){let r=Yr.call(this,e,`r+`);ci.call(this,r,t,n),ei.call(this,r)}function xi(e,t){let n=typeof t==`string`?t:t?.encoding??`utf8`;e=H(e,!0);let{fullPath:r}=Ar(this,e);if(n==`utf8`||n==`utf-8`)return r;let i=ar.Buffer.from(r,`utf-8`);return n==`buffer`?i:i.toString(n)}function Si(e,t=384){if(J&&!q(this,Wr.call(this,e),t))throw new A(O.EACCES)}function Ci(e,t){e=H(e);let n;try{n=Gr.bind(this)(e)}catch(e){if(e.code!=`ENOENT`||!t?.force)throw e}if(n)switch(n.mode&Ye){case et:if(t?.recursive)for(let n of di.call(this,e))Ci.call(this,U(e,n),t);li.call(this,e);break;case Qe:case Ze:case $e:case tt:qr.call(this,e);break;case nt:case Xe:default:throw j(`ENOSYS`,`rm`,e)}}function wi(e,t){let n=typeof t==`object`?t?.encoding:t||`utf8`,r=tn(e);return ui.call(this,r),n==`buffer`?ar.Buffer.from(r):r}function Ti(e,t){let n=tn(e);ui.call(this,n);let r=()=>Ci(n,{recursive:!0,force:!0});return{path:n,remove:r,[Symbol.dispose]:r}}function Ei(e,t,n){if(e=H(e),t=H(t),n&&n&1&&Ur(t))throw j(`EEXIST`,`copyFile`,t);Zr.call(this,t,Xr(e)),zi(this,`rename`,t.toString())}function Di(e,t,n){let r=pr(this,e),i=0;for(let e of t)i+=r.readSync(e,0,e.byteLength,n+i);return i}function Oi(e,t,n){let r=pr(this,e),i=0;for(let e of t)i+=r.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+i);return i}function ki(e,t){return e=H(e),new zr(e,this)}function Ai(e,t,n){e=H(e),t=H(t);let r=Gr.call(this,e);if(n?.errorOnExist&&Ur.call(this,t))throw j(`EEXIST`,`cp`,t);switch(r.mode&Ye){case et:if(!n?.recursive)throw j(`EISDIR`,`cp`,e);ui.call(this,t,{recursive:!0});for(let r of di.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(U(e,r.name),U(t,r.name))||Ai.call(this,U(e,r.name),U(t,r.name),n);break;case Qe:case Ze:Ei.call(this,e,t);break;case $e:case tt:case nt:case Xe:default:throw j(`ENOSYS`,`cp`,e)}n?.preserveTimestamps&&yi.call(this,t,r.atime,r.mtime)}function ji(e,t){e=H(e);let{fs:n}=Y(e,this);return Er(n,t?.bigint)}function Mi(e,t={}){e=Array.isArray(e)?e:[e];let{cwd:n=`/`,withFileTypes:r=!1,exclude:i=()=>!1}=t,a=e.map(e=>e.replace(/^\/+/g,``)),o=a.some(e=>e.includes(`**`)),s=a.map(e=>{let t=e.search(/[*?[\]{]/);if(t===-1)return e;let n=e.lastIndexOf(`/`,t);return n===-1?``:e.slice(0,n)}),c=a.map($t),l=[];function u(e){let t=di(e,{withFileTypes:r,encoding:`utf8`});for(let n of t){let t=U(e,r?n.name:n);if(typeof i==`function`?i(r?n:t):i.some(e=>hn(e,t)))continue;let a=t.replace(/^\/+/g,``);Wr(t).isDirectory()&&(o||s.some(e=>a===e||e.startsWith(a+`/`)))&&u(t),c.some(e=>e.test(a))&&l.push(r?n:a)}}return u(n instanceof URL?n.pathname:n),l}var Ni=class extends u.default{_context;path;off(e,t,n,r){return super.off(e,t,n,r)}removeListener(e,t,n,r){return super.removeListener(e,t,n,r)}constructor(e,t){super(),this._context=e,this.path=t}setMaxListeners(){throw j(`ENOSYS`,`Watcher.setMaxListeners`)}getMaxListeners(){throw j(`ENOSYS`,`Watcher.getMaxListeners`)}prependListener(){throw j(`ENOSYS`,`Watcher.prependListener`)}prependOnceListener(){throw j(`ENOSYS`,`Watcher.prependOnceListener`)}rawListeners(){throw j(`ENOSYS`,`Watcher.rawListeners`)}ref(){return this}unref(){return this}},Pi=class extends Ni{options;realpath;constructor(e,t,n){let r=Ie(e);super(r,t),this.options=n,this.realpath=U(r.root,t),Li(this.realpath,this)}close(){super.emit(`close`),Ri(this.realpath,this)}[Symbol.dispose](){this.close()}},Fi=class extends Ni{options;intervalId;previous;constructor(e,t,n){super(e,t),this.options=n,this.start()}onInterval(){try{let e=Wr(this.path);bn(this.previous,e)||(this.emit(`change`,e,this.previous),this.previous=e)}catch(e){this.emit(`error`,e)}}start(){let e=this.options.interval||5e3;try{this.previous=Wr(this.path)}catch(e){this.emit(`error`,e);return}this.intervalId=setInterval(this.onInterval.bind(this),e),!this.options.persistent&&typeof this.intervalId==`object`&&this.intervalId.unref()}stop(){this.intervalId&&=(clearInterval(this.intervalId),void 0),this.removeAllListeners()}};const Ii=new Map;function Li(e,t){let n=H(e);Ii.has(n)||Ii.set(n,new Set),Ii.get(n).add(t)}function Ri(e,t){let n=H(e);Ii.has(n)&&(Ii.get(n).delete(t),Ii.get(n).size===0&&Ii.delete(n))}function zi(e,t,n){let r=Ie(e);r&&(n=U(r.root??`/`,n)),n=H(n);for(let e=n;e!=`/`;e=W(e)){let r=Ii.get(e);if(r)for(let i of r)i.emit(`change`,t,un.call(i._context,e,n)||dn(n))}}async function Bi(e,t,n,r){if(t=sn.call(e,t),n){let n=Y(t,e,r),i=await n.fs.stat(n.path).catch(()=>void 0);return{...n,fullPath:t,stats:i}}try{let i=Y(t,e),a=await i.fs.stat(i.path);return jn(a)?await Bi(e,sn.call(e,W(t),await Hi.call(e,t)),n,r):{...i,fullPath:t,stats:a}}catch{}let{base:i,dir:a}=mn(t),o=a==`/`?`/`:(await Bi(e,a,!1,r)).fullPath,s=U(o,i),c=Y(s,e),l=await c.fs.stat(c.path).catch(e=>{if(e.code!=`ENOENT`)throw k(Object.assign(e,{syscall:`stat`,path:s,...r}))});return l?jn(l)?await Bi(e,sn.call(e,o,await Hi.call(e,s)),!1,r):{...c,fullPath:s,stats:l}:{...c,fullPath:t}}async function Vi(e,t,n){t=H(t);let r=Xt(n.mode,420),i=gr(n.flag),a={syscall:`open`,path:t},{fs:o,path:s,stats:c}=await Bi(e,t,n.preserveSymlinks,a);if(!c){if(!(i&64))throw j(`ENOENT`,a);let c=await o.stat(W(s));if(J&&!q(e,c,2))throw j(`EACCES`,`open`,W(t));if(!An(c))throw j(`ENOTDIR`,`open`,W(t));if(!n.allowDirectory&&r&16384)throw j(`EISDIR`,`open`,t);let{euid:l,egid:u}=Ie(e).credentials,d=await o.createFile(s,{mode:r,uid:c.mode&2048?c.uid:l,gid:c.mode&1024?c.gid:u});return new dr(e,t,o,s,i,d)}if(J&&!q(e,c,vr(i)))throw j(`EACCES`,a);if(i&128)throw j(`EEXIST`,a);let l=new dr(e,t,o,s,i,c);if(!n.allowDirectory&&r&16384)throw j(`EISDIR`,`open`,t);return i&512&&await l.truncate(0),l}async function Hi(e){e=H(e);let t={syscall:`readlink`,path:e},{fs:n,stats:r,path:i}=await Bi(this,e,!0,t);if(!r)throw j(`ENOENT`,t);if(J&&!q(this,r,4))throw j(`EACCES`,t);if(!jn(r))throw j(`EINVAL`,t);let a=r.size,o=new Uint8Array(a);return await n.read(i,o,0,a),ee(o)}async function Ui(e,t={}){e=H(e);let{euid:n,egid:r}=Ie(this).credentials,{mode:i=511,recursive:a}=t,{fs:o,path:s}=Y(e,this,{syscall:`mkdir`}),c=async(e,t,a)=>{if(J&&!q(this,a,2))throw j(`EACCES`,`mkdir`,e);let s=await o.mkdir(t,{mode:i,uid:a.mode&2048?a.uid:n,gid:a.mode&1024?a.gid:r});return zi(this,`rename`,e),s};if(!a){await c(e,s,await o.stat(W(s)));return}let l=[],u=e;for(let e=s;!await o.exists(e);e=W(e),u=W(u))l.unshift([u,e]);if(!l.length)return;let d=[await o.stat(W(l[0][1]))];for(let[e,[t,n]]of l.entries())d.push(await c(t,n,d[e]));return l[0][0]}async function Wi(e,t={}){e=H(e);let n={syscall:`readdir`,path:e},{fs:r,path:i,stats:a}=await Bi(this,e,!1,n);if(!a)throw j(`ENOENT`,n);if(J&&!q(this,a,4))throw j(`EACCES`,n);if(!An(a))throw j(`ENOTDIR`,n);let o=await r.readdir(i),s=[],c=async e=>{let n=await r.stat(U(i,e)).catch(e=>{if(e.code!=`ENOENT`)throw e});if(!n)return;let a=new ur;if(a.ino=n.ino,a.type=cr(n.mode),a.path=e,a.name=dn(e),s.push(a),!t.recursive||!An(n))return;let o=await r.readdir(U(i,e));for(let t of o)await c(U(e,t))};return await Promise.all(o.map(c)),s}async function Gi(e,t){e=H(e),t=H(t);let n={syscall:`rename`,path:e,dest:t},r=await Bi(this,e,!0,n),i=Y(t,this,n);if(r.fs.uuid!==i.fs.uuid)throw j(`EXDEV`,n);if(i.path.startsWith(r.path+`/`))throw j(`EBUSY`,n);if(!r.stats)throw j(`ENOENT`,n);let a=r.fs,o=await a.stat(W(r.path)),s=await a.stat(W(i.path)),c=await a.stat(i.path).catch(e=>{if(e.code==`ENOENT`)return null;throw e});if(J&&(!q(this,o,4)||!q(this,s,2)))throw j(`EACCES`,n);if(c&&!An(r.stats)&&An(c))throw j(`EISDIR`,n);if(c&&An(r.stats)&&!An(c))throw j(`ENOTDIR`,n);await r.fs.rename(r.path,i.path),zi(this,`rename`,e),zi(this,`change`,t)}async function Ki(e,t){e=H(e),t=H(t);let n={syscall:`link`,path:t,dest:e},{fs:r,path:i}=Y(e,this,n),a=Y(t,this,n);if(r.uuid!=a.fs.uuid)throw j(`EXDEV`,n);let o=await r.stat(i);if(J){if(!q(this,o,4))throw j(`EACCES`,n);let e=await r.stat(W(i));if(!q(this,e,4))throw j(`EACCES`,n);let t=await r.stat(W(a.path));if(!q(this,t,2))throw j(`EACCES`,n)}return await r.link(i,a.path)}async function qi(e,t){e=H.call(this,e);let n={syscall:t?`lstat`:`stat`,path:e},r;if(!t)r=(await Bi(this,e,!1,n)).stats;else{let{base:t,dir:i}=mn(e),{fs:a,path:o}=await Bi(this,i,!1,n);r=await a.stat(t?U(o,t):o).catch(N(n))}if(!r)throw j(`ENOENT`,n);if(J&&!q(this,r,4))throw j(`EACCES`,n);return r}var Ji=class extends u.default{input;output;terminal;line=``;_cursor=0;get cursor(){return this._cursor}_buffer=``;_closed=!1;_paused=!1;_prompt=``;_history=[];_historyIndex=-1;_currentLine=``;constructor(e,t,n,r=!1){super(),this.input=e,this.output=t,this.terminal=r,this.input.on(`data`,this._onData),this.input.on(`end`,this.close.bind(this)),this.input.on(`close`,this.close.bind(this))}_onData=e=>{if(!(this._paused||this._closed)){this._buffer+=typeof e==`string`?e:e.toString(`utf8`);for(let e=this._buffer.indexOf(`
2
2
  `);e>=0;e=this._buffer.indexOf(`
3
3
  `)){let t=this._buffer.substring(0,e);t.endsWith(`\r`)&&(t=t.substring(0,t.length-1)),this._buffer=this._buffer.substring(e+1),this.line=t,t.trim()&&!t.trim().match(/^\s*$/)&&this._history.at(-1)!=t&&(this._history.push(t),this._historyIndex=this._history.length,this.emit(`history`,this._history)),this.emit(`line`,t)}}};close(){if(!this._closed){if(this._closed=!0,this.input?.removeAllListeners?.(),this._buffer.length){let e=this._buffer;this._buffer=``,this.line=e,this.emit(`line`,e)}this.emit(`history`,this._history),this.emit(`close`),this.removeAllListeners()}}pause(){return this._paused?this:(this._paused=!0,`pause`in this.input&&this.input.pause(),this.emit(`pause`),this)}resume(){return this._paused?(this._paused=!1,`resume`in this.input&&this.input.resume(),this.emit(`resume`),this):this}setPrompt(e){this._prompt=e}getPrompt(){return this._prompt}prompt(e){if(!this.output)return;if(!e){this.output.write(this._prompt);return}let{cols:t}=this.getCursorPos();this.output.write(this._prompt),this._cursor=t}write(e,t){if(!this._closed){if(e){let t=typeof e==`string`?e:e.toString(`utf8`);this._onData(t)}if(!(!t||!this.terminal))switch((t.ctrl?`^`:``)+t.name){case`^c`:this.emit(`SIGINT`);break;case`^z`:this.emit(`SIGTSTP`);break;case`^q`:this.emit(`SIGCONT`);break;case`home`:case`^a`:if(!this.output)return;Zi(this.output,-this._cursor,0),this._cursor=0,this._cursor=0;break;case`^e`:case`end`:{if(!this.output)return;let e=this.line.length-this._cursor;if(!e)return;Zi(this.output,e,0),this._cursor=this.line.length,this._cursor=this.line.length;break}case`^k`:{if(!this.output||this._cursor>=this.line.length)return;let e=this.line.slice(0,this._cursor);Xi(this.output,1),this.line=e;break}case`^u`:{if(!this.output||!this._cursor)return;let e=this.line.slice(this._cursor);Xi(this.output,0),Zi(this.output,0,0),this.output.write(this._prompt+e),this.line=e,this._cursor=0,this._cursor=0;break}case`^w`:{if(!this.output||!this._cursor)return;let e=this._cursor-1;for(;e>=0&&this.line[e]===` `;)e--;for(;e>=0&&this.line[e]!==` `;)e--;let t=this.line.slice(0,e+1)+this.line.slice(this._cursor),n=e+1;this._renderLine(t),this._cursor=n,this._cursor=n,Zi(this.output,-t.length,0),Zi(this.output,n,0);break}case`^return`:case`^enter`:this._onData(`
4
4
  `);break;case`return`:case`enter`:this._onData((e?typeof e==`string`?e:e.toString(`utf8`):``)+`