@gjsify/cli 0.13.1 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.gjs.mjs CHANGED
@@ -628,7 +628,7 @@ ${[...S,a].map((n,a)=>`${a+1}. ${n}`).join(`
628
628
  `+` `.repeat(a)),Array(Fh).fill(0).map((n,a)=>`\r`+` `.repeat(a)),Array(Fh).fill(0).map((n,a)=>`\r
629
629
  `+` `.repeat(a)),Array(Fh).fill(0).map((n,a)=>`
630
630
  `+` `.repeat(a)),Array(Fh).fill(0).map((n,a)=>`\r`+` `.repeat(a)),Array(Fh).fill(0).map((n,a)=>`\r
631
- `+` `.repeat(a)),(function(n){n.DEFAULT={allowTrailingComma:!1}})(Ih||={}),r(Pe,`parse$1`),r(We,`visit`),(function(n){n[n.None=0]=`None`,n[n.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=4]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=6]=`InvalidCharacter`})(Lh||={}),(function(n){n[n.OpenBraceToken=1]=`OpenBraceToken`,n[n.CloseBraceToken=2]=`CloseBraceToken`,n[n.OpenBracketToken=3]=`OpenBracketToken`,n[n.CloseBracketToken=4]=`CloseBracketToken`,n[n.CommaToken=5]=`CommaToken`,n[n.ColonToken=6]=`ColonToken`,n[n.NullKeyword=7]=`NullKeyword`,n[n.TrueKeyword=8]=`TrueKeyword`,n[n.FalseKeyword=9]=`FalseKeyword`,n[n.StringLiteral=10]=`StringLiteral`,n[n.NumericLiteral=11]=`NumericLiteral`,n[n.LineCommentTrivia=12]=`LineCommentTrivia`,n[n.BlockCommentTrivia=13]=`BlockCommentTrivia`,n[n.LineBreakTrivia=14]=`LineBreakTrivia`,n[n.Trivia=15]=`Trivia`,n[n.Unknown=16]=`Unknown`,n[n.EOF=17]=`EOF`})(Rh||={}),zh=Pe,(function(n){n[n.InvalidSymbol=1]=`InvalidSymbol`,n[n.InvalidNumberFormat=2]=`InvalidNumberFormat`,n[n.PropertyNameExpected=3]=`PropertyNameExpected`,n[n.ValueExpected=4]=`ValueExpected`,n[n.ColonExpected=5]=`ColonExpected`,n[n.CommaExpected=6]=`CommaExpected`,n[n.CloseBraceExpected=7]=`CloseBraceExpected`,n[n.CloseBracketExpected=8]=`CloseBracketExpected`,n[n.EndOfFileExpected=9]=`EndOfFileExpected`,n[n.InvalidCommentToken=10]=`InvalidCommentToken`,n[n.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=14]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=16]=`InvalidCharacter`})(Bh||={}),Vh=r((n,a)=>zh(kh(a,n,`utf8`)),`readJsonc`),Hh=Symbol(`implicitBaseUrl`),Uh="${configDir}",Wh=r(()=>{let{findPnpApi:n}=Ho;return n&&n(process.cwd())},`getPnpApi`),Gh=r((n,a,S,C)=>{let N=`resolveFromPackageJsonPath:${n}:${a}:${S}`;if(C!=null&&C.has(N))return C.get(N);let F=Vh(n,C);if(!F)return;let I=a||`tsconfig.json`;if(!S&&F.exports)try{let[n]=v(F.exports,a,[`require`,`types`]);I=n}catch{return!1}else !a&&F.tsconfig&&(I=F.tsconfig);return I=fs.join(n,`..`,I),C?.set(N,I),I},`resolveFromPackageJsonPath`),Kh=`package.json`,qh=`tsconfig.json`,Jh=r((n,a,S)=>{let C=n;if(n===`..`&&(C=fs.join(C,qh)),n[0]===`.`&&(C=fs.resolve(a,C)),fs.isAbsolute(C)){if(Oh(S,C)){if(Ah(S,C).isFile())return C}else if(!C.endsWith(`.json`)){let n=`${C}.json`;if(Oh(S,n))return n}return}let[N,...F]=n.split(`/`),I=N[0]===`@`?`${N}/${F.shift()}`:N,H=F.join(`/`),W=Wh();if(W){let{resolveRequest:C}=W;try{if(I===n){let n=C(fs.join(I,Kh),a);if(n){let a=Gh(n,H,!1,S);if(a&&Oh(S,a))return a}}else{let S;try{S=C(n,a,{extensions:[`.json`]})}catch{S=C(fs.join(n,qh),a)}if(S)return S}}catch{}}let K=jh(fs.resolve(a),fs.join(`node_modules`,I),S);if(!K||!Ah(S,K).isDirectory())return;let q=fs.join(K,Kh);if(Oh(S,q)){let n=Gh(q,H,!1,S);if(n===!1)return;if(n&&Oh(S,n)&&Ah(S,n).isFile())return n}let Y=fs.join(K,H),X=Y.endsWith(`.json`);if(!X){let n=`${Y}.json`;if(Oh(S,n))return n}if(Oh(S,Y)){if(Ah(S,Y).isDirectory()){let n=fs.join(Y,Kh);if(Oh(S,n)){let a=Gh(n,``,!0,S);if(a&&Oh(S,a))return a}let a=fs.join(Y,qh);if(Oh(S,a))return a}else if(X)return Y}},`resolveExtendsPath`),Yh=r((n,a)=>Nh(fs.relative(n,a)),`pathRelative`),Xh=[`files`,`include`,`exclude`],Zh=r((n,a,S)=>{let C=fs.join(a,S);return h$1(fs.relative(n,C))||`./`},`resolveAndRelativize`),Qh=r((n,a,S)=>{let C=fs.relative(n,a);return C?h$1(`${C}/${S.startsWith(`./`)?S.slice(2):S}`):S},`prefixPattern`),$h=r((n,a,S,C)=>{let N=Jh(n,a,C);if(!N)throw Error(`File '${n}' not found.`);if(S.has(N))throw Error(`Circularity detected while resolving configuration: ${N}`);S.add(N);let F=fs.dirname(N),I=tg(N,C,S);delete I.references;let{compilerOptions:H}=I;if(H){let{baseUrl:n}=H;n&&!n.startsWith(Uh)&&(H.baseUrl=Zh(a,F,n));let{outDir:S}=H;S&&!S.startsWith(Uh)&&(H.outDir=Zh(a,F,S));let{declarationDir:C}=H;C&&!C.startsWith(Uh)&&(H.declarationDir=Zh(a,F,C));let{rootDir:N}=H;N&&!N.startsWith(Uh)&&(H.rootDir=Zh(a,F,N));let{rootDirs:I}=H;I&&(H.rootDirs=I.map(n=>n.startsWith(Uh)?n:Zh(a,F,n)));let{typeRoots:W}=H;W&&(H.typeRoots=W.map(n=>n.startsWith(Uh)?n:Zh(a,F,n)))}for(let n of Xh){let S=I[n];S&&(I[n]=S.map(n=>n.startsWith(Uh)?n:Qh(a,F,n)))}return I},`resolveExtends`),eg=[`outDir`,`declarationDir`],tg=r((n,a,S=new Set)=>{let C;try{C=Vh(n,a)||{}}catch{throw Error(`Cannot resolve tsconfig at path: ${n}`)}if(typeof C!=`object`)throw SyntaxError(`Failed to parse tsconfig at: ${n}`);let N=fs.dirname(n);if(C.compilerOptions){let{compilerOptions:n}=C;n.paths&&!n.baseUrl&&(n[Hh]=N)}if(C.extends){let n=Array.isArray(C.extends)?C.extends:[C.extends];delete C.extends;for(let F of n.reverse()){let n=$h(F,N,new Set(S),a),I={...n,...C,compilerOptions:{...n.compilerOptions,...C.compilerOptions}};n.watchOptions&&(I.watchOptions={...n.watchOptions,...C.watchOptions}),C=I}}if(C.compilerOptions){let{compilerOptions:n}=C;for(let a of[`baseUrl`,`rootDir`]){let S=n[a];S&&!S.startsWith(Uh)&&(n[a]=Yh(N,fs.resolve(N,S)))}for(let a of eg){let S=n[a];S&&(Array.isArray(C.exclude)||(C.exclude=eg.map(a=>n[a]).filter(Boolean)),S.startsWith(Uh)||(S=Nh(S)),n[a]=S)}}else C.compilerOptions={};if(C.include&&=C.include.map(h$1),C.files&&=C.files.map(n=>n.startsWith(Uh)?n:Nh(n)),C.watchOptions){let{watchOptions:n}=C;n.excludeDirectories&&=n.excludeDirectories.map(n=>h$1(fs.resolve(N,n))),n.excludeFiles&&=n.excludeFiles.map(n=>h$1(fs.resolve(N,n))),n.watchFile&&=n.watchFile.toLowerCase(),n.watchDirectory&&=n.watchDirectory.toLowerCase(),n.fallbackPolling&&=n.fallbackPolling.toLowerCase()}return C},`_parseTsconfig`),ng=r((n,a)=>{if(n.startsWith(Uh))return h$1(fs.join(a,n.slice(12)))},`interpolateConfigDir`),rg=[`outDir`,`declarationDir`,`outFile`,`rootDir`,`baseUrl`,`tsBuildInfoFile`],ig=r(n=>{if(n.strict)for(let a of[`noImplicitAny`,`noImplicitThis`,`strictNullChecks`,`strictFunctionTypes`,`strictBindCallApply`,`strictPropertyInitialization`,`strictBuiltinIteratorReturn`,`alwaysStrict`,`useUnknownInCatchVariables`])n[a]===void 0&&(n[a]=!0);if(n.composite&&(n.declaration??=!0,n.incremental??=!0),n.target){let a=n.target.toLowerCase();a===`es2015`&&(a=`es6`),n.target=a,a===`esnext`&&(n.module??=`es6`,n.useDefineForClassFields??=!0),(a===`es6`||a===`es2016`||a===`es2017`||a===`es2018`||a===`es2019`||a===`es2020`||a===`es2021`||a===`es2022`||a===`es2023`||a===`es2024`)&&(n.module??=`es6`),(a===`es2022`||a===`es2023`||a===`es2024`)&&(n.useDefineForClassFields??=!0)}if(n.module){let a=n.module.toLowerCase();if(a===`es2015`&&(a=`es6`),n.module=a,(a===`es6`||a===`es2020`||a===`es2022`||a===`esnext`||a===`none`||a===`system`||a===`umd`||a===`amd`)&&(n.moduleResolution??=`classic`),a===`system`&&(n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`||a===`preserve`)&&(n.esModuleInterop??=!0,n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`)&&(n.moduleDetection??=`force`),a===`node16`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node18`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node20`&&(n.target??=`es2023`,n.moduleResolution??=`node16`,n.resolveJsonModule??=!0),a===`nodenext`&&(n.target??=`esnext`,n.moduleResolution??=`nodenext`,n.resolveJsonModule??=!0),a===`node16`||a===`node18`||a===`node20`||a===`nodenext`){let a=n.target;(a===`es3`||a===`es2022`||a===`es2023`||a===`es2024`||a===`esnext`)&&(n.useDefineForClassFields??=!0)}a===`preserve`&&(n.moduleResolution??=`bundler`)}if(n.moduleResolution){let a=n.moduleResolution.toLowerCase();a===`node`&&(a=`node10`),n.moduleResolution=a,(a===`node16`||a===`nodenext`||a===`bundler`)&&(n.resolvePackageJsonExports??=!0,n.resolvePackageJsonImports??=!0),a===`bundler`&&(n.allowSyntheticDefaultImports??=!0,n.resolveJsonModule??=!0)}n.jsx&&=n.jsx.toLowerCase(),n.moduleDetection&&=n.moduleDetection.toLowerCase(),n.importsNotUsedAsValues&&=n.importsNotUsedAsValues.toLowerCase(),n.newLine&&=n.newLine.toLowerCase(),n.esModuleInterop&&(n.allowSyntheticDefaultImports??=!0),n.verbatimModuleSyntax&&(n.isolatedModules??=!0,n.preserveConstEnums??=!0),n.isolatedModules&&(n.preserveConstEnums??=!0),n.rewriteRelativeImportExtensions&&(n.allowImportingTsExtensions??=!0),n.lib&&=n.lib.map(n=>n.toLowerCase()),n.checkJs&&(n.allowJs??=!0)},`normalizeCompilerOptions`),ag=r((n,a=new Map)=>{let S=fs.resolve(n),C=tg(S,a),N=fs.dirname(S),{compilerOptions:F}=C;if(F){for(let n of rg){let a=F[n];if(a){let S=ng(a,N);F[n]=S?Yh(N,S):a}}for(let n of[`rootDirs`,`typeRoots`]){let a=F[n];a&&(F[n]=a.map(n=>{let a=ng(n,N);return a?Yh(N,a):Nh(n)}))}let{paths:n}=F;if(n)for(let a of Object.keys(n))n[a]=n[a].map(n=>ng(n,N)??n);ig(F)}for(let n of Xh){let a=C[n];a&&(C[n]=a.map(n=>ng(n,N)??n))}return C},`parseTsconfig`),og=Object.defineProperty,sg=r((n,a)=>og(n,`name`,{value:a,configurable:!0}),`s`),cg=sg(n=>{let a=``;for(let S=0;S<n.length;S+=1){let C=n[S],N=C.toUpperCase();a+=C===N?C.toLowerCase():N}return a},`invertCase`),lg=new Map,ug=sg((n,a)=>{let S=fs.join(n,`.is-fs-case-sensitive-test-${process.pid}`);try{return a.writeFileSync(S,``),!a.existsSync(cg(S))}finally{try{a.unlinkSync(S)}catch{}}},`checkDirectoryCaseWithWrite`),dg=sg((n,a,S)=>{try{return ug(n,S)}catch(n){if(a===void 0)return ug(Up.tmpdir(),S);throw n}},`checkDirectoryCaseWithFallback`),fg=sg((n,a=Xc,S=!0)=>{let C=n??process.cwd();if(S&&lg.has(C))return lg.get(C);let N,F=cg(C);return N=F!==C&&a.existsSync(C)?!a.existsSync(F):dg(C,n,a),S&&lg.set(C,N),N},`isFsCaseSensitive`),{join:pg}=fs.posix,mg={ts:[`.ts`,`.tsx`,`.d.ts`],cts:[`.cts`,`.d.cts`],mts:[`.mts`,`.d.mts`]},hg=r(n=>{let a=[...mg.ts],S=[...mg.cts],C=[...mg.mts];return n!=null&&n.allowJs&&(a.push(`.js`,`.jsx`),S.push(`.cjs`),C.push(`.mjs`)),[...a,...S,...C]},`getSupportedExtensions`),gg=r(n=>{let a=[];if(!n)return a;let{outDir:S,declarationDir:C}=n;return S&&a.push(S),C&&a.push(C),a},`getDefaultExcludeSpec`),_g=r(n=>n.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),`escapeForRegexp`),vg=`(?!(${[`node_modules`,`bower_components`,`jspm_packages`].join(`|`)})(/|$))`,yg=/(?:^|\/)[^.*?]+$/,bg=`**/*`,xg=`[^/]`,Sg=`[^./]`,Cg=process.platform===`win32`,wg=r(({config:n,path:a},S=fg())=>{if(`extends`in n)throw Error(`tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.`);if(!fs.isAbsolute(a))throw Error(`The tsconfig path must be absolute`);Cg&&(a=h$1(a));let C=fs.dirname(a),{files:N,include:F,exclude:I,compilerOptions:H}=n,W=r(n=>fs.isAbsolute(n)?n:pg(C,n),`resolvePattern`),K=N?.map(W),q=hg(H),Y=S?``:`i`,X=(I||gg(H)).map(n=>{let a=_g(W(n)).replaceAll(String.raw`\*\*/`,`(.+/)?`).replaceAll(String.raw`\*`,`${xg}*`).replaceAll(String.raw`\?`,xg);return RegExp(`^${a}($|/)`,Y)}),te=N||F?F:[bg],ne=te?te.map(n=>{let a=W(n);yg.test(a)&&(a=pg(a,bg));let S=_g(a).replaceAll(String.raw`/\*\*`,`(/${vg}${Sg}${xg}*)*?`).replaceAll(/(\/)?\\\*/g,(n,a)=>{let S=`(${Sg}|(\\.(?!min\\.js$))?)*`;return a?`/${vg}${Sg}${S}`:S}).replaceAll(/(\/)?\\\?/g,(n,a)=>{let S=xg;return a?`/${vg}${S}`:S});return RegExp(`^${S}$`,Y)}):void 0;return a=>{if(!fs.isAbsolute(a))throw Error(`filePath must be absolute`);if(Cg&&(a=h$1(a)),K!=null&&K.includes(a)||!(!q.some(n=>a.endsWith(n))||X.some(n=>n.test(a)))&&ne&&ne.some(n=>n.test(a)))return n}},`createFilesMatcher`),Tg=r((n,a,S)=>{let C=fs.resolve(n),N=h$1(n);for(;;){let n=jh(N,a,S);if(!n)return;let F=fs.resolve(n),I=ag(F,S),H={path:h$1(F),config:I};if(wg(H)(C))return H;let W=fs.dirname(n),K=fs.dirname(W);if(K===W)return;N=K}},`findConfigApplicable`),Eg=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>C?Tg(n,a,S)?.path:jh(h$1(n),a,S),`findTsconfig`),Dg=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>{if(!C){let C=Eg(n,a,S);return C?{path:C,config:ag(C,S)}:null}return Tg(n,a,S)??null},`getTsconfig`),Og=/\*/g,kg=r((n,a)=>{let S=n.match(Og);if(S&&S.length>1)throw Error(a)},`assertStarCount`),Ag=r(n=>{if(n.includes(`*`)){let[a,S]=n.split(`*`);return{prefix:a,suffix:S}}return n},`parsePattern`),jg=r(({prefix:n,suffix:a},S)=>S.startsWith(n)&&S.endsWith(a),`isPatternMatch`),Mg=r((n,a,S)=>Object.entries(n).map(([n,C])=>(kg(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Ag(n),substitutions:C.map(C=>{if(kg(C,`Substitution '${C}' in pattern '${n}' can have at most one '*' character.`),!a&&!Mh.test(C)&&!fs.isAbsolute(C))throw Error(`Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?`);return fs.resolve(S,C)})})),`parsePaths`),r(n=>{let{compilerOptions:a}=n.config;if(!a)return null;let{baseUrl:S,paths:C}=a;if(!S&&!C)return null;let N=Hh in a&&a[Hh],F=fs.resolve(fs.dirname(n.path),S||N||`.`),I=C?Mg(C,S,F):[];return n=>{if(Mh.test(n))return[];let a=[];for(let S of I){if(S.pattern===n)return S.substitutions.map(h$1);typeof S.pattern!=`string`&&a.push(S)}let C,N=-1;for(let S of a)jg(S.pattern,n)&&S.pattern.prefix.length>N&&(N=S.pattern.prefix.length,C=S);if(!C)return S?[h$1(fs.join(F,n))]:[];let H=n.slice(C.pattern.prefix.length,n.length-C.pattern.suffix.length);return C.substitutions.map(n=>h$1(n.replace(`*`,H)))}},`createPathsMatcher`)});function defaultSearchPlaces(n){return[`package.json`,`.${n}rc`,`.${n}rc.json`,`.${n}rc.yaml`,`.${n}rc.yml`,`.${n}rc.js`,`.${n}rc.ts`,`.${n}rc.mjs`,`.${n}rc.cjs`,`${n}.config.js`,`${n}.config.ts`,`${n}.config.mjs`,`${n}.config.cjs`]}function merge(n,...a){for(let S of a)if(S)for(let a of Object.keys(S)){let C=n[a],N=S[a];N!==void 0&&(isPlainObject$1(C)&&isPlainObject$1(N)?merge(C,N):n[a]=N)}return n}function isPlainObject$1(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&Object.getPrototypeOf(n)===Object.prototype}function readDottedPath(n,a){if(!a.includes(`.`))return n[a];let S=n;for(let n of a.split(`.`)){if(typeof S!=`object`||!S)return;S=S[n]}return S}var Pg,Config,Fg=__esmMin(()=>{Ae(),ef(),Pg=am(),ph(),Ng(),__name$1(isPlainObject$1,`isPlainObject`),Config=class{loadOptions={};constructor(n={}){Object.keys(n).length&&(this.loadOptions=n)}async load(n){let a=await(0,Pg.cosmiconfig)($d,{...this.loadOptions,searchPlaces:(this.loadOptions.searchPlaces??defaultSearchPlaces(`gjsify`)).filter(n=>n!==`package.json`)}).search(n),S={};try{let a=await this.readPackageJSON(n);isPlainObject$1(a?.gjsify)&&merge(S,a.gjsify)}catch{}return a?.config&&isPlainObject$1(a.config)&&merge(S,a.config),S.bundler||={},S.library||={},S.typescript||={},{config:S,filepath:a?.filepath??``,isEmpty:!a&&Object.keys(S).length===3}}async readPackageJSON(n){return n=await resolvePackageJSON(n),await readPackageJSON(n)}async readTSConfig(n){return Dg(n)?.config||{}}async forBuild(n){let a=await this.load(process.cwd()),S={...a.config},C=a.filepath||process.cwd(),N=await this.readPackageJSON(C),F=await this.readTSConfig(C);if(F.reflection||=n.reflection,S.verbose=n.verbose||!1,S.exclude=n.exclude||[],n.consoleShim!==void 0&&(S.consoleShim=n.consoleShim),n.globals!==void 0&&(S.globals=n.globals),S.globals??=`auto`,n.shebang!==void 0&&(S.shebang=n.shebang),n.excludeGlobals){let a=(Array.isArray(n.excludeGlobals)?n.excludeGlobals.join(`,`):String(n.excludeGlobals)).split(`,`).map(n=>n.trim()).filter(Boolean);a.length&&(S.excludeGlobals=[...S.excludeGlobals??[],...a])}merge(S.library??={},N,S.library),merge(S.typescript??={},F,S.typescript);let parseKvPairs=(n,a)=>{let S={};for(let C of n){let n=C.indexOf(`=`);if(n===-1)throw Error(`Invalid --${a} value '${C}'. Expected KEY=VALUE.`);let N=C.slice(0,n).trim(),F=C.slice(n+1);if(!N)throw Error(`Invalid --${a} value '${C}'. Empty key.`);S[N]=F}return S},I=parseKvPairs(n.define??[],`define`),H=parseKvPairs(n.alias??[],`alias`);Object.keys(H).length&&(S.aliases={...S.aliases,...H});let W={};if(S.defineFromPackageJson)for(let[n,a]of Object.entries(S.defineFromPackageJson)){if(!a||typeof a.field!=`string`||!a.field)throw Error(`gjsify config: defineFromPackageJson["${n}"] is missing a "field" string`);let S=readDottedPath(N,a.field);W[n]=S===void 0?`undefined`:JSON.stringify(S)}let K={};if(S.defineFromEnv)for(let[n,a]of Object.entries(S.defineFromEnv)){if(!a||typeof a.env!=`string`||!a.env)throw Error(`gjsify config: defineFromEnv["${n}"] is missing an "env" string`);let S=process.env[a.env],C=S===void 0?a.default:S;K[n]=C===void 0?`undefined`:JSON.stringify(C)}let q=S.bundler??={},Y=q.output??={},X=q.transform??={};return n.entryPoints?.length&&(q.input=n.entryPoints),q.input||=[`src/index.ts`],n.outfile!==void 0&&(Y.file=n.outfile),n.outdir!==void 0&&(Y.dir=n.outdir),n.format!==void 0&&(Y.format=n.format),n.minify!==void 0&&(Y.minify=n.minify),Y.minify===void 0&&(Y.minify=!0),Y.minify===!0&&(Y.keepNames=!0),n.logLevel&&(q.logLevel={silent:`silent`,error:`warn`,warning:`warn`,warn:`warn`,info:`info`,debug:`debug`,verbose:`debug`}[n.logLevel]??`warn`),n.external?.length&&(q.external=[...Array.isArray(q.external)?q.external:[],...n.external]),(Object.keys(I).length||Object.keys(W).length||Object.keys(K).length)&&(X.define={...X.define,...W,...K,...I}),S.verbose&&ke.debug(`configData`,S),S}}});function discoverWorkspaces(n,a={}){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`@gjsify/workspace: no package.json at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=a.patterns??extractWorkspacePatterns(C),F=N.filter(n=>!n.startsWith(`!`)),I=N.filter(n=>n.startsWith(`!`)).map(n=>globToRegex$1(n.slice(1))),H=[],W=new Set;a.includeRoot&&C.name&&(H.push({location:n,relativeLocation:`.`,name:C.name,version:C.version??`0.0.0`,manifest:C,private:C.private===!0}),W.add(n));for(let a of F)for(let S of expandPattern(n,a)){if(W.has(S))continue;let a=rs(n,S).split(us).join(`/`);if(I.some(n=>n.test(a)))continue;let C=ns(S,`package.json`);if(!existsSync(C))continue;let N;try{N=JSON.parse(readFileSync(C,`utf-8`))}catch{continue}N.name&&(W.add(S),H.push({location:S,relativeLocation:a,name:N.name,version:N.version??`0.0.0`,manifest:N,private:N.private===!0}))}return H.sort((n,a)=>n.relativeLocation.localeCompare(a.relativeLocation)),H}function buildDependencyGraph(n,a={}){let S=a.includeDev??!1,C=a.includePeer??!1,N=a.includeOptional??!0,F=indexByName(n),I=new Map;for(let a of n){let n=new Set,H=a.manifest;for(let a of[H.dependencies,S?H.devDependencies:void 0,C?H.peerDependencies:void 0,N?H.optionalDependencies:void 0])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&F.has(S)&&n.add(S);I.set(a.name,n)}return{edges:I,byName:F}}function topologicalSort(n){let a=new Map;for(let S of n.edges.keys())a.set(S,0);for(let S of n.edges.values())for(let n of S)a.has(n)&&a.set(n,(a.get(n)??0)+1);let S=new Map,C=new Map;for(let a of n.edges.keys())S.set(a,new Set),C.set(a,0);for(let[a,N]of n.edges)for(let n of N)S.has(n)&&(S.get(n).add(a),C.set(a,(C.get(a)??0)+1));let N=[];for(let[n,a]of C)a===0&&N.push(n);N.sort();let F=[];for(;N.length>0;){let a=N.shift(),I=n.byName.get(a);I&&F.push(I);let H=S.get(a);if(H){let n=[];for(let a of H){let S=(C.get(a)??1)-1;C.set(a,S),S===0&&n.push(a)}n.sort(),N.push(...n)}}if(F.length!==C.size){let n=[...C.entries()].filter(([,n])=>n>0).map(([n])=>n);throw Error(`@gjsify/workspace: dependency cycle detected involving ${n.join(`, `)}`)}return F}function buildReverseDependencyGraph(n,a={}){let S=buildDependencyGraph(n,a),C=new Map;for(let n of S.edges.keys())C.set(n,new Set);for(let[n,a]of S.edges)for(let S of a){let a=C.get(S);a&&a.add(n)}return{edges:C,byName:S.byName}}function affectedClosure(n,a){let S=new Set,C=[];for(let N of a)n.byName.has(N)&&(S.has(N)||(S.add(N),C.push(N)));for(;C.length>0;){let a=C.shift(),N=n.edges.get(a);if(N)for(let n of N)S.has(n)||(S.add(n),C.push(n))}return S}function workspacesForChangedFiles(n,a,S){let C=new Set,N=[],F={children:new Map};for(let a of n){if(a.relativeLocation===`.`||a.relativeLocation===``)continue;let n=a.relativeLocation.split(`/`).filter(Boolean),S=F;for(let a of n){let n=S.children.get(a);n||(n={children:new Map},S.children.set(a,n)),S=n}S.ws=a.name}for(let n of S){if(!n)continue;let a=n.replace(/\\/g,`/`).split(`/`).filter(Boolean),S=F,I;for(let n of a){if(S=S.children.get(n),!S)break;S.ws&&(I=S.ws)}I?C.add(I):N.push(n)}return{matched:C,unmatched:N}}function filterWorkspaces(n,a){let S=a.include?.map(globToRegex$1),C=a.exclude?.map(globToRegex$1);return n.filter(n=>!(a.noPrivate&&n.private||S&&S.length>0&&!S.some(a=>a.test(n.name))||C&&C.some(a=>a.test(n.name))))}function extractWorkspacePatterns(n){let a=n.workspaces;return a?Array.isArray(a)?a:a.packages??[]:[]}function expandPattern(n,a){let S=a.split(`/`).filter(Boolean),C=[$o(n)];for(let n of S){let a=[];for(let S of C)if(n===`*`){let n=[];try{n=readdirSync(S)}catch{continue}for(let C of n){if(C.startsWith(`.`))continue;let n=ns(S,C);try{statSync(n).isDirectory()&&a.push(n)}catch{}}}else if(n.includes(`*`)){let C=globToRegex$1(n),N=[];try{N=readdirSync(S)}catch{continue}for(let n of N){if(n.startsWith(`.`)||!C.test(n))continue;let N=ns(S,n);try{statSync(N).isDirectory()&&a.push(N)}catch{}}}else{let C=ns(S,n);if(existsSync(C))try{statSync(C).isDirectory()&&a.push(C)}catch{}}C=a}return C}function globToRegex$1(n){let a=n.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`[^/]*`);return RegExp(`^${a}$`)}function indexByName(n){let a=new Map;for(let S of n)a.set(S.name,S);return a}var Ig=__esmMin(()=>{Zc(),ps(),__name$1(globToRegex$1,`globToRegex`)});function readPackageJson$4(n){try{return JSON.parse(readFileSync(n,`utf-8`))}catch{return null}}function findWorkspaceRoot(n){let a=n;for(let S=0;S<12;S++){let S=ns(a,`package.json`);if(existsSync(S)&&readPackageJson$4(S)?.workspaces!==void 0)try{let S=discoverWorkspaces(a);if(a===n||S.some(a=>a.location===n))return a}catch{}let C=$o(a,`..`);if(C===a)break;a=C}return null}var Lg=__esmMin(()=>{Zc(),ps(),Ig(),__name$1(readPackageJson$4,`readPackageJson`)});function resolveNpmPackage(n,a={}){let S=a.cwd??process.cwd(),C=process.env.GJSIFY_NODE_PATH;if(C)for(let a of C.split(`:`).filter(Boolean)){let S=tryResolveFromDir(n,$o(a));if(S)return S}let N=tryResolveFromDir(n,S);if(N)return N;let F=findWorkspaceRoot(S);if(F&&F!==S){let a=tryResolveFromDir(n,F);if(a)return a}if(a.bundleUrl)try{return createRequire(a.bundleUrl).resolve(n)}catch{}let I=$o(S,`..`);for(let a=0;a<8;a++){let a=tryResolveFromDir(n,I);if(a)return a;let S=$o(I,`..`);if(S===I)break;I=S}return null}function tryResolveFromDir(n,a){try{let S=pathToFileURL(ns(a,`__gjsify_resolve__.js`)).href;return createRequire(S).resolve(n)}catch{return null}}var Rg=__esmMin(()=>{Uo(),mn(),ps(),Lg()});function isGjs(){return globalThis.imports?.gi!==void 0}function isNode(){return isGjs()?!1:typeof globalThis.process?.versions?.node==`string`}var zg=__esmMin(()=>{});async function loadNpmRolldown(){if(isGjs())throw Error("gjsify build: no usable bundler engine under GJS — `@gjsify/rolldown-native` is not loadable (its JS facade lib/ is not built, or its prebuild typelib is missing from GI_TYPELIB_PATH), and the npm `rolldown` engine is a Rust napi crate that cannot run under GJS. Build the facade first (`gjsify workspace @gjsify/rolldown-native build` under Node) or run this build under Node.");return(await import(resolveImportTargetForGjs(`rolldown`))).rolldown}function resolveImportTargetForGjs(n){if(!isGjs())return n;let a=resolveNpmPackage(n,{bundleUrl:import.meta.url});return a?pathToFileURL(a).href:n}async function bundleToChunks(n){if(await shouldUseNative()){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.rolldownInput.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let N=liftTransformExtras(stripUnserializable({...n.rolldownInput,input:normalizeInputForNative(n.rolldownInput.input),format:n.format}));delete N.plugins;let F=await a.bundleWithPlugins(N,C);reportNativeWarnings(F,n.rolldownInput);let I=[];for(let n of F.output)n.type===`chunk`&&I.push(n.code);return I}let a=await(await loadNpmRolldown())(n.rolldownInput);try{let S=await a.generate({format:n.format,minify:!1,sourcemap:!1}),C=[];for(let n of S.output)n.type===`chunk`&&C.push(n.code);return C}finally{await a.close()}}async function runWatch(n){if(await shouldUseNative())throw Error("`gjsify build --watch` requires the npm `rolldown` engine. The native engine (`@gjsify/rolldown-native`) does not expose a watcher API. Run the watch loop under Node (`node lib/index.js build … --watch`) or set `GJSIFY_BUNDLER=npm`.");let a=await import(resolveImportTargetForGjs(`rolldown`)),S=n.output??{};return a.watch({...n,output:S})}async function runBundle(n){if(await shouldUseNative())return await runNativeBundle(n);let a=await(await loadNpmRolldown())(n);try{return await a.write(n.output??{})}finally{await a.close()}}async function shouldUseNative(){let n=(globalThis.process?.env??{}).GJSIFY_BUNDLER;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNative())throw Error(`GJSIFY_BUNDLER=native but @gjsify/rolldown-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return isGjs()?await tryLoadNative()!==null:!1}function findRolldownNativeDir(n,a){let S=ns(`node_modules`,`@gjsify`,`rolldown-native`,`package.json`),C=[n];a&&a!==n&&C.push(a);for(let n of C){let a=n;for(let n=0;n<12;n++){if(existsSync(ns(a,S)))return ns(a,`node_modules`,`@gjsify`,`rolldown-native`);let n=$o(a,`..`);if(n===a)break;a=n}}return null}async function tryLoadNative(){return Bg||(Bg=(async()=>{if(!isGjs())return null;try{let n=`@gjsify/rolldown-native`,a=n;if(isGjs()){let S=as(new URL(import.meta.url).pathname),C=resolveNpmPackage(n,{bundleUrl:import.meta.url}),N=C?null:(()=>{let a=findRolldownNativeDir(process.cwd(),S);if(!a)return null;try{return createRequire(pathToFileURL(ns(a,`__gjsify_resolve__.js`)).href).resolve(n)}catch{return null}})();a=pathToFileURL(C??N??createRequire(import.meta.url).resolve(n)).href}let S=await import(a);return S.hasNativeRolldown()?S:null}catch{return null}})(),Bg)}async function runNativeBundle(n){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let{output:N,plugins:F,...I}=n,H=liftTransformExtras(stripUnserializable({...I,...N,input:normalizeInputForNative(n.input)}));globalThis.process?.env?.GJSIFY_DEBUG_NATIVE_OPTS&&ke.error(`[gjsify-bundler-pick] native opts JSON:`,JSON.stringify(H));let W=await a.bundleWithPlugins(H,C);reportNativeWarnings(W,n);let K=n.output??{},q=K.dir??(K.file?as(K.file):process.cwd());q&&await Dc.mkdir(q,{recursive:!0});for(let n of W.output){let a=K.file&&n.type===`chunk`&&W.output.length===1?K.file:ns(q,n.fileName);await Dc.mkdir(as(a),{recursive:!0}),n.type===`chunk`?(await Dc.writeFile(a,n.code,`utf8`),typeof n.map==`string`&&await Dc.writeFile(`${a}.map`,n.map,`utf8`)):n.sourceText!==void 0&&await Dc.writeFile(a,n.sourceText,`utf8`)}return synthRolldownOutput(W)}function reportNativeWarnings(n,a){if(a.logLevel===`silent`||!Array.isArray(n.warnings)||n.warnings.length===0)return;let S=new Set;for(let a of n.warnings)S.has(a)||(S.add(a),ke.warn(`[gjsify-bundler] ${a}`))}function stripUnserializable(n){let a={};for(let[S,C]of Object.entries(n)){if(typeof C==`function`){if(!Vg.has(S)){Vg.add(S);let n=S===`external`?" Function `external` predicates are NOT supported by the native engine — pass exact names as a string array and/or enforce shape rules via a resolveId plugin returning `{ external: true }` (see externalsPlugin in @gjsify/rolldown-plugin-gjsify).":` Function-valued options do not survive the JSON boundary to the Rust core.`;ke.warn(`[gjsify-bundler] dropping non-serializable option "${S}" for the native rolldown engine — behavior may diverge from npm rolldown.${n}`)}continue}if(S===`external`&&Array.isArray(C)){let n=C.find(n=>typeof n!=`string`);if(n!==void 0)throw Error(`gjsify build: \`external\` entries must be exact string names under the native rolldown engine (got ${n instanceof RegExp?n.toString():typeof n}). RegExp/function externals are only supported by npm rolldown — use exact names or a resolveId plugin returning \`{ external: true }\`.`);a[S]=C;continue}if(S===`sourcemap`){let n=translateSourcemapOption(C);n!==void 0&&(a[S]=n);continue}a[S]=C}return a}function translateSourcemapOption(n){if(n===!0||n===`file`||n===`File`)return`File`;if(n===`inline`||n===`Inline`)return`Inline`;if(n===`hidden`||n===`Hidden`)return`Hidden`}function liftTransformExtras(n){let a=n.transform;if(!a)return n;let S={},C={...a};for(let n of[`define`,`inject`])n in C&&(S[n]=C[n],delete C[n]);return S.inject!==void 0&&!Array.isArray(S.inject)&&(S.inject=mapToInjectArray(S.inject)),{...n,transform:Object.keys(C).length===0?void 0:C,...S}}function mapToInjectArray(n){let a=[];for(let[S,C]of Object.entries(n))if(typeof C==`string`)a.push({type:`named`,imported:`default`,from:C,alias:S});else{let[n,N]=C;N===`*`?a.push({type:`namespace`,from:n,alias:S}):a.push({type:`named`,from:n,imported:N,alias:S})}return a}function normalizeInputForNative(n){return n===void 0?[]:typeof n==`string`?[{import:n}]:Array.isArray(n)?n.map(n=>typeof n==`string`?{import:n}:n):Object.entries(n).map(([n,a])=>({name:n,import:a}))}function isPluginObject(n){return typeof n==`object`&&!!n&&!Array.isArray(n)}function pickHook(n){if(typeof n==`function`)return{fn:n};if(typeof n==`object`&&n&&`handler`in n){let a=n,S=filterToRegexSource(a.filter?.id),C={fn:a.handler};return S!==void 0&&(C.idFilter=S),C}}function filterToRegexSource(n){if(n!==void 0){if(Array.isArray(n)){let a=n.map(oneToSource).filter(n=>n!==void 0);return a.length===0?void 0:a.length===1?a[0]:`(?:${a.join(`|`)})`}return oneToSource(n)}}function oneToSource(n){if(n instanceof RegExp)return n.source;if(typeof n==`string`)return n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function toNativePlugin(n){let a={name:typeof n.name==`string`?n.name:`unnamed-plugin`},S={},C=pickHook(n.load);C&&(a.load=C.fn,C.idFilter&&(S.load=C.idFilter));let N=pickHook(n.transform);N&&(a.transform=N.fn,N.idFilter&&(S.transform=N.idFilter));let F=pickHook(n.resolveId);F&&(a.resolveId=F.fn,F.idFilter&&(S.resolveId=F.idFilter));let I=pickHook(n.renderChunk);I&&(a.renderChunk=I.fn);let H=pickHook(n.banner);H&&(a.banner=H.fn);let W=pickHook(n.footer);W&&(a.footer=W.fn);let K=pickHook(n.intro);K&&(a.intro=K.fn);let q=pickHook(n.outro);q&&(a.outro=q.fn);let Y=pickHook(n.buildStart);Y&&(a.buildStart=Y.fn);let X=pickHook(n.buildEnd);X&&(a.buildEnd=X.fn);let te=pickHook(n.generateBundle);te&&(a.generateBundle=te.fn);let ne=pickHook(n.writeBundle);ne&&(a.writeBundle=ne.fn);let re=pickHook(n.closeBundle);return re&&(a.closeBundle=re.fn),Object.keys(S).length>0&&(a.idFilter=S),a}function synthRolldownOutput(n){return{output:n.output.map(n=>n.type===`chunk`?{type:`chunk`,fileName:n.fileName,code:n.code,name:n.name,isEntry:n.isEntry,isDynamicEntry:n.isDynamicEntry,map:n.map??null,sourcemapFileName:n.sourcemapFilename??null,imports:n.imports,dynamicImports:n.dynamicImports,facadeModuleId:null,moduleIds:[],modules:{},exports:[],referencedFiles:[],importedBindings:{}}:{type:`asset`,fileName:n.fileName,names:n.names,originalFileNames:n.originalFileNames,source:n.sourceText??``,needsCodeReference:!1})}}var Bg,Vg,Hg=__esmMin(()=>{Ae(),Zc(),ps(),Uo(),mn(),Rg(),zg(),Bg=null,Vg=new Set}),Ug=__esmMin(()=>{}),Wg=__esmMin(()=>{}),Gg=__esmMin(()=>{}),Kg=__esmMin(()=>{Ug(),Wg(),Gg()});function findScanRoots(){let n=[],a=as(fileURLToPath(import.meta.url));for(let S=0;S<8;S++){let S=$o(a,`packages`);if(existsSync(S))try{[`node`,`web`,`dom`,`framework`,`infra`].some(n=>existsSync(ns(S,n)))&&n.push({kind:`workspace`,dir:S})}catch{}let C=$o(a,`node_modules`,`@gjsify`);existsSync(C)&&n.push({kind:`installed`,dir:C});let N=as(a);if(N===a)break;a=N}try{let a=$o(process.cwd(),`node_modules`,`@gjsify`);existsSync(a)&&n.push({kind:`installed`,dir:a})}catch{}return n}function ingestPackageDirSync(n,a){let S=ns(n,`package.json`);if(existsSync(S))try{let C=readFileSync(S,`utf8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:null,I=N?.gjsify?.runtimes;if(F&&F.startsWith(`@gjsify/`)&&!a.has(F)&&I&&typeof I==`object`){let S={};for(let n of Jg){let a=I[n];typeof a==`string`&&qg.has(a)&&(S[n]=a)}let C=existsSync(ns(n,`globals.mjs`));a.set(F,{name:F,dir:n,runtimes:S,hasGlobals:C})}}catch{}}function getCacheSync(){if(Yg)return Yg;let n=findScanRoots(),a=new Map;if(n.length===0)return Yg=a,Yg;function walkWorkspace(n){let S;try{S=readdirSync(n,{withFileTypes:!0})}catch{return}if(existsSync(ns(n,`package.json`))){ingestPackageDirSync(n,a);return}for(let a of S)a.isDirectory()&&(a.name===`node_modules`||a.name===`lib`||a.name===`dist`||a.name.startsWith(`.`)||walkWorkspace(ns(n,a.name)))}function walkInstalled(n){let S;try{S=readdirSync(n,{withFileTypes:!0})}catch{return}for(let C of S)!C.isDirectory()&&!C.isSymbolicLink()||C.name.startsWith(`.`)||ingestPackageDirSync(ns(n,C.name),a)}for(let a of n)a.kind===`workspace`?walkWorkspace(a.dir):walkInstalled(a.dir);return Yg=a,Yg}function warnOnce(n,a){Xg.has(n)||(Xg.add(n),ke.warn(`[@gjsify/resolve-npm] ${a}`))}function resolveSlot(n,a){let S=n.runtimes[a];if(!S)return null;switch(S){case`polyfill`:case`partial`:return null;case`native`:return n.hasGlobals?`${n.name}/globals`:(warnOnce(`${n.name}-${a}-native-missing-globals`,`${n.name} declares runtimes.${a}="native" but ships no globals.mjs — falling back to @gjsify/empty for --app ${a} builds.`),`@gjsify/empty`);case`none`:return null;default:return null}}function getDerivedAliasesSync(n){if(!Jg.has(n))return{};let a=getCacheSync(),S={};for(let C of a.values()){let a=resolveSlot(C,n);a!==null&&a!==C.name&&(S[C.name]=a)}return S}var qg,Jg,Yg,Xg,Zg=__esmMin(()=>{Ae(),kc(),Zc(),ps(),mn(),qg=new Set([`polyfill`,`native`,`partial`,`none`]),Jg=new Set([`gjs`,`node`,`browser`,`nativescript`]),Yg=null,Xg=new Set}),Qg,$g,e_,t_,n_,r_,i_,a_,o_,s_,c_=__esmMin(()=>{Zg(),Qg=`assert.assert/strict.async_hooks.buffer.child_process.cluster.console.constants.crypto.dgram.diagnostics_channel.dns.dns/promises.domain.events.fs.fs/promises.http.http2.https.inspector.module.net.os.path.path/posix.path/win32.perf_hooks.process.punycode.querystring.readline.readline/promises.repl.stream.stream/web.stream/consumers.stream/promises.string_decoder.sys.test.timers.timers/promises.tls.tty.url.util.util/types.v8.vm.wasi.sqlite.worker_threads.zlib`.split(`.`),$g=[`readable-stream`,`node-fetch`],e_={jsdom:`@gjsify/empty`,"./polling-xhr.node.js":`./polling-xhr.js`,"./websocket.node.js":`./websocket.js`,"./globals.node.js":`./globals.js`},t_={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/child_process`,cluster:`@gjsify/cluster`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/dgram`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/dns`,"dns/promises":`@gjsify/dns/promises`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/fs`,"fs/promises":`@gjsify/fs/promises`,http:`@gjsify/http`,http2:`@gjsify/http2`,https:`@gjsify/https`,inspector:`@gjsify/inspector`,module:`@gjsify/module`,net:`@gjsify/net`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/readline`,"readline/promises":`@gjsify/readline/promises`,repl:`@gjsify/repl`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/tls`,tty:`@gjsify/tty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/v8`,vm:`@gjsify/vm`,wasi:`@gjsify/wasi`,sqlite:`@gjsify/sqlite`,worker_threads:`@gjsify/worker_threads`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/fetch`,ws:`@gjsify/ws`,"isomorphic-ws":`@gjsify/websocket`},n_={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/empty`,cluster:`@gjsify/empty`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/empty`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/empty`,"dns/promises":`@gjsify/empty`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/empty`,"fs/promises":`@gjsify/empty`,http:`@gjsify/empty`,http2:`@gjsify/empty`,https:`@gjsify/empty`,inspector:`@gjsify/empty`,module:`@gjsify/empty`,net:`@gjsify/empty`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/empty`,"readline/promises":`@gjsify/empty`,repl:`@gjsify/empty`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/empty`,tty:`@gjsify/empty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/empty`,vm:`@gjsify/vm`,wasi:`@gjsify/empty`,sqlite:`@gjsify/empty`,worker_threads:`@gjsify/empty`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/empty`,ws:`@gjsify/empty`,"isomorphic-ws":`@gjsify/empty`},r_={child_process:`@gjsify/empty`,cluster:`@gjsify/empty`,dgram:`@gjsify/empty`,dns:`@gjsify/empty`,"dns/promises":`@gjsify/empty`,inspector:`@gjsify/empty`,net:`@gjsify/empty`,tls:`@gjsify/empty`,tty:`@gjsify/empty`,http:`@gjsify/empty`,https:`@gjsify/empty`,http2:`@gjsify/empty`,readline:`@gjsify/empty`,repl:`@gjsify/empty`,v8:`@gjsify/empty`,vm:`@gjsify/empty`,worker_threads:`@gjsify/empty`,perf_hooks:`@gjsify/empty`,diagnostics_channel:`@gjsify/empty`,domain:`@gjsify/empty`,sqlite:`@gjsify/empty`,sys:`@gjsify/empty`,zlib:`@gjsify/empty`,assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,module:`@gjsify/module`,crypto:`@gjsify/crypto`,events:`@gjsify/events`,fs:`@gjsify/native-fs-bridge`,"fs/promises":`@gjsify/native-fs-bridge`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,process:`@gjsify/process`,stream:`@gjsify/stream`,"stream/promises":`@gjsify/stream/promises`,"stream/web":`@gjsify/stream/web`,string_decoder:`@gjsify/string_decoder`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,querystring:`@gjsify/querystring`,console:`@gjsify/console`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,"node-fetch":`@gjsify/empty`,ws:`@gjsify/empty`,"isomorphic-ws":`@gjsify/empty`},i_={"abort-controller":`@gjsify/abort-controller`,"compression-streams":`@gjsify/compression-streams`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception`,"event-target-shim":`@gjsify/dom-events`,"message-channel":`@gjsify/message-channel`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch`,formdata:`@gjsify/formdata`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/abort-controller/register`,"compression-streams/register":`@gjsify/compression-streams/register`,"dom-events/register":`@gjsify/dom-events/register`,"dom-events/register/event-target":`@gjsify/dom-events/register/event-target`,"dom-events/register/custom-events":`@gjsify/dom-events/register/custom-events`,"dom-events/register/ui-events":`@gjsify/dom-events/register/ui-events`,"dom-exception/register":`@gjsify/dom-exception/register`,"message-channel/register":`@gjsify/message-channel/register`,"eventsource/register":`@gjsify/eventsource/register`,"websocket/register":`@gjsify/websocket/register`,"fetch/register":`@gjsify/fetch/register`,"fetch/register/fetch":`@gjsify/fetch/register/fetch`,"fetch/register/xhr":`@gjsify/fetch/register/xhr`,"webcrypto/register":`@gjsify/webcrypto/register`,"web-streams/register":`@gjsify/web-streams/register`,"web-streams/register/readable":`@gjsify/web-streams/register/readable`,"web-streams/register/writable":`@gjsify/web-streams/register/writable`,"web-streams/register/transform":`@gjsify/web-streams/register/transform`,"web-streams/register/text-streams":`@gjsify/web-streams/register/text-streams`,"web-streams/register/queuing":`@gjsify/web-streams/register/queuing`,xmlhttprequest:`@gjsify/fetch`,"xmlhttprequest/register":`@gjsify/fetch/register/xhr`,"@gjsify/xmlhttprequest":`@gjsify/fetch`,"@gjsify/xmlhttprequest/register":`@gjsify/fetch/register/xhr`,domparser:`@gjsify/domparser`,"domparser/register":`@gjsify/domparser/register`,webaudio:`@gjsify/webaudio`,"webaudio/register":`@gjsify/webaudio/register`,gamepad:`@gjsify/gamepad`,"gamepad/register":`@gjsify/gamepad/register`,webrtc:`@gjsify/webrtc`,"webrtc/register":`@gjsify/webrtc/register`,"webrtc/register/peer-connection":`@gjsify/webrtc/register/peer-connection`,"webrtc/register/data-channel":`@gjsify/webrtc/register/data-channel`,"webrtc/register/error":`@gjsify/webrtc/register/error`,"webrtc/register/media":`@gjsify/webrtc/register/media`,"webrtc/register/media-devices":`@gjsify/webrtc/register/media-devices`,webassembly:`@gjsify/webassembly`,"webassembly/register":`@gjsify/webassembly/register`,"webassembly/register/promise":`@gjsify/webassembly/register/promise`},a_={"@gjsify/node-globals":`@gjsify/empty`,"@gjsify/node-globals/register":`@gjsify/empty`,"@gjsify/node-globals/register/process":`@gjsify/empty`,"@gjsify/node-globals/register/buffer":`@gjsify/empty`,"@gjsify/node-globals/register/timers":`@gjsify/empty`,"@gjsify/node-globals/register/encoding":`@gjsify/empty`,"@gjsify/node-globals/register/url":`@gjsify/empty`,"@gjsify/node-globals/register/structured-clone":`@gjsify/empty`,"@gjsify/node-globals/register/microtask":`@gjsify/empty`,"@gjsify/web-globals":`@gjsify/empty`,"@gjsify/web-globals/register":`@gjsify/empty`,"@gjsify/web-globals/register/performance":`@gjsify/empty`,"@gjsify/web-globals/register/formdata":`@gjsify/empty`},o_={},s_={"abort-controller":`@gjsify/abort-controller/globals`,"compression-streams":`@gjsify/compression-streams/globals`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception/globals`,"message-channel":`@gjsify/message-channel/globals`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch/globals`,formdata:`@gjsify/formdata/globals`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto/globals`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket/globals`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/empty`,"compression-streams/register":`@gjsify/empty`,"dom-events/register":`@gjsify/empty`,"dom-events/register/event-target":`@gjsify/empty`,"dom-events/register/custom-events":`@gjsify/empty`,"dom-events/register/ui-events":`@gjsify/empty`,"dom-exception/register":`@gjsify/empty`,"message-channel/register":`@gjsify/empty`,"eventsource/register":`@gjsify/empty`,"websocket/register":`@gjsify/empty`,"fetch/register":`@gjsify/empty`,"fetch/register/fetch":`@gjsify/empty`,"fetch/register/xhr":`@gjsify/empty`,"webcrypto/register":`@gjsify/empty`,"web-streams/register":`@gjsify/empty`,"web-streams/register/readable":`@gjsify/empty`,"web-streams/register/writable":`@gjsify/empty`,"web-streams/register/transform":`@gjsify/empty`,"web-streams/register/text-streams":`@gjsify/empty`,"web-streams/register/queuing":`@gjsify/empty`,"@gjsify/abort-controller/register":`@gjsify/empty`,"@gjsify/compression-streams/register":`@gjsify/empty`,"@gjsify/dom-events/register":`@gjsify/empty`,"@gjsify/dom-events/register/event-target":`@gjsify/empty`,"@gjsify/dom-events/register/custom-events":`@gjsify/empty`,"@gjsify/dom-events/register/ui-events":`@gjsify/empty`,"@gjsify/dom-exception/register":`@gjsify/empty`,"@gjsify/message-channel/register":`@gjsify/empty`,"@gjsify/eventsource/register":`@gjsify/empty`,"@gjsify/websocket/register":`@gjsify/empty`,"@gjsify/fetch/register":`@gjsify/empty`,"@gjsify/fetch/register/fetch":`@gjsify/empty`,"@gjsify/fetch/register/xhr":`@gjsify/empty`,"@gjsify/webcrypto/register":`@gjsify/empty`,"@gjsify/web-streams/register":`@gjsify/empty`,"@gjsify/web-streams/register/readable":`@gjsify/empty`,"@gjsify/web-streams/register/writable":`@gjsify/empty`,"@gjsify/web-streams/register/transform":`@gjsify/empty`,"@gjsify/web-streams/register/text-streams":`@gjsify/empty`,"@gjsify/web-streams/register/queuing":`@gjsify/empty`,"@gjsify/dom-elements/register":`@gjsify/empty`,"@gjsify/dom-elements/register/document":`@gjsify/empty`,"@gjsify/dom-elements/register/canvas":`@gjsify/empty`,"@gjsify/dom-elements/register/image":`@gjsify/empty`,"@gjsify/dom-elements/register/observers":`@gjsify/empty`,"@gjsify/dom-elements/register/font-face":`@gjsify/empty`,"@gjsify/dom-elements/register/match-media":`@gjsify/empty`,"@gjsify/dom-elements/register/location":`@gjsify/empty`,"@gjsify/dom-elements/register/navigator":`@gjsify/empty`,"@gjsify/buffer/register":`@gjsify/empty`,xmlhttprequest:`@gjsify/empty`,"xmlhttprequest/register":`@gjsify/empty`,"@gjsify/xmlhttprequest":`@gjsify/empty`,"@gjsify/xmlhttprequest/register":`@gjsify/empty`,domparser:`@gjsify/empty`,"domparser/register":`@gjsify/empty`,"@gjsify/domparser/register":`@gjsify/empty`,webaudio:`@gjsify/empty`,"webaudio/register":`@gjsify/empty`,"@gjsify/webaudio/register":`@gjsify/empty`,gamepad:`@gjsify/empty`,"gamepad/register":`@gjsify/empty`,"@gjsify/gamepad/register":`@gjsify/empty`,webrtc:`@gjsify/empty`,"webrtc/register":`@gjsify/empty`,"webrtc/register/peer-connection":`@gjsify/empty`,"webrtc/register/data-channel":`@gjsify/empty`,"webrtc/register/error":`@gjsify/empty`,"webrtc/register/media":`@gjsify/empty`,"webrtc/register/media-devices":`@gjsify/empty`,"@gjsify/webrtc":`@gjsify/empty`,"@gjsify/webrtc/register":`@gjsify/empty`,"@gjsify/webrtc/register/peer-connection":`@gjsify/empty`,"@gjsify/webrtc/register/data-channel":`@gjsify/empty`,"@gjsify/webrtc/register/error":`@gjsify/empty`,"@gjsify/webrtc/register/media":`@gjsify/empty`,"@gjsify/webrtc/register/media-devices":`@gjsify/empty`,webassembly:`@gjsify/webassembly/globals`,"webassembly/register":`@gjsify/empty`,"webassembly/register/promise":`@gjsify/empty`,"@gjsify/webassembly/register":`@gjsify/empty`,"@gjsify/webassembly/register/promise":`@gjsify/empty`}}),setNodeAliasPrefix,getAliasesGeneralForGjs,getAliasesNodeForGjs,getAliasesWebForGjs,getAliasesGeneralForNode,getAliasesGjsForNode,getAliasesWebForNode,getAliasesForGjs,getAliasesForNode,l_=__esmMin(()=>{c_(),setNodeAliasPrefix=n=>{for(let a in n){if(a.startsWith(`node:`))continue;let S=`node:${a}`;n[S]||(n[S]=n[a])}return n},getAliasesGeneralForGjs=n=>e_,getAliasesNodeForGjs=n=>setNodeAliasPrefix(t_),getAliasesWebForGjs=n=>i_,getAliasesGeneralForNode=n=>a_,getAliasesGjsForNode=n=>o_,getAliasesWebForNode=n=>s_,getAliasesForGjs=n=>({...getDerivedAliasesSync(`gjs`),...getAliasesGeneralForGjs(n),...getAliasesNodeForGjs(n),...getAliasesWebForGjs(n)}),getAliasesForNode=n=>({...getDerivedAliasesSync(`node`),...getAliasesGeneralForNode(n),...getAliasesGjsForNode(n),...getAliasesWebForNode(n)}),[...Qg,...Qg.map(n=>`node:${n}`)],[...$g]}),u_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.splitWhen=n.flatten=void 0;function flatten(n){return n.reduce((n,a)=>[].concat(n,a),[])}n.flatten=flatten;function splitWhen(n,a){let S=[[]],C=0;for(let N of n)a(N)?(C++,S[C]=[]):S[C].push(N);return S}n.splitWhen=splitWhen})),d_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isEnoentCodeError=void 0;function isEnoentCodeError(n){return n.code===`ENOENT`}n.isEnoentCodeError=isEnoentCodeError})),f_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDirentFromStats=void 0;var DirentFromStats=class{constructor(n,a){this.name=n,this.isBlockDevice=a.isBlockDevice.bind(a),this.isCharacterDevice=a.isCharacterDevice.bind(a),this.isDirectory=a.isDirectory.bind(a),this.isFIFO=a.isFIFO.bind(a),this.isFile=a.isFile.bind(a),this.isSocket=a.isSocket.bind(a),this.isSymbolicLink=a.isSymbolicLink.bind(a)}};function createDirentFromStats(n,a){return new DirentFromStats(n,a)}n.createDirentFromStats=createDirentFromStats})),p_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.convertPosixPathToPattern=n.convertWindowsPathToPattern=n.convertPathToPattern=n.escapePosixPath=n.escapeWindowsPath=n.escape=n.removeLeadingDotSegment=n.makeAbsolute=n.unixify=void 0;let a=(Wp(),__toCommonJS(Lp)),S=(ps(),__toCommonJS(Qo)),C=a.platform()===`win32`,N=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,F=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,I=/^\\\\([.?])/,H=/\\(?![!()+@[\]{}])/g;function unixify(n){return n.replace(/\\/g,`/`)}n.unixify=unixify;function makeAbsolute(n,a){return S.resolve(n,a)}n.makeAbsolute=makeAbsolute;function removeLeadingDotSegment(n){if(n.charAt(0)===`.`){let a=n.charAt(1);if(a===`/`||a===`\\`)return n.slice(2)}return n}n.removeLeadingDotSegment=removeLeadingDotSegment,n.escape=C?escapeWindowsPath:escapePosixPath;function escapeWindowsPath(n){return n.replace(F,`\\$2`)}n.escapeWindowsPath=escapeWindowsPath;function escapePosixPath(n){return n.replace(N,`\\$2`)}n.escapePosixPath=escapePosixPath,n.convertPathToPattern=C?convertWindowsPathToPattern:convertPosixPathToPattern;function convertWindowsPathToPattern(n){return escapeWindowsPath(n).replace(I,`//$1`).replace(H,`/`)}n.convertWindowsPathToPattern=convertWindowsPathToPattern;function convertPosixPathToPattern(n){return escapePosixPath(n)}n.convertPosixPathToPattern=convertPosixPathToPattern})),m_=__commonJSMin$1(((n,a)=>{
631
+ `+` `.repeat(a)),(function(n){n.DEFAULT={allowTrailingComma:!1}})(Ih||={}),r(Pe,`parse$1`),r(We,`visit`),(function(n){n[n.None=0]=`None`,n[n.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=4]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=6]=`InvalidCharacter`})(Lh||={}),(function(n){n[n.OpenBraceToken=1]=`OpenBraceToken`,n[n.CloseBraceToken=2]=`CloseBraceToken`,n[n.OpenBracketToken=3]=`OpenBracketToken`,n[n.CloseBracketToken=4]=`CloseBracketToken`,n[n.CommaToken=5]=`CommaToken`,n[n.ColonToken=6]=`ColonToken`,n[n.NullKeyword=7]=`NullKeyword`,n[n.TrueKeyword=8]=`TrueKeyword`,n[n.FalseKeyword=9]=`FalseKeyword`,n[n.StringLiteral=10]=`StringLiteral`,n[n.NumericLiteral=11]=`NumericLiteral`,n[n.LineCommentTrivia=12]=`LineCommentTrivia`,n[n.BlockCommentTrivia=13]=`BlockCommentTrivia`,n[n.LineBreakTrivia=14]=`LineBreakTrivia`,n[n.Trivia=15]=`Trivia`,n[n.Unknown=16]=`Unknown`,n[n.EOF=17]=`EOF`})(Rh||={}),zh=Pe,(function(n){n[n.InvalidSymbol=1]=`InvalidSymbol`,n[n.InvalidNumberFormat=2]=`InvalidNumberFormat`,n[n.PropertyNameExpected=3]=`PropertyNameExpected`,n[n.ValueExpected=4]=`ValueExpected`,n[n.ColonExpected=5]=`ColonExpected`,n[n.CommaExpected=6]=`CommaExpected`,n[n.CloseBraceExpected=7]=`CloseBraceExpected`,n[n.CloseBracketExpected=8]=`CloseBracketExpected`,n[n.EndOfFileExpected=9]=`EndOfFileExpected`,n[n.InvalidCommentToken=10]=`InvalidCommentToken`,n[n.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,n[n.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,n[n.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,n[n.InvalidUnicode=14]=`InvalidUnicode`,n[n.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,n[n.InvalidCharacter=16]=`InvalidCharacter`})(Bh||={}),Vh=r((n,a)=>zh(kh(a,n,`utf8`)),`readJsonc`),Hh=Symbol(`implicitBaseUrl`),Uh="${configDir}",Wh=r(()=>{let{findPnpApi:n}=Ho;return n&&n(process.cwd())},`getPnpApi`),Gh=r((n,a,S,C)=>{let N=`resolveFromPackageJsonPath:${n}:${a}:${S}`;if(C!=null&&C.has(N))return C.get(N);let F=Vh(n,C);if(!F)return;let I=a||`tsconfig.json`;if(!S&&F.exports)try{let[n]=v(F.exports,a,[`require`,`types`]);I=n}catch{return!1}else !a&&F.tsconfig&&(I=F.tsconfig);return I=fs.join(n,`..`,I),C?.set(N,I),I},`resolveFromPackageJsonPath`),Kh=`package.json`,qh=`tsconfig.json`,Jh=r((n,a,S)=>{let C=n;if(n===`..`&&(C=fs.join(C,qh)),n[0]===`.`&&(C=fs.resolve(a,C)),fs.isAbsolute(C)){if(Oh(S,C)){if(Ah(S,C).isFile())return C}else if(!C.endsWith(`.json`)){let n=`${C}.json`;if(Oh(S,n))return n}return}let[N,...F]=n.split(`/`),I=N[0]===`@`?`${N}/${F.shift()}`:N,H=F.join(`/`),W=Wh();if(W){let{resolveRequest:C}=W;try{if(I===n){let n=C(fs.join(I,Kh),a);if(n){let a=Gh(n,H,!1,S);if(a&&Oh(S,a))return a}}else{let S;try{S=C(n,a,{extensions:[`.json`]})}catch{S=C(fs.join(n,qh),a)}if(S)return S}}catch{}}let K=jh(fs.resolve(a),fs.join(`node_modules`,I),S);if(!K||!Ah(S,K).isDirectory())return;let q=fs.join(K,Kh);if(Oh(S,q)){let n=Gh(q,H,!1,S);if(n===!1)return;if(n&&Oh(S,n)&&Ah(S,n).isFile())return n}let Y=fs.join(K,H),X=Y.endsWith(`.json`);if(!X){let n=`${Y}.json`;if(Oh(S,n))return n}if(Oh(S,Y)){if(Ah(S,Y).isDirectory()){let n=fs.join(Y,Kh);if(Oh(S,n)){let a=Gh(n,``,!0,S);if(a&&Oh(S,a))return a}let a=fs.join(Y,qh);if(Oh(S,a))return a}else if(X)return Y}},`resolveExtendsPath`),Yh=r((n,a)=>Nh(fs.relative(n,a)),`pathRelative`),Xh=[`files`,`include`,`exclude`],Zh=r((n,a,S)=>{let C=fs.join(a,S);return h$1(fs.relative(n,C))||`./`},`resolveAndRelativize`),Qh=r((n,a,S)=>{let C=fs.relative(n,a);return C?h$1(`${C}/${S.startsWith(`./`)?S.slice(2):S}`):S},`prefixPattern`),$h=r((n,a,S,C)=>{let N=Jh(n,a,C);if(!N)throw Error(`File '${n}' not found.`);if(S.has(N))throw Error(`Circularity detected while resolving configuration: ${N}`);S.add(N);let F=fs.dirname(N),I=tg(N,C,S);delete I.references;let{compilerOptions:H}=I;if(H){let{baseUrl:n}=H;n&&!n.startsWith(Uh)&&(H.baseUrl=Zh(a,F,n));let{outDir:S}=H;S&&!S.startsWith(Uh)&&(H.outDir=Zh(a,F,S));let{declarationDir:C}=H;C&&!C.startsWith(Uh)&&(H.declarationDir=Zh(a,F,C));let{rootDir:N}=H;N&&!N.startsWith(Uh)&&(H.rootDir=Zh(a,F,N));let{rootDirs:I}=H;I&&(H.rootDirs=I.map(n=>n.startsWith(Uh)?n:Zh(a,F,n)));let{typeRoots:W}=H;W&&(H.typeRoots=W.map(n=>n.startsWith(Uh)?n:Zh(a,F,n)))}for(let n of Xh){let S=I[n];S&&(I[n]=S.map(n=>n.startsWith(Uh)?n:Qh(a,F,n)))}return I},`resolveExtends`),eg=[`outDir`,`declarationDir`],tg=r((n,a,S=new Set)=>{let C;try{C=Vh(n,a)||{}}catch{throw Error(`Cannot resolve tsconfig at path: ${n}`)}if(typeof C!=`object`)throw SyntaxError(`Failed to parse tsconfig at: ${n}`);let N=fs.dirname(n);if(C.compilerOptions){let{compilerOptions:n}=C;n.paths&&!n.baseUrl&&(n[Hh]=N)}if(C.extends){let n=Array.isArray(C.extends)?C.extends:[C.extends];delete C.extends;for(let F of n.reverse()){let n=$h(F,N,new Set(S),a),I={...n,...C,compilerOptions:{...n.compilerOptions,...C.compilerOptions}};n.watchOptions&&(I.watchOptions={...n.watchOptions,...C.watchOptions}),C=I}}if(C.compilerOptions){let{compilerOptions:n}=C;for(let a of[`baseUrl`,`rootDir`]){let S=n[a];S&&!S.startsWith(Uh)&&(n[a]=Yh(N,fs.resolve(N,S)))}for(let a of eg){let S=n[a];S&&(Array.isArray(C.exclude)||(C.exclude=eg.map(a=>n[a]).filter(Boolean)),S.startsWith(Uh)||(S=Nh(S)),n[a]=S)}}else C.compilerOptions={};if(C.include&&=C.include.map(h$1),C.files&&=C.files.map(n=>n.startsWith(Uh)?n:Nh(n)),C.watchOptions){let{watchOptions:n}=C;n.excludeDirectories&&=n.excludeDirectories.map(n=>h$1(fs.resolve(N,n))),n.excludeFiles&&=n.excludeFiles.map(n=>h$1(fs.resolve(N,n))),n.watchFile&&=n.watchFile.toLowerCase(),n.watchDirectory&&=n.watchDirectory.toLowerCase(),n.fallbackPolling&&=n.fallbackPolling.toLowerCase()}return C},`_parseTsconfig`),ng=r((n,a)=>{if(n.startsWith(Uh))return h$1(fs.join(a,n.slice(12)))},`interpolateConfigDir`),rg=[`outDir`,`declarationDir`,`outFile`,`rootDir`,`baseUrl`,`tsBuildInfoFile`],ig=r(n=>{if(n.strict)for(let a of[`noImplicitAny`,`noImplicitThis`,`strictNullChecks`,`strictFunctionTypes`,`strictBindCallApply`,`strictPropertyInitialization`,`strictBuiltinIteratorReturn`,`alwaysStrict`,`useUnknownInCatchVariables`])n[a]===void 0&&(n[a]=!0);if(n.composite&&(n.declaration??=!0,n.incremental??=!0),n.target){let a=n.target.toLowerCase();a===`es2015`&&(a=`es6`),n.target=a,a===`esnext`&&(n.module??=`es6`,n.useDefineForClassFields??=!0),(a===`es6`||a===`es2016`||a===`es2017`||a===`es2018`||a===`es2019`||a===`es2020`||a===`es2021`||a===`es2022`||a===`es2023`||a===`es2024`)&&(n.module??=`es6`),(a===`es2022`||a===`es2023`||a===`es2024`)&&(n.useDefineForClassFields??=!0)}if(n.module){let a=n.module.toLowerCase();if(a===`es2015`&&(a=`es6`),n.module=a,(a===`es6`||a===`es2020`||a===`es2022`||a===`esnext`||a===`none`||a===`system`||a===`umd`||a===`amd`)&&(n.moduleResolution??=`classic`),a===`system`&&(n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`||a===`preserve`)&&(n.esModuleInterop??=!0,n.allowSyntheticDefaultImports??=!0),(a===`node16`||a===`node18`||a===`node20`||a===`nodenext`)&&(n.moduleDetection??=`force`),a===`node16`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node18`&&(n.target??=`es2022`,n.moduleResolution??=`node16`),a===`node20`&&(n.target??=`es2023`,n.moduleResolution??=`node16`,n.resolveJsonModule??=!0),a===`nodenext`&&(n.target??=`esnext`,n.moduleResolution??=`nodenext`,n.resolveJsonModule??=!0),a===`node16`||a===`node18`||a===`node20`||a===`nodenext`){let a=n.target;(a===`es3`||a===`es2022`||a===`es2023`||a===`es2024`||a===`esnext`)&&(n.useDefineForClassFields??=!0)}a===`preserve`&&(n.moduleResolution??=`bundler`)}if(n.moduleResolution){let a=n.moduleResolution.toLowerCase();a===`node`&&(a=`node10`),n.moduleResolution=a,(a===`node16`||a===`nodenext`||a===`bundler`)&&(n.resolvePackageJsonExports??=!0,n.resolvePackageJsonImports??=!0),a===`bundler`&&(n.allowSyntheticDefaultImports??=!0,n.resolveJsonModule??=!0)}n.jsx&&=n.jsx.toLowerCase(),n.moduleDetection&&=n.moduleDetection.toLowerCase(),n.importsNotUsedAsValues&&=n.importsNotUsedAsValues.toLowerCase(),n.newLine&&=n.newLine.toLowerCase(),n.esModuleInterop&&(n.allowSyntheticDefaultImports??=!0),n.verbatimModuleSyntax&&(n.isolatedModules??=!0,n.preserveConstEnums??=!0),n.isolatedModules&&(n.preserveConstEnums??=!0),n.rewriteRelativeImportExtensions&&(n.allowImportingTsExtensions??=!0),n.lib&&=n.lib.map(n=>n.toLowerCase()),n.checkJs&&(n.allowJs??=!0)},`normalizeCompilerOptions`),ag=r((n,a=new Map)=>{let S=fs.resolve(n),C=tg(S,a),N=fs.dirname(S),{compilerOptions:F}=C;if(F){for(let n of rg){let a=F[n];if(a){let S=ng(a,N);F[n]=S?Yh(N,S):a}}for(let n of[`rootDirs`,`typeRoots`]){let a=F[n];a&&(F[n]=a.map(n=>{let a=ng(n,N);return a?Yh(N,a):Nh(n)}))}let{paths:n}=F;if(n)for(let a of Object.keys(n))n[a]=n[a].map(n=>ng(n,N)??n);ig(F)}for(let n of Xh){let a=C[n];a&&(C[n]=a.map(n=>ng(n,N)??n))}return C},`parseTsconfig`),og=Object.defineProperty,sg=r((n,a)=>og(n,`name`,{value:a,configurable:!0}),`s`),cg=sg(n=>{let a=``;for(let S=0;S<n.length;S+=1){let C=n[S],N=C.toUpperCase();a+=C===N?C.toLowerCase():N}return a},`invertCase`),lg=new Map,ug=sg((n,a)=>{let S=fs.join(n,`.is-fs-case-sensitive-test-${process.pid}`);try{return a.writeFileSync(S,``),!a.existsSync(cg(S))}finally{try{a.unlinkSync(S)}catch{}}},`checkDirectoryCaseWithWrite`),dg=sg((n,a,S)=>{try{return ug(n,S)}catch(n){if(a===void 0)return ug(Up.tmpdir(),S);throw n}},`checkDirectoryCaseWithFallback`),fg=sg((n,a=Xc,S=!0)=>{let C=n??process.cwd();if(S&&lg.has(C))return lg.get(C);let N,F=cg(C);return N=F!==C&&a.existsSync(C)?!a.existsSync(F):dg(C,n,a),S&&lg.set(C,N),N},`isFsCaseSensitive`),{join:pg}=fs.posix,mg={ts:[`.ts`,`.tsx`,`.d.ts`],cts:[`.cts`,`.d.cts`],mts:[`.mts`,`.d.mts`]},hg=r(n=>{let a=[...mg.ts],S=[...mg.cts],C=[...mg.mts];return n!=null&&n.allowJs&&(a.push(`.js`,`.jsx`),S.push(`.cjs`),C.push(`.mjs`)),[...a,...S,...C]},`getSupportedExtensions`),gg=r(n=>{let a=[];if(!n)return a;let{outDir:S,declarationDir:C}=n;return S&&a.push(S),C&&a.push(C),a},`getDefaultExcludeSpec`),_g=r(n=>n.replaceAll(/[.*+?^${}()|[\]\\]/g,String.raw`\$&`),`escapeForRegexp`),vg=`(?!(${[`node_modules`,`bower_components`,`jspm_packages`].join(`|`)})(/|$))`,yg=/(?:^|\/)[^.*?]+$/,bg=`**/*`,xg=`[^/]`,Sg=`[^./]`,Cg=process.platform===`win32`,wg=r(({config:n,path:a},S=fg())=>{if(`extends`in n)throw Error(`tsconfig#extends must be resolved. Use getTsconfig or parseTsconfig to resolve it.`);if(!fs.isAbsolute(a))throw Error(`The tsconfig path must be absolute`);Cg&&(a=h$1(a));let C=fs.dirname(a),{files:N,include:F,exclude:I,compilerOptions:H}=n,W=r(n=>fs.isAbsolute(n)?n:pg(C,n),`resolvePattern`),K=N?.map(W),q=hg(H),Y=S?``:`i`,X=(I||gg(H)).map(n=>{let a=_g(W(n)).replaceAll(String.raw`\*\*/`,`(.+/)?`).replaceAll(String.raw`\*`,`${xg}*`).replaceAll(String.raw`\?`,xg);return RegExp(`^${a}($|/)`,Y)}),te=N||F?F:[bg],ne=te?te.map(n=>{let a=W(n);yg.test(a)&&(a=pg(a,bg));let S=_g(a).replaceAll(String.raw`/\*\*`,`(/${vg}${Sg}${xg}*)*?`).replaceAll(/(\/)?\\\*/g,(n,a)=>{let S=`(${Sg}|(\\.(?!min\\.js$))?)*`;return a?`/${vg}${Sg}${S}`:S}).replaceAll(/(\/)?\\\?/g,(n,a)=>{let S=xg;return a?`/${vg}${S}`:S});return RegExp(`^${S}$`,Y)}):void 0;return a=>{if(!fs.isAbsolute(a))throw Error(`filePath must be absolute`);if(Cg&&(a=h$1(a)),K!=null&&K.includes(a)||!(!q.some(n=>a.endsWith(n))||X.some(n=>n.test(a)))&&ne&&ne.some(n=>n.test(a)))return n}},`createFilesMatcher`),Tg=r((n,a,S)=>{let C=fs.resolve(n),N=h$1(n);for(;;){let n=jh(N,a,S);if(!n)return;let F=fs.resolve(n),I=ag(F,S),H={path:h$1(F),config:I};if(wg(H)(C))return H;let W=fs.dirname(n),K=fs.dirname(W);if(K===W)return;N=K}},`findConfigApplicable`),Eg=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>C?Tg(n,a,S)?.path:jh(h$1(n),a,S),`findTsconfig`),Dg=r((n=process.cwd(),a=`tsconfig.json`,S=new Map,C=!1)=>{if(!C){let C=Eg(n,a,S);return C?{path:C,config:ag(C,S)}:null}return Tg(n,a,S)??null},`getTsconfig`),Og=/\*/g,kg=r((n,a)=>{let S=n.match(Og);if(S&&S.length>1)throw Error(a)},`assertStarCount`),Ag=r(n=>{if(n.includes(`*`)){let[a,S]=n.split(`*`);return{prefix:a,suffix:S}}return n},`parsePattern`),jg=r(({prefix:n,suffix:a},S)=>S.startsWith(n)&&S.endsWith(a),`isPatternMatch`),Mg=r((n,a,S)=>Object.entries(n).map(([n,C])=>(kg(n,`Pattern '${n}' can have at most one '*' character.`),{pattern:Ag(n),substitutions:C.map(C=>{if(kg(C,`Substitution '${C}' in pattern '${n}' can have at most one '*' character.`),!a&&!Mh.test(C)&&!fs.isAbsolute(C))throw Error(`Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?`);return fs.resolve(S,C)})})),`parsePaths`),r(n=>{let{compilerOptions:a}=n.config;if(!a)return null;let{baseUrl:S,paths:C}=a;if(!S&&!C)return null;let N=Hh in a&&a[Hh],F=fs.resolve(fs.dirname(n.path),S||N||`.`),I=C?Mg(C,S,F):[];return n=>{if(Mh.test(n))return[];let a=[];for(let S of I){if(S.pattern===n)return S.substitutions.map(h$1);typeof S.pattern!=`string`&&a.push(S)}let C,N=-1;for(let S of a)jg(S.pattern,n)&&S.pattern.prefix.length>N&&(N=S.pattern.prefix.length,C=S);if(!C)return S?[h$1(fs.join(F,n))]:[];let H=n.slice(C.pattern.prefix.length,n.length-C.pattern.suffix.length);return C.substitutions.map(n=>h$1(n.replace(`*`,H)))}},`createPathsMatcher`)});function defaultSearchPlaces(n){return[`package.json`,`.${n}rc`,`.${n}rc.json`,`.${n}rc.yaml`,`.${n}rc.yml`,`.${n}rc.js`,`.${n}rc.ts`,`.${n}rc.mjs`,`.${n}rc.cjs`,`${n}.config.js`,`${n}.config.ts`,`${n}.config.mjs`,`${n}.config.cjs`]}function merge(n,...a){for(let S of a)if(S)for(let a of Object.keys(S)){let C=n[a],N=S[a];N!==void 0&&(isPlainObject$1(C)&&isPlainObject$1(N)?merge(C,N):n[a]=N)}return n}function isPlainObject$1(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&Object.getPrototypeOf(n)===Object.prototype}function readDottedPath(n,a){if(!a.includes(`.`))return n[a];let S=n;for(let n of a.split(`.`)){if(typeof S!=`object`||!S)return;S=S[n]}return S}var Pg,Config,Fg=__esmMin(()=>{Ae(),ef(),Pg=am(),ph(),Ng(),__name$1(isPlainObject$1,`isPlainObject`),Config=class{loadOptions={};constructor(n={}){Object.keys(n).length&&(this.loadOptions=n)}async load(n){let a=await(0,Pg.cosmiconfig)($d,{...this.loadOptions,searchPlaces:(this.loadOptions.searchPlaces??defaultSearchPlaces(`gjsify`)).filter(n=>n!==`package.json`)}).search(n),S={};try{let a=await this.readPackageJSON(n);isPlainObject$1(a?.gjsify)&&merge(S,a.gjsify)}catch{}return a?.config&&isPlainObject$1(a.config)&&merge(S,a.config),S.bundler||={},S.library||={},S.typescript||={},{config:S,filepath:a?.filepath??``,isEmpty:!a&&Object.keys(S).length===3}}async readPackageJSON(n){return n=await resolvePackageJSON(n),await readPackageJSON(n)}async readTSConfig(n){return Dg(n)?.config||{}}async forBuild(n){let a=await this.load(process.cwd()),S={...a.config},C=a.filepath||process.cwd(),N=await this.readPackageJSON(C),F=await this.readTSConfig(C);if(F.reflection||=n.reflection,S.verbose=n.verbose||!1,S.exclude=n.exclude||[],n.consoleShim!==void 0&&(S.consoleShim=n.consoleShim),n.globals!==void 0&&(S.globals=n.globals),S.globals??=`auto`,n.shebang!==void 0&&(S.shebang=n.shebang),n.excludeGlobals){let a=(Array.isArray(n.excludeGlobals)?n.excludeGlobals.join(`,`):String(n.excludeGlobals)).split(`,`).map(n=>n.trim()).filter(Boolean);a.length&&(S.excludeGlobals=[...S.excludeGlobals??[],...a])}merge(S.library??={},N,S.library),merge(S.typescript??={},F,S.typescript);let parseKvPairs=(n,a)=>{let S={};for(let C of n){let n=C.indexOf(`=`);if(n===-1)throw Error(`Invalid --${a} value '${C}'. Expected KEY=VALUE.`);let N=C.slice(0,n).trim(),F=C.slice(n+1);if(!N)throw Error(`Invalid --${a} value '${C}'. Empty key.`);S[N]=F}return S},I=parseKvPairs(n.define??[],`define`),H=parseKvPairs(n.alias??[],`alias`);Object.keys(H).length&&(S.aliases={...S.aliases,...H});let W={};if(S.defineFromPackageJson)for(let[n,a]of Object.entries(S.defineFromPackageJson)){if(!a||typeof a.field!=`string`||!a.field)throw Error(`gjsify config: defineFromPackageJson["${n}"] is missing a "field" string`);let S=readDottedPath(N,a.field);W[n]=S===void 0?`undefined`:JSON.stringify(S)}let K={};if(S.defineFromEnv)for(let[n,a]of Object.entries(S.defineFromEnv)){if(!a||typeof a.env!=`string`||!a.env)throw Error(`gjsify config: defineFromEnv["${n}"] is missing an "env" string`);let S=process.env[a.env],C=S===void 0?a.default:S;K[n]=C===void 0?`undefined`:JSON.stringify(C)}let q=S.bundler??={},Y=q.output??={},X=q.transform??={};return n.entryPoints?.length&&(q.input=n.entryPoints),q.input||=[`src/index.ts`],n.outfile!==void 0&&(Y.file=n.outfile),n.outdir!==void 0&&(Y.dir=n.outdir),n.format!==void 0&&(Y.format=n.format),n.minify!==void 0&&(Y.minify=n.minify),Y.minify===void 0&&(Y.minify=!0),Y.minify===!0&&(Y.keepNames=!0),n.logLevel&&(q.logLevel={silent:`silent`,error:`warn`,warning:`warn`,warn:`warn`,info:`info`,debug:`debug`,verbose:`debug`}[n.logLevel]??`warn`),n.external?.length&&(q.external=[...Array.isArray(q.external)?q.external:[],...n.external]),(Object.keys(I).length||Object.keys(W).length||Object.keys(K).length)&&(X.define={...X.define,...W,...K,...I}),S.verbose&&ke.debug(`configData`,S),S}}});function discoverWorkspaces(n,a={}){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`@gjsify/workspace: no package.json at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=a.patterns??extractWorkspacePatterns(C),F=N.filter(n=>!n.startsWith(`!`)),I=N.filter(n=>n.startsWith(`!`)).map(n=>globToRegex$1(n.slice(1))),H=[],W=new Set;a.includeRoot&&C.name&&(H.push({location:n,relativeLocation:`.`,name:C.name,version:C.version??`0.0.0`,manifest:C,private:C.private===!0}),W.add(n));for(let a of F)for(let S of expandPattern(n,a)){if(W.has(S))continue;let a=rs(n,S).split(us).join(`/`);if(I.some(n=>n.test(a)))continue;let C=ns(S,`package.json`);if(!existsSync(C))continue;let N;try{N=JSON.parse(readFileSync(C,`utf-8`))}catch{continue}N.name&&(W.add(S),H.push({location:S,relativeLocation:a,name:N.name,version:N.version??`0.0.0`,manifest:N,private:N.private===!0}))}return H.sort((n,a)=>n.relativeLocation.localeCompare(a.relativeLocation)),H}function buildDependencyGraph(n,a={}){let S=a.includeDev??!1,C=a.includePeer??!1,N=a.includeOptional??!0,F=indexByName(n),I=new Map;for(let a of n){let n=new Set,H=a.manifest;for(let a of[H.dependencies,S?H.devDependencies:void 0,C?H.peerDependencies:void 0,N?H.optionalDependencies:void 0])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&F.has(S)&&n.add(S);I.set(a.name,n)}return{edges:I,byName:F}}function topologicalSort(n){let a=new Map;for(let S of n.edges.keys())a.set(S,0);for(let S of n.edges.values())for(let n of S)a.has(n)&&a.set(n,(a.get(n)??0)+1);let S=new Map,C=new Map;for(let a of n.edges.keys())S.set(a,new Set),C.set(a,0);for(let[a,N]of n.edges)for(let n of N)S.has(n)&&(S.get(n).add(a),C.set(a,(C.get(a)??0)+1));let N=[];for(let[n,a]of C)a===0&&N.push(n);N.sort();let F=[];for(;N.length>0;){let a=N.shift(),I=n.byName.get(a);I&&F.push(I);let H=S.get(a);if(H){let n=[];for(let a of H){let S=(C.get(a)??1)-1;C.set(a,S),S===0&&n.push(a)}n.sort(),N.push(...n)}}if(F.length!==C.size){let n=[...C.entries()].filter(([,n])=>n>0).map(([n])=>n);throw Error(`@gjsify/workspace: dependency cycle detected involving ${n.join(`, `)}`)}return F}function buildReverseDependencyGraph(n,a={}){let S=buildDependencyGraph(n,a),C=new Map;for(let n of S.edges.keys())C.set(n,new Set);for(let[n,a]of S.edges)for(let S of a){let a=C.get(S);a&&a.add(n)}return{edges:C,byName:S.byName}}function affectedClosure(n,a){let S=new Set,C=[];for(let N of a)n.byName.has(N)&&(S.has(N)||(S.add(N),C.push(N)));for(;C.length>0;){let a=C.shift(),N=n.edges.get(a);if(N)for(let n of N)S.has(n)||(S.add(n),C.push(n))}return S}function workspacesForChangedFiles(n,a,S){let C=new Set,N=[],F={children:new Map};for(let a of n){if(a.relativeLocation===`.`||a.relativeLocation===``)continue;let n=a.relativeLocation.split(`/`).filter(Boolean),S=F;for(let a of n){let n=S.children.get(a);n||(n={children:new Map},S.children.set(a,n)),S=n}S.ws=a.name}for(let n of S){if(!n)continue;let a=n.replace(/\\/g,`/`).split(`/`).filter(Boolean),S=F,I;for(let n of a){if(S=S.children.get(n),!S)break;S.ws&&(I=S.ws)}I?C.add(I):N.push(n)}return{matched:C,unmatched:N}}function filterWorkspaces(n,a){let S=a.include?.map(globToRegex$1),C=a.exclude?.map(globToRegex$1);return n.filter(n=>!(a.noPrivate&&n.private||S&&S.length>0&&!S.some(a=>a.test(n.name))||C&&C.some(a=>a.test(n.name))))}function extractWorkspacePatterns(n){let a=n.workspaces;return a?Array.isArray(a)?a:a.packages??[]:[]}function expandPattern(n,a){let S=a.split(`/`).filter(Boolean),C=[$o(n)];for(let n of S){let a=[];for(let S of C)if(n===`*`){let n=[];try{n=readdirSync(S)}catch{continue}for(let C of n){if(C.startsWith(`.`))continue;let n=ns(S,C);try{statSync(n).isDirectory()&&a.push(n)}catch{}}}else if(n.includes(`*`)){let C=globToRegex$1(n),N=[];try{N=readdirSync(S)}catch{continue}for(let n of N){if(n.startsWith(`.`)||!C.test(n))continue;let N=ns(S,n);try{statSync(N).isDirectory()&&a.push(N)}catch{}}}else{let C=ns(S,n);if(existsSync(C))try{statSync(C).isDirectory()&&a.push(C)}catch{}}C=a}return C}function globToRegex$1(n){let a=n.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`[^/]*`);return RegExp(`^${a}$`)}function indexByName(n){let a=new Map;for(let S of n)a.set(S.name,S);return a}var Ig=__esmMin(()=>{Zc(),ps(),__name$1(globToRegex$1,`globToRegex`)});function readPackageJson$4(n){try{return JSON.parse(readFileSync(n,`utf-8`))}catch{return null}}function findWorkspaceRoot(n){let a=n;for(let S=0;S<12;S++){let S=ns(a,`package.json`);if(existsSync(S)&&readPackageJson$4(S)?.workspaces!==void 0)try{let S=discoverWorkspaces(a);if(a===n||S.some(a=>a.location===n))return a}catch{}let C=$o(a,`..`);if(C===a)break;a=C}return null}var Lg=__esmMin(()=>{Zc(),ps(),Ig(),__name$1(readPackageJson$4,`readPackageJson`)});function resolveNpmPackage(n,a={}){let S=a.cwd??process.cwd(),C=process.env.GJSIFY_NODE_PATH;if(C)for(let a of C.split(`:`).filter(Boolean)){let S=tryResolveFromDir(n,$o(a));if(S)return S}let N=tryResolveFromDir(n,S);if(N)return N;let F=findWorkspaceRoot(S);if(F&&F!==S){let a=tryResolveFromDir(n,F);if(a)return a}if(a.bundleUrl)try{return createRequire(a.bundleUrl).resolve(n)}catch{}let I=$o(S,`..`);for(let a=0;a<8;a++){let a=tryResolveFromDir(n,I);if(a)return a;let S=$o(I,`..`);if(S===I)break;I=S}return null}function tryResolveFromDir(n,a){try{let S=pathToFileURL(ns(a,`__gjsify_resolve__.js`)).href;return createRequire(S).resolve(n)}catch{return null}}var Rg=__esmMin(()=>{Uo(),mn(),ps(),Lg()});function isGjs(){return globalThis.imports?.gi!==void 0}function isNode(){return isGjs()?!1:typeof globalThis.process?.versions?.node==`string`}var zg=__esmMin(()=>{});async function loadNpmRolldown(){if(isGjs())throw Error("gjsify build: no usable bundler engine under GJS — `@gjsify/rolldown-native` is not loadable (its JS facade lib/ is not built, or its prebuild typelib is missing from GI_TYPELIB_PATH), and the npm `rolldown` engine is a Rust napi crate that cannot run under GJS. Build the facade first (`gjsify workspace @gjsify/rolldown-native build` under Node) or run this build under Node.");return(await import(resolveImportTargetForGjs(`rolldown`))).rolldown}function resolveImportTargetForGjs(n){if(!isGjs())return n;let a=resolveNpmPackage(n,{bundleUrl:import.meta.url});return a?pathToFileURL(a).href:n}async function bundleToChunks(n){if(await shouldUseNative()){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.rolldownInput.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let N=liftTransformExtras(stripUnserializable({...n.rolldownInput,input:normalizeInputForNative(n.rolldownInput.input),format:n.format}));delete N.plugins;let F=await a.bundleWithPlugins(N,C);reportNativeWarnings(F,n.rolldownInput);let I=[];for(let n of F.output)n.type===`chunk`&&I.push(n.code);return I}let a=await(await loadNpmRolldown())(n.rolldownInput);try{let S=await a.generate({format:n.format,minify:!1,sourcemap:!1}),C=[];for(let n of S.output)n.type===`chunk`&&C.push(n.code);return C}finally{await a.close()}}async function runWatch(n){if(await shouldUseNative())throw Error("`gjsify build --watch` requires the npm `rolldown` engine. The native engine (`@gjsify/rolldown-native`) does not expose a watcher API. Run the watch loop under Node (`node lib/index.js build … --watch`) or set `GJSIFY_BUNDLER=npm`.");let a=await import(resolveImportTargetForGjs(`rolldown`)),S=n.output??{};return a.watch({...n,output:S})}async function runBundle(n){if(await shouldUseNative())return await runNativeBundle(n);let a=await(await loadNpmRolldown())(n);try{return await a.write(n.output??{})}finally{await a.close()}}async function shouldUseNative(){let n=(globalThis.process?.env??{}).GJSIFY_BUNDLER;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNative())throw Error(`GJSIFY_BUNDLER=native but @gjsify/rolldown-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return isGjs()?await tryLoadNative()!==null:!1}function findRolldownNativeDir(n,a){let S=ns(`node_modules`,`@gjsify`,`rolldown-native`,`package.json`),C=[n];a&&a!==n&&C.push(a);for(let n of C){let a=n;for(let n=0;n<12;n++){if(existsSync(ns(a,S)))return ns(a,`node_modules`,`@gjsify`,`rolldown-native`);let n=$o(a,`..`);if(n===a)break;a=n}}return null}async function tryLoadNative(){return Bg||(Bg=(async()=>{if(!isGjs())return null;try{let n=`@gjsify/rolldown-native`,a=n;if(isGjs()){let S=as(new URL(import.meta.url).pathname),C=resolveNpmPackage(n,{bundleUrl:import.meta.url}),N=C?null:(()=>{let a=findRolldownNativeDir(process.cwd(),S);if(!a)return null;try{return createRequire(pathToFileURL(ns(a,`__gjsify_resolve__.js`)).href).resolve(n)}catch{return null}})();a=pathToFileURL(C??N??createRequire(import.meta.url).resolve(n)).href}let S=await import(a);return S.hasNativeRolldown()?S:null}catch{return null}})(),Bg)}async function runNativeBundle(n){let a=await tryLoadNative();if(!a)throw Error(`@gjsify/rolldown-native not loadable`);let S=n.plugins??[],C=[];for(let n of S)isPluginObject(n)&&C.push(toNativePlugin(n));let{output:N,plugins:F,...I}=n,H=liftTransformExtras(stripUnserializable({...I,...N,input:normalizeInputForNative(n.input)}));globalThis.process?.env?.GJSIFY_DEBUG_NATIVE_OPTS&&ke.error(`[gjsify-bundler-pick] native opts JSON:`,JSON.stringify(H));let W=await a.bundleWithPlugins(H,C);reportNativeWarnings(W,n);let K=n.output??{},q=K.dir??(K.file?as(K.file):process.cwd());q&&await Dc.mkdir(q,{recursive:!0});for(let n of W.output){let a=K.file&&n.type===`chunk`&&W.output.length===1?K.file:ns(q,n.fileName);await Dc.mkdir(as(a),{recursive:!0}),n.type===`chunk`?(await Dc.writeFile(a,n.code,`utf8`),typeof n.map==`string`&&await Dc.writeFile(`${a}.map`,n.map,`utf8`)):n.sourceText!==void 0&&await Dc.writeFile(a,n.sourceText,`utf8`)}return synthRolldownOutput(W)}function reportNativeWarnings(n,a){if(a.logLevel===`silent`||!Array.isArray(n.warnings)||n.warnings.length===0)return;let S=new Set;for(let a of n.warnings)S.has(a)||(S.add(a),ke.warn(`[gjsify-bundler] ${a}`))}function stripUnserializable(n){let a={};for(let[S,C]of Object.entries(n)){if(typeof C==`function`){if(!Vg.has(S)){Vg.add(S);let n=S===`external`?" Function `external` predicates are NOT supported by the native engine — pass exact names as a string array and/or enforce shape rules via a resolveId plugin returning `{ external: true }` (see externalsPlugin in @gjsify/rolldown-plugin-gjsify).":` Function-valued options do not survive the JSON boundary to the Rust core.`;ke.warn(`[gjsify-bundler] dropping non-serializable option "${S}" for the native rolldown engine — behavior may diverge from npm rolldown.${n}`)}continue}if(S===`external`&&Array.isArray(C)){let n=C.find(n=>typeof n!=`string`);if(n!==void 0)throw Error(`gjsify build: \`external\` entries must be exact string names under the native rolldown engine (got ${n instanceof RegExp?n.toString():typeof n}). RegExp/function externals are only supported by npm rolldown — use exact names or a resolveId plugin returning \`{ external: true }\`.`);a[S]=C;continue}if(S===`sourcemap`){let n=translateSourcemapOption(C);n!==void 0&&(a[S]=n);continue}a[S]=C}return a}function translateSourcemapOption(n){if(n===!0||n===`file`||n===`File`)return`File`;if(n===`inline`||n===`Inline`)return`Inline`;if(n===`hidden`||n===`Hidden`)return`Hidden`}function liftTransformExtras(n){let a=n.transform;if(!a)return n;let S={},C={...a};for(let n of[`define`,`inject`])n in C&&(S[n]=C[n],delete C[n]);return S.inject!==void 0&&!Array.isArray(S.inject)&&(S.inject=mapToInjectArray(S.inject)),{...n,transform:Object.keys(C).length===0?void 0:C,...S}}function mapToInjectArray(n){let a=[];for(let[S,C]of Object.entries(n))if(typeof C==`string`)a.push({type:`named`,imported:`default`,from:C,alias:S});else{let[n,N]=C;N===`*`?a.push({type:`namespace`,from:n,alias:S}):a.push({type:`named`,from:n,imported:N,alias:S})}return a}function normalizeInputForNative(n){return n===void 0?[]:typeof n==`string`?[{import:n}]:Array.isArray(n)?n.map(n=>typeof n==`string`?{import:n}:n):Object.entries(n).map(([n,a])=>({name:n,import:a}))}function isPluginObject(n){return typeof n==`object`&&!!n&&!Array.isArray(n)}function pickHook(n){if(typeof n==`function`)return{fn:n};if(typeof n==`object`&&n&&`handler`in n){let a=n,S=filterToRegexSource(a.filter?.id),C={fn:a.handler};return S!==void 0&&(C.idFilter=S),C}}function filterToRegexSource(n){if(n!==void 0){if(Array.isArray(n)){let a=n.map(oneToSource).filter(n=>n!==void 0);return a.length===0?void 0:a.length===1?a[0]:`(?:${a.join(`|`)})`}return oneToSource(n)}}function oneToSource(n){if(n instanceof RegExp)return n.source;if(typeof n==`string`)return n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function toNativePlugin(n){let a={name:typeof n.name==`string`?n.name:`unnamed-plugin`},S={},C=pickHook(n.load);C&&(a.load=C.fn,C.idFilter&&(S.load=C.idFilter));let N=pickHook(n.transform);N&&(a.transform=N.fn,N.idFilter&&(S.transform=N.idFilter));let F=pickHook(n.resolveId);F&&(a.resolveId=F.fn,F.idFilter&&(S.resolveId=F.idFilter));let I=pickHook(n.renderChunk);I&&(a.renderChunk=I.fn);let H=pickHook(n.banner);H&&(a.banner=H.fn);let W=pickHook(n.footer);W&&(a.footer=W.fn);let K=pickHook(n.intro);K&&(a.intro=K.fn);let q=pickHook(n.outro);q&&(a.outro=q.fn);let Y=pickHook(n.buildStart);Y&&(a.buildStart=Y.fn);let X=pickHook(n.buildEnd);X&&(a.buildEnd=X.fn);let te=pickHook(n.generateBundle);te&&(a.generateBundle=te.fn);let ne=pickHook(n.writeBundle);ne&&(a.writeBundle=ne.fn);let re=pickHook(n.closeBundle);return re&&(a.closeBundle=re.fn),Object.keys(S).length>0&&(a.idFilter=S),a}function synthRolldownOutput(n){return{output:n.output.map(n=>n.type===`chunk`?{type:`chunk`,fileName:n.fileName,code:n.code,name:n.name,isEntry:n.isEntry,isDynamicEntry:n.isDynamicEntry,map:n.map??null,sourcemapFileName:n.sourcemapFilename??null,imports:n.imports,dynamicImports:n.dynamicImports,facadeModuleId:null,moduleIds:[],modules:{},exports:[],referencedFiles:[],importedBindings:{}}:{type:`asset`,fileName:n.fileName,names:n.names,originalFileNames:n.originalFileNames,source:n.sourceText??``,needsCodeReference:!1})}}var Bg,Vg,Hg=__esmMin(()=>{Ae(),Zc(),ps(),Uo(),mn(),Rg(),zg(),Bg=null,Vg=new Set}),Ug=__esmMin(()=>{}),Wg=__esmMin(()=>{}),Gg=__esmMin(()=>{}),Kg=__esmMin(()=>{Ug(),Wg(),Gg()});function findScanRoots(){let n=[],a=as(fileURLToPath(import.meta.url));for(let S=0;S<8;S++){let S=$o(a,`packages`);if(existsSync(S))try{[`node`,`web`,`dom`,`framework`,`infra`].some(n=>existsSync(ns(S,n)))&&n.push({kind:`workspace`,dir:S})}catch{}let C=$o(a,`node_modules`,`@gjsify`);existsSync(C)&&n.push({kind:`installed`,dir:C});let N=as(a);if(N===a)break;a=N}try{let a=$o(process.cwd(),`node_modules`,`@gjsify`);existsSync(a)&&n.push({kind:`installed`,dir:a})}catch{}return n}function ingestPackageDirSync(n,a){let S=ns(n,`package.json`);if(existsSync(S))try{let C=readFileSync(S,`utf8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:null,I=N?.gjsify?.runtimes;if(F&&F.startsWith(`@gjsify/`)&&!a.has(F)&&I&&typeof I==`object`){let S={};for(let n of Jg){let a=I[n];typeof a==`string`&&qg.has(a)&&(S[n]=a)}let C=existsSync(ns(n,`globals.mjs`));a.set(F,{name:F,dir:n,runtimes:S,hasGlobals:C})}}catch{}}function getCacheSync(){if(Yg)return Yg;let n=findScanRoots(),a=new Map;if(n.length===0)return Yg=a,Yg;function walkWorkspace(n){let S;try{S=readdirSync(n,{withFileTypes:!0})}catch{return}if(existsSync(ns(n,`package.json`))){ingestPackageDirSync(n,a);return}for(let a of S)a.isDirectory()&&(a.name===`node_modules`||a.name===`lib`||a.name===`dist`||a.name.startsWith(`.`)||walkWorkspace(ns(n,a.name)))}function walkInstalled(n){let S;try{S=readdirSync(n,{withFileTypes:!0})}catch{return}for(let C of S)!C.isDirectory()&&!C.isSymbolicLink()||C.name.startsWith(`.`)||ingestPackageDirSync(ns(n,C.name),a)}for(let a of n)a.kind===`workspace`?walkWorkspace(a.dir):walkInstalled(a.dir);return Yg=a,Yg}function warnOnce(n,a){Xg.has(n)||(Xg.add(n),ke.warn(`[@gjsify/resolve-npm] ${a}`))}function resolveSlot(n,a){let S=n.runtimes[a];if(!S)return null;switch(S){case`polyfill`:case`partial`:return null;case`native`:return n.hasGlobals?`${n.name}/globals`:(warnOnce(`${n.name}-${a}-native-missing-globals`,`${n.name} declares runtimes.${a}="native" but ships no globals.mjs — falling back to @gjsify/empty for --app ${a} builds.`),`@gjsify/empty`);case`none`:return null;default:return null}}function getDerivedAliasesSync(n){if(!Jg.has(n))return{};let a=getCacheSync(),S={};for(let C of a.values()){let a=resolveSlot(C,n);a!==null&&a!==C.name&&(S[C.name]=a)}return S}var qg,Jg,Yg,Xg,Zg=__esmMin(()=>{Ae(),kc(),Zc(),ps(),mn(),qg=new Set([`polyfill`,`native`,`partial`,`none`]),Jg=new Set([`gjs`,`node`,`browser`,`nativescript`]),Yg=null,Xg=new Set}),Qg,$g,e_,t_,n_,r_,i_,a_,o_,s_,c_=__esmMin(()=>{Zg(),Qg=`assert.assert/strict.async_hooks.buffer.child_process.cluster.console.constants.crypto.dgram.diagnostics_channel.dns.dns/promises.domain.events.fs.fs/promises.http.http2.https.inspector.module.net.os.path.path/posix.path/win32.perf_hooks.process.punycode.querystring.readline.readline/promises.repl.stream.stream/web.stream/consumers.stream/promises.string_decoder.sys.test.timers.timers/promises.tls.tty.url.util.util/types.v8.vm.wasi.sqlite.worker_threads.zlib`.split(`.`),$g=[`readable-stream`,`node-fetch`],e_={jsdom:`@gjsify/empty`,"./polling-xhr.node.js":`./polling-xhr.js`,"./websocket.node.js":`./websocket.js`,"./globals.node.js":`./globals.js`},t_={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/child_process`,cluster:`@gjsify/cluster`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/dgram`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/dns`,"dns/promises":`@gjsify/dns/promises`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/fs`,"fs/promises":`@gjsify/fs/promises`,http:`@gjsify/http`,http2:`@gjsify/http2`,https:`@gjsify/https`,inspector:`@gjsify/inspector`,module:`@gjsify/module`,net:`@gjsify/net`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/readline`,"readline/promises":`@gjsify/readline/promises`,repl:`@gjsify/repl`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/tls`,tty:`@gjsify/tty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/v8`,vm:`@gjsify/vm`,wasi:`@gjsify/wasi`,sqlite:`@gjsify/sqlite`,worker_threads:`@gjsify/worker_threads`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/fetch`,ws:`@gjsify/ws`,"isomorphic-ws":`@gjsify/websocket`},n_={assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert/strict`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,child_process:`@gjsify/empty`,cluster:`@gjsify/empty`,console:`@gjsify/console`,constants:`@gjsify/constants`,crypto:`@gjsify/crypto`,dgram:`@gjsify/empty`,diagnostics_channel:`@gjsify/diagnostics_channel`,dns:`@gjsify/empty`,"dns/promises":`@gjsify/empty`,domain:`@gjsify/domain`,events:`@gjsify/events`,fs:`@gjsify/empty`,"fs/promises":`@gjsify/empty`,http:`@gjsify/empty`,http2:`@gjsify/empty`,https:`@gjsify/empty`,inspector:`@gjsify/empty`,module:`@gjsify/empty`,net:`@gjsify/empty`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,perf_hooks:`@gjsify/perf_hooks`,process:`@gjsify/process`,punycode:`@gjsify/punycode`,querystring:`@gjsify/querystring`,readline:`@gjsify/empty`,"readline/promises":`@gjsify/empty`,repl:`@gjsify/empty`,stream:`@gjsify/stream`,"stream/web":`@gjsify/stream/web`,"stream/consumers":`@gjsify/stream/consumers`,"stream/promises":`@gjsify/stream/promises`,string_decoder:`@gjsify/string_decoder`,sys:`@gjsify/sys`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,tls:`@gjsify/empty`,tty:`@gjsify/empty`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,v8:`@gjsify/empty`,vm:`@gjsify/vm`,wasi:`@gjsify/empty`,sqlite:`@gjsify/empty`,worker_threads:`@gjsify/empty`,zlib:`@gjsify/zlib`,"node-fetch":`@gjsify/empty`,ws:`@gjsify/empty`,"isomorphic-ws":`@gjsify/empty`},r_={child_process:`@gjsify/empty`,cluster:`@gjsify/empty`,dgram:`@gjsify/empty`,dns:`@gjsify/empty`,"dns/promises":`@gjsify/empty`,inspector:`@gjsify/empty`,net:`@gjsify/empty`,tls:`@gjsify/empty`,tty:`@gjsify/empty`,http:`@gjsify/empty`,https:`@gjsify/empty`,http2:`@gjsify/empty`,readline:`@gjsify/empty`,repl:`@gjsify/empty`,v8:`@gjsify/empty`,vm:`@gjsify/empty`,worker_threads:`@gjsify/empty`,perf_hooks:`@gjsify/empty`,diagnostics_channel:`@gjsify/empty`,domain:`@gjsify/empty`,sqlite:`@gjsify/empty`,sys:`@gjsify/empty`,zlib:`@gjsify/empty`,assert:`@gjsify/assert`,"assert/strict":`@gjsify/assert`,async_hooks:`@gjsify/async_hooks`,buffer:`@gjsify/buffer`,module:`@gjsify/module`,crypto:`@gjsify/crypto`,events:`@gjsify/events`,fs:`@gjsify/native-fs-bridge`,"fs/promises":`@gjsify/native-fs-bridge`,os:`@gjsify/os`,path:`@gjsify/path`,"path/posix":`@gjsify/path/posix`,"path/win32":`@gjsify/path/win32`,process:`@gjsify/process`,stream:`@gjsify/stream`,"stream/promises":`@gjsify/stream/promises`,"stream/web":`@gjsify/stream/web`,string_decoder:`@gjsify/string_decoder`,url:`@gjsify/url`,util:`@gjsify/util`,"util/types":`@gjsify/util/types`,querystring:`@gjsify/querystring`,console:`@gjsify/console`,timers:`@gjsify/timers`,"timers/promises":`@gjsify/timers/promises`,"node-fetch":`@gjsify/empty`,ws:`@gjsify/empty`,"isomorphic-ws":`@gjsify/empty`},i_={"abort-controller":`@gjsify/abort-controller`,"compression-streams":`@gjsify/compression-streams`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception`,"event-target-shim":`@gjsify/dom-events`,"message-channel":`@gjsify/message-channel`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch`,formdata:`@gjsify/formdata`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/abort-controller/register`,"compression-streams/register":`@gjsify/compression-streams/register`,"dom-events/register":`@gjsify/dom-events/register`,"dom-events/register/event-target":`@gjsify/dom-events/register/event-target`,"dom-events/register/custom-events":`@gjsify/dom-events/register/custom-events`,"dom-events/register/ui-events":`@gjsify/dom-events/register/ui-events`,"dom-exception/register":`@gjsify/dom-exception/register`,"message-channel/register":`@gjsify/message-channel/register`,"eventsource/register":`@gjsify/eventsource/register`,"websocket/register":`@gjsify/websocket/register`,"fetch/register":`@gjsify/fetch/register`,"fetch/register/fetch":`@gjsify/fetch/register/fetch`,"fetch/register/xhr":`@gjsify/fetch/register/xhr`,"webcrypto/register":`@gjsify/webcrypto/register`,"web-streams/register":`@gjsify/web-streams/register`,"web-streams/register/readable":`@gjsify/web-streams/register/readable`,"web-streams/register/writable":`@gjsify/web-streams/register/writable`,"web-streams/register/transform":`@gjsify/web-streams/register/transform`,"web-streams/register/text-streams":`@gjsify/web-streams/register/text-streams`,"web-streams/register/queuing":`@gjsify/web-streams/register/queuing`,xmlhttprequest:`@gjsify/fetch`,"xmlhttprequest/register":`@gjsify/fetch/register/xhr`,"@gjsify/xmlhttprequest":`@gjsify/fetch`,"@gjsify/xmlhttprequest/register":`@gjsify/fetch/register/xhr`,domparser:`@gjsify/domparser`,"domparser/register":`@gjsify/domparser/register`,webaudio:`@gjsify/webaudio`,"webaudio/register":`@gjsify/webaudio/register`,gamepad:`@gjsify/gamepad`,"gamepad/register":`@gjsify/gamepad/register`,webrtc:`@gjsify/webrtc`,"webrtc/register":`@gjsify/webrtc/register`,"webrtc/register/peer-connection":`@gjsify/webrtc/register/peer-connection`,"webrtc/register/data-channel":`@gjsify/webrtc/register/data-channel`,"webrtc/register/error":`@gjsify/webrtc/register/error`,"webrtc/register/media":`@gjsify/webrtc/register/media`,"webrtc/register/media-devices":`@gjsify/webrtc/register/media-devices`,webassembly:`@gjsify/webassembly`,"webassembly/register":`@gjsify/webassembly/register`,"webassembly/register/promise":`@gjsify/webassembly/register/promise`},a_={"@gjsify/node-globals":`@gjsify/empty`,"@gjsify/node-globals/register":`@gjsify/empty`,"@gjsify/node-globals/register/process":`@gjsify/empty`,"@gjsify/node-globals/register/buffer":`@gjsify/empty`,"@gjsify/node-globals/register/timers":`@gjsify/empty`,"@gjsify/node-globals/register/encoding":`@gjsify/empty`,"@gjsify/node-globals/register/url":`@gjsify/empty`,"@gjsify/node-globals/register/structured-clone":`@gjsify/empty`,"@gjsify/node-globals/register/microtask":`@gjsify/empty`,"@gjsify/web-globals":`@gjsify/empty`,"@gjsify/web-globals/register":`@gjsify/empty`,"@gjsify/web-globals/register/performance":`@gjsify/empty`,"@gjsify/web-globals/register/formdata":`@gjsify/empty`},o_={system:`@gjsify/node-gi/system`,gettext:`@gjsify/node-gi/gettext`},s_={"abort-controller":`@gjsify/abort-controller/globals`,"compression-streams":`@gjsify/compression-streams/globals`,"dom-events":`@gjsify/dom-events`,"dom-exception":`@gjsify/dom-exception/globals`,"message-channel":`@gjsify/message-channel/globals`,eventsource:`@gjsify/eventsource`,fetch:`@gjsify/fetch/globals`,formdata:`@gjsify/formdata/globals`,"html-image-element":`@gjsify/html-image-element`,webcrypto:`@gjsify/webcrypto/globals`,webgl:`@gjsify/webgl`,websocket:`@gjsify/websocket/globals`,webstorage:`@gjsify/webstorage`,"abort-controller/register":`@gjsify/empty`,"compression-streams/register":`@gjsify/empty`,"dom-events/register":`@gjsify/empty`,"dom-events/register/event-target":`@gjsify/empty`,"dom-events/register/custom-events":`@gjsify/empty`,"dom-events/register/ui-events":`@gjsify/empty`,"dom-exception/register":`@gjsify/empty`,"message-channel/register":`@gjsify/empty`,"eventsource/register":`@gjsify/empty`,"websocket/register":`@gjsify/empty`,"fetch/register":`@gjsify/empty`,"fetch/register/fetch":`@gjsify/empty`,"fetch/register/xhr":`@gjsify/empty`,"webcrypto/register":`@gjsify/empty`,"web-streams/register":`@gjsify/empty`,"web-streams/register/readable":`@gjsify/empty`,"web-streams/register/writable":`@gjsify/empty`,"web-streams/register/transform":`@gjsify/empty`,"web-streams/register/text-streams":`@gjsify/empty`,"web-streams/register/queuing":`@gjsify/empty`,"@gjsify/abort-controller/register":`@gjsify/empty`,"@gjsify/compression-streams/register":`@gjsify/empty`,"@gjsify/dom-events/register":`@gjsify/empty`,"@gjsify/dom-events/register/event-target":`@gjsify/empty`,"@gjsify/dom-events/register/custom-events":`@gjsify/empty`,"@gjsify/dom-events/register/ui-events":`@gjsify/empty`,"@gjsify/dom-exception/register":`@gjsify/empty`,"@gjsify/message-channel/register":`@gjsify/empty`,"@gjsify/eventsource/register":`@gjsify/empty`,"@gjsify/websocket/register":`@gjsify/empty`,"@gjsify/fetch/register":`@gjsify/empty`,"@gjsify/fetch/register/fetch":`@gjsify/empty`,"@gjsify/fetch/register/xhr":`@gjsify/empty`,"@gjsify/webcrypto/register":`@gjsify/empty`,"@gjsify/web-streams/register":`@gjsify/empty`,"@gjsify/web-streams/register/readable":`@gjsify/empty`,"@gjsify/web-streams/register/writable":`@gjsify/empty`,"@gjsify/web-streams/register/transform":`@gjsify/empty`,"@gjsify/web-streams/register/text-streams":`@gjsify/empty`,"@gjsify/web-streams/register/queuing":`@gjsify/empty`,"@gjsify/dom-elements/register":`@gjsify/empty`,"@gjsify/dom-elements/register/document":`@gjsify/empty`,"@gjsify/dom-elements/register/canvas":`@gjsify/empty`,"@gjsify/dom-elements/register/image":`@gjsify/empty`,"@gjsify/dom-elements/register/observers":`@gjsify/empty`,"@gjsify/dom-elements/register/font-face":`@gjsify/empty`,"@gjsify/dom-elements/register/match-media":`@gjsify/empty`,"@gjsify/dom-elements/register/location":`@gjsify/empty`,"@gjsify/dom-elements/register/navigator":`@gjsify/empty`,"@gjsify/buffer/register":`@gjsify/empty`,xmlhttprequest:`@gjsify/empty`,"xmlhttprequest/register":`@gjsify/empty`,"@gjsify/xmlhttprequest":`@gjsify/empty`,"@gjsify/xmlhttprequest/register":`@gjsify/empty`,domparser:`@gjsify/empty`,"domparser/register":`@gjsify/empty`,"@gjsify/domparser/register":`@gjsify/empty`,webaudio:`@gjsify/empty`,"webaudio/register":`@gjsify/empty`,"@gjsify/webaudio/register":`@gjsify/empty`,gamepad:`@gjsify/empty`,"gamepad/register":`@gjsify/empty`,"@gjsify/gamepad/register":`@gjsify/empty`,webrtc:`@gjsify/empty`,"webrtc/register":`@gjsify/empty`,"webrtc/register/peer-connection":`@gjsify/empty`,"webrtc/register/data-channel":`@gjsify/empty`,"webrtc/register/error":`@gjsify/empty`,"webrtc/register/media":`@gjsify/empty`,"webrtc/register/media-devices":`@gjsify/empty`,"@gjsify/webrtc":`@gjsify/empty`,"@gjsify/webrtc/register":`@gjsify/empty`,"@gjsify/webrtc/register/peer-connection":`@gjsify/empty`,"@gjsify/webrtc/register/data-channel":`@gjsify/empty`,"@gjsify/webrtc/register/error":`@gjsify/empty`,"@gjsify/webrtc/register/media":`@gjsify/empty`,"@gjsify/webrtc/register/media-devices":`@gjsify/empty`,webassembly:`@gjsify/webassembly/globals`,"webassembly/register":`@gjsify/empty`,"webassembly/register/promise":`@gjsify/empty`,"@gjsify/webassembly/register":`@gjsify/empty`,"@gjsify/webassembly/register/promise":`@gjsify/empty`}}),setNodeAliasPrefix,getAliasesGeneralForGjs,getAliasesNodeForGjs,getAliasesWebForGjs,getAliasesGeneralForNode,getAliasesGjsForNode,getAliasesWebForNode,getAliasesForGjs,getAliasesForNode,l_=__esmMin(()=>{c_(),setNodeAliasPrefix=n=>{for(let a in n){if(a.startsWith(`node:`))continue;let S=`node:${a}`;n[S]||(n[S]=n[a])}return n},getAliasesGeneralForGjs=n=>e_,getAliasesNodeForGjs=n=>setNodeAliasPrefix(t_),getAliasesWebForGjs=n=>i_,getAliasesGeneralForNode=n=>a_,getAliasesGjsForNode=n=>o_,getAliasesWebForNode=n=>s_,getAliasesForGjs=n=>({...getDerivedAliasesSync(`gjs`),...getAliasesGeneralForGjs(n),...getAliasesNodeForGjs(n),...getAliasesWebForGjs(n)}),getAliasesForNode=n=>({...getDerivedAliasesSync(`node`),...getAliasesGeneralForNode(n),...getAliasesGjsForNode(n),...getAliasesWebForNode(n)}),[...Qg,...Qg.map(n=>`node:${n}`)],[...$g]}),u_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.splitWhen=n.flatten=void 0;function flatten(n){return n.reduce((n,a)=>[].concat(n,a),[])}n.flatten=flatten;function splitWhen(n,a){let S=[[]],C=0;for(let N of n)a(N)?(C++,S[C]=[]):S[C].push(N);return S}n.splitWhen=splitWhen})),d_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isEnoentCodeError=void 0;function isEnoentCodeError(n){return n.code===`ENOENT`}n.isEnoentCodeError=isEnoentCodeError})),f_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDirentFromStats=void 0;var DirentFromStats=class{constructor(n,a){this.name=n,this.isBlockDevice=a.isBlockDevice.bind(a),this.isCharacterDevice=a.isCharacterDevice.bind(a),this.isDirectory=a.isDirectory.bind(a),this.isFIFO=a.isFIFO.bind(a),this.isFile=a.isFile.bind(a),this.isSocket=a.isSocket.bind(a),this.isSymbolicLink=a.isSymbolicLink.bind(a)}};function createDirentFromStats(n,a){return new DirentFromStats(n,a)}n.createDirentFromStats=createDirentFromStats})),p_=__commonJSMin$1((n=>{Object.defineProperty(n,"__esModule",{value:!0}),n.convertPosixPathToPattern=n.convertWindowsPathToPattern=n.convertPathToPattern=n.escapePosixPath=n.escapeWindowsPath=n.escape=n.removeLeadingDotSegment=n.makeAbsolute=n.unixify=void 0;let a=(Wp(),__toCommonJS(Lp)),S=(ps(),__toCommonJS(Qo)),C=a.platform()===`win32`,N=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,F=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,I=/^\\\\([.?])/,H=/\\(?![!()+@[\]{}])/g;function unixify(n){return n.replace(/\\/g,`/`)}n.unixify=unixify;function makeAbsolute(n,a){return S.resolve(n,a)}n.makeAbsolute=makeAbsolute;function removeLeadingDotSegment(n){if(n.charAt(0)===`.`){let a=n.charAt(1);if(a===`/`||a===`\\`)return n.slice(2)}return n}n.removeLeadingDotSegment=removeLeadingDotSegment,n.escape=C?escapeWindowsPath:escapePosixPath;function escapeWindowsPath(n){return n.replace(F,`\\$2`)}n.escapeWindowsPath=escapeWindowsPath;function escapePosixPath(n){return n.replace(N,`\\$2`)}n.escapePosixPath=escapePosixPath,n.convertPathToPattern=C?convertWindowsPathToPattern:convertPosixPathToPattern;function convertWindowsPathToPattern(n){return escapeWindowsPath(n).replace(I,`//$1`).replace(H,`/`)}n.convertWindowsPathToPattern=convertWindowsPathToPattern;function convertPosixPathToPattern(n){return escapePosixPath(n)}n.convertPosixPathToPattern=convertPosixPathToPattern})),m_=__commonJSMin$1(((n,a)=>{
632
632
  /*!
633
633
  * is-extglob <https://github.com/jonschlinkert/is-extglob>
634
634
  *
@@ -676,89 +676,94 @@ Defaulting to 2020, but this will stop working in the future.`)),a.ecmaVersion=1
676
676
  `;break;default:n+=String.fromCharCode(S);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),a=this.pos}else ++this.pos}},Eb.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case`\\`:++this.pos;break;case`$`:if(this.input[this.pos+1]!==`{`)break;case"`":return this.finishToken(Xv.invalidTemplate,this.input.slice(this.start,this.pos));case`\r`:this.input[this.pos+1]===`
677
677
  `&&++this.pos;case`
678
678
  `:case`\u2028`:case`\u2029`:++this.curLine,this.lineStart=this.pos+1;break}this.raise(this.start,`Unterminated template`)},Eb.readEscapedChar=function(n){var a=this.input.charCodeAt(++this.pos);switch(++this.pos,a){case 110:return`
679
- `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return codePointToString(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),n){var S=this.pos-1;this.invalidStringToken(S,`Invalid escape sequence in template string`)}default:if(a>=48&&a<=55){var C=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],N=parseInt(C,8);return N>255&&(C=C.slice(0,-1),N=parseInt(C,8)),this.pos+=C.length-1,a=this.input.charCodeAt(this.pos),(C!==`0`||a===56||a===57)&&(this.strict||n)&&this.invalidStringToken(this.pos-1-C.length,n?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(N)}return isNewLine(a)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(a)}},Eb.readHexChar=function(n){var a=this.pos,S=this.readInt(16,n);return S===null&&this.invalidStringToken(a,`Bad character escape sequence`),S},Eb.readWord1=function(){this.containsEsc=!1;for(var n=``,a=!0,S=this.pos,C=this.options.ecmaVersion>=6;this.pos<this.input.length;){var N=this.fullCharCodeAtPos();if(isIdentifierChar(N,C))this.pos+=N<=65535?1:2;else if(N===92){this.containsEsc=!0,n+=this.input.slice(S,this.pos);var F=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var I=this.readCodePoint();(a?isIdentifierStart:isIdentifierChar)(I,C)||this.invalidStringToken(F,`Invalid Unicode escape`),n+=codePointToString(I),S=this.pos}else break;a=!1}return n+this.input.slice(S,this.pos)},Eb.readWord=function(){var n=this.readWord1(),a=Xv.name;return this.keywords.test(n)&&(a=Yv[n]),this.finishToken(a,n)},Ob=`8.16.0`,Ay.acorn={Parser:Ay,version:Ob,defaultOptions:uy,Position:cy,SourceLocation:ly,getLineInfo,Node:Zy,TokenType:Kv,tokTypes:Xv,keywordTypes:Yv,TokContext:Uy,tokContexts:Wy,isIdentifierChar,isIdentifierStart,Token:Tb,isNewLine,lineBreak:Zv,lineBreakG:Qv,nonASCIIwhitespace:$v},__name$1(parse$1,`parse`)});function simple(n,a,S,C,N){S||=Ab,(function c(n,C,N){var F=N||n.type;visitNode$1(S,F,n,C,c),a[F]&&a[F](n,C)})(n,C,N)}function ancestor(n,a,S,C,N){var F=[];S||=Ab,(function c(n,C,N){var I=N||n.type,H=n!==F[F.length-1];H&&F.push(n),visitNode$1(S,I,n,C,c),a[I]&&a[I](n,C||F,F),H&&F.pop()})(n,C,N)}function skipThrough(n,a,S){S(n,a)}function ignore(n,a,S){}function visitNode$1(n,a,S,C,N){if(n[a]==null)throw Error(`No walker function defined for node type `+a);n[a](S,C,N)}var Ab,jb=__esmMin(()=>{__name$1(visitNode$1,`visitNode`),Ab={},Ab.Program=Ab.BlockStatement=Ab.StaticBlock=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},Ab.Statement=skipThrough,Ab.EmptyStatement=ignore,Ab.ExpressionStatement=Ab.ParenthesizedExpression=Ab.ChainExpression=function(n,a,S){return S(n.expression,a,`Expression`)},Ab.IfStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Statement`),n.alternate&&S(n.alternate,a,`Statement`)},Ab.LabeledStatement=function(n,a,S){return S(n.body,a,`Statement`)},Ab.BreakStatement=Ab.ContinueStatement=ignore,Ab.WithStatement=function(n,a,S){S(n.object,a,`Expression`),S(n.body,a,`Statement`)},Ab.SwitchStatement=function(n,a,S){S(n.discriminant,a,`Expression`);for(var C=0,N=n.cases;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.SwitchCase=function(n,a,S){n.test&&S(n.test,a,`Expression`);for(var C=0,N=n.consequent;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},Ab.ReturnStatement=Ab.YieldExpression=Ab.AwaitExpression=function(n,a,S){n.argument&&S(n.argument,a,`Expression`)},Ab.ThrowStatement=Ab.SpreadElement=function(n,a,S){return S(n.argument,a,`Expression`)},Ab.TryStatement=function(n,a,S){S(n.block,a,`Statement`),n.handler&&S(n.handler,a),n.finalizer&&S(n.finalizer,a,`Statement`)},Ab.CatchClause=function(n,a,S){n.param&&S(n.param,a,`Pattern`),S(n.body,a,`Statement`)},Ab.WhileStatement=Ab.DoWhileStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForStatement=function(n,a,S){n.init&&S(n.init,a,`ForInit`),n.test&&S(n.test,a,`Expression`),n.update&&S(n.update,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForInStatement=Ab.ForOfStatement=function(n,a,S){S(n.left,a,`ForInit`),S(n.right,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForInit=function(n,a,S){n.type===`VariableDeclaration`?S(n,a):S(n,a,`Expression`)},Ab.DebuggerStatement=ignore,Ab.FunctionDeclaration=function(n,a,S){return S(n,a,`Function`)},Ab.VariableDeclaration=function(n,a,S){for(var C=0,N=n.declarations;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.VariableDeclarator=function(n,a,S){S(n.id,a,`Pattern`),n.init&&S(n.init,a,`Expression`)},Ab.Function=function(n,a,S){n.id&&S(n.id,a,`Pattern`);for(var C=0,N=n.params;C<N.length;C+=1){var F=N[C];S(F,a,`Pattern`)}S(n.body,a,n.expression?`Expression`:`Statement`)},Ab.Pattern=function(n,a,S){n.type===`Identifier`?S(n,a,`VariablePattern`):n.type===`MemberExpression`?S(n,a,`MemberPattern`):S(n,a)},Ab.VariablePattern=ignore,Ab.MemberPattern=skipThrough,Ab.RestElement=function(n,a,S){return S(n.argument,a,`Pattern`)},Ab.ArrayPattern=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Pattern`)}},Ab.ObjectPattern=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];F.type===`Property`?(F.computed&&S(F.key,a,`Expression`),S(F.value,a,`Pattern`)):F.type===`RestElement`&&S(F.argument,a,`Pattern`)}},Ab.Expression=skipThrough,Ab.ThisExpression=Ab.Super=Ab.MetaProperty=ignore,Ab.ArrayExpression=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Expression`)}},Ab.ObjectExpression=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.FunctionExpression=Ab.ArrowFunctionExpression=Ab.FunctionDeclaration,Ab.SequenceExpression=function(n,a,S){for(var C=0,N=n.expressions;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},Ab.TemplateLiteral=function(n,a,S){for(var C=0,N=n.quasis;C<N.length;C+=1){var F=N[C];S(F,a)}for(var I=0,H=n.expressions;I<H.length;I+=1){var W=H[I];S(W,a,`Expression`)}},Ab.TemplateElement=ignore,Ab.UnaryExpression=Ab.UpdateExpression=function(n,a,S){S(n.argument,a,`Expression`)},Ab.BinaryExpression=Ab.LogicalExpression=function(n,a,S){S(n.left,a,`Expression`),S(n.right,a,`Expression`)},Ab.AssignmentExpression=Ab.AssignmentPattern=function(n,a,S){S(n.left,a,`Pattern`),S(n.right,a,`Expression`)},Ab.ConditionalExpression=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Expression`),S(n.alternate,a,`Expression`)},Ab.NewExpression=Ab.CallExpression=function(n,a,S){if(S(n.callee,a,`Expression`),n.arguments)for(var C=0,N=n.arguments;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},Ab.MemberExpression=function(n,a,S){S(n.object,a,`Expression`),n.computed&&S(n.property,a,`Expression`)},Ab.ExportNamedDeclaration=Ab.ExportDefaultDeclaration=function(n,a,S){if(n.declaration&&S(n.declaration,a,n.type===`ExportNamedDeclaration`||n.declaration.id?`Statement`:`Expression`),n.source&&S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.ExportAllDeclaration=function(n,a,S){if(n.exported&&S(n.exported,a),S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.ImportAttribute=function(n,a,S){S(n.value,a,`Expression`)},Ab.ImportDeclaration=function(n,a,S){for(var C=0,N=n.specifiers;C<N.length;C+=1){var F=N[C];S(F,a)}if(S(n.source,a,`Expression`),n.attributes)for(var I=0,H=n.attributes;I<H.length;I+=1){var W=H[I];S(W,a)}},Ab.ImportExpression=function(n,a,S){S(n.source,a,`Expression`),n.options&&S(n.options,a,`Expression`)},Ab.ImportSpecifier=Ab.ImportDefaultSpecifier=Ab.ImportNamespaceSpecifier=Ab.Identifier=Ab.PrivateIdentifier=Ab.Literal=ignore,Ab.TaggedTemplateExpression=function(n,a,S){S(n.tag,a,`Expression`),S(n.quasi,a,`Expression`)},Ab.ClassDeclaration=Ab.ClassExpression=function(n,a,S){return S(n,a,`Class`)},Ab.Class=function(n,a,S){n.id&&S(n.id,a,`Pattern`),n.superClass&&S(n.superClass,a,`Expression`),S(n.body,a)},Ab.ClassBody=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.MethodDefinition=Ab.PropertyDefinition=Ab.Property=function(n,a,S){n.computed&&S(n.key,a,`Expression`),n.value&&S(n.value,a,`Expression`)}}),Mb,Nb,Pb,Fb=__esmMin(()=>{Mb={node:[`Buffer`,`Blob`,`File`,`process`,`setImmediate`,`clearImmediate`,`queueMicrotask`,`structuredClone`,`btoa`,`atob`,`URL`,`URLSearchParams`],web:`fetch.Headers.Request.Response.FormData.ReadableStream.WritableStream.TransformStream.ReadableStreamBYOBReader.ReadableStreamBYOBRequest.ReadableByteStreamController.ReadableStreamDefaultController.ReadableStreamDefaultReader.TextEncoderStream.TextDecoderStream.ByteLengthQueuingStrategy.CountQueuingStrategy.CompressionStream.DecompressionStream.crypto.AbortController.AbortSignal.MessageChannel.MessagePort.Event.EventTarget.CustomEvent.MessageEvent.ErrorEvent.CloseEvent.ProgressEvent.UIEvent.MouseEvent.PointerEvent.KeyboardEvent.WheelEvent.FocusEvent.EventSource.WebSocket.WebAssembly.DOMException.performance.PerformanceObserver.XMLHttpRequest.XMLHttpRequestUpload.DOMParser.AudioContext.webkitAudioContext.Audio.HTMLAudioElement.GamepadEvent.MediaDevices.RTCPeerConnection.RTCSessionDescription.RTCIceCandidate.RTCPeerConnectionIceEvent.RTCDataChannel.RTCDataChannelEvent.RTCError.RTCErrorEvent.MediaStream.MediaStreamTrack.RTCTrackEvent`.split(`.`),dom:[`document`,`Image`,`HTMLCanvasElement`,`HTMLImageElement`,`HTMLElement`,`MutationObserver`,`ResizeObserver`,`IntersectionObserver`,`FontFace`,`matchMedia`,`location`,`navigator`]},Nb={Buffer:`@gjsify/node-globals/register/buffer`,process:`@gjsify/node-globals/register/process`,setTimeout:`@gjsify/node-globals/register/timers`,setInterval:`@gjsify/node-globals/register/timers`,clearTimeout:`@gjsify/node-globals/register/timers`,clearInterval:`@gjsify/node-globals/register/timers`,setImmediate:`@gjsify/node-globals/register/timers`,clearImmediate:`@gjsify/node-globals/register/timers`,queueMicrotask:`@gjsify/node-globals/register/microtask`,structuredClone:`@gjsify/node-globals/register/structured-clone`,btoa:`@gjsify/node-globals/register/encoding`,atob:`@gjsify/node-globals/register/encoding`,URL:`@gjsify/node-globals/register/url`,URLSearchParams:`@gjsify/node-globals/register/url`,Blob:`@gjsify/buffer/register`,File:`@gjsify/buffer/register`,fetch:`fetch/register/fetch`,Headers:`fetch/register/fetch`,Request:`fetch/register/fetch`,Response:`fetch/register/fetch`,FormData:`@gjsify/web-globals/register/formdata`,ReadableStream:`web-streams/register/readable`,ReadableStreamBYOBReader:`web-streams/register/readable`,ReadableStreamBYOBRequest:`web-streams/register/readable`,ReadableByteStreamController:`web-streams/register/readable`,ReadableStreamDefaultController:`web-streams/register/readable`,ReadableStreamDefaultReader:`web-streams/register/readable`,WritableStream:`web-streams/register/writable`,TransformStream:`web-streams/register/transform`,TextEncoderStream:`web-streams/register/text-streams`,TextDecoderStream:`web-streams/register/text-streams`,ByteLengthQueuingStrategy:`web-streams/register/queuing`,CountQueuingStrategy:`web-streams/register/queuing`,CompressionStream:`compression-streams/register`,DecompressionStream:`compression-streams/register`,crypto:`webcrypto/register`,AbortController:`abort-controller/register`,AbortSignal:`abort-controller/register`,MessageChannel:`message-channel/register`,MessagePort:`message-channel/register`,Event:`dom-events/register/event-target`,EventTarget:`dom-events/register/event-target`,CustomEvent:`dom-events/register/custom-events`,MessageEvent:`dom-events/register/custom-events`,ErrorEvent:`dom-events/register/custom-events`,CloseEvent:`dom-events/register/custom-events`,ProgressEvent:`dom-events/register/custom-events`,UIEvent:`dom-events/register/ui-events`,MouseEvent:`dom-events/register/ui-events`,PointerEvent:`dom-events/register/ui-events`,KeyboardEvent:`dom-events/register/ui-events`,WheelEvent:`dom-events/register/ui-events`,FocusEvent:`dom-events/register/ui-events`,EventSource:`eventsource/register`,WebSocket:`websocket/register`,WebAssembly:`webassembly/register/promise`,performance:`@gjsify/web-globals/register/performance`,PerformanceObserver:`@gjsify/web-globals/register/performance`,DOMException:`dom-exception/register`,XMLHttpRequest:`fetch/register/xhr`,XMLHttpRequestUpload:`fetch/register/xhr`,DOMParser:`@gjsify/domparser/register`,AudioContext:`@gjsify/webaudio/register`,webkitAudioContext:`@gjsify/webaudio/register`,Audio:`@gjsify/webaudio/register`,HTMLAudioElement:`@gjsify/webaudio/register`,GamepadEvent:`@gjsify/gamepad/register`,MediaDevices:`@gjsify/webrtc/register/media-devices`,RTCPeerConnection:`@gjsify/webrtc/register/peer-connection`,RTCSessionDescription:`@gjsify/webrtc/register/peer-connection`,RTCIceCandidate:`@gjsify/webrtc/register/peer-connection`,RTCPeerConnectionIceEvent:`@gjsify/webrtc/register/peer-connection`,RTCDataChannel:`@gjsify/webrtc/register/data-channel`,RTCDataChannelEvent:`@gjsify/webrtc/register/data-channel`,RTCError:`@gjsify/webrtc/register/error`,RTCErrorEvent:`@gjsify/webrtc/register/error`,MediaStream:`@gjsify/webrtc/register/media`,MediaStreamTrack:`@gjsify/webrtc/register/media`,RTCTrackEvent:`@gjsify/webrtc/register/media`,document:`@gjsify/dom-elements/register/document`,Image:`@gjsify/dom-elements/register/image`,HTMLCanvasElement:`@gjsify/dom-elements/register/canvas`,HTMLImageElement:`@gjsify/dom-elements/register/image`,HTMLElement:`@gjsify/dom-elements/register/document`,MutationObserver:`@gjsify/dom-elements/register/observers`,ResizeObserver:`@gjsify/dom-elements/register/observers`,IntersectionObserver:`@gjsify/dom-elements/register/observers`,FontFace:`@gjsify/dom-elements/register/font-face`,matchMedia:`@gjsify/dom-elements/register/match-media`,location:`@gjsify/dom-elements/register/location`,navigator:`@gjsify/dom-elements/register/navigator`},Pb={"@gjsify/dom-elements/register":[`Gdk`,`GdkPixbuf`,`Pango`,`PangoCairo`],"@gjsify/webaudio/register":[`Gst`,`GstApp`],"@gjsify/webrtc/register":[`Gst`,`GstWebRTC`,`GstSdp`],"@gjsify/gamepad/register":[`Manette`]}});function wbgJsNameFor(n){return n.match(zb)?.[1]??null}function extractBindingNames(n){if(!n)return[];switch(n.type){case`Identifier`:return[n.name];case`ObjectPattern`:return n.properties.flatMap(n=>n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n.value));case`ArrayPattern`:return n.elements.flatMap(n=>n?n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n):[]);case`AssignmentPattern`:return extractBindingNames(n.left);case`RestElement`:return extractBindingNames(n.argument);default:return[]}}function detectFreeGlobals(n){let a=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowHashBang:!0}),S=new Set;simple(a,{VariableDeclarator(n){for(let a of extractBindingNames(n.id))S.add(a)},FunctionDeclaration(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},FunctionExpression(n){n.id&&S.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ArrowFunctionExpression(n){for(let a of n.params)for(let n of extractBindingNames(a))S.add(n)},ClassDeclaration(n){n.id&&S.add(n.id.name)},ImportSpecifier(n){S.add(n.local.name)},ImportDefaultSpecifier(n){S.add(n.local.name)},ImportNamespaceSpecifier(n){S.add(n.local.name)},CatchClause(n){if(n.param)for(let a of extractBindingNames(n.param))S.add(a)}});let C=new Set,N=new Set,F=new Set([`globalThis`,`global`,`window`,`self`,`globalObject`]);return ancestor(a,{MemberExpression(n){if(n.computed||n.object.type!==`Identifier`||n.property.type!==`Identifier`)return;let a=n.object.name,S=n.property.name;if(F.has(a)){Ib.has(S)&&C.add(S);return}let N=Lb[`${a}.${S}`];N&&Ib.has(N)&&C.add(N)},FunctionDeclaration(n){if(!n.id)return;let a=wbgJsNameFor(n.id.name);if(!a)return;let S=Rb[a];S&&Ib.has(S)&&C.add(S)},Identifier(n,a){let F=n.name;if(!Ib.has(F)||S.has(F))return;let I=a[a.length-2];if(!I){C.add(F);return}switch(I.type){case`MemberExpression`:{let a=I;if(a.property===n&&!a.computed)return;break}case`Property`:{let a=I;if(a.key===n&&!a.computed)return;break}case`MethodDefinition`:case`PropertyDefinition`:{let a=I;if(a.key===n&&!a.computed)return;break}case`LabeledStatement`:if(I.label===n)return;break;case`ExportSpecifier`:if(I.exported===n)return;break;case`FunctionDeclaration`:case`FunctionExpression`:case`ClassDeclaration`:case`ClassExpression`:if(I.id===n)return;break;case`VariableDeclarator`:if(I.id===n)return;break;case`ImportSpecifier`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:return;case`UnaryExpression`:if(I.operator===`typeof`){C.has(F)||N.add(F);return}break}N.delete(F),C.add(F)}}),C}var Ib,Lb,Rb,zb,Bb=__esmMin(()=>{kb(),jb(),Fb(),Ib=new Set(Object.keys(Nb)),Lb={"navigator.getGamepads":`GamepadEvent`,"navigator.mediaDevices":`MediaDevices`,"WebAssembly.compile":`WebAssembly`,"WebAssembly.compileStreaming":`WebAssembly`,"WebAssembly.instantiate":`WebAssembly`,"WebAssembly.instantiateStreaming":`WebAssembly`,"WebAssembly.validate":`WebAssembly`},Rb={crypto:`crypto`,getRandomValues:`crypto`,msCrypto:`crypto`},zb=/^__wbg_([A-Za-z][A-Za-z0-9]*)_[A-Za-z0-9]+$/});function resolveGlobalsList(n){let a=new Set,S=n.trim();if(!S)return a;for(let n of S.split(`,`)){let S=n.trim();if(!S)continue;let C=Hb[S];if(C)for(let n of C){let S=Vb[n];S&&a.add(S)}else{let n=Vb[S];n&&a.add(n)}}return a}function packageNameFromRegisterPath(n){return n.startsWith(`@`)?n.split(`/`).slice(0,2).join(`/`):n.split(`/`)[0]??n}function resolveRegisterAlias(n){if(Ub[n])return Ub[n];let a=packageNameFromRegisterPath(n),S=Ub[a];return S&&!n.startsWith(`@`)?S+n.slice(a.length):n}function isRegisterPathResolvable(n,a){let S=packageNameFromRegisterPath(resolveRegisterAlias(n)).split(`/`),C=a,N=C.slice(0,C.indexOf(`/`)+1)||`/`;for(;;){if(existsSync(ns(C,`node_modules`,...S,`package.json`)))return!0;if(C===N)break;let n=ns(C,`..`);if(n===C)break;C=n}return!1}function filterResolvableRegisterPaths(n,a){let S=new Set;for(let C of n)isRegisterPathResolvable(C,a)?S.add(C):ke.warn(`[gjsify] --globals auto: skipping register import '${C}' — package '${packageNameFromRegisterPath(C)}' is not installed in this project. If you need this global, add the package as a dependency or use --exclude-globals to suppress this warning.`);return S}async function writeRegisterInjectFile(n,a=process.cwd()){if(n.size===0)return null;let S=[...n].sort().map(n=>`import '${n}';`).join(`
679
+ `;case 114:return`\r`;case 120:return String.fromCharCode(this.readHexChar(2));case 117:return codePointToString(this.readCodePoint());case 116:return` `;case 98:return`\b`;case 118:return`\v`;case 102:return`\f`;case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),``;case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,`Invalid escape sequence`),n){var S=this.pos-1;this.invalidStringToken(S,`Invalid escape sequence in template string`)}default:if(a>=48&&a<=55){var C=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],N=parseInt(C,8);return N>255&&(C=C.slice(0,-1),N=parseInt(C,8)),this.pos+=C.length-1,a=this.input.charCodeAt(this.pos),(C!==`0`||a===56||a===57)&&(this.strict||n)&&this.invalidStringToken(this.pos-1-C.length,n?`Octal literal in template string`:`Octal literal in strict mode`),String.fromCharCode(N)}return isNewLine(a)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),``):String.fromCharCode(a)}},Eb.readHexChar=function(n){var a=this.pos,S=this.readInt(16,n);return S===null&&this.invalidStringToken(a,`Bad character escape sequence`),S},Eb.readWord1=function(){this.containsEsc=!1;for(var n=``,a=!0,S=this.pos,C=this.options.ecmaVersion>=6;this.pos<this.input.length;){var N=this.fullCharCodeAtPos();if(isIdentifierChar(N,C))this.pos+=N<=65535?1:2;else if(N===92){this.containsEsc=!0,n+=this.input.slice(S,this.pos);var F=this.pos;this.input.charCodeAt(++this.pos)!==117&&this.invalidStringToken(this.pos,`Expecting Unicode escape sequence \\uXXXX`),++this.pos;var I=this.readCodePoint();(a?isIdentifierStart:isIdentifierChar)(I,C)||this.invalidStringToken(F,`Invalid Unicode escape`),n+=codePointToString(I),S=this.pos}else break;a=!1}return n+this.input.slice(S,this.pos)},Eb.readWord=function(){var n=this.readWord1(),a=Xv.name;return this.keywords.test(n)&&(a=Yv[n]),this.finishToken(a,n)},Ob=`8.16.0`,Ay.acorn={Parser:Ay,version:Ob,defaultOptions:uy,Position:cy,SourceLocation:ly,getLineInfo,Node:Zy,TokenType:Kv,tokTypes:Xv,keywordTypes:Yv,TokContext:Uy,tokContexts:Wy,isIdentifierChar,isIdentifierStart,Token:Tb,isNewLine,lineBreak:Zv,lineBreakG:Qv,nonASCIIwhitespace:$v},__name$1(parse$1,`parse`)});function simple(n,a,S,C,N){S||=Ab,(function c(n,C,N){var F=N||n.type;visitNode$1(S,F,n,C,c),a[F]&&a[F](n,C)})(n,C,N)}function ancestor(n,a,S,C,N){var F=[];S||=Ab,(function c(n,C,N){var I=N||n.type,H=n!==F[F.length-1];H&&F.push(n),visitNode$1(S,I,n,C,c),a[I]&&a[I](n,C||F,F),H&&F.pop()})(n,C,N)}function skipThrough(n,a,S){S(n,a)}function ignore(n,a,S){}function visitNode$1(n,a,S,C,N){if(n[a]==null)throw Error(`No walker function defined for node type `+a);n[a](S,C,N)}var Ab,jb=__esmMin(()=>{__name$1(visitNode$1,`visitNode`),Ab={},Ab.Program=Ab.BlockStatement=Ab.StaticBlock=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},Ab.Statement=skipThrough,Ab.EmptyStatement=ignore,Ab.ExpressionStatement=Ab.ParenthesizedExpression=Ab.ChainExpression=function(n,a,S){return S(n.expression,a,`Expression`)},Ab.IfStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Statement`),n.alternate&&S(n.alternate,a,`Statement`)},Ab.LabeledStatement=function(n,a,S){return S(n.body,a,`Statement`)},Ab.BreakStatement=Ab.ContinueStatement=ignore,Ab.WithStatement=function(n,a,S){S(n.object,a,`Expression`),S(n.body,a,`Statement`)},Ab.SwitchStatement=function(n,a,S){S(n.discriminant,a,`Expression`);for(var C=0,N=n.cases;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.SwitchCase=function(n,a,S){n.test&&S(n.test,a,`Expression`);for(var C=0,N=n.consequent;C<N.length;C+=1){var F=N[C];S(F,a,`Statement`)}},Ab.ReturnStatement=Ab.YieldExpression=Ab.AwaitExpression=function(n,a,S){n.argument&&S(n.argument,a,`Expression`)},Ab.ThrowStatement=Ab.SpreadElement=function(n,a,S){return S(n.argument,a,`Expression`)},Ab.TryStatement=function(n,a,S){S(n.block,a,`Statement`),n.handler&&S(n.handler,a),n.finalizer&&S(n.finalizer,a,`Statement`)},Ab.CatchClause=function(n,a,S){n.param&&S(n.param,a,`Pattern`),S(n.body,a,`Statement`)},Ab.WhileStatement=Ab.DoWhileStatement=function(n,a,S){S(n.test,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForStatement=function(n,a,S){n.init&&S(n.init,a,`ForInit`),n.test&&S(n.test,a,`Expression`),n.update&&S(n.update,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForInStatement=Ab.ForOfStatement=function(n,a,S){S(n.left,a,`ForInit`),S(n.right,a,`Expression`),S(n.body,a,`Statement`)},Ab.ForInit=function(n,a,S){n.type===`VariableDeclaration`?S(n,a):S(n,a,`Expression`)},Ab.DebuggerStatement=ignore,Ab.FunctionDeclaration=function(n,a,S){return S(n,a,`Function`)},Ab.VariableDeclaration=function(n,a,S){for(var C=0,N=n.declarations;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.VariableDeclarator=function(n,a,S){S(n.id,a,`Pattern`),n.init&&S(n.init,a,`Expression`)},Ab.Function=function(n,a,S){n.id&&S(n.id,a,`Pattern`);for(var C=0,N=n.params;C<N.length;C+=1){var F=N[C];S(F,a,`Pattern`)}S(n.body,a,n.expression?`Expression`:`Statement`)},Ab.Pattern=function(n,a,S){n.type===`Identifier`?S(n,a,`VariablePattern`):n.type===`MemberExpression`?S(n,a,`MemberPattern`):S(n,a)},Ab.VariablePattern=ignore,Ab.MemberPattern=skipThrough,Ab.RestElement=function(n,a,S){return S(n.argument,a,`Pattern`)},Ab.ArrayPattern=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Pattern`)}},Ab.ObjectPattern=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];F.type===`Property`?(F.computed&&S(F.key,a,`Expression`),S(F.value,a,`Pattern`)):F.type===`RestElement`&&S(F.argument,a,`Pattern`)}},Ab.Expression=skipThrough,Ab.ThisExpression=Ab.Super=Ab.MetaProperty=ignore,Ab.ArrayExpression=function(n,a,S){for(var C=0,N=n.elements;C<N.length;C+=1){var F=N[C];F&&S(F,a,`Expression`)}},Ab.ObjectExpression=function(n,a,S){for(var C=0,N=n.properties;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.FunctionExpression=Ab.ArrowFunctionExpression=Ab.FunctionDeclaration,Ab.SequenceExpression=function(n,a,S){for(var C=0,N=n.expressions;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},Ab.TemplateLiteral=function(n,a,S){for(var C=0,N=n.quasis;C<N.length;C+=1){var F=N[C];S(F,a)}for(var I=0,H=n.expressions;I<H.length;I+=1){var W=H[I];S(W,a,`Expression`)}},Ab.TemplateElement=ignore,Ab.UnaryExpression=Ab.UpdateExpression=function(n,a,S){S(n.argument,a,`Expression`)},Ab.BinaryExpression=Ab.LogicalExpression=function(n,a,S){S(n.left,a,`Expression`),S(n.right,a,`Expression`)},Ab.AssignmentExpression=Ab.AssignmentPattern=function(n,a,S){S(n.left,a,`Pattern`),S(n.right,a,`Expression`)},Ab.ConditionalExpression=function(n,a,S){S(n.test,a,`Expression`),S(n.consequent,a,`Expression`),S(n.alternate,a,`Expression`)},Ab.NewExpression=Ab.CallExpression=function(n,a,S){if(S(n.callee,a,`Expression`),n.arguments)for(var C=0,N=n.arguments;C<N.length;C+=1){var F=N[C];S(F,a,`Expression`)}},Ab.MemberExpression=function(n,a,S){S(n.object,a,`Expression`),n.computed&&S(n.property,a,`Expression`)},Ab.ExportNamedDeclaration=Ab.ExportDefaultDeclaration=function(n,a,S){if(n.declaration&&S(n.declaration,a,n.type===`ExportNamedDeclaration`||n.declaration.id?`Statement`:`Expression`),n.source&&S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.ExportAllDeclaration=function(n,a,S){if(n.exported&&S(n.exported,a),S(n.source,a,`Expression`),n.attributes)for(var C=0,N=n.attributes;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.ImportAttribute=function(n,a,S){S(n.value,a,`Expression`)},Ab.ImportDeclaration=function(n,a,S){for(var C=0,N=n.specifiers;C<N.length;C+=1){var F=N[C];S(F,a)}if(S(n.source,a,`Expression`),n.attributes)for(var I=0,H=n.attributes;I<H.length;I+=1){var W=H[I];S(W,a)}},Ab.ImportExpression=function(n,a,S){S(n.source,a,`Expression`),n.options&&S(n.options,a,`Expression`)},Ab.ImportSpecifier=Ab.ImportDefaultSpecifier=Ab.ImportNamespaceSpecifier=Ab.Identifier=Ab.PrivateIdentifier=Ab.Literal=ignore,Ab.TaggedTemplateExpression=function(n,a,S){S(n.tag,a,`Expression`),S(n.quasi,a,`Expression`)},Ab.ClassDeclaration=Ab.ClassExpression=function(n,a,S){return S(n,a,`Class`)},Ab.Class=function(n,a,S){n.id&&S(n.id,a,`Pattern`),n.superClass&&S(n.superClass,a,`Expression`),S(n.body,a)},Ab.ClassBody=function(n,a,S){for(var C=0,N=n.body;C<N.length;C+=1){var F=N[C];S(F,a)}},Ab.MethodDefinition=Ab.PropertyDefinition=Ab.Property=function(n,a,S){n.computed&&S(n.key,a,`Expression`),n.value&&S(n.value,a,`Expression`)}}),Mb,Nb,Pb,Fb=__esmMin(()=>{Mb={node:[`Buffer`,`Blob`,`File`,`process`,`setImmediate`,`clearImmediate`,`queueMicrotask`,`structuredClone`,`btoa`,`atob`,`URL`,`URLSearchParams`],web:`fetch.Headers.Request.Response.FormData.ReadableStream.WritableStream.TransformStream.ReadableStreamBYOBReader.ReadableStreamBYOBRequest.ReadableByteStreamController.ReadableStreamDefaultController.ReadableStreamDefaultReader.TextEncoderStream.TextDecoderStream.ByteLengthQueuingStrategy.CountQueuingStrategy.CompressionStream.DecompressionStream.crypto.AbortController.AbortSignal.MessageChannel.MessagePort.Event.EventTarget.CustomEvent.MessageEvent.ErrorEvent.CloseEvent.ProgressEvent.UIEvent.MouseEvent.PointerEvent.KeyboardEvent.WheelEvent.FocusEvent.EventSource.WebSocket.WebAssembly.DOMException.performance.PerformanceObserver.XMLHttpRequest.XMLHttpRequestUpload.DOMParser.AudioContext.webkitAudioContext.Audio.HTMLAudioElement.GamepadEvent.MediaDevices.RTCPeerConnection.RTCSessionDescription.RTCIceCandidate.RTCPeerConnectionIceEvent.RTCDataChannel.RTCDataChannelEvent.RTCError.RTCErrorEvent.MediaStream.MediaStreamTrack.RTCTrackEvent`.split(`.`),dom:[`document`,`Image`,`HTMLCanvasElement`,`HTMLImageElement`,`HTMLElement`,`MutationObserver`,`ResizeObserver`,`IntersectionObserver`,`FontFace`,`matchMedia`,`location`,`navigator`]},Nb={Buffer:`@gjsify/node-globals/register/buffer`,process:`@gjsify/node-globals/register/process`,setTimeout:`@gjsify/node-globals/register/timers`,setInterval:`@gjsify/node-globals/register/timers`,clearTimeout:`@gjsify/node-globals/register/timers`,clearInterval:`@gjsify/node-globals/register/timers`,setImmediate:`@gjsify/node-globals/register/timers`,clearImmediate:`@gjsify/node-globals/register/timers`,queueMicrotask:`@gjsify/node-globals/register/microtask`,structuredClone:`@gjsify/node-globals/register/structured-clone`,btoa:`@gjsify/node-globals/register/encoding`,atob:`@gjsify/node-globals/register/encoding`,URL:`@gjsify/node-globals/register/url`,URLSearchParams:`@gjsify/node-globals/register/url`,Blob:`@gjsify/buffer/register`,File:`@gjsify/buffer/register`,fetch:`fetch/register/fetch`,Headers:`fetch/register/fetch`,Request:`fetch/register/fetch`,Response:`fetch/register/fetch`,FormData:`@gjsify/web-globals/register/formdata`,ReadableStream:`web-streams/register/readable`,ReadableStreamBYOBReader:`web-streams/register/readable`,ReadableStreamBYOBRequest:`web-streams/register/readable`,ReadableByteStreamController:`web-streams/register/readable`,ReadableStreamDefaultController:`web-streams/register/readable`,ReadableStreamDefaultReader:`web-streams/register/readable`,WritableStream:`web-streams/register/writable`,TransformStream:`web-streams/register/transform`,TextEncoderStream:`web-streams/register/text-streams`,TextDecoderStream:`web-streams/register/text-streams`,ByteLengthQueuingStrategy:`web-streams/register/queuing`,CountQueuingStrategy:`web-streams/register/queuing`,CompressionStream:`compression-streams/register`,DecompressionStream:`compression-streams/register`,crypto:`webcrypto/register`,AbortController:`abort-controller/register`,AbortSignal:`abort-controller/register`,MessageChannel:`message-channel/register`,MessagePort:`message-channel/register`,Event:`dom-events/register/event-target`,EventTarget:`dom-events/register/event-target`,CustomEvent:`dom-events/register/custom-events`,MessageEvent:`dom-events/register/custom-events`,ErrorEvent:`dom-events/register/custom-events`,CloseEvent:`dom-events/register/custom-events`,ProgressEvent:`dom-events/register/custom-events`,UIEvent:`dom-events/register/ui-events`,MouseEvent:`dom-events/register/ui-events`,PointerEvent:`dom-events/register/ui-events`,KeyboardEvent:`dom-events/register/ui-events`,WheelEvent:`dom-events/register/ui-events`,FocusEvent:`dom-events/register/ui-events`,EventSource:`eventsource/register`,WebSocket:`websocket/register`,WebAssembly:`webassembly/register/promise`,performance:`@gjsify/web-globals/register/performance`,PerformanceObserver:`@gjsify/web-globals/register/performance`,DOMException:`dom-exception/register`,XMLHttpRequest:`fetch/register/xhr`,XMLHttpRequestUpload:`fetch/register/xhr`,DOMParser:`@gjsify/domparser/register`,AudioContext:`@gjsify/webaudio/register`,webkitAudioContext:`@gjsify/webaudio/register`,Audio:`@gjsify/webaudio/register`,HTMLAudioElement:`@gjsify/webaudio/register`,GamepadEvent:`@gjsify/gamepad/register`,MediaDevices:`@gjsify/webrtc/register/media-devices`,RTCPeerConnection:`@gjsify/webrtc/register/peer-connection`,RTCSessionDescription:`@gjsify/webrtc/register/peer-connection`,RTCIceCandidate:`@gjsify/webrtc/register/peer-connection`,RTCPeerConnectionIceEvent:`@gjsify/webrtc/register/peer-connection`,RTCDataChannel:`@gjsify/webrtc/register/data-channel`,RTCDataChannelEvent:`@gjsify/webrtc/register/data-channel`,RTCError:`@gjsify/webrtc/register/error`,RTCErrorEvent:`@gjsify/webrtc/register/error`,MediaStream:`@gjsify/webrtc/register/media`,MediaStreamTrack:`@gjsify/webrtc/register/media`,RTCTrackEvent:`@gjsify/webrtc/register/media`,document:`@gjsify/dom-elements/register/document`,Image:`@gjsify/dom-elements/register/image`,HTMLCanvasElement:`@gjsify/dom-elements/register/canvas`,HTMLImageElement:`@gjsify/dom-elements/register/image`,HTMLElement:`@gjsify/dom-elements/register/document`,MutationObserver:`@gjsify/dom-elements/register/observers`,ResizeObserver:`@gjsify/dom-elements/register/observers`,IntersectionObserver:`@gjsify/dom-elements/register/observers`,FontFace:`@gjsify/dom-elements/register/font-face`,matchMedia:`@gjsify/dom-elements/register/match-media`,location:`@gjsify/dom-elements/register/location`,navigator:`@gjsify/dom-elements/register/navigator`},Pb={"@gjsify/dom-elements/register":[`Gdk`,`GdkPixbuf`,`Pango`,`PangoCairo`],"@gjsify/webaudio/register":[`Gst`,`GstApp`],"@gjsify/webrtc/register":[`Gst`,`GstWebRTC`,`GstSdp`],"@gjsify/gamepad/register":[`Manette`]}});function wbgJsNameFor(n){return n.match(zb)?.[1]??null}function extractBindingNames(n){if(!n)return[];switch(n.type){case`Identifier`:return[n.name];case`ObjectPattern`:return n.properties.flatMap(n=>n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n.value));case`ArrayPattern`:return n.elements.flatMap(n=>n?n.type===`RestElement`?extractBindingNames(n.argument):extractBindingNames(n):[]);case`AssignmentPattern`:return extractBindingNames(n.left);case`RestElement`:return extractBindingNames(n.argument);default:return[]}}function scanFreeGlobals(n,a){let S=a.knownGlobals,C=a.methodMarkers??{},N=a.wasmMarkers??{},F=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowHashBang:!0}),I=new Set;simple(F,{VariableDeclarator(n){for(let a of extractBindingNames(n.id))I.add(a)},FunctionDeclaration(n){n.id&&I.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))I.add(n)},FunctionExpression(n){n.id&&I.add(n.id.name);for(let a of n.params)for(let n of extractBindingNames(a))I.add(n)},ArrowFunctionExpression(n){for(let a of n.params)for(let n of extractBindingNames(a))I.add(n)},ClassDeclaration(n){n.id&&I.add(n.id.name)},ImportSpecifier(n){I.add(n.local.name)},ImportDefaultSpecifier(n){I.add(n.local.name)},ImportNamespaceSpecifier(n){I.add(n.local.name)},CatchClause(n){if(n.param)for(let a of extractBindingNames(n.param))I.add(a)}});let H=new Set,W=new Set,K=new Set([`globalThis`,`global`,`window`,`self`,`globalObject`]);return ancestor(F,{MemberExpression(n){if(n.computed||n.object.type!==`Identifier`||n.property.type!==`Identifier`)return;let N=n.object.name,F=n.property.name;if(K.has(N)){if(a.ignoreHostMembers)return;S.has(F)&&H.add(F);return}let I=C[`${N}.${F}`];I&&S.has(I)&&H.add(I)},FunctionDeclaration(n){if(!n.id)return;let a=wbgJsNameFor(n.id.name);if(!a)return;let C=N[a];C&&S.has(C)&&H.add(C)},Identifier(n,a){let C=n.name;if(!S.has(C)||I.has(C))return;let N=a[a.length-2];if(!N){H.add(C);return}switch(N.type){case`MemberExpression`:{let a=N;if(a.property===n&&!a.computed)return;break}case`Property`:{let a=N;if(a.key===n&&!a.computed)return;break}case`MethodDefinition`:case`PropertyDefinition`:{let a=N;if(a.key===n&&!a.computed)return;break}case`LabeledStatement`:if(N.label===n)return;break;case`ExportSpecifier`:if(N.exported===n)return;break;case`FunctionDeclaration`:case`FunctionExpression`:case`ClassDeclaration`:case`ClassExpression`:if(N.id===n)return;break;case`VariableDeclarator`:if(N.id===n)return;break;case`ImportSpecifier`:case`ImportDefaultSpecifier`:case`ImportNamespaceSpecifier`:return;case`UnaryExpression`:if(N.operator===`typeof`){H.has(C)||W.add(C);return}break}W.delete(C),H.add(C)}}),H}function detectFreeGlobals(n){return scanFreeGlobals(n,{knownGlobals:Ib,methodMarkers:Lb,wasmMarkers:Rb})}function detectGjsAmbientGlobals(n){return scanFreeGlobals(n,{knownGlobals:Bb,ignoreHostMembers:!0})}var Ib,Lb,Rb,zb,Bb,Vb=__esmMin(()=>{kb(),jb(),Fb(),Ib=new Set(Object.keys(Nb)),Lb={"navigator.getGamepads":`GamepadEvent`,"navigator.mediaDevices":`MediaDevices`,"WebAssembly.compile":`WebAssembly`,"WebAssembly.compileStreaming":`WebAssembly`,"WebAssembly.instantiate":`WebAssembly`,"WebAssembly.instantiateStreaming":`WebAssembly`,"WebAssembly.validate":`WebAssembly`},Rb={crypto:`crypto`,getRandomValues:`crypto`,msCrypto:`crypto`},zb=/^__wbg_([A-Za-z][A-Za-z0-9]*)_[A-Za-z0-9]+$/,Bb=new Set([`print`,`printerr`,`log`,`logError`,`ARGV`,`imports`])});function resolveGlobalsList(n){let a=new Set,S=n.trim();if(!S)return a;for(let n of S.split(`,`)){let S=n.trim();if(!S)continue;let C=Ub[S];if(C)for(let n of C){let S=Hb[n];S&&a.add(S)}else{let n=Hb[S];n&&a.add(n)}}return a}function packageNameFromRegisterPath(n){return n.startsWith(`@`)?n.split(`/`).slice(0,2).join(`/`):n.split(`/`)[0]??n}function resolveRegisterAlias(n){if(Wb[n])return Wb[n];let a=packageNameFromRegisterPath(n),S=Wb[a];return S&&!n.startsWith(`@`)?S+n.slice(a.length):n}function isRegisterPathResolvable(n,a){let S=packageNameFromRegisterPath(resolveRegisterAlias(n)).split(`/`),C=a,N=C.slice(0,C.indexOf(`/`)+1)||`/`;for(;;){if(existsSync(ns(C,`node_modules`,...S,`package.json`)))return!0;if(C===N)break;let n=ns(C,`..`);if(n===C)break;C=n}return!1}function filterResolvableRegisterPaths(n,a){let S=new Set;for(let C of n)isRegisterPathResolvable(C,a)?S.add(C):ke.warn(`[gjsify] --globals auto: skipping register import '${C}' — package '${packageNameFromRegisterPath(C)}' is not installed in this project. If you need this global, add the package as a dependency or use --exclude-globals to suppress this warning.`);return S}async function writeRegisterInjectFile(n,a=process.cwd()){if(n.size===0)return null;let S=[...n].sort().map(n=>`import '${n}';`).join(`
680
680
  `)+`
681
- `,C=createHash(`sha1`).update(S).digest(`hex`).slice(0,10),N=ns(a,`node_modules`,`.cache`,`gjsify`);await mkdir$1(N,{recursive:!0});let F=ns(N,`auto-globals-${C}.mjs`);return await writeFile$1(F,S,`utf-8`),F}var Vb,Hb,Ub,Wb=__esmMin(()=>{Ae(),kc(),Zc(),ao(),ps(),Fb(),c_(),Vb=Nb,Hb=Mb,Ub=i_});function inlineStaticReads(n,a){if(!n.includes(`readFileSync`)&&!n.includes(`readdirSync`)&&!n.includes(`existsSync`))return{contents:n,inlined:0};let S;try{S=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0})}catch{return{contents:n,inlined:0}}let C={sourceUrl:pathToFileURL(a).href},N=[];if(simple(S,{CallExpression(a){let S=tryInlineCall(a,C,n);S&&N.push(S)}}),N.length===0)return{contents:n,inlined:0};let F=[];N.sort((n,a)=>n.start-a.start||a.end-n.end);for(let n of N){let a=F[F.length-1];a&&n.start>=a.start&&n.end<=a.end||F.push(n)}F.sort((n,a)=>a.start-n.start);let I=n;for(let n of F)I=I.slice(0,n.start)+n.replacement+I.slice(n.end);return{contents:I,inlined:F.length}}function tryInlineCall(n,a,S){let C=n.callee;if(C.type===`MemberExpression`&&!C.computed&&C.object.type===`Identifier`&&C.object.name===`JSON`&&C.property.type===`Identifier`&&C.property.name===`parse`&&n.arguments.length>=1&&n.arguments[0].type===`CallExpression`){let S=n.arguments[0],C=tryInlineReadFile(S,a,!0);if(C!==void 0)try{let a=JSON.parse(JSON.parse(C));return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}let N=identifierName(C);if(N===`readFileSync`){let S=tryInlineReadFile(n,a,!1);if(S!==void 0)return{start:n.start,end:n.end,replacement:S}}if(N===`readdirSync`){if(hasWithFileTypes(n.arguments[1]))return;let S=evalPathExpr(n.arguments[0],a);if(S&&existsSyncSafe(S)&&isDirectorySafe(S))try{let a=readdirSync(S);return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}if(N===`existsSync`){let S=evalPathExpr(n.arguments[0],a);if(S!==void 0)return{start:n.start,end:n.end,replacement:existsSyncSafe(S)?`true`:`false`}}if(N===`createRequire`){let S=evalPathExpr(n.arguments[0],a),C=S!==void 0&&S.includes(`.zip/`);if(S!==void 0&&(C||!existsSyncSafe(S)))return{start:n.start,end:n.end,replacement:`(() => { const _r = (id) => { throw new Error("[gjsify] createRequire stub: '" + id + "' was not bundled (anchor path: " + ${jsStringLiteral(S)} + ")"); }; _r.resolve = _r; _r.cache = {}; _r.extensions = {}; _r.main = void 0; return _r; })()`}}}function tryInlineReadFile(n,a,S){if(n.arguments.length<1)return;let C=evalPathExpr(n.arguments[0],a);if(!C||!existsSyncSafe(C)||isDirectorySafe(C))return;let N;if(S)N=`utf8`;else if(n.arguments.length>=2&&(N=evalEncodingExpr(n.arguments[1]),N===void 0))return;try{if(N)return jsStringLiteral(readFileSync(C,N));{let n=readFileSync(C);return`new Uint8Array([${Array.from(n).join(`,`)}])`}}catch{return}}function evalPathExpr(n,a){let S=evalExpr(n,a);if(S instanceof URL)return S.protocol===`file:`?fileURLToPath(S):void 0;if(typeof S==`string`){if(S.startsWith(`file://`))return fileURLToPath(S);if(S.startsWith(`/`))return S}}function evalExpr(n,a){if(n)switch(n.type){case`Literal`:return typeof n.value==`string`?n.value:void 0;case`TemplateLiteral`:{let a=n;return a.expressions.length>0?void 0:a.quasis.map(n=>n.value.cooked??``).join(``)}case`BinaryExpression`:{let S=n;if(S.operator!==`+`)return;let C=evalExpr(S.left,a),N=evalExpr(S.right,a);return typeof C!=`string`||typeof N!=`string`?void 0:C+N}case`Identifier`:{let S=n;return S.name===`__dirname`?fileURLToPath(new URL(`.`,a.sourceUrl)):S.name===`__filename`?fileURLToPath(a.sourceUrl):void 0}case`MemberExpression`:{let S=n;if(S.object.type===`MetaProperty`&&S.object.meta.name===`import`&&S.object.property.name===`meta`&&S.property.type===`Identifier`&&S.property.name===`url`)return a.sourceUrl;if(!S.computed&&S.property.type===`Identifier`){let n=evalExpr(S.object,a),C=S.property.name;if(n instanceof URL){if(C===`href`)return n.href;if(C===`pathname`)return n.pathname}if(typeof n==`string`){if(C===`href`)return n;if(C===`pathname`)try{return new URL(n).pathname}catch{return}}}return}case`NewExpression`:{let S=n;if(identifierName(S.callee)===`URL`){if(S.arguments.length===0)return;let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(S.arguments.length===1)try{return new URL(n)}catch{return}let C=evalExpr(S.arguments[1],a),N=C instanceof URL?C.href:typeof C==`string`?C:void 0;if(!N)return;try{return new URL(n,N)}catch{return}}return}case`CallExpression`:{let S=n,C=identifierName(S.callee);if(C===`fileURLToPath`){let n=evalExpr(S.arguments[0],a),C=n instanceof URL?n.href:typeof n==`string`?n:void 0;if(!C)return;try{return fileURLToPath(C)}catch{return}}if(C===`pathToFileURL`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;try{return pathToFileURL(n)}catch{return}}if(C===`join`||C===`resolve`){let n=[];for(let C of S.arguments){let S=evalExpr(C,a);if(typeof S!=`string`)return;n.push(S)}return C===`join`?ns(...n):$o(...n)}if(C===`dirname`||C===`basename`||C===`extname`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(C===`dirname`)return as(n);if(C===`basename`){let C=S.arguments.length>=2?evalExpr(S.arguments[1],a):void 0;return os(n,typeof C==`string`?C:void 0)}if(C===`extname`)return ss(n)}if(C===`relative`){let n=evalExpr(S.arguments[0],a),C=evalExpr(S.arguments[1],a);return typeof n!=`string`||typeof C!=`string`?void 0:rs(n,C)}return}}}function evalEncodingExpr(n){if(n){if(n.type===`Literal`){let a=n.value;return typeof a==`string`?canonicalEncoding(a):void 0}if(n.type===`ObjectExpression`){for(let a of n.properties)if(!(a.type!==`Property`||a.computed)&&(a.key.type===`Identifier`?a.key.name:a.key.type===`Literal`?String(a.key.value):void 0)===`encoding`)return a.value.type===`Literal`&&typeof a.value.value==`string`?canonicalEncoding(a.value.value):void 0}}}function hasWithFileTypes(n){if(!n||n.type!==`ObjectExpression`)return!1;for(let a of n.properties)if(!(a.type!==`Property`||a.computed)&&(a.key.type===`Identifier`?a.key.name:a.key.type===`Literal`?String(a.key.value):void 0)===`withFileTypes`)return a.value.type===`Literal`&&a.value.value===!0;return!1}function canonicalEncoding(n){let a=n.toLowerCase();if(a===`utf8`||a===`utf-8`)return`utf8`;if(a===`ascii`)return`ascii`;if(a===`latin1`||a===`binary`)return`latin1`}function identifierName(n){if(n){if(n.type===`Identifier`)return n.name;if(n.type===`MemberExpression`&&!n.computed){let a=n;if(a.property.type!==`Identifier`||a.object.type!==`Identifier`)return;let S=a.object.name;return Gb.has(S)?a.property.name:void 0}}}function jsLiteral(n){if(typeof n==`string`)return jsStringLiteral(n);if(typeof n==`number`)return Number.isFinite(n)?String(n):`null`;if(typeof n==`boolean`)return n?`true`:`false`;if(n===null)return`null`;if(Array.isArray(n))return`[`+n.map(jsLiteral).join(`,`)+`]`;if(typeof n==`object`){let a=[];for(let[S,C]of Object.entries(n))a.push(`${jsStringLiteral(S)}:${jsLiteral(C)}`);return`{`+a.join(`,`)+`}`}return`undefined`}function jsStringLiteral(n){return JSON.stringify(n)}function existsSyncSafe(n){try{return existsSync(n)}catch{return!1}}function isDirectorySafe(n){try{return statSync(n).isDirectory()}catch{return!1}}var Gb,Kb=__esmMin(()=>{kb(),jb(),ps(),mn(),Zc(),Gb=new Set([`path`,`fs`])}),qb=__esmMin(()=>{l_(),Nv(),Pv(),zg(),Fv(),Bb(),Wb(),Kb()});function aliasPlugin(n){let a=n.entries;return{name:`gjsify-alias`,resolveId:{order:`pre`,async handler(n,S,C){if(!Object.prototype.hasOwnProperty.call(a,n))return null;let N=a[n];if(N===n)return null;let F=await this.resolve(N,S,{skipSelf:!0,kind:C?.kind});return F===null?null:F}}}}var Jb=__esmMin(()=>{});function externalsPlugin(n,a){return{name:a?.name??`gjsify-externalize`,resolveId(a,S,C){return S===void 0||C?.isEntry?null:n(a)?{id:a,external:!0}:null}}}var Yb=__esmMin(()=>{});function ensureNodeFactory(n){return`factory`in n&&n.factory!=null?normalizeNodeFactory(n.factory):`updateSourceFileNode`in n?createNodeFactory(n):normalizeNodeFactory(n)}function splitDecoratorsAndModifiers(n){let a=n?.filter(n=>`expression`in n)??[],S=n?.filter(n=>!(`expression`in n))??[];return[a==null||a.length<1?void 0:a,S==null||S.length<1?void 0:S]}function normalizeNodeFactory(n){if(n.__compatUpgraded)return n;let a=!1;try{a=n.createImportEqualsDeclaration([],!1,``,n.createIdentifier(``)).decorators!=null}catch{a=n.createImportEqualsDeclaration([],[],!1,``,n.createIdentifier(``)).decorators!=null}let S=a&&n.createImportEqualsDeclaration.length===4,C=a&&n.createImportSpecifier.length===2,N=a&&n.createExportSpecifier.length===2,F=a&&n.createImportTypeNode.length<5,I=a&&n.createMappedTypeNode.length===4,H=a&&n.createMappedTypeNode.length===5,W=a&&n.createTypeParameterDeclaration.length===3,K=n.createSatisfiesExpression==null,q=n.createClassStaticBlockDeclaration==null,Y=n.createUniquePrivateName==null,X=n.getGeneratedPrivateNameForNode==null,te=n.createPrivateIdentifier==null,ne=n.createAssertClause==null,re=n.createAssertEntry==null,ie=n.createImportTypeAssertionContainer==null,ae=n.createJSDocMemberName==null,oe=n.createJSDocLinkCode==null,Z=n.createJSDocLinkPlain==null;if(S||C||N||F||I||H||W||K||q||Y||X||te||ne||re||ie||a){let se=`original`in n.updateBlock(n.createBlock([]),[]),setOriginalNode=(n,a)=>(n.original=a,n),setTextRangeEnd=(n,a)=>(n.end=a,n),setTextRangePos=(n,a)=>(n.pos=a,n),setTextRangePosEnd=(n,a,S)=>setTextRangeEnd(setTextRangePos(n,a),S),setTextRange=(n,a)=>a==null?n:setTextRangePosEnd(n,a.pos,a.end),updateWithoutOriginal=(n,a)=>(n!==a&&setTextRange(n,a),n),updateWithOriginal=(n,a)=>(n!==a&&(setOriginalNode(n,a),setTextRange(n,a)),n),ce=se?updateWithOriginal:updateWithoutOriginal,le=te?function(a){return n.createIdentifier(a)}:n.createPrivateIdentifier;return{__compatUpgraded:!0,...n,createPrivateIdentifier:le,...S?(()=>{function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?C:N,q=I?N:F;return n.createImportEqualsDeclaration(H,W,K,q)}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?N:F,Y=H?F:I;return n.updateImportEqualsDeclaration(a,W,K,q,Y)}return{createImportEqualsDeclaration,updateImportEqualsDeclaration}})():{},...C?{createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)}}:{},...N?{createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)}}:{},...F?(()=>{function createImportTypeNode(a,S,C,N,F){return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F)}function updateImportTypeNode(a,S,C,N,F,I){return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I)}return{createImportTypeNode,updateImportTypeNode}})():{},...I?{createMappedTypeNode(a,S,C,N,F){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I){return n.updateMappedTypeNode(a,S,C,F,I)}}:{},...H?{createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,C,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,N,F,I)}}:{},...W?(()=>{function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}return{createTypeParameterDeclaration,updateTypeParameterDeclaration}})():{},...K?(()=>{function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(n,a,S){return a===n.expression&&S===n.type?n:ce(createSatisfiesExpression(a,S),n)}return{createSatisfiesExpression,updateSatisfiesExpression}})():{},...Y?(()=>{function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return le(n??``)}return{createUniquePrivateName}})():{},...X?(()=>{function getGeneratedPrivateNameForNode(n){return le(``)}return{getGeneratedPrivateNameForNode}})():{},...q?(()=>{function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length>=3?C:a,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(n,a,S,C){let N=arguments.length>=4?C:a;return N===n.body?n:ce(createClassStaticBlockDeclaration(N),n)}return{createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration}})():{},...ne?(()=>{function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function updateAssertClause(n,a,S){return n.elements!==a||n.multiLine!==S?ce(createAssertClause(a,S),n):n}return{createAssertClause,updateAssertClause}})():{},...re?(()=>{function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function updateAssertEntry(n,a,S){return n.name!==a||n.value!==S?ce(createAssertEntry(a,S),n):n}return{createAssertEntry,updateAssertEntry}})():{},...ie?(()=>{function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function updateImportTypeAssertionContainer(n,a,S){return n.assertClause!==a||n.multiLine!==S?ce(createImportTypeAssertionContainer(a,S),n):n}return{createImportTypeAssertionContainer,updateImportTypeAssertionContainer}})():{},...ae?(()=>{function createJSDocMemberName(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.left=a,N.right=S,N}function updateJSDocMemberName(n,a,S){return a===n.left&&S===n.right?n:ce(createJSDocMemberName(a,S),n)}return{createJSDocMemberName,updateJSDocMemberName}})():{},...oe?(()=>{function createJSDocLinkCode(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkCode(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkCode(a,S),n)}return{createJSDocLinkCode,updateJSDocLinkCode}})():{},...Z?(()=>{function createJSDocLinkPlain(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkPlain(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkPlain(a,S),n)}return{createJSDocLinkPlain,updateJSDocLinkPlain}})():{},...a?(()=>{function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameterDeclaration(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameterDeclaration(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createPropertyDeclaration(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updatePropertyDeclaration(a,K,q,Y,X,te,ne)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethodDeclaration(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=typeof N==`string`||N!=null&&N.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethodDeclaration(a,X,te,ne,re,ie,ae,oe,Z,se)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructorDeclaration(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructorDeclaration(a,H,W,K,q)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessorDeclaration(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessorDeclaration(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessorDeclaration(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessorDeclaration(a,W,K,q,Y,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C;if(q){let a=n.createEmptyStatement();return a.body=N,a.transformFlags=8388608,a}else return n.createClassStaticBlockDeclaration(void 0,void 0,N)}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return q?F===a.body?a:ce(createClassStaticBlockDeclaration(F),a):n.updateClassStaticBlockDeclaration(a,void 0,void 0,F)}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassExpression(W,K,q,Y,X,te)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te,ne)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createImportEqualsDeclaration(a,C,N,F,I){let H=arguments.length<=4,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:C,q=(H?C:N)??!1,Y=H?N:F,X=H?F:I;return S?n.createImportEqualsDeclaration(W,K,Y,X):n.createImportEqualsDeclaration(W,K,q,Y,X)}function updateImportEqualsDeclaration(a,C,N,F,I,H){let W=arguments.length<=5,K=W?splitDecoratorsAndModifiers(C)[0]:C,q=W?splitDecoratorsAndModifiers(C)[1]:N,Y=W?N:F,X=W?F:I,te=W?I:H;return S?n.updateImportEqualsDeclaration(a,K,q,X,te):n.updateImportEqualsDeclaration(a,K,q,Y,X,te)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createExportDeclaration(a,S,C,N,F,I){let H=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createExportDeclaration(W,K,q,Y,X,te)}function updateExportDeclaration(a,S,C,N,F,I,H){let W=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateExportDeclaration(a,K,q,Y,X,te,ne)}return{createParameterDeclaration,updateParameterDeclaration,createPropertyDeclaration,updatePropertyDeclaration,createMethodDeclaration,updateMethodDeclaration,createConstructorDeclaration,updateConstructorDeclaration,createGetAccessorDeclaration,updateGetAccessorDeclaration,createSetAccessorDeclaration,updateSetAccessorDeclaration,createIndexSignature,updateIndexSignature,createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration,createClassExpression,updateClassExpression,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createTypeAliasDeclaration,updateTypeAliasDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createImportEqualsDeclaration,updateImportEqualsDeclaration,createImportDeclaration,updateImportDeclaration,createExportAssignment,updateExportAssignment,createExportDeclaration,updateExportDeclaration}})():{}}}return n}function createNodeFactory(n){function createToken(a){return n.createToken(a)}function createConstructorTypeNode(a,S,C,N){return arguments.length>=4?n.createConstructorTypeNode(S,C,N):n.createConstructorTypeNode(a,S,C)}function updateConstructorTypeNode(a,S,C,N,F){return arguments.length>=5?n.updateConstructorTypeNode(a,C,N,F):n.updateConstructorTypeNode(a,S,C,N)}function createNamedTupleMember(a,S,C,N){let F=n.createNode(n.SyntaxKind.NamedTupleMember??n.SyntaxKind.TupleType);return F.dotDotDotToken=a,F.name=S,F.questionToken=C,F.type=N,F.transformFlags=1,F}function createJSDocComment(a,S){if(`createJSDocComment`in n)return n.createJSDocComment(a,S);let C=n.createNode(n.SyntaxKind.JSDocComment);return C.comment=a,C.tags=n.createNodeArray(S),C}function createJSDocParameterTag(a,S,C,N,F,I){if(`createJSDocParameterTag`in n)return n.createJSDocParameterTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocParameterTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocPrivateTag(a,S){if(`createJSDocPrivateTag`in n)return n.createJSDocPrivateTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPrivateTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocAugmentsTag(a,S,C){if(`createJSDocAugmentsTag`in n)return n.createJSDocAugmentsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocAugmentsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocDeprecatedTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocDeprecatedTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocFunctionType(a,S){let C=n.createNode(n.SyntaxKind.JSDocFunctionType??n.SyntaxKind.JSDocComment);return C.parameters=n.createNodeArray(a),C.type=S,C}function createJSDocLink(a,S){let C=n.createNode(n.SyntaxKind.JSDocLink??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocNameReference(a){let S=n.createNode(n.SyntaxKind.JSDocNameReference??n.SyntaxKind.JSDocComment);return S.name=a,S}function createJSDocNamepathType(a){let S=n.createNode(n.SyntaxKind.JSDocNamepathType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNonNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNonNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOptionalType(a){let S=n.createNode(n.SyntaxKind.JSDocOptionalType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOverrideTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocOverrideTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocSeeTag(a,S,C){let N=n.createNode(n.SyntaxKind.JSDocSeeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.name=S,N.comment=C,N}function createJSDocText(a){let S=n.createNode(n.SyntaxKind.JSDocText??n.SyntaxKind.JSDocComment);return S.text=a,S}function createJSDocUnknownTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocUnknownType(){return n.createNode(n.SyntaxKind.JSDocUnknownType??n.SyntaxKind.JSDocComment)}function createJSDocVariadicType(a){let S=n.createNode(n.SyntaxKind.JSDocVariadicType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocAllType(){return n.createNode(n.SyntaxKind.JSDocAllType??n.SyntaxKind.JSDocComment)}function createTemplateLiteralType(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralType??n.SyntaxKind.StringLiteral);return C.head=a,C.templateSpans=n.createNodeArray(S),C.transformFlags=1,C}function createTemplateLiteralTypeSpan(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralTypeSpan??n.SyntaxKind.StringLiteral);return C.type=a,C.literal=S,C.transformFlags=1,C}function createJSDocAuthorTag(a,S){if(`createJSDocAuthorTag`in n)return n.createJSDocAuthorTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocAuthorTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocCallbackTag(a,S,C,N){if(`createJSDocCallbackTag`in n)return n.createJSDocCallbackTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocCallbackTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocClassTag(a,S){if(`createJSDocClassTag`in n)return n.createJSDocClassTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocClassTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocEnumTag(a,S,C){if(`createJSDocEnumTag`in n)return n.createJSDocEnumTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocEnumTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocImplementsTag(a,S,C){if(`createJSDocImplementsTag`in n)return n.createJSDocImplementsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocImplementsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocPropertyTag(a,S,C,N,F,I){if(`createJSDocPropertyTag`in n)return n.createJSDocPropertyTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocPropertyTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocProtectedTag(a,S){if(`createJSDocProtectedTag`in n)return n.createJSDocProtectedTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocProtectedTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocPublicTag(a,S){if(`createJSDocPublicTag`in n)return n.createJSDocPublicTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPublicTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReadonlyTag(a,S){if(`createJSDocReadonlyTag`in n)return n.createJSDocReadonlyTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocReadonlyTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReturnTag(a,S,C){if(`createJSDocReturnTag`in n)return n.createJSDocReturnTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocReturnTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocSignature(a,S,C){if(`createJSDocSignature`in n)return n.createJSDocSignature(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocSignature??n.SyntaxKind.JSDocComment);return N.typeParameters=a,N.parameters=S,N.type=C,N}function createJSDocTemplateTag(a,S,C,N){if(`createJSDocTemplateTag`in n)return n.createJSDocTemplateTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTemplateTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.constraint=S,F.typeParameters=n.createNodeArray(C),F.comment=N,F}function createJSDocThisTag(a,S,C){if(`createJSDocThisTag`in n)return n.createJSDocThisTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocThisTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypeExpression(a){if(`createJSDocTypeExpression`in n)return n.createJSDocTypeExpression(a);let S=n.createNode(n.SyntaxKind.JSDocTypeExpression??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocTypeLiteral(a,S){if(`createJSDocTypeLiteral`in n)return n.createJSDocTypeLiteral(a,S);let C=n.createNode(n.SyntaxKind.JSDocTypeLiteral??n.SyntaxKind.JSDocComment);return C.jsDocPropertyTags=a,S!=null&&(C.isArrayType=S),C}function createJSDocTypeTag(a,S,C){if(`createJSDocTypeTag`in n)return n.createJSDocTypeTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocTypeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypedefTag(a,S,C,N){if(`createJSDocTypedefTag`in n)return n.createJSDocTypedefTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTypedefTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocMemberName(a,S){let C=n.createNode(n.SyntaxKind.JSDocMemberName??n.SyntaxKind.JSDocComment);return C.left=a,C.right=S,C}function createJSDocLinkCode(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkCode??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocLinkPlain(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkPlain??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return F===a.body?a:n.setTextRange(createClassStaticBlockDeclaration(F),a)}function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(a,S,C){return S===a.expression&&C===a.type?a:n.setTextRange(createSatisfiesExpression(S,C),a)}function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function createImportTypeNode(a,S,C,N,F){if(`createImportTypeNode`in n)return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F);{let I=S&&`assertClause`in S?S:void 0,H=S&&n.isEntityName(S)?S:C&&!Array.isArray(C)?C:void 0,W=Array.isArray(C)?C:Array.isArray(N)?N:void 0;F=typeof N==`boolean`?N:typeof F==`boolean`?F:!1;let K=n.createNode(200);return K.argument=a,K.assertions=I,K.qualifier=H,K.typeArguments=W==null?void 0:n.createNodeArray(W),K.isTypeOf=F,K.transformFlags=1,K}}function updateImportTypeNode(a,S,C,N,F,I){if(`updateImportTypeNode`in n)return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I);{let H=C&&`assertClause`in C?C:void 0,W=C&&n.isEntityName(C)?C:N&&!Array.isArray(N)?N:void 0,K=Array.isArray(N)?N:Array.isArray(F)?F:void 0;return I=typeof F==`boolean`?F:typeof I==`boolean`?I:a.isTypeOf,a.argument!==S||a.assertions!==H||a.qualifier!==W||a.typeArguments!==K||a.isTypeOf!==I?n.setTextRange(createImportTypeNode(S,C,N,F,I),a):a}}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[1]:S,K=H?S:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.createClassExpression(W,K,q,Y,X)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[1]:C,q=W?C:N,Y=W?N:F,X=W?F:I,te=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te)}function createExportDeclaration(a,S,C,N,F){let I=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createExportDeclaration(H,W,q,Y,K)}function updateExportDeclaration(a,S,C,N,F,I){let H=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateExportDeclaration(a,W,K,Y,X,q)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructor(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructor(a,H,W,K,q)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethod(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=N?.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethod(a,X,te,ne,re,ie,ae,oe,Z,se)}function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameter(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameter(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createProperty(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateProperty(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessor(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessor(a,W,K,q,Y,X)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessor(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessor(a,K,q,Y,X,te,ne)}function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;if(n.createImportEqualsDeclaration.length===4)return n.createImportEqualsDeclaration(H,W,q,Y);{let a=typeof q==`string`?n.createIdentifier(q):q;return n.createImportEqualsDeclaration(H,W,K,a,Y)}}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I,te=typeof Y==`string`?n.createIdentifier(Y):Y;return n.updateImportEqualsDeclaration.length===5?n.updateImportEqualsDeclaration(a,W,K,te,X):n.updateImportEqualsDeclaration(a,W,K,q,te,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}let a=n.createPrivateIdentifier??function(a){return n.createIdentifier(a)};function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return a(n??``)}function getGeneratedPrivateNameForNode(n){return a(``)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}let{updateSourceFileNode:S,...C}=n;return{__compatUpgraded:!0,...C,createToken,createConstructorTypeNode,updateConstructorTypeNode,createImportTypeNode,updateImportTypeNode,createJSDocComment,createJSDocParameterTag,createJSDocPrivateTag,createJSDocAugmentsTag,createJSDocAuthorTag,createJSDocCallbackTag,createJSDocClassTag,createJSDocEnumTag,createJSDocImplementsTag,createJSDocPropertyTag,createJSDocProtectedTag,createJSDocPublicTag,createJSDocReadonlyTag,createJSDocReturnTag,createJSDocSignature,createJSDocTemplateTag,createJSDocThisTag,createJSDocTypeExpression,createJSDocTypeLiteral,createJSDocTypeTag,createJSDocTypedefTag,createJSDocAllType,createJSDocDeprecatedTag,createJSDocFunctionType,createJSDocLink,createJSDocNameReference,createJSDocNamepathType,createJSDocNonNullableType,createJSDocNullableType,createJSDocOptionalType,createJSDocOverrideTag,createJSDocSeeTag,createJSDocText,createJSDocUnknownTag,createJSDocUnknownType,createJSDocVariadicType,createJSDocMemberName,createJSDocLinkCode,createJSDocLinkPlain,createTemplateLiteralType,createTemplateLiteralTypeSpan,createClassStaticBlockDeclaration,createAssertClause,createAssertEntry,createImportTypeAssertionContainer,createIndexSignature,updateIndexSignature,createSatisfiesExpression,updateSatisfiesExpression,createImportDeclaration,updateImportDeclaration,createUniquePrivateName,createPrivateIdentifier:a,getGeneratedPrivateNameForNode,createTypeAliasDeclaration,updateTypeAliasDeclaration,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createExportAssignment,updateExportAssignment,createTypeParameterDeclaration,updateTypeParameterDeclaration,createComma(a,S){return n.createComma(a,S)},createAssignment(a,S){return n.createAssignment(a,S)},createLessThan(a,S){return n.createLessThan(a,S)},createSourceFile(a,S,C){let N=n.createSourceFile(``,``,0,void 0,0);return N.endOfFileToken=S,N.flags|=C,N.statements=n.createNodeArray(a),N},createClassExpression,createExpressionWithTypeArguments(a,S){return n.createExpressionWithTypeArguments(S,a)},updateExpressionWithTypeArguments(a,S,C){return n.updateExpressionWithTypeArguments(a,C,S)},updateImportClause(a,S,C,N){return n.updateImportClause(a,C,N,S)},updateExportDeclaration,createTypePredicateNode(a,S,C){return n.createTypePredicateNode(S,C)},updateTypePredicateNode(a,S,C,N){return n.updateTypePredicateNode(a,C,N)},createMethodSignature(a,S,C,N,F,I){let H=n.createMethodSignature(N,F,I,S,C);return a!=null&&(H.modifiers=n.createNodeArray(a)),H},updateMethodSignature(a,S,C,N,F,I,H){let W=n.updateMethodSignature(a,F,I,H,C,N);return S!==W.modifiers&&(W.modifiers=S==null?S:n.createNodeArray(S)),W},updatePropertySignature(a,S,C,N,F){return n.updatePropertySignature(a,S,C,N,F,void 0)},createAwaitExpression(a){return n.createAwait(a)},createBinaryExpression(a,S,C){return n.createBinary(a,S,C)},createBitwiseAnd(a,S){return n.createBinary(a,n.SyntaxKind.AmpersandToken,S)},createBitwiseNot(a){return n.createPrefix(n.SyntaxKind.TildeToken,a)},createBitwiseOr(a,S){return n.createBinary(a,n.SyntaxKind.BarToken,S)},createBitwiseXor(a,S){return n.createBinary(a,n.SyntaxKind.CaretToken,S)},createBreakStatement(a){return n.createBreak(a)},createCommaListExpression(a){return n.createCommaList(a)},createConditionalExpression(a,S,C,N,F){return S==null||N==null?n.createConditional(a,C,F):n.createConditional(a,S,C,N,F)},createConstructorDeclaration,createContinueStatement(a){return n.createContinue(a)},createDeleteExpression(a){return n.createDelete(a)},createDivide(a,S){return n.createBinary(a,n.SyntaxKind.SlashToken,S)},createDoStatement(a,S){return n.createDo(a,S)},createElementAccessExpression(a,S){return n.createElementAccess(a,S)},createEquality(a,S){return n.createBinary(a,n.SyntaxKind.EqualsEqualsToken,S)},createExponent(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskAsteriskToken,S)},createForInStatement(a,S,C){return n.createForIn(a,S,C)},createForOfStatement(a,S,C,N){return n.createForOf(a,S,C,N)},createForStatement(a,S,C,N){return n.createFor(a,S,C,N)},createGreaterThan(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanToken,S)},createGreaterThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanEqualsToken,S)},createIfStatement(a,S,C){return n.createIf(a,S,C)},createInequality(a,S){return n.createBinary(a,n.SyntaxKind.ExclamationEqualsToken,S)},createLabeledStatement(a,S){return n.createLabel(a,S)},createLeftShift(a,S){return n.createBinary(a,n.SyntaxKind.LessThanLessThanToken,S)},createLessThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.LessThanEqualsToken,S)},createMethodDeclaration,createModulo(a,S){return n.createBinary(a,n.SyntaxKind.PercentToken,S)},createMultiply(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskToken,S)},createNamedTupleMember,createNewExpression(a,S,C){return n.createNew(a,S,C)},createParameterDeclaration,createParenthesizedExpression(a){return n.createParen(a)},createPostfixDecrement(a){return n.createPostfix(a,n.SyntaxKind.MinusMinusToken)},createPostfixUnaryExpression(a,S){return n.createPostfix(a,S)},createPrefixDecrement(a){return n.createPrefix(n.SyntaxKind.MinusMinusToken,a)},createPrefixIncrement(a){return n.createPrefix(n.SyntaxKind.PlusPlusToken,a)},createPrefixMinus(a){return n.createPrefix(n.SyntaxKind.MinusToken,a)},createPrefixPlus(a){return n.createPrefix(n.SyntaxKind.PlusToken,a)},createPrefixUnaryExpression(a,S){return n.createPrefix(a,S)},createPropertyDeclaration,createRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanToken,S)},createSetAccessorDeclaration,createSpreadElement(a){return n.createSpread(a)},createSwitchStatement(a,S){return n.createSwitch(a,S)},createTaggedTemplateExpression(a,S,C){return n.createTaggedTemplate(a,S,C)},createThrowStatement(a){return n.createThrow(a)},createTryStatement(a,S,C){return n.createTry(a,S,C)},createTypeOfExpression(a){return n.createTypeOf(a)},createUnsignedRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,S)},createVoidExpression(a){return n.createVoid(a)},createWhileStatement(a,S){return n.createWhile(a,S)},createWithStatement(a,S){return n.createWith(a,S)},createYieldExpression(a,S){return n.createYield(a,S)},restoreOuterExpressions(n,a,S){return a},updateAwaitExpression(a,S){return n.updateAwait(a,S)},updateBinaryExpression(a,S,C,N){return n.updateBinary(a,S,N,C)},updateBreakStatement(a,S){return n.updateBreak(a,S)},updateCommaListExpression(a,S){return n.updateCommaList(a,S)},updateConditionalExpression(a,S,C,N,F,I){return n.updateConditional(a,S,C,N,F,I)},updateContinueStatement(a,S){return n.updateContinue(a,S)},updateDeleteExpression(a,S){return n.updateDelete(a,S)},updateDoStatement(a,S,C){return n.updateDo(a,S,C)},updateElementAccessExpression(a,S,C){return n.updateElementAccess(a,S,C)},updateForInStatement(a,S,C,N){return n.updateForIn(a,S,C,N)},updateForOfStatement(a,S,C,N,F){return n.updateForOf(a,S,C,N,F)},updateForStatement(a,S,C,N,F){return n.updateFor(a,S,C,N,F)},updateIfStatement(a,S,C,N){return n.updateIf(a,S,C,N)},updateJSDocAugmentsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocAugmentsTag(S,C,N),a)},updateJSDocAuthorTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocAuthorTag(S,C),a)},updateJSDocCallbackTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocCallbackTag(S,C,N,F),a)},updateJSDocClassTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocClassTag(S,C),a)},updateJSDocComment(a,S,C){return S===a.comment&&C===a.tags?a:n.setTextRange(createJSDocComment(S,C),a)},updateJSDocDeprecatedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocDeprecatedTag(S,C),a)},updateJSDocEnumTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression?a:n.setTextRange(createJSDocEnumTag(S,C,N),a)},updateJSDocFunctionType(a,S,C){return S===a.parameters&&C===a.type?a:n.setTextRange(createJSDocFunctionType(S,C),a)},updateJSDocImplementsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocImplementsTag(S,C,N),a)},updateJSDocLink(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLink(S,C),a)},updateJSDocNameReference(a,S){return S===a.name?a:n.setTextRange(createJSDocNameReference(S),a)},updateJSDocNamepathType(a,S){return S===a.type?a:n.setTextRange(createJSDocNamepathType(S),a)},updateJSDocNonNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNonNullableType(S),a)},updateJSDocNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNullableType(S),a)},updateJSDocOptionalType(a,S){return S===a.type?a:n.setTextRange(createJSDocOptionalType(S),a)},updateJSDocOverrideTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocOverrideTag(S,C),a)},updateJSDocParameterTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocParameterTag(S,C,N,F,I,H),a)},updateJSDocPrivateTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPrivateTag(S,C),a)},updateJSDocPropertyTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocPropertyTag(S,C,N,F,I,H),a)},updateJSDocProtectedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocProtectedTag(S,C),a)},updateJSDocPublicTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPublicTag(S,C),a)},updateJSDocReadonlyTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocReadonlyTag(S,C),a)},updateJSDocReturnTag(a,S,C,N){return S===a.tagName&&N===a.comment&&C===a.typeExpression?a:n.setTextRange(createJSDocReturnTag(S,C,N),a)},updateJSDocSeeTag(a,S,C,N){return S===a.tagName&&C===a.name&&N===a.comment?a:n.setTextRange(createJSDocSeeTag(S,C,N),a)},updateJSDocSignature(a,S,C,N){return S===a.typeParameters&&C===a.parameters&&N===a.type?a:n.setTextRange(createJSDocSignature(S,C,N),a)},updateJSDocTemplateTag(a,S,C,N,F){return S===a.tagName&&C===a.constraint&&N===a.typeParameters&&F===a.comment?a:n.setTextRange(createJSDocTemplateTag(S,C,N,F),a)},updateJSDocText(a,S){return S===a.text?a:n.setTextRange(createJSDocText(S),a)},updateJSDocThisTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocThisTag(S,C,N),a)},updateJSDocTypeExpression(a,S){return S===a.type?a:n.setTextRange(createJSDocTypeExpression(S),a)},updateJSDocTypeLiteral(a,S,C){return S===a.jsDocPropertyTags&&C===a.isArrayType?a:n.setTextRange(createJSDocTypeLiteral(S,C),a)},updateJSDocTypeTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocTypeTag(S,C,N),a)},updateJSDocTypedefTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocTypedefTag(S,C,N,F),a)},updateJSDocUnknownTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocUnknownTag(S,C),a)},updateJSDocVariadicType(a,S){return S===a.type?a:n.setTextRange(createJSDocVariadicType(S),a)},updateJSDocMemberName(a,S,C){return S===a.left&&C===a.right?a:n.setTextRange(createJSDocMemberName(S,C),a)},updateJSDocLinkCode(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkCode(S,C),a)},updateJSDocLinkPlain(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkPlain(S,C),a)},updateLabeledStatement(a,S,C){return n.updateLabel(a,S,C)},updateMethodDeclaration,updateNamedTupleMember(a,S,C,N,F){return S===a.dotDotDotToken&&C===a.name&&N===a.questionToken&&F===a.type?a:n.setTextRange(createNamedTupleMember(S,C,N,F),a)},updateNewExpression(a,S,C,N){return n.updateNew(a,S,C,N)},updateObjectLiteralExpression(a,S){return n.updateObjectLiteral(a,S)},updateParameterDeclaration,updateParenthesizedExpression(a,S){return n.updateParen(a,S)},updatePostfixUnaryExpression(a,S){return n.updatePostfix(a,S)},updatePrefixUnaryExpression(a,S){return n.updatePrefix(a,S)},updatePropertyAccessExpression(a,S,C){return n.updatePropertyAccess(a,S,C)},updatePropertyDeclaration,updateReturnStatement(a,S){return n.updateReturn(a,S)},updateSetAccessorDeclaration,updateSpreadElement(a,S){return n.updateSpread(a,S)},updateSwitchStatement(a,S,C){return n.updateSwitch(a,S,C)},updateTaggedTemplateExpression(a,S,C,N){return n.updateTaggedTemplate(a,S,C,N)},updateTemplateLiteralType(a,S,C){return S===a.head&&C===a.templateSpans?a:n.setTextRange(createTemplateLiteralType(S,C),a)},updateTemplateLiteralTypeSpan(a,S,C){return S===a.type&&C===a.literal?a:n.setTextRange(createTemplateLiteralTypeSpan(S,C),a)},updateClassStaticBlockDeclaration,updateAssertClause(a,S,C){return a.elements!==S||a.multiLine!==C?n.setTextRange(createAssertClause(S,C),a):a},updateAssertEntry(a,S,C){return a.name!==S||a.value!==C?n.setTextRange(createAssertEntry(S,C),a):a},updateImportTypeAssertionContainer(a,S,C){return a.assertClause!==S||a.multiLine!==C?n.setTextRange(createImportTypeAssertionContainer(S,C),a):a},updateThrowStatement(a,S){return n.updateThrow(a,S)},updateTryStatement(a,S,C,N){return n.updateTry(a,S,C,N)},updateTypeOfExpression(a,S){return n.updateTypeOf(a,S)},updateVoidExpression(a,S){return n.updateVoid(a,S)},updateWhileStatement(a,S,C){return n.updateWhile(a,S,C)},updateWithStatement(a,S,C){return n.updateWith(a,S,C)},updateYieldExpression(a,S,C){return n.updateYield(a,S,C)},createImportClause(a,S,C){return n.createImportClause(S,C,a)},createCallExpression(a,S,C){return n.createCall(a,S,C)},updateCallExpression(a,S,C,N){return n.updateCall(a,S,C,N)},createArrayLiteralExpression(a,S){return n.createArrayLiteral(a,S)},updateArrayLiteralExpression(a,S){return n.updateArrayLiteral(a,S)},updateSourceFile(a,S,C,N,F,I,H){return n.updateSourceFileNode(a,S,C,N,F,I,H)},updateClassExpression,createPropertyAccessExpression(a,S){return n.createPropertyAccess(a,S)},createGetAccessorDeclaration,updateGetAccessorDeclaration,createReturnStatement(a){return n.createReturn(a)},createObjectLiteralExpression(a,S){return n.createObjectLiteral(a,S)},createVariableDeclaration(a,S,C,N){return n.createVariableDeclaration.length===4?n.createVariableDeclaration(a,S,C,N):n.createVariableDeclaration(a,C,N)},updateVariableDeclaration(a,S,C,N,F){return n.updateVariableDeclaration.length===4?n.updateVariableDeclaration(a,S,N,F):n.updateVariableDeclaration(a,S,C,N,F)},createPropertyAccessChain(a,S,C){if(`createPropertyAccessChain`in n)return n.createPropertyAccessChain(a,S,C);let N=n.createPropertyAccess(a,C);return N.questionDotToken=S,N},updatePropertyAccessChain(a,S,C,N){if(`updatePropertyAccessChain`in n)return n.updatePropertyAccessChain(a,S,C,N);let F=n.updatePropertyAccess(a,S,N);return F.questionDotToken=C,F},createImportEqualsDeclaration,updateImportEqualsDeclaration,createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,F,I)},createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)},createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)},createExportDeclaration,updateConstructorDeclaration,createNumericLiteral(a,S){return n.createNumericLiteral(String(a),S)}}}var Xb=__esmMin(()=>{});function cloneIdentifier(n,a){let S=`text`in n?n.text:a.typescript.unescapeLeadingUnderscores(n.escapedText);return a.factory.createIdentifier(a.hook(`text`,S,S))}function cloneTypeAliasDeclaration(n,a){return a.factory.createTypeAliasDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneToken(n,a){return a.factory.createToken(a.hook(`kind`,n.kind,n.kind))}function cloneDecorator(n,a){return a.factory.createDecorator(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeParameterDeclaration(n,a){return a.factory.createTypeParameterDeclaration(void 0,a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),a.hook(`default`,a.nextNode(n.default),n.default))}function cloneQualifiedName(n,a){return a.factory.createQualifiedName(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneComputedPropertyName(n,a){return a.factory.createComputedPropertyName(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneCallSignatureDeclaration(n,a){return a.factory.createCallSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneConstructSignatureDeclaration(n,a){return a.factory.createConstructSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneVariableDeclaration(n,a){let S=a.factory.createVariableDeclaration(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return n.initializer!=null&&S.initializer!=null&&!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneVariableDeclarationList(n,a){return a.factory.createVariableDeclarationList(a.hook(`declarations`,a.nextNodes(n.declarations),n.declarations),a.hook(`flags`,n.flags,n.flags))}function cloneVariableStatement(n,a){return a.factory.createVariableStatement(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`declarationList`,a.nextNode(n.declarationList),n.declarationList))}function cloneParameterDeclaration(n,a){return a.factory.createParameterDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneBindingElement(n,a){return a.factory.createBindingElement(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertySignature(n,a){return a.factory.createPropertySignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type))}function clonePropertyDeclaration(n,a){return a.factory.createPropertyDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),n.questionToken==null?a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken):a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertyAssignment(n,a){let S=a.factory.createPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneShorthandPropertyAssignment(n,a){return a.factory.createShorthandPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`objectAssignmentInitializer`,a.nextNode(n.objectAssignmentInitializer),n.objectAssignmentInitializer))}function cloneSpreadAssignment(n,a){return a.factory.createSpreadAssignment(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneObjectBindingPattern(n,a){return a.factory.createObjectBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneArrayBindingPattern(n,a){return a.factory.createArrayBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneFunctionDeclaration(n,a){return a.factory.createFunctionDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneMethodSignature(n,a){return a.factory.createMethodSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneMethodDeclaration(n,a){return a.factory.createMethodDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneConstructorDeclaration(n,a){return a.factory.createConstructorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSemicolonClassElement(n,a){return a.factory.createSemicolonClassElement()}function cloneGetAccessorDeclaration(n,a){return a.factory.createGetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSetAccessorDeclaration(n,a){return a.factory.createSetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneIndexSignatureDeclaration(n,a){return a.factory.createIndexSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isKeywordTypeNode(n,a){switch(n.kind){case a.SyntaxKind.AnyKeyword:case a.SyntaxKind.UnknownKeyword:case a.SyntaxKind.BigIntKeyword:case a.SyntaxKind.ObjectKeyword:case a.SyntaxKind.BooleanKeyword:case a.SyntaxKind.StringKeyword:case a.SyntaxKind.SymbolKeyword:case a.SyntaxKind.VoidKeyword:case a.SyntaxKind.UndefinedKeyword:case a.SyntaxKind.NullKeyword:case a.SyntaxKind.NeverKeyword:return!0}return!1}function cloneKeywordTypeNode(n,a){return a.factory.createKeywordTypeNode(a.hook(`kind`,n.kind,n.kind))}function cloneImportTypeNode(n,a){return a.factory.createImportTypeNode(a.hook(`argument`,a.nextNode(n.argument),n.argument),a.hook(`assertions`,a.nextNode(n.assertions),n.assertions),a.hook(`qualifier`,a.nextNode(n.qualifier),n.qualifier),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`isTypeOf`,n.isTypeOf,n.isTypeOf))}function cloneThisTypeNode(n,a){return a.factory.createThisTypeNode()}function cloneFunctionTypeNode(n,a){return a.factory.createFunctionTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isNodeArray(n){return n!=null&&Array.isArray(n)&&`pos`in n}function ensureNodeArray(n,a){return n==null||isNodeArray(n)?n:a.createNodeArray(n)}function cloneConstructorTypeNode(n,a){let S=a.factory.createConstructorTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.modifiers=ensureNodeArray(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.factory),S}function cloneTypeReferenceNode(n,a){return a.factory.createTypeReferenceNode(a.hook(`typeName`,a.nextNode(n.typeName),n.typeName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function cloneTypePredicateNode(n,a){return a.factory.createTypePredicateNode(a.hook(`assertsModifier`,a.nextNode(n.assertsModifier),n.assertsModifier),a.hook(`parameterName`,a.nextNode(n.parameterName),n.parameterName),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneSourceFile(n,a){let S=a.factory.updateSourceFile(n,a.hook(`statements`,a.nextNodes(n.statements),n.statements),n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives);return S.pos=-1,S.end=-1,S}function cloneTypeQueryNode(n,a){return a.factory.createTypeQueryNode(a.hook(`exprName`,a.nextNode(n.exprName),n.exprName))}function cloneTypeLiteralNode(n,a){return a.factory.createTypeLiteralNode(a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneArrayTypeNode(n,a){return a.factory.createArrayTypeNode(a.hook(`elementType`,a.nextNode(n.elementType),n.elementType))}function cloneTupleTypeNode(n,a){if(`elementTypes`in n){let S=n;return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(S.elementTypes),S.elementTypes))}else return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneOptionalTypeNode(n,a){return a.factory.createOptionalTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isOptionalTypeNode$1(n,a){return`isOptionalTypeNode`in a?a.isOptionalTypeNode(n):n.kind===a.SyntaxKind.OptionalType}function cloneRestTypeNode(n,a){return a.factory.createRestTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isRestTypeNode(n,a){return`isRestTypeNode`in a?a.isRestTypeNode(n):n.kind===a.SyntaxKind.RestType}function cloneUnionTypeNode(n,a){return a.factory.createUnionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneIntersectionTypeNode(n,a){return a.factory.createIntersectionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneLiteralTypeNode(n,a){return a.factory.createLiteralTypeNode(a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneStringLiteral(n,a){return a.factory.createStringLiteral(a.hook(`text`,n.text,n.text))}function isBooleanLiteral(n,a){switch(n.kind){case a.SyntaxKind.TrueKeyword:case a.SyntaxKind.FalseKeyword:return!0;default:return!1}}function cloneBooleanLiteral(n,a){return n.kind===a.typescript.SyntaxKind.TrueKeyword?a.factory.createTrue():a.factory.createFalse()}function clonePrefixUnaryExpression(n,a){return a.factory.createPrefixUnaryExpression(a.hook(`operator`,n.operator,n.operator),a.hook(`operand`,a.nextNode(n.operand),n.operand))}function cloneRegularExpressionLiteral(n,a){return a.factory.createRegularExpressionLiteral(a.hook(`text`,n.text,n.text))}function cloneNoSubstitutionTemplateLiteral(n,a){return a.factory.createNoSubstitutionTemplateLiteral(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.text))}function cloneNumericLiteral(n,a){return a.factory.createNumericLiteral(a.hook(`text`,n.text,n.text))}function cloneBigIntLiteral(n,a){return a.factory.createBigIntLiteral(a.hook(`text`,n.text,n.text))}function cloneConditionalTypeNode(n,a){return a.factory.createConditionalTypeNode(a.hook(`checkType`,a.nextNode(n.checkType),n.checkType),a.hook(`extendsType`,a.nextNode(n.extendsType),n.extendsType),a.hook(`trueType`,a.nextNode(n.trueType),n.trueType),a.hook(`falseType`,a.nextNode(n.falseType),n.falseType))}function cloneInferTypeNode(n,a){return a.factory.createInferTypeNode(a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter))}function cloneBlock(n,a){return a.factory.createBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneThrowStatement(n,a){return a.factory.createThrowStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNewExpression(n,a){return a.factory.createNewExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments))}function cloneCallExpression(n,a){let S=a.factory.createCallExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments));for(let C=0;C<S.arguments.length;C++){let N=S.arguments[C];!a.typescript.isParenthesizedExpression(n.arguments[C])&&a.typescript.isParenthesizedExpression(N)&&(S.arguments[C]=N.expression)}return S}function cloneExpressionStatement(n,a){return a.factory.createExpressionStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneExpressionWithTypeArguments(n,a){return a.factory.createExpressionWithTypeArguments(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function clonePropertyAccessExpression(n,a){return a.factory.createPropertyAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneElementAccessExpression(n,a){return a.factory.createElementAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`argumentExpression`,a.nextNode(n.argumentExpression),n.argumentExpression))}function cloneArrayLiteralExpression(n,a){return a.factory.createArrayLiteralExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneObjectLiteralExpression(n,a){return a.factory.createObjectLiteralExpression(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneTemplateExpression(n,a){return a.factory.createTemplateExpression(a.hook(`head`,a.nextNode(n.head),n.head),a.hook(`templateSpans`,a.nextNodes(n.templateSpans),n.templateSpans))}function cloneTemplateSpan(n,a){return a.factory.createTemplateSpan(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneTemplateHead(n,a){return a.factory.createTemplateHead(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateMiddle(n,a){return a.factory.createTemplateMiddle(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateTail(n,a){return a.factory.createTemplateTail(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneConditionalExpression(n,a){return a.factory.createConditionalExpression(a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`whenTrue`,a.nextNode(n.whenTrue),n.whenTrue),a.hook(`colonToken`,a.nextNode(n.colonToken),n.colonToken),a.hook(`whenFalse`,a.nextNode(n.whenFalse),n.whenFalse))}function cloneBinaryExpression(n,a){return a.factory.createBinaryExpression(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`operatorToken`,a.nextNode(n.operatorToken),n.operatorToken),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneParenthesizedExpression(n,a){return a.factory.createParenthesizedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneParenthesizedTypeNode(n,a){return a.factory.createParenthesizedType(a.hook(`type`,a.nextNode(n.type),n.type))}function cloneArrowFunction(n,a){return a.factory.createArrowFunction(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`equalsGreaterThanToken`,a.nextNode(n.equalsGreaterThanToken),n.equalsGreaterThanToken),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneClassDeclaration(n,a){return a.factory.createClassDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneClassExpression(n,a){return a.factory.createClassExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumDeclaration(n,a){return a.factory.createEnumDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneInterfaceDeclaration(n,a){return a.factory.createInterfaceDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumMember(n,a){return a.factory.createEnumMember(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneHeritageClause(n,a){return a.factory.createHeritageClause(a.hook(`token`,n.token,n.token),a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneEmptyStatement(n,a){return a.factory.createEmptyStatement()}function cloneTypeOperatorNode(n,a){return a.factory.createTypeOperatorNode(a.hook(`operator`,n.operator,n.operator),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneIndexedAccessTypeNode(n,a){return a.factory.createIndexedAccessTypeNode(a.hook(`objectType`,a.nextNode(n.objectType),n.objectType),a.hook(`indexType`,a.nextNode(n.indexType),n.indexType))}function cloneMappedTypeNode(n,a){return a.factory.createMappedTypeNode(a.hook(`readonlyToken`,a.nextNode(n.readonlyToken),n.readonlyToken),a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter),a.hook(`nameType`,a.nextNode(n.nameType),n.nameType),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),ensureNodeArray(a.hook(`members`,a.nextNodes(n.members),n.members),a.factory))}function cloneOmittedExpression(n,a){return a.factory.createOmittedExpression()}function clonePartiallyEmittedExpression(n,a){return a.factory.createPartiallyEmittedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isPartiallyEmittedExpression(n,a){return`isPartiallyEmittedExpression`in a?a.isPartiallyEmittedExpression(n):n.kind===a.SyntaxKind.PartiallyEmittedExpression}function clonePostfixUnaryExpression(n,a){return a.factory.createPostfixUnaryExpression(a.hook(`operand`,a.nextNode(n.operand),n.operand),a.hook(`operator`,n.operator,n.operator))}function isNullLiteral(n,a){return n.kind===a.SyntaxKind.NullKeyword}function cloneNullLiteral(n,a){return a.factory.createNull()}function isThisExpression(n,a){return n.kind===a.SyntaxKind.ThisKeyword}function cloneThisExpression(n,a){return a.factory.createThis()}function cloneReturnStatement(n,a){return a.factory.createReturnStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isSuperExpression(n,a){return n.kind===a.SyntaxKind.SuperKeyword}function cloneSuperExpression(n,a){return a.factory.createSuper()}function cloneDeleteExpression(n,a){return a.factory.createDeleteExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAsExpression(n,a){return a.factory.createAsExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneTypeAssertion(n,a){return a.factory.createTypeAssertion(a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAwaitExpression(n,a){return a.factory.createAwaitExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneYieldExpression(n,a){return a.factory.createYieldExpression(a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneForOfStatement(n,a){return a.factory.createForOfStatement(a.hook(`awaitModifier`,a.nextNode(n.awaitModifier),n.awaitModifier),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForInStatement(n,a){return a.factory.createForInStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForStatement(n,a){return a.factory.createForStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`incrementor`,a.nextNode(n.incrementor),n.incrementor),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneWhileStatement(n,a){return a.factory.createWhileStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneLabeledStatement(n,a){return a.factory.createLabeledStatement(a.hook(`label`,a.nextNode(n.label),n.label),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneBreakStatement(n,a){return a.factory.createBreakStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneContinueStatement(n,a){return a.factory.createContinueStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneIfStatement(n,a){return a.factory.createIfStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`thenStatement`,a.nextNode(n.thenStatement),n.thenStatement),a.hook(`elseStatement`,a.nextNode(n.elseStatement),n.elseStatement))}function cloneDoStatement(n,a){return a.factory.createDoStatement(a.hook(`statement`,a.nextNode(n.statement),n.statement),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNonNullExpression(n,a){return a.factory.createNonNullExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeOfExpression(n,a){return a.factory.createTypeOfExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneVoidExpression(n,a){return a.factory.createVoidExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneFunctionExpression(n,a){return a.factory.createFunctionExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSpreadElement(n,a){return a.factory.createSpreadElement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTaggedTemplateExpression(n,a){return a.factory.createTaggedTemplateExpression(a.hook(`tag`,a.nextNode(n.tag),n.tag),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`template`,a.nextNode(n.template),n.template))}function cloneMetaProperty(n,a){return a.factory.createMetaProperty(a.hook(`keywordToken`,n.keywordToken,n.keywordToken),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneJsxElement(n,a){return a.factory.createJsxElement(a.hook(`openingElement`,a.nextNode(n.openingElement),n.openingElement),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingElement`,a.nextNode(n.closingElement),n.closingElement))}function cloneJsxAttributes(n,a){return a.factory.createJsxAttributes(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneJsxOpeningElement(n,a){return a.factory.createJsxOpeningElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxSelfClosingElement(n,a){return a.factory.createJsxSelfClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxFragment(n,a){return a.factory.createJsxFragment(a.hook(`openingFragment`,a.nextNode(n.openingFragment),n.openingFragment),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingFragment`,a.nextNode(n.closingFragment),n.closingFragment))}function cloneJsxOpeningFragment(n,a){return a.factory.createJsxOpeningFragment()}function cloneJsxClosingFragment(n,a){return a.factory.createJsxJsxClosingFragment()}function cloneJsxAttribute(n,a){return a.factory.createJsxAttribute(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneJsxSpreadAttribute(n,a){return a.factory.createJsxSpreadAttribute(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxClosingElement(n,a){return a.factory.createJsxClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName))}function cloneJsxExpression(n,a){return a.factory.createJsxExpression(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxText(n,a){return a.factory.createJsxText(a.hook(`text`,n.text,n.text),a.hook(`containsOnlyTriviaWhiteSpaces`,n.containsOnlyTriviaWhiteSpaces,n.containsOnlyTriviaWhiteSpaces))}function isNotEmittedStatement(n,a){return`isNotEmittedStatement`in a?a.isNotEmittedStatement(n):n.kind===a.SyntaxKind.NotEmittedStatement}function cloneNotEmittedStatement(n,a){return a.factory.createNotEmittedStatement(n)}function isCommaListExpression(n,a){return`isCommaListExpression`in a?a.isCommaListExpression(n):n.kind===a.SyntaxKind.CommaListExpression}function cloneCommaListExpression(n,a){return a.factory.createCommaListExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneDebuggerStatement(n,a){return a.factory.createDebuggerStatement()}function cloneWithStatement(n,a){return a.factory.createWithStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneSwitchStatement(n,a){return a.factory.createSwitchStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`caseBlock`,a.nextNode(n.caseBlock),n.caseBlock))}function cloneCaseBlock(n,a){return a.factory.createCaseBlock(a.hook(`clauses`,a.nextNodes(n.clauses),n.clauses))}function cloneCaseClause(n,a){return a.factory.createCaseClause(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneDefaultClause(n,a){return a.factory.createDefaultClause(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneTryStatement(n,a){return a.factory.createTryStatement(a.hook(`tryBlock`,a.nextNode(n.tryBlock),n.tryBlock),a.hook(`catchClause`,a.nextNode(n.catchClause),n.catchClause),a.hook(`finallyBlock`,a.nextNode(n.finallyBlock),n.finallyBlock))}function cloneCatchClause(n,a){return a.factory.createCatchClause(a.hook(`variableDeclaration`,a.nextNode(n.variableDeclaration),n.variableDeclaration),a.hook(`block`,a.nextNode(n.block),n.block))}function cloneModuleDeclaration(n,a){return a.factory.createModuleDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`body`,a.nextNode(n.body),n.body),a.hook(`flags`,n.flags,n.flags))}function cloneModuleBlock(n,a){return a.factory.createModuleBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneImportDeclaration(n,a){return a.factory.createImportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`importClause`,a.nextNode(n.importClause),n.importClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier),a.hook(`assertClause`,a.nextNode(n.assertClause),n.assertClause))}function cloneImportEqualsDeclaration(n,a){return a.factory.createImportEqualsDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`moduleReference`,a.nextNode(n.moduleReference),n.moduleReference))}function cloneImportClause(n,a){return a.factory.createImportClause(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`namedBindings`,a.nextNode(n.namedBindings),n.namedBindings))}function cloneNamedImports(n,a){return a.factory.createNamedImports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneNamespaceImport(n,a){return a.factory.createNamespaceImport(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneImportSpecifier(n,a){return a.factory.createImportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExternalModuleReference(n,a){return a.factory.createExternalModuleReference(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNamespaceExportDeclaration(n,a){return a.factory.createNamespaceExportDeclaration(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportDeclaration(n,a){return a.factory.createExportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`exportClause`,a.nextNode(n.exportClause),n.exportClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier))}function cloneNamedExports(n,a){return a.factory.createNamedExports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneExportSpecifier(n,a){return a.factory.createExportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportAssignment(n,a){return a.factory.createExportAssignment(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isExportEquals`,n.isExportEquals,n.isExportEquals),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function toInternalOptions(n){let a=n.typescript??Zb.default;return{...n,typescript:a,factory:ensureNodeFactory(n.factory??a),setParents:n.setParents??!1,setOriginalNodes:n.setOriginalNodes??!1,preserveSymbols:n.preserveSymbols??!1,preserveComments:n.preserveComments??!0,commentRanges:new Set,debug:n.debug??!1,depth:0,hook:n.hook??(()=>({})),finalize:n.finalize??(()=>{})}}function isJsDocComment(n,a){return`isJSDoc`in a?a.isJSDoc(n):n.kind===a.SyntaxKind.JSDocComment}function cloneJsDoc(n,a){let S=a.factory.createJSDocComment(a.hook(`comment`,n.comment,n.comment),ensureNodeArray(a.hook(`tags`,a.nextNodes(n.tags),n.tags),a.factory));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownTag(n,a){return`isJSDocUnknownTag`in a?a.isJSDocUnknownTag(n):n.kind===a.SyntaxKind.JSDocTag}function isJsDocParameterTag(n,a){return`isJSDocParameterTag`in a?a.isJSDocParameterTag(n):n.kind===a.SyntaxKind.JSDocParameterTag}function cloneJsDocParameterTag(n,a){let S=a.factory.createJSDocParameterTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocReturnTag(n,a){return`isJSDocReturnTag`in a?a.isJSDocReturnTag(n):n.kind===a.SyntaxKind.JSDocReturnTag}function cloneJsDocReturnTag(n,a){let S=a.factory.createJSDocReturnTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeExpression(n,a){return`isJSDocTypeExpression`in a?a.isJSDocTypeExpression(n):n.kind===a.SyntaxKind.JSDocTypeExpression}function cloneJsDocTypeExpression(n,a){let S=a.factory.createJSDocTypeExpression(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocEnumTag(n,a){return`isJSDocEnumTag`in a?a.isJSDocEnumTag(n):n.kind===a.SyntaxKind.JSDocEnumTag}function cloneJsDocEnumTag(n,a){let S=a.factory.createJSDocEnumTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeTag(n,a){return`isJSDocTypeTag`in a?a.isJSDocTypeTag(n):n.kind===a.SyntaxKind.JSDocTypeTag}function cloneJsDocTypeTag(n,a){let S=a.factory.createJSDocTypeTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAllType(n,a){return`isJSDocAllType`in a?a.isJSDocAllType(n):n.kind===a.SyntaxKind.JSDocAllType}function cloneJsDocAllType(n,a){let S=a.factory.createJSDocAllType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownType(n,a){return`isJSDocUnknownType`in a?a.isJSDocUnknownType(n):n.kind===a.SyntaxKind.JSDocUnknownType}function cloneJsDocUnknownType(n,a){let S=a.factory.createJSDocUnknownType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNonNullableType(n,a){return`isJSDocNonNullableType`in a?a.isJSDocNonNullableType(n):n.kind===a.SyntaxKind.JSDocNonNullableType}function cloneJsDocNonNullableType(n,a){let S=a.factory.createJSDocNonNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNullableType(n,a){return`isJSDocNullableType`in a?a.isJSDocNullableType(n):n.kind===a.SyntaxKind.JSDocNullableType}function cloneJsDocNullableType(n,a){let S=a.factory.createJSDocNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocOptionalType(n,a){return`isJSDocOptionalType`in a?a.isJSDocOptionalType(n):n.kind===a.SyntaxKind.JSDocOptionalType}function cloneJsDocOptionalType(n,a){let S=a.factory.createJSDocOptionalType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocFunctionType(n,a){return`isJSDocFunctionType`in a?a.isJSDocFunctionType(n):n.kind===a.SyntaxKind.JSDocFunctionType}function cloneJsDocFunctionType(n,a){let S=a.factory.createJSDocFunctionType(a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,n.type,n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocVariadicType(n,a){return`isJSDocVariadicType`in a?a.isJSDocVariadicType(n):n.kind===a.SyntaxKind.JSDocVariadicType}function cloneJsDocVariadicType(n,a){let S=a.factory.createJSDocVariadicType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNamepathType(n,a){return`isJSDocNamepathType`in a?a.isJSDocNamepathType(n):n.kind===a.SyntaxKind.JSDocNamepathType}function cloneJsDocNamepathType(n,a){let S=a.factory.createJSDocNamepathType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function cloneJsDocUnknownTag(n,a){let S=a.factory.createJSDocUnknownTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAugmentsTag(n,a){return`isJSDocAugmentsTag`in a?a.isJSDocAugmentsTag(n):n.kind===a.SyntaxKind.JSDocAugmentsTag}function cloneJsDocAugmentsTag(n,a){let S=a.factory.createJSDocAugmentsTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`class`,a.nextNode(n.class),n.class),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAuthorTag(n,a){return`isJSDocAuthorTag`in a?a.isJSDocAuthorTag(n):n.kind===a.SyntaxKind.JSDocAuthorTag}function cloneJsDocAuthorTag(n,a){let S=a.factory.createJSDocAuthorTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocClassTag(n,a){return`isJSDocClassTag`in a?a.isJSDocClassTag(n):n.kind===a.SyntaxKind.JSDocClassTag}function cloneJsDocClassTag(n,a){let S=a.factory.createJSDocClassTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocThisTag(n,a){return`isJSDocThisTag`in a?a.isJSDocThisTag(n):n.kind===a.SyntaxKind.JSDocThisTag}function cloneJsDocThisTag(n,a){let S=a.factory.createJSDocThisTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTemplateTag(n,a){return`isJSDocTemplateTag`in a?a.isJSDocTemplateTag(n):n.kind===a.SyntaxKind.JSDocTemplateTag}function cloneJsDocTemplateTag(n,a){let S=a.factory.createJSDocTemplateTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),ensureNodeArray(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.factory),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypedefTag(n,a){return`isJSDocTypedefTag`in a?a.isJSDocTypedefTag(n):n.kind===a.SyntaxKind.JSDocTypedefTag}function cloneJsDocTypedefTag(n,a){let S=a.factory.createJSDocTypedefTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocCallbackTag(n,a){return`isJSDocCallbackTag`in a?a.isJSDocCallbackTag(n):n.kind===a.SyntaxKind.JSDocCallbackTag}function cloneJsDocCallbackTag(n,a){let S=a.factory.createJSDocCallbackTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocSignature(n,a){return`isJSDocSignature`in a?a.isJSDocSignature(n):n.kind===a.SyntaxKind.JSDocSignature}function cloneJsDocSignature(n,a){let S=a.factory.createJSDocSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPropertyTag(n,a){return`isJSDocPropertyTag`in a?a.isJSDocPropertyTag(n):n.kind===a.SyntaxKind.JSDocPropertyTag}function cloneJsDocPropertyTag(n,a){let S=a.factory.createJSDocPropertyTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeLiteral(n,a){return`isJSDocTypeLiteral`in a?a.isJSDocTypeLiteral(n):n.kind===a.SyntaxKind.JSDocTypeLiteral}function cloneJsDocTypeLiteral(n,a){let S=a.factory.createJSDocTypeLiteral(a.hook(`jsDocPropertyTags`,a.nextNodes(n.jsDocPropertyTags),n.jsDocPropertyTags),a.hook(`isArrayType`,n.isArrayType,n.isArrayType));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function fixupParentReferences(n,{deep:a,propertyName:S,typescript:C}){let N=n;C.forEachChild(n,visitNode);function visitNode(n){if(n[S]!==N){n[S]=N;let F=N;if(N=n,a&&C.forEachChild(n,visitNode),n.jsDoc!=null)for(let a of n.jsDoc)a[S]=n,N=a,C.forEachChild(a,visitNode);N=F}}}function setParents(n,a){return fixupParentReferences(n,a),n}function getOriginalNode(n,a){return n._original==null?a.typescript.getOriginalNode(n)??n:getOriginalNode(n._original,a)}function formatCommentRange({pos:n,end:a}){return`${n}:${a}`}function getCommentRanges(n,a){let S=[],C=getOriginalNode(n,a),N=C.getSourceFile();if(N==null||C.pos===-1||C.end===-1)return[];let F=N.getFullText(),I=C.getFullStart(),H=C.getEnd(),W=a.typescript.getLeadingCommentRanges(F,I)??[],K=a.typescript.getTrailingCommentRanges(F,H)??[];if(W.length<1){let n=C.getFullText().trim();(n.startsWith(`//`)||n.startsWith(`/*`))&&W.push(...a.typescript.getTrailingCommentRanges(F,I)??[])}let q=[...W.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!0})),...K.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!1}))];for(let n of q){if(a.commentRanges.has(formatCommentRange(n)))continue;a.commentRanges.add(formatCommentRange(n));let C=N.text.substring(n.pos,n.end);if(!C.startsWith(`//`)&&!C.startsWith(`/*`))continue;let F=C.includes(`\r
681
+ `,C=createHash(`sha1`).update(S).digest(`hex`).slice(0,10),N=ns(a,`node_modules`,`.cache`,`gjsify`);await mkdir$1(N,{recursive:!0});let F=ns(N,`auto-globals-${C}.mjs`);return await writeFile$1(F,S,`utf-8`),F}var Hb,Ub,Wb,Gb=__esmMin(()=>{Ae(),kc(),Zc(),ao(),ps(),Fb(),c_(),Hb=Nb,Ub=Mb,Wb=i_});function inlineStaticReads(n,a){if(!n.includes(`readFileSync`)&&!n.includes(`readdirSync`)&&!n.includes(`existsSync`))return{contents:n,inlined:0};let S;try{S=parse$1(n,{ecmaVersion:`latest`,sourceType:`module`,allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0})}catch{return{contents:n,inlined:0}}let C={sourceUrl:pathToFileURL(a).href},N=[];if(simple(S,{CallExpression(a){let S=tryInlineCall(a,C,n);S&&N.push(S)}}),N.length===0)return{contents:n,inlined:0};let F=[];N.sort((n,a)=>n.start-a.start||a.end-n.end);for(let n of N){let a=F[F.length-1];a&&n.start>=a.start&&n.end<=a.end||F.push(n)}F.sort((n,a)=>a.start-n.start);let I=n;for(let n of F)I=I.slice(0,n.start)+n.replacement+I.slice(n.end);return{contents:I,inlined:F.length}}function tryInlineCall(n,a,S){let C=n.callee;if(C.type===`MemberExpression`&&!C.computed&&C.object.type===`Identifier`&&C.object.name===`JSON`&&C.property.type===`Identifier`&&C.property.name===`parse`&&n.arguments.length>=1&&n.arguments[0].type===`CallExpression`){let S=n.arguments[0],C=tryInlineReadFile(S,a,!0);if(C!==void 0)try{let a=JSON.parse(JSON.parse(C));return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}let N=identifierName(C);if(N===`readFileSync`){let S=tryInlineReadFile(n,a,!1);if(S!==void 0)return{start:n.start,end:n.end,replacement:S}}if(N===`readdirSync`){if(hasWithFileTypes(n.arguments[1]))return;let S=evalPathExpr(n.arguments[0],a);if(S&&existsSyncSafe(S)&&isDirectorySafe(S))try{let a=readdirSync(S);return{start:n.start,end:n.end,replacement:jsLiteral(a)}}catch{}}if(N===`existsSync`){let S=evalPathExpr(n.arguments[0],a);if(S!==void 0)return{start:n.start,end:n.end,replacement:existsSyncSafe(S)?`true`:`false`}}if(N===`createRequire`){let S=evalPathExpr(n.arguments[0],a),C=S!==void 0&&S.includes(`.zip/`);if(S!==void 0&&(C||!existsSyncSafe(S)))return{start:n.start,end:n.end,replacement:`(() => { const _r = (id) => { throw new Error("[gjsify] createRequire stub: '" + id + "' was not bundled (anchor path: " + ${jsStringLiteral(S)} + ")"); }; _r.resolve = _r; _r.cache = {}; _r.extensions = {}; _r.main = void 0; return _r; })()`}}}function tryInlineReadFile(n,a,S){if(n.arguments.length<1)return;let C=evalPathExpr(n.arguments[0],a);if(!C||!existsSyncSafe(C)||isDirectorySafe(C))return;let N;if(S)N=`utf8`;else if(n.arguments.length>=2&&(N=evalEncodingExpr(n.arguments[1]),N===void 0))return;try{if(N)return jsStringLiteral(readFileSync(C,N));{let n=readFileSync(C);return`new Uint8Array([${Array.from(n).join(`,`)}])`}}catch{return}}function evalPathExpr(n,a){let S=evalExpr(n,a);if(S instanceof URL)return S.protocol===`file:`?fileURLToPath(S):void 0;if(typeof S==`string`){if(S.startsWith(`file://`))return fileURLToPath(S);if(S.startsWith(`/`))return S}}function evalExpr(n,a){if(n)switch(n.type){case`Literal`:return typeof n.value==`string`?n.value:void 0;case`TemplateLiteral`:{let a=n;return a.expressions.length>0?void 0:a.quasis.map(n=>n.value.cooked??``).join(``)}case`BinaryExpression`:{let S=n;if(S.operator!==`+`)return;let C=evalExpr(S.left,a),N=evalExpr(S.right,a);return typeof C!=`string`||typeof N!=`string`?void 0:C+N}case`Identifier`:{let S=n;return S.name===`__dirname`?fileURLToPath(new URL(`.`,a.sourceUrl)):S.name===`__filename`?fileURLToPath(a.sourceUrl):void 0}case`MemberExpression`:{let S=n;if(S.object.type===`MetaProperty`&&S.object.meta.name===`import`&&S.object.property.name===`meta`&&S.property.type===`Identifier`&&S.property.name===`url`)return a.sourceUrl;if(!S.computed&&S.property.type===`Identifier`){let n=evalExpr(S.object,a),C=S.property.name;if(n instanceof URL){if(C===`href`)return n.href;if(C===`pathname`)return n.pathname}if(typeof n==`string`){if(C===`href`)return n;if(C===`pathname`)try{return new URL(n).pathname}catch{return}}}return}case`NewExpression`:{let S=n;if(identifierName(S.callee)===`URL`){if(S.arguments.length===0)return;let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(S.arguments.length===1)try{return new URL(n)}catch{return}let C=evalExpr(S.arguments[1],a),N=C instanceof URL?C.href:typeof C==`string`?C:void 0;if(!N)return;try{return new URL(n,N)}catch{return}}return}case`CallExpression`:{let S=n,C=identifierName(S.callee);if(C===`fileURLToPath`){let n=evalExpr(S.arguments[0],a),C=n instanceof URL?n.href:typeof n==`string`?n:void 0;if(!C)return;try{return fileURLToPath(C)}catch{return}}if(C===`pathToFileURL`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;try{return pathToFileURL(n)}catch{return}}if(C===`join`||C===`resolve`){let n=[];for(let C of S.arguments){let S=evalExpr(C,a);if(typeof S!=`string`)return;n.push(S)}return C===`join`?ns(...n):$o(...n)}if(C===`dirname`||C===`basename`||C===`extname`){let n=evalExpr(S.arguments[0],a);if(typeof n!=`string`)return;if(C===`dirname`)return as(n);if(C===`basename`){let C=S.arguments.length>=2?evalExpr(S.arguments[1],a):void 0;return os(n,typeof C==`string`?C:void 0)}if(C===`extname`)return ss(n)}if(C===`relative`){let n=evalExpr(S.arguments[0],a),C=evalExpr(S.arguments[1],a);return typeof n!=`string`||typeof C!=`string`?void 0:rs(n,C)}return}}}function evalEncodingExpr(n){if(n){if(n.type===`Literal`){let a=n.value;return typeof a==`string`?canonicalEncoding(a):void 0}if(n.type===`ObjectExpression`){for(let a of n.properties)if(!(a.type!==`Property`||a.computed)&&(a.key.type===`Identifier`?a.key.name:a.key.type===`Literal`?String(a.key.value):void 0)===`encoding`)return a.value.type===`Literal`&&typeof a.value.value==`string`?canonicalEncoding(a.value.value):void 0}}}function hasWithFileTypes(n){if(!n||n.type!==`ObjectExpression`)return!1;for(let a of n.properties)if(!(a.type!==`Property`||a.computed)&&(a.key.type===`Identifier`?a.key.name:a.key.type===`Literal`?String(a.key.value):void 0)===`withFileTypes`)return a.value.type===`Literal`&&a.value.value===!0;return!1}function canonicalEncoding(n){let a=n.toLowerCase();if(a===`utf8`||a===`utf-8`)return`utf8`;if(a===`ascii`)return`ascii`;if(a===`latin1`||a===`binary`)return`latin1`}function identifierName(n){if(n){if(n.type===`Identifier`)return n.name;if(n.type===`MemberExpression`&&!n.computed){let a=n;if(a.property.type!==`Identifier`||a.object.type!==`Identifier`)return;let S=a.object.name;return Kb.has(S)?a.property.name:void 0}}}function jsLiteral(n){if(typeof n==`string`)return jsStringLiteral(n);if(typeof n==`number`)return Number.isFinite(n)?String(n):`null`;if(typeof n==`boolean`)return n?`true`:`false`;if(n===null)return`null`;if(Array.isArray(n))return`[`+n.map(jsLiteral).join(`,`)+`]`;if(typeof n==`object`){let a=[];for(let[S,C]of Object.entries(n))a.push(`${jsStringLiteral(S)}:${jsLiteral(C)}`);return`{`+a.join(`,`)+`}`}return`undefined`}function jsStringLiteral(n){return JSON.stringify(n)}function existsSyncSafe(n){try{return existsSync(n)}catch{return!1}}function isDirectorySafe(n){try{return statSync(n).isDirectory()}catch{return!1}}var Kb,qb=__esmMin(()=>{kb(),jb(),ps(),mn(),Zc(),Kb=new Set([`path`,`fs`])}),Jb=__esmMin(()=>{l_(),Nv(),Pv(),zg(),Fv(),Vb(),Gb(),qb()});function aliasPlugin(n){let a=n.entries;return{name:`gjsify-alias`,resolveId:{order:`pre`,async handler(n,S,C){if(!Object.prototype.hasOwnProperty.call(a,n))return null;let N=a[n];if(N===n)return null;let F=await this.resolve(N,S,{skipSelf:!0,kind:C?.kind});return F===null?null:F}}}}var Yb=__esmMin(()=>{});function externalsPlugin(n,a){return{name:a?.name??`gjsify-externalize`,resolveId(a,S,C){return S===void 0||C?.isEntry?null:n(a)?{id:a,external:!0}:null}}}var Xb=__esmMin(()=>{});function ensureNodeFactory(n){return`factory`in n&&n.factory!=null?normalizeNodeFactory(n.factory):`updateSourceFileNode`in n?createNodeFactory(n):normalizeNodeFactory(n)}function splitDecoratorsAndModifiers(n){let a=n?.filter(n=>`expression`in n)??[],S=n?.filter(n=>!(`expression`in n))??[];return[a==null||a.length<1?void 0:a,S==null||S.length<1?void 0:S]}function normalizeNodeFactory(n){if(n.__compatUpgraded)return n;let a=!1;try{a=n.createImportEqualsDeclaration([],!1,``,n.createIdentifier(``)).decorators!=null}catch{a=n.createImportEqualsDeclaration([],[],!1,``,n.createIdentifier(``)).decorators!=null}let S=a&&n.createImportEqualsDeclaration.length===4,C=a&&n.createImportSpecifier.length===2,N=a&&n.createExportSpecifier.length===2,F=a&&n.createImportTypeNode.length<5,I=a&&n.createMappedTypeNode.length===4,H=a&&n.createMappedTypeNode.length===5,W=a&&n.createTypeParameterDeclaration.length===3,K=n.createSatisfiesExpression==null,q=n.createClassStaticBlockDeclaration==null,Y=n.createUniquePrivateName==null,X=n.getGeneratedPrivateNameForNode==null,te=n.createPrivateIdentifier==null,ne=n.createAssertClause==null,re=n.createAssertEntry==null,ie=n.createImportTypeAssertionContainer==null,ae=n.createJSDocMemberName==null,oe=n.createJSDocLinkCode==null,Z=n.createJSDocLinkPlain==null;if(S||C||N||F||I||H||W||K||q||Y||X||te||ne||re||ie||a){let se=`original`in n.updateBlock(n.createBlock([]),[]),setOriginalNode=(n,a)=>(n.original=a,n),setTextRangeEnd=(n,a)=>(n.end=a,n),setTextRangePos=(n,a)=>(n.pos=a,n),setTextRangePosEnd=(n,a,S)=>setTextRangeEnd(setTextRangePos(n,a),S),setTextRange=(n,a)=>a==null?n:setTextRangePosEnd(n,a.pos,a.end),updateWithoutOriginal=(n,a)=>(n!==a&&setTextRange(n,a),n),updateWithOriginal=(n,a)=>(n!==a&&(setOriginalNode(n,a),setTextRange(n,a)),n),ce=se?updateWithOriginal:updateWithoutOriginal,le=te?function(a){return n.createIdentifier(a)}:n.createPrivateIdentifier;return{__compatUpgraded:!0,...n,createPrivateIdentifier:le,...S?(()=>{function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?C:N,q=I?N:F;return n.createImportEqualsDeclaration(H,W,K,q)}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?N:F,Y=H?F:I;return n.updateImportEqualsDeclaration(a,W,K,q,Y)}return{createImportEqualsDeclaration,updateImportEqualsDeclaration}})():{},...C?{createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)}}:{},...N?{createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)}}:{},...F?(()=>{function createImportTypeNode(a,S,C,N,F){return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F)}function updateImportTypeNode(a,S,C,N,F,I){return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I)}return{createImportTypeNode,updateImportTypeNode}})():{},...I?{createMappedTypeNode(a,S,C,N,F){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I){return n.updateMappedTypeNode(a,S,C,F,I)}}:{},...H?{createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,C,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,N,F,I)}}:{},...W?(()=>{function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}return{createTypeParameterDeclaration,updateTypeParameterDeclaration}})():{},...K?(()=>{function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(n,a,S){return a===n.expression&&S===n.type?n:ce(createSatisfiesExpression(a,S),n)}return{createSatisfiesExpression,updateSatisfiesExpression}})():{},...Y?(()=>{function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return le(n??``)}return{createUniquePrivateName}})():{},...X?(()=>{function getGeneratedPrivateNameForNode(n){return le(``)}return{getGeneratedPrivateNameForNode}})():{},...q?(()=>{function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length>=3?C:a,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(n,a,S,C){let N=arguments.length>=4?C:a;return N===n.body?n:ce(createClassStaticBlockDeclaration(N),n)}return{createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration}})():{},...ne?(()=>{function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function updateAssertClause(n,a,S){return n.elements!==a||n.multiLine!==S?ce(createAssertClause(a,S),n):n}return{createAssertClause,updateAssertClause}})():{},...re?(()=>{function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function updateAssertEntry(n,a,S){return n.name!==a||n.value!==S?ce(createAssertEntry(a,S),n):n}return{createAssertEntry,updateAssertEntry}})():{},...ie?(()=>{function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function updateImportTypeAssertionContainer(n,a,S){return n.assertClause!==a||n.multiLine!==S?ce(createImportTypeAssertionContainer(a,S),n):n}return{createImportTypeAssertionContainer,updateImportTypeAssertionContainer}})():{},...ae?(()=>{function createJSDocMemberName(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.left=a,N.right=S,N}function updateJSDocMemberName(n,a,S){return a===n.left&&S===n.right?n:ce(createJSDocMemberName(a,S),n)}return{createJSDocMemberName,updateJSDocMemberName}})():{},...oe?(()=>{function createJSDocLinkCode(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkCode(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkCode(a,S),n)}return{createJSDocLinkCode,updateJSDocLinkCode}})():{},...Z?(()=>{function createJSDocLinkPlain(a,S){let C=n.createJSDocComment(void 0,void 0);delete C.comment,delete C.tags;let N=C;return N.name=a,N.text=S,N}function updateJSDocLinkPlain(n,a,S){return a===n.name&&S===n.text?n:ce(createJSDocLinkPlain(a,S),n)}return{createJSDocLinkPlain,updateJSDocLinkPlain}})():{},...a?(()=>{function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameterDeclaration(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameterDeclaration(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createPropertyDeclaration(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updatePropertyDeclaration(a,K,q,Y,X,te,ne)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethodDeclaration(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=typeof N==`string`||N!=null&&N.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethodDeclaration(a,X,te,ne,re,ie,ae,oe,Z,se)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructorDeclaration(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructorDeclaration(a,H,W,K,q)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessorDeclaration(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessorDeclaration(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessorDeclaration(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessorDeclaration(a,W,K,q,Y,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C;if(q){let a=n.createEmptyStatement();return a.body=N,a.transformFlags=8388608,a}else return n.createClassStaticBlockDeclaration(void 0,void 0,N)}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return q?F===a.body?a:ce(createClassStaticBlockDeclaration(F),a):n.updateClassStaticBlockDeclaration(a,void 0,void 0,F)}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassExpression(W,K,q,Y,X,te)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te,ne)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createImportEqualsDeclaration(a,C,N,F,I){let H=arguments.length<=4,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:C,q=(H?C:N)??!1,Y=H?N:F,X=H?F:I;return S?n.createImportEqualsDeclaration(W,K,Y,X):n.createImportEqualsDeclaration(W,K,q,Y,X)}function updateImportEqualsDeclaration(a,C,N,F,I,H){let W=arguments.length<=5,K=W?splitDecoratorsAndModifiers(C)[0]:C,q=W?splitDecoratorsAndModifiers(C)[1]:N,Y=W?N:F,X=W?F:I,te=W?I:H;return S?n.updateImportEqualsDeclaration(a,K,q,X,te):n.updateImportEqualsDeclaration(a,K,q,Y,X,te)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createExportDeclaration(a,S,C,N,F,I){let H=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createExportDeclaration(W,K,q,Y,X,te)}function updateExportDeclaration(a,S,C,N,F,I,H){let W=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateExportDeclaration(a,K,q,Y,X,te,ne)}return{createParameterDeclaration,updateParameterDeclaration,createPropertyDeclaration,updatePropertyDeclaration,createMethodDeclaration,updateMethodDeclaration,createConstructorDeclaration,updateConstructorDeclaration,createGetAccessorDeclaration,updateGetAccessorDeclaration,createSetAccessorDeclaration,updateSetAccessorDeclaration,createIndexSignature,updateIndexSignature,createClassStaticBlockDeclaration,updateClassStaticBlockDeclaration,createClassExpression,updateClassExpression,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createTypeAliasDeclaration,updateTypeAliasDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createImportEqualsDeclaration,updateImportEqualsDeclaration,createImportDeclaration,updateImportDeclaration,createExportAssignment,updateExportAssignment,createExportDeclaration,updateExportDeclaration}})():{}}}return n}function createNodeFactory(n){function createToken(a){return n.createToken(a)}function createConstructorTypeNode(a,S,C,N){return arguments.length>=4?n.createConstructorTypeNode(S,C,N):n.createConstructorTypeNode(a,S,C)}function updateConstructorTypeNode(a,S,C,N,F){return arguments.length>=5?n.updateConstructorTypeNode(a,C,N,F):n.updateConstructorTypeNode(a,S,C,N)}function createNamedTupleMember(a,S,C,N){let F=n.createNode(n.SyntaxKind.NamedTupleMember??n.SyntaxKind.TupleType);return F.dotDotDotToken=a,F.name=S,F.questionToken=C,F.type=N,F.transformFlags=1,F}function createJSDocComment(a,S){if(`createJSDocComment`in n)return n.createJSDocComment(a,S);let C=n.createNode(n.SyntaxKind.JSDocComment);return C.comment=a,C.tags=n.createNodeArray(S),C}function createJSDocParameterTag(a,S,C,N,F,I){if(`createJSDocParameterTag`in n)return n.createJSDocParameterTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocParameterTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocPrivateTag(a,S){if(`createJSDocPrivateTag`in n)return n.createJSDocPrivateTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPrivateTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocAugmentsTag(a,S,C){if(`createJSDocAugmentsTag`in n)return n.createJSDocAugmentsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocAugmentsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocDeprecatedTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocDeprecatedTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocFunctionType(a,S){let C=n.createNode(n.SyntaxKind.JSDocFunctionType??n.SyntaxKind.JSDocComment);return C.parameters=n.createNodeArray(a),C.type=S,C}function createJSDocLink(a,S){let C=n.createNode(n.SyntaxKind.JSDocLink??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocNameReference(a){let S=n.createNode(n.SyntaxKind.JSDocNameReference??n.SyntaxKind.JSDocComment);return S.name=a,S}function createJSDocNamepathType(a){let S=n.createNode(n.SyntaxKind.JSDocNamepathType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNonNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNonNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocNullableType(a){let S=n.createNode(n.SyntaxKind.JSDocNullableType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOptionalType(a){let S=n.createNode(n.SyntaxKind.JSDocOptionalType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocOverrideTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocOverrideTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocSeeTag(a,S,C){let N=n.createNode(n.SyntaxKind.JSDocSeeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.name=S,N.comment=C,N}function createJSDocText(a){let S=n.createNode(n.SyntaxKind.JSDocText??n.SyntaxKind.JSDocComment);return S.text=a,S}function createJSDocUnknownTag(a,S){let C=n.createNode(n.SyntaxKind.JSDocTag??n.SyntaxKind.JSDocComment);return C.tagName=a,C.comment=S,C}function createJSDocUnknownType(){return n.createNode(n.SyntaxKind.JSDocUnknownType??n.SyntaxKind.JSDocComment)}function createJSDocVariadicType(a){let S=n.createNode(n.SyntaxKind.JSDocVariadicType??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocAllType(){return n.createNode(n.SyntaxKind.JSDocAllType??n.SyntaxKind.JSDocComment)}function createTemplateLiteralType(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralType??n.SyntaxKind.StringLiteral);return C.head=a,C.templateSpans=n.createNodeArray(S),C.transformFlags=1,C}function createTemplateLiteralTypeSpan(a,S){let C=n.createNode(n.SyntaxKind.TemplateLiteralTypeSpan??n.SyntaxKind.StringLiteral);return C.type=a,C.literal=S,C.transformFlags=1,C}function createJSDocAuthorTag(a,S){if(`createJSDocAuthorTag`in n)return n.createJSDocAuthorTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocAuthorTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocCallbackTag(a,S,C,N){if(`createJSDocCallbackTag`in n)return n.createJSDocCallbackTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocCallbackTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocClassTag(a,S){if(`createJSDocClassTag`in n)return n.createJSDocClassTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocClassTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocEnumTag(a,S,C){if(`createJSDocEnumTag`in n)return n.createJSDocEnumTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocEnumTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocImplementsTag(a,S,C){if(`createJSDocImplementsTag`in n)return n.createJSDocImplementsTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocImplementsTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.class=S,N.comment=C,N}function createJSDocPropertyTag(a,S,C,N,F,I){if(`createJSDocPropertyTag`in n)return n.createJSDocPropertyTag(a,S,C,N,F,I);let H=n.createNode(n.SyntaxKind.JSDocPropertyTag??n.SyntaxKind.JSDocComment);return a!=null&&(H.tagName=a),H.name=S,H.isBracketed=C,H.typeExpression=N,F!=null&&(H.isNameFirst=F),H.comment=I,H}function createJSDocProtectedTag(a,S){if(`createJSDocProtectedTag`in n)return n.createJSDocProtectedTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocProtectedTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocPublicTag(a,S){if(`createJSDocPublicTag`in n)return n.createJSDocPublicTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocPublicTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReadonlyTag(a,S){if(`createJSDocReadonlyTag`in n)return n.createJSDocReadonlyTag(a,S);let C=n.createNode(n.SyntaxKind.JSDocReadonlyTag??n.SyntaxKind.JSDocComment);return a!=null&&(C.tagName=a),C.comment=S,C}function createJSDocReturnTag(a,S,C){if(`createJSDocReturnTag`in n)return n.createJSDocReturnTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocReturnTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocSignature(a,S,C){if(`createJSDocSignature`in n)return n.createJSDocSignature(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocSignature??n.SyntaxKind.JSDocComment);return N.typeParameters=a,N.parameters=S,N.type=C,N}function createJSDocTemplateTag(a,S,C,N){if(`createJSDocTemplateTag`in n)return n.createJSDocTemplateTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTemplateTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.constraint=S,F.typeParameters=n.createNodeArray(C),F.comment=N,F}function createJSDocThisTag(a,S,C){if(`createJSDocThisTag`in n)return n.createJSDocThisTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocThisTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypeExpression(a){if(`createJSDocTypeExpression`in n)return n.createJSDocTypeExpression(a);let S=n.createNode(n.SyntaxKind.JSDocTypeExpression??n.SyntaxKind.JSDocComment);return S.type=a,S}function createJSDocTypeLiteral(a,S){if(`createJSDocTypeLiteral`in n)return n.createJSDocTypeLiteral(a,S);let C=n.createNode(n.SyntaxKind.JSDocTypeLiteral??n.SyntaxKind.JSDocComment);return C.jsDocPropertyTags=a,S!=null&&(C.isArrayType=S),C}function createJSDocTypeTag(a,S,C){if(`createJSDocTypeTag`in n)return n.createJSDocTypeTag(a,S,C);let N=n.createNode(n.SyntaxKind.JSDocTypeTag??n.SyntaxKind.JSDocComment);return a!=null&&(N.tagName=a),N.typeExpression=S,N.comment=C,N}function createJSDocTypedefTag(a,S,C,N){if(`createJSDocTypedefTag`in n)return n.createJSDocTypedefTag(a,S,C,N);let F=n.createNode(n.SyntaxKind.JSDocTypedefTag??n.SyntaxKind.JSDocComment);return a!=null&&(F.tagName=a),F.typeExpression=S,F.fullName=C,F.comment=N,F}function createJSDocMemberName(a,S){let C=n.createNode(n.SyntaxKind.JSDocMemberName??n.SyntaxKind.JSDocComment);return C.left=a,C.right=S,C}function createJSDocLinkCode(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkCode??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createJSDocLinkPlain(a,S){let C=n.createNode(n.SyntaxKind.JSDocLinkPlain??n.SyntaxKind.JSDocComment);return C.name=a,C.text=S,C}function createClassStaticBlockDeclaration(a,S,C){let N=arguments.length<=1?a:C,F=n.createEmptyStatement();return F.body=N,F.transformFlags=8388608,F}function updateClassStaticBlockDeclaration(a,S,C,N){let F=arguments.length<=2?S:N;return F===a.body?a:n.setTextRange(createClassStaticBlockDeclaration(F),a)}function createSatisfiesExpression(n,a){return{...n}}function updateSatisfiesExpression(a,S,C){return S===a.expression&&C===a.type?a:n.setTextRange(createSatisfiesExpression(S,C),a)}function createAssertClause(a,S){let C=n.createEmptyStatement();return C.elements=a,C.multiLine=S,C.transformFlags|=4,C}function createAssertEntry(a,S){let C=n.createEmptyStatement();return C.name=a,C.value=S,C.transformFlags|=4,C}function createImportTypeAssertionContainer(a,S){let C=n.createEmptyStatement();return C.assertClause=a,C.multiLine=S,C}function createImportTypeNode(a,S,C,N,F){if(`createImportTypeNode`in n)return arguments.length<5?n.createImportTypeNode(a,S,C,N):n.createImportTypeNode(a,C,N,F);{let I=S&&`assertClause`in S?S:void 0,H=S&&n.isEntityName(S)?S:C&&!Array.isArray(C)?C:void 0,W=Array.isArray(C)?C:Array.isArray(N)?N:void 0;F=typeof N==`boolean`?N:typeof F==`boolean`?F:!1;let K=n.createNode(200);return K.argument=a,K.assertions=I,K.qualifier=H,K.typeArguments=W==null?void 0:n.createNodeArray(W),K.isTypeOf=F,K.transformFlags=1,K}}function updateImportTypeNode(a,S,C,N,F,I){if(`updateImportTypeNode`in n)return arguments.length<6?n.updateImportTypeNode(a,S,C,N,F):n.updateImportTypeNode(a,S,N,F,I);{let H=C&&`assertClause`in C?C:void 0,W=C&&n.isEntityName(C)?C:N&&!Array.isArray(N)?N:void 0,K=Array.isArray(N)?N:Array.isArray(F)?F:void 0;return I=typeof F==`boolean`?F:typeof I==`boolean`?I:a.isTypeOf,a.argument!==S||a.assertions!==H||a.qualifier!==W||a.typeArguments!==K||a.isTypeOf!==I?n.setTextRange(createImportTypeNode(S,C,N,F,I),a):a}}function createClassExpression(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[1]:S,K=H?S:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.createClassExpression(W,K,q,Y,X)}function updateClassExpression(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[1]:C,q=W?C:N,Y=W?N:F,X=W?F:I,te=W?I:H;return n.updateClassExpression(a,K,q,Y,X,te)}function createExportDeclaration(a,S,C,N,F){let I=!(typeof S!=`boolean`&&(arguments.length>=6||Array.isArray(S))),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createExportDeclaration(H,W,q,Y,K)}function updateExportDeclaration(a,S,C,N,F,I){let H=!(typeof C!=`boolean`&&(arguments.length>=7||Array.isArray(C))),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateExportDeclaration(a,W,K,Y,X,q)}function createConstructorDeclaration(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createConstructor(I,H,W,K)}function updateConstructorDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateConstructor(a,H,W,K,q)}function createMethodDeclaration(a,S,C,N,F,I,H,W,K){let q=typeof C==`string`||C!=null&&C.kind!==41,Y=q?splitDecoratorsAndModifiers(a)[0]:a,X=q?splitDecoratorsAndModifiers(a)[1]:S,te=q?S:C,ne=q?C:N,re=q?N:F,ie=q?F:I,ae=q?I:H,oe=q?H:W,Z=q?W:K;return n.createMethod(Y,X,te,ne,re,ie,ae,oe,Z)}function updateMethodDeclaration(a,S,C,N,F,I,H,W,K,q){let Y=N?.kind!==41,X=Y?splitDecoratorsAndModifiers(S)[0]:S,te=Y?splitDecoratorsAndModifiers(S)[1]:C,ne=Y?C:N,re=Y?N:F,ie=Y?F:I,ae=Y?I:H,oe=Y?H:W,Z=Y?W:K,se=Y?K:q;return n.updateMethod(a,X,te,ne,re,ie,ae,oe,Z,se)}function createParameterDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&C.kind!==25,K=W?splitDecoratorsAndModifiers(a)[0]:a,q=W?splitDecoratorsAndModifiers(a)[1]:S,Y=W?S:C,X=W?C:N,te=W?N:F,ne=W?F:I,re=W?I:H;return n.createParameter(K,q,Y,X,te,ne,re)}function updateParameterDeclaration(a,S,C,N,F,I,H,W){let K=typeof N==`string`||N!=null&&N.kind!==25,q=K?splitDecoratorsAndModifiers(S)[0]:S,Y=K?splitDecoratorsAndModifiers(S)[1]:C,X=K?C:N,te=K?N:F,ne=K?F:I,re=K?I:H,ie=K?H:W;return n.updateParameter(a,q,Y,X,te,ne,re,ie)}function createPropertyDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createProperty(W,K,q,Y,X,te)}function updatePropertyDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateProperty(a,K,q,Y,X,te,ne)}function createSetAccessorDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createSetAccessor(H,W,K,q,Y)}function updateSetAccessorDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C),W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateSetAccessor(a,W,K,q,Y,X)}function createGetAccessorDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S),W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createGetAccessor(W,K,q,Y,X,te)}function updateGetAccessorDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C),K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateGetAccessor(a,K,q,Y,X,te,ne)}function createImportEqualsDeclaration(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;if(n.createImportEqualsDeclaration.length===4)return n.createImportEqualsDeclaration(H,W,q,Y);{let a=typeof q==`string`?n.createIdentifier(q):q;return n.createImportEqualsDeclaration(H,W,K,a,Y)}}function updateImportEqualsDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I,te=typeof Y==`string`?n.createIdentifier(Y):Y;return n.updateImportEqualsDeclaration.length===5?n.updateImportEqualsDeclaration(a,W,K,te,X):n.updateImportEqualsDeclaration(a,W,K,q,te,X)}function createIndexSignature(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createIndexSignature(I,H,W,K)}function updateIndexSignature(a,S,C,N,F){let I=arguments.length<=4,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateIndexSignature(a,H,W,K,q)}function createImportDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createImportDeclaration(H,W,K,q,Y)}function updateImportDeclaration(a,S,C,N,F,I){let H=N!=null&&N.kind!==267,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateImportDeclaration(a,W,K,q,Y,X)}let a=n.createPrivateIdentifier??function(a){return n.createIdentifier(a)};function createUniquePrivateName(n){if(n!=null&&!n.startsWith(`#`))throw TypeError(`First character of private identifier must be #: `+n);return a(n??``)}function getGeneratedPrivateNameForNode(n){return a(``)}function createTypeAliasDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createTypeAliasDeclaration(H,W,K,q,Y)}function updateTypeAliasDeclaration(a,S,C,N,F,I){let H=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,W=H?splitDecoratorsAndModifiers(S)[0]:S,K=H?splitDecoratorsAndModifiers(S)[1]:C,q=H?C:N,Y=H?N:F,X=H?F:I;return n.updateTypeAliasDeclaration(a,W,K,q,Y,X)}function createFunctionDeclaration(a,S,C,N,F,I,H,W){let K=arguments.length<=7,q=K?splitDecoratorsAndModifiers(a)[0]:a,Y=K?splitDecoratorsAndModifiers(a)[1]:S,X=K?S:C,te=K?C:N,ne=K?N:F,re=K?F:I,ie=K?I:H,ae=K?H:W;return n.createFunctionDeclaration(q,Y,X,te,ne,re,ie,ae)}function updateFunctionDeclaration(a,S,C,N,F,I,H,W,K){let q=arguments.length<=8,Y=q?splitDecoratorsAndModifiers(S)[0]:S,X=q?splitDecoratorsAndModifiers(S)[1]:C,te=q?C:N,ne=q?N:F,re=q?F:I,ie=q?I:H,ae=q?H:W,oe=q?W:K;return n.updateFunctionDeclaration(a,Y,X,te,ne,re,ie,ae,oe)}function createClassDeclaration(a,S,C,N,F,I){let H=arguments.length<=5,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createClassDeclaration(W,K,q,Y,X,te)}function updateClassDeclaration(a,S,C,N,F,I,H){let W=arguments.length<=6,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateClassDeclaration(a,K,q,Y,X,te,ne)}function createInterfaceDeclaration(a,S,C,N,F,I){let H=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,W=H?splitDecoratorsAndModifiers(a)[0]:a,K=H?splitDecoratorsAndModifiers(a)[1]:S,q=H?S:C,Y=H?C:N,X=H?N:F,te=H?F:I;return n.createInterfaceDeclaration(W,K,q,Y,X,te)}function updateInterfaceDeclaration(a,S,C,N,F,I,H){let W=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,K=W?splitDecoratorsAndModifiers(S)[0]:S,q=W?splitDecoratorsAndModifiers(S)[1]:C,Y=W?C:N,X=W?N:F,te=W?F:I,ne=W?I:H;return n.updateInterfaceDeclaration(a,K,q,Y,X,te,ne)}function createEnumDeclaration(a,S,C,N){let F=typeof S==`string`||S!=null&&!Array.isArray(S)&&`escapedText`in S,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createEnumDeclaration(I,H,W,K)}function updateEnumDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&`escapedText`in C,H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateEnumDeclaration(a,H,W,K,q)}function createModuleDeclaration(a,S,C,N,F){let I=typeof S==`string`||S!=null&&!Array.isArray(S)&&(`escapedText`in S||`_literalExpressionBrand`in S),H=I?splitDecoratorsAndModifiers(a)[0]:a,W=I?splitDecoratorsAndModifiers(a)[1]:S,K=I?S:C,q=I?C:N,Y=I?N:F;return n.createModuleDeclaration(H,W,K,q,Y)}function updateModuleDeclaration(a,S,C,N,F){let I=typeof C==`string`||C!=null&&!Array.isArray(C)&&(`escapedText`in C||`_literalExpressionBrand`in C),H=I?splitDecoratorsAndModifiers(S)[0]:S,W=I?splitDecoratorsAndModifiers(S)[1]:C,K=I?C:N,q=I?N:F;return n.updateModuleDeclaration(a,H,W,K,q)}function createExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(a)[0]:a,H=F?splitDecoratorsAndModifiers(a)[1]:S,W=F?S:C,K=F?C:N;return n.createExportAssignment(I,H,W,K)}function updateExportAssignment(a,S,C,N){let F=arguments.length<=3,I=F?splitDecoratorsAndModifiers(S)[0]:S,H=F?splitDecoratorsAndModifiers(S)[1]:C,W=F?C:N;return n.updateExportAssignment(a,I,H,W)}function createTypeParameterDeclaration(a,S,C,N){let F=typeof a==`string`||a!=null&&!Array.isArray(a)&&`escapedText`in a,I=F?void 0:a,H=F?a:S,W=F?S:C,K=F?C:N,q=n.createTypeParameterDeclaration(H,W,K);return I!=null&&(q.modifiers=n.createNodeArray(I)),q}function updateTypeParameterDeclaration(a,S,C,N,F){let I=S!=null&&!Array.isArray(S)&&`escapedText`in S,H=I?void 0:S,W=I?S:C,K=I?C:N,q=I?N:F,Y=n.updateTypeParameterDeclaration(a,W,K,q);return H!=null&&(Y.modifiers=n.createNodeArray(H)),Y}let{updateSourceFileNode:S,...C}=n;return{__compatUpgraded:!0,...C,createToken,createConstructorTypeNode,updateConstructorTypeNode,createImportTypeNode,updateImportTypeNode,createJSDocComment,createJSDocParameterTag,createJSDocPrivateTag,createJSDocAugmentsTag,createJSDocAuthorTag,createJSDocCallbackTag,createJSDocClassTag,createJSDocEnumTag,createJSDocImplementsTag,createJSDocPropertyTag,createJSDocProtectedTag,createJSDocPublicTag,createJSDocReadonlyTag,createJSDocReturnTag,createJSDocSignature,createJSDocTemplateTag,createJSDocThisTag,createJSDocTypeExpression,createJSDocTypeLiteral,createJSDocTypeTag,createJSDocTypedefTag,createJSDocAllType,createJSDocDeprecatedTag,createJSDocFunctionType,createJSDocLink,createJSDocNameReference,createJSDocNamepathType,createJSDocNonNullableType,createJSDocNullableType,createJSDocOptionalType,createJSDocOverrideTag,createJSDocSeeTag,createJSDocText,createJSDocUnknownTag,createJSDocUnknownType,createJSDocVariadicType,createJSDocMemberName,createJSDocLinkCode,createJSDocLinkPlain,createTemplateLiteralType,createTemplateLiteralTypeSpan,createClassStaticBlockDeclaration,createAssertClause,createAssertEntry,createImportTypeAssertionContainer,createIndexSignature,updateIndexSignature,createSatisfiesExpression,updateSatisfiesExpression,createImportDeclaration,updateImportDeclaration,createUniquePrivateName,createPrivateIdentifier:a,getGeneratedPrivateNameForNode,createTypeAliasDeclaration,updateTypeAliasDeclaration,createFunctionDeclaration,updateFunctionDeclaration,createClassDeclaration,updateClassDeclaration,createInterfaceDeclaration,updateInterfaceDeclaration,createEnumDeclaration,updateEnumDeclaration,createModuleDeclaration,updateModuleDeclaration,createExportAssignment,updateExportAssignment,createTypeParameterDeclaration,updateTypeParameterDeclaration,createComma(a,S){return n.createComma(a,S)},createAssignment(a,S){return n.createAssignment(a,S)},createLessThan(a,S){return n.createLessThan(a,S)},createSourceFile(a,S,C){let N=n.createSourceFile(``,``,0,void 0,0);return N.endOfFileToken=S,N.flags|=C,N.statements=n.createNodeArray(a),N},createClassExpression,createExpressionWithTypeArguments(a,S){return n.createExpressionWithTypeArguments(S,a)},updateExpressionWithTypeArguments(a,S,C){return n.updateExpressionWithTypeArguments(a,C,S)},updateImportClause(a,S,C,N){return n.updateImportClause(a,C,N,S)},updateExportDeclaration,createTypePredicateNode(a,S,C){return n.createTypePredicateNode(S,C)},updateTypePredicateNode(a,S,C,N){return n.updateTypePredicateNode(a,C,N)},createMethodSignature(a,S,C,N,F,I){let H=n.createMethodSignature(N,F,I,S,C);return a!=null&&(H.modifiers=n.createNodeArray(a)),H},updateMethodSignature(a,S,C,N,F,I,H){let W=n.updateMethodSignature(a,F,I,H,C,N);return S!==W.modifiers&&(W.modifiers=S==null?S:n.createNodeArray(S)),W},updatePropertySignature(a,S,C,N,F){return n.updatePropertySignature(a,S,C,N,F,void 0)},createAwaitExpression(a){return n.createAwait(a)},createBinaryExpression(a,S,C){return n.createBinary(a,S,C)},createBitwiseAnd(a,S){return n.createBinary(a,n.SyntaxKind.AmpersandToken,S)},createBitwiseNot(a){return n.createPrefix(n.SyntaxKind.TildeToken,a)},createBitwiseOr(a,S){return n.createBinary(a,n.SyntaxKind.BarToken,S)},createBitwiseXor(a,S){return n.createBinary(a,n.SyntaxKind.CaretToken,S)},createBreakStatement(a){return n.createBreak(a)},createCommaListExpression(a){return n.createCommaList(a)},createConditionalExpression(a,S,C,N,F){return S==null||N==null?n.createConditional(a,C,F):n.createConditional(a,S,C,N,F)},createConstructorDeclaration,createContinueStatement(a){return n.createContinue(a)},createDeleteExpression(a){return n.createDelete(a)},createDivide(a,S){return n.createBinary(a,n.SyntaxKind.SlashToken,S)},createDoStatement(a,S){return n.createDo(a,S)},createElementAccessExpression(a,S){return n.createElementAccess(a,S)},createEquality(a,S){return n.createBinary(a,n.SyntaxKind.EqualsEqualsToken,S)},createExponent(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskAsteriskToken,S)},createForInStatement(a,S,C){return n.createForIn(a,S,C)},createForOfStatement(a,S,C,N){return n.createForOf(a,S,C,N)},createForStatement(a,S,C,N){return n.createFor(a,S,C,N)},createGreaterThan(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanToken,S)},createGreaterThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanEqualsToken,S)},createIfStatement(a,S,C){return n.createIf(a,S,C)},createInequality(a,S){return n.createBinary(a,n.SyntaxKind.ExclamationEqualsToken,S)},createLabeledStatement(a,S){return n.createLabel(a,S)},createLeftShift(a,S){return n.createBinary(a,n.SyntaxKind.LessThanLessThanToken,S)},createLessThanEquals(a,S){return n.createBinary(a,n.SyntaxKind.LessThanEqualsToken,S)},createMethodDeclaration,createModulo(a,S){return n.createBinary(a,n.SyntaxKind.PercentToken,S)},createMultiply(a,S){return n.createBinary(a,n.SyntaxKind.AsteriskToken,S)},createNamedTupleMember,createNewExpression(a,S,C){return n.createNew(a,S,C)},createParameterDeclaration,createParenthesizedExpression(a){return n.createParen(a)},createPostfixDecrement(a){return n.createPostfix(a,n.SyntaxKind.MinusMinusToken)},createPostfixUnaryExpression(a,S){return n.createPostfix(a,S)},createPrefixDecrement(a){return n.createPrefix(n.SyntaxKind.MinusMinusToken,a)},createPrefixIncrement(a){return n.createPrefix(n.SyntaxKind.PlusPlusToken,a)},createPrefixMinus(a){return n.createPrefix(n.SyntaxKind.MinusToken,a)},createPrefixPlus(a){return n.createPrefix(n.SyntaxKind.PlusToken,a)},createPrefixUnaryExpression(a,S){return n.createPrefix(a,S)},createPropertyDeclaration,createRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanToken,S)},createSetAccessorDeclaration,createSpreadElement(a){return n.createSpread(a)},createSwitchStatement(a,S){return n.createSwitch(a,S)},createTaggedTemplateExpression(a,S,C){return n.createTaggedTemplate(a,S,C)},createThrowStatement(a){return n.createThrow(a)},createTryStatement(a,S,C){return n.createTry(a,S,C)},createTypeOfExpression(a){return n.createTypeOf(a)},createUnsignedRightShift(a,S){return n.createBinary(a,n.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,S)},createVoidExpression(a){return n.createVoid(a)},createWhileStatement(a,S){return n.createWhile(a,S)},createWithStatement(a,S){return n.createWith(a,S)},createYieldExpression(a,S){return n.createYield(a,S)},restoreOuterExpressions(n,a,S){return a},updateAwaitExpression(a,S){return n.updateAwait(a,S)},updateBinaryExpression(a,S,C,N){return n.updateBinary(a,S,N,C)},updateBreakStatement(a,S){return n.updateBreak(a,S)},updateCommaListExpression(a,S){return n.updateCommaList(a,S)},updateConditionalExpression(a,S,C,N,F,I){return n.updateConditional(a,S,C,N,F,I)},updateContinueStatement(a,S){return n.updateContinue(a,S)},updateDeleteExpression(a,S){return n.updateDelete(a,S)},updateDoStatement(a,S,C){return n.updateDo(a,S,C)},updateElementAccessExpression(a,S,C){return n.updateElementAccess(a,S,C)},updateForInStatement(a,S,C,N){return n.updateForIn(a,S,C,N)},updateForOfStatement(a,S,C,N,F){return n.updateForOf(a,S,C,N,F)},updateForStatement(a,S,C,N,F){return n.updateFor(a,S,C,N,F)},updateIfStatement(a,S,C,N){return n.updateIf(a,S,C,N)},updateJSDocAugmentsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocAugmentsTag(S,C,N),a)},updateJSDocAuthorTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocAuthorTag(S,C),a)},updateJSDocCallbackTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocCallbackTag(S,C,N,F),a)},updateJSDocClassTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocClassTag(S,C),a)},updateJSDocComment(a,S,C){return S===a.comment&&C===a.tags?a:n.setTextRange(createJSDocComment(S,C),a)},updateJSDocDeprecatedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocDeprecatedTag(S,C),a)},updateJSDocEnumTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression?a:n.setTextRange(createJSDocEnumTag(S,C,N),a)},updateJSDocFunctionType(a,S,C){return S===a.parameters&&C===a.type?a:n.setTextRange(createJSDocFunctionType(S,C),a)},updateJSDocImplementsTag(a,S,C,N){return S===a.tagName&&C===a.class&&N===a.comment?a:n.setTextRange(createJSDocImplementsTag(S,C,N),a)},updateJSDocLink(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLink(S,C),a)},updateJSDocNameReference(a,S){return S===a.name?a:n.setTextRange(createJSDocNameReference(S),a)},updateJSDocNamepathType(a,S){return S===a.type?a:n.setTextRange(createJSDocNamepathType(S),a)},updateJSDocNonNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNonNullableType(S),a)},updateJSDocNullableType(a,S){return S===a.type?a:n.setTextRange(createJSDocNullableType(S),a)},updateJSDocOptionalType(a,S){return S===a.type?a:n.setTextRange(createJSDocOptionalType(S),a)},updateJSDocOverrideTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocOverrideTag(S,C),a)},updateJSDocParameterTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocParameterTag(S,C,N,F,I,H),a)},updateJSDocPrivateTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPrivateTag(S,C),a)},updateJSDocPropertyTag(a,S,C,N,F,I,H){return S===a.tagName&&C===a.name&&N===a.isBracketed&&F===a.typeExpression&&I===a.isNameFirst&&H===a.comment?a:n.setTextRange(createJSDocPropertyTag(S,C,N,F,I,H),a)},updateJSDocProtectedTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocProtectedTag(S,C),a)},updateJSDocPublicTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocPublicTag(S,C),a)},updateJSDocReadonlyTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocReadonlyTag(S,C),a)},updateJSDocReturnTag(a,S,C,N){return S===a.tagName&&N===a.comment&&C===a.typeExpression?a:n.setTextRange(createJSDocReturnTag(S,C,N),a)},updateJSDocSeeTag(a,S,C,N){return S===a.tagName&&C===a.name&&N===a.comment?a:n.setTextRange(createJSDocSeeTag(S,C,N),a)},updateJSDocSignature(a,S,C,N){return S===a.typeParameters&&C===a.parameters&&N===a.type?a:n.setTextRange(createJSDocSignature(S,C,N),a)},updateJSDocTemplateTag(a,S,C,N,F){return S===a.tagName&&C===a.constraint&&N===a.typeParameters&&F===a.comment?a:n.setTextRange(createJSDocTemplateTag(S,C,N,F),a)},updateJSDocText(a,S){return S===a.text?a:n.setTextRange(createJSDocText(S),a)},updateJSDocThisTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocThisTag(S,C,N),a)},updateJSDocTypeExpression(a,S){return S===a.type?a:n.setTextRange(createJSDocTypeExpression(S),a)},updateJSDocTypeLiteral(a,S,C){return S===a.jsDocPropertyTags&&C===a.isArrayType?a:n.setTextRange(createJSDocTypeLiteral(S,C),a)},updateJSDocTypeTag(a,S,C,N){return S===a.tagName&&C===a.typeExpression&&N===a.comment?a:n.setTextRange(createJSDocTypeTag(S,C,N),a)},updateJSDocTypedefTag(a,S,C,N,F){return S===a.tagName&&C===a.typeExpression&&N===a.fullName&&F===a.comment?a:n.setTextRange(createJSDocTypedefTag(S,C,N,F),a)},updateJSDocUnknownTag(a,S,C){return S===a.tagName&&C===a.comment?a:n.setTextRange(createJSDocUnknownTag(S,C),a)},updateJSDocVariadicType(a,S){return S===a.type?a:n.setTextRange(createJSDocVariadicType(S),a)},updateJSDocMemberName(a,S,C){return S===a.left&&C===a.right?a:n.setTextRange(createJSDocMemberName(S,C),a)},updateJSDocLinkCode(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkCode(S,C),a)},updateJSDocLinkPlain(a,S,C){return S===a.name&&C===a.text?a:n.setTextRange(createJSDocLinkPlain(S,C),a)},updateLabeledStatement(a,S,C){return n.updateLabel(a,S,C)},updateMethodDeclaration,updateNamedTupleMember(a,S,C,N,F){return S===a.dotDotDotToken&&C===a.name&&N===a.questionToken&&F===a.type?a:n.setTextRange(createNamedTupleMember(S,C,N,F),a)},updateNewExpression(a,S,C,N){return n.updateNew(a,S,C,N)},updateObjectLiteralExpression(a,S){return n.updateObjectLiteral(a,S)},updateParameterDeclaration,updateParenthesizedExpression(a,S){return n.updateParen(a,S)},updatePostfixUnaryExpression(a,S){return n.updatePostfix(a,S)},updatePrefixUnaryExpression(a,S){return n.updatePrefix(a,S)},updatePropertyAccessExpression(a,S,C){return n.updatePropertyAccess(a,S,C)},updatePropertyDeclaration,updateReturnStatement(a,S){return n.updateReturn(a,S)},updateSetAccessorDeclaration,updateSpreadElement(a,S){return n.updateSpread(a,S)},updateSwitchStatement(a,S,C){return n.updateSwitch(a,S,C)},updateTaggedTemplateExpression(a,S,C,N){return n.updateTaggedTemplate(a,S,C,N)},updateTemplateLiteralType(a,S,C){return S===a.head&&C===a.templateSpans?a:n.setTextRange(createTemplateLiteralType(S,C),a)},updateTemplateLiteralTypeSpan(a,S,C){return S===a.type&&C===a.literal?a:n.setTextRange(createTemplateLiteralTypeSpan(S,C),a)},updateClassStaticBlockDeclaration,updateAssertClause(a,S,C){return a.elements!==S||a.multiLine!==C?n.setTextRange(createAssertClause(S,C),a):a},updateAssertEntry(a,S,C){return a.name!==S||a.value!==C?n.setTextRange(createAssertEntry(S,C),a):a},updateImportTypeAssertionContainer(a,S,C){return a.assertClause!==S||a.multiLine!==C?n.setTextRange(createImportTypeAssertionContainer(S,C),a):a},updateThrowStatement(a,S){return n.updateThrow(a,S)},updateTryStatement(a,S,C,N){return n.updateTry(a,S,C,N)},updateTypeOfExpression(a,S){return n.updateTypeOf(a,S)},updateVoidExpression(a,S){return n.updateVoid(a,S)},updateWhileStatement(a,S,C){return n.updateWhile(a,S,C)},updateWithStatement(a,S,C){return n.updateWith(a,S,C)},updateYieldExpression(a,S,C){return n.updateYield(a,S,C)},createImportClause(a,S,C){return n.createImportClause(S,C,a)},createCallExpression(a,S,C){return n.createCall(a,S,C)},updateCallExpression(a,S,C,N){return n.updateCall(a,S,C,N)},createArrayLiteralExpression(a,S){return n.createArrayLiteral(a,S)},updateArrayLiteralExpression(a,S){return n.updateArrayLiteral(a,S)},updateSourceFile(a,S,C,N,F,I,H){return n.updateSourceFileNode(a,S,C,N,F,I,H)},updateClassExpression,createPropertyAccessExpression(a,S){return n.createPropertyAccess(a,S)},createGetAccessorDeclaration,updateGetAccessorDeclaration,createReturnStatement(a){return n.createReturn(a)},createObjectLiteralExpression(a,S){return n.createObjectLiteral(a,S)},createVariableDeclaration(a,S,C,N){return n.createVariableDeclaration.length===4?n.createVariableDeclaration(a,S,C,N):n.createVariableDeclaration(a,C,N)},updateVariableDeclaration(a,S,C,N,F){return n.updateVariableDeclaration.length===4?n.updateVariableDeclaration(a,S,N,F):n.updateVariableDeclaration(a,S,C,N,F)},createPropertyAccessChain(a,S,C){if(`createPropertyAccessChain`in n)return n.createPropertyAccessChain(a,S,C);let N=n.createPropertyAccess(a,C);return N.questionDotToken=S,N},updatePropertyAccessChain(a,S,C,N){if(`updatePropertyAccessChain`in n)return n.updatePropertyAccessChain(a,S,C,N);let F=n.updatePropertyAccess(a,S,N);return F.questionDotToken=C,F},createImportEqualsDeclaration,updateImportEqualsDeclaration,createMappedTypeNode(a,S,C,N,F,I){return n.createMappedTypeNode(a,S,N,F)},updateMappedTypeNode(a,S,C,N,F,I,H){return n.updateMappedTypeNode(a,S,C,F,I)},createImportSpecifier(a,S,C){return n.createImportSpecifier(S,C)},updateImportSpecifier(a,S,C,N){return n.updateImportSpecifier(a,C,N)},createExportSpecifier(a,S,C){return n.createExportSpecifier(S,C)},updateExportSpecifier(a,S,C,N){return n.updateExportSpecifier(a,C,N)},createExportDeclaration,updateConstructorDeclaration,createNumericLiteral(a,S){return n.createNumericLiteral(String(a),S)}}}var Zb=__esmMin(()=>{});function cloneIdentifier(n,a){let S=`text`in n?n.text:a.typescript.unescapeLeadingUnderscores(n.escapedText);return a.factory.createIdentifier(a.hook(`text`,S,S))}function cloneTypeAliasDeclaration(n,a){return a.factory.createTypeAliasDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneToken(n,a){return a.factory.createToken(a.hook(`kind`,n.kind,n.kind))}function cloneDecorator(n,a){return a.factory.createDecorator(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeParameterDeclaration(n,a){return a.factory.createTypeParameterDeclaration(void 0,a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),a.hook(`default`,a.nextNode(n.default),n.default))}function cloneQualifiedName(n,a){return a.factory.createQualifiedName(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneComputedPropertyName(n,a){return a.factory.createComputedPropertyName(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneCallSignatureDeclaration(n,a){return a.factory.createCallSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneConstructSignatureDeclaration(n,a){return a.factory.createConstructSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneVariableDeclaration(n,a){let S=a.factory.createVariableDeclaration(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return n.initializer!=null&&S.initializer!=null&&!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneVariableDeclarationList(n,a){return a.factory.createVariableDeclarationList(a.hook(`declarations`,a.nextNodes(n.declarations),n.declarations),a.hook(`flags`,n.flags,n.flags))}function cloneVariableStatement(n,a){return a.factory.createVariableStatement(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`declarationList`,a.nextNode(n.declarationList),n.declarationList))}function cloneParameterDeclaration(n,a){return a.factory.createParameterDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneBindingElement(n,a){return a.factory.createBindingElement(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertySignature(n,a){return a.factory.createPropertySignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type))}function clonePropertyDeclaration(n,a){return a.factory.createPropertyDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),n.questionToken==null?a.hook(`exclamationToken`,a.nextNode(n.exclamationToken),n.exclamationToken):a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function clonePropertyAssignment(n,a){let S=a.factory.createPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer));return!a.typescript.isParenthesizedExpression(n.initializer)&&a.typescript.isParenthesizedExpression(S.initializer)&&(S.initializer=S.initializer.expression),S}function cloneShorthandPropertyAssignment(n,a){return a.factory.createShorthandPropertyAssignment(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`objectAssignmentInitializer`,a.nextNode(n.objectAssignmentInitializer),n.objectAssignmentInitializer))}function cloneSpreadAssignment(n,a){return a.factory.createSpreadAssignment(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneObjectBindingPattern(n,a){return a.factory.createObjectBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneArrayBindingPattern(n,a){return a.factory.createArrayBindingPattern(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneFunctionDeclaration(n,a){return a.factory.createFunctionDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneMethodSignature(n,a){return a.factory.createMethodSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneMethodDeclaration(n,a){return a.factory.createMethodDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneConstructorDeclaration(n,a){return a.factory.createConstructorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSemicolonClassElement(n,a){return a.factory.createSemicolonClassElement()}function cloneGetAccessorDeclaration(n,a){return a.factory.createGetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSetAccessorDeclaration(n,a){return a.factory.createSetAccessorDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneIndexSignatureDeclaration(n,a){return a.factory.createIndexSignature(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isKeywordTypeNode(n,a){switch(n.kind){case a.SyntaxKind.AnyKeyword:case a.SyntaxKind.UnknownKeyword:case a.SyntaxKind.BigIntKeyword:case a.SyntaxKind.ObjectKeyword:case a.SyntaxKind.BooleanKeyword:case a.SyntaxKind.StringKeyword:case a.SyntaxKind.SymbolKeyword:case a.SyntaxKind.VoidKeyword:case a.SyntaxKind.UndefinedKeyword:case a.SyntaxKind.NullKeyword:case a.SyntaxKind.NeverKeyword:return!0}return!1}function cloneKeywordTypeNode(n,a){return a.factory.createKeywordTypeNode(a.hook(`kind`,n.kind,n.kind))}function cloneImportTypeNode(n,a){return a.factory.createImportTypeNode(a.hook(`argument`,a.nextNode(n.argument),n.argument),a.hook(`assertions`,a.nextNode(n.assertions),n.assertions),a.hook(`qualifier`,a.nextNode(n.qualifier),n.qualifier),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`isTypeOf`,n.isTypeOf,n.isTypeOf))}function cloneThisTypeNode(n,a){return a.factory.createThisTypeNode()}function cloneFunctionTypeNode(n,a){return a.factory.createFunctionTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type))}function isNodeArray(n){return n!=null&&Array.isArray(n)&&`pos`in n}function ensureNodeArray(n,a){return n==null||isNodeArray(n)?n:a.createNodeArray(n)}function cloneConstructorTypeNode(n,a){let S=a.factory.createConstructorTypeNode(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.modifiers=ensureNodeArray(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.factory),S}function cloneTypeReferenceNode(n,a){return a.factory.createTypeReferenceNode(a.hook(`typeName`,a.nextNode(n.typeName),n.typeName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function cloneTypePredicateNode(n,a){return a.factory.createTypePredicateNode(a.hook(`assertsModifier`,a.nextNode(n.assertsModifier),n.assertsModifier),a.hook(`parameterName`,a.nextNode(n.parameterName),n.parameterName),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneSourceFile(n,a){let S=a.factory.updateSourceFile(n,a.hook(`statements`,a.nextNodes(n.statements),n.statements),n.isDeclarationFile,n.referencedFiles,n.typeReferenceDirectives,n.hasNoDefaultLib,n.libReferenceDirectives);return S.pos=-1,S.end=-1,S}function cloneTypeQueryNode(n,a){return a.factory.createTypeQueryNode(a.hook(`exprName`,a.nextNode(n.exprName),n.exprName))}function cloneTypeLiteralNode(n,a){return a.factory.createTypeLiteralNode(a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneArrayTypeNode(n,a){return a.factory.createArrayTypeNode(a.hook(`elementType`,a.nextNode(n.elementType),n.elementType))}function cloneTupleTypeNode(n,a){if(`elementTypes`in n){let S=n;return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(S.elementTypes),S.elementTypes))}else return a.factory.createTupleTypeNode(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneOptionalTypeNode(n,a){return a.factory.createOptionalTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isOptionalTypeNode$1(n,a){return`isOptionalTypeNode`in a?a.isOptionalTypeNode(n):n.kind===a.SyntaxKind.OptionalType}function cloneRestTypeNode(n,a){return a.factory.createRestTypeNode(a.hook(`type`,a.nextNode(n.type),n.type))}function isRestTypeNode(n,a){return`isRestTypeNode`in a?a.isRestTypeNode(n):n.kind===a.SyntaxKind.RestType}function cloneUnionTypeNode(n,a){return a.factory.createUnionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneIntersectionTypeNode(n,a){return a.factory.createIntersectionTypeNode(a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneLiteralTypeNode(n,a){return a.factory.createLiteralTypeNode(a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneStringLiteral(n,a){return a.factory.createStringLiteral(a.hook(`text`,n.text,n.text))}function isBooleanLiteral(n,a){switch(n.kind){case a.SyntaxKind.TrueKeyword:case a.SyntaxKind.FalseKeyword:return!0;default:return!1}}function cloneBooleanLiteral(n,a){return n.kind===a.typescript.SyntaxKind.TrueKeyword?a.factory.createTrue():a.factory.createFalse()}function clonePrefixUnaryExpression(n,a){return a.factory.createPrefixUnaryExpression(a.hook(`operator`,n.operator,n.operator),a.hook(`operand`,a.nextNode(n.operand),n.operand))}function cloneRegularExpressionLiteral(n,a){return a.factory.createRegularExpressionLiteral(a.hook(`text`,n.text,n.text))}function cloneNoSubstitutionTemplateLiteral(n,a){return a.factory.createNoSubstitutionTemplateLiteral(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.text))}function cloneNumericLiteral(n,a){return a.factory.createNumericLiteral(a.hook(`text`,n.text,n.text))}function cloneBigIntLiteral(n,a){return a.factory.createBigIntLiteral(a.hook(`text`,n.text,n.text))}function cloneConditionalTypeNode(n,a){return a.factory.createConditionalTypeNode(a.hook(`checkType`,a.nextNode(n.checkType),n.checkType),a.hook(`extendsType`,a.nextNode(n.extendsType),n.extendsType),a.hook(`trueType`,a.nextNode(n.trueType),n.trueType),a.hook(`falseType`,a.nextNode(n.falseType),n.falseType))}function cloneInferTypeNode(n,a){return a.factory.createInferTypeNode(a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter))}function cloneBlock(n,a){return a.factory.createBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneThrowStatement(n,a){return a.factory.createThrowStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNewExpression(n,a){return a.factory.createNewExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments))}function cloneCallExpression(n,a){let S=a.factory.createCallExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`arguments`,a.nextNodes(n.arguments),n.arguments));for(let C=0;C<S.arguments.length;C++){let N=S.arguments[C];!a.typescript.isParenthesizedExpression(n.arguments[C])&&a.typescript.isParenthesizedExpression(N)&&(S.arguments[C]=N.expression)}return S}function cloneExpressionStatement(n,a){return a.factory.createExpressionStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneExpressionWithTypeArguments(n,a){return a.factory.createExpressionWithTypeArguments(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments))}function clonePropertyAccessExpression(n,a){return a.factory.createPropertyAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneElementAccessExpression(n,a){return a.factory.createElementAccessExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`argumentExpression`,a.nextNode(n.argumentExpression),n.argumentExpression))}function cloneArrayLiteralExpression(n,a){return a.factory.createArrayLiteralExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneObjectLiteralExpression(n,a){return a.factory.createObjectLiteralExpression(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneTemplateExpression(n,a){return a.factory.createTemplateExpression(a.hook(`head`,a.nextNode(n.head),n.head),a.hook(`templateSpans`,a.nextNodes(n.templateSpans),n.templateSpans))}function cloneTemplateSpan(n,a){return a.factory.createTemplateSpan(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`literal`,a.nextNode(n.literal),n.literal))}function cloneTemplateHead(n,a){return a.factory.createTemplateHead(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateMiddle(n,a){return a.factory.createTemplateMiddle(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneTemplateTail(n,a){return a.factory.createTemplateTail(a.hook(`text`,n.text,n.text),a.hook(`rawText`,n.rawText,n.rawText))}function cloneConditionalExpression(n,a){return a.factory.createConditionalExpression(a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`whenTrue`,a.nextNode(n.whenTrue),n.whenTrue),a.hook(`colonToken`,a.nextNode(n.colonToken),n.colonToken),a.hook(`whenFalse`,a.nextNode(n.whenFalse),n.whenFalse))}function cloneBinaryExpression(n,a){return a.factory.createBinaryExpression(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`operatorToken`,a.nextNode(n.operatorToken),n.operatorToken),a.hook(`right`,a.nextNode(n.right),n.right))}function cloneParenthesizedExpression(n,a){return a.factory.createParenthesizedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneParenthesizedTypeNode(n,a){return a.factory.createParenthesizedType(a.hook(`type`,a.nextNode(n.type),n.type))}function cloneArrowFunction(n,a){return a.factory.createArrowFunction(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`equalsGreaterThanToken`,a.nextNode(n.equalsGreaterThanToken),n.equalsGreaterThanToken),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneClassDeclaration(n,a){return a.factory.createClassDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneClassExpression(n,a){return a.factory.createClassExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumDeclaration(n,a){return a.factory.createEnumDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneInterfaceDeclaration(n,a){return a.factory.createInterfaceDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`heritageClauses`,a.nextNodes(n.heritageClauses),n.heritageClauses),a.hook(`members`,a.nextNodes(n.members),n.members))}function cloneEnumMember(n,a){return a.factory.createEnumMember(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneHeritageClause(n,a){return a.factory.createHeritageClause(a.hook(`token`,n.token,n.token),a.hook(`types`,a.nextNodes(n.types),n.types))}function cloneEmptyStatement(n,a){return a.factory.createEmptyStatement()}function cloneTypeOperatorNode(n,a){return a.factory.createTypeOperatorNode(a.hook(`operator`,n.operator,n.operator),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneIndexedAccessTypeNode(n,a){return a.factory.createIndexedAccessTypeNode(a.hook(`objectType`,a.nextNode(n.objectType),n.objectType),a.hook(`indexType`,a.nextNode(n.indexType),n.indexType))}function cloneMappedTypeNode(n,a){return a.factory.createMappedTypeNode(a.hook(`readonlyToken`,a.nextNode(n.readonlyToken),n.readonlyToken),a.hook(`typeParameter`,a.nextNode(n.typeParameter),n.typeParameter),a.hook(`nameType`,a.nextNode(n.nameType),n.nameType),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type),ensureNodeArray(a.hook(`members`,a.nextNodes(n.members),n.members),a.factory))}function cloneOmittedExpression(n,a){return a.factory.createOmittedExpression()}function clonePartiallyEmittedExpression(n,a){return a.factory.createPartiallyEmittedExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isPartiallyEmittedExpression(n,a){return`isPartiallyEmittedExpression`in a?a.isPartiallyEmittedExpression(n):n.kind===a.SyntaxKind.PartiallyEmittedExpression}function clonePostfixUnaryExpression(n,a){return a.factory.createPostfixUnaryExpression(a.hook(`operand`,a.nextNode(n.operand),n.operand),a.hook(`operator`,n.operator,n.operator))}function isNullLiteral(n,a){return n.kind===a.SyntaxKind.NullKeyword}function cloneNullLiteral(n,a){return a.factory.createNull()}function isThisExpression(n,a){return n.kind===a.SyntaxKind.ThisKeyword}function cloneThisExpression(n,a){return a.factory.createThis()}function cloneReturnStatement(n,a){return a.factory.createReturnStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function isSuperExpression(n,a){return n.kind===a.SyntaxKind.SuperKeyword}function cloneSuperExpression(n,a){return a.factory.createSuper()}function cloneDeleteExpression(n,a){return a.factory.createDeleteExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAsExpression(n,a){return a.factory.createAsExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`type`,a.nextNode(n.type),n.type))}function cloneTypeAssertion(n,a){return a.factory.createTypeAssertion(a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneAwaitExpression(n,a){return a.factory.createAwaitExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneYieldExpression(n,a){return a.factory.createYieldExpression(a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneForOfStatement(n,a){return a.factory.createForOfStatement(a.hook(`awaitModifier`,a.nextNode(n.awaitModifier),n.awaitModifier),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForInStatement(n,a){return a.factory.createForInStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneForStatement(n,a){return a.factory.createForStatement(a.hook(`initializer`,a.nextNode(n.initializer),n.initializer),a.hook(`condition`,a.nextNode(n.condition),n.condition),a.hook(`incrementor`,a.nextNode(n.incrementor),n.incrementor),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneWhileStatement(n,a){return a.factory.createWhileStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneLabeledStatement(n,a){return a.factory.createLabeledStatement(a.hook(`label`,a.nextNode(n.label),n.label),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneBreakStatement(n,a){return a.factory.createBreakStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneContinueStatement(n,a){return a.factory.createContinueStatement(a.hook(`label`,a.nextNode(n.label),n.label))}function cloneIfStatement(n,a){return a.factory.createIfStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`thenStatement`,a.nextNode(n.thenStatement),n.thenStatement),a.hook(`elseStatement`,a.nextNode(n.elseStatement),n.elseStatement))}function cloneDoStatement(n,a){return a.factory.createDoStatement(a.hook(`statement`,a.nextNode(n.statement),n.statement),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNonNullExpression(n,a){return a.factory.createNonNullExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTypeOfExpression(n,a){return a.factory.createTypeOfExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneVoidExpression(n,a){return a.factory.createVoidExpression(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneFunctionExpression(n,a){return a.factory.createFunctionExpression(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`asteriskToken`,a.nextNode(n.asteriskToken),n.asteriskToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`body`,a.nextNode(n.body),n.body))}function cloneSpreadElement(n,a){return a.factory.createSpreadElement(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneTaggedTemplateExpression(n,a){return a.factory.createTaggedTemplateExpression(a.hook(`tag`,a.nextNode(n.tag),n.tag),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`template`,a.nextNode(n.template),n.template))}function cloneMetaProperty(n,a){return a.factory.createMetaProperty(a.hook(`keywordToken`,n.keywordToken,n.keywordToken),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneJsxElement(n,a){return a.factory.createJsxElement(a.hook(`openingElement`,a.nextNode(n.openingElement),n.openingElement),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingElement`,a.nextNode(n.closingElement),n.closingElement))}function cloneJsxAttributes(n,a){return a.factory.createJsxAttributes(a.hook(`properties`,a.nextNodes(n.properties),n.properties))}function cloneJsxOpeningElement(n,a){return a.factory.createJsxOpeningElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxSelfClosingElement(n,a){return a.factory.createJsxSelfClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeArguments`,a.nextNodes(n.typeArguments),n.typeArguments),a.hook(`attributes`,a.nextNode(n.attributes),n.attributes))}function cloneJsxFragment(n,a){return a.factory.createJsxFragment(a.hook(`openingFragment`,a.nextNode(n.openingFragment),n.openingFragment),a.hook(`children`,a.nextNodes(n.children),n.children),a.hook(`closingFragment`,a.nextNode(n.closingFragment),n.closingFragment))}function cloneJsxOpeningFragment(n,a){return a.factory.createJsxOpeningFragment()}function cloneJsxClosingFragment(n,a){return a.factory.createJsxJsxClosingFragment()}function cloneJsxAttribute(n,a){return a.factory.createJsxAttribute(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`initializer`,a.nextNode(n.initializer),n.initializer))}function cloneJsxSpreadAttribute(n,a){return a.factory.createJsxSpreadAttribute(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxClosingElement(n,a){return a.factory.createJsxClosingElement(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName))}function cloneJsxExpression(n,a){return a.factory.createJsxExpression(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneJsxText(n,a){return a.factory.createJsxText(a.hook(`text`,n.text,n.text),a.hook(`containsOnlyTriviaWhiteSpaces`,n.containsOnlyTriviaWhiteSpaces,n.containsOnlyTriviaWhiteSpaces))}function isNotEmittedStatement(n,a){return`isNotEmittedStatement`in a?a.isNotEmittedStatement(n):n.kind===a.SyntaxKind.NotEmittedStatement}function cloneNotEmittedStatement(n,a){return a.factory.createNotEmittedStatement(n)}function isCommaListExpression(n,a){return`isCommaListExpression`in a?a.isCommaListExpression(n):n.kind===a.SyntaxKind.CommaListExpression}function cloneCommaListExpression(n,a){return a.factory.createCommaListExpression(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneDebuggerStatement(n,a){return a.factory.createDebuggerStatement()}function cloneWithStatement(n,a){return a.factory.createWithStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statement`,a.nextNode(n.statement),n.statement))}function cloneSwitchStatement(n,a){return a.factory.createSwitchStatement(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`caseBlock`,a.nextNode(n.caseBlock),n.caseBlock))}function cloneCaseBlock(n,a){return a.factory.createCaseBlock(a.hook(`clauses`,a.nextNodes(n.clauses),n.clauses))}function cloneCaseClause(n,a){return a.factory.createCaseClause(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneDefaultClause(n,a){return a.factory.createDefaultClause(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneTryStatement(n,a){return a.factory.createTryStatement(a.hook(`tryBlock`,a.nextNode(n.tryBlock),n.tryBlock),a.hook(`catchClause`,a.nextNode(n.catchClause),n.catchClause),a.hook(`finallyBlock`,a.nextNode(n.finallyBlock),n.finallyBlock))}function cloneCatchClause(n,a){return a.factory.createCatchClause(a.hook(`variableDeclaration`,a.nextNode(n.variableDeclaration),n.variableDeclaration),a.hook(`block`,a.nextNode(n.block),n.block))}function cloneModuleDeclaration(n,a){return a.factory.createModuleDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`body`,a.nextNode(n.body),n.body),a.hook(`flags`,n.flags,n.flags))}function cloneModuleBlock(n,a){return a.factory.createModuleBlock(a.hook(`statements`,a.nextNodes(n.statements),n.statements))}function cloneImportDeclaration(n,a){return a.factory.createImportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`importClause`,a.nextNode(n.importClause),n.importClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier),a.hook(`assertClause`,a.nextNode(n.assertClause),n.assertClause))}function cloneImportEqualsDeclaration(n,a){return a.factory.createImportEqualsDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`moduleReference`,a.nextNode(n.moduleReference),n.moduleReference))}function cloneImportClause(n,a){return a.factory.createImportClause(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`namedBindings`,a.nextNode(n.namedBindings),n.namedBindings))}function cloneNamedImports(n,a){return a.factory.createNamedImports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneNamespaceImport(n,a){return a.factory.createNamespaceImport(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneImportSpecifier(n,a){return a.factory.createImportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExternalModuleReference(n,a){return a.factory.createExternalModuleReference(a.hook(`expression`,a.nextNode(n.expression),n.expression))}function cloneNamespaceExportDeclaration(n,a){return a.factory.createNamespaceExportDeclaration(a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportDeclaration(n,a){return a.factory.createExportDeclaration(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`exportClause`,a.nextNode(n.exportClause),n.exportClause),a.hook(`moduleSpecifier`,a.nextNode(n.moduleSpecifier),n.moduleSpecifier))}function cloneNamedExports(n,a){return a.factory.createNamedExports(a.hook(`elements`,a.nextNodes(n.elements),n.elements))}function cloneExportSpecifier(n,a){return a.factory.createExportSpecifier(a.hook(`isTypeOnly`,n.isTypeOnly,n.isTypeOnly),a.hook(`propertyName`,a.nextNode(n.propertyName),n.propertyName),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneExportAssignment(n,a){return a.factory.createExportAssignment(a.hook(`modifiers`,a.nextNodes(n.modifiers),n.modifiers),a.hook(`isExportEquals`,n.isExportEquals,n.isExportEquals),a.hook(`expression`,a.nextNode(n.expression),n.expression))}function toInternalOptions(n){let a=n.typescript??Qb.default;return{...n,typescript:a,factory:ensureNodeFactory(n.factory??a),setParents:n.setParents??!1,setOriginalNodes:n.setOriginalNodes??!1,preserveSymbols:n.preserveSymbols??!1,preserveComments:n.preserveComments??!0,commentRanges:new Set,debug:n.debug??!1,depth:0,hook:n.hook??(()=>({})),finalize:n.finalize??(()=>{})}}function isJsDocComment(n,a){return`isJSDoc`in a?a.isJSDoc(n):n.kind===a.SyntaxKind.JSDocComment}function cloneJsDoc(n,a){let S=a.factory.createJSDocComment(a.hook(`comment`,n.comment,n.comment),ensureNodeArray(a.hook(`tags`,a.nextNodes(n.tags),n.tags),a.factory));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownTag(n,a){return`isJSDocUnknownTag`in a?a.isJSDocUnknownTag(n):n.kind===a.SyntaxKind.JSDocTag}function isJsDocParameterTag(n,a){return`isJSDocParameterTag`in a?a.isJSDocParameterTag(n):n.kind===a.SyntaxKind.JSDocParameterTag}function cloneJsDocParameterTag(n,a){let S=a.factory.createJSDocParameterTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocReturnTag(n,a){return`isJSDocReturnTag`in a?a.isJSDocReturnTag(n):n.kind===a.SyntaxKind.JSDocReturnTag}function cloneJsDocReturnTag(n,a){let S=a.factory.createJSDocReturnTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeExpression(n,a){return`isJSDocTypeExpression`in a?a.isJSDocTypeExpression(n):n.kind===a.SyntaxKind.JSDocTypeExpression}function cloneJsDocTypeExpression(n,a){let S=a.factory.createJSDocTypeExpression(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocEnumTag(n,a){return`isJSDocEnumTag`in a?a.isJSDocEnumTag(n):n.kind===a.SyntaxKind.JSDocEnumTag}function cloneJsDocEnumTag(n,a){let S=a.factory.createJSDocEnumTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeTag(n,a){return`isJSDocTypeTag`in a?a.isJSDocTypeTag(n):n.kind===a.SyntaxKind.JSDocTypeTag}function cloneJsDocTypeTag(n,a){let S=a.factory.createJSDocTypeTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAllType(n,a){return`isJSDocAllType`in a?a.isJSDocAllType(n):n.kind===a.SyntaxKind.JSDocAllType}function cloneJsDocAllType(n,a){let S=a.factory.createJSDocAllType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocUnknownType(n,a){return`isJSDocUnknownType`in a?a.isJSDocUnknownType(n):n.kind===a.SyntaxKind.JSDocUnknownType}function cloneJsDocUnknownType(n,a){let S=a.factory.createJSDocUnknownType();return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNonNullableType(n,a){return`isJSDocNonNullableType`in a?a.isJSDocNonNullableType(n):n.kind===a.SyntaxKind.JSDocNonNullableType}function cloneJsDocNonNullableType(n,a){let S=a.factory.createJSDocNonNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNullableType(n,a){return`isJSDocNullableType`in a?a.isJSDocNullableType(n):n.kind===a.SyntaxKind.JSDocNullableType}function cloneJsDocNullableType(n,a){let S=a.factory.createJSDocNullableType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocOptionalType(n,a){return`isJSDocOptionalType`in a?a.isJSDocOptionalType(n):n.kind===a.SyntaxKind.JSDocOptionalType}function cloneJsDocOptionalType(n,a){let S=a.factory.createJSDocOptionalType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocFunctionType(n,a){return`isJSDocFunctionType`in a?a.isJSDocFunctionType(n):n.kind===a.SyntaxKind.JSDocFunctionType}function cloneJsDocFunctionType(n,a){let S=a.factory.createJSDocFunctionType(a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,n.type,n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocVariadicType(n,a){return`isJSDocVariadicType`in a?a.isJSDocVariadicType(n):n.kind===a.SyntaxKind.JSDocVariadicType}function cloneJsDocVariadicType(n,a){let S=a.factory.createJSDocVariadicType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocNamepathType(n,a){return`isJSDocNamepathType`in a?a.isJSDocNamepathType(n):n.kind===a.SyntaxKind.JSDocNamepathType}function cloneJsDocNamepathType(n,a){let S=a.factory.createJSDocNamepathType(a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function cloneJsDocUnknownTag(n,a){let S=a.factory.createJSDocUnknownTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAugmentsTag(n,a){return`isJSDocAugmentsTag`in a?a.isJSDocAugmentsTag(n):n.kind===a.SyntaxKind.JSDocAugmentsTag}function cloneJsDocAugmentsTag(n,a){let S=a.factory.createJSDocAugmentsTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`class`,a.nextNode(n.class),n.class),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocAuthorTag(n,a){return`isJSDocAuthorTag`in a?a.isJSDocAuthorTag(n):n.kind===a.SyntaxKind.JSDocAuthorTag}function cloneJsDocAuthorTag(n,a){let S=a.factory.createJSDocAuthorTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocClassTag(n,a){return`isJSDocClassTag`in a?a.isJSDocClassTag(n):n.kind===a.SyntaxKind.JSDocClassTag}function cloneJsDocClassTag(n,a){let S=a.factory.createJSDocClassTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocThisTag(n,a){return`isJSDocThisTag`in a?a.isJSDocThisTag(n):n.kind===a.SyntaxKind.JSDocThisTag}function cloneJsDocThisTag(n,a){let S=a.factory.createJSDocThisTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTemplateTag(n,a){return`isJSDocTemplateTag`in a?a.isJSDocTemplateTag(n):n.kind===a.SyntaxKind.JSDocTemplateTag}function cloneJsDocTemplateTag(n,a){let S=a.factory.createJSDocTemplateTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`constraint`,a.nextNode(n.constraint),n.constraint),ensureNodeArray(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.factory),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypedefTag(n,a){return`isJSDocTypedefTag`in a?a.isJSDocTypedefTag(n):n.kind===a.SyntaxKind.JSDocTypedefTag}function cloneJsDocTypedefTag(n,a){let S=a.factory.createJSDocTypedefTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocCallbackTag(n,a){return`isJSDocCallbackTag`in a?a.isJSDocCallbackTag(n):n.kind===a.SyntaxKind.JSDocCallbackTag}function cloneJsDocCallbackTag(n,a){let S=a.factory.createJSDocCallbackTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`fullName`,a.nextNode(n.fullName),n.fullName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S.name=a.hook(`name`,a.nextNode(n.name),n.name),S}function isJsDocSignature(n,a){return`isJSDocSignature`in a?a.isJSDocSignature(n):n.kind===a.SyntaxKind.JSDocSignature}function cloneJsDocSignature(n,a){let S=a.factory.createJSDocSignature(a.hook(`typeParameters`,a.nextNodes(n.typeParameters),n.typeParameters),a.hook(`parameters`,a.nextNodes(n.parameters),n.parameters),a.hook(`type`,a.nextNode(n.type),n.type));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPropertyTag(n,a){return`isJSDocPropertyTag`in a?a.isJSDocPropertyTag(n):n.kind===a.SyntaxKind.JSDocPropertyTag}function cloneJsDocPropertyTag(n,a){let S=a.factory.createJSDocPropertyTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`isBracketed`,n.isBracketed,n.isBracketed),a.hook(`typeExpression`,a.nextNode(n.typeExpression),n.typeExpression),a.hook(`isNameFirst`,n.isNameFirst,n.isNameFirst),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocTypeLiteral(n,a){return`isJSDocTypeLiteral`in a?a.isJSDocTypeLiteral(n):n.kind===a.SyntaxKind.JSDocTypeLiteral}function cloneJsDocTypeLiteral(n,a){let S=a.factory.createJSDocTypeLiteral(a.hook(`jsDocPropertyTags`,a.nextNodes(n.jsDocPropertyTags),n.jsDocPropertyTags),a.hook(`isArrayType`,n.isArrayType,n.isArrayType));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function fixupParentReferences(n,{deep:a,propertyName:S,typescript:C}){let N=n;C.forEachChild(n,visitNode);function visitNode(n){if(n[S]!==N){n[S]=N;let F=N;if(N=n,a&&C.forEachChild(n,visitNode),n.jsDoc!=null)for(let a of n.jsDoc)a[S]=n,N=a,C.forEachChild(a,visitNode);N=F}}}function setParents(n,a){return fixupParentReferences(n,a),n}function getOriginalNode(n,a){return n._original==null?a.typescript.getOriginalNode(n)??n:getOriginalNode(n._original,a)}function formatCommentRange({pos:n,end:a}){return`${n}:${a}`}function getCommentRanges(n,a){let S=[],C=getOriginalNode(n,a),N=C.getSourceFile();if(N==null||C.pos===-1||C.end===-1)return[];let F=N.getFullText(),I=C.getFullStart(),H=C.getEnd(),W=a.typescript.getLeadingCommentRanges(F,I)??[],K=a.typescript.getTrailingCommentRanges(F,H)??[];if(W.length<1){let n=C.getFullText().trim();(n.startsWith(`//`)||n.startsWith(`/*`))&&W.push(...a.typescript.getTrailingCommentRanges(F,I)??[])}let q=[...W.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!0})),...K.map(n=>({...n,hasTrailingNewLine:!!n.hasTrailingNewLine,isLeading:!1}))];for(let n of q){if(a.commentRanges.has(formatCommentRange(n)))continue;a.commentRanges.add(formatCommentRange(n));let C=N.text.substring(n.pos,n.end);if(!C.startsWith(`//`)&&!C.startsWith(`/*`))continue;let F=C.includes(`\r
682
682
  `),I=C.startsWith(`/**`);C=C.split(/\r?\n/).map(n=>n.trim()).map(n=>!I||n.startsWith(`/**`)?n:` ${n}`).join(F?`\r
683
683
  `:`
684
- `),C=C.startsWith(`/**`)||C.startsWith(`/*`)?C.slice(2,C.length-2):C.slice(2),S.push({...n,text:C})}return S}function preserveAllComments(n,a){a.preserveComments&&(preserveCommentsForOriginalNode(n,a),a.typescript.forEachChild(n,n=>{preserveAllComments(n,a)}))}function preserveCommentsForOriginalNode(n,a){if(a.typescript.isSourceFile(n))return;let S=getOriginalNode(n,a);n!==S&&preserveComments(n,S,a)}function preserveComments(n,a,S){if(!S.preserveComments||n.pos>-1&&n.end>=-1)return n;n.jsDoc==null&&a.jsDoc!=null&&(n.jsDoc=a.jsDoc);let C=getCommentRanges(a,S);C.length>0&&(S.typescript.setSyntheticLeadingComments(n,void 0),S.typescript.setSyntheticTrailingComments(n,void 0));for(let{isLeading:a,text:N,hasTrailingNewLine:F,kind:I}of C)a?S.typescript.addSyntheticLeadingComment(n,I,N,F):S.typescript.addSyntheticTrailingComment(n,I,N,F);return n}function nextOptions(n){return{...n,depth:n.depth+1}}function payload({depth:n}){return{depth:n}}function cloneNamespaceExport(n,a){return a.factory.createNamespaceExport(a.hook(`name`,a.nextNode(n.name),n.name))}function isJsDocReadonlyTag(n,a){return`isJSDocReadonlyTag`in a?a.isJSDocReadonlyTag(n):n.kind===a.SyntaxKind.JSDocReadonlyTag}function cloneJsDocReadonlyTag(n,a){let S=a.factory.createJSDocReadonlyTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocSeeTag(n,a){return`isJSDocSeeTag`in a?a.isJSDocSeeTag(n):n.kind===a.SyntaxKind.JSDocSeeTag}function cloneJsDocSeeTag(n,a){let S=a.factory.createJSDocSeeTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,n.name,n.name),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPrivateTag(n,a){return`isJSDocPrivateTag`in a?a.isJSDocPrivateTag(n):n.kind===a.SyntaxKind.JSDocPrivateTag}function cloneJsDocPrivateTag(n,a){let S=a.factory.createJSDocPrivateTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocProtectedTag(n,a){return`isJSDocProtectedTag`in a?a.isJSDocProtectedTag(n):n.kind===a.SyntaxKind.JSDocProtectedTag}function cloneJsDocProtectedTag(n,a){let S=a.factory.createJSDocProtectedTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPublicTag(n,a){return`isJSDocPublicTag`in a?a.isJSDocPublicTag(n):n.kind===a.SyntaxKind.JSDocPublicTag}function cloneJsDocPublicTag(n,a){let S=a.factory.createJSDocPublicTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function clonePrivateIdentifier(n,a){return a.factory.createPrivateIdentifier(a.hook(`text`,n.text,n.text))}function toSetParentNodesOptions(n){return{typescript:n.typescript??Zb.default,propertyName:n.propertyName??`parent`,deep:n.deep??!0}}function isNamedTupleMember$1(n,a){return a.SyntaxKind.NamedTupleMember!=null&&n.kind===a.SyntaxKind.NamedTupleMember}function cloneNamedTupleMember(n,a){return a.factory.createNamedTupleMember(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type))}function isJsDocDeprecatedTag(n,a){return`JSDocDeprecatedTag`in a?a.isJSDocDeprecatedTag(n):n.kind===a.SyntaxKind.JSDocDeprecatedTag}function cloneJsDocDeprecatedTag(n,a){let S=a.factory.createJSDocDeprecatedTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isTemplateLiteralTypeNode(n,a){return a.SyntaxKind.TemplateLiteralType!=null&&n.kind===a.SyntaxKind.TemplateLiteralType}function cloneTemplateLiteralTypeNode(n,a){return a.factory.createTemplateLiteralType(a.hook(`head`,a.nextNode(n.head),n.head),a.hook(`templateSpans`,a.nextNodes(n.templateSpans),n.templateSpans))}function isTemplateLiteralTypeSpan(n,a){return a.SyntaxKind.TemplateLiteralTypeSpan!=null&&n.kind===a.SyntaxKind.TemplateLiteralTypeSpan}function cloneTemplateLiteralTypeSpan(n,a){return a.factory.createTemplateLiteralTypeSpan(a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`literal`,a.nextNode(n.literal),n.literal))}function isJsDocLink(n,a){return`isJSDocLink`in a?a.isJSDocLink(n):n.kind===a.SyntaxKind.JSDocLink}function cloneJsDocLink(n,a){let S=a.factory.createJSDocLink(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function clonePropertyAccessChain(n,a){return a.factory.createPropertyAccessChain(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`questionDotToken`,a.nextNode(n.questionDotToken),n.questionDotToken),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneClassStaticBlockDeclaration(n,a){return a.factory.createClassStaticBlockDeclaration(a.hook(`body`,a.nextNode(n.body),n.body))}function isJsDocLinkCode(n,a){return`isJSDocLinkCode`in a?a.isJSDocLinkCode(n):n.kind===a.SyntaxKind.JSDocLinkCode}function cloneJsDocLinkCode(n,a){let S=a.factory.createJSDocLinkCode(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocLinkPlain(n,a){return`isJSDocLinkPlain`in a?a.isJSDocLinkPlain(n):n.kind===a.SyntaxKind.JSDocLinkPlain}function cloneJsDocLinkPlain(n,a){let S=a.factory.createJSDocLinkPlain(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocMemberName(n,a){return`isJSDocMemberName`in a?a.isJSDocMemberName(n):n.kind===a.SyntaxKind.JSDocMemberName}function cloneJsDocMemberName(n,a){let S=a.factory.createJSDocMemberName(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`right`,a.nextNode(n.right),n.right));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function cloneAssertClause(n,a){return a.factory.createAssertClause(ensureNodeArray(a.hook(`elements`,a.nextNodes(n.elements),n.elements),a.factory),a.hook(`multiLine`,n.multiLine,n.multiLine))}function cloneAssertEntry(n,a){return a.factory.createAssertEntry(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`value`,a.nextNode(n.value),n.value))}function isImportTypeAssertionContainer(n,a){return a.SyntaxKind.ImportTypeAssertionContainer!=null&&n.kind===a.SyntaxKind.ImportTypeAssertionContainer}function cloneImportTypeAssertionContainer(n,a){return a.factory.createImportTypeAssertionContainer(a.hook(`assertClause`,a.nextNode(n.assertClause),n.assertClause),a.hook(`multiLine`,n.multiLine,n.multiLine))}function cloneNode(n,a={}){if(n===void 0)return;let S=toInternalOptions(a),C=nextNode(n,S);if(executePreserveNode(C,n,S),C!=null){let a=n._parent??n.parent??C._parent??C.parent;S.setParents?C.parent=a:C._parent=a}return C}function nextNode(n,a){if(n===void 0)return;let S=a.hook(n,payload(a))??{},C={...a,nextNode:n=>nextNode(n,nextOptions(a)),nextNodes:(n=>nextNodes(n,nextOptions(a))),hook:(n,a,C)=>{let N=S[n];return N==null?a:N(a,C)}},N=executeCloneNode(n,C);if(N!==void 0)return n.jsDoc!=null&&(N.jsDoc=C.hook(`jsDoc`,C.nextNodes(n.jsDoc),n.jsDoc)),setOriginalNodes(N,n,a),preserveSymbols(N,n,a),a.finalize==null?N:a.finalize(N,n,payload(a))??N}function executePreserveNode(n,a,S){n==null||a==null||n===a||(setParents(n,toSetParentNodesOptions({...S,propertyName:S.setParents?`parent`:`_parent`})),preserveAllComments(n,S),preserveComments(n,a,S),setOriginalNodes(n,a,S),preserveSymbols(n,a,S))}function setOriginalNodes(n,a,S){n!==a&&(S.setOriginalNodes?(S.typescript.setOriginalNode(n,a),n._original=n.original):n._original=a)}function preserveSymbols(n,a,S){if(n===a)return n;let C=a._symbol??a.symbol;return C!=null&&(n._symbol=C),S.preserveSymbols&&(n.symbol=n._symbol),n}function nextNodes(n,a){if(n!==void 0)return n.map(n=>nextNode(n,a))}function executeCloneNode(n,a){var S,C,N,F,I,H,W,K;if(n!=null){if(a.typescript.isSourceFile(n))return cloneSourceFile(n,a);if(a.typescript.isIdentifier(n))return cloneIdentifier(n,a);if((S=a.typescript).isPrivateIdentifier?.call(S,n))return clonePrivateIdentifier(n,a);if(a.typescript.isTypeAliasDeclaration(n))return cloneTypeAliasDeclaration(n,a);if(a.typescript.isTypeParameterDeclaration(n))return cloneTypeParameterDeclaration(n,a);if(a.typescript.isDecorator(n))return cloneDecorator(n,a);if(a.typescript.isQualifiedName(n))return cloneQualifiedName(n,a);if(a.typescript.isComputedPropertyName(n))return cloneComputedPropertyName(n,a);if(a.typescript.isCallSignatureDeclaration(n))return cloneCallSignatureDeclaration(n,a);if(a.typescript.isConstructSignatureDeclaration(n))return cloneConstructSignatureDeclaration(n,a);if(a.typescript.isVariableDeclaration(n))return cloneVariableDeclaration(n,a);if(a.typescript.isVariableDeclarationList(n))return cloneVariableDeclarationList(n,a);if(a.typescript.isVariableStatement(n))return cloneVariableStatement(n,a);if(a.typescript.isParameter(n))return cloneParameterDeclaration(n,a);if(a.typescript.isBindingElement(n))return cloneBindingElement(n,a);if(a.typescript.isPropertySignature(n))return clonePropertySignature(n,a);if(a.typescript.isPropertyDeclaration(n))return clonePropertyDeclaration(n,a);if(a.typescript.isPropertyAssignment(n))return clonePropertyAssignment(n,a);if(a.typescript.isShorthandPropertyAssignment(n))return cloneShorthandPropertyAssignment(n,a);if(a.typescript.isSpreadAssignment(n))return cloneSpreadAssignment(n,a);if(a.typescript.isObjectBindingPattern(n))return cloneObjectBindingPattern(n,a);if(a.typescript.isArrayBindingPattern(n))return cloneArrayBindingPattern(n,a);if(a.typescript.isFunctionDeclaration(n))return cloneFunctionDeclaration(n,a);if(a.typescript.isMethodSignature(n))return cloneMethodSignature(n,a);if(a.typescript.isMethodDeclaration(n))return cloneMethodDeclaration(n,a);if(a.typescript.isConstructorDeclaration(n))return cloneConstructorDeclaration(n,a);if(a.typescript.isSemicolonClassElement(n))return cloneSemicolonClassElement(n,a);if(a.typescript.isGetAccessorDeclaration(n))return cloneGetAccessorDeclaration(n,a);if(a.typescript.isSetAccessorDeclaration(n))return cloneSetAccessorDeclaration(n,a);if(a.typescript.isIndexSignatureDeclaration(n))return cloneIndexSignatureDeclaration(n,a);if(isKeywordTypeNode(n,a.typescript))return cloneKeywordTypeNode(n,a);if(a.typescript.isImportTypeNode(n))return cloneImportTypeNode(n,a);if(a.typescript.isThisTypeNode(n))return cloneThisTypeNode(n,a);if(a.typescript.isFunctionTypeNode(n))return cloneFunctionTypeNode(n,a);if(a.typescript.isConstructorTypeNode(n))return cloneConstructorTypeNode(n,a);if(a.typescript.isTypeReferenceNode(n))return cloneTypeReferenceNode(n,a);if(a.typescript.isTypePredicateNode(n))return cloneTypePredicateNode(n,a);if(a.typescript.isTypeQueryNode(n))return cloneTypeQueryNode(n,a);if(a.typescript.isTypeLiteralNode(n))return cloneTypeLiteralNode(n,a);if(a.typescript.isArrayTypeNode(n))return cloneArrayTypeNode(n,a);if(a.typescript.isTupleTypeNode(n))return cloneTupleTypeNode(n,a);if(isOptionalTypeNode$1(n,a.typescript))return cloneOptionalTypeNode(n,a);if(isRestTypeNode(n,a.typescript))return cloneRestTypeNode(n,a);if(a.typescript.isUnionTypeNode(n))return cloneUnionTypeNode(n,a);if(a.typescript.isIntersectionTypeNode(n))return cloneIntersectionTypeNode(n,a);if(a.typescript.isConditionalTypeNode(n))return cloneConditionalTypeNode(n,a);if(a.typescript.isInferTypeNode(n))return cloneInferTypeNode(n,a);if(a.typescript.isLiteralTypeNode(n))return cloneLiteralTypeNode(n,a);if(a.typescript.isStringLiteral(n))return cloneStringLiteral(n,a);if(isBooleanLiteral(n,a.typescript))return cloneBooleanLiteral(n,a);if(a.typescript.isRegularExpressionLiteral(n))return cloneRegularExpressionLiteral(n,a);if(a.typescript.isNoSubstitutionTemplateLiteral(n))return cloneNoSubstitutionTemplateLiteral(n,a);if(a.typescript.isNumericLiteral(n))return cloneNumericLiteral(n,a);if((C=a.typescript).isBigIntLiteral?.call(C,n))return cloneBigIntLiteral(n,a);if(a.typescript.isArrayLiteralExpression(n))return cloneArrayLiteralExpression(n,a);if(a.typescript.isObjectLiteralExpression(n))return cloneObjectLiteralExpression(n,a);if(a.typescript.isPrefixUnaryExpression(n))return clonePrefixUnaryExpression(n,a);if(a.typescript.isBlock(n))return cloneBlock(n,a);if(a.typescript.isThrowStatement(n))return cloneThrowStatement(n,a);if(a.typescript.isReturnStatement(n))return cloneReturnStatement(n,a);if(a.typescript.isNewExpression(n))return cloneNewExpression(n,a);if(a.typescript.isCallExpression(n))return cloneCallExpression(n,a);if(a.typescript.isExpressionStatement(n))return cloneExpressionStatement(n,a);if(a.typescript.isExpressionWithTypeArguments(n))return cloneExpressionWithTypeArguments(n,a);if((N=a.typescript).isPropertyAccessChain?.call(N,n))return clonePropertyAccessChain(n,a);if(a.typescript.isPropertyAccessExpression(n))return clonePropertyAccessExpression(n,a);if(a.typescript.isElementAccessExpression(n))return cloneElementAccessExpression(n,a);if(a.typescript.isTemplateExpression(n))return cloneTemplateExpression(n,a);if(a.typescript.isTemplateSpan(n))return cloneTemplateSpan(n,a);if(a.typescript.isTemplateHead(n))return cloneTemplateHead(n,a);if(a.typescript.isTemplateMiddle(n))return cloneTemplateMiddle(n,a);if(a.typescript.isTemplateTail(n))return cloneTemplateTail(n,a);if(a.typescript.isConditionalExpression(n))return cloneConditionalExpression(n,a);if(a.typescript.isBinaryExpression(n))return cloneBinaryExpression(n,a);if(a.typescript.isParenthesizedExpression(n))return cloneParenthesizedExpression(n,a);if(a.typescript.isParenthesizedTypeNode(n))return cloneParenthesizedTypeNode(n,a);if(a.typescript.isArrowFunction(n))return cloneArrowFunction(n,a);if(a.typescript.isClassDeclaration(n))return cloneClassDeclaration(n,a);if(a.typescript.isClassExpression(n))return cloneClassExpression(n,a);if(a.typescript.isEnumDeclaration(n))return cloneEnumDeclaration(n,a);if(a.typescript.isEnumMember(n))return cloneEnumMember(n,a);if(a.typescript.isInterfaceDeclaration(n))return cloneInterfaceDeclaration(n,a);if(a.typescript.isHeritageClause(n))return cloneHeritageClause(n,a);if(a.typescript.isEmptyStatement(n))return cloneEmptyStatement(n,a);if(a.typescript.isAsExpression(n))return cloneAsExpression(n,a);if(a.typescript.isTypeAssertionExpression(n))return cloneTypeAssertion(n,a);if(a.typescript.isAwaitExpression(n))return cloneAwaitExpression(n,a);if(a.typescript.isYieldExpression(n))return cloneYieldExpression(n,a);if(a.typescript.isForOfStatement(n))return cloneForOfStatement(n,a);if(a.typescript.isForInStatement(n))return cloneForInStatement(n,a);if(a.typescript.isForStatement(n))return cloneForStatement(n,a);if(a.typescript.isWhileStatement(n))return cloneWhileStatement(n,a);if(a.typescript.isLabeledStatement(n))return cloneLabeledStatement(n,a);if(a.typescript.isBreakStatement(n))return cloneBreakStatement(n,a);if(a.typescript.isContinueStatement(n))return cloneContinueStatement(n,a);if(a.typescript.isIfStatement(n))return cloneIfStatement(n,a);if(a.typescript.isDoStatement(n))return cloneDoStatement(n,a);if(a.typescript.isNonNullExpression(n))return cloneNonNullExpression(n,a);if(a.typescript.isTypeOperatorNode(n))return cloneTypeOperatorNode(n,a);if(a.typescript.isIndexedAccessTypeNode(n))return cloneIndexedAccessTypeNode(n,a);if((F=a.typescript).isMappedTypeNode?.call(F,n))return cloneMappedTypeNode(n,a);if(a.typescript.isOmittedExpression(n))return cloneOmittedExpression(n,a);if(isPartiallyEmittedExpression(n,a.typescript))return clonePartiallyEmittedExpression(n,a);if(a.typescript.isPostfixUnaryExpression(n))return clonePostfixUnaryExpression(n,a);if(isNullLiteral(n,a.typescript))return cloneNullLiteral(n,a);if(isThisExpression(n,a.typescript))return cloneThisExpression(n,a);if(isSuperExpression(n,a.typescript))return cloneSuperExpression(n,a);if(a.typescript.isDeleteExpression(n))return cloneDeleteExpression(n,a);if(a.typescript.isTypeOfExpression(n))return cloneTypeOfExpression(n,a);if(a.typescript.isVoidExpression(n))return cloneVoidExpression(n,a);if(a.typescript.isFunctionExpression(n))return cloneFunctionExpression(n,a);if(a.typescript.isSpreadElement(n))return cloneSpreadElement(n,a);if(a.typescript.isTaggedTemplateExpression(n))return cloneTaggedTemplateExpression(n,a);if(a.typescript.isMetaProperty(n))return cloneMetaProperty(n,a);if(a.typescript.isJsxElement(n))return cloneJsxElement(n,a);if(a.typescript.isJsxAttributes(n))return cloneJsxAttributes(n,a);if(a.typescript.isJsxOpeningElement(n))return cloneJsxOpeningElement(n,a);if(a.typescript.isJsxSelfClosingElement(n))return cloneJsxSelfClosingElement(n,a);if(a.typescript.isJsxFragment(n))return cloneJsxFragment(n,a);if(a.typescript.isJsxOpeningFragment(n))return cloneJsxOpeningFragment(n,a);if(a.typescript.isJsxClosingFragment(n))return cloneJsxClosingFragment(n,a);if(a.typescript.isJsxAttribute(n))return cloneJsxAttribute(n,a);if(a.typescript.isJsxSpreadAttribute(n))return cloneJsxSpreadAttribute(n,a);if(a.typescript.isJsxClosingElement(n))return cloneJsxClosingElement(n,a);if(a.typescript.isJsxExpression(n))return cloneJsxExpression(n,a);if(a.typescript.isJsxText(n))return cloneJsxText(n,a);if(isNotEmittedStatement(n,a.typescript))return cloneNotEmittedStatement(n,a);if(isCommaListExpression(n,a.typescript))return cloneCommaListExpression(n,a);if(a.typescript.isDebuggerStatement(n))return cloneDebuggerStatement(n,a);if(a.typescript.isWithStatement(n))return cloneWithStatement(n,a);if(a.typescript.isSwitchStatement(n))return cloneSwitchStatement(n,a);if(a.typescript.isCaseBlock(n))return cloneCaseBlock(n,a);if(a.typescript.isCaseClause(n))return cloneCaseClause(n,a);if(a.typescript.isDefaultClause(n))return cloneDefaultClause(n,a);if(a.typescript.isTryStatement(n))return cloneTryStatement(n,a);if(a.typescript.isCatchClause(n))return cloneCatchClause(n,a);if(a.typescript.isModuleDeclaration(n))return cloneModuleDeclaration(n,a);if(a.typescript.isModuleBlock(n))return cloneModuleBlock(n,a);if(a.typescript.isImportEqualsDeclaration(n))return cloneImportEqualsDeclaration(n,a);if(a.typescript.isExternalModuleReference(n))return cloneExternalModuleReference(n,a);if(a.typescript.isImportDeclaration(n))return cloneImportDeclaration(n,a);if(a.typescript.isImportClause(n))return cloneImportClause(n,a);if(a.typescript.isNamedImports(n))return cloneNamedImports(n,a);if(a.typescript.isNamespaceImport(n))return cloneNamespaceImport(n,a);if(a.typescript.isImportSpecifier(n))return cloneImportSpecifier(n,a);if(a.typescript.isNamespaceExportDeclaration(n))return cloneNamespaceExportDeclaration(n,a);if(a.typescript.isExportDeclaration(n))return cloneExportDeclaration(n,a);if(a.typescript.isNamedExports(n))return cloneNamedExports(n,a);if((I=a.typescript).isNamespaceExport?.call(I,n))return cloneNamespaceExport(n,a);if(isNamedTupleMember$1?.(n,a.typescript))return cloneNamedTupleMember(n,a);if((H=a.typescript).isClassStaticBlockDeclaration?.call(H,n))return cloneClassStaticBlockDeclaration(n,a);if((W=a.typescript).isAssertClause?.call(W,n))return cloneAssertClause(n,a);if((K=a.typescript).isAssertEntry?.call(K,n))return cloneAssertEntry(n,a);if(isImportTypeAssertionContainer(n,a.typescript))return cloneImportTypeAssertionContainer(n,a);if(a.typescript.isExportSpecifier(n))return cloneExportSpecifier(n,a);if(a.typescript.isExportAssignment(n))return cloneExportAssignment(n,a);if(isJsDocComment(n,a.typescript))return cloneJsDoc(n,a);if(isJsDocParameterTag(n,a.typescript))return cloneJsDocParameterTag(n,a);if(isJsDocReturnTag(n,a.typescript))return cloneJsDocReturnTag(n,a);if(isJsDocTypeExpression(n,a.typescript))return cloneJsDocTypeExpression(n,a);if(isJsDocEnumTag(n,a.typescript))return cloneJsDocEnumTag(n,a);if(isJsDocTypeTag(n,a.typescript))return cloneJsDocTypeTag(n,a);if(isJsDocAllType(n,a.typescript))return cloneJsDocAllType(n,a);if(isJsDocUnknownType(n,a.typescript))return cloneJsDocUnknownType(n,a);if(isJsDocNonNullableType(n,a.typescript))return cloneJsDocNonNullableType(n,a);if(isJsDocNullableType(n,a.typescript))return cloneJsDocNullableType(n,a);if(isJsDocOptionalType(n,a.typescript))return cloneJsDocOptionalType(n,a);if(isJsDocFunctionType(n,a.typescript))return cloneJsDocFunctionType(n,a);if(isJsDocVariadicType(n,a.typescript))return cloneJsDocVariadicType(n,a);if(isJsDocNamepathType(n,a.typescript))return cloneJsDocNamepathType(n,a);if(isJsDocUnknownTag(n,a.typescript))return cloneJsDocUnknownTag(n,a);if(isJsDocAugmentsTag(n,a.typescript))return cloneJsDocAugmentsTag(n,a);if(isJsDocAuthorTag(n,a.typescript))return cloneJsDocAuthorTag(n,a);if(isJsDocClassTag(n,a.typescript))return cloneJsDocClassTag(n,a);if(isJsDocThisTag(n,a.typescript))return cloneJsDocThisTag(n,a);if(isJsDocTemplateTag(n,a.typescript))return cloneJsDocTemplateTag(n,a);if(isJsDocTypedefTag(n,a.typescript))return cloneJsDocTypedefTag(n,a);if(isJsDocDeprecatedTag(n,a.typescript))return cloneJsDocDeprecatedTag(n,a);if(isJsDocCallbackTag(n,a.typescript))return cloneJsDocCallbackTag(n,a);if(isJsDocSignature(n,a.typescript))return cloneJsDocSignature(n,a);if(isJsDocPropertyTag(n,a.typescript))return cloneJsDocPropertyTag(n,a);if(isJsDocTypeLiteral(n,a.typescript))return cloneJsDocTypeLiteral(n,a);if(isJsDocReadonlyTag(n,a.typescript))return cloneJsDocReadonlyTag(n,a);if(isJsDocSeeTag(n,a.typescript))return cloneJsDocSeeTag(n,a);if(isJsDocLink(n,a.typescript))return cloneJsDocLink(n,a);if(isJsDocPrivateTag(n,a.typescript))return cloneJsDocPrivateTag(n,a);if(isJsDocProtectedTag(n,a.typescript))return cloneJsDocProtectedTag(n,a);if(isJsDocPublicTag(n,a.typescript))return cloneJsDocPublicTag(n,a);if(isJsDocLinkCode(n,a.typescript))return cloneJsDocLinkCode(n,a);if(isJsDocLinkPlain(n,a.typescript))return cloneJsDocLinkPlain(n,a);if(isJsDocMemberName(n,a.typescript))return cloneJsDocMemberName(n,a);if(a.typescript.isToken(n))return cloneToken(n,a);if(isTemplateLiteralTypeNode(n,a.typescript))return cloneTemplateLiteralTypeNode(n,a);if(isTemplateLiteralTypeSpan(n,a.typescript))return cloneTemplateLiteralTypeSpan(n,a);throw TypeError(`Could not handle Node of kind: '${a.typescript.SyntaxKind[n.kind]}'`)}}var Zb,Qb=__esmMin(()=>{Xb(),Zb=__toESM$1(Yp(),1),__name$1(isOptionalTypeNode$1,`isOptionalTypeNode`),__name$1(isNamedTupleMember$1,`isNamedTupleMember`)});function is__String(n){return typeof n==`string`}function getIdentifierName(n){return is__String(n)?n:nx(n)||ax(n)?$b.default.unescapeLeadingUnderscores(n.escapedText):ox(n)?n.text:``}function getEscapedText(n){return is__String(n)?n:nx(n)||ax(n)?n.escapedText:getIdentifierName(n)}function findSourceFile(n){if(n.kind===fx.SourceFile)return n;let a=n.parent;for(;a&&a.kind!==fx.SourceFile;)a=a.parent;return a}function joinQualifiedName(n){return nx(n)?getIdentifierName(n):joinQualifiedName(n.left)+`_`+getIdentifierName(n.right)}function getCommentOfNode(n,a){let S=lx(n.text,a.pos);if(S)return S.map(a=>n.text.substring(a.pos,a.end)).join(`
684
+ `),C=C.startsWith(`/**`)||C.startsWith(`/*`)?C.slice(2,C.length-2):C.slice(2),S.push({...n,text:C})}return S}function preserveAllComments(n,a){a.preserveComments&&(preserveCommentsForOriginalNode(n,a),a.typescript.forEachChild(n,n=>{preserveAllComments(n,a)}))}function preserveCommentsForOriginalNode(n,a){if(a.typescript.isSourceFile(n))return;let S=getOriginalNode(n,a);n!==S&&preserveComments(n,S,a)}function preserveComments(n,a,S){if(!S.preserveComments||n.pos>-1&&n.end>=-1)return n;n.jsDoc==null&&a.jsDoc!=null&&(n.jsDoc=a.jsDoc);let C=getCommentRanges(a,S);C.length>0&&(S.typescript.setSyntheticLeadingComments(n,void 0),S.typescript.setSyntheticTrailingComments(n,void 0));for(let{isLeading:a,text:N,hasTrailingNewLine:F,kind:I}of C)a?S.typescript.addSyntheticLeadingComment(n,I,N,F):S.typescript.addSyntheticTrailingComment(n,I,N,F);return n}function nextOptions(n){return{...n,depth:n.depth+1}}function payload({depth:n}){return{depth:n}}function cloneNamespaceExport(n,a){return a.factory.createNamespaceExport(a.hook(`name`,a.nextNode(n.name),n.name))}function isJsDocReadonlyTag(n,a){return`isJSDocReadonlyTag`in a?a.isJSDocReadonlyTag(n):n.kind===a.SyntaxKind.JSDocReadonlyTag}function cloneJsDocReadonlyTag(n,a){let S=a.factory.createJSDocReadonlyTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocSeeTag(n,a){return`isJSDocSeeTag`in a?a.isJSDocSeeTag(n):n.kind===a.SyntaxKind.JSDocSeeTag}function cloneJsDocSeeTag(n,a){let S=a.factory.createJSDocSeeTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`name`,n.name,n.name),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPrivateTag(n,a){return`isJSDocPrivateTag`in a?a.isJSDocPrivateTag(n):n.kind===a.SyntaxKind.JSDocPrivateTag}function cloneJsDocPrivateTag(n,a){let S=a.factory.createJSDocPrivateTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocProtectedTag(n,a){return`isJSDocProtectedTag`in a?a.isJSDocProtectedTag(n):n.kind===a.SyntaxKind.JSDocProtectedTag}function cloneJsDocProtectedTag(n,a){let S=a.factory.createJSDocProtectedTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocPublicTag(n,a){return`isJSDocPublicTag`in a?a.isJSDocPublicTag(n):n.kind===a.SyntaxKind.JSDocPublicTag}function cloneJsDocPublicTag(n,a){let S=a.factory.createJSDocPublicTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function clonePrivateIdentifier(n,a){return a.factory.createPrivateIdentifier(a.hook(`text`,n.text,n.text))}function toSetParentNodesOptions(n){return{typescript:n.typescript??Qb.default,propertyName:n.propertyName??`parent`,deep:n.deep??!0}}function isNamedTupleMember$1(n,a){return a.SyntaxKind.NamedTupleMember!=null&&n.kind===a.SyntaxKind.NamedTupleMember}function cloneNamedTupleMember(n,a){return a.factory.createNamedTupleMember(a.hook(`dotDotDotToken`,a.nextNode(n.dotDotDotToken),n.dotDotDotToken),a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`questionToken`,a.nextNode(n.questionToken),n.questionToken),a.hook(`type`,a.nextNode(n.type),n.type))}function isJsDocDeprecatedTag(n,a){return`JSDocDeprecatedTag`in a?a.isJSDocDeprecatedTag(n):n.kind===a.SyntaxKind.JSDocDeprecatedTag}function cloneJsDocDeprecatedTag(n,a){let S=a.factory.createJSDocDeprecatedTag(a.hook(`tagName`,a.nextNode(n.tagName),n.tagName),a.hook(`comment`,n.comment,n.comment));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isTemplateLiteralTypeNode(n,a){return a.SyntaxKind.TemplateLiteralType!=null&&n.kind===a.SyntaxKind.TemplateLiteralType}function cloneTemplateLiteralTypeNode(n,a){return a.factory.createTemplateLiteralType(a.hook(`head`,a.nextNode(n.head),n.head),a.hook(`templateSpans`,a.nextNodes(n.templateSpans),n.templateSpans))}function isTemplateLiteralTypeSpan(n,a){return a.SyntaxKind.TemplateLiteralTypeSpan!=null&&n.kind===a.SyntaxKind.TemplateLiteralTypeSpan}function cloneTemplateLiteralTypeSpan(n,a){return a.factory.createTemplateLiteralTypeSpan(a.hook(`type`,a.nextNode(n.type),n.type),a.hook(`literal`,a.nextNode(n.literal),n.literal))}function isJsDocLink(n,a){return`isJSDocLink`in a?a.isJSDocLink(n):n.kind===a.SyntaxKind.JSDocLink}function cloneJsDocLink(n,a){let S=a.factory.createJSDocLink(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function clonePropertyAccessChain(n,a){return a.factory.createPropertyAccessChain(a.hook(`expression`,a.nextNode(n.expression),n.expression),a.hook(`questionDotToken`,a.nextNode(n.questionDotToken),n.questionDotToken),a.hook(`name`,a.nextNode(n.name),n.name))}function cloneClassStaticBlockDeclaration(n,a){return a.factory.createClassStaticBlockDeclaration(a.hook(`body`,a.nextNode(n.body),n.body))}function isJsDocLinkCode(n,a){return`isJSDocLinkCode`in a?a.isJSDocLinkCode(n):n.kind===a.SyntaxKind.JSDocLinkCode}function cloneJsDocLinkCode(n,a){let S=a.factory.createJSDocLinkCode(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocLinkPlain(n,a){return`isJSDocLinkPlain`in a?a.isJSDocLinkPlain(n):n.kind===a.SyntaxKind.JSDocLinkPlain}function cloneJsDocLinkPlain(n,a){let S=a.factory.createJSDocLinkPlain(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`text`,n.text,n.text));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function isJsDocMemberName(n,a){return`isJSDocMemberName`in a?a.isJSDocMemberName(n):n.kind===a.SyntaxKind.JSDocMemberName}function cloneJsDocMemberName(n,a){let S=a.factory.createJSDocMemberName(a.hook(`left`,a.nextNode(n.left),n.left),a.hook(`right`,a.nextNode(n.right),n.right));return S.flags=a.hook(`flags`,n.flags|=8,n.flags|=8),S}function cloneAssertClause(n,a){return a.factory.createAssertClause(ensureNodeArray(a.hook(`elements`,a.nextNodes(n.elements),n.elements),a.factory),a.hook(`multiLine`,n.multiLine,n.multiLine))}function cloneAssertEntry(n,a){return a.factory.createAssertEntry(a.hook(`name`,a.nextNode(n.name),n.name),a.hook(`value`,a.nextNode(n.value),n.value))}function isImportTypeAssertionContainer(n,a){return a.SyntaxKind.ImportTypeAssertionContainer!=null&&n.kind===a.SyntaxKind.ImportTypeAssertionContainer}function cloneImportTypeAssertionContainer(n,a){return a.factory.createImportTypeAssertionContainer(a.hook(`assertClause`,a.nextNode(n.assertClause),n.assertClause),a.hook(`multiLine`,n.multiLine,n.multiLine))}function cloneNode(n,a={}){if(n===void 0)return;let S=toInternalOptions(a),C=nextNode(n,S);if(executePreserveNode(C,n,S),C!=null){let a=n._parent??n.parent??C._parent??C.parent;S.setParents?C.parent=a:C._parent=a}return C}function nextNode(n,a){if(n===void 0)return;let S=a.hook(n,payload(a))??{},C={...a,nextNode:n=>nextNode(n,nextOptions(a)),nextNodes:(n=>nextNodes(n,nextOptions(a))),hook:(n,a,C)=>{let N=S[n];return N==null?a:N(a,C)}},N=executeCloneNode(n,C);if(N!==void 0)return n.jsDoc!=null&&(N.jsDoc=C.hook(`jsDoc`,C.nextNodes(n.jsDoc),n.jsDoc)),setOriginalNodes(N,n,a),preserveSymbols(N,n,a),a.finalize==null?N:a.finalize(N,n,payload(a))??N}function executePreserveNode(n,a,S){n==null||a==null||n===a||(setParents(n,toSetParentNodesOptions({...S,propertyName:S.setParents?`parent`:`_parent`})),preserveAllComments(n,S),preserveComments(n,a,S),setOriginalNodes(n,a,S),preserveSymbols(n,a,S))}function setOriginalNodes(n,a,S){n!==a&&(S.setOriginalNodes?(S.typescript.setOriginalNode(n,a),n._original=n.original):n._original=a)}function preserveSymbols(n,a,S){if(n===a)return n;let C=a._symbol??a.symbol;return C!=null&&(n._symbol=C),S.preserveSymbols&&(n.symbol=n._symbol),n}function nextNodes(n,a){if(n!==void 0)return n.map(n=>nextNode(n,a))}function executeCloneNode(n,a){var S,C,N,F,I,H,W,K;if(n!=null){if(a.typescript.isSourceFile(n))return cloneSourceFile(n,a);if(a.typescript.isIdentifier(n))return cloneIdentifier(n,a);if((S=a.typescript).isPrivateIdentifier?.call(S,n))return clonePrivateIdentifier(n,a);if(a.typescript.isTypeAliasDeclaration(n))return cloneTypeAliasDeclaration(n,a);if(a.typescript.isTypeParameterDeclaration(n))return cloneTypeParameterDeclaration(n,a);if(a.typescript.isDecorator(n))return cloneDecorator(n,a);if(a.typescript.isQualifiedName(n))return cloneQualifiedName(n,a);if(a.typescript.isComputedPropertyName(n))return cloneComputedPropertyName(n,a);if(a.typescript.isCallSignatureDeclaration(n))return cloneCallSignatureDeclaration(n,a);if(a.typescript.isConstructSignatureDeclaration(n))return cloneConstructSignatureDeclaration(n,a);if(a.typescript.isVariableDeclaration(n))return cloneVariableDeclaration(n,a);if(a.typescript.isVariableDeclarationList(n))return cloneVariableDeclarationList(n,a);if(a.typescript.isVariableStatement(n))return cloneVariableStatement(n,a);if(a.typescript.isParameter(n))return cloneParameterDeclaration(n,a);if(a.typescript.isBindingElement(n))return cloneBindingElement(n,a);if(a.typescript.isPropertySignature(n))return clonePropertySignature(n,a);if(a.typescript.isPropertyDeclaration(n))return clonePropertyDeclaration(n,a);if(a.typescript.isPropertyAssignment(n))return clonePropertyAssignment(n,a);if(a.typescript.isShorthandPropertyAssignment(n))return cloneShorthandPropertyAssignment(n,a);if(a.typescript.isSpreadAssignment(n))return cloneSpreadAssignment(n,a);if(a.typescript.isObjectBindingPattern(n))return cloneObjectBindingPattern(n,a);if(a.typescript.isArrayBindingPattern(n))return cloneArrayBindingPattern(n,a);if(a.typescript.isFunctionDeclaration(n))return cloneFunctionDeclaration(n,a);if(a.typescript.isMethodSignature(n))return cloneMethodSignature(n,a);if(a.typescript.isMethodDeclaration(n))return cloneMethodDeclaration(n,a);if(a.typescript.isConstructorDeclaration(n))return cloneConstructorDeclaration(n,a);if(a.typescript.isSemicolonClassElement(n))return cloneSemicolonClassElement(n,a);if(a.typescript.isGetAccessorDeclaration(n))return cloneGetAccessorDeclaration(n,a);if(a.typescript.isSetAccessorDeclaration(n))return cloneSetAccessorDeclaration(n,a);if(a.typescript.isIndexSignatureDeclaration(n))return cloneIndexSignatureDeclaration(n,a);if(isKeywordTypeNode(n,a.typescript))return cloneKeywordTypeNode(n,a);if(a.typescript.isImportTypeNode(n))return cloneImportTypeNode(n,a);if(a.typescript.isThisTypeNode(n))return cloneThisTypeNode(n,a);if(a.typescript.isFunctionTypeNode(n))return cloneFunctionTypeNode(n,a);if(a.typescript.isConstructorTypeNode(n))return cloneConstructorTypeNode(n,a);if(a.typescript.isTypeReferenceNode(n))return cloneTypeReferenceNode(n,a);if(a.typescript.isTypePredicateNode(n))return cloneTypePredicateNode(n,a);if(a.typescript.isTypeQueryNode(n))return cloneTypeQueryNode(n,a);if(a.typescript.isTypeLiteralNode(n))return cloneTypeLiteralNode(n,a);if(a.typescript.isArrayTypeNode(n))return cloneArrayTypeNode(n,a);if(a.typescript.isTupleTypeNode(n))return cloneTupleTypeNode(n,a);if(isOptionalTypeNode$1(n,a.typescript))return cloneOptionalTypeNode(n,a);if(isRestTypeNode(n,a.typescript))return cloneRestTypeNode(n,a);if(a.typescript.isUnionTypeNode(n))return cloneUnionTypeNode(n,a);if(a.typescript.isIntersectionTypeNode(n))return cloneIntersectionTypeNode(n,a);if(a.typescript.isConditionalTypeNode(n))return cloneConditionalTypeNode(n,a);if(a.typescript.isInferTypeNode(n))return cloneInferTypeNode(n,a);if(a.typescript.isLiteralTypeNode(n))return cloneLiteralTypeNode(n,a);if(a.typescript.isStringLiteral(n))return cloneStringLiteral(n,a);if(isBooleanLiteral(n,a.typescript))return cloneBooleanLiteral(n,a);if(a.typescript.isRegularExpressionLiteral(n))return cloneRegularExpressionLiteral(n,a);if(a.typescript.isNoSubstitutionTemplateLiteral(n))return cloneNoSubstitutionTemplateLiteral(n,a);if(a.typescript.isNumericLiteral(n))return cloneNumericLiteral(n,a);if((C=a.typescript).isBigIntLiteral?.call(C,n))return cloneBigIntLiteral(n,a);if(a.typescript.isArrayLiteralExpression(n))return cloneArrayLiteralExpression(n,a);if(a.typescript.isObjectLiteralExpression(n))return cloneObjectLiteralExpression(n,a);if(a.typescript.isPrefixUnaryExpression(n))return clonePrefixUnaryExpression(n,a);if(a.typescript.isBlock(n))return cloneBlock(n,a);if(a.typescript.isThrowStatement(n))return cloneThrowStatement(n,a);if(a.typescript.isReturnStatement(n))return cloneReturnStatement(n,a);if(a.typescript.isNewExpression(n))return cloneNewExpression(n,a);if(a.typescript.isCallExpression(n))return cloneCallExpression(n,a);if(a.typescript.isExpressionStatement(n))return cloneExpressionStatement(n,a);if(a.typescript.isExpressionWithTypeArguments(n))return cloneExpressionWithTypeArguments(n,a);if((N=a.typescript).isPropertyAccessChain?.call(N,n))return clonePropertyAccessChain(n,a);if(a.typescript.isPropertyAccessExpression(n))return clonePropertyAccessExpression(n,a);if(a.typescript.isElementAccessExpression(n))return cloneElementAccessExpression(n,a);if(a.typescript.isTemplateExpression(n))return cloneTemplateExpression(n,a);if(a.typescript.isTemplateSpan(n))return cloneTemplateSpan(n,a);if(a.typescript.isTemplateHead(n))return cloneTemplateHead(n,a);if(a.typescript.isTemplateMiddle(n))return cloneTemplateMiddle(n,a);if(a.typescript.isTemplateTail(n))return cloneTemplateTail(n,a);if(a.typescript.isConditionalExpression(n))return cloneConditionalExpression(n,a);if(a.typescript.isBinaryExpression(n))return cloneBinaryExpression(n,a);if(a.typescript.isParenthesizedExpression(n))return cloneParenthesizedExpression(n,a);if(a.typescript.isParenthesizedTypeNode(n))return cloneParenthesizedTypeNode(n,a);if(a.typescript.isArrowFunction(n))return cloneArrowFunction(n,a);if(a.typescript.isClassDeclaration(n))return cloneClassDeclaration(n,a);if(a.typescript.isClassExpression(n))return cloneClassExpression(n,a);if(a.typescript.isEnumDeclaration(n))return cloneEnumDeclaration(n,a);if(a.typescript.isEnumMember(n))return cloneEnumMember(n,a);if(a.typescript.isInterfaceDeclaration(n))return cloneInterfaceDeclaration(n,a);if(a.typescript.isHeritageClause(n))return cloneHeritageClause(n,a);if(a.typescript.isEmptyStatement(n))return cloneEmptyStatement(n,a);if(a.typescript.isAsExpression(n))return cloneAsExpression(n,a);if(a.typescript.isTypeAssertionExpression(n))return cloneTypeAssertion(n,a);if(a.typescript.isAwaitExpression(n))return cloneAwaitExpression(n,a);if(a.typescript.isYieldExpression(n))return cloneYieldExpression(n,a);if(a.typescript.isForOfStatement(n))return cloneForOfStatement(n,a);if(a.typescript.isForInStatement(n))return cloneForInStatement(n,a);if(a.typescript.isForStatement(n))return cloneForStatement(n,a);if(a.typescript.isWhileStatement(n))return cloneWhileStatement(n,a);if(a.typescript.isLabeledStatement(n))return cloneLabeledStatement(n,a);if(a.typescript.isBreakStatement(n))return cloneBreakStatement(n,a);if(a.typescript.isContinueStatement(n))return cloneContinueStatement(n,a);if(a.typescript.isIfStatement(n))return cloneIfStatement(n,a);if(a.typescript.isDoStatement(n))return cloneDoStatement(n,a);if(a.typescript.isNonNullExpression(n))return cloneNonNullExpression(n,a);if(a.typescript.isTypeOperatorNode(n))return cloneTypeOperatorNode(n,a);if(a.typescript.isIndexedAccessTypeNode(n))return cloneIndexedAccessTypeNode(n,a);if((F=a.typescript).isMappedTypeNode?.call(F,n))return cloneMappedTypeNode(n,a);if(a.typescript.isOmittedExpression(n))return cloneOmittedExpression(n,a);if(isPartiallyEmittedExpression(n,a.typescript))return clonePartiallyEmittedExpression(n,a);if(a.typescript.isPostfixUnaryExpression(n))return clonePostfixUnaryExpression(n,a);if(isNullLiteral(n,a.typescript))return cloneNullLiteral(n,a);if(isThisExpression(n,a.typescript))return cloneThisExpression(n,a);if(isSuperExpression(n,a.typescript))return cloneSuperExpression(n,a);if(a.typescript.isDeleteExpression(n))return cloneDeleteExpression(n,a);if(a.typescript.isTypeOfExpression(n))return cloneTypeOfExpression(n,a);if(a.typescript.isVoidExpression(n))return cloneVoidExpression(n,a);if(a.typescript.isFunctionExpression(n))return cloneFunctionExpression(n,a);if(a.typescript.isSpreadElement(n))return cloneSpreadElement(n,a);if(a.typescript.isTaggedTemplateExpression(n))return cloneTaggedTemplateExpression(n,a);if(a.typescript.isMetaProperty(n))return cloneMetaProperty(n,a);if(a.typescript.isJsxElement(n))return cloneJsxElement(n,a);if(a.typescript.isJsxAttributes(n))return cloneJsxAttributes(n,a);if(a.typescript.isJsxOpeningElement(n))return cloneJsxOpeningElement(n,a);if(a.typescript.isJsxSelfClosingElement(n))return cloneJsxSelfClosingElement(n,a);if(a.typescript.isJsxFragment(n))return cloneJsxFragment(n,a);if(a.typescript.isJsxOpeningFragment(n))return cloneJsxOpeningFragment(n,a);if(a.typescript.isJsxClosingFragment(n))return cloneJsxClosingFragment(n,a);if(a.typescript.isJsxAttribute(n))return cloneJsxAttribute(n,a);if(a.typescript.isJsxSpreadAttribute(n))return cloneJsxSpreadAttribute(n,a);if(a.typescript.isJsxClosingElement(n))return cloneJsxClosingElement(n,a);if(a.typescript.isJsxExpression(n))return cloneJsxExpression(n,a);if(a.typescript.isJsxText(n))return cloneJsxText(n,a);if(isNotEmittedStatement(n,a.typescript))return cloneNotEmittedStatement(n,a);if(isCommaListExpression(n,a.typescript))return cloneCommaListExpression(n,a);if(a.typescript.isDebuggerStatement(n))return cloneDebuggerStatement(n,a);if(a.typescript.isWithStatement(n))return cloneWithStatement(n,a);if(a.typescript.isSwitchStatement(n))return cloneSwitchStatement(n,a);if(a.typescript.isCaseBlock(n))return cloneCaseBlock(n,a);if(a.typescript.isCaseClause(n))return cloneCaseClause(n,a);if(a.typescript.isDefaultClause(n))return cloneDefaultClause(n,a);if(a.typescript.isTryStatement(n))return cloneTryStatement(n,a);if(a.typescript.isCatchClause(n))return cloneCatchClause(n,a);if(a.typescript.isModuleDeclaration(n))return cloneModuleDeclaration(n,a);if(a.typescript.isModuleBlock(n))return cloneModuleBlock(n,a);if(a.typescript.isImportEqualsDeclaration(n))return cloneImportEqualsDeclaration(n,a);if(a.typescript.isExternalModuleReference(n))return cloneExternalModuleReference(n,a);if(a.typescript.isImportDeclaration(n))return cloneImportDeclaration(n,a);if(a.typescript.isImportClause(n))return cloneImportClause(n,a);if(a.typescript.isNamedImports(n))return cloneNamedImports(n,a);if(a.typescript.isNamespaceImport(n))return cloneNamespaceImport(n,a);if(a.typescript.isImportSpecifier(n))return cloneImportSpecifier(n,a);if(a.typescript.isNamespaceExportDeclaration(n))return cloneNamespaceExportDeclaration(n,a);if(a.typescript.isExportDeclaration(n))return cloneExportDeclaration(n,a);if(a.typescript.isNamedExports(n))return cloneNamedExports(n,a);if((I=a.typescript).isNamespaceExport?.call(I,n))return cloneNamespaceExport(n,a);if(isNamedTupleMember$1?.(n,a.typescript))return cloneNamedTupleMember(n,a);if((H=a.typescript).isClassStaticBlockDeclaration?.call(H,n))return cloneClassStaticBlockDeclaration(n,a);if((W=a.typescript).isAssertClause?.call(W,n))return cloneAssertClause(n,a);if((K=a.typescript).isAssertEntry?.call(K,n))return cloneAssertEntry(n,a);if(isImportTypeAssertionContainer(n,a.typescript))return cloneImportTypeAssertionContainer(n,a);if(a.typescript.isExportSpecifier(n))return cloneExportSpecifier(n,a);if(a.typescript.isExportAssignment(n))return cloneExportAssignment(n,a);if(isJsDocComment(n,a.typescript))return cloneJsDoc(n,a);if(isJsDocParameterTag(n,a.typescript))return cloneJsDocParameterTag(n,a);if(isJsDocReturnTag(n,a.typescript))return cloneJsDocReturnTag(n,a);if(isJsDocTypeExpression(n,a.typescript))return cloneJsDocTypeExpression(n,a);if(isJsDocEnumTag(n,a.typescript))return cloneJsDocEnumTag(n,a);if(isJsDocTypeTag(n,a.typescript))return cloneJsDocTypeTag(n,a);if(isJsDocAllType(n,a.typescript))return cloneJsDocAllType(n,a);if(isJsDocUnknownType(n,a.typescript))return cloneJsDocUnknownType(n,a);if(isJsDocNonNullableType(n,a.typescript))return cloneJsDocNonNullableType(n,a);if(isJsDocNullableType(n,a.typescript))return cloneJsDocNullableType(n,a);if(isJsDocOptionalType(n,a.typescript))return cloneJsDocOptionalType(n,a);if(isJsDocFunctionType(n,a.typescript))return cloneJsDocFunctionType(n,a);if(isJsDocVariadicType(n,a.typescript))return cloneJsDocVariadicType(n,a);if(isJsDocNamepathType(n,a.typescript))return cloneJsDocNamepathType(n,a);if(isJsDocUnknownTag(n,a.typescript))return cloneJsDocUnknownTag(n,a);if(isJsDocAugmentsTag(n,a.typescript))return cloneJsDocAugmentsTag(n,a);if(isJsDocAuthorTag(n,a.typescript))return cloneJsDocAuthorTag(n,a);if(isJsDocClassTag(n,a.typescript))return cloneJsDocClassTag(n,a);if(isJsDocThisTag(n,a.typescript))return cloneJsDocThisTag(n,a);if(isJsDocTemplateTag(n,a.typescript))return cloneJsDocTemplateTag(n,a);if(isJsDocTypedefTag(n,a.typescript))return cloneJsDocTypedefTag(n,a);if(isJsDocDeprecatedTag(n,a.typescript))return cloneJsDocDeprecatedTag(n,a);if(isJsDocCallbackTag(n,a.typescript))return cloneJsDocCallbackTag(n,a);if(isJsDocSignature(n,a.typescript))return cloneJsDocSignature(n,a);if(isJsDocPropertyTag(n,a.typescript))return cloneJsDocPropertyTag(n,a);if(isJsDocTypeLiteral(n,a.typescript))return cloneJsDocTypeLiteral(n,a);if(isJsDocReadonlyTag(n,a.typescript))return cloneJsDocReadonlyTag(n,a);if(isJsDocSeeTag(n,a.typescript))return cloneJsDocSeeTag(n,a);if(isJsDocLink(n,a.typescript))return cloneJsDocLink(n,a);if(isJsDocPrivateTag(n,a.typescript))return cloneJsDocPrivateTag(n,a);if(isJsDocProtectedTag(n,a.typescript))return cloneJsDocProtectedTag(n,a);if(isJsDocPublicTag(n,a.typescript))return cloneJsDocPublicTag(n,a);if(isJsDocLinkCode(n,a.typescript))return cloneJsDocLinkCode(n,a);if(isJsDocLinkPlain(n,a.typescript))return cloneJsDocLinkPlain(n,a);if(isJsDocMemberName(n,a.typescript))return cloneJsDocMemberName(n,a);if(a.typescript.isToken(n))return cloneToken(n,a);if(isTemplateLiteralTypeNode(n,a.typescript))return cloneTemplateLiteralTypeNode(n,a);if(isTemplateLiteralTypeSpan(n,a.typescript))return cloneTemplateLiteralTypeSpan(n,a);throw TypeError(`Could not handle Node of kind: '${a.typescript.SyntaxKind[n.kind]}'`)}}var Qb,$b=__esmMin(()=>{Zb(),Qb=__toESM$1(Yp(),1),__name$1(isOptionalTypeNode$1,`isOptionalTypeNode`),__name$1(isNamedTupleMember$1,`isNamedTupleMember`)});function is__String(n){return typeof n==`string`}function getIdentifierName(n){return is__String(n)?n:rx(n)||ox(n)?ex.default.unescapeLeadingUnderscores(n.escapedText):sx(n)?n.text:``}function getEscapedText(n){return is__String(n)?n:rx(n)||ox(n)?n.escapedText:getIdentifierName(n)}function findSourceFile(n){if(n.kind===px.SourceFile)return n;let a=n.parent;for(;a&&a.kind!==px.SourceFile;)a=a.parent;return a}function joinQualifiedName(n){return rx(n)?getIdentifierName(n):joinQualifiedName(n.left)+`_`+getIdentifierName(n.right)}function getCommentOfNode(n,a){let S=ux(n.text,a.pos);if(S)return S.map(a=>n.text.substring(a.pos,a.end)).join(`
685
685
  `)}function parseJSDocAttributeFromText(n,a){let S=n.indexOf(`@`+a+` `);if(S===-1){let S=0;for(;;){let C=n.indexOf(`@`+a,S);if(C===-1)return;let N=n[C+a.length+1];if(!N||N===` `||N===`
686
686
  `||N===`\r`||N===` `)return``;S=C+a.length+1}return}let C=S+a.length+2,N=n.indexOf(`@`,C),F=n.indexOf(`*/`,C),I=N===-1?F:Math.min(N,F);return n.substring(C,I).trim().split(`
687
687
  `).map(n=>{let a=n.indexOf(`*`);return a===-1?n.trim():n.substring(a+1).trim()}).join(`
688
- `)}function extractJSDocAttribute(n,a,S){if(!a)return;let C=getCommentOfNode(n,a);if(C)return parseJSDocAttributeFromText(C,S)}function getPropertyName(n,a){return a?nx(a)?getIdentifierName(a):ox(a)?a.text:ix(a)?+a.text:ux(a)?a.text:tx(a)?n.createArrowFunction(void 0,void 0,[],void 0,void 0,a.expression):ax(a)?getIdentifierName(a):``:``}function getNameAsString(n){return n?nx(n)?getIdentifierName(n):ox(n)||ix(n)||(0,$b.isBigIntLiteral)(n)||ux(n)?n.text:tx(n)?sx(n)||ix(n)?n.text:``:ax(n)?getIdentifierName(n):joinQualifiedName(n):``}function hasModifier(n,a){return n.modifiers?n.modifiers.some(n=>n.kind===a):!1}function isExternalOrCommonJsModule(n){return(n.externalModuleIndicator||n.commonJsModuleIndicator)!==void 0}function isNodeWithLocals(n){return`locals`in n}function getGlobalsOfSourceFile(n){if(!n.redirectInfo&&isNodeWithLocals(n)){if(!isExternalOrCommonJsModule(n))return n.locals;if(n.jsGlobalAugmentations)return n.jsGlobalAugmentations;if(n.symbol&&n.symbol.globalExports)return n.symbol.globalExports}}function ensureImportIsEmitted(n,a){if(a&&n.importClause&&n.importClause.namedBindings&&rx(n.importClause.namedBindings)){for(let S of n.importClause.namedBindings.elements)if(S.name.escapedText===a.escapedText){S.flags|=dx.Synthesized;return}}n.flags|=dx.Synthesized}function serializeEntityNameAsExpression(n,a){switch(a.kind){case fx.Identifier:return finish(a,n.createIdentifier(getIdentifierName(a)));case fx.QualifiedName:return finish(a,serializeQualifiedNameAsExpression(n,a))}return a}function serializeQualifiedNameAsExpression(n,a){return n.createPropertyAccessExpression(serializeEntityNameAsExpression(n,a.left),a.right)}function finish(n,a){return cx(a,n),a._original=a.original,a._symbol=n._symbol??n.symbol,a.symbol=a._symbol,a}var $b,ex,tx,nx,rx,ix,ax,ox,sx,cx,lx,ux,dx,fx,cloneHook,NodeConverter,px=__esmMin(()=>{Ae(),$b=__toESM$1(Yp(),1),Qb(),{isArrowFunction:ex,isComputedPropertyName:tx,isIdentifier:nx,isNamedImports:rx,isNumericLiteral:ix,isPrivateIdentifier:ax,isStringLiteral:ox,isStringLiteralLike:sx,setOriginalNode:cx,getLeadingCommentRanges:lx,isNoSubstitutionTemplateLiteral:ux,NodeFlags:dx,SyntaxKind:fx}=$b.default,cloneHook=(n,a)=>{if(nx(n))return{text:()=>getIdentifierName(n)}},NodeConverter=class{constructor(n){this.f=n}toExpression(n){if(n===void 0)return this.f.createIdentifier(`undefined`);if(Array.isArray(n))return this.f.createArrayLiteralExpression(this.f.createNodeArray(n.map(n=>this.toExpression(n))));if(typeof n==`string`)return this.f.createStringLiteral(n,!0);if(typeof n==`number`)return this.f.createNumericLiteral(n);if(typeof n==`bigint`)return this.f.createBigIntLiteral(String(n));if(typeof n==`boolean`)return n?this.f.createTrue():this.f.createFalse();if(n.pos===-1&&n.end===-1&&n.parent===void 0)return ex(n)?n.body.pos===-1&&n.body.end===-1&&n.body.parent===void 0?n:this.f.createArrowFunction(n.modifiers,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,this.toExpression(n.body)):n;switch(n.kind){case fx.Identifier:return finish(n,this.f.createIdentifier(getIdentifierName(n)));case fx.StringLiteral:return finish(n,this.f.createStringLiteral(n.text));case fx.NumericLiteral:return finish(n,this.f.createNumericLiteral(n.text));case fx.BigIntLiteral:return finish(n,this.f.createBigIntLiteral(n.text));case fx.TrueKeyword:return finish(n,this.f.createTrue());case fx.FalseKeyword:return finish(n,this.f.createFalse())}try{return cloneNode(n,{preserveComments:!1,factory:this.f,setOriginalNodes:!0,preserveSymbols:!0,setParents:!0,hook:cloneHook})}catch(a){throw ke.error(`could not clone node`,n),a}}}}),mx,hx,gx=__esmMin(()=>{(function(n){n[n.integer=0]=`integer`,n[n.int8=1]=`int8`,n[n.int16=2]=`int16`,n[n.int32=3]=`int32`,n[n.uint8=4]=`uint8`,n[n.uint16=5]=`uint16`,n[n.uint32=6]=`uint32`,n[n.float=7]=`float`,n[n.float32=8]=`float32`,n[n.float64=9]=`float64`})(mx||={}),(function(n){n[n.never=0]=`never`,n[n.any=1]=`any`,n[n.unknown=2]=`unknown`,n[n.void=3]=`void`,n[n.object=4]=`object`,n[n.string=5]=`string`,n[n.number=6]=`number`,n[n.numberBrand=7]=`numberBrand`,n[n.boolean=8]=`boolean`,n[n.bigint=9]=`bigint`,n[n.symbol=10]=`symbol`,n[n.null=11]=`null`,n[n.undefined=12]=`undefined`,n[n.literal=13]=`literal`,n[n.function=14]=`function`,n[n.method=15]=`method`,n[n.methodSignature=16]=`methodSignature`,n[n.parameter=17]=`parameter`,n[n.property=18]=`property`,n[n.propertySignature=19]=`propertySignature`,n[n.class=20]=`class`,n[n.classExtends=21]=`classExtends`,n[n.classReference=22]=`classReference`,n[n.optional=23]=`optional`,n[n.readonly=24]=`readonly`,n[n.public=25]=`public`,n[n.private=26]=`private`,n[n.protected=27]=`protected`,n[n.abstract=28]=`abstract`,n[n.defaultValue=29]=`defaultValue`,n[n.description=30]=`description`,n[n.rest=31]=`rest`,n[n.regexp=32]=`regexp`,n[n.enum=33]=`enum`,n[n.enumMember=34]=`enumMember`,n[n.set=35]=`set`,n[n.map=36]=`map`,n[n.array=37]=`array`,n[n.tuple=38]=`tuple`,n[n.tupleMember=39]=`tupleMember`,n[n.namedTupleMember=40]=`namedTupleMember`,n[n.union=41]=`union`,n[n.intersection=42]=`intersection`,n[n.indexSignature=43]=`indexSignature`,n[n.objectLiteral=44]=`objectLiteral`,n[n.mappedType=45]=`mappedType`,n[n.in=46]=`in`,n[n.frame=47]=`frame`,n[n.moveFrame=48]=`moveFrame`,n[n.return=49]=`return`,n[n.templateLiteral=50]=`templateLiteral`,n[n.date=51]=`date`,n[n.int8Array=52]=`int8Array`,n[n.uint8ClampedArray=53]=`uint8ClampedArray`,n[n.uint8Array=54]=`uint8Array`,n[n.int16Array=55]=`int16Array`,n[n.uint16Array=56]=`uint16Array`,n[n.int32Array=57]=`int32Array`,n[n.uint32Array=58]=`uint32Array`,n[n.float32Array=59]=`float32Array`,n[n.float64Array=60]=`float64Array`,n[n.bigInt64Array=61]=`bigInt64Array`,n[n.arrayBuffer=62]=`arrayBuffer`,n[n.promise=63]=`promise`,n[n.arg=64]=`arg`,n[n.typeParameter=65]=`typeParameter`,n[n.typeParameterDefault=66]=`typeParameterDefault`,n[n.var=67]=`var`,n[n.loads=68]=`loads`,n[n.indexAccess=69]=`indexAccess`,n[n.keyof=70]=`keyof`,n[n.infer=71]=`infer`,n[n.typeof=72]=`typeof`,n[n.condition=73]=`condition`,n[n.jumpCondition=74]=`jumpCondition`,n[n.jump=75]=`jump`,n[n.call=76]=`call`,n[n.inline=77]=`inline`,n[n.inlineCall=78]=`inlineCall`,n[n.distribute=79]=`distribute`,n[n.extends=80]=`extends`,n[n.widen=81]=`widen`,n[n.static=82]=`static`,n[n.mappedType2=83]=`mappedType2`,n[n.functionReference=84]=`functionReference`,n[n.callSignature=85]=`callSignature`,n[n.typeName=86]=`typeName`,n[n.implements=87]=`implements`,n[n.nominal=88]=`nominal`})(hx||={})}),_x=__esmMin(()=>{gx()});function patternMatch(n,a,S){let C=a.filter(n=>n[0]!==`!`),N=a.filter(n=>n[0]===`!`).map(n=>n.substring(1));return vx.default.isMatch(n,C,{ignore:N})}var vx,yx,bx,xx,Sx,Cx,wx,Resolver,Tx=__esmMin(()=>{vx=__toESM$1(N_(),1),yx=__toESM$1(Yp(),1),{createSourceFile:bx,resolveModuleName:xx,isStringLiteral:Sx,JSDocParsingMode:Cx,ScriptTarget:wx}=yx.default,Resolver=class{constructor(n,a,S){this.compilerOptions=n,this.host=a,this.sourceFiles=S}resolve(n,a){let S=a.moduleSpecifier;if(S&&Sx(S))return this.resolveSourceFile(n,S)}resolveImpl(n,a){if(this.host.resolveModuleNameLiterals!==void 0){let S=this.host.resolveModuleNameLiterals([n],a.fileName,void 0,this.compilerOptions,a,void 0);return S[0]?S[0].resolvedModule:void 0}return this.host.resolveModuleNames===void 0?xx(n.text,a.fileName,this.compilerOptions,this.host).resolvedModule:this.host.resolveModuleNames([n.text],a.fileName,void 0,void 0,this.compilerOptions)[0]}resolveSourceFile(n,a){let S=this.resolveImpl(a,n);if(!S||!S.resolvedFileName.endsWith(`.ts`)&&!S.resolvedFileName.endsWith(`.tsx`)&&!S.resolvedFileName.endsWith(`.d.ts`))return;let C=S.resolvedFileName;if(this.sourceFiles[C])return this.sourceFiles[C];let N=this.host.readFile(S.resolvedFileName);if(!N)return;let F=this.sourceFiles[C]=bx(C,N,{languageVersion:this.compilerOptions.target||wx.ES2018,jsDocParsingMode:Cx?Cx.ParseNone:void 0},!0);return this.sourceFiles[C]=F,yx.default.bindSourceFile(F,this.compilerOptions),F}}}),Ex,Dx,Ox,kx=__esmMin(()=>{Ae(),Ex=!1;try{Ex=typeof localStorage<`u`}catch{}Dx=typeof process<`u`,(Ex&&localStorage.getItem(`DEBUG`)||Dx&&process.env.DEBUG)&&ke.log,Ox=function knownLibFilesForCompilerOptions(n,a){var S=n.target||a.ScriptTarget.ES5,C=n.lib||[],N=`lib.d.ts,lib.decorators.d.ts,lib.decorators.legacy.d.ts,lib.dom.d.ts,lib.dom.iterable.d.ts,lib.webworker.d.ts,lib.webworker.importscripts.d.ts,lib.webworker.iterable.d.ts,lib.scripthost.d.ts,lib.es5.d.ts,lib.es6.d.ts,lib.es2015.collection.d.ts,lib.es2015.core.d.ts,lib.es2015.d.ts,lib.es2015.generator.d.ts,lib.es2015.iterable.d.ts,lib.es2015.promise.d.ts,lib.es2015.proxy.d.ts,lib.es2015.reflect.d.ts,lib.es2015.symbol.d.ts,lib.es2015.symbol.wellknown.d.ts,lib.es2016.array.include.d.ts,lib.es2016.d.ts,lib.es2016.full.d.ts,lib.es2017.d.ts,lib.es2017.date.d.ts,lib.es2017.full.d.ts,lib.es2017.intl.d.ts,lib.es2017.object.d.ts,lib.es2017.sharedmemory.d.ts,lib.es2017.string.d.ts,lib.es2017.typedarrays.d.ts,lib.es2018.asyncgenerator.d.ts,lib.es2018.asynciterable.d.ts,lib.es2018.d.ts,lib.es2018.full.d.ts,lib.es2018.intl.d.ts,lib.es2018.promise.d.ts,lib.es2018.regexp.d.ts,lib.es2019.array.d.ts,lib.es2019.d.ts,lib.es2019.full.d.ts,lib.es2019.intl.d.ts,lib.es2019.object.d.ts,lib.es2019.string.d.ts,lib.es2019.symbol.d.ts,lib.es2020.bigint.d.ts,lib.es2020.d.ts,lib.es2020.date.d.ts,lib.es2020.full.d.ts,lib.es2020.intl.d.ts,lib.es2020.number.d.ts,lib.es2020.promise.d.ts,lib.es2020.sharedmemory.d.ts,lib.es2020.string.d.ts,lib.es2020.symbol.wellknown.d.ts,lib.es2021.d.ts,lib.es2021.full.d.ts,lib.es2021.intl.d.ts,lib.es2021.promise.d.ts,lib.es2021.string.d.ts,lib.es2021.weakref.d.ts,lib.es2022.array.d.ts,lib.es2022.d.ts,lib.es2022.error.d.ts,lib.es2022.full.d.ts,lib.es2022.intl.d.ts,lib.es2022.object.d.ts,lib.es2022.regexp.d.ts,lib.es2022.sharedmemory.d.ts,lib.es2022.string.d.ts,lib.es2023.array.d.ts,lib.es2023.collection.d.ts,lib.es2023.d.ts,lib.es2023.full.d.ts,lib.esnext.array.d.ts,lib.esnext.asynciterable.d.ts,lib.esnext.bigint.d.ts,lib.esnext.d.ts,lib.esnext.decorators.d.ts,lib.esnext.disposable.d.ts,lib.esnext.full.d.ts,lib.esnext.intl.d.ts,lib.esnext.promise.d.ts,lib.esnext.string.d.ts,lib.esnext.symbol.d.ts,lib.esnext.weakref.d.ts`.split(`,`),F=a.ScriptTarget[S],I=N.filter(function(n){return n.startsWith(`lib.`+F.toLowerCase())}),H=N.indexOf(I.pop()),W=function getMax(n){return n&&n.length?n.reduce(function(n,a){return a>n?a:n}):void 0}(C.map(function(n){var a=N.filter(function(a){return a.startsWith(`lib.`+n.toLowerCase())});return a.length===0?0:N.indexOf(a.pop())}))||0,K=Math.max(H,W);return N.slice(0,K+1)}});function isDebug(n=1){let a=`deepkit`+(n>1?`+`.repeat(n-1):``);return typeof process<`u`&&typeof process.env.DEBUG==`string`&&process.env.DEBUG.includes(a)}function debug(...n){isDebug(1)&&ke.debug(...n)}function debug2(...n){isDebug(2)&&ke.debug(...n)}var Ax=__esmMin(()=>{Ae()});function isObject$1(n){return n?typeof n==`object`&&!Array.isArray(n):!1}function readTsConfig(n,a){let S=jx.default.readConfigFile(a,a=>n.readFile(a));if(S.error){debug(`Failed to read tsconfig ${a}: ${S.error.messageText}`);return}let C=jx.default.parseJsonConfigFileContent(S.config,n,as(a)),N=[18003],F=[18e3],I=C.errors.filter(n=>!N.includes(n.code));if(I.length&&debug(`Failed to parse tsconfig ${a}: ${C.errors.map(n=>n.messageText).join(`, `)}`),!I.filter(n=>!F.includes(n.code)).length)return Object.assign(S.config,{compilerOptions:C.options})}function reflectionModeMatcher(n,a){return Array.isArray(n.exclude)&&patternMatch(a,n.exclude)?`never`:Array.isArray(n.reflection)?patternMatch(a,n.reflection)?`default`:`never`:n.reflection==="default"||n.reflection===`explicit`?n.reflection:`never`}function ensureStringArray(n){return Array.isArray(n)?n.map(n=>``+n):typeof n==`string`?[n]:[]}function parseRawMode(n){return typeof n==`boolean`?n?`default`:`never`:n==="default"||n===`explicit`?n:ensureStringArray(n)}function resolvePaths(n,a){if(!(!a||!Array.isArray(a)))for(let S=0;S<a.length;S++){if(typeof a[S]!=`string`||ts(a[S]))continue;let C=a[S],N=!1;C.startsWith(`!`)&&(N=!0,C=C.substring(1)),(C.startsWith(`./`)||C.includes(`/`))&&(C=ns(n,C)),C=C.replace(/\\/g,`/`),N&&(C=`!`+C),a[S]=C}}function appendPaths(n=Mx,a,S){return n===`replace`?[...S||a]:S?[...a,...S]:[...a]}function applyConfigValues(n,a,S){let C=isObject$1(a.deepkitCompilerOptions)?a.deepkitCompilerOptions?.reflection:a.reflection;if(isObject$1(a.deepkitCompilerOptions)&&n.mergeStrategy===void 0&&(n.mergeStrategy=a.deepkitCompilerOptions.mergeStrategy),C!==void 0){let a=parseRawMode(C);n.reflection===void 0?n.reflection=a:typeof n.reflection==`string`||(Array.isArray(a)&&Array.isArray(n.reflection)?n.reflection=appendPaths(n.mergeStrategy,a,n.reflection):typeof a==`string`&&Array.isArray(n.reflection))}if(isObject$1(a.deepkitCompilerOptions)&&a.deepkitCompilerOptions.exclude!==void 0){let S=ensureStringArray(a.deepkitCompilerOptions.exclude);n.exclude=appendPaths(n.mergeStrategy,S,n.exclude)}resolvePaths(S,n.reflection),resolvePaths(S,n.exclude),a.compilerOptions&&Object.keys(n.compilerOptions).length===0&&Object.assign(n.compilerOptions,a.compilerOptions),n.extends=a.extends}function getConfigResolver(n,a,S,C,N=``){let F={compilerOptions:{}};if(N||=typeof S.configFilePath==`string`?S.configFilePath:``,N){if(n[N])return n[N];let S=readTsConfig(a,N);S&&applyConfigValues(F,S,as(N))}else{if(!N&&C){let n=as(C.fileName),S=jx.default.findConfigFile(n,S=>(S=ts(S)?S:ns(n,S),a.fileExists(S)));debug2(`No tsConfigPath|compilerOptions.configFilePath provided. Manually searching for tsconfig.json in ${n} returned ${S}`),S&&(N=ts(S)?S:ns(n,S))}if(N){if(n[N])return n[N];let S=readTsConfig(a,N);S&&applyConfigValues(F,S,as(N))}}if(N){let n=as(N),S=F,C=new Set;for(C.add(N);S.extends;){let N=ns(n,S.extends);if(C.has(N))break;C.add(N);let F=jx.default.readConfigFile(N,n=>a.readFile(n));if(!F)break;n=as(N),applyConfigValues(S,F.config,n)}}else throw Error(`No tsconfig found for ${C?.fileName}, that is weird. Either provide a tsconfig or compilerOptions.configFilePath`);F.exclude=F.exclude?[...Nx,...F.exclude]:[...Nx],F.compilerOptions.configFilePath=N;let I={path:N,compilerOptions:Object.assign(F.compilerOptions,S),exclude:F.exclude,reflection:F.reflection,mergeStrategy:F.mergeStrategy||Mx};isDebug()&&debug(`Found config ${I.path}:\nreflection:`,I.reflection,`
688
+ `)}function extractJSDocAttribute(n,a,S){if(!a)return;let C=getCommentOfNode(n,a);if(C)return parseJSDocAttributeFromText(C,S)}function getPropertyName(n,a){return a?rx(a)?getIdentifierName(a):sx(a)?a.text:ax(a)?+a.text:dx(a)?a.text:nx(a)?n.createArrowFunction(void 0,void 0,[],void 0,void 0,a.expression):ox(a)?getIdentifierName(a):``:``}function getNameAsString(n){return n?rx(n)?getIdentifierName(n):sx(n)||ax(n)||(0,ex.isBigIntLiteral)(n)||dx(n)?n.text:nx(n)?cx(n)||ax(n)?n.text:``:ox(n)?getIdentifierName(n):joinQualifiedName(n):``}function hasModifier(n,a){return n.modifiers?n.modifiers.some(n=>n.kind===a):!1}function isExternalOrCommonJsModule(n){return(n.externalModuleIndicator||n.commonJsModuleIndicator)!==void 0}function isNodeWithLocals(n){return`locals`in n}function getGlobalsOfSourceFile(n){if(!n.redirectInfo&&isNodeWithLocals(n)){if(!isExternalOrCommonJsModule(n))return n.locals;if(n.jsGlobalAugmentations)return n.jsGlobalAugmentations;if(n.symbol&&n.symbol.globalExports)return n.symbol.globalExports}}function ensureImportIsEmitted(n,a){if(a&&n.importClause&&n.importClause.namedBindings&&ix(n.importClause.namedBindings)){for(let S of n.importClause.namedBindings.elements)if(S.name.escapedText===a.escapedText){S.flags|=fx.Synthesized;return}}n.flags|=fx.Synthesized}function serializeEntityNameAsExpression(n,a){switch(a.kind){case px.Identifier:return finish(a,n.createIdentifier(getIdentifierName(a)));case px.QualifiedName:return finish(a,serializeQualifiedNameAsExpression(n,a))}return a}function serializeQualifiedNameAsExpression(n,a){return n.createPropertyAccessExpression(serializeEntityNameAsExpression(n,a.left),a.right)}function finish(n,a){return lx(a,n),a._original=a.original,a._symbol=n._symbol??n.symbol,a.symbol=a._symbol,a}var ex,tx,nx,rx,ix,ax,ox,sx,cx,lx,ux,dx,fx,px,cloneHook,NodeConverter,mx=__esmMin(()=>{Ae(),ex=__toESM$1(Yp(),1),$b(),{isArrowFunction:tx,isComputedPropertyName:nx,isIdentifier:rx,isNamedImports:ix,isNumericLiteral:ax,isPrivateIdentifier:ox,isStringLiteral:sx,isStringLiteralLike:cx,setOriginalNode:lx,getLeadingCommentRanges:ux,isNoSubstitutionTemplateLiteral:dx,NodeFlags:fx,SyntaxKind:px}=ex.default,cloneHook=(n,a)=>{if(rx(n))return{text:()=>getIdentifierName(n)}},NodeConverter=class{constructor(n){this.f=n}toExpression(n){if(n===void 0)return this.f.createIdentifier(`undefined`);if(Array.isArray(n))return this.f.createArrayLiteralExpression(this.f.createNodeArray(n.map(n=>this.toExpression(n))));if(typeof n==`string`)return this.f.createStringLiteral(n,!0);if(typeof n==`number`)return this.f.createNumericLiteral(n);if(typeof n==`bigint`)return this.f.createBigIntLiteral(String(n));if(typeof n==`boolean`)return n?this.f.createTrue():this.f.createFalse();if(n.pos===-1&&n.end===-1&&n.parent===void 0)return tx(n)?n.body.pos===-1&&n.body.end===-1&&n.body.parent===void 0?n:this.f.createArrowFunction(n.modifiers,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,this.toExpression(n.body)):n;switch(n.kind){case px.Identifier:return finish(n,this.f.createIdentifier(getIdentifierName(n)));case px.StringLiteral:return finish(n,this.f.createStringLiteral(n.text));case px.NumericLiteral:return finish(n,this.f.createNumericLiteral(n.text));case px.BigIntLiteral:return finish(n,this.f.createBigIntLiteral(n.text));case px.TrueKeyword:return finish(n,this.f.createTrue());case px.FalseKeyword:return finish(n,this.f.createFalse())}try{return cloneNode(n,{preserveComments:!1,factory:this.f,setOriginalNodes:!0,preserveSymbols:!0,setParents:!0,hook:cloneHook})}catch(a){throw ke.error(`could not clone node`,n),a}}}}),hx,gx,_x=__esmMin(()=>{(function(n){n[n.integer=0]=`integer`,n[n.int8=1]=`int8`,n[n.int16=2]=`int16`,n[n.int32=3]=`int32`,n[n.uint8=4]=`uint8`,n[n.uint16=5]=`uint16`,n[n.uint32=6]=`uint32`,n[n.float=7]=`float`,n[n.float32=8]=`float32`,n[n.float64=9]=`float64`})(hx||={}),(function(n){n[n.never=0]=`never`,n[n.any=1]=`any`,n[n.unknown=2]=`unknown`,n[n.void=3]=`void`,n[n.object=4]=`object`,n[n.string=5]=`string`,n[n.number=6]=`number`,n[n.numberBrand=7]=`numberBrand`,n[n.boolean=8]=`boolean`,n[n.bigint=9]=`bigint`,n[n.symbol=10]=`symbol`,n[n.null=11]=`null`,n[n.undefined=12]=`undefined`,n[n.literal=13]=`literal`,n[n.function=14]=`function`,n[n.method=15]=`method`,n[n.methodSignature=16]=`methodSignature`,n[n.parameter=17]=`parameter`,n[n.property=18]=`property`,n[n.propertySignature=19]=`propertySignature`,n[n.class=20]=`class`,n[n.classExtends=21]=`classExtends`,n[n.classReference=22]=`classReference`,n[n.optional=23]=`optional`,n[n.readonly=24]=`readonly`,n[n.public=25]=`public`,n[n.private=26]=`private`,n[n.protected=27]=`protected`,n[n.abstract=28]=`abstract`,n[n.defaultValue=29]=`defaultValue`,n[n.description=30]=`description`,n[n.rest=31]=`rest`,n[n.regexp=32]=`regexp`,n[n.enum=33]=`enum`,n[n.enumMember=34]=`enumMember`,n[n.set=35]=`set`,n[n.map=36]=`map`,n[n.array=37]=`array`,n[n.tuple=38]=`tuple`,n[n.tupleMember=39]=`tupleMember`,n[n.namedTupleMember=40]=`namedTupleMember`,n[n.union=41]=`union`,n[n.intersection=42]=`intersection`,n[n.indexSignature=43]=`indexSignature`,n[n.objectLiteral=44]=`objectLiteral`,n[n.mappedType=45]=`mappedType`,n[n.in=46]=`in`,n[n.frame=47]=`frame`,n[n.moveFrame=48]=`moveFrame`,n[n.return=49]=`return`,n[n.templateLiteral=50]=`templateLiteral`,n[n.date=51]=`date`,n[n.int8Array=52]=`int8Array`,n[n.uint8ClampedArray=53]=`uint8ClampedArray`,n[n.uint8Array=54]=`uint8Array`,n[n.int16Array=55]=`int16Array`,n[n.uint16Array=56]=`uint16Array`,n[n.int32Array=57]=`int32Array`,n[n.uint32Array=58]=`uint32Array`,n[n.float32Array=59]=`float32Array`,n[n.float64Array=60]=`float64Array`,n[n.bigInt64Array=61]=`bigInt64Array`,n[n.arrayBuffer=62]=`arrayBuffer`,n[n.promise=63]=`promise`,n[n.arg=64]=`arg`,n[n.typeParameter=65]=`typeParameter`,n[n.typeParameterDefault=66]=`typeParameterDefault`,n[n.var=67]=`var`,n[n.loads=68]=`loads`,n[n.indexAccess=69]=`indexAccess`,n[n.keyof=70]=`keyof`,n[n.infer=71]=`infer`,n[n.typeof=72]=`typeof`,n[n.condition=73]=`condition`,n[n.jumpCondition=74]=`jumpCondition`,n[n.jump=75]=`jump`,n[n.call=76]=`call`,n[n.inline=77]=`inline`,n[n.inlineCall=78]=`inlineCall`,n[n.distribute=79]=`distribute`,n[n.extends=80]=`extends`,n[n.widen=81]=`widen`,n[n.static=82]=`static`,n[n.mappedType2=83]=`mappedType2`,n[n.functionReference=84]=`functionReference`,n[n.callSignature=85]=`callSignature`,n[n.typeName=86]=`typeName`,n[n.implements=87]=`implements`,n[n.nominal=88]=`nominal`})(gx||={})}),vx=__esmMin(()=>{_x()});function patternMatch(n,a,S){let C=a.filter(n=>n[0]!==`!`),N=a.filter(n=>n[0]===`!`).map(n=>n.substring(1));return yx.default.isMatch(n,C,{ignore:N})}var yx,bx,xx,Sx,Cx,wx,Tx,Resolver,Ex=__esmMin(()=>{yx=__toESM$1(N_(),1),bx=__toESM$1(Yp(),1),{createSourceFile:xx,resolveModuleName:Sx,isStringLiteral:Cx,JSDocParsingMode:wx,ScriptTarget:Tx}=bx.default,Resolver=class{constructor(n,a,S){this.compilerOptions=n,this.host=a,this.sourceFiles=S}resolve(n,a){let S=a.moduleSpecifier;if(S&&Cx(S))return this.resolveSourceFile(n,S)}resolveImpl(n,a){if(this.host.resolveModuleNameLiterals!==void 0){let S=this.host.resolveModuleNameLiterals([n],a.fileName,void 0,this.compilerOptions,a,void 0);return S[0]?S[0].resolvedModule:void 0}return this.host.resolveModuleNames===void 0?Sx(n.text,a.fileName,this.compilerOptions,this.host).resolvedModule:this.host.resolveModuleNames([n.text],a.fileName,void 0,void 0,this.compilerOptions)[0]}resolveSourceFile(n,a){let S=this.resolveImpl(a,n);if(!S||!S.resolvedFileName.endsWith(`.ts`)&&!S.resolvedFileName.endsWith(`.tsx`)&&!S.resolvedFileName.endsWith(`.d.ts`))return;let C=S.resolvedFileName;if(this.sourceFiles[C])return this.sourceFiles[C];let N=this.host.readFile(S.resolvedFileName);if(!N)return;let F=this.sourceFiles[C]=xx(C,N,{languageVersion:this.compilerOptions.target||Tx.ES2018,jsDocParsingMode:wx?wx.ParseNone:void 0},!0);return this.sourceFiles[C]=F,bx.default.bindSourceFile(F,this.compilerOptions),F}}}),Dx,Ox,kx,Ax=__esmMin(()=>{Ae(),Dx=!1;try{Dx=typeof localStorage<`u`}catch{}Ox=typeof process<`u`,(Dx&&localStorage.getItem(`DEBUG`)||Ox&&process.env.DEBUG)&&ke.log,kx=function knownLibFilesForCompilerOptions(n,a){var S=n.target||a.ScriptTarget.ES5,C=n.lib||[],N=`lib.d.ts,lib.decorators.d.ts,lib.decorators.legacy.d.ts,lib.dom.d.ts,lib.dom.iterable.d.ts,lib.webworker.d.ts,lib.webworker.importscripts.d.ts,lib.webworker.iterable.d.ts,lib.scripthost.d.ts,lib.es5.d.ts,lib.es6.d.ts,lib.es2015.collection.d.ts,lib.es2015.core.d.ts,lib.es2015.d.ts,lib.es2015.generator.d.ts,lib.es2015.iterable.d.ts,lib.es2015.promise.d.ts,lib.es2015.proxy.d.ts,lib.es2015.reflect.d.ts,lib.es2015.symbol.d.ts,lib.es2015.symbol.wellknown.d.ts,lib.es2016.array.include.d.ts,lib.es2016.d.ts,lib.es2016.full.d.ts,lib.es2017.d.ts,lib.es2017.date.d.ts,lib.es2017.full.d.ts,lib.es2017.intl.d.ts,lib.es2017.object.d.ts,lib.es2017.sharedmemory.d.ts,lib.es2017.string.d.ts,lib.es2017.typedarrays.d.ts,lib.es2018.asyncgenerator.d.ts,lib.es2018.asynciterable.d.ts,lib.es2018.d.ts,lib.es2018.full.d.ts,lib.es2018.intl.d.ts,lib.es2018.promise.d.ts,lib.es2018.regexp.d.ts,lib.es2019.array.d.ts,lib.es2019.d.ts,lib.es2019.full.d.ts,lib.es2019.intl.d.ts,lib.es2019.object.d.ts,lib.es2019.string.d.ts,lib.es2019.symbol.d.ts,lib.es2020.bigint.d.ts,lib.es2020.d.ts,lib.es2020.date.d.ts,lib.es2020.full.d.ts,lib.es2020.intl.d.ts,lib.es2020.number.d.ts,lib.es2020.promise.d.ts,lib.es2020.sharedmemory.d.ts,lib.es2020.string.d.ts,lib.es2020.symbol.wellknown.d.ts,lib.es2021.d.ts,lib.es2021.full.d.ts,lib.es2021.intl.d.ts,lib.es2021.promise.d.ts,lib.es2021.string.d.ts,lib.es2021.weakref.d.ts,lib.es2022.array.d.ts,lib.es2022.d.ts,lib.es2022.error.d.ts,lib.es2022.full.d.ts,lib.es2022.intl.d.ts,lib.es2022.object.d.ts,lib.es2022.regexp.d.ts,lib.es2022.sharedmemory.d.ts,lib.es2022.string.d.ts,lib.es2023.array.d.ts,lib.es2023.collection.d.ts,lib.es2023.d.ts,lib.es2023.full.d.ts,lib.esnext.array.d.ts,lib.esnext.asynciterable.d.ts,lib.esnext.bigint.d.ts,lib.esnext.d.ts,lib.esnext.decorators.d.ts,lib.esnext.disposable.d.ts,lib.esnext.full.d.ts,lib.esnext.intl.d.ts,lib.esnext.promise.d.ts,lib.esnext.string.d.ts,lib.esnext.symbol.d.ts,lib.esnext.weakref.d.ts`.split(`,`),F=a.ScriptTarget[S],I=N.filter(function(n){return n.startsWith(`lib.`+F.toLowerCase())}),H=N.indexOf(I.pop()),W=function getMax(n){return n&&n.length?n.reduce(function(n,a){return a>n?a:n}):void 0}(C.map(function(n){var a=N.filter(function(a){return a.startsWith(`lib.`+n.toLowerCase())});return a.length===0?0:N.indexOf(a.pop())}))||0,K=Math.max(H,W);return N.slice(0,K+1)}});function isDebug(n=1){let a=`deepkit`+(n>1?`+`.repeat(n-1):``);return typeof process<`u`&&typeof process.env.DEBUG==`string`&&process.env.DEBUG.includes(a)}function debug(...n){isDebug(1)&&ke.debug(...n)}function debug2(...n){isDebug(2)&&ke.debug(...n)}var jx=__esmMin(()=>{Ae()});function isObject$1(n){return n?typeof n==`object`&&!Array.isArray(n):!1}function readTsConfig(n,a){let S=Mx.default.readConfigFile(a,a=>n.readFile(a));if(S.error){debug(`Failed to read tsconfig ${a}: ${S.error.messageText}`);return}let C=Mx.default.parseJsonConfigFileContent(S.config,n,as(a)),N=[18003],F=[18e3],I=C.errors.filter(n=>!N.includes(n.code));if(I.length&&debug(`Failed to parse tsconfig ${a}: ${C.errors.map(n=>n.messageText).join(`, `)}`),!I.filter(n=>!F.includes(n.code)).length)return Object.assign(S.config,{compilerOptions:C.options})}function reflectionModeMatcher(n,a){return Array.isArray(n.exclude)&&patternMatch(a,n.exclude)?`never`:Array.isArray(n.reflection)?patternMatch(a,n.reflection)?`default`:`never`:n.reflection==="default"||n.reflection===`explicit`?n.reflection:`never`}function ensureStringArray(n){return Array.isArray(n)?n.map(n=>``+n):typeof n==`string`?[n]:[]}function parseRawMode(n){return typeof n==`boolean`?n?`default`:`never`:n==="default"||n===`explicit`?n:ensureStringArray(n)}function resolvePaths(n,a){if(!(!a||!Array.isArray(a)))for(let S=0;S<a.length;S++){if(typeof a[S]!=`string`||ts(a[S]))continue;let C=a[S],N=!1;C.startsWith(`!`)&&(N=!0,C=C.substring(1)),(C.startsWith(`./`)||C.includes(`/`))&&(C=ns(n,C)),C=C.replace(/\\/g,`/`),N&&(C=`!`+C),a[S]=C}}function appendPaths(n=Nx,a,S){return n===`replace`?[...S||a]:S?[...a,...S]:[...a]}function applyConfigValues(n,a,S){let C=isObject$1(a.deepkitCompilerOptions)?a.deepkitCompilerOptions?.reflection:a.reflection;if(isObject$1(a.deepkitCompilerOptions)&&n.mergeStrategy===void 0&&(n.mergeStrategy=a.deepkitCompilerOptions.mergeStrategy),C!==void 0){let a=parseRawMode(C);n.reflection===void 0?n.reflection=a:typeof n.reflection==`string`||(Array.isArray(a)&&Array.isArray(n.reflection)?n.reflection=appendPaths(n.mergeStrategy,a,n.reflection):typeof a==`string`&&Array.isArray(n.reflection))}if(isObject$1(a.deepkitCompilerOptions)&&a.deepkitCompilerOptions.exclude!==void 0){let S=ensureStringArray(a.deepkitCompilerOptions.exclude);n.exclude=appendPaths(n.mergeStrategy,S,n.exclude)}resolvePaths(S,n.reflection),resolvePaths(S,n.exclude),a.compilerOptions&&Object.keys(n.compilerOptions).length===0&&Object.assign(n.compilerOptions,a.compilerOptions),n.extends=a.extends}function getConfigResolver(n,a,S,C,N=``){let F={compilerOptions:{}};if(N||=typeof S.configFilePath==`string`?S.configFilePath:``,N){if(n[N])return n[N];let S=readTsConfig(a,N);S&&applyConfigValues(F,S,as(N))}else{if(!N&&C){let n=as(C.fileName),S=Mx.default.findConfigFile(n,S=>(S=ts(S)?S:ns(n,S),a.fileExists(S)));debug2(`No tsConfigPath|compilerOptions.configFilePath provided. Manually searching for tsconfig.json in ${n} returned ${S}`),S&&(N=ts(S)?S:ns(n,S))}if(N){if(n[N])return n[N];let S=readTsConfig(a,N);S&&applyConfigValues(F,S,as(N))}}if(N){let n=as(N),S=F,C=new Set;for(C.add(N);S.extends;){let N=ns(n,S.extends);if(C.has(N))break;C.add(N);let F=Mx.default.readConfigFile(N,n=>a.readFile(n));if(!F)break;n=as(N),applyConfigValues(S,F.config,n)}}else throw Error(`No tsconfig found for ${C?.fileName}, that is weird. Either provide a tsconfig or compilerOptions.configFilePath`);F.exclude=F.exclude?[...Px,...F.exclude]:[...Px],F.compilerOptions.configFilePath=N;let I={path:N,compilerOptions:Object.assign(F.compilerOptions,S),exclude:F.exclude,reflection:F.reflection,mergeStrategy:F.mergeStrategy||Nx};isDebug()&&debug(`Found config ${I.path}:\nreflection:`,I.reflection,`
689
689
  exclude:`,I.exclude,`
690
- paths:`,I.compilerOptions.paths);let match=n=>({mode:reflectionModeMatcher(F,n),tsConfigPath:N});return n[N]={config:I,match}}var jx,Mx,Nx,Px=__esmMin(()=>{ps(),jx=__toESM$1(Yp(),1),Ax(),Tx(),__name$1(isObject$1,`isObject`),Mx=`merge`,Nx=[`lib.dom*.d.ts`,`*typedarrays.d.ts`,`lib.webworker*.d.ts`,`lib.decorator*.d.ts`,`lib.es2015.proxy.d.ts`,`lib.es2020.sharedmemory.d.ts`,`lib.es2015.core.d.ts`]});function encodeOps(n){return n.map(n=>String.fromCharCode(n+33)).join(``)}function filterUndefined(n){return Object.fromEntries(Object.entries(n).filter(([,n])=>n!==void 0))}function debugPackStruct(n,a,S){let C=[];for(let n=0;n<S.ops.length;n++){let a=S.ops[n],N=HS[a];if(C.push(hx[a]),N&&N.params>0)for(let a=0;a<N.params;a++){let a=S.ops[++n];C.push(a)}}let N=PS(),F=[];for(let a of S.stack)typeof a==`object`&&`getText`in a?F.push(N.printNode(IS.Unspecified,a,n)):F.push(JSON.stringify(a));ke.log(F.join(`,`),`|`,...C)}function findVariable(n,a,S=0){let C=n.variables.find(n=>n.name===a);if(C)return{frameOffset:S,stackIndex:C.index};if(n.previous)return findVariable(n.previous,a,S+1)}function findConditionalFrame(n){if(n.conditional)return n;if(n.previous)return findConditionalFrame(n.previous)}function getAssignTypeExpression(n){if(_S(n)&&Hx(n.expression)&&(n=n.expression),Hx(n)&&nS(n.expression)&&getIdentifierName(n.expression)===`__assignType`&&n.arguments.length>0)return n.arguments[0]}function getReceiveTypeParameter(n){if(OS(n))for(let a of n.types){let n=getReceiveTypeParameter(a);if(n)return n}else if(DS(n)&&nS(n.typeName)&&getIdentifierName(n.typeName)===`ReceiveType`&&n.typeArguments&&n.typeArguments.length===1)return n}var Fx,Ix,Lx,Rx,zx,Bx,Vx,Hx,Ux,Wx,Gx,Kx,qx,Jx,Yx,Xx,Zx,Qx,$x,eS,tS,nS,rS,iS,aS,oS,sS,cS,lS,uS,dS,fS,pS,mS,hS,gS,_S,vS,yS,bS,xS,SS,CS,wS,TS,ES,DS,OS,kS,AS,jS,MS,NS,PS,FS,IS,LS,RS,zS,BS,VS,HS,CompilerProgram,Cache,ReflectionTransformer,DeclarationTransformer,US,WS,GS,KS,qS=__esmMin(()=>{Ae(),Fx=__toESM$1(Yp(),1),px(),_x(),Tx(),kx(),Ax(),Px(),{visitEachChild:Ix,visitNode:Lx,isPropertyAssignment:Rx,isArrayTypeNode:zx,isArrowFunction:Bx,isBlock:Vx,isCallExpression:Hx,isCallSignatureDeclaration:Ux,isClassDeclaration:Wx,isClassExpression:Gx,isConstructorDeclaration:Kx,isConstructorTypeNode:qx,isConstructSignatureDeclaration:Jx,isEnumDeclaration:Yx,isExportDeclaration:Xx,isExpression:Zx,isExpressionWithTypeArguments:Qx,isFunctionDeclaration:$x,isFunctionExpression:eS,isFunctionLike:tS,isIdentifier:nS,isImportClause:rS,isImportDeclaration:iS,isImportSpecifier:aS,isInferTypeNode:oS,isInterfaceDeclaration:sS,isMethodDeclaration:cS,isMethodSignature:lS,isModuleDeclaration:uS,isNamedExports:dS,isNamedTupleMember:fS,isNewExpression:pS,isObjectLiteralExpression:mS,isOptionalTypeNode:hS,isParameter:gS,isParenthesizedExpression:_S,isParenthesizedTypeNode:vS,isPropertyAccessExpression:yS,isQualifiedName:bS,isSourceFile:xS,isStringLiteral:SS,isTypeAliasDeclaration:CS,isTypeLiteralNode:wS,isTypeParameterDeclaration:TS,isTypeQueryNode:ES,isTypeReferenceNode:DS,isUnionTypeNode:OS,isExpressionStatement:kS,isVariableDeclaration:AS,getEffectiveConstraintOfTypeParameter:jS,addSyntheticLeadingComment:MS,createCompilerHost:NS,createPrinter:PS,escapeLeadingUnderscores:FS,EmitHint:IS,NodeFlags:LS,SyntaxKind:RS,ScriptTarget:zS,ModifierFlags:BS,ScriptKind:VS}=Fx.default,HS={[hx.literal]:{params:1},[hx.classReference]:{params:1},[hx.propertySignature]:{params:1},[hx.property]:{params:1},[hx.jump]:{params:1},[hx.enum]:{params:0},[hx.enumMember]:{params:1},[hx.typeParameter]:{params:1},[hx.typeParameterDefault]:{params:1},[hx.mappedType]:{params:2},[hx.call]:{params:1},[hx.inline]:{params:1},[hx.inlineCall]:{params:2},[hx.loads]:{params:2},[hx.extends]:{params:0},[hx.infer]:{params:2},[hx.defaultValue]:{params:1},[hx.parameter]:{params:1},[hx.method]:{params:1},[hx.function]:{params:1},[hx.description]:{params:1},[hx.numberBrand]:{params:1},[hx.typeof]:{params:1},[hx.classExtends]:{params:1},[hx.distribute]:{params:1},[hx.jumpCondition]:{params:2},[hx.typeName]:{params:1},[hx.implements]:{params:1}},CompilerProgram=class{constructor(n,a){this.forNode=n,this.sourceFile=a,this.ops=[],this.stack=[],this.mainOffset=0,this.stackPosition=0,this.frame={variables:[],opIndex:0},this.activeCoRoutines=[],this.coRoutines=[],this.resolveFunctionParameters=new Map}buildPackStruct(){let n=[...this.ops];if(this.coRoutines.length)for(let a=this.coRoutines.length-1;a>=0;a--)n.unshift(...this.coRoutines[a].ops);return this.mainOffset&&n.unshift(hx.jump,this.mainOffset),{ops:n,stack:this.stack}}isEmpty(){return this.ops.length===0}pushConditionalFrame(){let n=this.pushFrame();n.conditional=!0}pushStack(n){return this.stack.push(n),this.stackPosition++}pushCoRoutine(){this.pushFrame(!0),this.activeCoRoutines.push({ops:[]})}popCoRoutine(){let n=this.activeCoRoutines.pop();if(!n)throw Error(`No active co routine found`);this.popFrameImplicit(),this.mainOffset===0&&(this.mainOffset=2);let a=this.mainOffset;return n.ops.push(hx.return),this.coRoutines.push(n),this.mainOffset+=n.ops.length,a}pushOp(...n){for(let a of n)if(typeof a!=`number`)throw Error(`No valid OP added`);if(this.activeCoRoutines.length){this.activeCoRoutines[this.activeCoRoutines.length-1].ops.push(...n);return}this.ops.push(...n)}pushOpAtFrame(n,...a){if(this.activeCoRoutines.length){this.activeCoRoutines[this.activeCoRoutines.length-1].ops.splice(n.opIndex,0,...a);return}this.ops.splice(n.opIndex,0,...a)}findOrAddStackEntry(n){let a=this.stack.indexOf(n);return a===-1?this.pushStack(n):a}increaseStackPosition(){return this.stackPosition++}resolveFunctionParametersIncrease(n){this.resolveFunctionParameters.set(n,(this.resolveFunctionParameters.get(n)||0)+1)}resolveFunctionParametersDecrease(n){this.resolveFunctionParameters.set(n,(this.resolveFunctionParameters.get(n)||1)-1)}isResolveFunctionParameters(n){return(this.resolveFunctionParameters.get(n)||0)>0}pushFrame(n=!1){n||this.pushOp(hx.frame);let a=this.activeCoRoutines.length?this.activeCoRoutines[this.activeCoRoutines.length-1].ops.length:this.ops.length;return this.frame={previous:this.frame,variables:[],opIndex:a},this.frame}findConditionalFrame(){return findConditionalFrame(this.frame)}popFrameImplicit(){this.frame.previous&&(this.frame=this.frame.previous)}moveFrame(){this.pushOp(hx.moveFrame),this.frame.previous&&(this.frame=this.frame.previous)}pushVariable(n,a=this.frame){return this.pushOpAtFrame(a,hx.var),a.variables.push({index:a.variables.length,name:n}),a.variables.length-1}pushTemplateParameter(n,a=!1){return this.pushOp(a?hx.typeParameterDefault:hx.typeParameter,this.findOrAddStackEntry(n)),this.frame.variables.push({index:this.frame.variables.length,name:n}),this.frame.variables.length-1}findVariable(n,a=this.frame){return findVariable(a,n)}},Cache=class{constructor(){this.resolver={},this.sourceFiles={}}tick(){Object.keys(this.sourceFiles).length>300&&(this.sourceFiles={})}},ReflectionTransformer=class{constructor(n,a=new Cache){this.context=n,this.cache=a,this.embedAssignType=!1,this.compileDeclarations=new Map,this.embedDeclarations=new Map,this.compiledDeclarations=new Set,this.addImports=[],this.additionalImports=new Map,this.overriddenHost=!1,this.knownClasses={Int8Array:hx.int8Array,Uint8Array:hx.uint8Array,Uint8ClampedArray:hx.uint8ClampedArray,Int16Array:hx.int16Array,Uint16Array:hx.uint16Array,Int32Array:hx.int32Array,Uint32Array:hx.uint32Array,Float32Array:hx.float32Array,Float64Array:hx.float64Array,ArrayBuffer:hx.arrayBuffer,BigInt64Array:hx.bigInt64Array,Date:hx.date,RegExp:hx.regexp,String:hx.string,Number:hx.number,BigInt:hx.bigint,Boolean:hx.boolean},this.f=n.factory,this.nodeConverter=new NodeConverter(this.f),this.compilerOptions={...filterUndefined(n.getCompilerOptions())},this.host=NS(this.compilerOptions),this.resolver=new Resolver(this.compilerOptions,this.host,this.cache.sourceFiles),this.parseConfigHost={useCaseSensitiveFileNames:!0,fileExists:n=>this.host.fileExists(n),readFile:n=>this.host.readFile(n),readDirectory:(n,a,S,C,N)=>this.host.readDirectory?this.host.readDirectory(n,a||[],S,C||[],N):[]};{let n=this.f.createIdentifier(`T`),a=this.f.createIdentifier(`Options`);this.intrinsicMetaDeclaration=this.f.createTypeAliasDeclaration([],`TypeAnnotation`,[this.f.createTypeParameterDeclaration([],n),this.f.createTypeParameterDeclaration([],a,void 0,this.f.createTypeReferenceNode(`never`))],this.f.createTypeLiteralNode([this.f.createPropertySignature(void 0,`__meta`,this.f.createToken(RS.QuestionToken),this.f.createIntersectionTypeNode([this.f.createTypeReferenceNode(`never`),this.f.createTupleTypeNode([this.f.createTypeReferenceNode(n),this.f.createTypeReferenceNode(a)])]))]))}}forHost(n){return this.host=n,this.resolver.host=n,this.overriddenHost=!0,this}withReflection(n){let match=a=>({mode:reflectionModeMatcher(n,a),tsConfigPath:``}),a={...n,path:``,mergeStrategy:`replace`,compilerOptions:this.compilerOptions};return this.overriddenConfigResolver={config:a,match},this}transformBundle(n){return n}getTempResultIdentifier(){if(this.tempResultIdentifier)return this.tempResultIdentifier;let n=isNodeWithLocals(this.sourceFile)?this.sourceFile.locals:void 0;if(n){let a=`Ωr`;for(let S=0;a=`Ωr`+(S||``),n.has(FS(a));S++);this.tempResultIdentifier=this.f.createIdentifier(a)}else this.tempResultIdentifier=this.f.createIdentifier(`Ωr`);return this.tempResultIdentifier}getConfigResolver(n){return this.overriddenConfigResolver?this.overriddenConfigResolver:getConfigResolver(this.cache.resolver,this.parseConfigHost,this.compilerOptions,n)}getReflectionConfig(n){return this.getConfigResolver(n).match(n.fileName)}isWithReflection(n,a){let S=this.getExplicitReflectionMode(n,a);if(S===!1)return!1;if(!n)return!0;let C=this.getReflectionConfig(n);return C.mode===`explicit`?S===!0:C.mode==="default"}transformSourceFile(n){if(this.sourceFile=n,n.scriptKind!==VS.TS&&n.scriptKind!==VS.TSX||n.deepkitTransformed)return n;this.embedAssignType=!1,this.addImports=[],this.additionalImports.clear();let a=Date.now(),S=this.getConfigResolver(n),C=S.match(n.fileName);if(Object.assign(this.compilerOptions,S.config.compilerOptions),C.mode===`never`)return debug(`Transform file with reflection=${C.mode} took ${Date.now()-a}ms (${this.getModuleType()}) ${n.fileName} via config ${C.tsConfigPath||`none`}.`),n;if(n.locals||Fx.default.bindSourceFile(n,this.compilerOptions),n.kind!==RS.SourceFile){if(K===void 0)throw Error(`Invalid TypeScript library imported. SyntaxKind different ${n.kind} !== ${RS.SourceFile}.`);let a=K.resolve(`typescript`);throw Error(`Invalid TypeScript library imported. SyntaxKind different ${n.kind} !== ${RS.SourceFile}. typescript package path: ${a}`)}let visitor=a=>{if(a=Ix(a,visitor,this.context),(sS(a)||CS(a)||Yx(a))&&this.isWithReflection(n,a)&&this.compileDeclarations.set(a,{name:a.name,sourceFile:this.sourceFile}),cS(a)&&a.parent&&a.body&&mS(a.parent)){let n=!0;if(a.name.kind===RS.Identifier&&getIdentifierName(a.name)==="default"&&(n=!1),n){let n=this.decorateFunctionExpression(this.f.createFunctionExpression(a.modifiers,a.asteriskToken,nS(a.name)?a.name:void 0,a.typeParameters,a.parameters,a.type,a.body));a=this.f.createPropertyAssignment(a.name,n)}}if(Wx(a))return this.decorateClass(n,a);if(gS(a)&&a.parent&&a.type){let n=Kx(a.parent)?a.parent.parent.typeParameters:a.parent.typeParameters;if(!n)return a;let S=getReceiveTypeParameter(a.type);if(S&&S.typeArguments){let C=S.typeArguments[0];if(C&&DS(C)&&nS(C.typeName)){let N=getIdentifierName(C.typeName),F=n.findIndex(n=>getIdentifierName(n.name)===N),I=this.f.createIdentifier(`globalThis`);if(Bx(a.parent)){let n=this.getArrowFunctionΩPropertyAccessIdentifier(a.parent);if(!n)return a;I=n}else ($x(a.parent)||eS(a.parent))&&a.parent.name?I=a.parent.name:cS(a.parent)&&nS(a.parent.name)?I=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),a.parent.name):Kx(a.parent)&&(I=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),`constructor`));return this.f.updateParameterDeclaration(a,a.modifiers,a.dotDotDotToken,a.name,a.questionToken,S,this.f.createElementAccessChain(this.f.createPropertyAccessExpression(I,this.f.createIdentifier(`Ω`)),this.f.createToken(RS.QuestionDotToken),this.f.createNumericLiteral(F)))}}}else if(Gx(a))return this.decorateClass(n,a);else if(eS(a))return this.decorateFunctionExpression(this.injectResetΩ(a));else if($x(a))return this.decorateFunctionDeclaration(this.injectResetΩ(a));else if(cS(a)||Kx(a))return this.injectResetΩ(a);else if(Bx(a))return this.decorateArrowFunction(this.injectResetΩ(a));else if((pS(a)||Hx(a))&&a.typeArguments&&a.typeArguments.length>0){if(Hx(a)&&nS(a.expression)&&[`valuesOf`,`propertiesOf`,`typeOf`].includes(getIdentifierName(a.expression))){let n=[...a.arguments];n.length||n.push(this.f.createArrayLiteralExpression());let S=this.getTypeOfType(a.typeArguments[0]);return S?(n.push(S),this.f.updateCallExpression(a,a.expression,a.typeArguments,this.f.createNodeArray(n))):a}if(Bx(getAssignTypeExpression(a.expression)||a.expression))return a;let n=[];for(let S of a.typeArguments){let a=this.getTypeOfType(S);n.push(a||this.f.createIdentifier(`undefined`))}let S=this.f.createIdentifier(`globalThis`);(nS(a.expression)||yS(a.expression))&&(S=a.expression);let C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(S,`Ω`),this.f.createToken(RS.EqualsToken),this.f.createArrayLiteralExpression(n)),N=pS(a)?this.f.updateNewExpression:this.f.updateCallExpression;if(yS(a.expression)){if(Hx(a.expression.expression)){let S=this.getTempResultIdentifier(),C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createPropertyAccessExpression(S,a.expression.name),`Ω`),this.f.createToken(RS.EqualsToken),this.f.createArrayLiteralExpression(n));return N(a,this.f.createPropertyAccessExpression(this.f.createParenthesizedExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(S,this.f.createToken(Fx.default.SyntaxKind.EqualsToken),a.expression.expression),this.f.createToken(Fx.default.SyntaxKind.CommaToken),C),this.f.createToken(Fx.default.SyntaxKind.CommaToken),S)),a.expression.name),a.typeArguments,a.arguments)}else if(_S(a.expression.expression)){let S=this.getTempResultIdentifier(),C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createPropertyAccessExpression(S,a.expression.name),`Ω`),this.f.createToken(RS.EqualsToken),this.f.createArrayLiteralExpression(n)),F=N(a,this.f.updatePropertyAccessExpression(a.expression,this.f.updateParenthesizedExpression(a.expression.expression,this.f.createBinaryExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(S,this.f.createToken(RS.EqualsToken),a.expression.expression.expression),this.f.createToken(RS.CommaToken),C),this.f.createToken(RS.CommaToken),S)),a.expression.name),a.typeArguments,a.arguments);return this.f.createParenthesizedExpression(F)}}return this.f.createParenthesizedExpression(this.f.createBinaryExpression(C,this.f.createToken(RS.CommaToken),a))}return a};this.sourceFile=Lx(this.sourceFile,visitor);let N=[];for(;;){let n=!0;for(let a of this.compileDeclarations.values())if(!a.compiled){n=!1;break}if(this.embedDeclarations.size===0&&n)break;for(let[n,a]of[...this.compileDeclarations.entries()])a.compiled||=this.createProgramVarFromNode(n,a.name,this.sourceFile);if(this.embedDeclarations.size){for(let n of this.embedDeclarations.keys())this.compiledDeclarations.add(n);let n=Array.from(this.embedDeclarations.entries());this.embedDeclarations.clear();for(let[a,S]of n)N.push(...this.createProgramVarFromNode(a,S.name,S.sourceFile))}}let compileDeclarations=n=>{if(n=Ix(n,compileDeclarations,this.context),CS(n)||sS(n)||Yx(n)){let a=this.compileDeclarations.get(n);if(!a)return n;if(this.compileDeclarations.delete(n),this.compiledDeclarations.add(n),a.compiled)return[...a.compiled,n]}return n};if(this.sourceFile=Lx(this.sourceFile,compileDeclarations),this.addImports.length){let n=[],a=new Map;for(let S of this.addImports){if(n.includes(getIdentifierName(S.identifier)))continue;n.push(getIdentifierName(S.identifier));let C=a.get(S.importDeclaration);C||(C=[],a.set(S.importDeclaration,C)),C.push(S.identifier)}for(let[n,S]of a.entries()){if(this.additionalImports.has(n))throw Error(`Internal error: additional import already exists`);if(this.getModuleType()===`cjs`){let a=MS(this.f.createVariableStatement(void 0,this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.f.createObjectBindingPattern(S.map(n=>this.f.createBindingElement(void 0,void 0,n,void 0))),void 0,void 0,this.f.createCallExpression(this.f.createIdentifier(`require`),void 0,[n.moduleSpecifier]))],Fx.default.NodeFlags.None)),RS.MultiLineCommentTrivia,`@ts-ignore`,!0);this.additionalImports.set(n,a)}else{let a=this.f.createNamedImports(S.map(n=>this.f.createImportSpecifier(!1,void 0,n))),C=MS(this.f.createImportDeclaration(void 0,this.f.createImportClause(!1,void 0,a),n.moduleSpecifier),RS.MultiLineCommentTrivia,`@ts-ignore`,!0);this.additionalImports.set(n,C)}}}if(this.embedAssignType){let n=this.f.createFunctionDeclaration(void 0,void 0,this.f.createIdentifier(`__assignType`),void 0,[this.f.createParameterDeclaration(void 0,void 0,this.f.createIdentifier(`fn`),void 0,void 0,void 0),this.f.createParameterDeclaration(void 0,void 0,this.f.createIdentifier(`args`),void 0,void 0,void 0)],void 0,this.f.createBlock([this.f.createExpressionStatement(this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createIdentifier(`fn`),this.f.createIdentifier(`__type`)),this.f.createToken(RS.EqualsToken),this.f.createIdentifier(`args`))),this.f.createReturnStatement(this.f.createIdentifier(`fn`))],!0));N.push(n)}this.tempResultIdentifier&&N.push(this.f.createVariableStatement(void 0,this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.tempResultIdentifier,void 0,void 0,void 0)],Fx.default.NodeFlags.None)));let F=this.sourceFile.statements.findIndex(n=>kS(n)&&SS(n.expression)),I=F===-1?[...N,...this.attachAdditionalStatements(this.sourceFile.statements)]:[...this.sourceFile.statements.slice(0,F+1),...N,...this.attachAdditionalStatements(this.sourceFile.statements.slice(F+1))];this.sourceFile=this.f.updateSourceFile(this.sourceFile,I);let H=Date.now()-a;return debug(`Transform file with reflection=${C.mode} took ${H}ms (${this.getModuleType()}) ${n.fileName} via config ${C.tsConfigPath||`none`}.`),this.sourceFile.deepkitTransformed=!0,this.sourceFile}attachAdditionalStatements(n){let a=[];for(let S of n){if(iS(S)||(0,Fx.isJSDocImportTag)(S)){let n=this.additionalImports.get(S);n&&a.push(n)}a.push(S)}return a}getModuleType(){return this.compilerOptions.module===Fx.default.ModuleKind.Node16||this.compilerOptions.module===Fx.default.ModuleKind.NodeNext?this.sourceFile.impliedNodeFormat===Fx.default.ModuleKind.ESNext?`esm`:`cjs`:this.compilerOptions.module===Fx.default.ModuleKind.CommonJS?`cjs`:`esm`}getArrowFunctionΩPropertyAccessIdentifier(n){let{parent:a}=n.original||n;if(AS(a)&&nS(a.name))return a.name;if(Rx(a)&&nS(a.name)){let n=[];for(;a;)if(mS(a))a=a.parent;else if(AS(a)){n.unshift(getIdentifierName(a.name));break}else if(nS(a.name))n.unshift(getIdentifierName(a.name)),a=a.parent;else return;return this.f.createIdentifier(n.join(`.`))}}injectResetΩ(n){let a=!1;for(let S of n.parameters)S.type&&getReceiveTypeParameter(S.type)&&(a=!0);if(!a)return n;let S=this.f.createIdentifier(`globalThis`);if(Bx(n)){let a=this.getArrowFunctionΩPropertyAccessIdentifier(n);if(!a)return n;S=a}else ($x(n)||eS(n))&&n.name?S=n.name:cS(n)&&nS(n.name)?S=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),n.name):Kx(n)&&(S=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),`constructor`));let C=this.f.createExpressionStatement(this.f.createBinaryExpression(this.f.createPropertyAccessExpression(S,this.f.createIdentifier(`Ω`)),this.f.createToken(Fx.default.SyntaxKind.EqualsToken),this.f.createIdentifier(`undefined`))),N=n.body&&Vx(n.body)?n.body:void 0,F=n.body&&Vx(n.body)?[...n.body.statements]:[];return n.body&&(Zx(n.body)&&(F=[this.f.createReturnStatement(n.body)]),N=this.f.updateBlock(n.body,[C,...F])),Bx(n)?this.f.updateArrowFunction(n,n.modifiers,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,N):$x(n)?this.f.updateFunctionDeclaration(n,n.modifiers,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,N):eS(n)?this.f.updateFunctionExpression(n,n.modifiers,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,N||n.body):cS(n)?this.f.updateMethodDeclaration(n,n.modifiers,n.asteriskToken,n.name,n.questionToken,n.typeParameters,n.parameters,n.type,N):Kx(n)?this.f.updateConstructorDeclaration(n,n.modifiers,n.parameters,N):n}createProgramVarFromNode(n,a,S){let C=new CompilerProgram(n,S);if((CS(n)||sS(n))&&n.typeParameters)for(let a of n.typeParameters)a.default&&this.extractPackStructOfType(a.default,C),C.pushTemplateParameter(getIdentifierName(a.name),!!a.default);this.extractPackStructOfType(n,C),(CS(n)||sS(n)||Wx(n)||Gx(n))&&C.pushOp(hx.nominal);let N=this.packOpsAndStack(C),F=this.f.createVariableStatement([],this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.getDeclarationVariableName(a),void 0,void 0,N)],LS.Const));return hasModifier(n,RS.ExportKeyword)?[F,this.f.createExportDeclaration(void 0,!1,this.f.createNamedExports([this.f.createExportSpecifier(!1,this.getDeclarationVariableName(a),this.getDeclarationVariableName(a))]))]:[F]}extractPackStructOfExpression(n,a){switch(n.kind){case RS.StringLiteral:a.pushOp(hx.string);return;case RS.NumericLiteral:a.pushOp(hx.number);return;case RS.FalseKeyword:case RS.TrueKeyword:a.pushOp(hx.boolean);return;case RS.BigIntLiteral:a.pushOp(hx.bigint);return;case RS.CallExpression:{let S=n;if(nS(S.expression)&&getIdentifierName(S.expression)===`Symbol`){a.pushOp(hx.symbol);return}break}case RS.NewExpression:{let S=n;if(nS(S.expression)){let n={Date:hx.date,RegExp:hx.regexp,Uint8Array:hx.uint8Array,Uint8ClampedArray:hx.uint8ClampedArray,Uint16Array:hx.uint16Array,Uint32Array:hx.uint32Array,Int8Array:hx.int8Array,Int16Array:hx.int16Array,Int32Array:hx.int32Array,Float32Array:hx.float32Array,Float64Array:hx.float64Array,ArrayBuffer:hx.arrayBuffer}[getIdentifierName(S.expression)];if(n){a.pushOp(n);return}}break}}a.pushOp(hx.never)}extractPackStructOfType(n,a){if(vS(n))return this.extractPackStructOfType(n.type,a);switch(n.kind){case RS.StringKeyword:a.pushOp(hx.string);break;case RS.NumberKeyword:a.pushOp(hx.number);break;case RS.BooleanKeyword:a.pushOp(hx.boolean);break;case RS.BigIntKeyword:a.pushOp(hx.bigint);break;case RS.VoidKeyword:a.pushOp(hx.void);break;case RS.UnknownKeyword:a.pushOp(hx.unknown);break;case RS.ObjectKeyword:a.pushOp(hx.object);break;case RS.SymbolKeyword:a.pushOp(hx.symbol);break;case RS.NullKeyword:a.pushOp(hx.null);break;case RS.NeverKeyword:a.pushOp(hx.never);break;case RS.AnyKeyword:a.pushOp(hx.any);break;case RS.UndefinedKeyword:a.pushOp(hx.undefined);break;case RS.TrueKeyword:a.pushOp(hx.literal,a.pushStack(this.f.createTrue()));break;case RS.FalseKeyword:a.pushOp(hx.literal,a.pushStack(this.f.createFalse()));break;case RS.ClassDeclaration:case RS.ClassExpression:{let S=n;if(n){let n=[];if(S.typeParameters)for(let n of S.typeParameters){let S=getNameAsString(n.name);n.default&&this.extractPackStructOfType(n.default,a),a.pushTemplateParameter(S,!!n.default)}if(S.heritageClauses){for(let n of S.heritageClauses)if(n.token===RS.ExtendsKeyword)for(let S of n.types){if(a.pushFrame(),S.typeArguments)for(let n of S.typeArguments)this.extractPackStructOfType(n,a);let n=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,this.nodeConverter.toExpression(S.expression)));a.pushOp(hx.classReference,n),a.popFrameImplicit()}}for(let C of S.members){let S=getNameAsString(C.name);S&&n.some(n=>getNameAsString(n.name)===S)||(n.push(C),this.extractPackStructOfType(C,a))}if(a.pushOp(hx.class),S.heritageClauses){for(let n of S.heritageClauses)if(n.token===RS.ExtendsKeyword){let S=n.types[0];if(Qx(S)&&S.typeArguments){for(let n of S.typeArguments)this.extractPackStructOfType(n,a);a.pushOp(hx.classExtends,S.typeArguments.length)}}else if(n.token===RS.ImplementsKeyword){for(let S of n.types)this.extractPackStructOfTypeReference(S,a);a.pushOp(hx.implements,n.types.length)}}S.name&&this.resolveTypeName(getIdentifierName(S.name),a);let C=extractJSDocAttribute(this.sourceFile,S.name?.parent,`description`);C&&a.pushOp(hx.description,a.findOrAddStackEntry(C))}break}case RS.IntersectionType:{let S=n;a.pushFrame();for(let n of S.types)this.extractPackStructOfType(n,a);a.pushOp(hx.intersection),a.popFrameImplicit();break}case RS.MappedType:{let S=n;a.pushFrame(),a.pushVariable(getIdentifierName(S.typeParameter.name));let C=jS(S.typeParameter);C?this.extractPackStructOfType(C,a):a.pushOp(hx.never);let N=0;S.questionToken&&(S.questionToken.kind===RS.QuestionToken&&(N|=1),S.questionToken.kind===RS.MinusToken&&(N|=2)),S.readonlyToken&&(S.readonlyToken.kind===RS.ReadonlyKeyword&&(N|=4),S.readonlyToken.kind===RS.MinusToken&&(N|=8)),a.pushCoRoutine(),S.nameType&&a.pushFrame(),S.type?this.extractPackStructOfType(S.type,a):a.pushOp(hx.never),S.nameType&&(this.extractPackStructOfType(S.nameType,a),a.pushOp(hx.tuple),a.popFrameImplicit());let F=a.popCoRoutine();S.nameType?a.pushOp(hx.mappedType2,F,N):a.pushOp(hx.mappedType,F,N),a.popFrameImplicit();break}case RS.TypeAliasDeclaration:{let S=n;a.sourceFile&&getNameAsString(S.name)===`TypeAnnotation`&&extractJSDocAttribute(a.sourceFile,S,`intrinsic`)!==void 0&&(S=this.intrinsicMetaDeclaration),this.extractPackStructOfType(S.type,a),S.name&&this.resolveTypeName(getIdentifierName(S.name),a);break}case RS.TypeLiteral:case RS.InterfaceDeclaration:{let S=n,C=S;if(a.pushFrame(),sS(S)&&S.heritageClauses){for(let n of S.heritageClauses)if(n.token===RS.ExtendsKeyword)for(let S of n.types)this.extractPackStructOfTypeReference(S,a)}for(let n of S.members)this.extractPackStructOfType(n,a);a.pushOp(hx.objectLiteral),wS(S)&&(C=S.parent);let N=C&&extractJSDocAttribute(this.sourceFile,C,`description`);N&&a.pushOp(hx.description,a.findOrAddStackEntry(N)),sS(S)&&S.name&&this.resolveTypeName(getIdentifierName(S.name),a),a.popFrameImplicit();break}case RS.TypeReference:this.extractPackStructOfTypeReference(n,a);break;case RS.ArrayType:this.extractPackStructOfType(n.elementType,a),a.pushOp(hx.array);break;case RS.RestType:{let S=n.type;zx(S)&&(S=S.elementType),this.extractPackStructOfType(S,a),a.pushOp(hx.rest);break}case RS.TupleType:a.pushFrame();for(let S of n.elements)if(hS(S))this.extractPackStructOfType(S.type,a),a.pushOp(hx.tupleMember),a.pushOp(hx.optional);else if(fS(S)){if(S.dotDotDotToken){let n=S.type;zx(n)&&(n=n.elementType),this.extractPackStructOfType(n,a),a.pushOp(hx.rest)}else this.extractPackStructOfType(S.type,a);let n=a.findOrAddStackEntry(getIdentifierName(S.name));a.pushOp(hx.namedTupleMember,n),S.questionToken&&a.pushOp(hx.optional)}else this.extractPackStructOfType(S,a);a.pushOp(hx.tuple),a.popFrameImplicit();break;case RS.PropertySignature:{let S=n;if(S.type){this.extractPackStructOfType(S.type,a);let n=getPropertyName(this.f,S.name);a.pushOp(hx.propertySignature,a.findOrAddStackEntry(n)),S.questionToken&&a.pushOp(hx.optional),hasModifier(S,RS.ReadonlyKeyword)&&a.pushOp(hx.readonly);let C=extractJSDocAttribute(this.sourceFile,S,`description`);C&&a.pushOp(hx.description,a.findOrAddStackEntry(C))}else a.pushOp(hx.unknown);break}case RS.PropertyDeclaration:{let S=n;if(!1===this.getExplicitReflectionMode(a.sourceFile,S))return;S.type?this.extractPackStructOfType(S.type,a):S.initializer?this.extractPackStructOfExpression(S.initializer,a):a.pushOp(hx.unknown);let C=getPropertyName(this.f,S.name);a.pushOp(hx.property,a.findOrAddStackEntry(C)),S.questionToken&&a.pushOp(hx.optional),hasModifier(S,RS.ReadonlyKeyword)&&a.pushOp(hx.readonly),hasModifier(S,RS.PrivateKeyword)&&a.pushOp(hx.private),hasModifier(S,RS.ProtectedKeyword)&&a.pushOp(hx.protected),hasModifier(S,RS.AbstractKeyword)&&a.pushOp(hx.abstract),hasModifier(S,RS.StaticKeyword)&&a.pushOp(hx.static),S.initializer&&a.pushOp(hx.defaultValue,a.findOrAddStackEntry(this.f.createFunctionExpression(void 0,void 0,void 0,void 0,void 0,void 0,this.f.createBlock([this.f.createReturnStatement(S.initializer)]))));let N=extractJSDocAttribute(this.sourceFile,S,`description`);N&&a.pushOp(hx.description,a.findOrAddStackEntry(N));break}case RS.ConditionalType:{let S=n,C=DS(S.checkType)&&nS(S.checkType.typeName)?S.checkType.typeName:void 0;C&&(a.pushFrame(),this.extractPackStructOfType(S.checkType,a),a.pushVariable(getIdentifierName(C)),a.pushCoRoutine()),a.pushConditionalFrame(),this.extractPackStructOfType(S.checkType,a),this.extractPackStructOfType(S.extendsType,a),a.pushOp(hx.extends),a.pushCoRoutine(),this.extractPackStructOfType(S.trueType,a);let N=a.popCoRoutine();a.pushCoRoutine(),this.extractPackStructOfType(S.falseType,a);let F=a.popCoRoutine();if(a.pushOp(hx.jumpCondition,N,F),a.moveFrame(),C){let n=a.popCoRoutine();a.pushOp(hx.distribute,n),a.popFrameImplicit()}break}case RS.InferType:{let S=n,C=a.findConditionalFrame();if(C){let n=getIdentifierName(S.typeParameter.name),N=a.findVariable(n);if(!N&&(a.pushVariable(n,C),N=a.findVariable(n),!N))throw Error(`Could not find inserted infer variable`);a.pushOp(hx.infer,N.frameOffset,N.stackIndex)}else a.pushOp(hx.never);break}case RS.MethodSignature:case RS.MethodDeclaration:case RS.Constructor:case RS.ArrowFunction:case RS.FunctionExpression:case RS.ConstructSignature:case RS.ConstructorType:case RS.FunctionType:case RS.CallSignature:case RS.FunctionDeclaration:{let S=n;if(!1===this.getExplicitReflectionMode(a.sourceFile,S)){a.pushOp(hx.any);return}let C=Ux(n)?``:qx(S)||Jx(n)?`new`:Kx(S)?`constructor`:getPropertyName(this.f,S.name);if(!S.type&&S.parameters.length===0&&!C)return;a.pushFrame();for(let n=0;n<S.parameters.length;n++){let C=S.parameters[n],N=nS(C.name)?getNameAsString(C.name):`param`+n,F=C.type?C.dotDotDotToken&&zx(C.type)?C.type.elementType:C.type:void 0;F?this.extractPackStructOfType(F,a):a.pushOp(hx.any),C.dotDotDotToken&&a.pushOp(hx.rest),a.pushOp(hx.parameter,a.findOrAddStackEntry(N)),C.questionToken&&a.pushOp(hx.optional),hasModifier(C,RS.PublicKeyword)&&a.pushOp(hx.public),hasModifier(C,RS.PrivateKeyword)&&a.pushOp(hx.private),hasModifier(C,RS.ProtectedKeyword)&&a.pushOp(hx.protected),hasModifier(C,RS.ReadonlyKeyword)&&a.pushOp(hx.readonly);let I=extractJSDocAttribute(this.sourceFile,C,`description`);I&&a.pushOp(hx.description,a.findOrAddStackEntry(I)),C.initializer&&C.type&&!getReceiveTypeParameter(C.type)&&a.pushOp(hx.defaultValue,a.findOrAddStackEntry(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,C.initializer)))}S.type?this.extractPackStructOfType(S.type,a):a.pushOp(hx.any),a.pushOp(Ux(n)?hx.callSignature:lS(S)||Jx(S)?hx.methodSignature:cS(S)||Kx(S)?hx.method:hx.function,a.findOrAddStackEntry(C)),(lS(S)||cS(S))&&S.questionToken&&a.pushOp(hx.optional),cS(S)&&(hasModifier(S,RS.PrivateKeyword)&&a.pushOp(hx.private),hasModifier(S,RS.ProtectedKeyword)&&a.pushOp(hx.protected),hasModifier(S,RS.AbstractKeyword)&&a.pushOp(hx.abstract),hasModifier(S,RS.StaticKeyword)&&a.pushOp(hx.static));let N=extractJSDocAttribute(this.sourceFile,S,`description`);N&&a.pushOp(hx.description,a.findOrAddStackEntry(N)),a.popFrameImplicit();break}case RS.LiteralType:{let S=n;S.literal.kind===RS.NullKeyword?a.pushOp(hx.null):a.pushOp(hx.literal,a.findOrAddStackEntry(S.literal));break}case RS.TemplateLiteralType:{let S=n;a.pushFrame(),S.head.rawText&&a.pushOp(hx.literal,a.findOrAddStackEntry(S.head.rawText));for(let n of S.templateSpans)this.extractPackStructOfType(n.type,a),n.literal.rawText&&a.pushOp(hx.literal,a.findOrAddStackEntry(n.literal.rawText));a.pushOp(hx.templateLiteral),a.popFrameImplicit();break}case RS.UnionType:{let S=n;if(S.types.length!==0)if(S.types.length===1)this.extractPackStructOfType(S.types[0],a);else{a.pushFrame();for(let n of S.types)this.extractPackStructOfType(n,a);a.pushOp(hx.union),a.popFrameImplicit()}break}case RS.EnumDeclaration:{let S=n;a.pushFrame();for(let n of S.members){let S=getPropertyName(this.f,n.name);a.pushOp(hx.enumMember,a.findOrAddStackEntry(S)),n.initializer&&a.pushOp(hx.defaultValue,a.findOrAddStackEntry(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,n.initializer)))}a.pushOp(hx.enum);let C=extractJSDocAttribute(this.sourceFile,S,`description`);C&&a.pushOp(hx.description,a.findOrAddStackEntry(C)),S.name&&this.resolveTypeName(getIdentifierName(S.name),a),a.popFrameImplicit();break}case RS.IndexSignature:{let S=n;S.parameters.length&&S.parameters[0].type?this.extractPackStructOfType(S.parameters[0].type,a):a.pushOp(hx.any),this.extractPackStructOfType(S.type,a),a.pushOp(hx.indexSignature);break}case RS.TypeQuery:{let S=n;if(nS(S.exprName)){let n=this.resolveDeclaration(S.exprName);n&&findSourceFile(n.declaration)!==this.sourceFile&&n.importDeclaration&&ensureImportIsEmitted(n.importDeclaration,S.exprName)}let C=serializeEntityNameAsExpression(this.f,S.exprName);a.pushOp(hx.typeof,a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,C)));break}case RS.TypeOperator:{let S=n;if(S.type.kind===RS.ThisType){a.pushOp(hx.any);break}switch(S.operator){case RS.KeyOfKeyword:this.extractPackStructOfType(S.type,a),a.pushOp(hx.keyof);break;case RS.ReadonlyKeyword:this.extractPackStructOfType(S.type,a),a.pushOp(hx.readonly);break;default:a.pushOp(hx.never)}break}case RS.IndexedAccessType:{let S=n;this.extractPackStructOfType(S.objectType,a),this.extractPackStructOfType(S.indexType,a),a.pushOp(hx.indexAccess);break}case RS.Identifier:{let S=n,C=a.findVariable(getIdentifierName(S));C?a.pushOp(hx.loads,C.frameOffset,C.stackIndex):a.pushOp(hx.never);break}default:a.pushOp(hx.never)}}getGlobalLibs(){if(this.cache.globalSourceFiles)return this.cache.globalSourceFiles;this.cache.globalSourceFiles=[];let n={...this.compilerOptions};n.target&&n.target===zS.ESNext&&(n.target=zS.ES2022);let a=Ox(n,Fx.default);for(let n of a){if(this.isExcluded(n))continue;let a=this.resolver.resolveSourceFile(this.sourceFile,this.f.createStringLiteral(`typescript/lib/`+n.replace(`.d.ts`,``)));a&&this.cache.globalSourceFiles.push(a)}return this.cache.globalSourceFiles}resolveDeclaration(n){let a=n.parent;if(n.kind===RS.QualifiedName)return;let S;for(;a;){if(isNodeWithLocals(a)&&a.locals){let C=a.locals.get(n.escapedText);if(C&&C.declarations&&C.declarations[0]&&!gS(C.declarations[0])){S=C.declarations[0];break}}if(a.kind===RS.SourceFile)break;a=a.parent}if(!S)for(let a of this.getGlobalLibs()){let C=getGlobalsOfSourceFile(a);if(!C)continue;let N=C.get(n.escapedText);if(N&&N.declarations&&N.declarations[0]){S=N.declarations[0];break}}let C,N=!1;if(S&&aS(S)?(S.isTypeOnly&&(N=!0),C=S.parent.parent.parent):S&&iS(S)?C=S:S&&rS(S)&&(C=S.parent),C&&(C.importClause&&C.importClause.isTypeOnly&&(N=!0),S=this.resolveImportSpecifier(getEscapedText(n),C,this.sourceFile)),S&&S.kind===RS.TypeParameter&&S.parent.kind===RS.TypeAliasDeclaration&&(S=S.parent),S)return{declaration:S,importDeclaration:C,typeOnly:N}}getDeclarationVariableName(n){if(nS(n))return this.f.createIdentifier(`__Ω`+getIdentifierName(n));function joinQualifiedName(n){return nS(n)?getIdentifierName(n):joinQualifiedName(n.left)+`_`+getIdentifierName(n.right)}return this.f.createIdentifier(`__Ω`+joinQualifiedName(n))}isExcluded(n){return reflectionModeMatcher({reflection:`default`,exclude:(this.overriddenConfigResolver||getConfigResolver(this.cache.resolver,this.parseConfigHost,this.compilerOptions,this.sourceFile)).config.exclude},n)===`never`}extractPackStructOfTypeReference(n,a){let S=DS(n)?n.typeName:nS(n.expression)?n.expression:void 0;if(!S){a.pushOp(hx.any);return}if(nS(S)&&getIdentifierName(S)===`InlineRuntimeType`&&n.typeArguments&&n.typeArguments[0]&&ES(n.typeArguments[0])){let S=serializeEntityNameAsExpression(this.f,n.typeArguments[0].exprName);a.pushOp(hx.arg,a.pushStack(S));return}if(nS(S)&&getIdentifierName(S)!==`constructor`&&this.knownClasses[getIdentifierName(S)]){let n=getIdentifierName(S),C=this.knownClasses[n];a.pushOp(C)}else if(nS(S)&&getIdentifierName(S)===`Promise`)n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(hx.any),a.pushOp(hx.promise);else if(nS(S)&&getIdentifierName(S)===`integer`)a.pushOp(hx.numberBrand,mx.integer);else if(nS(S)&&getIdentifierName(S)!==`constructor`&&mx[getIdentifierName(S)]!==void 0)a.pushOp(hx.numberBrand,mx[getIdentifierName(S)]);else{if(nS(S)){let n=a.findVariable(getIdentifierName(S));if(n){a.pushOp(hx.loads,n.frameOffset,n.stackIndex);return}}else if(oS(S)){this.extractPackStructOfType(S,a);return}let C=this.resolveDeclaration(S);if(!C){if(bS(S)&&nS(S.left)){let n=this.resolveDeclaration(S.left);if(n&&Yx(n.declaration)){let C,N=0;for(let F of n.declaration.members)if(getNameAsString(F.name)===getNameAsString(S.right)){if(F.initializer)a.pushOp(hx.arg,a.pushStack(this.nodeConverter.toExpression(F.initializer)));else if(C){let n=this.nodeConverter.toExpression(C);a.pushOp(hx.arg,a.pushStack(this.f.createBinaryExpression(n,RS.PlusToken,this.nodeConverter.toExpression(N))))}else a.pushOp(hx.arg,a.pushStack(this.nodeConverter.toExpression(N)));return}else N++,F.initializer&&(C=F.initializer,N=0)}}a.pushOp(hx.never),debug2(`Could not resolve ${getNameAsString(S)} in ${a.sourceFile?.fileName||`intrinsic`}`);return}let N=C.declaration,F=findSourceFile(N),I=!F||C.importDeclaration===void 0&&F.fileName!==this.sourceFile.fileName,H=C.importDeclaration!==void 0;if(AS(N)&&(N.type?N=N.type:N.initializer&&(N=N.initializer)),uS(N)&&C.importDeclaration)nS(S)&&ensureImportIsEmitted(C.importDeclaration,S),a.pushOp(hx.typeof,a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,serializeEntityNameAsExpression(this.f,S))));else if(CS(N)||sS(N)||Yx(N)){let W=getNameAsString(S);if(W===`Array`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(hx.any),a.pushOp(hx.array);return}else if(W===`Function`){a.pushFrame();let n=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,this.f.createIdentifier(`Function`)));a.pushOp(hx.functionReference,n),a.popFrameImplicit();return}else if(W===`Set`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(hx.any),a.pushOp(hx.set);return}else if(W===`Map`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(hx.any),n.typeArguments&&n.typeArguments[1]?this.extractPackStructOfType(n.typeArguments[1],a):a.pushOp(hx.any),a.pushOp(hx.map);return}let K=this.getDeclarationVariableName(S);if(!this.compiledDeclarations.has(N)&&!this.compileDeclarations.has(N)){if(F&&this.isExcluded(F.fileName)){a.pushOp(hx.any);return}if(I)this.embedDeclarations.set(N,{name:S,sourceFile:F});else if(H){if(C.importDeclaration){if(C.typeOnly){this.resolveTypeOnlyImport(S,a);return}if(F.fileName.endsWith(`.d.ts`)){if(!this.resolveImportSpecifier(getEscapedText(K),C.importDeclaration,this.sourceFile)){debug2(`Symbol ${K.escapedText} not found in ${F.fileName}`),this.resolveTypeOnlyImport(S,a);return}this.addImports.push({identifier:K,importDeclaration:C.importDeclaration})}else{if(this.getReflectionConfig(F).mode===`never`){this.resolveTypeOnlyImport(S,a);return}if(!this.isWithReflection(F,N)){this.resolveTypeOnlyImport(S,a);return}this.addImports.push({identifier:K,importDeclaration:C.importDeclaration})}}}else{if(!this.isWithReflection(a.sourceFile,N)){this.resolveTypeOnlyImport(S,a);return}this.compileDeclarations.set(N,{name:S,sourceFile:F})}}let q=a.pushStack(a.forNode===N?0:this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,K));if(n.typeArguments){for(let S of n.typeArguments)this.extractPackStructOfType(S,a);a.pushOp(hx.inlineCall,q,n.typeArguments.length)}else a.pushOp(hx.inline,q)}else if(Wx(N)||$x(N)||eS(N)||Bx(N)){if(C.typeOnly){this.resolveTypeOnlyImport(S,a);return}if(!(F?.fileName.endsWith(`.d.ts`)||this.isWithReflection(a.sourceFile,N))){this.resolveTypeOnlyImport(S,a);return}if(C.importDeclaration&&nS(S)&&ensureImportIsEmitted(C.importDeclaration,S),a.pushFrame(),n.typeArguments)for(let S of n.typeArguments)this.extractPackStructOfType(S,a);let I=nS(S)?S:this.createAccessorForEntityName(S),H=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,I));a.pushOp(Wx(N)?hx.classReference:hx.functionReference,H),a.popFrameImplicit()}else TS(N)?this.resolveTypeParameter(N,n,a):this.extractPackStructOfType(N,a)}}getTypeUser(n){let a=n;for(;a;){if(a.kind===RS.Block||a.kind===RS.ClassDeclaration||a.kind===RS.ClassExpression)return a;if(a.kind===RS.Constructor||a.kind===RS.MethodDeclaration)return a.parent;if(a.kind===RS.ArrowFunction||a.kind===RS.FunctionDeclaration||a.kind===RS.FunctionExpression)return a;a=a.parent}return a}needsToBeInferred(n,a){return this.getTypeUser(n)!==this.getTypeUser(a)}resolveTypeOnlyImport(n,a){a.pushOp(hx.any);let S=Fx.default.isIdentifier(n)?getIdentifierName(n):getIdentifierName(n.right);this.resolveTypeName(S,a)}resolveTypeName(n,a){n&&a.pushOp(hx.typeName,a.findOrAddStackEntry(n))}resolveTypeParameter(n,a,S){let C=tS(n.parent);if(C&&S.isResolveFunctionParameters(n.parent)||this.needsToBeInferred(n,a)){let a=n.name.escapedText,N=[];if(C)for(let S of n.parent.parameters){if(!S.type)continue;let C=!1,searchArgument=S=>(S=Ix(S,searchArgument,this.context),nS(S)&&S.escapedText===a&&(C=!0,S=this.f.createInferTypeNode(n)),S);if(nS(S.name)){let n=Ix(S.type,searchArgument,this.context);C&&N.push({type:n,parameterName:S.name})}}if(N.length){N.length;let a=N.find(n=>DS(n.type)&&nS(n.type.typeName)&&getIdentifierName(n.type.typeName)===`ReceiveType`);if(a)S.pushOp(hx.inline,S.pushStack(a.parameterName));else for(let a of N)S.pushConditionalFrame(),S.pushOp(hx.typeof,S.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,a.parameterName))),this.extractPackStructOfType(a.type,S),S.pushOp(hx.extends),S.findVariable(getIdentifierName(n.name))?this.extractPackStructOfType(n.name,S):S.pushOp(hx.any),this.extractPackStructOfType({kind:RS.NeverKeyword},S),S.pushOp(hx.condition),S.popFrameImplicit();N.length}else if(n.constraint){C&&S.resolveFunctionParametersIncrease(n.parent);let a=jS(n);a?this.extractPackStructOfType(a,S):S.pushOp(hx.never),C&&S.resolveFunctionParametersDecrease(n.parent)}else S.pushOp(hx.never)}else S.pushOp(hx.any)}createAccessorForEntityName(n){return this.f.createPropertyAccessExpression(nS(n.left)?n.left:this.createAccessorForEntityName(n.left),n.right)}findDeclarationInFile(n,a){if(isNodeWithLocals(n)&&n.locals){let S=n.locals.get(a);if(S&&S.declarations&&S.declarations[0])return S.declarations[0]}}resolveImportSpecifier(n,a,S){let C=typeof n==`string`?n:getIdentifierName(n);if(!a.moduleSpecifier||!SS(a.moduleSpecifier))return;let N=this.resolver.resolve(S,a);if(!N){debug(`module not found`,a.moduleSpecifier.text,`Is transpileOnly enabled? It needs to be disabled.`);return}let F=this.findDeclarationInFile(N,C);if(S=N,F&&!aS(F))return Xx(F)?this.followExport(C,F,S):F;if(xS(S))for(let n of S.statements){if(!Xx(n))continue;let a=this.followExport(C,n,S);if(a)return a}}followExport(n,a,S){if(a.exportClause){if(dS(a.exportClause)){for(let C of a.exportClause.elements)if(getEscapedText(C.name)===n)if(!a.moduleSpecifier||!SS(a.moduleSpecifier)){if((!a.moduleSpecifier||!SS(a.moduleSpecifier))&&isNodeWithLocals(S)&&S.locals){let a=S.locals.get(n);if(a&&a.declarations&&a.declarations[0]){let N=a.declarations[0];if(N&&aS(N)){let a=N.parent.parent.parent,F=this.resolveImportSpecifier(C.propertyName?getEscapedText(C.propertyName):n,a,S);if(F)return F}return N}}}else{let N=this.resolveImportSpecifier(C.propertyName?getEscapedText(C.propertyName):n,a,S);if(N)return N}}}else{let C=this.resolveImportSpecifier(n,a,S);if(C)return C}}getTypeOfType(n){if(!this.isWithReflection(this.sourceFile,n))return;let a=new CompilerProgram(n,this.sourceFile);return this.extractPackStructOfType(n,a),this.packOpsAndStack(a)}packOpsAndStack(n){let a=n.buildPackStruct();if(a.ops.length===0)return;let S=[...a.stack,encodeOps(a.ops)];return this.valueToExpression(S)}valueToExpression(n){return this.nodeConverter.toExpression(n)}decorateClass(n,a){if(!this.isWithReflection(n,a))return a;let S=this.getTypeOfType(a),C=this.f.createPropertyDeclaration(this.f.createModifiersFromModifierFlags(BS.Static),`__type`,void 0,void 0,S);return Wx(a)?this.f.updateClassDeclaration(a,a.modifiers,a.name,a.typeParameters,a.heritageClauses,this.f.createNodeArray([...a.members,C])):this.f.updateClassExpression(a,a.modifiers,a.name,a.typeParameters,a.heritageClauses,this.f.createNodeArray([...a.members,C]))}decorateFunctionExpression(n){let a=this.getTypeOfType(n);return a?this.wrapWithAssignType(n,a):n}decorateFunctionDeclaration(n){let a=this.getTypeOfType(n);if(!a)return n;if(!n.name){if(!n.body)return;let S=n.modifiers?n.modifiers.filter(n=>n.kind!==RS.ExportKeyword&&n.kind!==RS.DefaultKeyword&&n.kind!==RS.Decorator):[];return this.f.createExportAssignment(void 0,void 0,this.wrapWithAssignType(this.f.createFunctionExpression(S,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body),a))}let S=[n];return S.push(this.f.createExpressionStatement(this.f.createAssignment(this.f.createPropertyAccessExpression(serializeEntityNameAsExpression(this.f,n.name),`__type`),a))),S}decorateArrowFunction(n){let a=this.getTypeOfType(n);return a?this.wrapWithAssignType(n,a):n}wrapWithAssignType(n,a){return this.embedAssignType=!0,this.f.createCallExpression(this.f.createIdentifier(`__assignType`),void 0,[n,a])}getExplicitReflectionMode(n,a){let S=a,C;for(;C===void 0&&S;){let a=n&&extractJSDocAttribute(n,S,`reflection`);a!==void 0&&(C=a),S=S.parent}if(C===``||C===`true`||C==="default"||C===`enabled`||C===`1`)return!0;if(C===`false`||C===`disabled`||C===`never`||C===`no`||C===`0`)return!1}},DeclarationTransformer=class extends ReflectionTransformer{constructor(){super(...arguments),this.addExports=[]}transformSourceFile(n){if(n.deepkitDeclarationTransformed)return n;this.sourceFile=n,this.addExports=[];let a=this.getConfigResolver(n),S=a.match(n.fileName);if(Object.assign(this.compilerOptions,a.config.compilerOptions),S.mode===`never`)return n;let visitor=a=>(a=Ix(a,visitor,this.context),(CS(a)||sS(a)||Yx(a))&&hasModifier(a,RS.ExportKeyword)&&this.isWithReflection(n,a)&&this.addExports.push({identifier:getIdentifierName(this.getDeclarationVariableName(a.name))}),a);if(this.sourceFile=Lx(this.sourceFile,visitor),this.addExports.length){let n=[],a=[];for(let S of this.addExports)a.includes(S.identifier)||(a.push(S.identifier),n.push(this.f.createTypeAliasDeclaration([this.f.createModifier(RS.ExportKeyword),this.f.createModifier(RS.DeclareKeyword)],this.f.createIdentifier(S.identifier),void 0,this.f.createArrayTypeNode(this.f.createKeywordTypeNode(RS.AnyKeyword)))));this.sourceFile=this.f.updateSourceFile(this.sourceFile,[...this.sourceFile.statements,...n])}return this.sourceFile.deepkitDeclarationTransformed=!0,this.sourceFile}},US=!1,WS=new Cache,GS=function deepkitTransformer(n){return US||=(debug(`@deepkit/type transformer loaded
691
- `),!0),WS.tick(),new ReflectionTransformer(n,WS)},KS=function deepkitDeclarationTransformer(n){return new DeclarationTransformer(n,WS)}}),JS,DeepkitLoader,YS=__esmMin(()=>{JS=__toESM$1(Yp(),1),qS(),DeepkitLoader=class{constructor(){this.options={allowJs:!0,declaration:!1},this.host=JS.default.createCompilerHost(this.options),this.program=JS.default.createProgram([],this.options,this.host),this.printer=JS.default.createPrinter({newLine:JS.default.NewLineKind.LineFeed}),this.cache=new Cache,this.knownFiles={},this.sourceFiles={};let n=this.host.readFile;this.host.readFile=a=>this.knownFiles[a]?this.knownFiles[a]:n.call(this.host,a),this.host.writeFile=()=>{};let a=this.host.getSourceFile;this.host.getSourceFile=(n,S,C,N)=>this.sourceFiles[n]?this.sourceFiles[n]:a.call(this.host,n,S,C,N)}transform(n,a){this.knownFiles[a]=n;let S=JS.default.createSourceFile(a,n,JS.default.ScriptTarget.ESNext,!0,a.endsWith(`.tsx`)?JS.default.ScriptKind.TSX:JS.default.ScriptKind.TS),C=n;return JS.default.transform(S,[n=>{let a=new ReflectionTransformer(n,this.cache).forHost(this.host).withReflection({reflection:`default`});return n=>{let S=a.transformSourceFile(n);return C=this.printer.printNode(JS.default.EmitHint.SourceFile,S,S),S}}],this.options),C}}}),XS=__exportAll$3({Cache:()=>Cache,DeclarationTransformer:()=>DeclarationTransformer,DeepkitLoader:()=>DeepkitLoader,ReflectionTransformer:()=>ReflectionTransformer,debugPackStruct:()=>debugPackStruct,declarationTransformer:()=>KS,default:()=>myTransformerPlugin,encodeOps:()=>encodeOps,packSize:()=>64,packSizeByte:()=>6,transformer:()=>GS});function myTransformerPlugin(n,a){return{before:GS,afterDeclarations:KS}}var ZS=__esmMin(()=>{qS(),qS(),YS()});async function getLoader(){return QS||(QS=(async()=>new(await(Promise.resolve().then(()=>(ZS(),XS)))).DeepkitLoader)(),QS)}function printDiagnostics(...n){ke.log(`[deepkit] printDiagnostics`,inspect(n,!1,10,!0))}function deepkitPlugin(n={}){let a=n.reflection??!1;return{name:`gjsify-deepkit`,transform:{order:`pre`,async handler(n,S){if(!a||!$S.test(S))return null;try{let a=(await getLoader()).transform(n,S);return a===n?null:{code:a,map:null}}catch(n){return printDiagnostics({file:S,error:n}),null}}}}}var QS,$S,eC=__esmMin(()=>{Ae(),tc(),QS=null,$S=/\.(m|c)?tsx?$/});function isPlainObject(n){if(typeof n!=`object`||!n)return!1;let a=Object.getPrototypeOf(n);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)}var tC=__esmMin(()=>{}),safeNormalizeFileUrl,normalizeDenoExecPath,isDenoExecPath,normalizeFileUrl,nC=__esmMin(()=>{mn(),safeNormalizeFileUrl=(n,a)=>{let S=normalizeFileUrl(normalizeDenoExecPath(n));if(typeof S!=`string`)throw TypeError(`${a} must be a string or a file URL: ${S}.`);return S},normalizeDenoExecPath=n=>isDenoExecPath(n)?n.toString():n,isDenoExecPath=n=>typeof n!=`string`&&n&&Object.getPrototypeOf(n)===String.prototype,normalizeFileUrl=n=>n instanceof URL?fileURLToPath(n):n}),normalizeParameters,rC=__esmMin(()=>{tC(),nC(),normalizeParameters=(n,a=[],S={})=>{let C=safeNormalizeFileUrl(n,`First argument`),[N,F]=isPlainObject(a)?[[],a]:[a,S];if(!Array.isArray(N))throw TypeError(`Second argument must be either an array of arguments or an options object: ${N}`);if(N.some(n=>typeof n==`object`&&!!n))throw TypeError(`Second argument must be an array of strings: ${N}`);let I=N.map(String),H=I.find(n=>n.includes(`\0`));if(H!==void 0)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${H}`);if(!isPlainObject(F))throw TypeError(`Last argument must be an options object: ${F}`);return[C,I,F]}}),iC=__exportAll$3({ChildProcess:()=>ChildProcess,default:()=>oC,exec:()=>_exec,execFile:()=>execFile,execFileSync:()=>execFileSync,execSync:()=>execSync,spawn:()=>spawn,spawnSync:()=>spawnSync});function _gioErrorToNodeError(n,a,S){let C=n??Error(`Unknown spawn error`),N=C,F=C.code,I=C.matches,H=!1;if(typeof I==`function`)try{H=I.call(C,Z.SpawnError,Z.SpawnError.NOENT)===!0}catch{}if(!H&&F===Z.SpawnError.NOENT&&(H=!0),!H&&typeof C.message==`string`&&/No such file or directory|ENOENT|Failed to execute|nicht gefunden|nicht ausgeführt/i.test(C.message)&&(H=!0),H){let n=Error(`spawn ${a} ENOENT`);return n.code=`ENOENT`,n.errno=-2,n.syscall=`spawn ${a}`,n.path=a,n.spawnargs=S.slice(),n}if(C instanceof Error)return N;let W=C,K=typeof W.message==`string`?W.message:String(C),q=Error(K);return(typeof F==`number`||typeof F==`string`)&&(q.code=F),q}function _normalizeCwd(n){if(n!=null){if(typeof n==`string`)return n;if(typeof n==`object`&&n&&typeof n.href==`string`&&typeof n.protocol==`string`){let a=n;if(a.protocol!==`file:`)throw TypeError(`The URL must be of scheme file:; received '${a.protocol}' for 'options.cwd'`);return fileURLToPath(a)}return n instanceof Uint8Array?new TextDecoder().decode(n):String(n)}}function _encodeEnvValue(n){if(n!==void 0)return`${n}`}function _spawnSubprocess(n,a,S){let C=new me.SubprocessLauncher({flags:a}),N=_normalizeCwd(S?.cwd);if(N!==void 0&&C.set_cwd(N),S?.env){let n=S.env;C.set_environ([]);let a=new Set;for(let S in n){if(a.has(S))continue;a.add(S);let N=_encodeEnvValue(n[S]);N!==void 0&&C.setenv(S,N,!0)}}let F=n;if(S?.argv0!==void 0&&S.argv0!==null){if(typeof S.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof S.argv0}`);F=[`/bin/sh`,`-c`,`exec -a "$0" "$@"`,S.argv0,...n]}S?.detached===!0&&(F=[`/usr/bin/setsid`,...F]);let I=C.spawnv(F);return{proc:I,pid:_capturePidAtSpawn(I)}}function _capturePidAtSpawn(n){let a=n.get_identifier();if(a){let n=parseInt(a,10);if(n>0)return n}return 0}function execSync(n,a){let S=a?.encoding,C=a?.input,N=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(C?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),F=typeof a?.shell==`string`?a.shell:`/bin/sh`,I;try{({proc:I}=_spawnSubprocess([F,`-c`,n],N,a))}catch(a){throw _gioErrorToNodeError(a,F,[`-c`,n])}let H=C?new Z.Bytes(typeof C==`string`?new TextEncoder().encode(C):C):null,[,W,K]=I.communicate(H,null),q=I.get_exit_status();if(q!==0){let a=K?new TextDecoder().decode(gbytesToUint8Array(K)):``,C=W?new TextDecoder().decode(gbytesToUint8Array(W)):``,N=Error(`Command failed: ${n}\n${a}`);throw N.status=q,S===`buffer`||S===null?(N.stderr=K?lt.from(gbytesToUint8Array(K)):lt.alloc(0),N.stdout=W?lt.from(gbytesToUint8Array(W)):lt.alloc(0)):(N.stderr=a,N.stdout=C),N}if(!W)return S===`buffer`||S==null?lt.alloc(0):``;let Y=gbytesToUint8Array(W);if(S===`buffer`||S==null)return lt.from(Y);let X=lt.isEncoding(S)?S:`utf8`;return lt.from(Y).toString(X)}function _decodeExecOutput(n,a){let S=n??new Uint8Array;if(a===`buffer`||a===null)return lt.from(S);let C=a&&lt.isEncoding(a)?a:`utf8`;return lt.from(S).toString(C)}function _normalizeKillSignal(n){return n??`SIGTERM`}function _exec(n,a,S){typeof a==`function`&&(S=a,a={});let C=a||{},N=new ChildProcess,F=typeof C.shell==`string`?C.shell:`/bin/sh`,I=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE,H=C.maxBuffer??1024*1024,W=C.timeout&&C.timeout>0?C.timeout:0,K=_normalizeKillSignal(C.killSignal),q=C.signal;return _execImpl(N,[F,`-c`,n],I,C,{cmd:n,encoding:C.encoding,maxBuffer:H,timeoutMs:W,killSignal:K,abortSignal:q,callback:S})}function _execImpl(n,a,S,C,N){let F=null,I=!1,H=null,W=null,armTimeout=a=>{N.timeoutMs&&(F=setTimeout(()=>{I=!0;try{a.send_signal(typeof N.killSignal==`number`?N.killSignal:15)}catch{}n.killed=!0},N.timeoutMs))},disarmTimeout=()=>{F!==null&&(clearTimeout(F),F=null)},armAbort=a=>{if(!N.abortSignal)return;let fire=()=>{H=Error(`The operation was aborted`),H.name=`AbortError`;try{a.send_signal(typeof N.killSignal==`number`?N.killSignal:15)}catch{}n.killed=!0};if(N.abortSignal.aborted){queueMicrotask(fire);return}W=fire,N.abortSignal.addEventListener(`abort`,W,{once:!0})},disarmAbort=()=>{N.abortSignal&&W&&(N.abortSignal.removeEventListener(`abort`,W),W=null)};try{let{proc:F,pid:W}=_spawnSubprocess(a,S,C);n._setSubprocess(F,W),aC.add(n),ensureMainLoop(),armTimeout(F),armAbort(F),F.communicate_async(null,null,(a,S)=>{disarmTimeout(),disarmAbort(),aC.delete(n);try{let[,a,C]=F.communicate_finish(S),W=a?gbytesToUint8Array(a):null,K=C?gbytesToUint8Array(C):null,q=null;N.maxBuffer!==1/0&&W&&W.length>N.maxBuffer&&(W=W.subarray(0,N.maxBuffer),q=RangeError(`stdout maxBuffer length exceeded`),q.code=`ERR_CHILD_PROCESS_STDIO_MAXBUFFER`),!q&&N.maxBuffer!==1/0&&K&&K.length>N.maxBuffer&&(K=K.subarray(0,N.maxBuffer),q=RangeError(`stderr maxBuffer length exceeded`),q.code=`ERR_CHILD_PROCESS_STDIO_MAXBUFFER`);let Y=_decodeExecOutput(W,N.encoding),X=_decodeExecOutput(K,N.encoding),te=F.get_if_exited()?F.get_exit_status():null,ne=F.get_if_signaled()?typeof N.killSignal==`string`?N.killSignal:`SIGTERM`:null;n.exitCode=te,n.signalCode=ne;let re=null;if(H)re=H,re.killed=!0,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(q)re=q,re.killed=n.killed,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(I)re=Error(`Command failed: ${N.cmd}`),re.killed=!0,re.code=null,re.signal=typeof N.killSignal==`string`?N.killSignal:`SIGTERM`,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(te!==0&&te!==null){let a=typeof X==`string`?X:X.toString();re=Error(`Command failed: ${N.cmd}\n${a}`),re.code=te,re.killed=n.killed,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd}else ne&&(re=Error(`Command failed: ${N.cmd}`),re.killed=!0,re.signal=ne,re.code=null,re.stdout=Y,re.stderr=X,re.cmd=N.cmd);N.callback&&N.callback(re,Y,X),n.emit(`exit`,te,ne),n.emit(`close`,te,ne)}catch(a){let S=a instanceof Error?a:Error(String(a));N.callback&&N.callback(S,``,``),n.emit(`error`,S)}}),queueMicrotask(()=>n.emit(`spawn`))}catch(S){disarmTimeout(),disarmAbort();let C=_gioErrorToNodeError(S,a[0]??``,a.slice(1));setTimeout(()=>{N.callback&&N.callback(C,``,``),n.emit(`error`,C)},0)}return n}function execFile(n,a,S,C){let N=[],F={},I;typeof a==`function`?I=a:Array.isArray(a)?(N=a,typeof S==`function`?I=S:(F=S||{},I=C)):a&&typeof a==`object`&&(F=a,I=typeof S==`function`?S:C);let H=new ChildProcess,W=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE,K=F.maxBuffer??1024*1024,q=F.timeout&&F.timeout>0?F.timeout:0,Y=_normalizeKillSignal(F.killSignal);return _execImpl(H,[n,...N],W,F,{cmd:n,encoding:F.encoding,maxBuffer:K,timeoutMs:q,killSignal:Y,abortSignal:F.signal,callback:I})}function execFileSync(n,a,S){let C=[],N;Array.isArray(a)?(C=a,N=S):a&&typeof a==`object`&&(N=a);let F=N?.encoding,I=N?.input,H=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(I?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),W;try{({proc:W}=_spawnSubprocess([n,...C],H,N))}catch(a){throw _gioErrorToNodeError(a,n,C)}let K=I?new Z.Bytes(typeof I==`string`?new TextEncoder().encode(I):I):null,[,q,Y]=W.communicate(K,null),X=W.get_exit_status();if(X!==0){let a=Y?new TextDecoder().decode(gbytesToUint8Array(Y)):``,S=q?new TextDecoder().decode(gbytesToUint8Array(q)):``,N=Error(`Command failed: ${n} ${C.join(` `)}`);throw N.status=X,F===`buffer`||F===null?(N.stderr=Y?lt.from(gbytesToUint8Array(Y)):lt.alloc(0),N.stdout=q?lt.from(gbytesToUint8Array(q)):lt.alloc(0)):(N.stderr=a,N.stdout=S),N}if(!q)return F===`buffer`||F==null?lt.alloc(0):``;let te=gbytesToUint8Array(q);if(F===`buffer`||F==null)return lt.from(te);let ne=lt.isEncoding(F)?F:`utf8`;return lt.from(te).toString(ne)}function spawn(n,a,S){let C,N;if(Array.isArray(a))C=a,N=S;else if(a!=null){if(typeof a!=`object`)throw TypeError(`The "args" argument must be of type object. Received type ${typeof a}`);C=void 0,N=a}else C=void 0,N=a;if(N!=null&&typeof N!=`object`)throw TypeError(`The "options" argument must be of type object. Received type ${typeof N}`);if(N?.argv0!==void 0&&N.argv0!==null&&typeof N.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof N.argv0}`);N?.cwd!==void 0&&_normalizeCwd(N.cwd);let F=C||[],I=new ChildProcess,H=N?.shell,W;W=H?[typeof H==`string`?H:`/bin/sh`,`-c`,[n,...F].join(` `)]:[n,...F];let K=N?.stdio,q=Array.isArray(K)?[typeof K[0]==`string`?K[0]:`pipe`,typeof K[1]==`string`?K[1]:`pipe`,typeof K[2]==`string`?K[2]:`pipe`]:typeof K==`string`?[K,K,K]:[`pipe`,`pipe`,`pipe`],Y=me.SubprocessFlags.NONE;q[0]===`pipe`?Y|=me.SubprocessFlags.STDIN_PIPE:q[0]===`inherit`&&(Y|=me.SubprocessFlags.STDIN_INHERIT),q[1]===`pipe`&&(Y|=me.SubprocessFlags.STDOUT_PIPE),q[1]===`ignore`&&(Y|=me.SubprocessFlags.STDOUT_SILENCE),q[2]===`pipe`&&(Y|=me.SubprocessFlags.STDERR_PIPE),q[2]===`ignore`&&(Y|=me.SubprocessFlags.STDERR_SILENCE);try{let{proc:n,pid:a}=_spawnSubprocess(W,Y,N);if(I._setSubprocess(n,a),aC.add(I),q[0]===`pipe`){let a=n.get_stdin_pipe();a&&(I.stdin=new GioOutputStreamWritable(a))}let S=n.get_stdout_pipe();S&&(I.stdout=new GioInputStreamReadable(S));let C=n.get_stderr_pipe();C&&(I.stderr=new GioInputStreamReadable(C));let F=N?.signal,H=null,emitAbortError=()=>{let n=N?.killSignal??`SIGTERM`;I.kill(n);let a=Error(`The operation was aborted`);a.name=`AbortError`,I.emit(`error`,a)};F&&(F.aborted?queueMicrotask(emitAbortError):(H=emitAbortError,F.addEventListener(`abort`,H,{once:!0})));let K=null;if(N?.timeout&&N.timeout>0){let n=N.killSignal??`SIGTERM`;K=setTimeout(()=>{I.kill(n),K=null},N.timeout)}ensureMainLoop(),n.wait_async(null,(a,S)=>{try{n.wait_finish(S);let a=n.get_if_exited()?n.get_exit_status():null,C=null;if(n.get_if_signaled()){let n=N?.killSignal;C=typeof n==`string`?n:`SIGTERM`}I.exitCode=a,I.signalCode=C,K!==null&&(clearTimeout(K),K=null),F&&H&&F.removeEventListener(`abort`,H),I.stdin&&!I.stdin.destroyed&&I.stdin.destroy(),I.emit(`exit`,a,C),I.emit(`close`,a,C)}catch(n){I.emit(`error`,n instanceof Error?n:Error(String(n)))}aC.delete(I)}),queueMicrotask(()=>I.emit(`spawn`))}catch(a){deferEmit(I,`error`,_gioErrorToNodeError(a,H?n:W[0]??``,H?F:W.slice(1)))}return I}function spawnSync(n,a,S){let C,N;if(Array.isArray(a))C=a,N=S;else if(a!=null){if(typeof a!=`object`)throw TypeError(`The "args" argument must be of type object. Received type ${typeof a}`);C=void 0,N=a}else C=void 0,N=a;if(N!=null&&typeof N!=`object`)throw TypeError(`The "options" argument must be of type object. Received type ${typeof N}`);if(N?.argv0!==void 0&&N.argv0!==null&&typeof N.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof N.argv0}`);N?.cwd!==void 0&&_normalizeCwd(N.cwd);let F=C||[],I=N?.shell,H=N?.input,W;W=I?[typeof I==`string`?I:`/bin/sh`,`-c`,[n,...F].join(` `)]:[n,...F];let K=!1;if(N?.timeout&&N.timeout>0){let n=N.timeout/1e3,a=N.killSignal;W=[`/usr/bin/timeout`,`-s`,typeof a==`string`?a.replace(/^SIG/,``):`TERM`,String(n),...W],K=!0}let q=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(H?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),Y=H;if(Y!=null&&typeof Y!=`string`&&!(Y instanceof Uint8Array)&&!(Y instanceof ArrayBuffer)&&!ArrayBuffer.isView(Y))throw TypeError(`The "input" property must be of type string, Buffer, TypedArray, or DataView. Received type ${typeof Y}`);let X=N?.encoding,te=X===`buffer`||X==null?lt.alloc(0):``,ne,re=0;try{({proc:ne,pid:re}=_spawnSubprocess(W,q,N))}catch(a){let S=I?n:W[0]??``,C=I?F:W.slice(1);return{pid:0,output:[null,te,te],stdout:te,stderr:te,status:null,signal:null,error:_gioErrorToNodeError(a,S,C)}}let ie=H?new Z.Bytes(typeof H==`string`?new TextEncoder().encode(H):H):null,ae,oe,se=null;try{let n=ne.communicate(ie,null);ae=n[1]??null,oe=n[2]??null}catch(n){se=n instanceof Error?n:Error(String(n)),ae=null,oe=null}let ce=ae?lt.from(gbytesToUint8Array(ae)):lt.alloc(0),le=oe?lt.from(gbytesToUint8Array(oe)):lt.alloc(0),decode=n=>{if(X===`buffer`||X==null)return n;let a=lt.isEncoding(X)?X:`utf8`;return n.toString(a)},ue=decode(ce),de=decode(le),fe=ne.get_if_exited()?ne.get_exit_status():null,pe=null;if(ne.get_if_signaled()){let n=N?.killSignal;pe=typeof n==`string`?n:`SIGTERM`}let he=!1;K&&(fe===124||fe===137)&&(he=!0,pe=typeof N?.killSignal==`string`?N.killSignal:`SIGTERM`);let ge={pid:re,output:[null,ue,de],stdout:ue,stderr:de,status:he?null:fe,signal:pe};if(he){let n=Error(`Command failed: ${W.join(` `)}\n${typeof de==`string`?de:de.toString()}`);n.code=`ETIMEDOUT`,n.killed=!0,n.signal=pe,ge.error=n}else se&&(ge.error=se);return ge}var GioInputStreamReadable,GioOutputStreamWritable,aC,ChildProcess,oC,sC=__esmMin(()=>{he(),se(),Kt(),vt(),oi(),mn(),Xe(),GioInputStreamReadable=class extends ei{_stream;_cancellable=new me.Cancellable;constructor(n){super(),this._stream=n}_read(n){this._stream.read_bytes_async(Math.max(n,4096),Z.PRIORITY_DEFAULT,this._cancellable,(n,a)=>{try{let n=this._stream.read_bytes_finish(a).get_data();!n||n.length===0?this.push(null):this.push(lt.from(n))}catch(n){this._cancellable.is_cancelled()||this.destroy(n)}})}_destroy(n,a){this._cancellable.cancel(),a(n)}},GioOutputStreamWritable=class extends ti{_stream;_cancellable=new me.Cancellable;_closed=!1;constructor(n){super(),this._stream=n}_write(n,a,S){if(this._closed){S(Error(`write after end`));return}let C=typeof n==`string`?lt.from(n):n instanceof Uint8Array?n:lt.from(n);this._stream.write_bytes_async(new Z.Bytes(C),Z.PRIORITY_DEFAULT,this._cancellable,(n,a)=>{try{this._stream.write_bytes_finish(a),S()}catch(n){this._cancellable.is_cancelled()?S():S(n)}})}_final(n){if(this._closed){n();return}this._closed=!0;try{this._stream.close(null)}catch{}n()}_destroy(n,a){if(this._cancellable.cancel(),!this._closed){this._closed=!0;try{this._stream.close(null)}catch{}}a(n)}},aC=new Set,ChildProcess=class extends Ft{pid;exitCode=null;signalCode=null;killed=!1;connected=!1;stdin=null;stdout=null;stderr=null;get stdio(){return[this.stdin,this.stdout,this.stderr]}_subprocess=null;_setSubprocess(n,a){this._subprocess=n,a>0&&(this.pid=a)}kill(n){if(!this._subprocess)return!1;try{let a=n??`SIGTERM`;return a===`SIGKILL`||a===9?this._subprocess.force_exit():typeof a==`number`?this._subprocess.send_signal(a):this._subprocess.send_signal({SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGABRT:6,SIGKILL:9,SIGUSR1:10,SIGUSR2:12,SIGTERM:15}[a]??15),this.killed=!0,!0}catch{return!1}}ref(){return this}unref(){return this}},oC={ChildProcess,exec:_exec,execSync,execFile,execFileSync,spawn,spawnSync}}),cC,isArrayBuffer,isUint8Array,bufferToUint8Array,lC,stringToUint8Array,uC,uint8ArrayToString,joinToString,uint8ArraysToStrings,joinToUint8Array,stringsToUint8Arrays,concatUint8Arrays,getJoinLength,dC=__esmMin(()=>{Jt(),{toString:cC}=Object.prototype,isArrayBuffer=n=>cC.call(n)===`[object ArrayBuffer]`,isUint8Array=n=>cC.call(n)===`[object Uint8Array]`,bufferToUint8Array=n=>new Uint8Array(n.buffer,n.byteOffset,n.byteLength),lC=new TextEncoder,stringToUint8Array=n=>lC.encode(n),uC=new TextDecoder,uint8ArrayToString=n=>uC.decode(n),joinToString=(n,a)=>uint8ArraysToStrings(n,a).join(``),uint8ArraysToStrings=(n,a)=>{if(a===`utf8`&&n.every(n=>typeof n==`string`))return n;let S=new qt(a),C=n.map(n=>typeof n==`string`?stringToUint8Array(n):n).map(n=>S.write(n)),N=S.end();return N===``?C:[...C,N]},joinToUint8Array=n=>n.length===1&&isUint8Array(n[0])?n[0]:concatUint8Arrays(stringsToUint8Arrays(n)),stringsToUint8Arrays=n=>n.map(n=>typeof n==`string`?stringToUint8Array(n):n),concatUint8Arrays=n=>{let a=new Uint8Array(getJoinLength(n)),S=0;for(let C of n)a.set(C,S),S+=C.length;return a},getJoinLength=n=>{let a=0;for(let S of n)a+=S.length;return a}}),isTemplateString,parseTemplates,parseTemplate,splitByWhitespaces,fC,pC,concatTokens,parseExpression,getSubprocessResult,mC=__esmMin(()=>{sC(),tC(),dC(),isTemplateString=n=>Array.isArray(n)&&Array.isArray(n.raw),parseTemplates=(n,a)=>{let S=[];for(let[C,N]of n.entries())S=parseTemplate({templates:n,expressions:a,tokens:S,index:C,template:N});if(S.length===0)throw TypeError(`Template script must not be empty`);let[C,...N]=S;return[C,N,{}]},parseTemplate=({templates:n,expressions:a,tokens:S,index:C,template:N})=>{if(N===void 0)throw TypeError(`Invalid backslash sequence: ${n.raw[C]}`);let{nextTokens:F,leadingWhitespaces:I,trailingWhitespaces:H}=splitByWhitespaces(N,n.raw[C]),W=concatTokens(S,F,I);if(C===a.length)return W;let K=a[C];return concatTokens(W,Array.isArray(K)?K.map(n=>parseExpression(n)):[parseExpression(K)],H)},splitByWhitespaces=(n,a)=>{if(a.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let S=[],C=0,N=fC.has(a[0]);for(let N=0,F=0;N<n.length;N+=1,F+=1){let I=a[F];if(fC.has(I))C!==N&&S.push(n.slice(C,N)),C=N+1;else if(I===`\\`){let n=a[F+1];n===`
692
- `?(--N,F+=1):n===`u`&&a[F+2]===`{`?F=a.indexOf(`}`,F+3):F+=pC[n]??1}}let F=C===n.length;return F||S.push(n.slice(C)),{nextTokens:S,leadingWhitespaces:N,trailingWhitespaces:F}},fC=new Set([` `,` `,`\r`,`
693
- `]),pC={x:3,u:5},concatTokens=(n,a,S)=>S||n.length===0||a.length===0?[...n,...a]:[...n.slice(0,-1),`${n.at(-1)}${a[0]}`,...a.slice(1)],parseExpression=n=>{let a=typeof n;if(a===`string`)return n;if(a===`number`)return String(n);if(isPlainObject(n)&&(`stdout`in n||`isMaxBuffer`in n))return getSubprocessResult(n);throw n instanceof ChildProcess||Object.prototype.toString.call(n)===`[object Promise]`?TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):TypeError(`Unexpected "${a}" in template expression`)},getSubprocessResult=({stdout:n})=>{if(typeof n==`string`)return n;if(isUint8Array(n))return uint8ArrayToString(n);throw TypeError(n===void 0?`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`:`Unexpected "${typeof n}" stdout in template expression`)}}),isStandardStream,hC,gC,getStreamName,_C=__esmMin(()=>{sn(),isStandardStream=n=>hC.includes(n),hC=[$t.stdin,$t.stdout,$t.stderr],gC=[`stdin`,`stdout`,`stderr`],getStreamName=n=>gC[n]??`stdio[${n}]`}),normalizeFdSpecificOptions,normalizeFdSpecificOption,getStdioLength,normalizeFdSpecificValue,normalizeOptionObject,compareFdName,getFdNameOrder,parseFdName,parseFd,vC,yC,bC,xC,getFdSpecificValue,SC=__esmMin(()=>{tc(),tC(),_C(),normalizeFdSpecificOptions=n=>{let a={...n};for(let S of xC)a[S]=normalizeFdSpecificOption(n,S);return a},normalizeFdSpecificOption=(n,a)=>{let S=Array.from({length:getStdioLength(n)+1});return yC(normalizeFdSpecificValue(n[a],S,a),a)},getStdioLength=({stdio:n})=>Array.isArray(n)?Math.max(n.length,gC.length):gC.length,normalizeFdSpecificValue=(n,a,S)=>isPlainObject(n)?normalizeOptionObject(n,a,S):a.fill(n),normalizeOptionObject=(n,a,S)=>{for(let C of Object.keys(n).sort(compareFdName))for(let N of parseFdName(C,S,a))a[N]=n[C];return a},compareFdName=(n,a)=>getFdNameOrder(n)<getFdNameOrder(a)?1:-1,getFdNameOrder=n=>n===`stdout`||n===`stderr`?0:n===`all`?2:1,parseFdName=(n,a,S)=>{if(n===`ipc`)return[S.length-1];let C=parseFd(n);if(C===void 0||C===0)throw TypeError(`"${a}.${n}" is invalid.
690
+ paths:`,I.compilerOptions.paths);let match=n=>({mode:reflectionModeMatcher(F,n),tsConfigPath:N});return n[N]={config:I,match}}var Mx,Nx,Px,Fx=__esmMin(()=>{ps(),Mx=__toESM$1(Yp(),1),jx(),Ex(),__name$1(isObject$1,`isObject`),Nx=`merge`,Px=[`lib.dom*.d.ts`,`*typedarrays.d.ts`,`lib.webworker*.d.ts`,`lib.decorator*.d.ts`,`lib.es2015.proxy.d.ts`,`lib.es2020.sharedmemory.d.ts`,`lib.es2015.core.d.ts`]});function encodeOps(n){return n.map(n=>String.fromCharCode(n+33)).join(``)}function filterUndefined(n){return Object.fromEntries(Object.entries(n).filter(([,n])=>n!==void 0))}function debugPackStruct(n,a,S){let C=[];for(let n=0;n<S.ops.length;n++){let a=S.ops[n],N=US[a];if(C.push(gx[a]),N&&N.params>0)for(let a=0;a<N.params;a++){let a=S.ops[++n];C.push(a)}}let N=FS(),F=[];for(let a of S.stack)typeof a==`object`&&`getText`in a?F.push(N.printNode(LS.Unspecified,a,n)):F.push(JSON.stringify(a));ke.log(F.join(`,`),`|`,...C)}function findVariable(n,a,S=0){let C=n.variables.find(n=>n.name===a);if(C)return{frameOffset:S,stackIndex:C.index};if(n.previous)return findVariable(n.previous,a,S+1)}function findConditionalFrame(n){if(n.conditional)return n;if(n.previous)return findConditionalFrame(n.previous)}function getAssignTypeExpression(n){if(vS(n)&&Ux(n.expression)&&(n=n.expression),Ux(n)&&rS(n.expression)&&getIdentifierName(n.expression)===`__assignType`&&n.arguments.length>0)return n.arguments[0]}function getReceiveTypeParameter(n){if(kS(n))for(let a of n.types){let n=getReceiveTypeParameter(a);if(n)return n}else if(OS(n)&&rS(n.typeName)&&getIdentifierName(n.typeName)===`ReceiveType`&&n.typeArguments&&n.typeArguments.length===1)return n}var Ix,Lx,Rx,zx,Bx,Vx,Hx,Ux,Wx,Gx,Kx,qx,Jx,Yx,Xx,Zx,Qx,$x,eS,tS,nS,rS,iS,aS,oS,sS,cS,lS,uS,dS,fS,pS,mS,hS,gS,_S,vS,yS,bS,xS,SS,CS,wS,TS,ES,DS,OS,kS,AS,jS,MS,NS,PS,FS,IS,LS,RS,zS,BS,VS,HS,US,CompilerProgram,Cache,ReflectionTransformer,DeclarationTransformer,WS,GS,KS,qS,JS=__esmMin(()=>{Ae(),Ix=__toESM$1(Yp(),1),mx(),vx(),Ex(),Ax(),jx(),Fx(),{visitEachChild:Lx,visitNode:Rx,isPropertyAssignment:zx,isArrayTypeNode:Bx,isArrowFunction:Vx,isBlock:Hx,isCallExpression:Ux,isCallSignatureDeclaration:Wx,isClassDeclaration:Gx,isClassExpression:Kx,isConstructorDeclaration:qx,isConstructorTypeNode:Jx,isConstructSignatureDeclaration:Yx,isEnumDeclaration:Xx,isExportDeclaration:Zx,isExpression:Qx,isExpressionWithTypeArguments:$x,isFunctionDeclaration:eS,isFunctionExpression:tS,isFunctionLike:nS,isIdentifier:rS,isImportClause:iS,isImportDeclaration:aS,isImportSpecifier:oS,isInferTypeNode:sS,isInterfaceDeclaration:cS,isMethodDeclaration:lS,isMethodSignature:uS,isModuleDeclaration:dS,isNamedExports:fS,isNamedTupleMember:pS,isNewExpression:mS,isObjectLiteralExpression:hS,isOptionalTypeNode:gS,isParameter:_S,isParenthesizedExpression:vS,isParenthesizedTypeNode:yS,isPropertyAccessExpression:bS,isQualifiedName:xS,isSourceFile:SS,isStringLiteral:CS,isTypeAliasDeclaration:wS,isTypeLiteralNode:TS,isTypeParameterDeclaration:ES,isTypeQueryNode:DS,isTypeReferenceNode:OS,isUnionTypeNode:kS,isExpressionStatement:AS,isVariableDeclaration:jS,getEffectiveConstraintOfTypeParameter:MS,addSyntheticLeadingComment:NS,createCompilerHost:PS,createPrinter:FS,escapeLeadingUnderscores:IS,EmitHint:LS,NodeFlags:RS,SyntaxKind:zS,ScriptTarget:BS,ModifierFlags:VS,ScriptKind:HS}=Ix.default,US={[gx.literal]:{params:1},[gx.classReference]:{params:1},[gx.propertySignature]:{params:1},[gx.property]:{params:1},[gx.jump]:{params:1},[gx.enum]:{params:0},[gx.enumMember]:{params:1},[gx.typeParameter]:{params:1},[gx.typeParameterDefault]:{params:1},[gx.mappedType]:{params:2},[gx.call]:{params:1},[gx.inline]:{params:1},[gx.inlineCall]:{params:2},[gx.loads]:{params:2},[gx.extends]:{params:0},[gx.infer]:{params:2},[gx.defaultValue]:{params:1},[gx.parameter]:{params:1},[gx.method]:{params:1},[gx.function]:{params:1},[gx.description]:{params:1},[gx.numberBrand]:{params:1},[gx.typeof]:{params:1},[gx.classExtends]:{params:1},[gx.distribute]:{params:1},[gx.jumpCondition]:{params:2},[gx.typeName]:{params:1},[gx.implements]:{params:1}},CompilerProgram=class{constructor(n,a){this.forNode=n,this.sourceFile=a,this.ops=[],this.stack=[],this.mainOffset=0,this.stackPosition=0,this.frame={variables:[],opIndex:0},this.activeCoRoutines=[],this.coRoutines=[],this.resolveFunctionParameters=new Map}buildPackStruct(){let n=[...this.ops];if(this.coRoutines.length)for(let a=this.coRoutines.length-1;a>=0;a--)n.unshift(...this.coRoutines[a].ops);return this.mainOffset&&n.unshift(gx.jump,this.mainOffset),{ops:n,stack:this.stack}}isEmpty(){return this.ops.length===0}pushConditionalFrame(){let n=this.pushFrame();n.conditional=!0}pushStack(n){return this.stack.push(n),this.stackPosition++}pushCoRoutine(){this.pushFrame(!0),this.activeCoRoutines.push({ops:[]})}popCoRoutine(){let n=this.activeCoRoutines.pop();if(!n)throw Error(`No active co routine found`);this.popFrameImplicit(),this.mainOffset===0&&(this.mainOffset=2);let a=this.mainOffset;return n.ops.push(gx.return),this.coRoutines.push(n),this.mainOffset+=n.ops.length,a}pushOp(...n){for(let a of n)if(typeof a!=`number`)throw Error(`No valid OP added`);if(this.activeCoRoutines.length){this.activeCoRoutines[this.activeCoRoutines.length-1].ops.push(...n);return}this.ops.push(...n)}pushOpAtFrame(n,...a){if(this.activeCoRoutines.length){this.activeCoRoutines[this.activeCoRoutines.length-1].ops.splice(n.opIndex,0,...a);return}this.ops.splice(n.opIndex,0,...a)}findOrAddStackEntry(n){let a=this.stack.indexOf(n);return a===-1?this.pushStack(n):a}increaseStackPosition(){return this.stackPosition++}resolveFunctionParametersIncrease(n){this.resolveFunctionParameters.set(n,(this.resolveFunctionParameters.get(n)||0)+1)}resolveFunctionParametersDecrease(n){this.resolveFunctionParameters.set(n,(this.resolveFunctionParameters.get(n)||1)-1)}isResolveFunctionParameters(n){return(this.resolveFunctionParameters.get(n)||0)>0}pushFrame(n=!1){n||this.pushOp(gx.frame);let a=this.activeCoRoutines.length?this.activeCoRoutines[this.activeCoRoutines.length-1].ops.length:this.ops.length;return this.frame={previous:this.frame,variables:[],opIndex:a},this.frame}findConditionalFrame(){return findConditionalFrame(this.frame)}popFrameImplicit(){this.frame.previous&&(this.frame=this.frame.previous)}moveFrame(){this.pushOp(gx.moveFrame),this.frame.previous&&(this.frame=this.frame.previous)}pushVariable(n,a=this.frame){return this.pushOpAtFrame(a,gx.var),a.variables.push({index:a.variables.length,name:n}),a.variables.length-1}pushTemplateParameter(n,a=!1){return this.pushOp(a?gx.typeParameterDefault:gx.typeParameter,this.findOrAddStackEntry(n)),this.frame.variables.push({index:this.frame.variables.length,name:n}),this.frame.variables.length-1}findVariable(n,a=this.frame){return findVariable(a,n)}},Cache=class{constructor(){this.resolver={},this.sourceFiles={}}tick(){Object.keys(this.sourceFiles).length>300&&(this.sourceFiles={})}},ReflectionTransformer=class{constructor(n,a=new Cache){this.context=n,this.cache=a,this.embedAssignType=!1,this.compileDeclarations=new Map,this.embedDeclarations=new Map,this.compiledDeclarations=new Set,this.addImports=[],this.additionalImports=new Map,this.overriddenHost=!1,this.knownClasses={Int8Array:gx.int8Array,Uint8Array:gx.uint8Array,Uint8ClampedArray:gx.uint8ClampedArray,Int16Array:gx.int16Array,Uint16Array:gx.uint16Array,Int32Array:gx.int32Array,Uint32Array:gx.uint32Array,Float32Array:gx.float32Array,Float64Array:gx.float64Array,ArrayBuffer:gx.arrayBuffer,BigInt64Array:gx.bigInt64Array,Date:gx.date,RegExp:gx.regexp,String:gx.string,Number:gx.number,BigInt:gx.bigint,Boolean:gx.boolean},this.f=n.factory,this.nodeConverter=new NodeConverter(this.f),this.compilerOptions={...filterUndefined(n.getCompilerOptions())},this.host=PS(this.compilerOptions),this.resolver=new Resolver(this.compilerOptions,this.host,this.cache.sourceFiles),this.parseConfigHost={useCaseSensitiveFileNames:!0,fileExists:n=>this.host.fileExists(n),readFile:n=>this.host.readFile(n),readDirectory:(n,a,S,C,N)=>this.host.readDirectory?this.host.readDirectory(n,a||[],S,C||[],N):[]};{let n=this.f.createIdentifier(`T`),a=this.f.createIdentifier(`Options`);this.intrinsicMetaDeclaration=this.f.createTypeAliasDeclaration([],`TypeAnnotation`,[this.f.createTypeParameterDeclaration([],n),this.f.createTypeParameterDeclaration([],a,void 0,this.f.createTypeReferenceNode(`never`))],this.f.createTypeLiteralNode([this.f.createPropertySignature(void 0,`__meta`,this.f.createToken(zS.QuestionToken),this.f.createIntersectionTypeNode([this.f.createTypeReferenceNode(`never`),this.f.createTupleTypeNode([this.f.createTypeReferenceNode(n),this.f.createTypeReferenceNode(a)])]))]))}}forHost(n){return this.host=n,this.resolver.host=n,this.overriddenHost=!0,this}withReflection(n){let match=a=>({mode:reflectionModeMatcher(n,a),tsConfigPath:``}),a={...n,path:``,mergeStrategy:`replace`,compilerOptions:this.compilerOptions};return this.overriddenConfigResolver={config:a,match},this}transformBundle(n){return n}getTempResultIdentifier(){if(this.tempResultIdentifier)return this.tempResultIdentifier;let n=isNodeWithLocals(this.sourceFile)?this.sourceFile.locals:void 0;if(n){let a=`Ωr`;for(let S=0;a=`Ωr`+(S||``),n.has(IS(a));S++);this.tempResultIdentifier=this.f.createIdentifier(a)}else this.tempResultIdentifier=this.f.createIdentifier(`Ωr`);return this.tempResultIdentifier}getConfigResolver(n){return this.overriddenConfigResolver?this.overriddenConfigResolver:getConfigResolver(this.cache.resolver,this.parseConfigHost,this.compilerOptions,n)}getReflectionConfig(n){return this.getConfigResolver(n).match(n.fileName)}isWithReflection(n,a){let S=this.getExplicitReflectionMode(n,a);if(S===!1)return!1;if(!n)return!0;let C=this.getReflectionConfig(n);return C.mode===`explicit`?S===!0:C.mode==="default"}transformSourceFile(n){if(this.sourceFile=n,n.scriptKind!==HS.TS&&n.scriptKind!==HS.TSX||n.deepkitTransformed)return n;this.embedAssignType=!1,this.addImports=[],this.additionalImports.clear();let a=Date.now(),S=this.getConfigResolver(n),C=S.match(n.fileName);if(Object.assign(this.compilerOptions,S.config.compilerOptions),C.mode===`never`)return debug(`Transform file with reflection=${C.mode} took ${Date.now()-a}ms (${this.getModuleType()}) ${n.fileName} via config ${C.tsConfigPath||`none`}.`),n;if(n.locals||Ix.default.bindSourceFile(n,this.compilerOptions),n.kind!==zS.SourceFile){if(K===void 0)throw Error(`Invalid TypeScript library imported. SyntaxKind different ${n.kind} !== ${zS.SourceFile}.`);let a=K.resolve(`typescript`);throw Error(`Invalid TypeScript library imported. SyntaxKind different ${n.kind} !== ${zS.SourceFile}. typescript package path: ${a}`)}let visitor=a=>{if(a=Lx(a,visitor,this.context),(cS(a)||wS(a)||Xx(a))&&this.isWithReflection(n,a)&&this.compileDeclarations.set(a,{name:a.name,sourceFile:this.sourceFile}),lS(a)&&a.parent&&a.body&&hS(a.parent)){let n=!0;if(a.name.kind===zS.Identifier&&getIdentifierName(a.name)==="default"&&(n=!1),n){let n=this.decorateFunctionExpression(this.f.createFunctionExpression(a.modifiers,a.asteriskToken,rS(a.name)?a.name:void 0,a.typeParameters,a.parameters,a.type,a.body));a=this.f.createPropertyAssignment(a.name,n)}}if(Gx(a))return this.decorateClass(n,a);if(_S(a)&&a.parent&&a.type){let n=qx(a.parent)?a.parent.parent.typeParameters:a.parent.typeParameters;if(!n)return a;let S=getReceiveTypeParameter(a.type);if(S&&S.typeArguments){let C=S.typeArguments[0];if(C&&OS(C)&&rS(C.typeName)){let N=getIdentifierName(C.typeName),F=n.findIndex(n=>getIdentifierName(n.name)===N),I=this.f.createIdentifier(`globalThis`);if(Vx(a.parent)){let n=this.getArrowFunctionΩPropertyAccessIdentifier(a.parent);if(!n)return a;I=n}else (eS(a.parent)||tS(a.parent))&&a.parent.name?I=a.parent.name:lS(a.parent)&&rS(a.parent.name)?I=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),a.parent.name):qx(a.parent)&&(I=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),`constructor`));return this.f.updateParameterDeclaration(a,a.modifiers,a.dotDotDotToken,a.name,a.questionToken,S,this.f.createElementAccessChain(this.f.createPropertyAccessExpression(I,this.f.createIdentifier(`Ω`)),this.f.createToken(zS.QuestionDotToken),this.f.createNumericLiteral(F)))}}}else if(Kx(a))return this.decorateClass(n,a);else if(tS(a))return this.decorateFunctionExpression(this.injectResetΩ(a));else if(eS(a))return this.decorateFunctionDeclaration(this.injectResetΩ(a));else if(lS(a)||qx(a))return this.injectResetΩ(a);else if(Vx(a))return this.decorateArrowFunction(this.injectResetΩ(a));else if((mS(a)||Ux(a))&&a.typeArguments&&a.typeArguments.length>0){if(Ux(a)&&rS(a.expression)&&[`valuesOf`,`propertiesOf`,`typeOf`].includes(getIdentifierName(a.expression))){let n=[...a.arguments];n.length||n.push(this.f.createArrayLiteralExpression());let S=this.getTypeOfType(a.typeArguments[0]);return S?(n.push(S),this.f.updateCallExpression(a,a.expression,a.typeArguments,this.f.createNodeArray(n))):a}if(Vx(getAssignTypeExpression(a.expression)||a.expression))return a;let n=[];for(let S of a.typeArguments){let a=this.getTypeOfType(S);n.push(a||this.f.createIdentifier(`undefined`))}let S=this.f.createIdentifier(`globalThis`);(rS(a.expression)||bS(a.expression))&&(S=a.expression);let C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(S,`Ω`),this.f.createToken(zS.EqualsToken),this.f.createArrayLiteralExpression(n)),N=mS(a)?this.f.updateNewExpression:this.f.updateCallExpression;if(bS(a.expression)){if(Ux(a.expression.expression)){let S=this.getTempResultIdentifier(),C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createPropertyAccessExpression(S,a.expression.name),`Ω`),this.f.createToken(zS.EqualsToken),this.f.createArrayLiteralExpression(n));return N(a,this.f.createPropertyAccessExpression(this.f.createParenthesizedExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(S,this.f.createToken(Ix.default.SyntaxKind.EqualsToken),a.expression.expression),this.f.createToken(Ix.default.SyntaxKind.CommaToken),C),this.f.createToken(Ix.default.SyntaxKind.CommaToken),S)),a.expression.name),a.typeArguments,a.arguments)}else if(vS(a.expression.expression)){let S=this.getTempResultIdentifier(),C=this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createPropertyAccessExpression(S,a.expression.name),`Ω`),this.f.createToken(zS.EqualsToken),this.f.createArrayLiteralExpression(n)),F=N(a,this.f.updatePropertyAccessExpression(a.expression,this.f.updateParenthesizedExpression(a.expression.expression,this.f.createBinaryExpression(this.f.createBinaryExpression(this.f.createBinaryExpression(S,this.f.createToken(zS.EqualsToken),a.expression.expression.expression),this.f.createToken(zS.CommaToken),C),this.f.createToken(zS.CommaToken),S)),a.expression.name),a.typeArguments,a.arguments);return this.f.createParenthesizedExpression(F)}}return this.f.createParenthesizedExpression(this.f.createBinaryExpression(C,this.f.createToken(zS.CommaToken),a))}return a};this.sourceFile=Rx(this.sourceFile,visitor);let N=[];for(;;){let n=!0;for(let a of this.compileDeclarations.values())if(!a.compiled){n=!1;break}if(this.embedDeclarations.size===0&&n)break;for(let[n,a]of[...this.compileDeclarations.entries()])a.compiled||=this.createProgramVarFromNode(n,a.name,this.sourceFile);if(this.embedDeclarations.size){for(let n of this.embedDeclarations.keys())this.compiledDeclarations.add(n);let n=Array.from(this.embedDeclarations.entries());this.embedDeclarations.clear();for(let[a,S]of n)N.push(...this.createProgramVarFromNode(a,S.name,S.sourceFile))}}let compileDeclarations=n=>{if(n=Lx(n,compileDeclarations,this.context),wS(n)||cS(n)||Xx(n)){let a=this.compileDeclarations.get(n);if(!a)return n;if(this.compileDeclarations.delete(n),this.compiledDeclarations.add(n),a.compiled)return[...a.compiled,n]}return n};if(this.sourceFile=Rx(this.sourceFile,compileDeclarations),this.addImports.length){let n=[],a=new Map;for(let S of this.addImports){if(n.includes(getIdentifierName(S.identifier)))continue;n.push(getIdentifierName(S.identifier));let C=a.get(S.importDeclaration);C||(C=[],a.set(S.importDeclaration,C)),C.push(S.identifier)}for(let[n,S]of a.entries()){if(this.additionalImports.has(n))throw Error(`Internal error: additional import already exists`);if(this.getModuleType()===`cjs`){let a=NS(this.f.createVariableStatement(void 0,this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.f.createObjectBindingPattern(S.map(n=>this.f.createBindingElement(void 0,void 0,n,void 0))),void 0,void 0,this.f.createCallExpression(this.f.createIdentifier(`require`),void 0,[n.moduleSpecifier]))],Ix.default.NodeFlags.None)),zS.MultiLineCommentTrivia,`@ts-ignore`,!0);this.additionalImports.set(n,a)}else{let a=this.f.createNamedImports(S.map(n=>this.f.createImportSpecifier(!1,void 0,n))),C=NS(this.f.createImportDeclaration(void 0,this.f.createImportClause(!1,void 0,a),n.moduleSpecifier),zS.MultiLineCommentTrivia,`@ts-ignore`,!0);this.additionalImports.set(n,C)}}}if(this.embedAssignType){let n=this.f.createFunctionDeclaration(void 0,void 0,this.f.createIdentifier(`__assignType`),void 0,[this.f.createParameterDeclaration(void 0,void 0,this.f.createIdentifier(`fn`),void 0,void 0,void 0),this.f.createParameterDeclaration(void 0,void 0,this.f.createIdentifier(`args`),void 0,void 0,void 0)],void 0,this.f.createBlock([this.f.createExpressionStatement(this.f.createBinaryExpression(this.f.createPropertyAccessExpression(this.f.createIdentifier(`fn`),this.f.createIdentifier(`__type`)),this.f.createToken(zS.EqualsToken),this.f.createIdentifier(`args`))),this.f.createReturnStatement(this.f.createIdentifier(`fn`))],!0));N.push(n)}this.tempResultIdentifier&&N.push(this.f.createVariableStatement(void 0,this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.tempResultIdentifier,void 0,void 0,void 0)],Ix.default.NodeFlags.None)));let F=this.sourceFile.statements.findIndex(n=>AS(n)&&CS(n.expression)),I=F===-1?[...N,...this.attachAdditionalStatements(this.sourceFile.statements)]:[...this.sourceFile.statements.slice(0,F+1),...N,...this.attachAdditionalStatements(this.sourceFile.statements.slice(F+1))];this.sourceFile=this.f.updateSourceFile(this.sourceFile,I);let H=Date.now()-a;return debug(`Transform file with reflection=${C.mode} took ${H}ms (${this.getModuleType()}) ${n.fileName} via config ${C.tsConfigPath||`none`}.`),this.sourceFile.deepkitTransformed=!0,this.sourceFile}attachAdditionalStatements(n){let a=[];for(let S of n){if(aS(S)||(0,Ix.isJSDocImportTag)(S)){let n=this.additionalImports.get(S);n&&a.push(n)}a.push(S)}return a}getModuleType(){return this.compilerOptions.module===Ix.default.ModuleKind.Node16||this.compilerOptions.module===Ix.default.ModuleKind.NodeNext?this.sourceFile.impliedNodeFormat===Ix.default.ModuleKind.ESNext?`esm`:`cjs`:this.compilerOptions.module===Ix.default.ModuleKind.CommonJS?`cjs`:`esm`}getArrowFunctionΩPropertyAccessIdentifier(n){let{parent:a}=n.original||n;if(jS(a)&&rS(a.name))return a.name;if(zx(a)&&rS(a.name)){let n=[];for(;a;)if(hS(a))a=a.parent;else if(jS(a)){n.unshift(getIdentifierName(a.name));break}else if(rS(a.name))n.unshift(getIdentifierName(a.name)),a=a.parent;else return;return this.f.createIdentifier(n.join(`.`))}}injectResetΩ(n){let a=!1;for(let S of n.parameters)S.type&&getReceiveTypeParameter(S.type)&&(a=!0);if(!a)return n;let S=this.f.createIdentifier(`globalThis`);if(Vx(n)){let a=this.getArrowFunctionΩPropertyAccessIdentifier(n);if(!a)return n;S=a}else (eS(n)||tS(n))&&n.name?S=n.name:lS(n)&&rS(n.name)?S=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),n.name):qx(n)&&(S=this.f.createPropertyAccessExpression(this.f.createIdentifier(`this`),`constructor`));let C=this.f.createExpressionStatement(this.f.createBinaryExpression(this.f.createPropertyAccessExpression(S,this.f.createIdentifier(`Ω`)),this.f.createToken(Ix.default.SyntaxKind.EqualsToken),this.f.createIdentifier(`undefined`))),N=n.body&&Hx(n.body)?n.body:void 0,F=n.body&&Hx(n.body)?[...n.body.statements]:[];return n.body&&(Qx(n.body)&&(F=[this.f.createReturnStatement(n.body)]),N=this.f.updateBlock(n.body,[C,...F])),Vx(n)?this.f.updateArrowFunction(n,n.modifiers,n.typeParameters,n.parameters,n.type,n.equalsGreaterThanToken,N):eS(n)?this.f.updateFunctionDeclaration(n,n.modifiers,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,N):tS(n)?this.f.updateFunctionExpression(n,n.modifiers,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,N||n.body):lS(n)?this.f.updateMethodDeclaration(n,n.modifiers,n.asteriskToken,n.name,n.questionToken,n.typeParameters,n.parameters,n.type,N):qx(n)?this.f.updateConstructorDeclaration(n,n.modifiers,n.parameters,N):n}createProgramVarFromNode(n,a,S){let C=new CompilerProgram(n,S);if((wS(n)||cS(n))&&n.typeParameters)for(let a of n.typeParameters)a.default&&this.extractPackStructOfType(a.default,C),C.pushTemplateParameter(getIdentifierName(a.name),!!a.default);this.extractPackStructOfType(n,C),(wS(n)||cS(n)||Gx(n)||Kx(n))&&C.pushOp(gx.nominal);let N=this.packOpsAndStack(C),F=this.f.createVariableStatement([],this.f.createVariableDeclarationList([this.f.createVariableDeclaration(this.getDeclarationVariableName(a),void 0,void 0,N)],RS.Const));return hasModifier(n,zS.ExportKeyword)?[F,this.f.createExportDeclaration(void 0,!1,this.f.createNamedExports([this.f.createExportSpecifier(!1,this.getDeclarationVariableName(a),this.getDeclarationVariableName(a))]))]:[F]}extractPackStructOfExpression(n,a){switch(n.kind){case zS.StringLiteral:a.pushOp(gx.string);return;case zS.NumericLiteral:a.pushOp(gx.number);return;case zS.FalseKeyword:case zS.TrueKeyword:a.pushOp(gx.boolean);return;case zS.BigIntLiteral:a.pushOp(gx.bigint);return;case zS.CallExpression:{let S=n;if(rS(S.expression)&&getIdentifierName(S.expression)===`Symbol`){a.pushOp(gx.symbol);return}break}case zS.NewExpression:{let S=n;if(rS(S.expression)){let n={Date:gx.date,RegExp:gx.regexp,Uint8Array:gx.uint8Array,Uint8ClampedArray:gx.uint8ClampedArray,Uint16Array:gx.uint16Array,Uint32Array:gx.uint32Array,Int8Array:gx.int8Array,Int16Array:gx.int16Array,Int32Array:gx.int32Array,Float32Array:gx.float32Array,Float64Array:gx.float64Array,ArrayBuffer:gx.arrayBuffer}[getIdentifierName(S.expression)];if(n){a.pushOp(n);return}}break}}a.pushOp(gx.never)}extractPackStructOfType(n,a){if(yS(n))return this.extractPackStructOfType(n.type,a);switch(n.kind){case zS.StringKeyword:a.pushOp(gx.string);break;case zS.NumberKeyword:a.pushOp(gx.number);break;case zS.BooleanKeyword:a.pushOp(gx.boolean);break;case zS.BigIntKeyword:a.pushOp(gx.bigint);break;case zS.VoidKeyword:a.pushOp(gx.void);break;case zS.UnknownKeyword:a.pushOp(gx.unknown);break;case zS.ObjectKeyword:a.pushOp(gx.object);break;case zS.SymbolKeyword:a.pushOp(gx.symbol);break;case zS.NullKeyword:a.pushOp(gx.null);break;case zS.NeverKeyword:a.pushOp(gx.never);break;case zS.AnyKeyword:a.pushOp(gx.any);break;case zS.UndefinedKeyword:a.pushOp(gx.undefined);break;case zS.TrueKeyword:a.pushOp(gx.literal,a.pushStack(this.f.createTrue()));break;case zS.FalseKeyword:a.pushOp(gx.literal,a.pushStack(this.f.createFalse()));break;case zS.ClassDeclaration:case zS.ClassExpression:{let S=n;if(n){let n=[];if(S.typeParameters)for(let n of S.typeParameters){let S=getNameAsString(n.name);n.default&&this.extractPackStructOfType(n.default,a),a.pushTemplateParameter(S,!!n.default)}if(S.heritageClauses){for(let n of S.heritageClauses)if(n.token===zS.ExtendsKeyword)for(let S of n.types){if(a.pushFrame(),S.typeArguments)for(let n of S.typeArguments)this.extractPackStructOfType(n,a);let n=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,this.nodeConverter.toExpression(S.expression)));a.pushOp(gx.classReference,n),a.popFrameImplicit()}}for(let C of S.members){let S=getNameAsString(C.name);S&&n.some(n=>getNameAsString(n.name)===S)||(n.push(C),this.extractPackStructOfType(C,a))}if(a.pushOp(gx.class),S.heritageClauses){for(let n of S.heritageClauses)if(n.token===zS.ExtendsKeyword){let S=n.types[0];if($x(S)&&S.typeArguments){for(let n of S.typeArguments)this.extractPackStructOfType(n,a);a.pushOp(gx.classExtends,S.typeArguments.length)}}else if(n.token===zS.ImplementsKeyword){for(let S of n.types)this.extractPackStructOfTypeReference(S,a);a.pushOp(gx.implements,n.types.length)}}S.name&&this.resolveTypeName(getIdentifierName(S.name),a);let C=extractJSDocAttribute(this.sourceFile,S.name?.parent,`description`);C&&a.pushOp(gx.description,a.findOrAddStackEntry(C))}break}case zS.IntersectionType:{let S=n;a.pushFrame();for(let n of S.types)this.extractPackStructOfType(n,a);a.pushOp(gx.intersection),a.popFrameImplicit();break}case zS.MappedType:{let S=n;a.pushFrame(),a.pushVariable(getIdentifierName(S.typeParameter.name));let C=MS(S.typeParameter);C?this.extractPackStructOfType(C,a):a.pushOp(gx.never);let N=0;S.questionToken&&(S.questionToken.kind===zS.QuestionToken&&(N|=1),S.questionToken.kind===zS.MinusToken&&(N|=2)),S.readonlyToken&&(S.readonlyToken.kind===zS.ReadonlyKeyword&&(N|=4),S.readonlyToken.kind===zS.MinusToken&&(N|=8)),a.pushCoRoutine(),S.nameType&&a.pushFrame(),S.type?this.extractPackStructOfType(S.type,a):a.pushOp(gx.never),S.nameType&&(this.extractPackStructOfType(S.nameType,a),a.pushOp(gx.tuple),a.popFrameImplicit());let F=a.popCoRoutine();S.nameType?a.pushOp(gx.mappedType2,F,N):a.pushOp(gx.mappedType,F,N),a.popFrameImplicit();break}case zS.TypeAliasDeclaration:{let S=n;a.sourceFile&&getNameAsString(S.name)===`TypeAnnotation`&&extractJSDocAttribute(a.sourceFile,S,`intrinsic`)!==void 0&&(S=this.intrinsicMetaDeclaration),this.extractPackStructOfType(S.type,a),S.name&&this.resolveTypeName(getIdentifierName(S.name),a);break}case zS.TypeLiteral:case zS.InterfaceDeclaration:{let S=n,C=S;if(a.pushFrame(),cS(S)&&S.heritageClauses){for(let n of S.heritageClauses)if(n.token===zS.ExtendsKeyword)for(let S of n.types)this.extractPackStructOfTypeReference(S,a)}for(let n of S.members)this.extractPackStructOfType(n,a);a.pushOp(gx.objectLiteral),TS(S)&&(C=S.parent);let N=C&&extractJSDocAttribute(this.sourceFile,C,`description`);N&&a.pushOp(gx.description,a.findOrAddStackEntry(N)),cS(S)&&S.name&&this.resolveTypeName(getIdentifierName(S.name),a),a.popFrameImplicit();break}case zS.TypeReference:this.extractPackStructOfTypeReference(n,a);break;case zS.ArrayType:this.extractPackStructOfType(n.elementType,a),a.pushOp(gx.array);break;case zS.RestType:{let S=n.type;Bx(S)&&(S=S.elementType),this.extractPackStructOfType(S,a),a.pushOp(gx.rest);break}case zS.TupleType:a.pushFrame();for(let S of n.elements)if(gS(S))this.extractPackStructOfType(S.type,a),a.pushOp(gx.tupleMember),a.pushOp(gx.optional);else if(pS(S)){if(S.dotDotDotToken){let n=S.type;Bx(n)&&(n=n.elementType),this.extractPackStructOfType(n,a),a.pushOp(gx.rest)}else this.extractPackStructOfType(S.type,a);let n=a.findOrAddStackEntry(getIdentifierName(S.name));a.pushOp(gx.namedTupleMember,n),S.questionToken&&a.pushOp(gx.optional)}else this.extractPackStructOfType(S,a);a.pushOp(gx.tuple),a.popFrameImplicit();break;case zS.PropertySignature:{let S=n;if(S.type){this.extractPackStructOfType(S.type,a);let n=getPropertyName(this.f,S.name);a.pushOp(gx.propertySignature,a.findOrAddStackEntry(n)),S.questionToken&&a.pushOp(gx.optional),hasModifier(S,zS.ReadonlyKeyword)&&a.pushOp(gx.readonly);let C=extractJSDocAttribute(this.sourceFile,S,`description`);C&&a.pushOp(gx.description,a.findOrAddStackEntry(C))}else a.pushOp(gx.unknown);break}case zS.PropertyDeclaration:{let S=n;if(!1===this.getExplicitReflectionMode(a.sourceFile,S))return;S.type?this.extractPackStructOfType(S.type,a):S.initializer?this.extractPackStructOfExpression(S.initializer,a):a.pushOp(gx.unknown);let C=getPropertyName(this.f,S.name);a.pushOp(gx.property,a.findOrAddStackEntry(C)),S.questionToken&&a.pushOp(gx.optional),hasModifier(S,zS.ReadonlyKeyword)&&a.pushOp(gx.readonly),hasModifier(S,zS.PrivateKeyword)&&a.pushOp(gx.private),hasModifier(S,zS.ProtectedKeyword)&&a.pushOp(gx.protected),hasModifier(S,zS.AbstractKeyword)&&a.pushOp(gx.abstract),hasModifier(S,zS.StaticKeyword)&&a.pushOp(gx.static),S.initializer&&a.pushOp(gx.defaultValue,a.findOrAddStackEntry(this.f.createFunctionExpression(void 0,void 0,void 0,void 0,void 0,void 0,this.f.createBlock([this.f.createReturnStatement(S.initializer)]))));let N=extractJSDocAttribute(this.sourceFile,S,`description`);N&&a.pushOp(gx.description,a.findOrAddStackEntry(N));break}case zS.ConditionalType:{let S=n,C=OS(S.checkType)&&rS(S.checkType.typeName)?S.checkType.typeName:void 0;C&&(a.pushFrame(),this.extractPackStructOfType(S.checkType,a),a.pushVariable(getIdentifierName(C)),a.pushCoRoutine()),a.pushConditionalFrame(),this.extractPackStructOfType(S.checkType,a),this.extractPackStructOfType(S.extendsType,a),a.pushOp(gx.extends),a.pushCoRoutine(),this.extractPackStructOfType(S.trueType,a);let N=a.popCoRoutine();a.pushCoRoutine(),this.extractPackStructOfType(S.falseType,a);let F=a.popCoRoutine();if(a.pushOp(gx.jumpCondition,N,F),a.moveFrame(),C){let n=a.popCoRoutine();a.pushOp(gx.distribute,n),a.popFrameImplicit()}break}case zS.InferType:{let S=n,C=a.findConditionalFrame();if(C){let n=getIdentifierName(S.typeParameter.name),N=a.findVariable(n);if(!N&&(a.pushVariable(n,C),N=a.findVariable(n),!N))throw Error(`Could not find inserted infer variable`);a.pushOp(gx.infer,N.frameOffset,N.stackIndex)}else a.pushOp(gx.never);break}case zS.MethodSignature:case zS.MethodDeclaration:case zS.Constructor:case zS.ArrowFunction:case zS.FunctionExpression:case zS.ConstructSignature:case zS.ConstructorType:case zS.FunctionType:case zS.CallSignature:case zS.FunctionDeclaration:{let S=n;if(!1===this.getExplicitReflectionMode(a.sourceFile,S)){a.pushOp(gx.any);return}let C=Wx(n)?``:Jx(S)||Yx(n)?`new`:qx(S)?`constructor`:getPropertyName(this.f,S.name);if(!S.type&&S.parameters.length===0&&!C)return;a.pushFrame();for(let n=0;n<S.parameters.length;n++){let C=S.parameters[n],N=rS(C.name)?getNameAsString(C.name):`param`+n,F=C.type?C.dotDotDotToken&&Bx(C.type)?C.type.elementType:C.type:void 0;F?this.extractPackStructOfType(F,a):a.pushOp(gx.any),C.dotDotDotToken&&a.pushOp(gx.rest),a.pushOp(gx.parameter,a.findOrAddStackEntry(N)),C.questionToken&&a.pushOp(gx.optional),hasModifier(C,zS.PublicKeyword)&&a.pushOp(gx.public),hasModifier(C,zS.PrivateKeyword)&&a.pushOp(gx.private),hasModifier(C,zS.ProtectedKeyword)&&a.pushOp(gx.protected),hasModifier(C,zS.ReadonlyKeyword)&&a.pushOp(gx.readonly);let I=extractJSDocAttribute(this.sourceFile,C,`description`);I&&a.pushOp(gx.description,a.findOrAddStackEntry(I)),C.initializer&&C.type&&!getReceiveTypeParameter(C.type)&&a.pushOp(gx.defaultValue,a.findOrAddStackEntry(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,C.initializer)))}S.type?this.extractPackStructOfType(S.type,a):a.pushOp(gx.any),a.pushOp(Wx(n)?gx.callSignature:uS(S)||Yx(S)?gx.methodSignature:lS(S)||qx(S)?gx.method:gx.function,a.findOrAddStackEntry(C)),(uS(S)||lS(S))&&S.questionToken&&a.pushOp(gx.optional),lS(S)&&(hasModifier(S,zS.PrivateKeyword)&&a.pushOp(gx.private),hasModifier(S,zS.ProtectedKeyword)&&a.pushOp(gx.protected),hasModifier(S,zS.AbstractKeyword)&&a.pushOp(gx.abstract),hasModifier(S,zS.StaticKeyword)&&a.pushOp(gx.static));let N=extractJSDocAttribute(this.sourceFile,S,`description`);N&&a.pushOp(gx.description,a.findOrAddStackEntry(N)),a.popFrameImplicit();break}case zS.LiteralType:{let S=n;S.literal.kind===zS.NullKeyword?a.pushOp(gx.null):a.pushOp(gx.literal,a.findOrAddStackEntry(S.literal));break}case zS.TemplateLiteralType:{let S=n;a.pushFrame(),S.head.rawText&&a.pushOp(gx.literal,a.findOrAddStackEntry(S.head.rawText));for(let n of S.templateSpans)this.extractPackStructOfType(n.type,a),n.literal.rawText&&a.pushOp(gx.literal,a.findOrAddStackEntry(n.literal.rawText));a.pushOp(gx.templateLiteral),a.popFrameImplicit();break}case zS.UnionType:{let S=n;if(S.types.length!==0)if(S.types.length===1)this.extractPackStructOfType(S.types[0],a);else{a.pushFrame();for(let n of S.types)this.extractPackStructOfType(n,a);a.pushOp(gx.union),a.popFrameImplicit()}break}case zS.EnumDeclaration:{let S=n;a.pushFrame();for(let n of S.members){let S=getPropertyName(this.f,n.name);a.pushOp(gx.enumMember,a.findOrAddStackEntry(S)),n.initializer&&a.pushOp(gx.defaultValue,a.findOrAddStackEntry(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,n.initializer)))}a.pushOp(gx.enum);let C=extractJSDocAttribute(this.sourceFile,S,`description`);C&&a.pushOp(gx.description,a.findOrAddStackEntry(C)),S.name&&this.resolveTypeName(getIdentifierName(S.name),a),a.popFrameImplicit();break}case zS.IndexSignature:{let S=n;S.parameters.length&&S.parameters[0].type?this.extractPackStructOfType(S.parameters[0].type,a):a.pushOp(gx.any),this.extractPackStructOfType(S.type,a),a.pushOp(gx.indexSignature);break}case zS.TypeQuery:{let S=n;if(rS(S.exprName)){let n=this.resolveDeclaration(S.exprName);n&&findSourceFile(n.declaration)!==this.sourceFile&&n.importDeclaration&&ensureImportIsEmitted(n.importDeclaration,S.exprName)}let C=serializeEntityNameAsExpression(this.f,S.exprName);a.pushOp(gx.typeof,a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,C)));break}case zS.TypeOperator:{let S=n;if(S.type.kind===zS.ThisType){a.pushOp(gx.any);break}switch(S.operator){case zS.KeyOfKeyword:this.extractPackStructOfType(S.type,a),a.pushOp(gx.keyof);break;case zS.ReadonlyKeyword:this.extractPackStructOfType(S.type,a),a.pushOp(gx.readonly);break;default:a.pushOp(gx.never)}break}case zS.IndexedAccessType:{let S=n;this.extractPackStructOfType(S.objectType,a),this.extractPackStructOfType(S.indexType,a),a.pushOp(gx.indexAccess);break}case zS.Identifier:{let S=n,C=a.findVariable(getIdentifierName(S));C?a.pushOp(gx.loads,C.frameOffset,C.stackIndex):a.pushOp(gx.never);break}default:a.pushOp(gx.never)}}getGlobalLibs(){if(this.cache.globalSourceFiles)return this.cache.globalSourceFiles;this.cache.globalSourceFiles=[];let n={...this.compilerOptions};n.target&&n.target===BS.ESNext&&(n.target=BS.ES2022);let a=kx(n,Ix.default);for(let n of a){if(this.isExcluded(n))continue;let a=this.resolver.resolveSourceFile(this.sourceFile,this.f.createStringLiteral(`typescript/lib/`+n.replace(`.d.ts`,``)));a&&this.cache.globalSourceFiles.push(a)}return this.cache.globalSourceFiles}resolveDeclaration(n){let a=n.parent;if(n.kind===zS.QualifiedName)return;let S;for(;a;){if(isNodeWithLocals(a)&&a.locals){let C=a.locals.get(n.escapedText);if(C&&C.declarations&&C.declarations[0]&&!_S(C.declarations[0])){S=C.declarations[0];break}}if(a.kind===zS.SourceFile)break;a=a.parent}if(!S)for(let a of this.getGlobalLibs()){let C=getGlobalsOfSourceFile(a);if(!C)continue;let N=C.get(n.escapedText);if(N&&N.declarations&&N.declarations[0]){S=N.declarations[0];break}}let C,N=!1;if(S&&oS(S)?(S.isTypeOnly&&(N=!0),C=S.parent.parent.parent):S&&aS(S)?C=S:S&&iS(S)&&(C=S.parent),C&&(C.importClause&&C.importClause.isTypeOnly&&(N=!0),S=this.resolveImportSpecifier(getEscapedText(n),C,this.sourceFile)),S&&S.kind===zS.TypeParameter&&S.parent.kind===zS.TypeAliasDeclaration&&(S=S.parent),S)return{declaration:S,importDeclaration:C,typeOnly:N}}getDeclarationVariableName(n){if(rS(n))return this.f.createIdentifier(`__Ω`+getIdentifierName(n));function joinQualifiedName(n){return rS(n)?getIdentifierName(n):joinQualifiedName(n.left)+`_`+getIdentifierName(n.right)}return this.f.createIdentifier(`__Ω`+joinQualifiedName(n))}isExcluded(n){return reflectionModeMatcher({reflection:`default`,exclude:(this.overriddenConfigResolver||getConfigResolver(this.cache.resolver,this.parseConfigHost,this.compilerOptions,this.sourceFile)).config.exclude},n)===`never`}extractPackStructOfTypeReference(n,a){let S=OS(n)?n.typeName:rS(n.expression)?n.expression:void 0;if(!S){a.pushOp(gx.any);return}if(rS(S)&&getIdentifierName(S)===`InlineRuntimeType`&&n.typeArguments&&n.typeArguments[0]&&DS(n.typeArguments[0])){let S=serializeEntityNameAsExpression(this.f,n.typeArguments[0].exprName);a.pushOp(gx.arg,a.pushStack(S));return}if(rS(S)&&getIdentifierName(S)!==`constructor`&&this.knownClasses[getIdentifierName(S)]){let n=getIdentifierName(S),C=this.knownClasses[n];a.pushOp(C)}else if(rS(S)&&getIdentifierName(S)===`Promise`)n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(gx.any),a.pushOp(gx.promise);else if(rS(S)&&getIdentifierName(S)===`integer`)a.pushOp(gx.numberBrand,hx.integer);else if(rS(S)&&getIdentifierName(S)!==`constructor`&&hx[getIdentifierName(S)]!==void 0)a.pushOp(gx.numberBrand,hx[getIdentifierName(S)]);else{if(rS(S)){let n=a.findVariable(getIdentifierName(S));if(n){a.pushOp(gx.loads,n.frameOffset,n.stackIndex);return}}else if(sS(S)){this.extractPackStructOfType(S,a);return}let C=this.resolveDeclaration(S);if(!C){if(xS(S)&&rS(S.left)){let n=this.resolveDeclaration(S.left);if(n&&Xx(n.declaration)){let C,N=0;for(let F of n.declaration.members)if(getNameAsString(F.name)===getNameAsString(S.right)){if(F.initializer)a.pushOp(gx.arg,a.pushStack(this.nodeConverter.toExpression(F.initializer)));else if(C){let n=this.nodeConverter.toExpression(C);a.pushOp(gx.arg,a.pushStack(this.f.createBinaryExpression(n,zS.PlusToken,this.nodeConverter.toExpression(N))))}else a.pushOp(gx.arg,a.pushStack(this.nodeConverter.toExpression(N)));return}else N++,F.initializer&&(C=F.initializer,N=0)}}a.pushOp(gx.never),debug2(`Could not resolve ${getNameAsString(S)} in ${a.sourceFile?.fileName||`intrinsic`}`);return}let N=C.declaration,F=findSourceFile(N),I=!F||C.importDeclaration===void 0&&F.fileName!==this.sourceFile.fileName,H=C.importDeclaration!==void 0;if(jS(N)&&(N.type?N=N.type:N.initializer&&(N=N.initializer)),dS(N)&&C.importDeclaration)rS(S)&&ensureImportIsEmitted(C.importDeclaration,S),a.pushOp(gx.typeof,a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,serializeEntityNameAsExpression(this.f,S))));else if(wS(N)||cS(N)||Xx(N)){let W=getNameAsString(S);if(W===`Array`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(gx.any),a.pushOp(gx.array);return}else if(W===`Function`){a.pushFrame();let n=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,this.f.createIdentifier(`Function`)));a.pushOp(gx.functionReference,n),a.popFrameImplicit();return}else if(W===`Set`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(gx.any),a.pushOp(gx.set);return}else if(W===`Map`){n.typeArguments&&n.typeArguments[0]?this.extractPackStructOfType(n.typeArguments[0],a):a.pushOp(gx.any),n.typeArguments&&n.typeArguments[1]?this.extractPackStructOfType(n.typeArguments[1],a):a.pushOp(gx.any),a.pushOp(gx.map);return}let K=this.getDeclarationVariableName(S);if(!this.compiledDeclarations.has(N)&&!this.compileDeclarations.has(N)){if(F&&this.isExcluded(F.fileName)){a.pushOp(gx.any);return}if(I)this.embedDeclarations.set(N,{name:S,sourceFile:F});else if(H){if(C.importDeclaration){if(C.typeOnly){this.resolveTypeOnlyImport(S,a);return}if(F.fileName.endsWith(`.d.ts`)){if(!this.resolveImportSpecifier(getEscapedText(K),C.importDeclaration,this.sourceFile)){debug2(`Symbol ${K.escapedText} not found in ${F.fileName}`),this.resolveTypeOnlyImport(S,a);return}this.addImports.push({identifier:K,importDeclaration:C.importDeclaration})}else{if(this.getReflectionConfig(F).mode===`never`){this.resolveTypeOnlyImport(S,a);return}if(!this.isWithReflection(F,N)){this.resolveTypeOnlyImport(S,a);return}this.addImports.push({identifier:K,importDeclaration:C.importDeclaration})}}}else{if(!this.isWithReflection(a.sourceFile,N)){this.resolveTypeOnlyImport(S,a);return}this.compileDeclarations.set(N,{name:S,sourceFile:F})}}let q=a.pushStack(a.forNode===N?0:this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,K));if(n.typeArguments){for(let S of n.typeArguments)this.extractPackStructOfType(S,a);a.pushOp(gx.inlineCall,q,n.typeArguments.length)}else a.pushOp(gx.inline,q)}else if(Gx(N)||eS(N)||tS(N)||Vx(N)){if(C.typeOnly){this.resolveTypeOnlyImport(S,a);return}if(!(F?.fileName.endsWith(`.d.ts`)||this.isWithReflection(a.sourceFile,N))){this.resolveTypeOnlyImport(S,a);return}if(C.importDeclaration&&rS(S)&&ensureImportIsEmitted(C.importDeclaration,S),a.pushFrame(),n.typeArguments)for(let S of n.typeArguments)this.extractPackStructOfType(S,a);let I=rS(S)?S:this.createAccessorForEntityName(S),H=a.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,I));a.pushOp(Gx(N)?gx.classReference:gx.functionReference,H),a.popFrameImplicit()}else ES(N)?this.resolveTypeParameter(N,n,a):this.extractPackStructOfType(N,a)}}getTypeUser(n){let a=n;for(;a;){if(a.kind===zS.Block||a.kind===zS.ClassDeclaration||a.kind===zS.ClassExpression)return a;if(a.kind===zS.Constructor||a.kind===zS.MethodDeclaration)return a.parent;if(a.kind===zS.ArrowFunction||a.kind===zS.FunctionDeclaration||a.kind===zS.FunctionExpression)return a;a=a.parent}return a}needsToBeInferred(n,a){return this.getTypeUser(n)!==this.getTypeUser(a)}resolveTypeOnlyImport(n,a){a.pushOp(gx.any);let S=Ix.default.isIdentifier(n)?getIdentifierName(n):getIdentifierName(n.right);this.resolveTypeName(S,a)}resolveTypeName(n,a){n&&a.pushOp(gx.typeName,a.findOrAddStackEntry(n))}resolveTypeParameter(n,a,S){let C=nS(n.parent);if(C&&S.isResolveFunctionParameters(n.parent)||this.needsToBeInferred(n,a)){let a=n.name.escapedText,N=[];if(C)for(let S of n.parent.parameters){if(!S.type)continue;let C=!1,searchArgument=S=>(S=Lx(S,searchArgument,this.context),rS(S)&&S.escapedText===a&&(C=!0,S=this.f.createInferTypeNode(n)),S);if(rS(S.name)){let n=Lx(S.type,searchArgument,this.context);C&&N.push({type:n,parameterName:S.name})}}if(N.length){N.length;let a=N.find(n=>OS(n.type)&&rS(n.type.typeName)&&getIdentifierName(n.type.typeName)===`ReceiveType`);if(a)S.pushOp(gx.inline,S.pushStack(a.parameterName));else for(let a of N)S.pushConditionalFrame(),S.pushOp(gx.typeof,S.pushStack(this.f.createArrowFunction(void 0,void 0,[],void 0,void 0,a.parameterName))),this.extractPackStructOfType(a.type,S),S.pushOp(gx.extends),S.findVariable(getIdentifierName(n.name))?this.extractPackStructOfType(n.name,S):S.pushOp(gx.any),this.extractPackStructOfType({kind:zS.NeverKeyword},S),S.pushOp(gx.condition),S.popFrameImplicit();N.length}else if(n.constraint){C&&S.resolveFunctionParametersIncrease(n.parent);let a=MS(n);a?this.extractPackStructOfType(a,S):S.pushOp(gx.never),C&&S.resolveFunctionParametersDecrease(n.parent)}else S.pushOp(gx.never)}else S.pushOp(gx.any)}createAccessorForEntityName(n){return this.f.createPropertyAccessExpression(rS(n.left)?n.left:this.createAccessorForEntityName(n.left),n.right)}findDeclarationInFile(n,a){if(isNodeWithLocals(n)&&n.locals){let S=n.locals.get(a);if(S&&S.declarations&&S.declarations[0])return S.declarations[0]}}resolveImportSpecifier(n,a,S){let C=typeof n==`string`?n:getIdentifierName(n);if(!a.moduleSpecifier||!CS(a.moduleSpecifier))return;let N=this.resolver.resolve(S,a);if(!N){debug(`module not found`,a.moduleSpecifier.text,`Is transpileOnly enabled? It needs to be disabled.`);return}let F=this.findDeclarationInFile(N,C);if(S=N,F&&!oS(F))return Zx(F)?this.followExport(C,F,S):F;if(SS(S))for(let n of S.statements){if(!Zx(n))continue;let a=this.followExport(C,n,S);if(a)return a}}followExport(n,a,S){if(a.exportClause){if(fS(a.exportClause)){for(let C of a.exportClause.elements)if(getEscapedText(C.name)===n)if(!a.moduleSpecifier||!CS(a.moduleSpecifier)){if((!a.moduleSpecifier||!CS(a.moduleSpecifier))&&isNodeWithLocals(S)&&S.locals){let a=S.locals.get(n);if(a&&a.declarations&&a.declarations[0]){let N=a.declarations[0];if(N&&oS(N)){let a=N.parent.parent.parent,F=this.resolveImportSpecifier(C.propertyName?getEscapedText(C.propertyName):n,a,S);if(F)return F}return N}}}else{let N=this.resolveImportSpecifier(C.propertyName?getEscapedText(C.propertyName):n,a,S);if(N)return N}}}else{let C=this.resolveImportSpecifier(n,a,S);if(C)return C}}getTypeOfType(n){if(!this.isWithReflection(this.sourceFile,n))return;let a=new CompilerProgram(n,this.sourceFile);return this.extractPackStructOfType(n,a),this.packOpsAndStack(a)}packOpsAndStack(n){let a=n.buildPackStruct();if(a.ops.length===0)return;let S=[...a.stack,encodeOps(a.ops)];return this.valueToExpression(S)}valueToExpression(n){return this.nodeConverter.toExpression(n)}decorateClass(n,a){if(!this.isWithReflection(n,a))return a;let S=this.getTypeOfType(a),C=this.f.createPropertyDeclaration(this.f.createModifiersFromModifierFlags(VS.Static),`__type`,void 0,void 0,S);return Gx(a)?this.f.updateClassDeclaration(a,a.modifiers,a.name,a.typeParameters,a.heritageClauses,this.f.createNodeArray([...a.members,C])):this.f.updateClassExpression(a,a.modifiers,a.name,a.typeParameters,a.heritageClauses,this.f.createNodeArray([...a.members,C]))}decorateFunctionExpression(n){let a=this.getTypeOfType(n);return a?this.wrapWithAssignType(n,a):n}decorateFunctionDeclaration(n){let a=this.getTypeOfType(n);if(!a)return n;if(!n.name){if(!n.body)return;let S=n.modifiers?n.modifiers.filter(n=>n.kind!==zS.ExportKeyword&&n.kind!==zS.DefaultKeyword&&n.kind!==zS.Decorator):[];return this.f.createExportAssignment(void 0,void 0,this.wrapWithAssignType(this.f.createFunctionExpression(S,n.asteriskToken,n.name,n.typeParameters,n.parameters,n.type,n.body),a))}let S=[n];return S.push(this.f.createExpressionStatement(this.f.createAssignment(this.f.createPropertyAccessExpression(serializeEntityNameAsExpression(this.f,n.name),`__type`),a))),S}decorateArrowFunction(n){let a=this.getTypeOfType(n);return a?this.wrapWithAssignType(n,a):n}wrapWithAssignType(n,a){return this.embedAssignType=!0,this.f.createCallExpression(this.f.createIdentifier(`__assignType`),void 0,[n,a])}getExplicitReflectionMode(n,a){let S=a,C;for(;C===void 0&&S;){let a=n&&extractJSDocAttribute(n,S,`reflection`);a!==void 0&&(C=a),S=S.parent}if(C===``||C===`true`||C==="default"||C===`enabled`||C===`1`)return!0;if(C===`false`||C===`disabled`||C===`never`||C===`no`||C===`0`)return!1}},DeclarationTransformer=class extends ReflectionTransformer{constructor(){super(...arguments),this.addExports=[]}transformSourceFile(n){if(n.deepkitDeclarationTransformed)return n;this.sourceFile=n,this.addExports=[];let a=this.getConfigResolver(n),S=a.match(n.fileName);if(Object.assign(this.compilerOptions,a.config.compilerOptions),S.mode===`never`)return n;let visitor=a=>(a=Lx(a,visitor,this.context),(wS(a)||cS(a)||Xx(a))&&hasModifier(a,zS.ExportKeyword)&&this.isWithReflection(n,a)&&this.addExports.push({identifier:getIdentifierName(this.getDeclarationVariableName(a.name))}),a);if(this.sourceFile=Rx(this.sourceFile,visitor),this.addExports.length){let n=[],a=[];for(let S of this.addExports)a.includes(S.identifier)||(a.push(S.identifier),n.push(this.f.createTypeAliasDeclaration([this.f.createModifier(zS.ExportKeyword),this.f.createModifier(zS.DeclareKeyword)],this.f.createIdentifier(S.identifier),void 0,this.f.createArrayTypeNode(this.f.createKeywordTypeNode(zS.AnyKeyword)))));this.sourceFile=this.f.updateSourceFile(this.sourceFile,[...this.sourceFile.statements,...n])}return this.sourceFile.deepkitDeclarationTransformed=!0,this.sourceFile}},WS=!1,GS=new Cache,KS=function deepkitTransformer(n){return WS||=(debug(`@deepkit/type transformer loaded
691
+ `),!0),GS.tick(),new ReflectionTransformer(n,GS)},qS=function deepkitDeclarationTransformer(n){return new DeclarationTransformer(n,GS)}}),YS,DeepkitLoader,XS=__esmMin(()=>{YS=__toESM$1(Yp(),1),JS(),DeepkitLoader=class{constructor(){this.options={allowJs:!0,declaration:!1},this.host=YS.default.createCompilerHost(this.options),this.program=YS.default.createProgram([],this.options,this.host),this.printer=YS.default.createPrinter({newLine:YS.default.NewLineKind.LineFeed}),this.cache=new Cache,this.knownFiles={},this.sourceFiles={};let n=this.host.readFile;this.host.readFile=a=>this.knownFiles[a]?this.knownFiles[a]:n.call(this.host,a),this.host.writeFile=()=>{};let a=this.host.getSourceFile;this.host.getSourceFile=(n,S,C,N)=>this.sourceFiles[n]?this.sourceFiles[n]:a.call(this.host,n,S,C,N)}transform(n,a){this.knownFiles[a]=n;let S=YS.default.createSourceFile(a,n,YS.default.ScriptTarget.ESNext,!0,a.endsWith(`.tsx`)?YS.default.ScriptKind.TSX:YS.default.ScriptKind.TS),C=n;return YS.default.transform(S,[n=>{let a=new ReflectionTransformer(n,this.cache).forHost(this.host).withReflection({reflection:`default`});return n=>{let S=a.transformSourceFile(n);return C=this.printer.printNode(YS.default.EmitHint.SourceFile,S,S),S}}],this.options),C}}}),ZS=__exportAll$3({Cache:()=>Cache,DeclarationTransformer:()=>DeclarationTransformer,DeepkitLoader:()=>DeepkitLoader,ReflectionTransformer:()=>ReflectionTransformer,debugPackStruct:()=>debugPackStruct,declarationTransformer:()=>qS,default:()=>myTransformerPlugin,encodeOps:()=>encodeOps,packSize:()=>64,packSizeByte:()=>6,transformer:()=>KS});function myTransformerPlugin(n,a){return{before:KS,afterDeclarations:qS}}var QS=__esmMin(()=>{JS(),JS(),XS()});async function getLoader(){return $S||($S=(async()=>new(await(Promise.resolve().then(()=>(QS(),ZS)))).DeepkitLoader)(),$S)}function printDiagnostics(...n){ke.log(`[deepkit] printDiagnostics`,inspect(n,!1,10,!0))}function deepkitPlugin(n={}){let a=n.reflection??!1;return{name:`gjsify-deepkit`,transform:{order:`pre`,async handler(n,S){if(!a||!eC.test(S))return null;try{let a=(await getLoader()).transform(n,S);return a===n?null:{code:a,map:null}}catch(n){return printDiagnostics({file:S,error:n}),null}}}}}var $S,eC,tC=__esmMin(()=>{Ae(),tc(),$S=null,eC=/\.(m|c)?tsx?$/});function isPlainObject(n){if(typeof n!=`object`||!n)return!1;let a=Object.getPrototypeOf(n);return(a===null||a===Object.prototype||Object.getPrototypeOf(a)===null)&&!(Symbol.toStringTag in n)&&!(Symbol.iterator in n)}var nC=__esmMin(()=>{}),safeNormalizeFileUrl,normalizeDenoExecPath,isDenoExecPath,normalizeFileUrl,rC=__esmMin(()=>{mn(),safeNormalizeFileUrl=(n,a)=>{let S=normalizeFileUrl(normalizeDenoExecPath(n));if(typeof S!=`string`)throw TypeError(`${a} must be a string or a file URL: ${S}.`);return S},normalizeDenoExecPath=n=>isDenoExecPath(n)?n.toString():n,isDenoExecPath=n=>typeof n!=`string`&&n&&Object.getPrototypeOf(n)===String.prototype,normalizeFileUrl=n=>n instanceof URL?fileURLToPath(n):n}),normalizeParameters,iC=__esmMin(()=>{nC(),rC(),normalizeParameters=(n,a=[],S={})=>{let C=safeNormalizeFileUrl(n,`First argument`),[N,F]=isPlainObject(a)?[[],a]:[a,S];if(!Array.isArray(N))throw TypeError(`Second argument must be either an array of arguments or an options object: ${N}`);if(N.some(n=>typeof n==`object`&&!!n))throw TypeError(`Second argument must be an array of strings: ${N}`);let I=N.map(String),H=I.find(n=>n.includes(`\0`));if(H!==void 0)throw TypeError(`Arguments cannot contain null bytes ("\\0"): ${H}`);if(!isPlainObject(F))throw TypeError(`Last argument must be an options object: ${F}`);return[C,I,F]}}),aC=__exportAll$3({ChildProcess:()=>ChildProcess,default:()=>sC,exec:()=>_exec,execFile:()=>execFile,execFileSync:()=>execFileSync,execSync:()=>execSync,spawn:()=>spawn,spawnSync:()=>spawnSync});function _gioErrorToNodeError(n,a,S){let C=n??Error(`Unknown spawn error`),N=C,F=C.code,I=C.matches,H=!1;if(typeof I==`function`)try{H=I.call(C,Z.SpawnError,Z.SpawnError.NOENT)===!0}catch{}if(!H&&F===Z.SpawnError.NOENT&&(H=!0),!H&&typeof C.message==`string`&&/No such file or directory|ENOENT|Failed to execute|nicht gefunden|nicht ausgeführt/i.test(C.message)&&(H=!0),H){let n=Error(`spawn ${a} ENOENT`);return n.code=`ENOENT`,n.errno=-2,n.syscall=`spawn ${a}`,n.path=a,n.spawnargs=S.slice(),n}if(C instanceof Error)return N;let W=C,K=typeof W.message==`string`?W.message:String(C),q=Error(K);return(typeof F==`number`||typeof F==`string`)&&(q.code=F),q}function _normalizeCwd(n){if(n!=null){if(typeof n==`string`)return n;if(typeof n==`object`&&n&&typeof n.href==`string`&&typeof n.protocol==`string`){let a=n;if(a.protocol!==`file:`)throw TypeError(`The URL must be of scheme file:; received '${a.protocol}' for 'options.cwd'`);return fileURLToPath(a)}return n instanceof Uint8Array?new TextDecoder().decode(n):String(n)}}function _encodeEnvValue(n){if(n!==void 0)return`${n}`}function _spawnSubprocess(n,a,S){let C=new me.SubprocessLauncher({flags:a}),N=_normalizeCwd(S?.cwd);if(N!==void 0&&C.set_cwd(N),S?.env){let n=S.env;C.set_environ([]);let a=new Set;for(let S in n){if(a.has(S))continue;a.add(S);let N=_encodeEnvValue(n[S]);N!==void 0&&C.setenv(S,N,!0)}}let F=n;if(S?.argv0!==void 0&&S.argv0!==null){if(typeof S.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof S.argv0}`);F=[`/bin/sh`,`-c`,`exec -a "$0" "$@"`,S.argv0,...n]}S?.detached===!0&&(F=[`/usr/bin/setsid`,...F]);let I=C.spawnv(F);return{proc:I,pid:_capturePidAtSpawn(I)}}function _capturePidAtSpawn(n){let a=n.get_identifier();if(a){let n=parseInt(a,10);if(n>0)return n}return 0}function execSync(n,a){let S=a?.encoding,C=a?.input,N=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(C?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),F=typeof a?.shell==`string`?a.shell:`/bin/sh`,I;try{({proc:I}=_spawnSubprocess([F,`-c`,n],N,a))}catch(a){throw _gioErrorToNodeError(a,F,[`-c`,n])}let H=C?new Z.Bytes(typeof C==`string`?new TextEncoder().encode(C):C):null,[,W,K]=I.communicate(H,null),q=I.get_exit_status();if(q!==0){let a=K?new TextDecoder().decode(gbytesToUint8Array(K)):``,C=W?new TextDecoder().decode(gbytesToUint8Array(W)):``,N=Error(`Command failed: ${n}\n${a}`);throw N.status=q,S===`buffer`||S===null?(N.stderr=K?lt.from(gbytesToUint8Array(K)):lt.alloc(0),N.stdout=W?lt.from(gbytesToUint8Array(W)):lt.alloc(0)):(N.stderr=a,N.stdout=C),N}if(!W)return S===`buffer`||S==null?lt.alloc(0):``;let Y=gbytesToUint8Array(W);if(S===`buffer`||S==null)return lt.from(Y);let X=lt.isEncoding(S)?S:`utf8`;return lt.from(Y).toString(X)}function _decodeExecOutput(n,a){let S=n??new Uint8Array;if(a===`buffer`||a===null)return lt.from(S);let C=a&&lt.isEncoding(a)?a:`utf8`;return lt.from(S).toString(C)}function _normalizeKillSignal(n){return n??`SIGTERM`}function _exec(n,a,S){typeof a==`function`&&(S=a,a={});let C=a||{},N=new ChildProcess,F=typeof C.shell==`string`?C.shell:`/bin/sh`,I=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE,H=C.maxBuffer??1024*1024,W=C.timeout&&C.timeout>0?C.timeout:0,K=_normalizeKillSignal(C.killSignal),q=C.signal;return _execImpl(N,[F,`-c`,n],I,C,{cmd:n,encoding:C.encoding,maxBuffer:H,timeoutMs:W,killSignal:K,abortSignal:q,callback:S})}function _execImpl(n,a,S,C,N){let F=null,I=!1,H=null,W=null,armTimeout=a=>{N.timeoutMs&&(F=setTimeout(()=>{I=!0;try{a.send_signal(typeof N.killSignal==`number`?N.killSignal:15)}catch{}n.killed=!0},N.timeoutMs))},disarmTimeout=()=>{F!==null&&(clearTimeout(F),F=null)},armAbort=a=>{if(!N.abortSignal)return;let fire=()=>{H=Error(`The operation was aborted`),H.name=`AbortError`;try{a.send_signal(typeof N.killSignal==`number`?N.killSignal:15)}catch{}n.killed=!0};if(N.abortSignal.aborted){queueMicrotask(fire);return}W=fire,N.abortSignal.addEventListener(`abort`,W,{once:!0})},disarmAbort=()=>{N.abortSignal&&W&&(N.abortSignal.removeEventListener(`abort`,W),W=null)};try{let{proc:F,pid:W}=_spawnSubprocess(a,S,C);n._setSubprocess(F,W),oC.add(n),ensureMainLoop(),armTimeout(F),armAbort(F),F.communicate_async(null,null,(a,S)=>{disarmTimeout(),disarmAbort(),oC.delete(n);try{let[,a,C]=F.communicate_finish(S),W=a?gbytesToUint8Array(a):null,K=C?gbytesToUint8Array(C):null,q=null;N.maxBuffer!==1/0&&W&&W.length>N.maxBuffer&&(W=W.subarray(0,N.maxBuffer),q=RangeError(`stdout maxBuffer length exceeded`),q.code=`ERR_CHILD_PROCESS_STDIO_MAXBUFFER`),!q&&N.maxBuffer!==1/0&&K&&K.length>N.maxBuffer&&(K=K.subarray(0,N.maxBuffer),q=RangeError(`stderr maxBuffer length exceeded`),q.code=`ERR_CHILD_PROCESS_STDIO_MAXBUFFER`);let Y=_decodeExecOutput(W,N.encoding),X=_decodeExecOutput(K,N.encoding),te=F.get_if_exited()?F.get_exit_status():null,ne=F.get_if_signaled()?typeof N.killSignal==`string`?N.killSignal:`SIGTERM`:null;n.exitCode=te,n.signalCode=ne;let re=null;if(H)re=H,re.killed=!0,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(q)re=q,re.killed=n.killed,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(I)re=Error(`Command failed: ${N.cmd}`),re.killed=!0,re.code=null,re.signal=typeof N.killSignal==`string`?N.killSignal:`SIGTERM`,re.stdout=Y,re.stderr=X,re.cmd=N.cmd;else if(te!==0&&te!==null){let a=typeof X==`string`?X:X.toString();re=Error(`Command failed: ${N.cmd}\n${a}`),re.code=te,re.killed=n.killed,re.signal=ne,re.stdout=Y,re.stderr=X,re.cmd=N.cmd}else ne&&(re=Error(`Command failed: ${N.cmd}`),re.killed=!0,re.signal=ne,re.code=null,re.stdout=Y,re.stderr=X,re.cmd=N.cmd);N.callback&&N.callback(re,Y,X),n.emit(`exit`,te,ne),n.emit(`close`,te,ne)}catch(a){let S=a instanceof Error?a:Error(String(a));N.callback&&N.callback(S,``,``),n.emit(`error`,S)}}),queueMicrotask(()=>n.emit(`spawn`))}catch(S){disarmTimeout(),disarmAbort();let C=_gioErrorToNodeError(S,a[0]??``,a.slice(1));setTimeout(()=>{N.callback&&N.callback(C,``,``),n.emit(`error`,C)},0)}return n}function execFile(n,a,S,C){let N=[],F={},I;typeof a==`function`?I=a:Array.isArray(a)?(N=a,typeof S==`function`?I=S:(F=S||{},I=C)):a&&typeof a==`object`&&(F=a,I=typeof S==`function`?S:C);let H=new ChildProcess,W=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE,K=F.maxBuffer??1024*1024,q=F.timeout&&F.timeout>0?F.timeout:0,Y=_normalizeKillSignal(F.killSignal);return _execImpl(H,[n,...N],W,F,{cmd:n,encoding:F.encoding,maxBuffer:K,timeoutMs:q,killSignal:Y,abortSignal:F.signal,callback:I})}function execFileSync(n,a,S){let C=[],N;Array.isArray(a)?(C=a,N=S):a&&typeof a==`object`&&(N=a);let F=N?.encoding,I=N?.input,H=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(I?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),W;try{({proc:W}=_spawnSubprocess([n,...C],H,N))}catch(a){throw _gioErrorToNodeError(a,n,C)}let K=I?new Z.Bytes(typeof I==`string`?new TextEncoder().encode(I):I):null,[,q,Y]=W.communicate(K,null),X=W.get_exit_status();if(X!==0){let a=Y?new TextDecoder().decode(gbytesToUint8Array(Y)):``,S=q?new TextDecoder().decode(gbytesToUint8Array(q)):``,N=Error(`Command failed: ${n} ${C.join(` `)}`);throw N.status=X,F===`buffer`||F===null?(N.stderr=Y?lt.from(gbytesToUint8Array(Y)):lt.alloc(0),N.stdout=q?lt.from(gbytesToUint8Array(q)):lt.alloc(0)):(N.stderr=a,N.stdout=S),N}if(!q)return F===`buffer`||F==null?lt.alloc(0):``;let te=gbytesToUint8Array(q);if(F===`buffer`||F==null)return lt.from(te);let ne=lt.isEncoding(F)?F:`utf8`;return lt.from(te).toString(ne)}function spawn(n,a,S){let C,N;if(Array.isArray(a))C=a,N=S;else if(a!=null){if(typeof a!=`object`)throw TypeError(`The "args" argument must be of type object. Received type ${typeof a}`);C=void 0,N=a}else C=void 0,N=a;if(N!=null&&typeof N!=`object`)throw TypeError(`The "options" argument must be of type object. Received type ${typeof N}`);if(N?.argv0!==void 0&&N.argv0!==null&&typeof N.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof N.argv0}`);N?.cwd!==void 0&&_normalizeCwd(N.cwd);let F=C||[],I=new ChildProcess,H=N?.shell,W;W=H?[typeof H==`string`?H:`/bin/sh`,`-c`,[n,...F].join(` `)]:[n,...F];let K=N?.stdio,q=Array.isArray(K)?[typeof K[0]==`string`?K[0]:`pipe`,typeof K[1]==`string`?K[1]:`pipe`,typeof K[2]==`string`?K[2]:`pipe`]:typeof K==`string`?[K,K,K]:[`pipe`,`pipe`,`pipe`],Y=me.SubprocessFlags.NONE;q[0]===`pipe`?Y|=me.SubprocessFlags.STDIN_PIPE:q[0]===`inherit`&&(Y|=me.SubprocessFlags.STDIN_INHERIT),q[1]===`pipe`&&(Y|=me.SubprocessFlags.STDOUT_PIPE),q[1]===`ignore`&&(Y|=me.SubprocessFlags.STDOUT_SILENCE),q[2]===`pipe`&&(Y|=me.SubprocessFlags.STDERR_PIPE),q[2]===`ignore`&&(Y|=me.SubprocessFlags.STDERR_SILENCE);try{let{proc:n,pid:a}=_spawnSubprocess(W,Y,N);if(I._setSubprocess(n,a),oC.add(I),q[0]===`pipe`){let a=n.get_stdin_pipe();a&&(I.stdin=new GioOutputStreamWritable(a))}let S=n.get_stdout_pipe();S&&(I.stdout=new GioInputStreamReadable(S));let C=n.get_stderr_pipe();C&&(I.stderr=new GioInputStreamReadable(C));let F=N?.signal,H=null,emitAbortError=()=>{let n=N?.killSignal??`SIGTERM`;I.kill(n);let a=Error(`The operation was aborted`);a.name=`AbortError`,I.emit(`error`,a)};F&&(F.aborted?queueMicrotask(emitAbortError):(H=emitAbortError,F.addEventListener(`abort`,H,{once:!0})));let K=null;if(N?.timeout&&N.timeout>0){let n=N.killSignal??`SIGTERM`;K=setTimeout(()=>{I.kill(n),K=null},N.timeout)}ensureMainLoop(),n.wait_async(null,(a,S)=>{try{n.wait_finish(S);let a=n.get_if_exited()?n.get_exit_status():null,C=null;if(n.get_if_signaled()){let n=N?.killSignal;C=typeof n==`string`?n:`SIGTERM`}I.exitCode=a,I.signalCode=C,K!==null&&(clearTimeout(K),K=null),F&&H&&F.removeEventListener(`abort`,H),I.stdin&&!I.stdin.destroyed&&I.stdin.destroy(),I.emit(`exit`,a,C),I.emit(`close`,a,C)}catch(n){I.emit(`error`,n instanceof Error?n:Error(String(n)))}oC.delete(I)}),queueMicrotask(()=>I.emit(`spawn`))}catch(a){deferEmit(I,`error`,_gioErrorToNodeError(a,H?n:W[0]??``,H?F:W.slice(1)))}return I}function spawnSync(n,a,S){let C,N;if(Array.isArray(a))C=a,N=S;else if(a!=null){if(typeof a!=`object`)throw TypeError(`The "args" argument must be of type object. Received type ${typeof a}`);C=void 0,N=a}else C=void 0,N=a;if(N!=null&&typeof N!=`object`)throw TypeError(`The "options" argument must be of type object. Received type ${typeof N}`);if(N?.argv0!==void 0&&N.argv0!==null&&typeof N.argv0!=`string`)throw TypeError(`The "options.argv0" property must be of type string. Received type ${typeof N.argv0}`);N?.cwd!==void 0&&_normalizeCwd(N.cwd);let F=C||[],I=N?.shell,H=N?.input,W;W=I?[typeof I==`string`?I:`/bin/sh`,`-c`,[n,...F].join(` `)]:[n,...F];let K=!1;if(N?.timeout&&N.timeout>0){let n=N.timeout/1e3,a=N.killSignal;W=[`/usr/bin/timeout`,`-s`,typeof a==`string`?a.replace(/^SIG/,``):`TERM`,String(n),...W],K=!0}let q=me.SubprocessFlags.STDOUT_PIPE|me.SubprocessFlags.STDERR_PIPE|(H?me.SubprocessFlags.STDIN_PIPE:me.SubprocessFlags.NONE),Y=H;if(Y!=null&&typeof Y!=`string`&&!(Y instanceof Uint8Array)&&!(Y instanceof ArrayBuffer)&&!ArrayBuffer.isView(Y))throw TypeError(`The "input" property must be of type string, Buffer, TypedArray, or DataView. Received type ${typeof Y}`);let X=N?.encoding,te=X===`buffer`||X==null?lt.alloc(0):``,ne,re=0;try{({proc:ne,pid:re}=_spawnSubprocess(W,q,N))}catch(a){let S=I?n:W[0]??``,C=I?F:W.slice(1);return{pid:0,output:[null,te,te],stdout:te,stderr:te,status:null,signal:null,error:_gioErrorToNodeError(a,S,C)}}let ie=H?new Z.Bytes(typeof H==`string`?new TextEncoder().encode(H):H):null,ae,oe,se=null;try{let n=ne.communicate(ie,null);ae=n[1]??null,oe=n[2]??null}catch(n){se=n instanceof Error?n:Error(String(n)),ae=null,oe=null}let ce=ae?lt.from(gbytesToUint8Array(ae)):lt.alloc(0),le=oe?lt.from(gbytesToUint8Array(oe)):lt.alloc(0),decode=n=>{if(X===`buffer`||X==null)return n;let a=lt.isEncoding(X)?X:`utf8`;return n.toString(a)},ue=decode(ce),de=decode(le),fe=ne.get_if_exited()?ne.get_exit_status():null,pe=null;if(ne.get_if_signaled()){let n=N?.killSignal;pe=typeof n==`string`?n:`SIGTERM`}let he=!1;K&&(fe===124||fe===137)&&(he=!0,pe=typeof N?.killSignal==`string`?N.killSignal:`SIGTERM`);let ge={pid:re,output:[null,ue,de],stdout:ue,stderr:de,status:he?null:fe,signal:pe};if(he){let n=Error(`Command failed: ${W.join(` `)}\n${typeof de==`string`?de:de.toString()}`);n.code=`ETIMEDOUT`,n.killed=!0,n.signal=pe,ge.error=n}else se&&(ge.error=se);return ge}var GioInputStreamReadable,GioOutputStreamWritable,oC,ChildProcess,sC,cC=__esmMin(()=>{he(),se(),Kt(),vt(),oi(),mn(),Xe(),GioInputStreamReadable=class extends ei{_stream;_cancellable=new me.Cancellable;constructor(n){super(),this._stream=n}_read(n){this._stream.read_bytes_async(Math.max(n,4096),Z.PRIORITY_DEFAULT,this._cancellable,(n,a)=>{try{let n=this._stream.read_bytes_finish(a).get_data();!n||n.length===0?this.push(null):this.push(lt.from(n))}catch(n){this._cancellable.is_cancelled()||this.destroy(n)}})}_destroy(n,a){this._cancellable.cancel(),a(n)}},GioOutputStreamWritable=class extends ti{_stream;_cancellable=new me.Cancellable;_closed=!1;constructor(n){super(),this._stream=n}_write(n,a,S){if(this._closed){S(Error(`write after end`));return}let C=typeof n==`string`?lt.from(n):n instanceof Uint8Array?n:lt.from(n);this._stream.write_bytes_async(new Z.Bytes(C),Z.PRIORITY_DEFAULT,this._cancellable,(n,a)=>{try{this._stream.write_bytes_finish(a),S()}catch(n){this._cancellable.is_cancelled()?S():S(n)}})}_final(n){if(this._closed){n();return}this._closed=!0;try{this._stream.close(null)}catch{}n()}_destroy(n,a){if(this._cancellable.cancel(),!this._closed){this._closed=!0;try{this._stream.close(null)}catch{}}a(n)}},oC=new Set,ChildProcess=class extends Ft{pid;exitCode=null;signalCode=null;killed=!1;connected=!1;stdin=null;stdout=null;stderr=null;get stdio(){return[this.stdin,this.stdout,this.stderr]}_subprocess=null;_setSubprocess(n,a){this._subprocess=n,a>0&&(this.pid=a)}kill(n){if(!this._subprocess)return!1;try{let a=n??`SIGTERM`;return a===`SIGKILL`||a===9?this._subprocess.force_exit():typeof a==`number`?this._subprocess.send_signal(a):this._subprocess.send_signal({SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGABRT:6,SIGKILL:9,SIGUSR1:10,SIGUSR2:12,SIGTERM:15}[a]??15),this.killed=!0,!0}catch{return!1}}ref(){return this}unref(){return this}},sC={ChildProcess,exec:_exec,execSync,execFile,execFileSync,spawn,spawnSync}}),lC,isArrayBuffer,isUint8Array,bufferToUint8Array,uC,stringToUint8Array,dC,uint8ArrayToString,joinToString,uint8ArraysToStrings,joinToUint8Array,stringsToUint8Arrays,concatUint8Arrays,getJoinLength,fC=__esmMin(()=>{Jt(),{toString:lC}=Object.prototype,isArrayBuffer=n=>lC.call(n)===`[object ArrayBuffer]`,isUint8Array=n=>lC.call(n)===`[object Uint8Array]`,bufferToUint8Array=n=>new Uint8Array(n.buffer,n.byteOffset,n.byteLength),uC=new TextEncoder,stringToUint8Array=n=>uC.encode(n),dC=new TextDecoder,uint8ArrayToString=n=>dC.decode(n),joinToString=(n,a)=>uint8ArraysToStrings(n,a).join(``),uint8ArraysToStrings=(n,a)=>{if(a===`utf8`&&n.every(n=>typeof n==`string`))return n;let S=new qt(a),C=n.map(n=>typeof n==`string`?stringToUint8Array(n):n).map(n=>S.write(n)),N=S.end();return N===``?C:[...C,N]},joinToUint8Array=n=>n.length===1&&isUint8Array(n[0])?n[0]:concatUint8Arrays(stringsToUint8Arrays(n)),stringsToUint8Arrays=n=>n.map(n=>typeof n==`string`?stringToUint8Array(n):n),concatUint8Arrays=n=>{let a=new Uint8Array(getJoinLength(n)),S=0;for(let C of n)a.set(C,S),S+=C.length;return a},getJoinLength=n=>{let a=0;for(let S of n)a+=S.length;return a}}),isTemplateString,parseTemplates,parseTemplate,splitByWhitespaces,pC,mC,concatTokens,parseExpression,getSubprocessResult,hC=__esmMin(()=>{cC(),nC(),fC(),isTemplateString=n=>Array.isArray(n)&&Array.isArray(n.raw),parseTemplates=(n,a)=>{let S=[];for(let[C,N]of n.entries())S=parseTemplate({templates:n,expressions:a,tokens:S,index:C,template:N});if(S.length===0)throw TypeError(`Template script must not be empty`);let[C,...N]=S;return[C,N,{}]},parseTemplate=({templates:n,expressions:a,tokens:S,index:C,template:N})=>{if(N===void 0)throw TypeError(`Invalid backslash sequence: ${n.raw[C]}`);let{nextTokens:F,leadingWhitespaces:I,trailingWhitespaces:H}=splitByWhitespaces(N,n.raw[C]),W=concatTokens(S,F,I);if(C===a.length)return W;let K=a[C];return concatTokens(W,Array.isArray(K)?K.map(n=>parseExpression(n)):[parseExpression(K)],H)},splitByWhitespaces=(n,a)=>{if(a.length===0)return{nextTokens:[],leadingWhitespaces:!1,trailingWhitespaces:!1};let S=[],C=0,N=pC.has(a[0]);for(let N=0,F=0;N<n.length;N+=1,F+=1){let I=a[F];if(pC.has(I))C!==N&&S.push(n.slice(C,N)),C=N+1;else if(I===`\\`){let n=a[F+1];n===`
692
+ `?(--N,F+=1):n===`u`&&a[F+2]===`{`?F=a.indexOf(`}`,F+3):F+=mC[n]??1}}let F=C===n.length;return F||S.push(n.slice(C)),{nextTokens:S,leadingWhitespaces:N,trailingWhitespaces:F}},pC=new Set([` `,` `,`\r`,`
693
+ `]),mC={x:3,u:5},concatTokens=(n,a,S)=>S||n.length===0||a.length===0?[...n,...a]:[...n.slice(0,-1),`${n.at(-1)}${a[0]}`,...a.slice(1)],parseExpression=n=>{let a=typeof n;if(a===`string`)return n;if(a===`number`)return String(n);if(isPlainObject(n)&&(`stdout`in n||`isMaxBuffer`in n))return getSubprocessResult(n);throw n instanceof ChildProcess||Object.prototype.toString.call(n)===`[object Promise]`?TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}."):TypeError(`Unexpected "${a}" in template expression`)},getSubprocessResult=({stdout:n})=>{if(typeof n==`string`)return n;if(isUint8Array(n))return uint8ArrayToString(n);throw TypeError(n===void 0?`Missing result.stdout in template expression. This is probably due to the previous subprocess' "stdout" option.`:`Unexpected "${typeof n}" stdout in template expression`)}}),isStandardStream,gC,_C,getStreamName,vC=__esmMin(()=>{sn(),isStandardStream=n=>gC.includes(n),gC=[$t.stdin,$t.stdout,$t.stderr],_C=[`stdin`,`stdout`,`stderr`],getStreamName=n=>_C[n]??`stdio[${n}]`}),normalizeFdSpecificOptions,normalizeFdSpecificOption,getStdioLength,normalizeFdSpecificValue,normalizeOptionObject,compareFdName,getFdNameOrder,parseFdName,parseFd,yC,bC,xC,SC,getFdSpecificValue,CC=__esmMin(()=>{tc(),nC(),vC(),normalizeFdSpecificOptions=n=>{let a={...n};for(let S of SC)a[S]=normalizeFdSpecificOption(n,S);return a},normalizeFdSpecificOption=(n,a)=>{let S=Array.from({length:getStdioLength(n)+1});return bC(normalizeFdSpecificValue(n[a],S,a),a)},getStdioLength=({stdio:n})=>Array.isArray(n)?Math.max(n.length,_C.length):_C.length,normalizeFdSpecificValue=(n,a,S)=>isPlainObject(n)?normalizeOptionObject(n,a,S):a.fill(n),normalizeOptionObject=(n,a,S)=>{for(let C of Object.keys(n).sort(compareFdName))for(let N of parseFdName(C,S,a))a[N]=n[C];return a},compareFdName=(n,a)=>getFdNameOrder(n)<getFdNameOrder(a)?1:-1,getFdNameOrder=n=>n===`stdout`||n===`stderr`?0:n===`all`?2:1,parseFdName=(n,a,S)=>{if(n===`ipc`)return[S.length-1];let C=parseFd(n);if(C===void 0||C===0)throw TypeError(`"${a}.${n}" is invalid.
694
694
  It must be "${a}.stdout", "${a}.stderr", "${a}.all", "${a}.ipc", or "${a}.fd3", "${a}.fd4" (and so on).`);if(C>=S.length)throw TypeError(`"${a}.${n}" is invalid: that file descriptor does not exist.
695
- Please set the "stdio" option to ensure that file descriptor exists.`);return C===`all`?[1,2]:[C]},parseFd=n=>{if(n===`all`)return n;if(gC.includes(n))return gC.indexOf(n);let a=vC.exec(n);if(a!==null)return Number(a[1])},vC=/^fd(\d+)$/,yC=__name$1((n,a)=>n.map(n=>n===void 0?bC[a]:n),`addDefaultValue`),bC={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:debuglog(`execa`).enabled?`full`:`none`,stripFinalNewline:!0},xC=[`lines`,`buffer`,`maxBuffer`,`verbose`,`stripFinalNewline`],getFdSpecificValue=(n,a)=>a===`ipc`?n.at(-1):n[a]}),isVerbose,isFullVerbose,getVerboseFunction,getFdVerbose,getFdGenericVerbose,isVerboseFunction,CC,wC=__esmMin(()=>{SC(),isVerbose=({verbose:n},a)=>getFdVerbose(n,a)!==`none`,isFullVerbose=({verbose:n},a)=>![`none`,`short`].includes(getFdVerbose(n,a)),getVerboseFunction=({verbose:n},a)=>{let S=getFdVerbose(n,a);return isVerboseFunction(S)?S:void 0},getFdVerbose=(n,a)=>a===void 0?getFdGenericVerbose(n):getFdSpecificValue(n,a),getFdGenericVerbose=n=>n.find(n=>isVerboseFunction(n))??CC.findLast(a=>n.includes(a)),isVerboseFunction=n=>typeof n==`function`,CC=[`none`,`short`,`full`]}),joinCommand,escapeLines,escapeControlCharacters,escapeControlCharacter,getSpecialCharRegExp,TC,EC,DC,quoteString,OC,kC=__esmMin(()=>{sn(),tc(),joinCommand=(n,a)=>{let S=[n,...a];return{command:S.join(` `),escapedCommand:S.map(n=>quoteString(escapeControlCharacters(n))).join(` `)}},escapeLines=n=>stripVTControlCharacters(n).split(`
695
+ Please set the "stdio" option to ensure that file descriptor exists.`);return C===`all`?[1,2]:[C]},parseFd=n=>{if(n===`all`)return n;if(_C.includes(n))return _C.indexOf(n);let a=yC.exec(n);if(a!==null)return Number(a[1])},yC=/^fd(\d+)$/,bC=__name$1((n,a)=>n.map(n=>n===void 0?xC[a]:n),`addDefaultValue`),xC={lines:!1,buffer:!0,maxBuffer:1e3*1e3*100,verbose:debuglog(`execa`).enabled?`full`:`none`,stripFinalNewline:!0},SC=[`lines`,`buffer`,`maxBuffer`,`verbose`,`stripFinalNewline`],getFdSpecificValue=(n,a)=>a===`ipc`?n.at(-1):n[a]}),isVerbose,isFullVerbose,getVerboseFunction,getFdVerbose,getFdGenericVerbose,isVerboseFunction,wC,TC=__esmMin(()=>{CC(),isVerbose=({verbose:n},a)=>getFdVerbose(n,a)!==`none`,isFullVerbose=({verbose:n},a)=>![`none`,`short`].includes(getFdVerbose(n,a)),getVerboseFunction=({verbose:n},a)=>{let S=getFdVerbose(n,a);return isVerboseFunction(S)?S:void 0},getFdVerbose=(n,a)=>a===void 0?getFdGenericVerbose(n):getFdSpecificValue(n,a),getFdGenericVerbose=n=>n.find(n=>isVerboseFunction(n))??wC.findLast(a=>n.includes(a)),isVerboseFunction=n=>typeof n==`function`,wC=[`none`,`short`,`full`]}),joinCommand,escapeLines,escapeControlCharacters,escapeControlCharacter,getSpecialCharRegExp,EC,DC,OC,quoteString,kC,AC=__esmMin(()=>{sn(),tc(),joinCommand=(n,a)=>{let S=[n,...a];return{command:S.join(` `),escapedCommand:S.map(n=>quoteString(escapeControlCharacters(n))).join(` `)}},escapeLines=n=>stripVTControlCharacters(n).split(`
696
696
  `).map(n=>escapeControlCharacters(n)).join(`
697
- `),escapeControlCharacters=n=>n.replaceAll(TC,n=>escapeControlCharacter(n)),escapeControlCharacter=n=>{let a=EC[n];if(a!==void 0)return a;let S=n.codePointAt(0),C=S.toString(16);return S<=DC?`\\u${C.padStart(4,`0`)}`:`\\U${C}`},getSpecialCharRegExp=()=>{try{return RegExp(`\\p{Separator}|\\p{Other}`,`gu`)}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},TC=getSpecialCharRegExp(),EC={" ":` `,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},DC=65535,quoteString=n=>OC.test(n)?n:en===`win32`?`"${n.replaceAll(`"`,`""`)}"`:`'${n.replaceAll(`'`,`'\\''`)}'`,OC=/^[\w./-]+$/});function isUnicodeSupported(){let{env:n}=$t,{TERM:a,TERM_PROGRAM:S}=n;return $t.platform===`win32`?!!n.WT_SESSION||!!n.TERMINUS_SUBLIME||n.ConEmuTask===`{cmd::Cmder}`||S===`Terminus-Sublime`||S===`vscode`||a===`xterm-256color`||a===`alacritty`||a===`rxvt-unicode`||a===`rxvt-unicode-256color`||n.TERMINAL_EMULATOR===`JetBrains-JediTerm`:a!==`linux`}var AC=__esmMin(()=>{sn()}),jC,MC,NC,PC,FC,IC,LC,RC=__esmMin(()=>{AC(),jC={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},MC={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},NC={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},PC={...jC,...MC},FC={...jC,...NC},IC=isUnicodeSupported(),LC=IC?PC:FC,Object.entries(MC)});function isatty(n){return n instanceof ReadStream||n instanceof WriteStream?isatty(n.fd):typeof n==`number`?Ot?Ot.Terminal.is_tty(n):Z.log_writer_supports_color(n):!1}var ReadStream,WriteStream,zC,BC=__esmMin(()=>{Ae(),oi(),se(),kt(),ReadStream=class extends ei{isRaw=!1;fd;constructor(n=0){super(),this.fd=n}get isTTY(){return isatty(this.fd)}setRawMode(n){return Ot&&Ot.Terminal.set_raw_mode(this.fd,n),this.isRaw!==n&&(this.isRaw=n,this.emit(`modeChange`)),this}},WriteStream=class extends ti{isRaw=!1;fd;_print=ke.log;_columns=80;_rows=24;constructor(n){super(),this.fd=n,this._detectSize()}get isTTY(){return isatty(this.fd)}get columns(){if(Ot){let[n,,a]=Ot.Terminal.get_size(this.fd);if(n&&a>0)return a}return this._columns}set columns(n){this._columns=n}get rows(){if(Ot){let[n,a]=Ot.Terminal.get_size(this.fd);if(n&&a>0)return a}return this._rows}set rows(n){this._rows=n}_detectSize(){if(Ot){let[n,a,S]=Ot.Terminal.get_size(this.fd);if(n&&S>0){this._columns=S,this._rows=a;return}}let n=globalThis.process?.env,a=parseInt(n?.COLUMNS||(Z===void 0?``:Z.getenv(`COLUMNS`))||`0`,10),S=parseInt(n?.LINES||(Z===void 0?``:Z.getenv(`LINES`))||`0`,10);a>0&&(this._columns=a),S>0&&(this._rows=S)}clearLine(n,a){let S;return S=n===-1?`\x1B[1K`:n===1?`\x1B[0K`:`\x1B[2K`,this.write(S,a)}clearScreenDown(n){return this.write(`\x1B[0J`,n)}cursorTo(n,a,S){typeof a==`function`&&(S=a,a=void 0);let C;return C=a==null?`\x1b[${n+1}G`:`\x1b[${a+1};${n+1}H`,this.write(C,S)}moveCursor(n,a,S){let C=``;return n>0?C+=`\x1b[${n}C`:n<0&&(C+=`\x1b[${-n}D`),a>0?C+=`\x1b[${a}B`:a<0&&(C+=`\x1b[${-a}A`),C.length===0?(S&&S(),!0):this.write(C,S)}getColorDepth(n){let a=n||globalThis.process?.env||{};if(`FORCE_COLOR`in a){let n=a.FORCE_COLOR;return n===`0`||n===`false`?1:n===`1`?4:n===`2`?8:n===`3`?24:4}if(`NO_COLOR`in a)return 1;let S=a.TERM||``,C=a.COLORTERM||``;return C===`truecolor`||C===`24bit`?24:S===`xterm-256color`||S.endsWith(`-256color`)?8:C?4:S===`dumb`?1:S.startsWith(`xterm`)||S.startsWith(`screen`)||S.startsWith(`vt100`)||S.startsWith(`linux`)?4:1}getWindowSize(){return[this.columns,this.rows]}hasColors(n,a){let S,C;switch(typeof n==`object`?(C=n,S=16):(S=n??16,C=a),this.getColorDepth(C)){case 1:return S>=2;case 4:return S>=16;case 8:return S>=256;case 24:return S>=16777216;default:return!1}}setRawMode(n){return Ot&&Ot.Terminal.set_raw_mode(this.fd,n),this.isRaw!==n&&(this.isRaw=n,this.emit(`modeChange`)),this}_write(n,a,S){this._print(a===`buffer`?n.toString(`utf-8`):n),S(null)}_changeColumns(n){n!==this._columns&&(this._columns=n,this.emit(`resize`))}_changeRows(n){n!==this._rows&&(this._rows=n,this.emit(`resize`))}},zC={isatty,WriteStream,ReadStream}}),VC,format,HC,UC,WC,GC,KC=__esmMin(()=>{BC(),VC=zC?.WriteStream?.prototype?.hasColors?.()??!1,format=(n,a)=>{if(!VC)return n=>n;let S=`\u001B[${n}m`,C=`\u001B[${a}m`;return n=>{let N=n+``,F=N.indexOf(C);if(F===-1)return S+N+C;let I=S,H=0,W=(a===22?C:``)+S;for(;F!==-1;)I+=N.slice(H,F)+W,H=F+C.length,F=N.indexOf(C,H);return I+=N.slice(H)+C,I}},format(0,0),HC=format(1,22),format(2,22),format(3,23),format(4,24),format(53,55),format(7,27),format(8,28),format(9,29),format(30,39),format(31,39),format(32,39),format(33,39),format(34,39),format(35,39),format(36,39),format(37,39),UC=format(90,39),format(40,49),format(41,49),format(42,49),format(43,49),format(44,49),format(45,49),format(46,49),format(47,49),format(100,49),WC=format(91,39),format(92,39),GC=format(93,39),format(94,39),format(95,39),format(96,39),format(97,39),format(101,49),format(102,49),format(103,49),format(104,49),format(105,49),format(106,49),format(107,49)}),qC=__esmMin(()=>{KC()}),defaultVerboseFunction,serializeTimestamp,padField,getFinalIcon,JC,YC,XC,ZC=__esmMin(()=>{RC(),qC(),defaultVerboseFunction=({type:n,message:a,timestamp:S,piped:C,commandId:N,result:{failed:F=!1}={},options:{reject:I=!0}})=>{let H=serializeTimestamp(S),W=JC[n]({failed:F,reject:I,piped:C}),K=XC[n]({reject:I});return`${UC(`[${H}]`)} ${UC(`[${N}]`)} ${K(W)} ${K(a)}`},serializeTimestamp=n=>`${padField(n.getHours(),2)}:${padField(n.getMinutes(),2)}:${padField(n.getSeconds(),2)}.${padField(n.getMilliseconds(),3)}`,padField=(n,a)=>String(n).padStart(a,`0`),getFinalIcon=({failed:n,reject:a})=>n?a?LC.cross:LC.warning:LC.tick,JC={command:({piped:n})=>n?`|`:`$`,output:()=>` `,ipc:()=>`*`,error:getFinalIcon,duration:getFinalIcon},YC=__name$1(n=>n,`identity`),XC={command:()=>HC,output:()=>YC,ipc:()=>YC,error:({reject:n})=>n?WC:GC,duration:()=>UC}}),applyVerboseOnLines,applyVerboseFunction,appendNewline,QC=__esmMin(()=>{wC(),applyVerboseOnLines=(n,a,S)=>{let C=getVerboseFunction(a,S);return n.map(({verboseLine:n,verboseObject:a})=>applyVerboseFunction(n,a,C)).filter(n=>n!==void 0).map(n=>appendNewline(n)).join(``)},applyVerboseFunction=(n,a,S)=>{if(S===void 0)return n;let C=S(n,a);if(typeof C==`string`)return C},appendNewline=n=>n.endsWith(`
698
- `)?n:`${n}\n`}),verboseLog,getVerboseObject,getPrintedLines,getPrintedLine,serializeVerboseMessage,$C,ew=__esmMin(()=>{Ae(),tc(),kC(),ZC(),QC(),verboseLog=({type:n,verboseMessage:a,fdNumber:S,verboseInfo:C,result:N})=>{let F=applyVerboseOnLines(getPrintedLines(a,getVerboseObject({type:n,result:N,verboseInfo:C})),C,S);F!==``&&ke.warn(F.slice(0,-1))},getVerboseObject=({type:n,result:a,verboseInfo:{escapedCommand:S,commandId:C,rawOptions:{piped:N=!1,...F}}})=>({type:n,escapedCommand:S,commandId:`${C}`,timestamp:new Date,piped:N,result:a,options:F}),getPrintedLines=(n,a)=>n.split(`
699
- `).map(n=>getPrintedLine({...a,message:n})),getPrintedLine=n=>({verboseLine:defaultVerboseFunction(n),verboseObject:n}),serializeVerboseMessage=n=>escapeLines(typeof n==`string`?n:inspect(n)).replaceAll(` `,` `.repeat($C)),$C=2}),logCommand,tw=__esmMin(()=>{wC(),ew(),logCommand=(n,a)=>{isVerbose(a)&&verboseLog({type:`command`,verboseMessage:n,verboseInfo:a})}}),getVerboseInfo,getCommandId,nw,validateVerbose,rw=__esmMin(()=>{wC(),getVerboseInfo=(n,a,S)=>(validateVerbose(n),{verbose:n,escapedCommand:a,commandId:getCommandId(n),rawOptions:S}),getCommandId=n=>isVerbose({verbose:n})?nw++:void 0,nw=0n,validateVerbose=n=>{for(let a of n){if(a===!1)throw TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(a===!0)throw TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!CC.includes(a)&&!isVerboseFunction(a)){let n=CC.map(n=>`'${n}'`).join(`, `);throw TypeError(`The "verbose" option must not be ${a}. Allowed values are: ${n} or a function.`)}}}}),getStartTime,getDurationMs,iw=__esmMin(()=>{sn(),getStartTime=()=>nn.bigint(),getDurationMs=n=>Number(nn.bigint()-n)/1e6}),handleCommand,aw=__esmMin(()=>{tw(),rw(),iw(),kC(),SC(),handleCommand=(n,a,S)=>{let C=getStartTime(),{command:N,escapedCommand:F}=joinCommand(n,a),I=getVerboseInfo(normalizeFdSpecificOption(S,`verbose`),F,{...S});return logCommand(F,I),{command:N,escapedCommand:F,startTime:C,verboseInfo:I}}}),ow=__commonJSMin$1(((n,a)=>{a.exports=isexe,isexe.sync=sync;var S=(Zc(),__toCommonJS(Jc));function checkPathExt(n,a){var S=a.pathExt===void 0?process.env.PATHEXT:a.pathExt;if(!S||(S=S.split(`;`),S.indexOf(``)!==-1))return!0;for(var C=0;C<S.length;C++){var N=S[C].toLowerCase();if(N&&n.substr(-N.length).toLowerCase()===N)return!0}return!1}function checkStat(n,a,S){return!n.isSymbolicLink()&&!n.isFile()?!1:checkPathExt(a,S)}function isexe(n,a,C){S.stat(n,function(S,N){C(S,S?!1:checkStat(N,n,a))})}function sync(n,a){return checkStat(S.statSync(n),n,a)}})),sw=__commonJSMin$1(((n,a)=>{a.exports=isexe,isexe.sync=sync;var S=(Zc(),__toCommonJS(Jc));function isexe(n,a,C){S.stat(n,function(n,S){C(n,n?!1:checkStat(S,a))})}function sync(n,a){return checkStat(S.statSync(n),a)}function checkStat(n,a){return n.isFile()&&checkMode(n,a)}function checkMode(n,a){var S=n.mode,C=n.uid,N=n.gid,F=a.uid===void 0?process.getuid&&process.getuid():a.uid,I=a.gid===void 0?process.getgid&&process.getgid():a.gid,H=64,W=8,K=1,q=H|W;return S&K||S&W&&N===I||S&H&&C===F||S&q&&F===0}})),cw=__commonJSMin$1(((n,a)=>{Zc();var S=process.platform===`win32`||globalThis.TESTING_WINDOWS?ow():sw();a.exports=isexe,isexe.sync=sync;function isexe(n,a,C){if(typeof a==`function`&&(C=a,a={}),!C){if(typeof Promise!=`function`)throw TypeError(`callback not provided`);return new Promise(function(S,C){isexe(n,a||{},function(n,a){n?C(n):S(a)})})}S(n,a||{},function(n,S){n&&(n.code===`EACCES`||a&&a.ignoreErrors)&&(n=null,S=!1),C(n,S)})}function sync(n,a){try{return S.sync(n,a||{})}catch(n){if(a&&a.ignoreErrors||n.code===`EACCES`)return!1;throw n}}})),lw=__commonJSMin$1(((n,a)=>{let S=process.platform===`win32`||process.env.OSTYPE===`cygwin`||process.env.OSTYPE===`msys`,C=(ps(),__toCommonJS(Qo)),N=S?`;`:`:`,F=cw(),getNotFoundError=n=>Object.assign(Error(`not found: ${n}`),{code:`ENOENT`}),getPathInfo=(n,a)=>{let C=a.colon||N,F=n.match(/\//)||S&&n.match(/\\/)?[``]:[...S?[process.cwd()]:[],...(a.path||process.env.PATH||``).split(C)],I=S?a.pathExt||process.env.PATHEXT||`.EXE;.CMD;.BAT;.COM`:``,H=S?I.split(C):[``];return S&&n.indexOf(`.`)!==-1&&H[0]!==``&&H.unshift(``),{pathEnv:F,pathExt:H,pathExtExe:I}},which=(n,a,S)=>{typeof a==`function`&&(S=a,a={}),a||={};let{pathEnv:N,pathExt:I,pathExtExe:H}=getPathInfo(n,a),W=[],step=S=>new Promise((F,I)=>{if(S===N.length)return a.all&&W.length?F(W):I(getNotFoundError(n));let H=N[S],K=/^".*"$/.test(H)?H.slice(1,-1):H,q=C.join(K,n);F(subStep(!K&&/^\.[\\\/]/.test(n)?n.slice(0,2)+q:q,S,0))}),subStep=(n,S,C)=>new Promise((N,K)=>{if(C===I.length)return N(step(S+1));let q=I[C];F(n+q,{pathExt:H},(F,I)=>{if(!F&&I)if(a.all)W.push(n+q);else return N(n+q);return N(subStep(n,S,C+1))})});return S?step(0).then(n=>S(null,n),S):step(0)},whichSync=(n,a)=>{a||={};let{pathEnv:S,pathExt:N,pathExtExe:I}=getPathInfo(n,a),H=[];for(let W=0;W<S.length;W++){let K=S[W],q=/^".*"$/.test(K)?K.slice(1,-1):K,Y=C.join(q,n),X=!q&&/^\.[\\\/]/.test(n)?n.slice(0,2)+Y:Y;for(let n=0;n<N.length;n++){let S=X+N[n];try{if(F.sync(S,{pathExt:I}))if(a.all)H.push(S);else return S}catch{}}}if(a.all&&H.length)return H;if(a.nothrow)return null;throw getNotFoundError(n)};a.exports=which,which.sync=whichSync})),uw=__commonJSMin$1(((n,a)=>{let pathKey=(n={})=>{let a=n.env||process.env;return(n.platform||process.platform)===`win32`?Object.keys(a).reverse().find(n=>n.toUpperCase()===`PATH`)||`Path`:`PATH`};a.exports=pathKey,a.exports.default=pathKey})),dw=__commonJSMin$1(((n,a)=>{let S=(ps(),__toCommonJS(Qo)),C=lw(),N=uw();function resolveCommandAttempt(n,a){let F=n.options.env||process.env,I=process.cwd(),H=n.options.cwd!=null,W=H&&process.chdir!==void 0&&!process.chdir.disabled;if(W)try{process.chdir(n.options.cwd)}catch{}let K;try{K=C.sync(n.command,{path:F[N({env:F})],pathExt:a?S.delimiter:void 0})}catch{}finally{W&&process.chdir(I)}return K&&=S.resolve(H?n.options.cwd:``,K),K}function resolveCommand(n){return resolveCommandAttempt(n)||resolveCommandAttempt(n,!0)}a.exports=resolveCommand})),fw=__commonJSMin$1(((n,a)=>{let S=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(n){return n=n.replace(S,`^$1`),n}function escapeArgument(n,a){return n=`${n}`,n=n.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`),n=n.replace(/(?=(\\+?)?)\1$/,`$1$1`),n=`"${n}"`,n=n.replace(S,`^$1`),a&&(n=n.replace(S,`^$1`)),n}a.exports.command=escapeCommand,a.exports.argument=escapeArgument})),pw=__commonJSMin$1(((n,a)=>{a.exports=/^#!(.*)/})),mw=__commonJSMin$1(((n,a)=>{let S=pw();a.exports=(n=``)=>{let a=n.match(S);if(!a)return null;let[C,N]=a[0].replace(/#! ?/,``).split(` `),F=C.split(`/`).pop();return F===`env`?N:N?`${F} ${N}`:F}})),hw=__commonJSMin$1(((n,a)=>{let S=(Zc(),__toCommonJS(Jc)),C=mw();function readShebang(n){let a=Buffer.alloc(150),N;try{N=S.openSync(n,`r`),S.readSync(N,a,0,150,0),S.closeSync(N)}catch{}return C(a.toString())}a.exports=readShebang})),gw=__commonJSMin$1(((n,a)=>{let S=(ps(),__toCommonJS(Qo)),C=dw(),N=fw(),F=hw(),I=process.platform===`win32`,H=/\.(?:com|exe)$/i,W=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(n){n.file=C(n);let a=n.file&&F(n.file);return a?(n.args.unshift(n.file),n.command=a,C(n)):n.file}function parseNonShell(n){if(!I)return n;let a=detectShebang(n),C=!H.test(a);if(n.options.forceShell||C){let C=W.test(a);n.command=S.normalize(n.command),n.command=N.command(n.command),n.args=n.args.map(n=>N.argument(n,C)),n.args=[`/d`,`/s`,`/c`,`"${[n.command].concat(n.args).join(` `)}"`],n.command=process.env.comspec||`cmd.exe`,n.options.windowsVerbatimArguments=!0}return n}function parse(n,a,S){a&&!Array.isArray(a)&&(S=a,a=null),a=a?a.slice(0):[],S=Object.assign({},S);let C={command:n,args:a,options:S,file:void 0,original:{command:n,args:a}};return S.shell?C:parseNonShell(C)}a.exports=parse})),_w=__commonJSMin$1(((n,a)=>{let S=process.platform===`win32`;function notFoundError(n,a){return Object.assign(Error(`${a} ${n.command} ENOENT`),{code:`ENOENT`,errno:`ENOENT`,syscall:`${a} ${n.command}`,path:n.command,spawnargs:n.args})}function hookChildProcess(n,a){if(!S)return;let C=n.emit;n.emit=function(S,N){if(S===`exit`){let S=verifyENOENT(N,a);if(S)return C.call(n,`error`,S)}return C.apply(n,arguments)}}function verifyENOENT(n,a){return S&&n===1&&!a.file?notFoundError(a.original,`spawn`):null}function verifyENOENTSync(n,a){return S&&n===1&&!a.file?notFoundError(a.original,`spawnSync`):null}a.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError}})),vw=__commonJSMin$1(((n,a)=>{let S=(sC(),__toCommonJS(iC)),C=gw(),N=_w();function spawn(n,a,F){let I=C(n,a,F),H=S.spawn(I.command,I.args,I.options);return N.hookChildProcess(H,I),H}function spawnSync(n,a,F){let I=C(n,a,F),H=S.spawnSync(I.command,I.args,I.options);return H.error=H.error||N.verifyENOENTSync(H.status,I),H}a.exports=spawn,a.exports.spawn=spawn,a.exports.sync=spawnSync,a.exports._parse=C,a.exports._enoent=N}));function pathKey(n={}){let{env:a=process.env,platform:S=process.platform}=n;return S===`win32`?Object.keys(a).reverse().find(n=>n.toUpperCase()===`PATH`)||`Path`:`PATH`}var yw=__esmMin(()=>{});function toPath(n){return n instanceof URL?fileURLToPath(n):n}function traversePathUp(n){return{*[Symbol.iterator](){let a=fs.resolve(toPath(n)),S;for(;S!==a;)yield a,S=a,a=fs.resolve(a,`..`)}}}var bw=__esmMin(()=>{tc(),sC(),ps(),mn(),promisify(execFile)}),npmRunPath,applyPreferLocal,applyExecPath,npmRunPathEnv,xw=__esmMin(()=>{sn(),ps(),yw(),bw(),npmRunPath=({cwd:n=$t.cwd(),path:a=$t.env[pathKey()],preferLocal:S=!0,execPath:C=$t.execPath,addExecPath:N=!0}={})=>{let F=fs.resolve(toPath(n)),I=[],H=a.split(fs.delimiter);return S&&applyPreferLocal(I,H,F),N&&applyExecPath(I,H,C,F),a===``||a===fs.delimiter?`${I.join(fs.delimiter)}${a}`:[...I,a].join(fs.delimiter)},applyPreferLocal=(n,a,S)=>{for(let C of traversePathUp(S)){let S=fs.join(C,`node_modules/.bin`);a.includes(S)||n.push(S)}},applyExecPath=(n,a,S,C)=>{let N=fs.resolve(C,toPath(S),`..`);a.includes(N)||n.push(N)},npmRunPathEnv=({env:n=$t.env,...a}={})=>{n={...n};let S=pathKey({env:n});return a.path=n[S],n[S]=npmRunPath(a),n}}),Timeout,Sw=__esmMin(()=>{Timeout=class{_id;_ref=!0;_callback;_delay;_args;_isInterval;constructor(n,a,S,C){this._callback=n,this._delay=a,this._args=S,this._isInterval=C,C?this._id=setInterval(n,a,...S):this._id=setTimeout(n,a,...S)}ref(){return this._ref=!0,this}unref(){return this._ref=!1,this}hasRef(){return this._ref}refresh(){return this._id!=null&&(this._isInterval?(clearInterval(this._id),this._id=setInterval(this._callback,this._delay,...this._args)):(clearTimeout(this._id),this._id=setTimeout(this._callback,this._delay,...this._args))),this}close(){this._id!=null&&(this._isInterval?clearInterval(this._id):clearTimeout(this._id),this._id=null)}[Symbol.toPrimitive](){return this._id}}});function setTimeout$1(n=0,a,S){return new Promise((C,N)=>{if(S?.signal?.aborted){N(S.signal.reason??new DOMException(`The operation was aborted`,`AbortError`));return}let F=new Timeout(()=>{cleanup(),C(a)},n,[],!1);S?.ref===!1&&F.unref();let onAbort;function cleanup(){onAbort&&S?.signal&&S.signal.removeEventListener(`abort`,onAbort)}S?.signal&&(onAbort=()=>{F.close(),N(S.signal.reason??new DOMException(`The operation was aborted`,`AbortError`))},S.signal.addEventListener(`abort`,onAbort,{once:!0}))})}function setImmediate$1(n,a){return setTimeout$1(0,n,a)}var Cw,ww=__esmMin(()=>{Sw(),__name$1(setTimeout$1,`setTimeout`),__name$1(setImmediate$1,`setImmediate`),Cw={wait(n=1,a){return setTimeout$1(n,void 0,a)},yield(){return new Promise(n=>{queueMicrotask(n)})}}}),getFinalError,DiscardedError,setErrorName,isExecaError,Tw,isErrorInstance,ExecaError,ExecaSyncError,Ew=__esmMin(()=>{getFinalError=(n,a,S)=>new(S?ExecaSyncError:ExecaError)(a,n instanceof DiscardedError?{}:{cause:n}),DiscardedError=class extends Error{},setErrorName=(n,a)=>{Object.defineProperty(n.prototype,"name",{value:a,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,Tw,{value:!0,writable:!1,enumerable:!1,configurable:!1})},isExecaError=n=>isErrorInstance(n)&&Tw in n,Tw=Symbol(`isExecaError`),isErrorInstance=n=>Object.prototype.toString.call(n)===`[object Error]`,ExecaError=class extends Error{},setErrorName(ExecaError,ExecaError.name),ExecaSyncError=class extends Error{},setErrorName(ExecaSyncError,ExecaSyncError.name)}),getRealtimeSignals,getRealtimeSignal,Dw,Ow=__esmMin(()=>{getRealtimeSignals=()=>{let n=64-Dw+1;return Array.from({length:n},getRealtimeSignal)},getRealtimeSignal=(n,a)=>({name:`SIGRT${a+1}`,number:Dw+a,action:`terminate`,description:`Application-specific signal (realtime)`,standard:`posix`}),Dw=34}),Aw,jw=__esmMin(()=>{Aw=[{name:`SIGHUP`,number:1,action:`terminate`,description:`Terminal closed`,standard:`posix`},{name:`SIGINT`,number:2,action:`terminate`,description:`User interruption with CTRL-C`,standard:`ansi`},{name:`SIGQUIT`,number:3,action:`core`,description:`User interruption with CTRL-\\`,standard:`posix`},{name:`SIGILL`,number:4,action:`core`,description:`Invalid machine instruction`,standard:`ansi`},{name:`SIGTRAP`,number:5,action:`core`,description:`Debugger breakpoint`,standard:`posix`},{name:`SIGABRT`,number:6,action:`core`,description:`Aborted`,standard:`ansi`},{name:`SIGIOT`,number:6,action:`core`,description:`Aborted`,standard:`bsd`},{name:`SIGBUS`,number:7,action:`core`,description:`Bus error due to misaligned, non-existing address or paging error`,standard:`bsd`},{name:`SIGEMT`,number:7,action:`terminate`,description:`Command should be emulated but is not implemented`,standard:`other`},{name:`SIGFPE`,number:8,action:`core`,description:`Floating point arithmetic error`,standard:`ansi`},{name:`SIGKILL`,number:9,action:`terminate`,description:`Forced termination`,standard:`posix`,forced:!0},{name:`SIGUSR1`,number:10,action:`terminate`,description:`Application-specific signal`,standard:`posix`},{name:`SIGSEGV`,number:11,action:`core`,description:`Segmentation fault`,standard:`ansi`},{name:`SIGUSR2`,number:12,action:`terminate`,description:`Application-specific signal`,standard:`posix`},{name:`SIGPIPE`,number:13,action:`terminate`,description:`Broken pipe or socket`,standard:`posix`},{name:`SIGALRM`,number:14,action:`terminate`,description:`Timeout or timer`,standard:`posix`},{name:`SIGTERM`,number:15,action:`terminate`,description:`Termination`,standard:`ansi`},{name:`SIGSTKFLT`,number:16,action:`terminate`,description:`Stack is empty or overflowed`,standard:`other`},{name:`SIGCHLD`,number:17,action:`ignore`,description:`Child process terminated, paused or unpaused`,standard:`posix`},{name:`SIGCLD`,number:17,action:`ignore`,description:`Child process terminated, paused or unpaused`,standard:`other`},{name:`SIGCONT`,number:18,action:`unpause`,description:`Unpaused`,standard:`posix`,forced:!0},{name:`SIGSTOP`,number:19,action:`pause`,description:`Paused`,standard:`posix`,forced:!0},{name:`SIGTSTP`,number:20,action:`pause`,description:`Paused using CTRL-Z or "suspend"`,standard:`posix`},{name:`SIGTTIN`,number:21,action:`pause`,description:`Background process cannot read terminal input`,standard:`posix`},{name:`SIGBREAK`,number:21,action:`terminate`,description:`User interruption with CTRL-BREAK`,standard:`other`},{name:`SIGTTOU`,number:22,action:`pause`,description:`Background process cannot write to terminal output`,standard:`posix`},{name:`SIGURG`,number:23,action:`ignore`,description:`Socket received out-of-band data`,standard:`bsd`},{name:`SIGXCPU`,number:24,action:`core`,description:`Process timed out`,standard:`bsd`},{name:`SIGXFSZ`,number:25,action:`core`,description:`File too big`,standard:`bsd`},{name:`SIGVTALRM`,number:26,action:`terminate`,description:`Timeout or timer`,standard:`bsd`},{name:`SIGPROF`,number:27,action:`terminate`,description:`Timeout or timer`,standard:`bsd`},{name:`SIGWINCH`,number:28,action:`ignore`,description:`Terminal window size changed`,standard:`bsd`},{name:`SIGIO`,number:29,action:`terminate`,description:`I/O is available`,standard:`other`},{name:`SIGPOLL`,number:29,action:`terminate`,description:`Watched event`,standard:`other`},{name:`SIGINFO`,number:29,action:`ignore`,description:`Request for process information`,standard:`other`},{name:`SIGPWR`,number:30,action:`terminate`,description:`Device running out of power`,standard:`systemv`},{name:`SIGSYS`,number:31,action:`core`,description:`Invalid system call`,standard:`other`},{name:`SIGUNUSED`,number:31,action:`terminate`,description:`Invalid system call`,standard:`other`}]}),getSignals,Mw,Nw=__esmMin(()=>{Wp(),jw(),Ow(),getSignals=()=>{let n=getRealtimeSignals();return[...Aw,...n].map(Mw)},Mw=__name$1(({name:n,number:a,description:S,action:C,forced:N=!1,standard:F})=>{let{signals:{[n]:I}}=fp,H=I!==void 0;return{name:n,number:H?I:a,description:S,supported:H,action:C,forced:N,standard:F}},`normalizeSignal`)}),getSignalsByName,getSignalByName,Pw,getSignalsByNumber,getSignalByNumber,findSignalByNumber,Fw=__esmMin(()=>{Wp(),Ow(),Nw(),getSignalsByName=()=>{let n=getSignals();return Object.fromEntries(n.map(getSignalByName))},getSignalByName=({name:n,number:a,description:S,supported:C,action:N,forced:F,standard:I})=>[n,{name:n,number:a,description:S,supported:C,action:N,forced:F,standard:I}],Pw=getSignalsByName(),getSignalsByNumber=()=>{let n=getSignals(),a=Array.from({length:65},(a,S)=>getSignalByNumber(S,n));return Object.assign({},...a)},getSignalByNumber=(n,a)=>{let S=findSignalByNumber(n,a);if(S===void 0)return{};let{name:C,description:N,supported:F,action:I,forced:H,standard:W}=S;return{[n]:{name:C,number:n,description:N,supported:F,action:I,forced:H,standard:W}}},findSignalByNumber=(n,a)=>{let S=a.find(({name:a})=>fp.signals[a]===n);return S===void 0?a.find(a=>a.number===n):S},getSignalsByNumber()}),normalizeKillSignal,normalizeSignalArgument,normalizeSignal,normalizeSignalInteger,getSignalsIntegerToName,Iw,normalizeSignalName,getAvailableSignals,getAvailableSignalNames,getAvailableSignalIntegers,getSignalDescription,Lw=__esmMin(()=>{Wp(),Fw(),normalizeKillSignal=n=>{let a="option `killSignal`";if(n===0)throw TypeError(`Invalid ${a}: 0 cannot be used.`);return normalizeSignal(n,a)},normalizeSignalArgument=n=>n===0?n:normalizeSignal(n,"`subprocess.kill()`'s argument"),normalizeSignal=(n,a)=>{if(Number.isInteger(n))return normalizeSignalInteger(n,a);if(typeof n==`string`)return normalizeSignalName(n,a);throw TypeError(`Invalid ${a} ${String(n)}: it must be a string or an integer.\n${getAvailableSignals()}`)},normalizeSignalInteger=(n,a)=>{if(Iw.has(n))return Iw.get(n);throw TypeError(`Invalid ${a} ${n}: this signal integer does not exist.\n${getAvailableSignals()}`)},getSignalsIntegerToName=()=>new Map(Object.entries(fp.signals).reverse().map(([n,a])=>[a,n])),Iw=getSignalsIntegerToName(),normalizeSignalName=(n,a)=>{if(n in fp.signals)return n;throw n.toUpperCase()in fp.signals?TypeError(`Invalid ${a} '${n}': please rename it to '${n.toUpperCase()}'.`):TypeError(`Invalid ${a} '${n}': this signal name does not exist.\n${getAvailableSignals()}`)},getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}.
700
- Available signal numbers: ${getAvailableSignalIntegers()}.`,getAvailableSignalNames=()=>Object.keys(fp.signals).sort().map(n=>`'${n}'`).join(`, `),getAvailableSignalIntegers=()=>[...new Set(Object.values(fp.signals).sort((n,a)=>n-a))].join(`, `),getSignalDescription=n=>Pw[n].description}),normalizeForceKillAfterDelay,Rw,subprocessKill,parseKillArguments,emitKillError,setKillTimeout,killOnTimeout,zw=__esmMin(()=>{ww(),Ew(),Lw(),normalizeForceKillAfterDelay=n=>{if(n===!1)return n;if(n===!0)return Rw;if(!Number.isFinite(n)||n<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${n}\` (${typeof n})`);return n},Rw=1e3*5,subprocessKill=({kill:n,options:{forceKillAfterDelay:a,killSignal:S},onInternalError:C,context:N,controller:F},I,H)=>{let{signal:W,error:K}=parseKillArguments(I,H,S);emitKillError(K,C);let q=n(W);return setKillTimeout({kill:n,signal:W,forceKillAfterDelay:a,killSignal:S,killResult:q,context:N,controller:F}),q},parseKillArguments=(n,a,S)=>{let[C=S,N]=isErrorInstance(n)?[void 0,n]:[n,a];if(typeof C!=`string`&&!Number.isInteger(C))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(C)}`);if(N!==void 0&&!isErrorInstance(N))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${N}`);return{signal:normalizeSignalArgument(C),error:N}},emitKillError=(n,a)=>{n!==void 0&&a.reject(n)},setKillTimeout=async({kill:n,signal:a,forceKillAfterDelay:S,killSignal:C,killResult:N,context:F,controller:I})=>{a===C&&N&&killOnTimeout({kill:n,forceKillAfterDelay:S,context:F,controllerSignal:I.signal})},killOnTimeout=async({kill:n,forceKillAfterDelay:a,context:S,controllerSignal:C})=>{if(a!==!1)try{await setTimeout$1(a,void 0,{signal:C}),n(`SIGKILL`)&&(S.isForcefullyTerminated??=!0)}catch{}}}),onAbortedSignal,Bw=__esmMin(()=>{Kt(),onAbortedSignal=async(n,a)=>{n.aborted||await Vt(n,`abort`,{signal:a})}}),validateCancelSignal,throwOnCancel,terminateOnCancel,Vw=__esmMin(()=>{Bw(),validateCancelSignal=({cancelSignal:n})=>{if(n!==void 0&&Object.prototype.toString.call(n)!==`[object AbortSignal]`)throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(n)}`)},throwOnCancel=({subprocess:n,cancelSignal:a,gracefulCancel:S,context:C,controller:N})=>a===void 0||S?[]:[terminateOnCancel(n,a,C,N)],terminateOnCancel=async(n,a,S,{signal:C})=>{throw await onAbortedSignal(a,C),S.terminationReason??=`cancel`,n.kill(),a.reason}}),validateIpcMethod,validateIpcOption,validateConnection,throwOnEarlyDisconnect,throwOnStrictDeadlockError,getStrictResponseError,throwOnMissingStrict,throwOnStrictDisconnect,getAbortDisconnectError,throwOnMissingParent,handleEpipeError,handleSerializationError,isSerializationError,Hw,Uw,getMethodName,getNamespaceName,getOtherProcessName,disconnect,Ww=__esmMin(()=>{validateIpcMethod=({methodName:n,isSubprocess:a,ipc:S,isConnected:C})=>{validateIpcOption(n,a,S),validateConnection(n,a,C)},validateIpcOption=(n,a,S)=>{if(!S)throw Error(`${getMethodName(n,a)} can only be used if the \`ipc\` option is \`true\`.`)},validateConnection=(n,a,S)=>{if(!S)throw Error(`${getMethodName(n,a)} cannot be used: the ${getOtherProcessName(a)} has already exited or disconnected.`)},throwOnEarlyDisconnect=n=>{throw Error(`${getMethodName(`getOneMessage`,n)} could not complete: the ${getOtherProcessName(n)} exited or disconnected.`)},throwOnStrictDeadlockError=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} is sending a message too, instead of listening to incoming messages.
697
+ `),escapeControlCharacters=n=>n.replaceAll(EC,n=>escapeControlCharacter(n)),escapeControlCharacter=n=>{let a=DC[n];if(a!==void 0)return a;let S=n.codePointAt(0),C=S.toString(16);return S<=OC?`\\u${C.padStart(4,`0`)}`:`\\U${C}`},getSpecialCharRegExp=()=>{try{return RegExp(`\\p{Separator}|\\p{Other}`,`gu`)}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}},EC=getSpecialCharRegExp(),DC={" ":` `,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},OC=65535,quoteString=n=>kC.test(n)?n:en===`win32`?`"${n.replaceAll(`"`,`""`)}"`:`'${n.replaceAll(`'`,`'\\''`)}'`,kC=/^[\w./-]+$/});function isUnicodeSupported(){let{env:n}=$t,{TERM:a,TERM_PROGRAM:S}=n;return $t.platform===`win32`?!!n.WT_SESSION||!!n.TERMINUS_SUBLIME||n.ConEmuTask===`{cmd::Cmder}`||S===`Terminus-Sublime`||S===`vscode`||a===`xterm-256color`||a===`alacritty`||a===`rxvt-unicode`||a===`rxvt-unicode-256color`||n.TERMINAL_EMULATOR===`JetBrains-JediTerm`:a!==`linux`}var jC=__esmMin(()=>{sn()}),MC,NC,PC,FC,IC,LC,RC,zC=__esmMin(()=>{jC(),MC={circleQuestionMark:`(?)`,questionMarkPrefix:`(?)`,square:`█`,squareDarkShade:`▓`,squareMediumShade:`▒`,squareLightShade:`░`,squareTop:`▀`,squareBottom:`▄`,squareLeft:`▌`,squareRight:`▐`,squareCenter:`■`,bullet:`●`,dot:`․`,ellipsis:`…`,pointerSmall:`›`,triangleUp:`▲`,triangleUpSmall:`▴`,triangleDown:`▼`,triangleDownSmall:`▾`,triangleLeftSmall:`◂`,triangleRightSmall:`▸`,home:`⌂`,heart:`♥`,musicNote:`♪`,musicNoteBeamed:`♫`,arrowUp:`↑`,arrowDown:`↓`,arrowLeft:`←`,arrowRight:`→`,arrowLeftRight:`↔`,arrowUpDown:`↕`,almostEqual:`≈`,notEqual:`≠`,lessOrEqual:`≤`,greaterOrEqual:`≥`,identical:`≡`,infinity:`∞`,subscriptZero:`₀`,subscriptOne:`₁`,subscriptTwo:`₂`,subscriptThree:`₃`,subscriptFour:`₄`,subscriptFive:`₅`,subscriptSix:`₆`,subscriptSeven:`₇`,subscriptEight:`₈`,subscriptNine:`₉`,oneHalf:`½`,oneThird:`⅓`,oneQuarter:`¼`,oneFifth:`⅕`,oneSixth:`⅙`,oneEighth:`⅛`,twoThirds:`⅔`,twoFifths:`⅖`,threeQuarters:`¾`,threeFifths:`⅗`,threeEighths:`⅜`,fourFifths:`⅘`,fiveSixths:`⅚`,fiveEighths:`⅝`,sevenEighths:`⅞`,line:`─`,lineBold:`━`,lineDouble:`═`,lineDashed0:`┄`,lineDashed1:`┅`,lineDashed2:`┈`,lineDashed3:`┉`,lineDashed4:`╌`,lineDashed5:`╍`,lineDashed6:`╴`,lineDashed7:`╶`,lineDashed8:`╸`,lineDashed9:`╺`,lineDashed10:`╼`,lineDashed11:`╾`,lineDashed12:`−`,lineDashed13:`–`,lineDashed14:`‐`,lineDashed15:`⁃`,lineVertical:`│`,lineVerticalBold:`┃`,lineVerticalDouble:`║`,lineVerticalDashed0:`┆`,lineVerticalDashed1:`┇`,lineVerticalDashed2:`┊`,lineVerticalDashed3:`┋`,lineVerticalDashed4:`╎`,lineVerticalDashed5:`╏`,lineVerticalDashed6:`╵`,lineVerticalDashed7:`╷`,lineVerticalDashed8:`╹`,lineVerticalDashed9:`╻`,lineVerticalDashed10:`╽`,lineVerticalDashed11:`╿`,lineDownLeft:`┐`,lineDownLeftArc:`╮`,lineDownBoldLeftBold:`┓`,lineDownBoldLeft:`┒`,lineDownLeftBold:`┑`,lineDownDoubleLeftDouble:`╗`,lineDownDoubleLeft:`╖`,lineDownLeftDouble:`╕`,lineDownRight:`┌`,lineDownRightArc:`╭`,lineDownBoldRightBold:`┏`,lineDownBoldRight:`┎`,lineDownRightBold:`┍`,lineDownDoubleRightDouble:`╔`,lineDownDoubleRight:`╓`,lineDownRightDouble:`╒`,lineUpLeft:`┘`,lineUpLeftArc:`╯`,lineUpBoldLeftBold:`┛`,lineUpBoldLeft:`┚`,lineUpLeftBold:`┙`,lineUpDoubleLeftDouble:`╝`,lineUpDoubleLeft:`╜`,lineUpLeftDouble:`╛`,lineUpRight:`└`,lineUpRightArc:`╰`,lineUpBoldRightBold:`┗`,lineUpBoldRight:`┖`,lineUpRightBold:`┕`,lineUpDoubleRightDouble:`╚`,lineUpDoubleRight:`╙`,lineUpRightDouble:`╘`,lineUpDownLeft:`┤`,lineUpBoldDownBoldLeftBold:`┫`,lineUpBoldDownBoldLeft:`┨`,lineUpDownLeftBold:`┥`,lineUpBoldDownLeftBold:`┩`,lineUpDownBoldLeftBold:`┪`,lineUpDownBoldLeft:`┧`,lineUpBoldDownLeft:`┦`,lineUpDoubleDownDoubleLeftDouble:`╣`,lineUpDoubleDownDoubleLeft:`╢`,lineUpDownLeftDouble:`╡`,lineUpDownRight:`├`,lineUpBoldDownBoldRightBold:`┣`,lineUpBoldDownBoldRight:`┠`,lineUpDownRightBold:`┝`,lineUpBoldDownRightBold:`┡`,lineUpDownBoldRightBold:`┢`,lineUpDownBoldRight:`┟`,lineUpBoldDownRight:`┞`,lineUpDoubleDownDoubleRightDouble:`╠`,lineUpDoubleDownDoubleRight:`╟`,lineUpDownRightDouble:`╞`,lineDownLeftRight:`┬`,lineDownBoldLeftBoldRightBold:`┳`,lineDownLeftBoldRightBold:`┯`,lineDownBoldLeftRight:`┰`,lineDownBoldLeftBoldRight:`┱`,lineDownBoldLeftRightBold:`┲`,lineDownLeftRightBold:`┮`,lineDownLeftBoldRight:`┭`,lineDownDoubleLeftDoubleRightDouble:`╦`,lineDownDoubleLeftRight:`╥`,lineDownLeftDoubleRightDouble:`╤`,lineUpLeftRight:`┴`,lineUpBoldLeftBoldRightBold:`┻`,lineUpLeftBoldRightBold:`┷`,lineUpBoldLeftRight:`┸`,lineUpBoldLeftBoldRight:`┹`,lineUpBoldLeftRightBold:`┺`,lineUpLeftRightBold:`┶`,lineUpLeftBoldRight:`┵`,lineUpDoubleLeftDoubleRightDouble:`╩`,lineUpDoubleLeftRight:`╨`,lineUpLeftDoubleRightDouble:`╧`,lineUpDownLeftRight:`┼`,lineUpBoldDownBoldLeftBoldRightBold:`╋`,lineUpDownBoldLeftBoldRightBold:`╈`,lineUpBoldDownLeftBoldRightBold:`╇`,lineUpBoldDownBoldLeftRightBold:`╊`,lineUpBoldDownBoldLeftBoldRight:`╉`,lineUpBoldDownLeftRight:`╀`,lineUpDownBoldLeftRight:`╁`,lineUpDownLeftBoldRight:`┽`,lineUpDownLeftRightBold:`┾`,lineUpBoldDownBoldLeftRight:`╂`,lineUpDownLeftBoldRightBold:`┿`,lineUpBoldDownLeftBoldRight:`╃`,lineUpBoldDownLeftRightBold:`╄`,lineUpDownBoldLeftBoldRight:`╅`,lineUpDownBoldLeftRightBold:`╆`,lineUpDoubleDownDoubleLeftDoubleRightDouble:`╬`,lineUpDoubleDownDoubleLeftRight:`╫`,lineUpDownLeftDoubleRightDouble:`╪`,lineCross:`╳`,lineBackslash:`╲`,lineSlash:`╱`},NC={tick:`✔`,info:`ℹ`,warning:`⚠`,cross:`✘`,squareSmall:`◻`,squareSmallFilled:`◼`,circle:`◯`,circleFilled:`◉`,circleDotted:`◌`,circleDouble:`◎`,circleCircle:`ⓞ`,circleCross:`ⓧ`,circlePipe:`Ⓘ`,radioOn:`◉`,radioOff:`◯`,checkboxOn:`☒`,checkboxOff:`☐`,checkboxCircleOn:`ⓧ`,checkboxCircleOff:`Ⓘ`,pointer:`❯`,triangleUpOutline:`△`,triangleLeft:`◀`,triangleRight:`▶`,lozenge:`◆`,lozengeOutline:`◇`,hamburger:`☰`,smiley:`㋡`,mustache:`෴`,star:`★`,play:`▶`,nodejs:`⬢`,oneSeventh:`⅐`,oneNinth:`⅑`,oneTenth:`⅒`},PC={tick:`√`,info:`i`,warning:`‼`,cross:`×`,squareSmall:`□`,squareSmallFilled:`■`,circle:`( )`,circleFilled:`(*)`,circleDotted:`( )`,circleDouble:`( )`,circleCircle:`(○)`,circleCross:`(×)`,circlePipe:`(│)`,radioOn:`(*)`,radioOff:`( )`,checkboxOn:`[×]`,checkboxOff:`[ ]`,checkboxCircleOn:`(×)`,checkboxCircleOff:`( )`,pointer:`>`,triangleUpOutline:`∆`,triangleLeft:`◄`,triangleRight:`►`,lozenge:`♦`,lozengeOutline:`◊`,hamburger:`≡`,smiley:`☺`,mustache:`┌─┐`,star:`✶`,play:`►`,nodejs:`♦`,oneSeventh:`1/7`,oneNinth:`1/9`,oneTenth:`1/10`},FC={...MC,...NC},IC={...MC,...PC},LC=isUnicodeSupported(),RC=LC?FC:IC,Object.entries(NC)});function isatty(n){return n instanceof ReadStream||n instanceof WriteStream?isatty(n.fd):typeof n==`number`?Ot?Ot.Terminal.is_tty(n):Z.log_writer_supports_color(n):!1}var ReadStream,WriteStream,BC,VC=__esmMin(()=>{Ae(),oi(),se(),kt(),ReadStream=class extends ei{isRaw=!1;fd;constructor(n=0){super(),this.fd=n}get isTTY(){return isatty(this.fd)}setRawMode(n){return Ot&&Ot.Terminal.set_raw_mode(this.fd,n),this.isRaw!==n&&(this.isRaw=n,this.emit(`modeChange`)),this}},WriteStream=class extends ti{isRaw=!1;fd;_print=ke.log;_columns=80;_rows=24;constructor(n){super(),this.fd=n,this._detectSize()}get isTTY(){return isatty(this.fd)}get columns(){if(Ot){let[n,,a]=Ot.Terminal.get_size(this.fd);if(n&&a>0)return a}return this._columns}set columns(n){this._columns=n}get rows(){if(Ot){let[n,a]=Ot.Terminal.get_size(this.fd);if(n&&a>0)return a}return this._rows}set rows(n){this._rows=n}_detectSize(){if(Ot){let[n,a,S]=Ot.Terminal.get_size(this.fd);if(n&&S>0){this._columns=S,this._rows=a;return}}let n=globalThis.process?.env,a=parseInt(n?.COLUMNS||(Z===void 0?``:Z.getenv(`COLUMNS`))||`0`,10),S=parseInt(n?.LINES||(Z===void 0?``:Z.getenv(`LINES`))||`0`,10);a>0&&(this._columns=a),S>0&&(this._rows=S)}clearLine(n,a){let S;return S=n===-1?`\x1B[1K`:n===1?`\x1B[0K`:`\x1B[2K`,this.write(S,a)}clearScreenDown(n){return this.write(`\x1B[0J`,n)}cursorTo(n,a,S){typeof a==`function`&&(S=a,a=void 0);let C;return C=a==null?`\x1b[${n+1}G`:`\x1b[${a+1};${n+1}H`,this.write(C,S)}moveCursor(n,a,S){let C=``;return n>0?C+=`\x1b[${n}C`:n<0&&(C+=`\x1b[${-n}D`),a>0?C+=`\x1b[${a}B`:a<0&&(C+=`\x1b[${-a}A`),C.length===0?(S&&S(),!0):this.write(C,S)}getColorDepth(n){let a=n||globalThis.process?.env||{};if(`FORCE_COLOR`in a){let n=a.FORCE_COLOR;return n===`0`||n===`false`?1:n===`1`?4:n===`2`?8:n===`3`?24:4}if(`NO_COLOR`in a)return 1;let S=a.TERM||``,C=a.COLORTERM||``;return C===`truecolor`||C===`24bit`?24:S===`xterm-256color`||S.endsWith(`-256color`)?8:C?4:S===`dumb`?1:S.startsWith(`xterm`)||S.startsWith(`screen`)||S.startsWith(`vt100`)||S.startsWith(`linux`)?4:1}getWindowSize(){return[this.columns,this.rows]}hasColors(n,a){let S,C;switch(typeof n==`object`?(C=n,S=16):(S=n??16,C=a),this.getColorDepth(C)){case 1:return S>=2;case 4:return S>=16;case 8:return S>=256;case 24:return S>=16777216;default:return!1}}setRawMode(n){return Ot&&Ot.Terminal.set_raw_mode(this.fd,n),this.isRaw!==n&&(this.isRaw=n,this.emit(`modeChange`)),this}_write(n,a,S){this._print(a===`buffer`?n.toString(`utf-8`):n),S(null)}_changeColumns(n){n!==this._columns&&(this._columns=n,this.emit(`resize`))}_changeRows(n){n!==this._rows&&(this._rows=n,this.emit(`resize`))}},BC={isatty,WriteStream,ReadStream}}),HC,format,UC,WC,GC,KC,qC=__esmMin(()=>{VC(),HC=BC?.WriteStream?.prototype?.hasColors?.()??!1,format=(n,a)=>{if(!HC)return n=>n;let S=`\u001B[${n}m`,C=`\u001B[${a}m`;return n=>{let N=n+``,F=N.indexOf(C);if(F===-1)return S+N+C;let I=S,H=0,W=(a===22?C:``)+S;for(;F!==-1;)I+=N.slice(H,F)+W,H=F+C.length,F=N.indexOf(C,H);return I+=N.slice(H)+C,I}},format(0,0),UC=format(1,22),format(2,22),format(3,23),format(4,24),format(53,55),format(7,27),format(8,28),format(9,29),format(30,39),format(31,39),format(32,39),format(33,39),format(34,39),format(35,39),format(36,39),format(37,39),WC=format(90,39),format(40,49),format(41,49),format(42,49),format(43,49),format(44,49),format(45,49),format(46,49),format(47,49),format(100,49),GC=format(91,39),format(92,39),KC=format(93,39),format(94,39),format(95,39),format(96,39),format(97,39),format(101,49),format(102,49),format(103,49),format(104,49),format(105,49),format(106,49),format(107,49)}),JC=__esmMin(()=>{qC()}),defaultVerboseFunction,serializeTimestamp,padField,getFinalIcon,YC,XC,ZC,QC=__esmMin(()=>{zC(),JC(),defaultVerboseFunction=({type:n,message:a,timestamp:S,piped:C,commandId:N,result:{failed:F=!1}={},options:{reject:I=!0}})=>{let H=serializeTimestamp(S),W=YC[n]({failed:F,reject:I,piped:C}),K=ZC[n]({reject:I});return`${WC(`[${H}]`)} ${WC(`[${N}]`)} ${K(W)} ${K(a)}`},serializeTimestamp=n=>`${padField(n.getHours(),2)}:${padField(n.getMinutes(),2)}:${padField(n.getSeconds(),2)}.${padField(n.getMilliseconds(),3)}`,padField=(n,a)=>String(n).padStart(a,`0`),getFinalIcon=({failed:n,reject:a})=>n?a?RC.cross:RC.warning:RC.tick,YC={command:({piped:n})=>n?`|`:`$`,output:()=>` `,ipc:()=>`*`,error:getFinalIcon,duration:getFinalIcon},XC=__name$1(n=>n,`identity`),ZC={command:()=>UC,output:()=>XC,ipc:()=>XC,error:({reject:n})=>n?GC:KC,duration:()=>WC}}),applyVerboseOnLines,applyVerboseFunction,appendNewline,$C=__esmMin(()=>{TC(),applyVerboseOnLines=(n,a,S)=>{let C=getVerboseFunction(a,S);return n.map(({verboseLine:n,verboseObject:a})=>applyVerboseFunction(n,a,C)).filter(n=>n!==void 0).map(n=>appendNewline(n)).join(``)},applyVerboseFunction=(n,a,S)=>{if(S===void 0)return n;let C=S(n,a);if(typeof C==`string`)return C},appendNewline=n=>n.endsWith(`
698
+ `)?n:`${n}\n`}),verboseLog,getVerboseObject,getPrintedLines,getPrintedLine,serializeVerboseMessage,ew,tw=__esmMin(()=>{Ae(),tc(),AC(),QC(),$C(),verboseLog=({type:n,verboseMessage:a,fdNumber:S,verboseInfo:C,result:N})=>{let F=applyVerboseOnLines(getPrintedLines(a,getVerboseObject({type:n,result:N,verboseInfo:C})),C,S);F!==``&&ke.warn(F.slice(0,-1))},getVerboseObject=({type:n,result:a,verboseInfo:{escapedCommand:S,commandId:C,rawOptions:{piped:N=!1,...F}}})=>({type:n,escapedCommand:S,commandId:`${C}`,timestamp:new Date,piped:N,result:a,options:F}),getPrintedLines=(n,a)=>n.split(`
699
+ `).map(n=>getPrintedLine({...a,message:n})),getPrintedLine=n=>({verboseLine:defaultVerboseFunction(n),verboseObject:n}),serializeVerboseMessage=n=>escapeLines(typeof n==`string`?n:inspect(n)).replaceAll(` `,` `.repeat(ew)),ew=2}),logCommand,nw=__esmMin(()=>{TC(),tw(),logCommand=(n,a)=>{isVerbose(a)&&verboseLog({type:`command`,verboseMessage:n,verboseInfo:a})}}),getVerboseInfo,getCommandId,rw,validateVerbose,iw=__esmMin(()=>{TC(),getVerboseInfo=(n,a,S)=>(validateVerbose(n),{verbose:n,escapedCommand:a,commandId:getCommandId(n),rawOptions:S}),getCommandId=n=>isVerbose({verbose:n})?rw++:void 0,rw=0n,validateVerbose=n=>{for(let a of n){if(a===!1)throw TypeError(`The "verbose: false" option was renamed to "verbose: 'none'".`);if(a===!0)throw TypeError(`The "verbose: true" option was renamed to "verbose: 'short'".`);if(!wC.includes(a)&&!isVerboseFunction(a)){let n=wC.map(n=>`'${n}'`).join(`, `);throw TypeError(`The "verbose" option must not be ${a}. Allowed values are: ${n} or a function.`)}}}}),getStartTime,getDurationMs,aw=__esmMin(()=>{sn(),getStartTime=()=>nn.bigint(),getDurationMs=n=>Number(nn.bigint()-n)/1e6}),handleCommand,ow=__esmMin(()=>{nw(),iw(),aw(),AC(),CC(),handleCommand=(n,a,S)=>{let C=getStartTime(),{command:N,escapedCommand:F}=joinCommand(n,a),I=getVerboseInfo(normalizeFdSpecificOption(S,`verbose`),F,{...S});return logCommand(F,I),{command:N,escapedCommand:F,startTime:C,verboseInfo:I}}}),sw=__commonJSMin$1(((n,a)=>{a.exports=isexe,isexe.sync=sync;var S=(Zc(),__toCommonJS(Jc));function checkPathExt(n,a){var S=a.pathExt===void 0?process.env.PATHEXT:a.pathExt;if(!S||(S=S.split(`;`),S.indexOf(``)!==-1))return!0;for(var C=0;C<S.length;C++){var N=S[C].toLowerCase();if(N&&n.substr(-N.length).toLowerCase()===N)return!0}return!1}function checkStat(n,a,S){return!n.isSymbolicLink()&&!n.isFile()?!1:checkPathExt(a,S)}function isexe(n,a,C){S.stat(n,function(S,N){C(S,S?!1:checkStat(N,n,a))})}function sync(n,a){return checkStat(S.statSync(n),n,a)}})),cw=__commonJSMin$1(((n,a)=>{a.exports=isexe,isexe.sync=sync;var S=(Zc(),__toCommonJS(Jc));function isexe(n,a,C){S.stat(n,function(n,S){C(n,n?!1:checkStat(S,a))})}function sync(n,a){return checkStat(S.statSync(n),a)}function checkStat(n,a){return n.isFile()&&checkMode(n,a)}function checkMode(n,a){var S=n.mode,C=n.uid,N=n.gid,F=a.uid===void 0?process.getuid&&process.getuid():a.uid,I=a.gid===void 0?process.getgid&&process.getgid():a.gid,H=64,W=8,K=1,q=H|W;return S&K||S&W&&N===I||S&H&&C===F||S&q&&F===0}})),lw=__commonJSMin$1(((n,a)=>{Zc();var S=process.platform===`win32`||globalThis.TESTING_WINDOWS?sw():cw();a.exports=isexe,isexe.sync=sync;function isexe(n,a,C){if(typeof a==`function`&&(C=a,a={}),!C){if(typeof Promise!=`function`)throw TypeError(`callback not provided`);return new Promise(function(S,C){isexe(n,a||{},function(n,a){n?C(n):S(a)})})}S(n,a||{},function(n,S){n&&(n.code===`EACCES`||a&&a.ignoreErrors)&&(n=null,S=!1),C(n,S)})}function sync(n,a){try{return S.sync(n,a||{})}catch(n){if(a&&a.ignoreErrors||n.code===`EACCES`)return!1;throw n}}})),uw=__commonJSMin$1(((n,a)=>{let S=process.platform===`win32`||process.env.OSTYPE===`cygwin`||process.env.OSTYPE===`msys`,C=(ps(),__toCommonJS(Qo)),N=S?`;`:`:`,F=lw(),getNotFoundError=n=>Object.assign(Error(`not found: ${n}`),{code:`ENOENT`}),getPathInfo=(n,a)=>{let C=a.colon||N,F=n.match(/\//)||S&&n.match(/\\/)?[``]:[...S?[process.cwd()]:[],...(a.path||process.env.PATH||``).split(C)],I=S?a.pathExt||process.env.PATHEXT||`.EXE;.CMD;.BAT;.COM`:``,H=S?I.split(C):[``];return S&&n.indexOf(`.`)!==-1&&H[0]!==``&&H.unshift(``),{pathEnv:F,pathExt:H,pathExtExe:I}},which=(n,a,S)=>{typeof a==`function`&&(S=a,a={}),a||={};let{pathEnv:N,pathExt:I,pathExtExe:H}=getPathInfo(n,a),W=[],step=S=>new Promise((F,I)=>{if(S===N.length)return a.all&&W.length?F(W):I(getNotFoundError(n));let H=N[S],K=/^".*"$/.test(H)?H.slice(1,-1):H,q=C.join(K,n);F(subStep(!K&&/^\.[\\\/]/.test(n)?n.slice(0,2)+q:q,S,0))}),subStep=(n,S,C)=>new Promise((N,K)=>{if(C===I.length)return N(step(S+1));let q=I[C];F(n+q,{pathExt:H},(F,I)=>{if(!F&&I)if(a.all)W.push(n+q);else return N(n+q);return N(subStep(n,S,C+1))})});return S?step(0).then(n=>S(null,n),S):step(0)},whichSync=(n,a)=>{a||={};let{pathEnv:S,pathExt:N,pathExtExe:I}=getPathInfo(n,a),H=[];for(let W=0;W<S.length;W++){let K=S[W],q=/^".*"$/.test(K)?K.slice(1,-1):K,Y=C.join(q,n),X=!q&&/^\.[\\\/]/.test(n)?n.slice(0,2)+Y:Y;for(let n=0;n<N.length;n++){let S=X+N[n];try{if(F.sync(S,{pathExt:I}))if(a.all)H.push(S);else return S}catch{}}}if(a.all&&H.length)return H;if(a.nothrow)return null;throw getNotFoundError(n)};a.exports=which,which.sync=whichSync})),dw=__commonJSMin$1(((n,a)=>{let pathKey=(n={})=>{let a=n.env||process.env;return(n.platform||process.platform)===`win32`?Object.keys(a).reverse().find(n=>n.toUpperCase()===`PATH`)||`Path`:`PATH`};a.exports=pathKey,a.exports.default=pathKey})),fw=__commonJSMin$1(((n,a)=>{let S=(ps(),__toCommonJS(Qo)),C=uw(),N=dw();function resolveCommandAttempt(n,a){let F=n.options.env||process.env,I=process.cwd(),H=n.options.cwd!=null,W=H&&process.chdir!==void 0&&!process.chdir.disabled;if(W)try{process.chdir(n.options.cwd)}catch{}let K;try{K=C.sync(n.command,{path:F[N({env:F})],pathExt:a?S.delimiter:void 0})}catch{}finally{W&&process.chdir(I)}return K&&=S.resolve(H?n.options.cwd:``,K),K}function resolveCommand(n){return resolveCommandAttempt(n)||resolveCommandAttempt(n,!0)}a.exports=resolveCommand})),pw=__commonJSMin$1(((n,a)=>{let S=/([()\][%!^"`<>&|;, *?])/g;function escapeCommand(n){return n=n.replace(S,`^$1`),n}function escapeArgument(n,a){return n=`${n}`,n=n.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`),n=n.replace(/(?=(\\+?)?)\1$/,`$1$1`),n=`"${n}"`,n=n.replace(S,`^$1`),a&&(n=n.replace(S,`^$1`)),n}a.exports.command=escapeCommand,a.exports.argument=escapeArgument})),mw=__commonJSMin$1(((n,a)=>{a.exports=/^#!(.*)/})),hw=__commonJSMin$1(((n,a)=>{let S=mw();a.exports=(n=``)=>{let a=n.match(S);if(!a)return null;let[C,N]=a[0].replace(/#! ?/,``).split(` `),F=C.split(`/`).pop();return F===`env`?N:N?`${F} ${N}`:F}})),gw=__commonJSMin$1(((n,a)=>{let S=(Zc(),__toCommonJS(Jc)),C=hw();function readShebang(n){let a=Buffer.alloc(150),N;try{N=S.openSync(n,`r`),S.readSync(N,a,0,150,0),S.closeSync(N)}catch{}return C(a.toString())}a.exports=readShebang})),_w=__commonJSMin$1(((n,a)=>{let S=(ps(),__toCommonJS(Qo)),C=fw(),N=pw(),F=gw(),I=process.platform===`win32`,H=/\.(?:com|exe)$/i,W=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function detectShebang(n){n.file=C(n);let a=n.file&&F(n.file);return a?(n.args.unshift(n.file),n.command=a,C(n)):n.file}function parseNonShell(n){if(!I)return n;let a=detectShebang(n),C=!H.test(a);if(n.options.forceShell||C){let C=W.test(a);n.command=S.normalize(n.command),n.command=N.command(n.command),n.args=n.args.map(n=>N.argument(n,C)),n.args=[`/d`,`/s`,`/c`,`"${[n.command].concat(n.args).join(` `)}"`],n.command=process.env.comspec||`cmd.exe`,n.options.windowsVerbatimArguments=!0}return n}function parse(n,a,S){a&&!Array.isArray(a)&&(S=a,a=null),a=a?a.slice(0):[],S=Object.assign({},S);let C={command:n,args:a,options:S,file:void 0,original:{command:n,args:a}};return S.shell?C:parseNonShell(C)}a.exports=parse})),vw=__commonJSMin$1(((n,a)=>{let S=process.platform===`win32`;function notFoundError(n,a){return Object.assign(Error(`${a} ${n.command} ENOENT`),{code:`ENOENT`,errno:`ENOENT`,syscall:`${a} ${n.command}`,path:n.command,spawnargs:n.args})}function hookChildProcess(n,a){if(!S)return;let C=n.emit;n.emit=function(S,N){if(S===`exit`){let S=verifyENOENT(N,a);if(S)return C.call(n,`error`,S)}return C.apply(n,arguments)}}function verifyENOENT(n,a){return S&&n===1&&!a.file?notFoundError(a.original,`spawn`):null}function verifyENOENTSync(n,a){return S&&n===1&&!a.file?notFoundError(a.original,`spawnSync`):null}a.exports={hookChildProcess,verifyENOENT,verifyENOENTSync,notFoundError}})),yw=__commonJSMin$1(((n,a)=>{let S=(cC(),__toCommonJS(aC)),C=_w(),N=vw();function spawn(n,a,F){let I=C(n,a,F),H=S.spawn(I.command,I.args,I.options);return N.hookChildProcess(H,I),H}function spawnSync(n,a,F){let I=C(n,a,F),H=S.spawnSync(I.command,I.args,I.options);return H.error=H.error||N.verifyENOENTSync(H.status,I),H}a.exports=spawn,a.exports.spawn=spawn,a.exports.sync=spawnSync,a.exports._parse=C,a.exports._enoent=N}));function pathKey(n={}){let{env:a=process.env,platform:S=process.platform}=n;return S===`win32`?Object.keys(a).reverse().find(n=>n.toUpperCase()===`PATH`)||`Path`:`PATH`}var bw=__esmMin(()=>{});function toPath(n){return n instanceof URL?fileURLToPath(n):n}function traversePathUp(n){return{*[Symbol.iterator](){let a=fs.resolve(toPath(n)),S;for(;S!==a;)yield a,S=a,a=fs.resolve(a,`..`)}}}var xw=__esmMin(()=>{tc(),cC(),ps(),mn(),promisify(execFile)}),npmRunPath,applyPreferLocal,applyExecPath,npmRunPathEnv,Sw=__esmMin(()=>{sn(),ps(),bw(),xw(),npmRunPath=({cwd:n=$t.cwd(),path:a=$t.env[pathKey()],preferLocal:S=!0,execPath:C=$t.execPath,addExecPath:N=!0}={})=>{let F=fs.resolve(toPath(n)),I=[],H=a.split(fs.delimiter);return S&&applyPreferLocal(I,H,F),N&&applyExecPath(I,H,C,F),a===``||a===fs.delimiter?`${I.join(fs.delimiter)}${a}`:[...I,a].join(fs.delimiter)},applyPreferLocal=(n,a,S)=>{for(let C of traversePathUp(S)){let S=fs.join(C,`node_modules/.bin`);a.includes(S)||n.push(S)}},applyExecPath=(n,a,S,C)=>{let N=fs.resolve(C,toPath(S),`..`);a.includes(N)||n.push(N)},npmRunPathEnv=({env:n=$t.env,...a}={})=>{n={...n};let S=pathKey({env:n});return a.path=n[S],n[S]=npmRunPath(a),n}}),Timeout,Cw=__esmMin(()=>{Timeout=class{_id;_ref=!0;_callback;_delay;_args;_isInterval;constructor(n,a,S,C){this._callback=n,this._delay=a,this._args=S,this._isInterval=C,C?this._id=setInterval(n,a,...S):this._id=setTimeout(n,a,...S)}ref(){return this._ref=!0,this}unref(){return this._ref=!1,this}hasRef(){return this._ref}refresh(){return this._id!=null&&(this._isInterval?(clearInterval(this._id),this._id=setInterval(this._callback,this._delay,...this._args)):(clearTimeout(this._id),this._id=setTimeout(this._callback,this._delay,...this._args))),this}close(){this._id!=null&&(this._isInterval?clearInterval(this._id):clearTimeout(this._id),this._id=null)}[Symbol.toPrimitive](){return this._id}}});function setTimeout$1(n=0,a,S){return new Promise((C,N)=>{if(S?.signal?.aborted){N(S.signal.reason??new DOMException(`The operation was aborted`,`AbortError`));return}let F=new Timeout(()=>{cleanup(),C(a)},n,[],!1);S?.ref===!1&&F.unref();let onAbort;function cleanup(){onAbort&&S?.signal&&S.signal.removeEventListener(`abort`,onAbort)}S?.signal&&(onAbort=()=>{F.close(),N(S.signal.reason??new DOMException(`The operation was aborted`,`AbortError`))},S.signal.addEventListener(`abort`,onAbort,{once:!0}))})}function setImmediate$1(n,a){return setTimeout$1(0,n,a)}var ww,Tw=__esmMin(()=>{Cw(),__name$1(setTimeout$1,`setTimeout`),__name$1(setImmediate$1,`setImmediate`),ww={wait(n=1,a){return setTimeout$1(n,void 0,a)},yield(){return new Promise(n=>{queueMicrotask(n)})}}}),getFinalError,DiscardedError,setErrorName,isExecaError,Ew,isErrorInstance,ExecaError,ExecaSyncError,Dw=__esmMin(()=>{getFinalError=(n,a,S)=>new(S?ExecaSyncError:ExecaError)(a,n instanceof DiscardedError?{}:{cause:n}),DiscardedError=class extends Error{},setErrorName=(n,a)=>{Object.defineProperty(n.prototype,"name",{value:a,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,Ew,{value:!0,writable:!1,enumerable:!1,configurable:!1})},isExecaError=n=>isErrorInstance(n)&&Ew in n,Ew=Symbol(`isExecaError`),isErrorInstance=n=>Object.prototype.toString.call(n)===`[object Error]`,ExecaError=class extends Error{},setErrorName(ExecaError,ExecaError.name),ExecaSyncError=class extends Error{},setErrorName(ExecaSyncError,ExecaSyncError.name)}),getRealtimeSignals,getRealtimeSignal,Ow,Aw=__esmMin(()=>{getRealtimeSignals=()=>{let n=64-Ow+1;return Array.from({length:n},getRealtimeSignal)},getRealtimeSignal=(n,a)=>({name:`SIGRT${a+1}`,number:Ow+a,action:`terminate`,description:`Application-specific signal (realtime)`,standard:`posix`}),Ow=34}),jw,Mw=__esmMin(()=>{jw=[{name:`SIGHUP`,number:1,action:`terminate`,description:`Terminal closed`,standard:`posix`},{name:`SIGINT`,number:2,action:`terminate`,description:`User interruption with CTRL-C`,standard:`ansi`},{name:`SIGQUIT`,number:3,action:`core`,description:`User interruption with CTRL-\\`,standard:`posix`},{name:`SIGILL`,number:4,action:`core`,description:`Invalid machine instruction`,standard:`ansi`},{name:`SIGTRAP`,number:5,action:`core`,description:`Debugger breakpoint`,standard:`posix`},{name:`SIGABRT`,number:6,action:`core`,description:`Aborted`,standard:`ansi`},{name:`SIGIOT`,number:6,action:`core`,description:`Aborted`,standard:`bsd`},{name:`SIGBUS`,number:7,action:`core`,description:`Bus error due to misaligned, non-existing address or paging error`,standard:`bsd`},{name:`SIGEMT`,number:7,action:`terminate`,description:`Command should be emulated but is not implemented`,standard:`other`},{name:`SIGFPE`,number:8,action:`core`,description:`Floating point arithmetic error`,standard:`ansi`},{name:`SIGKILL`,number:9,action:`terminate`,description:`Forced termination`,standard:`posix`,forced:!0},{name:`SIGUSR1`,number:10,action:`terminate`,description:`Application-specific signal`,standard:`posix`},{name:`SIGSEGV`,number:11,action:`core`,description:`Segmentation fault`,standard:`ansi`},{name:`SIGUSR2`,number:12,action:`terminate`,description:`Application-specific signal`,standard:`posix`},{name:`SIGPIPE`,number:13,action:`terminate`,description:`Broken pipe or socket`,standard:`posix`},{name:`SIGALRM`,number:14,action:`terminate`,description:`Timeout or timer`,standard:`posix`},{name:`SIGTERM`,number:15,action:`terminate`,description:`Termination`,standard:`ansi`},{name:`SIGSTKFLT`,number:16,action:`terminate`,description:`Stack is empty or overflowed`,standard:`other`},{name:`SIGCHLD`,number:17,action:`ignore`,description:`Child process terminated, paused or unpaused`,standard:`posix`},{name:`SIGCLD`,number:17,action:`ignore`,description:`Child process terminated, paused or unpaused`,standard:`other`},{name:`SIGCONT`,number:18,action:`unpause`,description:`Unpaused`,standard:`posix`,forced:!0},{name:`SIGSTOP`,number:19,action:`pause`,description:`Paused`,standard:`posix`,forced:!0},{name:`SIGTSTP`,number:20,action:`pause`,description:`Paused using CTRL-Z or "suspend"`,standard:`posix`},{name:`SIGTTIN`,number:21,action:`pause`,description:`Background process cannot read terminal input`,standard:`posix`},{name:`SIGBREAK`,number:21,action:`terminate`,description:`User interruption with CTRL-BREAK`,standard:`other`},{name:`SIGTTOU`,number:22,action:`pause`,description:`Background process cannot write to terminal output`,standard:`posix`},{name:`SIGURG`,number:23,action:`ignore`,description:`Socket received out-of-band data`,standard:`bsd`},{name:`SIGXCPU`,number:24,action:`core`,description:`Process timed out`,standard:`bsd`},{name:`SIGXFSZ`,number:25,action:`core`,description:`File too big`,standard:`bsd`},{name:`SIGVTALRM`,number:26,action:`terminate`,description:`Timeout or timer`,standard:`bsd`},{name:`SIGPROF`,number:27,action:`terminate`,description:`Timeout or timer`,standard:`bsd`},{name:`SIGWINCH`,number:28,action:`ignore`,description:`Terminal window size changed`,standard:`bsd`},{name:`SIGIO`,number:29,action:`terminate`,description:`I/O is available`,standard:`other`},{name:`SIGPOLL`,number:29,action:`terminate`,description:`Watched event`,standard:`other`},{name:`SIGINFO`,number:29,action:`ignore`,description:`Request for process information`,standard:`other`},{name:`SIGPWR`,number:30,action:`terminate`,description:`Device running out of power`,standard:`systemv`},{name:`SIGSYS`,number:31,action:`core`,description:`Invalid system call`,standard:`other`},{name:`SIGUNUSED`,number:31,action:`terminate`,description:`Invalid system call`,standard:`other`}]}),getSignals,Nw,Pw=__esmMin(()=>{Wp(),Mw(),Aw(),getSignals=()=>{let n=getRealtimeSignals();return[...jw,...n].map(Nw)},Nw=__name$1(({name:n,number:a,description:S,action:C,forced:N=!1,standard:F})=>{let{signals:{[n]:I}}=fp,H=I!==void 0;return{name:n,number:H?I:a,description:S,supported:H,action:C,forced:N,standard:F}},`normalizeSignal`)}),getSignalsByName,getSignalByName,Fw,getSignalsByNumber,getSignalByNumber,findSignalByNumber,Iw=__esmMin(()=>{Wp(),Aw(),Pw(),getSignalsByName=()=>{let n=getSignals();return Object.fromEntries(n.map(getSignalByName))},getSignalByName=({name:n,number:a,description:S,supported:C,action:N,forced:F,standard:I})=>[n,{name:n,number:a,description:S,supported:C,action:N,forced:F,standard:I}],Fw=getSignalsByName(),getSignalsByNumber=()=>{let n=getSignals(),a=Array.from({length:65},(a,S)=>getSignalByNumber(S,n));return Object.assign({},...a)},getSignalByNumber=(n,a)=>{let S=findSignalByNumber(n,a);if(S===void 0)return{};let{name:C,description:N,supported:F,action:I,forced:H,standard:W}=S;return{[n]:{name:C,number:n,description:N,supported:F,action:I,forced:H,standard:W}}},findSignalByNumber=(n,a)=>{let S=a.find(({name:a})=>fp.signals[a]===n);return S===void 0?a.find(a=>a.number===n):S},getSignalsByNumber()}),normalizeKillSignal,normalizeSignalArgument,normalizeSignal,normalizeSignalInteger,getSignalsIntegerToName,Lw,normalizeSignalName,getAvailableSignals,getAvailableSignalNames,getAvailableSignalIntegers,getSignalDescription,Rw=__esmMin(()=>{Wp(),Iw(),normalizeKillSignal=n=>{let a="option `killSignal`";if(n===0)throw TypeError(`Invalid ${a}: 0 cannot be used.`);return normalizeSignal(n,a)},normalizeSignalArgument=n=>n===0?n:normalizeSignal(n,"`subprocess.kill()`'s argument"),normalizeSignal=(n,a)=>{if(Number.isInteger(n))return normalizeSignalInteger(n,a);if(typeof n==`string`)return normalizeSignalName(n,a);throw TypeError(`Invalid ${a} ${String(n)}: it must be a string or an integer.\n${getAvailableSignals()}`)},normalizeSignalInteger=(n,a)=>{if(Lw.has(n))return Lw.get(n);throw TypeError(`Invalid ${a} ${n}: this signal integer does not exist.\n${getAvailableSignals()}`)},getSignalsIntegerToName=()=>new Map(Object.entries(fp.signals).reverse().map(([n,a])=>[a,n])),Lw=getSignalsIntegerToName(),normalizeSignalName=(n,a)=>{if(n in fp.signals)return n;throw n.toUpperCase()in fp.signals?TypeError(`Invalid ${a} '${n}': please rename it to '${n.toUpperCase()}'.`):TypeError(`Invalid ${a} '${n}': this signal name does not exist.\n${getAvailableSignals()}`)},getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}.
700
+ Available signal numbers: ${getAvailableSignalIntegers()}.`,getAvailableSignalNames=()=>Object.keys(fp.signals).sort().map(n=>`'${n}'`).join(`, `),getAvailableSignalIntegers=()=>[...new Set(Object.values(fp.signals).sort((n,a)=>n-a))].join(`, `),getSignalDescription=n=>Fw[n].description}),normalizeForceKillAfterDelay,zw,subprocessKill,parseKillArguments,emitKillError,setKillTimeout,killOnTimeout,Bw=__esmMin(()=>{Tw(),Dw(),Rw(),normalizeForceKillAfterDelay=n=>{if(n===!1)return n;if(n===!0)return zw;if(!Number.isFinite(n)||n<0)throw TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${n}\` (${typeof n})`);return n},zw=1e3*5,subprocessKill=({kill:n,options:{forceKillAfterDelay:a,killSignal:S},onInternalError:C,context:N,controller:F},I,H)=>{let{signal:W,error:K}=parseKillArguments(I,H,S);emitKillError(K,C);let q=n(W);return setKillTimeout({kill:n,signal:W,forceKillAfterDelay:a,killSignal:S,killResult:q,context:N,controller:F}),q},parseKillArguments=(n,a,S)=>{let[C=S,N]=isErrorInstance(n)?[void 0,n]:[n,a];if(typeof C!=`string`&&!Number.isInteger(C))throw TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(C)}`);if(N!==void 0&&!isErrorInstance(N))throw TypeError(`The second argument is optional. If specified, it must be an error instance: ${N}`);return{signal:normalizeSignalArgument(C),error:N}},emitKillError=(n,a)=>{n!==void 0&&a.reject(n)},setKillTimeout=async({kill:n,signal:a,forceKillAfterDelay:S,killSignal:C,killResult:N,context:F,controller:I})=>{a===C&&N&&killOnTimeout({kill:n,forceKillAfterDelay:S,context:F,controllerSignal:I.signal})},killOnTimeout=async({kill:n,forceKillAfterDelay:a,context:S,controllerSignal:C})=>{if(a!==!1)try{await setTimeout$1(a,void 0,{signal:C}),n(`SIGKILL`)&&(S.isForcefullyTerminated??=!0)}catch{}}}),onAbortedSignal,Vw=__esmMin(()=>{Kt(),onAbortedSignal=async(n,a)=>{n.aborted||await Vt(n,`abort`,{signal:a})}}),validateCancelSignal,throwOnCancel,terminateOnCancel,Hw=__esmMin(()=>{Vw(),validateCancelSignal=({cancelSignal:n})=>{if(n!==void 0&&Object.prototype.toString.call(n)!==`[object AbortSignal]`)throw Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(n)}`)},throwOnCancel=({subprocess:n,cancelSignal:a,gracefulCancel:S,context:C,controller:N})=>a===void 0||S?[]:[terminateOnCancel(n,a,C,N)],terminateOnCancel=async(n,a,S,{signal:C})=>{throw await onAbortedSignal(a,C),S.terminationReason??=`cancel`,n.kill(),a.reason}}),validateIpcMethod,validateIpcOption,validateConnection,throwOnEarlyDisconnect,throwOnStrictDeadlockError,getStrictResponseError,throwOnMissingStrict,throwOnStrictDisconnect,getAbortDisconnectError,throwOnMissingParent,handleEpipeError,handleSerializationError,isSerializationError,Uw,Ww,getMethodName,getNamespaceName,getOtherProcessName,disconnect,Gw=__esmMin(()=>{validateIpcMethod=({methodName:n,isSubprocess:a,ipc:S,isConnected:C})=>{validateIpcOption(n,a,S),validateConnection(n,a,C)},validateIpcOption=(n,a,S)=>{if(!S)throw Error(`${getMethodName(n,a)} can only be used if the \`ipc\` option is \`true\`.`)},validateConnection=(n,a,S)=>{if(!S)throw Error(`${getMethodName(n,a)} cannot be used: the ${getOtherProcessName(a)} has already exited or disconnected.`)},throwOnEarlyDisconnect=n=>{throw Error(`${getMethodName(`getOneMessage`,n)} could not complete: the ${getOtherProcessName(n)} exited or disconnected.`)},throwOnStrictDeadlockError=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} is sending a message too, instead of listening to incoming messages.
701
701
  This can be fixed by both sending a message and listening to incoming messages at the same time:
702
702
 
703
703
  const [receivedMessage] = await Promise.all([
704
704
  ${getMethodName(`getOneMessage`,n)},
705
705
  ${getMethodName(`sendMessage`,n,`message, {strict: true}`)},
706
- ]);`)},getStrictResponseError=(n,a)=>Error(`${getMethodName(`sendMessage`,a)} failed when sending an acknowledgment response to the ${getOtherProcessName(a)}.`,{cause:n}),throwOnMissingStrict=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} is not listening to incoming messages.`)},throwOnStrictDisconnect=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} exited without listening to incoming messages.`)},getAbortDisconnectError=()=>Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(!0)} disconnected.`),throwOnMissingParent=()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},handleEpipeError=({error:n,methodName:a,isSubprocess:S})=>{if(n.code===`EPIPE`)throw Error(`${getMethodName(a,S)} cannot be used: the ${getOtherProcessName(S)} is disconnecting.`,{cause:n})},handleSerializationError=({error:n,methodName:a,isSubprocess:S,message:C})=>{if(isSerializationError(n))throw Error(`${getMethodName(a,S)}'s argument type is invalid: the message cannot be serialized: ${String(C)}.`,{cause:n})},isSerializationError=({code:n,message:a})=>Hw.has(n)||Uw.some(n=>a.includes(n)),Hw=new Set([`ERR_MISSING_ARGS`,`ERR_INVALID_ARG_TYPE`]),Uw=[`could not be cloned`,`circular structure`,`call stack size exceeded`],getMethodName=(n,a,S=``)=>n===`cancelSignal`?"`cancelSignal`'s `controller.abort()`":`${getNamespaceName(a)}${n}(${S})`,getNamespaceName=n=>n?``:`subprocess.`,getOtherProcessName=n=>n?`parent process`:`subprocess`,disconnect=n=>{n.connected&&n.disconnect()}}),createDeferred,Gw=__esmMin(()=>{createDeferred=()=>{let n={},a=new Promise((a,S)=>{Object.assign(n,{resolve:a,reject:S})});return Object.assign(a,n)}}),getToStream,getFromStream,Kw,getFdNumber,parseFdNumber,validateFdNumber,getInvalidStdioOptionMessage,getInvalidStdioOption,getUsedDescriptor,getOptionName,serializeOptionValue,qw=__esmMin(()=>{SC(),getToStream=(n,a=`stdin`)=>{let{options:S,fileDescriptors:C}=Kw.get(n),N=getFdNumber(C,a,!0),F=n.stdio[N];if(F===null)throw TypeError(getInvalidStdioOptionMessage(N,a,S,!0));return F},getFromStream=(n,a=`stdout`)=>{let{options:S,fileDescriptors:C}=Kw.get(n),N=getFdNumber(C,a,!1),F=N===`all`?n.all:n.stdio[N];if(F==null)throw TypeError(getInvalidStdioOptionMessage(N,a,S,!1));return F},Kw=new WeakMap,getFdNumber=(n,a,S)=>{let C=parseFdNumber(a,S);return validateFdNumber(C,a,S,n),C},parseFdNumber=(n,a)=>{let S=parseFd(n);if(S!==void 0)return S;let{validOptions:C,defaultValue:N}=a?{validOptions:`"stdin"`,defaultValue:`stdin`}:{validOptions:`"stdout", "stderr", "all"`,defaultValue:`stdout`};throw TypeError(`"${getOptionName(a)}" must not be "${n}".
706
+ ]);`)},getStrictResponseError=(n,a)=>Error(`${getMethodName(`sendMessage`,a)} failed when sending an acknowledgment response to the ${getOtherProcessName(a)}.`,{cause:n}),throwOnMissingStrict=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} is not listening to incoming messages.`)},throwOnStrictDisconnect=n=>{throw Error(`${getMethodName(`sendMessage`,n)} failed: the ${getOtherProcessName(n)} exited without listening to incoming messages.`)},getAbortDisconnectError=()=>Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(!0)} disconnected.`),throwOnMissingParent=()=>{throw Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")},handleEpipeError=({error:n,methodName:a,isSubprocess:S})=>{if(n.code===`EPIPE`)throw Error(`${getMethodName(a,S)} cannot be used: the ${getOtherProcessName(S)} is disconnecting.`,{cause:n})},handleSerializationError=({error:n,methodName:a,isSubprocess:S,message:C})=>{if(isSerializationError(n))throw Error(`${getMethodName(a,S)}'s argument type is invalid: the message cannot be serialized: ${String(C)}.`,{cause:n})},isSerializationError=({code:n,message:a})=>Uw.has(n)||Ww.some(n=>a.includes(n)),Uw=new Set([`ERR_MISSING_ARGS`,`ERR_INVALID_ARG_TYPE`]),Ww=[`could not be cloned`,`circular structure`,`call stack size exceeded`],getMethodName=(n,a,S=``)=>n===`cancelSignal`?"`cancelSignal`'s `controller.abort()`":`${getNamespaceName(a)}${n}(${S})`,getNamespaceName=n=>n?``:`subprocess.`,getOtherProcessName=n=>n?`parent process`:`subprocess`,disconnect=n=>{n.connected&&n.disconnect()}}),createDeferred,Kw=__esmMin(()=>{createDeferred=()=>{let n={},a=new Promise((a,S)=>{Object.assign(n,{resolve:a,reject:S})});return Object.assign(a,n)}}),getToStream,getFromStream,qw,getFdNumber,parseFdNumber,validateFdNumber,getInvalidStdioOptionMessage,getInvalidStdioOption,getUsedDescriptor,getOptionName,serializeOptionValue,Jw=__esmMin(()=>{CC(),getToStream=(n,a=`stdin`)=>{let{options:S,fileDescriptors:C}=qw.get(n),N=getFdNumber(C,a,!0),F=n.stdio[N];if(F===null)throw TypeError(getInvalidStdioOptionMessage(N,a,S,!0));return F},getFromStream=(n,a=`stdout`)=>{let{options:S,fileDescriptors:C}=qw.get(n),N=getFdNumber(C,a,!1),F=N===`all`?n.all:n.stdio[N];if(F==null)throw TypeError(getInvalidStdioOptionMessage(N,a,S,!1));return F},qw=new WeakMap,getFdNumber=(n,a,S)=>{let C=parseFdNumber(a,S);return validateFdNumber(C,a,S,n),C},parseFdNumber=(n,a)=>{let S=parseFd(n);if(S!==void 0)return S;let{validOptions:C,defaultValue:N}=a?{validOptions:`"stdin"`,defaultValue:`stdin`}:{validOptions:`"stdout", "stderr", "all"`,defaultValue:`stdout`};throw TypeError(`"${getOptionName(a)}" must not be "${n}".
707
707
  It must be ${C} or "fd3", "fd4" (and so on).
708
708
  It is optional and defaults to "${N}".`)},validateFdNumber=(n,a,S,C)=>{let N=C[getUsedDescriptor(n)];if(N===void 0)throw TypeError(`"${getOptionName(S)}" must not be ${a}. That file descriptor does not exist.
709
709
  Please set the "stdio" option to ensure that file descriptor exists.`);if(N.direction===`input`&&!S)throw TypeError(`"${getOptionName(S)}" must not be ${a}. It must be a readable stream, not writable.`);if(N.direction!==`input`&&S)throw TypeError(`"${getOptionName(S)}" must not be ${a}. It must be a writable stream, not readable.`)},getInvalidStdioOptionMessage=(n,a,S,C)=>{if(n===`all`&&!S.all)return`The "all" option must be true to use "from: 'all'".`;let{optionName:N,optionValue:F}=getInvalidStdioOption(n,S);return`The "${N}: ${serializeOptionValue(F)}" option is incompatible with using "${getOptionName(C)}: ${serializeOptionValue(a)}".
710
- Please set this option with "pipe" instead.`},getInvalidStdioOption=(n,{stdin:a,stdout:S,stderr:C,stdio:N})=>{let F=getUsedDescriptor(n);return F===0&&a!==void 0?{optionName:`stdin`,optionValue:a}:F===1&&S!==void 0?{optionName:`stdout`,optionValue:S}:F===2&&C!==void 0?{optionName:`stderr`,optionValue:C}:{optionName:`stdio[${F}]`,optionValue:N[F]}},getUsedDescriptor=n=>n===`all`?1:n,getOptionName=n=>n?`to`:`from`,serializeOptionValue=n=>typeof n==`string`?`'${n}'`:typeof n==`number`?`${n}`:`Stream`}),incrementMaxListeners,Jw=__esmMin(()=>{Kt(),incrementMaxListeners=(n,a,S)=>{let C=n.getMaxListeners();C===0||C===1/0||(n.setMaxListeners(C+a),Gt(S,()=>{n.setMaxListeners(n.getMaxListeners()-a)}))}}),addReference,addReferenceCount,removeReference,removeReferenceCount,undoAddedReferences,redoAddedReferences,Yw=__esmMin(()=>{addReference=(n,a)=>{a&&addReferenceCount(n)},addReferenceCount=n=>{n.refCounted()},removeReference=(n,a)=>{a&&removeReferenceCount(n)},removeReferenceCount=n=>{n.unrefCounted()},undoAddedReferences=(n,a)=>{a&&(removeReferenceCount(n),removeReferenceCount(n))},redoAddedReferences=(n,a)=>{a&&(addReferenceCount(n),addReferenceCount(n))}}),onMessage,onDisconnect,Xw,Zw=__esmMin(()=>{Kt(),ww(),sT(),Yw(),aT(),hT(),onMessage=async({anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C},N)=>{if(handleStrictResponse(N)||handleAbort(N))return;Xw.has(n)||Xw.set(n,[]);let F=Xw.get(n);if(F.push(N),!(F.length>1))for(;F.length>0;){await waitForOutgoingMessages(n,C,N),await Cw.yield();let I=await handleStrictRequest({wrappedMessage:F[0],anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C});F.shift(),C.emit(`message`,I),C.emit(`message:done`)}},onDisconnect=async({anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C,boundOnMessage:N})=>{abortOnDisconnect();let F=Xw.get(n);for(;F?.length>0;)await Vt(C,`message:done`);n.removeListener(`message`,N),redoAddedReferences(a,S),C.connected=!1,C.emit(`disconnect`)},Xw=new WeakMap}),getIpcEmitter,Qw,forwardEvents,isConnected,$w=__esmMin(()=>{Kt(),Zw(),Yw(),getIpcEmitter=(n,a,S)=>{if(Qw.has(n))return Qw.get(n);let C=new Ft;return C.connected=!0,Qw.set(n,C),forwardEvents({ipcEmitter:C,anyProcess:n,channel:a,isSubprocess:S}),C},Qw=new WeakMap,forwardEvents=({ipcEmitter:n,anyProcess:a,channel:S,isSubprocess:C})=>{let N=onMessage.bind(void 0,{anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:n});a.on(`message`,N),a.once(`disconnect`,onDisconnect.bind(void 0,{anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:n,boundOnMessage:N})),undoAddedReferences(S,C)},isConnected=n=>{let a=Qw.get(n);return a===void 0?n.channel!==null:a.connected}}),handleSendStrict,eT,validateStrictDeadlock,handleStrictRequest,handleStrictResponse,waitForStrictResponse,tT,nT,rT,iT,aT=__esmMin(()=>{Kt(),Gw(),Jw(),uT(),Ww(),$w(),sT(),handleSendStrict=({anyProcess:n,channel:a,isSubprocess:S,message:C,strict:N})=>{if(!N)return C;let F=hasMessageListeners(n,getIpcEmitter(n,a,S));return{id:eT++,type:rT,message:C,hasListeners:F}},eT=0n,validateStrictDeadlock=(n,a)=>{if(!(a?.type!==rT||a.hasListeners))for(let{id:a}of n)a!==void 0&&tT[a].resolve({isDeadlock:!0,hasListeners:!1})},handleStrictRequest=async({wrappedMessage:n,anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:N})=>{if(n?.type!==rT||!a.connected)return n;let{id:F,message:I}=n,H={id:F,type:iT,message:hasMessageListeners(a,N)};try{await cT({anyProcess:a,channel:S,isSubprocess:C,ipc:!0},H)}catch(n){N.emit(`strict:error`,n)}return I},handleStrictResponse=n=>{if(n?.type!==iT)return!1;let{id:a,message:S}=n;return tT[a]?.resolve({isDeadlock:!1,hasListeners:S}),!0},waitForStrictResponse=async(n,a,S)=>{if(n?.type!==rT)return;let C=createDeferred();tT[n.id]=C;let N=new AbortController;try{let{isDeadlock:n,hasListeners:F}=await Promise.race([C,nT(a,S,N)]);n&&throwOnStrictDeadlockError(S),F||throwOnMissingStrict(S)}finally{N.abort(),delete tT[n.id]}},tT={},nT=__name$1(async(n,a,{signal:S})=>{incrementMaxListeners(n,1,S),await Vt(n,`disconnect`,{signal:S}),throwOnStrictDisconnect(a)},`throwOnDisconnect`),rT=`execa:ipc:request`,iT=`execa:ipc:response`}),startSendMessage,endSendMessage,waitForOutgoingMessages,oT,hasMessageListeners,getMinListenerCount,sT=__esmMin(()=>{Gw(),SC(),qw(),aT(),startSendMessage=(n,a,S)=>{oT.has(n)||oT.set(n,new Set);let C=oT.get(n),N={onMessageSent:createDeferred(),id:S?a.id:void 0};return C.add(N),{outgoingMessages:C,outgoingMessage:N}},endSendMessage=({outgoingMessages:n,outgoingMessage:a})=>{n.delete(a),a.onMessageSent.resolve()},waitForOutgoingMessages=async(n,a,S)=>{for(;!hasMessageListeners(n,a)&&oT.get(n)?.size>0;){let a=[...oT.get(n)];validateStrictDeadlock(a,S),await Promise.all(a.map(({onMessageSent:n})=>n))}},oT=new WeakMap,hasMessageListeners=(n,a)=>a.listenerCount(`message`)>getMinListenerCount(n),getMinListenerCount=n=>Kw.has(n)&&!getFdSpecificValue(Kw.get(n).options.buffer,`ipc`)?1:0}),cT,sendMessageAsync,sendOneMessage,getSendMethod,lT,uT=__esmMin(()=>{tc(),Ww(),sT(),aT(),cT=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},N,{strict:F=!1}={})=>{let I=`sendMessage`;return validateIpcMethod({methodName:I,isSubprocess:S,ipc:C,isConnected:n.connected}),sendMessageAsync({anyProcess:n,channel:a,methodName:I,isSubprocess:S,message:N,strict:F})},`sendMessage`),sendMessageAsync=async({anyProcess:n,channel:a,methodName:S,isSubprocess:C,message:N,strict:F})=>{let I=handleSendStrict({anyProcess:n,channel:a,isSubprocess:C,message:N,strict:F}),H=startSendMessage(n,I,F);try{await sendOneMessage({anyProcess:n,methodName:S,isSubprocess:C,wrappedMessage:I,message:N})}catch(a){throw disconnect(n),a}finally{endSendMessage(H)}},sendOneMessage=async({anyProcess:n,methodName:a,isSubprocess:S,wrappedMessage:C,message:N})=>{let F=getSendMethod(n);try{await Promise.all([waitForStrictResponse(C,n,S),F(C)])}catch(n){throw handleEpipeError({error:n,methodName:a,isSubprocess:S}),handleSerializationError({error:n,methodName:a,isSubprocess:S,message:N}),n}},getSendMethod=n=>{if(lT.has(n))return lT.get(n);let a=promisify(n.send.bind(n));return lT.set(n,a),a},lT=new WeakMap}),sendAbort,dT,startIpc,fT,handleAbort,pT,abortOnDisconnect,mT,hT=__esmMin(()=>{ww(),uT(),$w(),Ww(),sendAbort=(n,a)=>{let S=`cancelSignal`;return validateConnection(S,!1,n.connected),sendOneMessage({anyProcess:n,methodName:S,isSubprocess:!1,wrappedMessage:{type:pT,message:a},message:a})},dT=__name$1(async({anyProcess:n,channel:a,isSubprocess:S,ipc:C})=>(await startIpc({anyProcess:n,channel:a,isSubprocess:S,ipc:C}),mT.signal),`getCancelSignal`),startIpc=async({anyProcess:n,channel:a,isSubprocess:S,ipc:C})=>{if(!fT){if(fT=!0,!C){throwOnMissingParent();return}if(a===null){abortOnDisconnect();return}getIpcEmitter(n,a,S),await Cw.yield()}},fT=!1,handleAbort=n=>n?.type===pT?(mT.abort(n.message),!0):!1,pT=`execa:ipc:cancel`,abortOnDisconnect=()=>{mT.abort(getAbortDisconnectError())},mT=new AbortController}),validateGracefulCancel,throwOnGracefulCancel,sendOnAbort,getReason,gT=__esmMin(()=>{Bw(),hT(),zw(),validateGracefulCancel=({gracefulCancel:n,cancelSignal:a,ipc:S,serialization:C})=>{if(n){if(a===void 0)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!S)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(C===`json`)throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}},throwOnGracefulCancel=({subprocess:n,cancelSignal:a,gracefulCancel:S,forceKillAfterDelay:C,context:N,controller:F})=>S?[sendOnAbort({subprocess:n,cancelSignal:a,forceKillAfterDelay:C,context:N,controller:F})]:[],sendOnAbort=async({subprocess:n,cancelSignal:a,forceKillAfterDelay:S,context:C,controller:{signal:N}})=>{throw await onAbortedSignal(a,N),await sendAbort(n,getReason(a)),killOnTimeout({kill:n.kill,forceKillAfterDelay:S,context:C,controllerSignal:N}),C.terminationReason??=`gracefulCancel`,a.reason},getReason=({reason:n})=>{if(!(n instanceof DOMException))return n;let a=Error(n.message);return Object.defineProperty(a,"stack",{value:n.stack,enumerable:!1,configurable:!0,writable:!0}),a}}),validateTimeout,throwOnTimeout,killAfterTimeout,_T=__esmMin(()=>{ww(),Ew(),validateTimeout=({timeout:n})=>{if(n!==void 0&&(!Number.isFinite(n)||n<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${n}\` (${typeof n})`)},throwOnTimeout=(n,a,S,C)=>a===0||a===void 0?[]:[killAfterTimeout(n,a,S,C)],killAfterTimeout=async(n,a,S,{signal:C})=>{throw await setTimeout$1(a,void 0,{signal:C}),S.terminationReason??=`timeout`,n.kill(),new DiscardedError}}),mapNode,handleNodeOption,vT=__esmMin(()=>{sn(),ps(),nC(),mapNode=({options:n})=>{if(n.node===!1)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...n,node:!0}}},handleNodeOption=(n,a,{node:S=!1,nodePath:C=tn,nodeOptions:N=rn.filter(n=>!n.startsWith(`--inspect`)),cwd:F,execPath:I,...H})=>{if(I!==void 0)throw TypeError(`The "execPath" option has been removed. Please use the "nodePath" option instead.`);let W=safeNormalizeFileUrl(C,`The "nodePath" option`),K=fs.resolve(F,W),q={...H,nodePath:K,node:S,cwd:F};if(!S)return[n,a,q];if(fs.basename(n,`.exe`)===`node`)throw TypeError(`When the "node" option is true, the first argument does not need to be "node".`);return[K,[...N,n,...a],{ipc:!0,...q,shell:!1}]}}),validateIpcInputOption,validateAdvancedInput,validateJsonInput,yT,sendIpcInput,bT=__esmMin(()=>{km(),validateIpcInputOption=({ipcInput:n,ipc:a,serialization:S})=>{if(n!==void 0){if(!a)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");yT[S](n)}},validateAdvancedInput=n=>{try{serialize(n)}catch(n){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:n})}},validateJsonInput=n=>{try{JSON.stringify(n)}catch(n){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:n})}},yT={advanced:validateAdvancedInput,json:validateJsonInput},sendIpcInput=async(n,a)=>{a!==void 0&&await n.sendMessage(a)}}),validateEncoding,xT,ST,CT,getCorrectEncoding,wT,serializeEncoding,TT=__esmMin(()=>{validateEncoding=({encoding:n})=>{if(CT.has(n))return;let a=getCorrectEncoding(n);if(a!==void 0)throw TypeError(`Invalid option \`encoding: ${serializeEncoding(n)}\`.
711
- Please rename it to ${serializeEncoding(a)}.`);let S=[...CT].map(n=>serializeEncoding(n)).join(`, `);throw TypeError(`Invalid option \`encoding: ${serializeEncoding(n)}\`.
712
- Please rename it to one of: ${S}.`)},xT=new Set([`utf8`,`utf16le`]),ST=new Set([`buffer`,`hex`,`base64`,`base64url`,`latin1`,`ascii`]),CT=new Set([...xT,...ST]),getCorrectEncoding=n=>{if(n===null)return`buffer`;if(typeof n!=`string`)return;let a=n.toLowerCase();if(a in wT)return wT[a];if(CT.has(a))return a},wT={"utf-8":`utf8`,"utf-16le":`utf16le`,"ucs-2":`utf16le`,ucs2:`utf16le`,binary:`latin1`},serializeEncoding=n=>typeof n==`string`?`"${n}"`:String(n)}),normalizeCwd,getDefaultCwd,fixCwdError,ET=__esmMin(()=>{Zc(),ps(),sn(),nC(),normalizeCwd=(n=getDefaultCwd())=>{let a=safeNormalizeFileUrl(n,`The "cwd" option`);return fs.resolve(a)},getDefaultCwd=()=>{try{return $t.cwd()}catch(n){throw n.message=`The current directory does not exist.\n${n.message}`,n}},fixCwdError=(n,a)=>{if(a===getDefaultCwd())return n;let S;try{S=statSync(a)}catch(S){return`The "cwd" option is invalid: ${a}.\n${S.message}\n${n}`}return S.isDirectory()?n:`The "cwd" option is not a directory: ${a}.\n${n}`}}),DT,normalizeOptions,addDefaultOptions,getEnv,OT=__esmMin(()=>{ps(),sn(),DT=__toESM$1(vw(),1),xw(),zw(),Lw(),Vw(),gT(),_T(),vT(),bT(),TT(),ET(),nC(),SC(),normalizeOptions=(n,a,S)=>{S.cwd=normalizeCwd(S.cwd);let[C,N,F]=handleNodeOption(n,a,S),{command:I,args:H,options:W}=DT.default._parse(C,N,F),K=addDefaultOptions(normalizeFdSpecificOptions(W));return validateTimeout(K),validateEncoding(K),validateIpcInputOption(K),validateCancelSignal(K),validateGracefulCancel(K),K.shell=normalizeFileUrl(K.shell),K.env=getEnv(K),K.killSignal=normalizeKillSignal(K.killSignal),K.forceKillAfterDelay=normalizeForceKillAfterDelay(K.forceKillAfterDelay),K.lines=K.lines.map((n,a)=>n&&!ST.has(K.encoding)&&K.buffer[a]),$t.platform===`win32`&&fs.basename(I,`.exe`)===`cmd`&&H.unshift(`/q`),{file:I,commandArguments:H,options:K}},addDefaultOptions=({extendEnv:n=!0,preferLocal:a=!1,cwd:S,localDir:C=S,encoding:N=`utf8`,reject:F=!0,cleanup:I=!0,all:H=!1,windowsHide:W=!0,killSignal:K=`SIGTERM`,forceKillAfterDelay:q=!0,gracefulCancel:Y=!1,ipcInput:X,ipc:te=X!==void 0||Y,serialization:ne=`advanced`,...re})=>({...re,extendEnv:n,preferLocal:a,cwd:S,localDirectory:C,encoding:N,reject:F,cleanup:I,all:H,windowsHide:W,killSignal:K,forceKillAfterDelay:q,gracefulCancel:Y,ipcInput:X,ipc:te,serialization:ne}),getEnv=({env:n,extendEnv:a,preferLocal:S,node:C,localDirectory:N,nodePath:F})=>{let I=a?{...$t.env,...n}:n;return S||C?npmRunPathEnv({env:I,cwd:N,execPath:F,preferLocal:S,addExecPath:C}):I}}),concatenateShell,kT=__esmMin(()=>{concatenateShell=(n,a,S)=>S.shell&&a.length>0?[[n,...a].join(` `),[],S]:[n,a,S]});function stripFinalNewline(n){if(typeof n==`string`)return stripFinalNewlineString(n);if(!(ArrayBuffer.isView(n)&&n.BYTES_PER_ELEMENT===1))throw Error(`Input must be a string or a Uint8Array`);return stripFinalNewlineBinary(n)}var stripFinalNewlineString,stripFinalNewlineBinary,AT,jT,MT,NT,PT=__esmMin(()=>{stripFinalNewlineString=n=>n.at(-1)===AT?n.slice(0,n.at(-2)===MT?-2:-1):n,stripFinalNewlineBinary=n=>n.at(-1)===jT?n.subarray(0,n.at(-2)===NT?-2:-1):n,AT=`
713
- `,jT=AT.codePointAt(0),MT=`\r`,NT=MT.codePointAt(0)});function isStream(n,{checkOpen:a=!0}={}){return typeof n==`object`&&!!n&&(n.writable||n.readable||!a||n.writable===void 0&&n.readable===void 0)&&typeof n.pipe==`function`}function isWritableStream$1(n,{checkOpen:a=!0}={}){return isStream(n,{checkOpen:a})&&(n.writable||!a)&&typeof n.write==`function`&&typeof n.end==`function`&&typeof n.writable==`boolean`&&typeof n.writableObjectMode==`boolean`&&typeof n.destroy==`function`&&typeof n.destroyed==`boolean`}function isReadableStream$1(n,{checkOpen:a=!0}={}){return isStream(n,{checkOpen:a})&&(n.readable||!a)&&typeof n.read==`function`&&typeof n.readable==`boolean`&&typeof n.readableObjectMode==`boolean`&&typeof n.destroy==`function`&&typeof n.destroyed==`boolean`}function isDuplexStream(n,a){return isWritableStream$1(n,a)&&isReadableStream$1(n,a)}var FT=__esmMin(()=>{__name$1(isWritableStream$1,`isWritableStream`),__name$1(isReadableStream$1,`isReadableStream`)});function i(){return this[LT].next()}function o(n){return this[LT].return(n)}function h({preventCancel:n=!1}={}){let a=new c$1(this.getReader(),n),S=Object.create(RT);return S[LT]=a,S}var IT,c$1,LT,RT,zT=__esmMin(()=>{IT=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),c$1=class{static{__name$1(this,`c`)}#e;#t;#n=!1;#r=void 0;constructor(n,a){this.#e=n,this.#t=a}next(){let e=()=>this.#i();return this.#r=this.#r?this.#r.then(e,e):e(),this.#r}return(n){let t=()=>this.#a(n);return this.#r?this.#r.then(t,t):t()}async#i(){if(this.#n)return{done:!0,value:void 0};let n;try{n=await this.#e.read()}catch(n){throw this.#r=void 0,this.#n=!0,this.#e.releaseLock(),n}return n.done&&(this.#r=void 0,this.#n=!0,this.#e.releaseLock()),n}async#a(n){if(this.#n)return{done:!0,value:n};if(this.#n=!0,!this.#t){let a=this.#e.cancel(n);return this.#e.releaseLock(),await a,{done:!0,value:n}}return this.#e.releaseLock(),{done:!0,value:n}}},LT=Symbol(),Object.defineProperty(i,"name",{value:`next`}),Object.defineProperty(o,"name",{value:`return`}),RT=Object.create(IT,{next:{enumerable:!0,configurable:!0,writable:!0,value:i},return:{enumerable:!0,configurable:!0,writable:!0,value:o}})}),BT=__esmMin(()=>{zT()}),getAsyncIterable,VT,getStreamIterable,handleStreamEnd,HT,UT=__esmMin(()=>{FT(),BT(),getAsyncIterable=n=>{if(isReadableStream$1(n,{checkOpen:!1})&&HT.on!==void 0)return getStreamIterable(n);if(typeof n?.[Symbol.asyncIterator]==`function`)return n;if(VT.call(n)===`[object ReadableStream]`)return h.call(n);throw TypeError(`The first argument must be a Readable, a ReadableStream, or an async iterable.`)},{toString:VT}=Object.prototype,getStreamIterable=async function*(n){let a=new AbortController,S={};handleStreamEnd(n,a,S);try{for await(let[S]of HT.on(n,`data`,{signal:a.signal}))yield S}catch(n){if(S.error!==void 0)throw S.error;if(!a.signal.aborted)throw n}finally{n.destroy()}},handleStreamEnd=async(n,a,S)=>{try{await HT.finished(n,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(n){S.error=n}finally{a.abort()}},HT={}}),WT,appendFinalChunk,appendChunk,addNewChunk,getChunkType,GT,MaxBufferError,KT=__esmMin(()=>{UT(),WT=__name$1(async(n,{init:a,convertChunk:S,getSize:C,truncateChunk:N,addChunk:F,getFinalChunk:I,finalize:H},{maxBuffer:W=1/0}={})=>{let K=getAsyncIterable(n),q=a();q.length=0;try{for await(let n of K)appendChunk({convertedChunk:S[getChunkType(n)](n,q),state:q,getSize:C,truncateChunk:N,addChunk:F,maxBuffer:W});return appendFinalChunk({state:q,convertChunk:S,getSize:C,truncateChunk:N,addChunk:F,getFinalChunk:I,maxBuffer:W}),H(q)}catch(n){let a=typeof n==`object`&&n?n:Error(n);throw a.bufferedData=H(q),a}},`getStreamContents`),appendFinalChunk=({state:n,getSize:a,truncateChunk:S,addChunk:C,getFinalChunk:N,maxBuffer:F})=>{let I=N(n);I!==void 0&&appendChunk({convertedChunk:I,state:n,getSize:a,truncateChunk:S,addChunk:C,maxBuffer:F})},appendChunk=({convertedChunk:n,state:a,getSize:S,truncateChunk:C,addChunk:N,maxBuffer:F})=>{let I=S(n),H=a.length+I;if(H<=F){addNewChunk(n,a,N,H);return}let W=C(n,F-a.length);throw W!==void 0&&addNewChunk(W,a,N,F),new MaxBufferError},addNewChunk=(n,a,S,C)=>{a.contents=S(n,a,C),a.length=C},getChunkType=n=>{let a=typeof n;if(a===`string`)return`string`;if(a!==`object`||n===null)return`others`;if(globalThis.Buffer?.isBuffer(n))return`buffer`;let S=GT.call(n);return S===`[object ArrayBuffer]`?`arrayBuffer`:S===`[object DataView]`?`dataView`:Number.isInteger(n.byteLength)&&Number.isInteger(n.byteOffset)&&GT.call(n.buffer)===`[object ArrayBuffer]`?`typedArray`:`others`},{toString:GT}=Object.prototype,MaxBufferError=class extends Error{name=`MaxBufferError`;constructor(){super(`maxBuffer exceeded`)}}}),identity,qT,getContentsProperty,throwObjectStream,getLengthProperty,JT=__esmMin(()=>{identity=n=>n,qT=__name$1(()=>void 0,`noop`),getContentsProperty=({contents:n})=>n,throwObjectStream=n=>{throw Error(`Streams in object mode are not supported: ${String(n)}`)},getLengthProperty=n=>n.length});async function getStreamAsArray(n,a){return WT(n,YT,a)}var initArray,increment,addArrayChunk,YT,XT=__esmMin(()=>{KT(),JT(),initArray=()=>({contents:[]}),increment=()=>1,addArrayChunk=(n,{contents:a})=>(a.push(n),a),YT={init:initArray,convertChunk:{string:identity,buffer:identity,arrayBuffer:identity,dataView:identity,typedArray:identity,others:identity},getSize:increment,truncateChunk:qT,addChunk:addArrayChunk,getFinalChunk:qT,finalize:getContentsProperty}});async function getStreamAsArrayBuffer(n,a){return WT(n,$T,a)}var initArrayBuffer,useTextEncoder,ZT,useUint8Array,useUint8ArrayWithOffset,truncateArrayBufferChunk,addArrayBufferChunk,resizeArrayBufferSlow,resizeArrayBuffer,getNewContentsLength,QT,finalizeArrayBuffer,hasArrayBufferResize,$T,eE=__esmMin(()=>{KT(),JT(),initArrayBuffer=()=>({contents:new ArrayBuffer(0)}),useTextEncoder=n=>ZT.encode(n),ZT=new TextEncoder,useUint8Array=n=>new Uint8Array(n),useUint8ArrayWithOffset=n=>new Uint8Array(n.buffer,n.byteOffset,n.byteLength),truncateArrayBufferChunk=(n,a)=>n.slice(0,a),addArrayBufferChunk=(n,{contents:a,length:S},C)=>{let N=hasArrayBufferResize()?resizeArrayBuffer(a,C):resizeArrayBufferSlow(a,C);return new Uint8Array(N).set(n,S),N},resizeArrayBufferSlow=(n,a)=>{if(a<=n.byteLength)return n;let S=new ArrayBuffer(getNewContentsLength(a));return new Uint8Array(S).set(new Uint8Array(n),0),S},resizeArrayBuffer=(n,a)=>{if(a<=n.maxByteLength)return n.resize(a),n;let S=new ArrayBuffer(a,{maxByteLength:getNewContentsLength(a)});return new Uint8Array(S).set(new Uint8Array(n),0),S},getNewContentsLength=n=>QT**Math.ceil(Math.log(n)/Math.log(QT)),QT=2,finalizeArrayBuffer=({contents:n,length:a})=>hasArrayBufferResize()?n:n.slice(0,a),hasArrayBufferResize=()=>`resize`in ArrayBuffer.prototype,$T={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:qT,finalize:finalizeArrayBuffer}});async function getStreamAsString(n,a){return WT(n,tE,a)}var initString,useTextDecoder,addStringChunk,truncateStringChunk,getFinalStringChunk,tE,nE=__esmMin(()=>{KT(),JT(),initString=()=>({contents:``,textDecoder:new TextDecoder}),useTextDecoder=(n,{textDecoder:a})=>a.decode(n,{stream:!0}),addStringChunk=(n,{contents:a})=>a+n,truncateStringChunk=(n,a)=>n.slice(0,a),getFinalStringChunk=({textDecoder:n})=>{let a=n.decode();return a===``?void 0:a},tE={init:initString,convertChunk:{string:identity,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProperty}}),rE=__esmMin(()=>{XT(),eE(),nE(),KT()}),handleMaxBuffer,getMaxBufferUnit,checkIpcMaxBuffer,getMaxBufferMessage,getMaxBufferInfo,isMaxBufferSync,truncateMaxBufferSync,getMaxBufferSync,iE=__esmMin(()=>{rE(),_C(),SC(),handleMaxBuffer=({error:n,stream:a,readableObjectMode:S,lines:C,encoding:N,fdNumber:F})=>{if(!(n instanceof MaxBufferError))throw n;if(F===`all`)return n;throw n.maxBufferInfo={fdNumber:F,unit:getMaxBufferUnit(S,C,N)},a.destroy(),n},getMaxBufferUnit=(n,a,S)=>n?`objects`:a?`lines`:S===`buffer`?`bytes`:`characters`,checkIpcMaxBuffer=(n,a,S)=>{if(a.length!==S)return;let C=new MaxBufferError;throw C.maxBufferInfo={fdNumber:`ipc`},C},getMaxBufferMessage=(n,a)=>{let{streamName:S,threshold:C,unit:N}=getMaxBufferInfo(n,a);return`Command's ${S} was larger than ${C} ${N}`},getMaxBufferInfo=(n,a)=>{if(n?.maxBufferInfo===void 0)return{streamName:`output`,threshold:a[1],unit:`bytes`};let{maxBufferInfo:{fdNumber:S,unit:C}}=n;delete n.maxBufferInfo;let N=getFdSpecificValue(a,S);return S===`ipc`?{streamName:`IPC output`,threshold:N,unit:`messages`}:{streamName:getStreamName(S),threshold:N,unit:C}},isMaxBufferSync=(n,a,S)=>n?.code===`ENOBUFS`&&a!==null&&a.some(n=>n!==null&&n.length>getMaxBufferSync(S)),truncateMaxBufferSync=(n,a,S)=>{if(!a)return n;let C=getMaxBufferSync(S);return n.length>C?n.slice(0,C):n},getMaxBufferSync=([,n])=>n}),createMessages,getErrorPrefix,getForcefulSuffix,getOriginalMessage,serializeIpcMessage,serializeMessagePart,serializeMessageItem,aE=__esmMin(()=>{tc(),PT(),dC(),ET(),kC(),iE(),Lw(),Ew(),createMessages=({stdio:n,all:a,ipcOutput:S,originalError:C,signal:N,signalDescription:F,exitCode:I,escapedCommand:H,timedOut:W,isCanceled:K,isGracefullyCanceled:q,isMaxBuffer:Y,isForcefullyTerminated:X,forceKillAfterDelay:te,killSignal:ne,maxBuffer:re,timeout:ie,cwd:ae})=>{let oe=C?.code,Z=getErrorPrefix({originalError:C,timedOut:W,timeout:ie,isMaxBuffer:Y,maxBuffer:re,errorCode:oe,signal:N,signalDescription:F,exitCode:I,isCanceled:K,isGracefullyCanceled:q,isForcefullyTerminated:X,forceKillAfterDelay:te,killSignal:ne}),se=getOriginalMessage(C,ae),ce=`${Z}: ${H}${se===void 0?``:`\n${se}`}`;return{originalMessage:se,shortMessage:ce,message:[ce,...a===void 0?[n[2],n[1]]:[a],...n.slice(3),S.map(n=>serializeIpcMessage(n)).join(`
710
+ Please set this option with "pipe" instead.`},getInvalidStdioOption=(n,{stdin:a,stdout:S,stderr:C,stdio:N})=>{let F=getUsedDescriptor(n);return F===0&&a!==void 0?{optionName:`stdin`,optionValue:a}:F===1&&S!==void 0?{optionName:`stdout`,optionValue:S}:F===2&&C!==void 0?{optionName:`stderr`,optionValue:C}:{optionName:`stdio[${F}]`,optionValue:N[F]}},getUsedDescriptor=n=>n===`all`?1:n,getOptionName=n=>n?`to`:`from`,serializeOptionValue=n=>typeof n==`string`?`'${n}'`:typeof n==`number`?`${n}`:`Stream`}),incrementMaxListeners,Yw=__esmMin(()=>{Kt(),incrementMaxListeners=(n,a,S)=>{let C=n.getMaxListeners();C===0||C===1/0||(n.setMaxListeners(C+a),Gt(S,()=>{n.setMaxListeners(n.getMaxListeners()-a)}))}}),addReference,addReferenceCount,removeReference,removeReferenceCount,undoAddedReferences,redoAddedReferences,Xw=__esmMin(()=>{addReference=(n,a)=>{a&&addReferenceCount(n)},addReferenceCount=n=>{n.refCounted()},removeReference=(n,a)=>{a&&removeReferenceCount(n)},removeReferenceCount=n=>{n.unrefCounted()},undoAddedReferences=(n,a)=>{a&&(removeReferenceCount(n),removeReferenceCount(n))},redoAddedReferences=(n,a)=>{a&&(addReferenceCount(n),addReferenceCount(n))}}),onMessage,onDisconnect,Zw,Qw=__esmMin(()=>{Kt(),Tw(),cT(),Xw(),oT(),gT(),onMessage=async({anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C},N)=>{if(handleStrictResponse(N)||handleAbort(N))return;Zw.has(n)||Zw.set(n,[]);let F=Zw.get(n);if(F.push(N),!(F.length>1))for(;F.length>0;){await waitForOutgoingMessages(n,C,N),await ww.yield();let I=await handleStrictRequest({wrappedMessage:F[0],anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C});F.shift(),C.emit(`message`,I),C.emit(`message:done`)}},onDisconnect=async({anyProcess:n,channel:a,isSubprocess:S,ipcEmitter:C,boundOnMessage:N})=>{abortOnDisconnect();let F=Zw.get(n);for(;F?.length>0;)await Vt(C,`message:done`);n.removeListener(`message`,N),redoAddedReferences(a,S),C.connected=!1,C.emit(`disconnect`)},Zw=new WeakMap}),getIpcEmitter,$w,forwardEvents,isConnected,eT=__esmMin(()=>{Kt(),Qw(),Xw(),getIpcEmitter=(n,a,S)=>{if($w.has(n))return $w.get(n);let C=new Ft;return C.connected=!0,$w.set(n,C),forwardEvents({ipcEmitter:C,anyProcess:n,channel:a,isSubprocess:S}),C},$w=new WeakMap,forwardEvents=({ipcEmitter:n,anyProcess:a,channel:S,isSubprocess:C})=>{let N=onMessage.bind(void 0,{anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:n});a.on(`message`,N),a.once(`disconnect`,onDisconnect.bind(void 0,{anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:n,boundOnMessage:N})),undoAddedReferences(S,C)},isConnected=n=>{let a=$w.get(n);return a===void 0?n.channel!==null:a.connected}}),handleSendStrict,tT,validateStrictDeadlock,handleStrictRequest,handleStrictResponse,waitForStrictResponse,nT,rT,iT,aT,oT=__esmMin(()=>{Kt(),Kw(),Yw(),dT(),Gw(),eT(),cT(),handleSendStrict=({anyProcess:n,channel:a,isSubprocess:S,message:C,strict:N})=>{if(!N)return C;let F=hasMessageListeners(n,getIpcEmitter(n,a,S));return{id:tT++,type:iT,message:C,hasListeners:F}},tT=0n,validateStrictDeadlock=(n,a)=>{if(!(a?.type!==iT||a.hasListeners))for(let{id:a}of n)a!==void 0&&nT[a].resolve({isDeadlock:!0,hasListeners:!1})},handleStrictRequest=async({wrappedMessage:n,anyProcess:a,channel:S,isSubprocess:C,ipcEmitter:N})=>{if(n?.type!==iT||!a.connected)return n;let{id:F,message:I}=n,H={id:F,type:aT,message:hasMessageListeners(a,N)};try{await lT({anyProcess:a,channel:S,isSubprocess:C,ipc:!0},H)}catch(n){N.emit(`strict:error`,n)}return I},handleStrictResponse=n=>{if(n?.type!==aT)return!1;let{id:a,message:S}=n;return nT[a]?.resolve({isDeadlock:!1,hasListeners:S}),!0},waitForStrictResponse=async(n,a,S)=>{if(n?.type!==iT)return;let C=createDeferred();nT[n.id]=C;let N=new AbortController;try{let{isDeadlock:n,hasListeners:F}=await Promise.race([C,rT(a,S,N)]);n&&throwOnStrictDeadlockError(S),F||throwOnMissingStrict(S)}finally{N.abort(),delete nT[n.id]}},nT={},rT=__name$1(async(n,a,{signal:S})=>{incrementMaxListeners(n,1,S),await Vt(n,`disconnect`,{signal:S}),throwOnStrictDisconnect(a)},`throwOnDisconnect`),iT=`execa:ipc:request`,aT=`execa:ipc:response`}),startSendMessage,endSendMessage,waitForOutgoingMessages,sT,hasMessageListeners,getMinListenerCount,cT=__esmMin(()=>{Kw(),CC(),Jw(),oT(),startSendMessage=(n,a,S)=>{sT.has(n)||sT.set(n,new Set);let C=sT.get(n),N={onMessageSent:createDeferred(),id:S?a.id:void 0};return C.add(N),{outgoingMessages:C,outgoingMessage:N}},endSendMessage=({outgoingMessages:n,outgoingMessage:a})=>{n.delete(a),a.onMessageSent.resolve()},waitForOutgoingMessages=async(n,a,S)=>{for(;!hasMessageListeners(n,a)&&sT.get(n)?.size>0;){let a=[...sT.get(n)];validateStrictDeadlock(a,S),await Promise.all(a.map(({onMessageSent:n})=>n))}},sT=new WeakMap,hasMessageListeners=(n,a)=>a.listenerCount(`message`)>getMinListenerCount(n),getMinListenerCount=n=>qw.has(n)&&!getFdSpecificValue(qw.get(n).options.buffer,`ipc`)?1:0}),lT,sendMessageAsync,sendOneMessage,getSendMethod,uT,dT=__esmMin(()=>{tc(),Gw(),cT(),oT(),lT=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},N,{strict:F=!1}={})=>{let I=`sendMessage`;return validateIpcMethod({methodName:I,isSubprocess:S,ipc:C,isConnected:n.connected}),sendMessageAsync({anyProcess:n,channel:a,methodName:I,isSubprocess:S,message:N,strict:F})},`sendMessage`),sendMessageAsync=async({anyProcess:n,channel:a,methodName:S,isSubprocess:C,message:N,strict:F})=>{let I=handleSendStrict({anyProcess:n,channel:a,isSubprocess:C,message:N,strict:F}),H=startSendMessage(n,I,F);try{await sendOneMessage({anyProcess:n,methodName:S,isSubprocess:C,wrappedMessage:I,message:N})}catch(a){throw disconnect(n),a}finally{endSendMessage(H)}},sendOneMessage=async({anyProcess:n,methodName:a,isSubprocess:S,wrappedMessage:C,message:N})=>{let F=getSendMethod(n);try{await Promise.all([waitForStrictResponse(C,n,S),F(C)])}catch(n){throw handleEpipeError({error:n,methodName:a,isSubprocess:S}),handleSerializationError({error:n,methodName:a,isSubprocess:S,message:N}),n}},getSendMethod=n=>{if(uT.has(n))return uT.get(n);let a=promisify(n.send.bind(n));return uT.set(n,a),a},uT=new WeakMap}),sendAbort,fT,startIpc,pT,handleAbort,mT,abortOnDisconnect,hT,gT=__esmMin(()=>{Tw(),dT(),eT(),Gw(),sendAbort=(n,a)=>{let S=`cancelSignal`;return validateConnection(S,!1,n.connected),sendOneMessage({anyProcess:n,methodName:S,isSubprocess:!1,wrappedMessage:{type:mT,message:a},message:a})},fT=__name$1(async({anyProcess:n,channel:a,isSubprocess:S,ipc:C})=>(await startIpc({anyProcess:n,channel:a,isSubprocess:S,ipc:C}),hT.signal),`getCancelSignal`),startIpc=async({anyProcess:n,channel:a,isSubprocess:S,ipc:C})=>{if(!pT){if(pT=!0,!C){throwOnMissingParent();return}if(a===null){abortOnDisconnect();return}getIpcEmitter(n,a,S),await ww.yield()}},pT=!1,handleAbort=n=>n?.type===mT?(hT.abort(n.message),!0):!1,mT=`execa:ipc:cancel`,abortOnDisconnect=()=>{hT.abort(getAbortDisconnectError())},hT=new AbortController}),validateGracefulCancel,throwOnGracefulCancel,sendOnAbort,getReason,_T=__esmMin(()=>{Vw(),gT(),Bw(),validateGracefulCancel=({gracefulCancel:n,cancelSignal:a,ipc:S,serialization:C})=>{if(n){if(a===void 0)throw Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.");if(!S)throw Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.");if(C===`json`)throw Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}},throwOnGracefulCancel=({subprocess:n,cancelSignal:a,gracefulCancel:S,forceKillAfterDelay:C,context:N,controller:F})=>S?[sendOnAbort({subprocess:n,cancelSignal:a,forceKillAfterDelay:C,context:N,controller:F})]:[],sendOnAbort=async({subprocess:n,cancelSignal:a,forceKillAfterDelay:S,context:C,controller:{signal:N}})=>{throw await onAbortedSignal(a,N),await sendAbort(n,getReason(a)),killOnTimeout({kill:n.kill,forceKillAfterDelay:S,context:C,controllerSignal:N}),C.terminationReason??=`gracefulCancel`,a.reason},getReason=({reason:n})=>{if(!(n instanceof DOMException))return n;let a=Error(n.message);return Object.defineProperty(a,"stack",{value:n.stack,enumerable:!1,configurable:!0,writable:!0}),a}}),validateTimeout,throwOnTimeout,killAfterTimeout,vT=__esmMin(()=>{Tw(),Dw(),validateTimeout=({timeout:n})=>{if(n!==void 0&&(!Number.isFinite(n)||n<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${n}\` (${typeof n})`)},throwOnTimeout=(n,a,S,C)=>a===0||a===void 0?[]:[killAfterTimeout(n,a,S,C)],killAfterTimeout=async(n,a,S,{signal:C})=>{throw await setTimeout$1(a,void 0,{signal:C}),S.terminationReason??=`timeout`,n.kill(),new DiscardedError}}),mapNode,handleNodeOption,yT=__esmMin(()=>{sn(),ps(),rC(),mapNode=({options:n})=>{if(n.node===!1)throw TypeError('The "node" option cannot be false with `execaNode()`.');return{options:{...n,node:!0}}},handleNodeOption=(n,a,{node:S=!1,nodePath:C=tn,nodeOptions:N=rn.filter(n=>!n.startsWith(`--inspect`)),cwd:F,execPath:I,...H})=>{if(I!==void 0)throw TypeError(`The "execPath" option has been removed. Please use the "nodePath" option instead.`);let W=safeNormalizeFileUrl(C,`The "nodePath" option`),K=fs.resolve(F,W),q={...H,nodePath:K,node:S,cwd:F};if(!S)return[n,a,q];if(fs.basename(n,`.exe`)===`node`)throw TypeError(`When the "node" option is true, the first argument does not need to be "node".`);return[K,[...N,n,...a],{ipc:!0,...q,shell:!1}]}}),validateIpcInputOption,validateAdvancedInput,validateJsonInput,bT,sendIpcInput,xT=__esmMin(()=>{km(),validateIpcInputOption=({ipcInput:n,ipc:a,serialization:S})=>{if(n!==void 0){if(!a)throw Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.");bT[S](n)}},validateAdvancedInput=n=>{try{serialize(n)}catch(n){throw Error("The `ipcInput` option is not serializable with a structured clone.",{cause:n})}},validateJsonInput=n=>{try{JSON.stringify(n)}catch(n){throw Error("The `ipcInput` option is not serializable with JSON.",{cause:n})}},bT={advanced:validateAdvancedInput,json:validateJsonInput},sendIpcInput=async(n,a)=>{a!==void 0&&await n.sendMessage(a)}}),validateEncoding,ST,CT,wT,getCorrectEncoding,TT,serializeEncoding,ET=__esmMin(()=>{validateEncoding=({encoding:n})=>{if(wT.has(n))return;let a=getCorrectEncoding(n);if(a!==void 0)throw TypeError(`Invalid option \`encoding: ${serializeEncoding(n)}\`.
711
+ Please rename it to ${serializeEncoding(a)}.`);let S=[...wT].map(n=>serializeEncoding(n)).join(`, `);throw TypeError(`Invalid option \`encoding: ${serializeEncoding(n)}\`.
712
+ Please rename it to one of: ${S}.`)},ST=new Set([`utf8`,`utf16le`]),CT=new Set([`buffer`,`hex`,`base64`,`base64url`,`latin1`,`ascii`]),wT=new Set([...ST,...CT]),getCorrectEncoding=n=>{if(n===null)return`buffer`;if(typeof n!=`string`)return;let a=n.toLowerCase();if(a in TT)return TT[a];if(wT.has(a))return a},TT={"utf-8":`utf8`,"utf-16le":`utf16le`,"ucs-2":`utf16le`,ucs2:`utf16le`,binary:`latin1`},serializeEncoding=n=>typeof n==`string`?`"${n}"`:String(n)}),normalizeCwd,getDefaultCwd,fixCwdError,DT=__esmMin(()=>{Zc(),ps(),sn(),rC(),normalizeCwd=(n=getDefaultCwd())=>{let a=safeNormalizeFileUrl(n,`The "cwd" option`);return fs.resolve(a)},getDefaultCwd=()=>{try{return $t.cwd()}catch(n){throw n.message=`The current directory does not exist.\n${n.message}`,n}},fixCwdError=(n,a)=>{if(a===getDefaultCwd())return n;let S;try{S=statSync(a)}catch(S){return`The "cwd" option is invalid: ${a}.\n${S.message}\n${n}`}return S.isDirectory()?n:`The "cwd" option is not a directory: ${a}.\n${n}`}}),OT,normalizeOptions,addDefaultOptions,getEnv,kT=__esmMin(()=>{ps(),sn(),OT=__toESM$1(yw(),1),Sw(),Bw(),Rw(),Hw(),_T(),vT(),yT(),xT(),ET(),DT(),rC(),CC(),normalizeOptions=(n,a,S)=>{S.cwd=normalizeCwd(S.cwd);let[C,N,F]=handleNodeOption(n,a,S),{command:I,args:H,options:W}=OT.default._parse(C,N,F),K=addDefaultOptions(normalizeFdSpecificOptions(W));return validateTimeout(K),validateEncoding(K),validateIpcInputOption(K),validateCancelSignal(K),validateGracefulCancel(K),K.shell=normalizeFileUrl(K.shell),K.env=getEnv(K),K.killSignal=normalizeKillSignal(K.killSignal),K.forceKillAfterDelay=normalizeForceKillAfterDelay(K.forceKillAfterDelay),K.lines=K.lines.map((n,a)=>n&&!CT.has(K.encoding)&&K.buffer[a]),$t.platform===`win32`&&fs.basename(I,`.exe`)===`cmd`&&H.unshift(`/q`),{file:I,commandArguments:H,options:K}},addDefaultOptions=({extendEnv:n=!0,preferLocal:a=!1,cwd:S,localDir:C=S,encoding:N=`utf8`,reject:F=!0,cleanup:I=!0,all:H=!1,windowsHide:W=!0,killSignal:K=`SIGTERM`,forceKillAfterDelay:q=!0,gracefulCancel:Y=!1,ipcInput:X,ipc:te=X!==void 0||Y,serialization:ne=`advanced`,...re})=>({...re,extendEnv:n,preferLocal:a,cwd:S,localDirectory:C,encoding:N,reject:F,cleanup:I,all:H,windowsHide:W,killSignal:K,forceKillAfterDelay:q,gracefulCancel:Y,ipcInput:X,ipc:te,serialization:ne}),getEnv=({env:n,extendEnv:a,preferLocal:S,node:C,localDirectory:N,nodePath:F})=>{let I=a?{...$t.env,...n}:n;return S||C?npmRunPathEnv({env:I,cwd:N,execPath:F,preferLocal:S,addExecPath:C}):I}}),concatenateShell,AT=__esmMin(()=>{concatenateShell=(n,a,S)=>S.shell&&a.length>0?[[n,...a].join(` `),[],S]:[n,a,S]});function stripFinalNewline(n){if(typeof n==`string`)return stripFinalNewlineString(n);if(!(ArrayBuffer.isView(n)&&n.BYTES_PER_ELEMENT===1))throw Error(`Input must be a string or a Uint8Array`);return stripFinalNewlineBinary(n)}var stripFinalNewlineString,stripFinalNewlineBinary,jT,MT,NT,PT,FT=__esmMin(()=>{stripFinalNewlineString=n=>n.at(-1)===jT?n.slice(0,n.at(-2)===NT?-2:-1):n,stripFinalNewlineBinary=n=>n.at(-1)===MT?n.subarray(0,n.at(-2)===PT?-2:-1):n,jT=`
713
+ `,MT=jT.codePointAt(0),NT=`\r`,PT=NT.codePointAt(0)});function isStream(n,{checkOpen:a=!0}={}){return typeof n==`object`&&!!n&&(n.writable||n.readable||!a||n.writable===void 0&&n.readable===void 0)&&typeof n.pipe==`function`}function isWritableStream$1(n,{checkOpen:a=!0}={}){return isStream(n,{checkOpen:a})&&(n.writable||!a)&&typeof n.write==`function`&&typeof n.end==`function`&&typeof n.writable==`boolean`&&typeof n.writableObjectMode==`boolean`&&typeof n.destroy==`function`&&typeof n.destroyed==`boolean`}function isReadableStream$1(n,{checkOpen:a=!0}={}){return isStream(n,{checkOpen:a})&&(n.readable||!a)&&typeof n.read==`function`&&typeof n.readable==`boolean`&&typeof n.readableObjectMode==`boolean`&&typeof n.destroy==`function`&&typeof n.destroyed==`boolean`}function isDuplexStream(n,a){return isWritableStream$1(n,a)&&isReadableStream$1(n,a)}var IT=__esmMin(()=>{__name$1(isWritableStream$1,`isWritableStream`),__name$1(isReadableStream$1,`isReadableStream`)});function i(){return this[RT].next()}function o(n){return this[RT].return(n)}function h({preventCancel:n=!1}={}){let a=new c$1(this.getReader(),n),S=Object.create(zT);return S[RT]=a,S}var LT,c$1,RT,zT,BT=__esmMin(()=>{LT=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),c$1=class{static{__name$1(this,`c`)}#e;#t;#n=!1;#r=void 0;constructor(n,a){this.#e=n,this.#t=a}next(){let e=()=>this.#i();return this.#r=this.#r?this.#r.then(e,e):e(),this.#r}return(n){let t=()=>this.#a(n);return this.#r?this.#r.then(t,t):t()}async#i(){if(this.#n)return{done:!0,value:void 0};let n;try{n=await this.#e.read()}catch(n){throw this.#r=void 0,this.#n=!0,this.#e.releaseLock(),n}return n.done&&(this.#r=void 0,this.#n=!0,this.#e.releaseLock()),n}async#a(n){if(this.#n)return{done:!0,value:n};if(this.#n=!0,!this.#t){let a=this.#e.cancel(n);return this.#e.releaseLock(),await a,{done:!0,value:n}}return this.#e.releaseLock(),{done:!0,value:n}}},RT=Symbol(),Object.defineProperty(i,"name",{value:`next`}),Object.defineProperty(o,"name",{value:`return`}),zT=Object.create(LT,{next:{enumerable:!0,configurable:!0,writable:!0,value:i},return:{enumerable:!0,configurable:!0,writable:!0,value:o}})}),VT=__esmMin(()=>{BT()}),getAsyncIterable,HT,getStreamIterable,handleStreamEnd,UT,WT=__esmMin(()=>{IT(),VT(),getAsyncIterable=n=>{if(isReadableStream$1(n,{checkOpen:!1})&&UT.on!==void 0)return getStreamIterable(n);if(typeof n?.[Symbol.asyncIterator]==`function`)return n;if(HT.call(n)===`[object ReadableStream]`)return h.call(n);throw TypeError(`The first argument must be a Readable, a ReadableStream, or an async iterable.`)},{toString:HT}=Object.prototype,getStreamIterable=async function*(n){let a=new AbortController,S={};handleStreamEnd(n,a,S);try{for await(let[S]of UT.on(n,`data`,{signal:a.signal}))yield S}catch(n){if(S.error!==void 0)throw S.error;if(!a.signal.aborted)throw n}finally{n.destroy()}},handleStreamEnd=async(n,a,S)=>{try{await UT.finished(n,{cleanup:!0,readable:!0,writable:!1,error:!1})}catch(n){S.error=n}finally{a.abort()}},UT={}}),GT,appendFinalChunk,appendChunk,addNewChunk,getChunkType,KT,MaxBufferError,qT=__esmMin(()=>{WT(),GT=__name$1(async(n,{init:a,convertChunk:S,getSize:C,truncateChunk:N,addChunk:F,getFinalChunk:I,finalize:H},{maxBuffer:W=1/0}={})=>{let K=getAsyncIterable(n),q=a();q.length=0;try{for await(let n of K)appendChunk({convertedChunk:S[getChunkType(n)](n,q),state:q,getSize:C,truncateChunk:N,addChunk:F,maxBuffer:W});return appendFinalChunk({state:q,convertChunk:S,getSize:C,truncateChunk:N,addChunk:F,getFinalChunk:I,maxBuffer:W}),H(q)}catch(n){let a=typeof n==`object`&&n?n:Error(n);throw a.bufferedData=H(q),a}},`getStreamContents`),appendFinalChunk=({state:n,getSize:a,truncateChunk:S,addChunk:C,getFinalChunk:N,maxBuffer:F})=>{let I=N(n);I!==void 0&&appendChunk({convertedChunk:I,state:n,getSize:a,truncateChunk:S,addChunk:C,maxBuffer:F})},appendChunk=({convertedChunk:n,state:a,getSize:S,truncateChunk:C,addChunk:N,maxBuffer:F})=>{let I=S(n),H=a.length+I;if(H<=F){addNewChunk(n,a,N,H);return}let W=C(n,F-a.length);throw W!==void 0&&addNewChunk(W,a,N,F),new MaxBufferError},addNewChunk=(n,a,S,C)=>{a.contents=S(n,a,C),a.length=C},getChunkType=n=>{let a=typeof n;if(a===`string`)return`string`;if(a!==`object`||n===null)return`others`;if(globalThis.Buffer?.isBuffer(n))return`buffer`;let S=KT.call(n);return S===`[object ArrayBuffer]`?`arrayBuffer`:S===`[object DataView]`?`dataView`:Number.isInteger(n.byteLength)&&Number.isInteger(n.byteOffset)&&KT.call(n.buffer)===`[object ArrayBuffer]`?`typedArray`:`others`},{toString:KT}=Object.prototype,MaxBufferError=class extends Error{name=`MaxBufferError`;constructor(){super(`maxBuffer exceeded`)}}}),identity,JT,getContentsProperty,throwObjectStream,getLengthProperty,YT=__esmMin(()=>{identity=n=>n,JT=__name$1(()=>void 0,`noop`),getContentsProperty=({contents:n})=>n,throwObjectStream=n=>{throw Error(`Streams in object mode are not supported: ${String(n)}`)},getLengthProperty=n=>n.length});async function getStreamAsArray(n,a){return GT(n,XT,a)}var initArray,increment,addArrayChunk,XT,ZT=__esmMin(()=>{qT(),YT(),initArray=()=>({contents:[]}),increment=()=>1,addArrayChunk=(n,{contents:a})=>(a.push(n),a),XT={init:initArray,convertChunk:{string:identity,buffer:identity,arrayBuffer:identity,dataView:identity,typedArray:identity,others:identity},getSize:increment,truncateChunk:JT,addChunk:addArrayChunk,getFinalChunk:JT,finalize:getContentsProperty}});async function getStreamAsArrayBuffer(n,a){return GT(n,eE,a)}var initArrayBuffer,useTextEncoder,QT,useUint8Array,useUint8ArrayWithOffset,truncateArrayBufferChunk,addArrayBufferChunk,resizeArrayBufferSlow,resizeArrayBuffer,getNewContentsLength,$T,finalizeArrayBuffer,hasArrayBufferResize,eE,tE=__esmMin(()=>{qT(),YT(),initArrayBuffer=()=>({contents:new ArrayBuffer(0)}),useTextEncoder=n=>QT.encode(n),QT=new TextEncoder,useUint8Array=n=>new Uint8Array(n),useUint8ArrayWithOffset=n=>new Uint8Array(n.buffer,n.byteOffset,n.byteLength),truncateArrayBufferChunk=(n,a)=>n.slice(0,a),addArrayBufferChunk=(n,{contents:a,length:S},C)=>{let N=hasArrayBufferResize()?resizeArrayBuffer(a,C):resizeArrayBufferSlow(a,C);return new Uint8Array(N).set(n,S),N},resizeArrayBufferSlow=(n,a)=>{if(a<=n.byteLength)return n;let S=new ArrayBuffer(getNewContentsLength(a));return new Uint8Array(S).set(new Uint8Array(n),0),S},resizeArrayBuffer=(n,a)=>{if(a<=n.maxByteLength)return n.resize(a),n;let S=new ArrayBuffer(a,{maxByteLength:getNewContentsLength(a)});return new Uint8Array(S).set(new Uint8Array(n),0),S},getNewContentsLength=n=>$T**Math.ceil(Math.log(n)/Math.log($T)),$T=2,finalizeArrayBuffer=({contents:n,length:a})=>hasArrayBufferResize()?n:n.slice(0,a),hasArrayBufferResize=()=>`resize`in ArrayBuffer.prototype,eE={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:JT,finalize:finalizeArrayBuffer}});async function getStreamAsString(n,a){return GT(n,nE,a)}var initString,useTextDecoder,addStringChunk,truncateStringChunk,getFinalStringChunk,nE,rE=__esmMin(()=>{qT(),YT(),initString=()=>({contents:``,textDecoder:new TextDecoder}),useTextDecoder=(n,{textDecoder:a})=>a.decode(n,{stream:!0}),addStringChunk=(n,{contents:a})=>a+n,truncateStringChunk=(n,a)=>n.slice(0,a),getFinalStringChunk=({textDecoder:n})=>{let a=n.decode();return a===``?void 0:a},nE={init:initString,convertChunk:{string:identity,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProperty}}),iE=__esmMin(()=>{ZT(),tE(),rE(),qT()}),handleMaxBuffer,getMaxBufferUnit,checkIpcMaxBuffer,getMaxBufferMessage,getMaxBufferInfo,isMaxBufferSync,truncateMaxBufferSync,getMaxBufferSync,aE=__esmMin(()=>{iE(),vC(),CC(),handleMaxBuffer=({error:n,stream:a,readableObjectMode:S,lines:C,encoding:N,fdNumber:F})=>{if(!(n instanceof MaxBufferError))throw n;if(F===`all`)return n;throw n.maxBufferInfo={fdNumber:F,unit:getMaxBufferUnit(S,C,N)},a.destroy(),n},getMaxBufferUnit=(n,a,S)=>n?`objects`:a?`lines`:S===`buffer`?`bytes`:`characters`,checkIpcMaxBuffer=(n,a,S)=>{if(a.length!==S)return;let C=new MaxBufferError;throw C.maxBufferInfo={fdNumber:`ipc`},C},getMaxBufferMessage=(n,a)=>{let{streamName:S,threshold:C,unit:N}=getMaxBufferInfo(n,a);return`Command's ${S} was larger than ${C} ${N}`},getMaxBufferInfo=(n,a)=>{if(n?.maxBufferInfo===void 0)return{streamName:`output`,threshold:a[1],unit:`bytes`};let{maxBufferInfo:{fdNumber:S,unit:C}}=n;delete n.maxBufferInfo;let N=getFdSpecificValue(a,S);return S===`ipc`?{streamName:`IPC output`,threshold:N,unit:`messages`}:{streamName:getStreamName(S),threshold:N,unit:C}},isMaxBufferSync=(n,a,S)=>n?.code===`ENOBUFS`&&a!==null&&a.some(n=>n!==null&&n.length>getMaxBufferSync(S)),truncateMaxBufferSync=(n,a,S)=>{if(!a)return n;let C=getMaxBufferSync(S);return n.length>C?n.slice(0,C):n},getMaxBufferSync=([,n])=>n}),createMessages,getErrorPrefix,getForcefulSuffix,getOriginalMessage,serializeIpcMessage,serializeMessagePart,serializeMessageItem,oE=__esmMin(()=>{tc(),FT(),fC(),DT(),AC(),aE(),Rw(),Dw(),createMessages=({stdio:n,all:a,ipcOutput:S,originalError:C,signal:N,signalDescription:F,exitCode:I,escapedCommand:H,timedOut:W,isCanceled:K,isGracefullyCanceled:q,isMaxBuffer:Y,isForcefullyTerminated:X,forceKillAfterDelay:te,killSignal:ne,maxBuffer:re,timeout:ie,cwd:ae})=>{let oe=C?.code,Z=getErrorPrefix({originalError:C,timedOut:W,timeout:ie,isMaxBuffer:Y,maxBuffer:re,errorCode:oe,signal:N,signalDescription:F,exitCode:I,isCanceled:K,isGracefullyCanceled:q,isForcefullyTerminated:X,forceKillAfterDelay:te,killSignal:ne}),se=getOriginalMessage(C,ae),ce=`${Z}: ${H}${se===void 0?``:`\n${se}`}`;return{originalMessage:se,shortMessage:ce,message:[ce,...a===void 0?[n[2],n[1]]:[a],...n.slice(3),S.map(n=>serializeIpcMessage(n)).join(`
714
714
  `)].map(n=>escapeLines(stripFinalNewline(serializeMessagePart(n)))).filter(Boolean).join(`
715
715
 
716
716
  `)}},getErrorPrefix=({originalError:n,timedOut:a,timeout:S,isMaxBuffer:C,maxBuffer:N,errorCode:F,signal:I,signalDescription:H,exitCode:W,isCanceled:K,isGracefullyCanceled:q,isForcefullyTerminated:Y,forceKillAfterDelay:X,killSignal:te})=>{let ne=getForcefulSuffix(Y,X);return a?`Command timed out after ${S} milliseconds${ne}`:q?I===void 0?`Command was gracefully canceled with exit code ${W}`:Y?`Command was gracefully canceled${ne}`:`Command was gracefully canceled with ${I} (${H})`:K?`Command was canceled${ne}`:C?`${getMaxBufferMessage(n,N)}${ne}`:F===void 0?Y?`Command was killed with ${te} (${getSignalDescription(te)})${ne}`:I===void 0?W===void 0?`Command failed`:`Command failed with exit code ${W}`:`Command was killed with ${I} (${H})`:`Command failed with ${F}${ne}`},getForcefulSuffix=(n,a)=>n?` and was forcefully terminated after ${a} milliseconds`:``,getOriginalMessage=(n,a)=>{if(n instanceof DiscardedError)return;let S=escapeLines(fixCwdError(isExecaError(n)?n.originalMessage:String(n?.message??n),a));return S===``?void 0:S},serializeIpcMessage=n=>typeof n==`string`?n:inspect(n),serializeMessagePart=n=>Array.isArray(n)?n.map(n=>stripFinalNewline(serializeMessageItem(n))).filter(Boolean).join(`
717
- `):serializeMessageItem(n),serializeMessageItem=n=>typeof n==`string`?n:isUint8Array(n)?uint8ArrayToString(n):``}),makeSuccessResult,makeEarlyError,makeError,getErrorProperties,omitUndefinedProperties,normalizeExitPayload,oE=__esmMin(()=>{Lw(),iw(),Ew(),aE(),makeSuccessResult=({command:n,escapedCommand:a,stdio:S,all:C,ipcOutput:N,options:{cwd:F},startTime:I})=>omitUndefinedProperties({command:n,escapedCommand:a,cwd:F,durationMs:getDurationMs(I),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:S[1],stderr:S[2],all:C,stdio:S,ipcOutput:N,pipedFrom:[]}),makeEarlyError=({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,isSync:I})=>makeError({error:n,command:a,escapedCommand:S,startTime:F,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:C.length}),ipcOutput:[],options:N,isSync:I}),makeError=({error:n,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,stdio:Y,all:X,ipcOutput:te,options:{timeoutDuration:ne,timeout:re=ne,forceKillAfterDelay:ie,killSignal:ae,cwd:oe,maxBuffer:Z},isSync:se})=>{let{exitCode:ce,signal:le,signalDescription:ue}=normalizeExitPayload(K,q),{originalMessage:de,shortMessage:fe,message:pe}=createMessages({stdio:Y,all:X,ipcOutput:te,originalError:n,signal:le,signalDescription:ue,exitCode:ce,escapedCommand:S,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,forceKillAfterDelay:ie,killSignal:ae,maxBuffer:Z,timeout:re,cwd:oe}),me=getFinalError(n,pe,se);return Object.assign(me,getErrorProperties({error:me,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:ce,signal:le,signalDescription:ue,stdio:Y,all:X,ipcOutput:te,cwd:oe,originalMessage:de,shortMessage:fe})),me},getErrorProperties=({error:n,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,signalDescription:Y,stdio:X,all:te,ipcOutput:ne,cwd:re,originalMessage:ie,shortMessage:ae})=>omitUndefinedProperties({shortMessage:ae,originalMessage:ie,command:a,escapedCommand:S,cwd:re,durationMs:getDurationMs(C),failed:!0,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isTerminated:q!==void 0,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,signalDescription:Y,code:n.cause?.code,stdout:X[1],stderr:X[2],all:te,stdio:X,ipcOutput:ne,pipedFrom:[]}),omitUndefinedProperties=n=>Object.fromEntries(Object.entries(n).filter(([,n])=>n!==void 0)),normalizeExitPayload=(n,a)=>{let S=n===null?void 0:n,C=a===null?void 0:a;return{exitCode:S,signal:C,signalDescription:C===void 0?void 0:getSignalDescription(a)}}});function parseNumber(n){return{days:Math.trunc(n/864e5),hours:Math.trunc(n/36e5%24),minutes:Math.trunc(n/6e4%60),seconds:Math.trunc(n/1e3%60),milliseconds:Math.trunc(n%1e3),microseconds:Math.trunc(toZeroIfInfinity(n*1e3)%1e3),nanoseconds:Math.trunc(toZeroIfInfinity(n*1e6)%1e3)}}function parseBigint(n){return{days:n/86400000n,hours:n/3600000n%24n,minutes:n/60000n%60n,seconds:n/1000n%60n,milliseconds:n%1000n,microseconds:0n,nanoseconds:0n}}function parseMilliseconds(n){switch(typeof n){case`number`:if(Number.isFinite(n))return parseNumber(n);break;case`bigint`:return parseBigint(n)}throw TypeError(`Expected a finite number or bigint`)}var toZeroIfInfinity,sE=__esmMin(()=>{toZeroIfInfinity=n=>Number.isFinite(n)?n:0});function prettyMilliseconds(n,a){let S=typeof n==`bigint`;if(!S&&!Number.isFinite(n))throw TypeError(`Expected a finite number or bigint`);a={...a};let C=n<0?`-`:``;n=n<0?-n:n,a.colonNotation&&(a.compact=!1,a.formatSubMilliseconds=!1,a.separateMilliseconds=!1,a.verbose=!1),a.compact&&(a.unitCount=1,a.secondsDecimalDigits=0,a.millisecondsDecimalDigits=0);let N=[],floorDecimals=(n,a)=>{let S=Math.floor(n*10**a+cE);return(Math.round(S)/10**a).toFixed(a)},add=(n,S,C,F)=>{if(!((N.length===0||!a.colonNotation)&&isZero(n)&&!(a.colonNotation&&C===`m`))){if(F??=String(n),a.colonNotation){let n=F.includes(`.`)?F.split(`.`)[0].length:F.length,a=N.length>0?2:1;F=`0`.repeat(Math.max(0,a-n))+F}else F+=a.verbose?` `+pluralize(S,n):C;N.push(F)}},F=parseMilliseconds(n),I=BigInt(F.days);if(a.hideYearAndDays?add(BigInt(I)*24n+BigInt(F.hours),`hour`,`h`):(a.hideYear?add(I,`day`,`d`):(add(I/365n,`year`,`y`),add(I%365n,`day`,`d`)),add(Number(F.hours),`hour`,`h`)),add(Number(F.minutes),`minute`,`m`),!a.hideSeconds)if(a.separateMilliseconds||a.formatSubMilliseconds||!a.colonNotation&&n<1e3&&!a.subSecondsAsDecimals){let n=Number(F.seconds),S=Number(F.milliseconds),C=Number(F.microseconds),N=Number(F.nanoseconds);if(add(n,`second`,`s`),a.formatSubMilliseconds)add(S,`millisecond`,`ms`),add(C,`microsecond`,`µs`),add(N,`nanosecond`,`ns`);else{let n=S+C/1e3+N/1e6,F=typeof a.millisecondsDecimalDigits==`number`?a.millisecondsDecimalDigits:0,I=F?n.toFixed(F):n>=1?Math.round(n):Math.ceil(n);add(Number.parseFloat(I),`millisecond`,`ms`,I)}}else{let C=floorDecimals((S?Number(n%lE):n)/1e3%60,typeof a.secondsDecimalDigits==`number`?a.secondsDecimalDigits:1),N=a.keepDecimalsOnWholeSeconds?C:C.replace(/\.0+$/,``);add(Number.parseFloat(N),`second`,`s`,N)}if(N.length===0)return C+`0`+(a.verbose?` milliseconds`:`ms`);let H=a.colonNotation?`:`:` `;return typeof a.unitCount==`number`&&(N=N.slice(0,Math.max(a.unitCount,1))),C+N.join(H)}var isZero,pluralize,cE,lE,uE=__esmMin(()=>{sE(),isZero=n=>n===0||n===0n,pluralize=(n,a)=>a===1||a===1n?n:`${n}s`,cE=1e-7,lE=24n*60n*60n*1000n}),logError,dE=__esmMin(()=>{ew(),logError=(n,a)=>{n.failed&&verboseLog({type:`error`,verboseMessage:n.shortMessage,verboseInfo:a,result:n})}}),logResult,logDuration,fE=__esmMin(()=>{uE(),wC(),ew(),dE(),logResult=(n,a)=>{isVerbose(a)&&(logError(n,a),logDuration(n,a))},logDuration=(n,a)=>{verboseLog({type:`duration`,verboseMessage:`(done in ${prettyMilliseconds(n.durationMs)})`,verboseInfo:a,result:n})}}),handleResult,pE=__esmMin(()=>{fE(),handleResult=(n,a,{reject:S})=>{if(logResult(n,a),n.failed&&S)throw n;return n}}),getStdioItemType,getTransformObjectType,getDuplexType,getTransformStreamType,validateNonGeneratorType,checkUndefinedOption,getGeneratorObjectType,checkBooleanOption,isGenerator,isAsyncGenerator,isSyncGenerator,isTransformOptions,isUrl,isRegularUrl,isFilePathObject,mE,isFilePathString,isUnknownStdioString,hE,isReadableStream,isWritableStream,isWebStream,isTransformStream,isAsyncIterableObject,isIterableObject,isObject,gE,_E,vE,yE,bE,xE,SE=__esmMin(()=>{FT(),tC(),dC(),getStdioItemType=(n,a)=>isAsyncGenerator(n)?`asyncGenerator`:isSyncGenerator(n)?`generator`:isUrl(n)?`fileUrl`:isFilePathObject(n)?`filePath`:isWebStream(n)?`webStream`:isStream(n,{checkOpen:!1})?`native`:isUint8Array(n)?`uint8Array`:isAsyncIterableObject(n)?`asyncIterable`:isIterableObject(n)?`iterable`:isTransformStream(n)?getTransformStreamType({transform:n},a):isTransformOptions(n)?getTransformObjectType(n,a):`native`,getTransformObjectType=(n,a)=>isDuplexStream(n.transform,{checkOpen:!1})?getDuplexType(n,a):isTransformStream(n.transform)?getTransformStreamType(n,a):getGeneratorObjectType(n,a),getDuplexType=(n,a)=>(validateNonGeneratorType(n,a,`Duplex stream`),`duplex`),getTransformStreamType=(n,a)=>(validateNonGeneratorType(n,a,`web TransformStream`),`webTransform`),validateNonGeneratorType=({final:n,binary:a,objectMode:S},C,N)=>{checkUndefinedOption(n,`${C}.final`,N),checkUndefinedOption(a,`${C}.binary`,N),checkBooleanOption(S,`${C}.objectMode`)},checkUndefinedOption=(n,a,S)=>{if(n!==void 0)throw TypeError(`The \`${a}\` option can only be defined when using a generator, not a ${S}.`)},getGeneratorObjectType=({transform:n,final:a,binary:S,objectMode:C},N)=>{if(n!==void 0&&!isGenerator(n))throw TypeError(`The \`${N}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(isDuplexStream(a,{checkOpen:!1}))throw TypeError(`The \`${N}.final\` option must not be a Duplex stream.`);if(isTransformStream(a))throw TypeError(`The \`${N}.final\` option must not be a web TransformStream.`);if(a!==void 0&&!isGenerator(a))throw TypeError(`The \`${N}.final\` option must be a generator.`);return checkBooleanOption(S,`${N}.binary`),checkBooleanOption(C,`${N}.objectMode`),isAsyncGenerator(n)||isAsyncGenerator(a)?`asyncGenerator`:`generator`},checkBooleanOption=(n,a)=>{if(n!==void 0&&typeof n!=`boolean`)throw TypeError(`The \`${a}\` option must use a boolean.`)},isGenerator=n=>isAsyncGenerator(n)||isSyncGenerator(n),isAsyncGenerator=n=>Object.prototype.toString.call(n)===`[object AsyncGeneratorFunction]`,isSyncGenerator=n=>Object.prototype.toString.call(n)===`[object GeneratorFunction]`,isTransformOptions=n=>isPlainObject(n)&&(n.transform!==void 0||n.final!==void 0),isUrl=n=>Object.prototype.toString.call(n)===`[object URL]`,isRegularUrl=n=>isUrl(n)&&n.protocol!==`file:`,isFilePathObject=n=>isPlainObject(n)&&Object.keys(n).length>0&&Object.keys(n).every(n=>mE.has(n))&&isFilePathString(n.file),mE=new Set([`file`,`append`]),isFilePathString=n=>typeof n==`string`,isUnknownStdioString=(n,a)=>n===`native`&&typeof a==`string`&&!hE.has(a),hE=new Set([`ipc`,`ignore`,`inherit`,`overlapped`,`pipe`]),isReadableStream=n=>Object.prototype.toString.call(n)===`[object ReadableStream]`,isWritableStream=n=>Object.prototype.toString.call(n)===`[object WritableStream]`,isWebStream=n=>isReadableStream(n)||isWritableStream(n),isTransformStream=n=>isReadableStream(n?.readable)&&isWritableStream(n?.writable),isAsyncIterableObject=n=>isObject(n)&&typeof n[Symbol.asyncIterator]==`function`,isIterableObject=n=>isObject(n)&&typeof n[Symbol.iterator]==`function`,isObject=n=>typeof n==`object`&&!!n,gE=new Set([`generator`,`asyncGenerator`,`duplex`,`webTransform`]),_E=new Set([`fileUrl`,`filePath`,`fileNumber`]),vE=new Set([`fileUrl`,`filePath`]),yE=new Set([...vE,`webStream`,`nodeStream`]),bE=new Set([`webTransform`,`duplex`]),xE={generator:`a generator`,asyncGenerator:`an async generator`,fileUrl:`a file URL`,filePath:`a file path string`,fileNumber:`a file descriptor number`,webStream:`a web stream`,nodeStream:`a Node.js stream`,webTransform:`a web TransformStream`,duplex:`a Duplex stream`,native:`any value`,iterable:`an iterable`,asyncIterable:`an async iterable`,string:`a string`,uint8Array:`a Uint8Array`}}),getTransformObjectModes,getOutputObjectModes,getInputObjectModes,getFdObjectMode,CE=__esmMin(()=>{SE(),getTransformObjectModes=(n,a,S,C)=>C===`output`?getOutputObjectModes(n,a,S):getInputObjectModes(n,a,S),getOutputObjectModes=(n,a,S)=>{let C=a!==0&&S[a-1].value.readableObjectMode;return{writableObjectMode:C,readableObjectMode:n??C}},getInputObjectModes=(n,a,S)=>{let C=a===0?n===!0:S[a-1].value.readableObjectMode;return{writableObjectMode:C,readableObjectMode:a!==S.length-1&&(n??C)}},getFdObjectMode=(n,a)=>{let S=n.findLast(({type:n})=>gE.has(n));return S===void 0?!1:a===`input`?S.value.writableObjectMode:S.value.readableObjectMode}}),normalizeTransforms,getTransforms,normalizeTransform,normalizeDuplex,normalizeTransformStream,normalizeGenerator,sortTransforms,wE=__esmMin(()=>{tC(),TT(),SE(),CE(),normalizeTransforms=(n,a,S,C)=>[...n.filter(({type:n})=>!gE.has(n)),...getTransforms(n,a,S,C)],getTransforms=(n,a,S,{encoding:C})=>{let N=n.filter(({type:n})=>gE.has(n)),F=Array.from({length:N.length});for(let[n,I]of Object.entries(N))F[n]=normalizeTransform({stdioItem:I,index:Number(n),newTransforms:F,optionName:a,direction:S,encoding:C});return sortTransforms(F,S)},normalizeTransform=({stdioItem:n,stdioItem:{type:a},index:S,newTransforms:C,optionName:N,direction:F,encoding:I})=>a===`duplex`?normalizeDuplex({stdioItem:n,optionName:N}):a===`webTransform`?normalizeTransformStream({stdioItem:n,index:S,newTransforms:C,direction:F}):normalizeGenerator({stdioItem:n,index:S,newTransforms:C,direction:F,encoding:I}),normalizeDuplex=({stdioItem:n,stdioItem:{value:{transform:a,transform:{writableObjectMode:S,readableObjectMode:C},objectMode:N=C}},optionName:F})=>{if(N&&!C)throw TypeError(`The \`${F}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!N&&C)throw TypeError(`The \`${F}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...n,value:{transform:a,writableObjectMode:S,readableObjectMode:C}}},normalizeTransformStream=({stdioItem:n,stdioItem:{value:a},index:S,newTransforms:C,direction:N})=>{let{transform:F,objectMode:I}=isPlainObject(a)?a:{transform:a},{writableObjectMode:H,readableObjectMode:W}=getTransformObjectModes(I,S,C,N);return{...n,value:{transform:F,writableObjectMode:H,readableObjectMode:W}}},normalizeGenerator=({stdioItem:n,stdioItem:{value:a},index:S,newTransforms:C,direction:N,encoding:F})=>{let{transform:I,final:H,binary:W=!1,preserveNewlines:K=!1,objectMode:q}=isPlainObject(a)?a:{transform:a},Y=W||ST.has(F),{writableObjectMode:X,readableObjectMode:te}=getTransformObjectModes(q,S,C,N);return{...n,value:{transform:I,final:H,binary:Y,preserveNewlines:K,writableObjectMode:X,readableObjectMode:te}}},sortTransforms=(n,a)=>a===`input`?n.reverse():n}),getStreamDirection,getStdioItemDirection,TE,anyDirection,alwaysInput,EE,getStandardStreamDirection,DE,OE=__esmMin(()=>{sn(),FT(),SE(),getStreamDirection=(n,a,S)=>{let C=n.map(n=>getStdioItemDirection(n,a));if(C.includes(`input`)&&C.includes(`output`))throw TypeError(`The \`${S}\` option must not be an array of both readable and writable values.`);return C.find(Boolean)??DE},getStdioItemDirection=({type:n,value:a},S)=>TE[S]??EE[n](a),TE=[`input`,`output`,`output`],anyDirection=()=>void 0,alwaysInput=()=>`input`,EE={generator:anyDirection,asyncGenerator:anyDirection,fileUrl:anyDirection,filePath:anyDirection,iterable:alwaysInput,asyncIterable:alwaysInput,uint8Array:alwaysInput,webStream:n=>isWritableStream(n)?`output`:`input`,nodeStream(n){return isReadableStream$1(n,{checkOpen:!1})?isWritableStream$1(n,{checkOpen:!1})?void 0:`input`:`output`},webTransform:anyDirection,duplex:anyDirection,native(n){let a=getStandardStreamDirection(n);if(a!==void 0)return a;if(isStream(n,{checkOpen:!1}))return EE.nodeStream(n)}},getStandardStreamDirection=n=>{if([0,$t.stdin].includes(n))return`input`;if([1,2,$t.stdout,$t.stderr].includes(n))return`output`},DE=`output`}),normalizeIpcStdioArray,kE=__esmMin(()=>{normalizeIpcStdioArray=(n,a)=>a&&!n.includes(`ipc`)?[...n,`ipc`]:n}),normalizeStdioOption,getStdioArray,hasAlias,addDefaultValue,normalizeStdioSync,isOutputPipeOnly,AE=__esmMin(()=>{_C(),kE(),wC(),normalizeStdioOption=({stdio:n,ipc:a,buffer:S,...C},N,F)=>{let I=getStdioArray(n,C).map((n,a)=>addDefaultValue(n,a));return F?normalizeStdioSync(I,S,N):normalizeIpcStdioArray(I,a)},getStdioArray=(n,a)=>{if(n===void 0)return gC.map(n=>a[n]);if(hasAlias(a))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${gC.map(n=>`\`${n}\``).join(`, `)}`);if(typeof n==`string`)return[n,n,n];if(!Array.isArray(n))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof n}\``);let S=Math.max(n.length,gC.length);return Array.from({length:S},(a,S)=>n[S])},hasAlias=n=>gC.some(a=>n[a]!==void 0),addDefaultValue=(n,a)=>Array.isArray(n)?n.map(n=>addDefaultValue(n,a)):n??(a>=gC.length?`ignore`:`pipe`),normalizeStdioSync=(n,a,S)=>n.map((n,C)=>!a[C]&&C!==0&&!isFullVerbose(S,C)&&isOutputPipeOnly(n)?`ignore`:n),isOutputPipeOnly=n=>n===`pipe`||Array.isArray(n)&&n.every(n=>n===`pipe`)}),handleNativeStream,handleNativeStreamSync,getTargetFd,getTargetFdNumber,handleNativeStreamAsync,getStandardStream,jE=__esmMin(()=>{Zc(),BC(),FT(),_C(),dC(),qw(),handleNativeStream=({stdioItem:n,stdioItem:{type:a},isStdioArray:S,fdNumber:C,direction:N,isSync:F})=>!S||a!==`native`?n:F?handleNativeStreamSync({stdioItem:n,fdNumber:C,direction:N}):handleNativeStreamAsync({stdioItem:n,fdNumber:C}),handleNativeStreamSync=({stdioItem:n,stdioItem:{value:a,optionName:S},fdNumber:C,direction:N})=>{let F=getTargetFd({value:a,optionName:S,fdNumber:C,direction:N});if(F!==void 0)return F;if(isStream(a,{checkOpen:!1}))throw TypeError(`The \`${S}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return n},getTargetFd=({value:n,optionName:a,fdNumber:S,direction:C})=>{let N=getTargetFdNumber(n,S);if(N!==void 0){if(C===`output`)return{type:`fileNumber`,value:N,optionName:a};if(zC.isatty(N))throw TypeError(`The \`${a}: ${serializeOptionValue(n)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:`uint8Array`,value:bufferToUint8Array(readFileSync(N)),optionName:a}}},getTargetFdNumber=(n,a)=>{if(n===`inherit`)return a;if(typeof n==`number`)return n;let S=hC.indexOf(n);if(S!==-1)return S},handleNativeStreamAsync=({stdioItem:n,stdioItem:{value:a,optionName:S},fdNumber:C})=>a===`inherit`?{type:`nodeStream`,value:getStandardStream(C,a,S),optionName:S}:typeof a==`number`?{type:`nodeStream`,value:getStandardStream(a,a,S),optionName:S}:isStream(a,{checkOpen:!1})?{type:`nodeStream`,value:a,optionName:S}:n,getStandardStream=(n,a,S)=>{let C=hC[n];if(C===void 0)throw TypeError(`The \`${S}: ${a}\` option is invalid: no such standard stream.`);return C}}),handleInputOptions,handleInputOption,getInputType,handleInputFileOption,getInputFileType,ME=__esmMin(()=>{FT(),dC(),SE(),handleInputOptions=({input:n,inputFile:a},S)=>S===0?[...handleInputOption(n),...handleInputFileOption(a)]:[],handleInputOption=n=>n===void 0?[]:[{type:getInputType(n),value:n,optionName:`input`}],getInputType=n=>{if(isReadableStream$1(n,{checkOpen:!1}))return`nodeStream`;if(typeof n==`string`)return`string`;if(isUint8Array(n))return`uint8Array`;throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},handleInputFileOption=n=>n===void 0?[]:[{...getInputFileType(n),optionName:`inputFile`}],getInputFileType=n=>{if(isUrl(n))return{type:`fileUrl`,value:n};if(isFilePathString(n))return{type:`filePath`,value:{file:n}};throw Error("The `inputFile` option must be a file path string or a file URL.")}}),filterDuplicates,getDuplicateStream,getOtherStdioItems,validateDuplicateStreamSync,getDuplicateStreamInstance,hasSameValue,validateDuplicateTransform,throwOnDuplicateStream,NE=__esmMin(()=>{SE(),filterDuplicates=n=>n.filter((a,S)=>n.every((n,C)=>a.value!==n.value||S>=C||a.type===`generator`||a.type===`asyncGenerator`)),getDuplicateStream=({stdioItem:{type:n,value:a,optionName:S},direction:C,fileDescriptors:N,isSync:F})=>{let I=getOtherStdioItems(N,n);if(I.length!==0){if(F){validateDuplicateStreamSync({otherStdioItems:I,type:n,value:a,optionName:S,direction:C});return}if(yE.has(n))return getDuplicateStreamInstance({otherStdioItems:I,type:n,value:a,optionName:S,direction:C});bE.has(n)&&validateDuplicateTransform({otherStdioItems:I,type:n,value:a,optionName:S})}},getOtherStdioItems=(n,a)=>n.flatMap(({direction:n,stdioItems:S})=>S.filter(n=>n.type===a).map((a=>({...a,direction:n})))),validateDuplicateStreamSync=({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})=>{vE.has(a)&&getDuplicateStreamInstance({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})},getDuplicateStreamInstance=({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})=>{let F=n.filter(n=>hasSameValue(n,S));if(F.length!==0)return throwOnDuplicateStream(F.find(n=>n.direction!==N),C,a),N===`output`?F[0].stream:void 0},hasSameValue=({type:n,value:a},S)=>n===`filePath`?a.file===S.file:n===`fileUrl`?a.href===S.href:a===S,validateDuplicateTransform=({otherStdioItems:n,type:a,value:S,optionName:C})=>{throwOnDuplicateStream(n.find(({value:{transform:n}})=>n===S.transform),C,a)},throwOnDuplicateStream=(n,a,S)=>{if(n!==void 0)throw TypeError(`The \`${n.optionName}\` and \`${a}\` options must not target ${xE[S]} that is the same.`)}}),handleStdio,getFileDescriptor,initializeStdioItems,initializeStdioItem,validateStdioArray,PE,validateStreams,validateFileStdio,validateFileObjectMode,getFinalFileDescriptors,getFinalFileDescriptor,addStreamProperties,cleanupCustomStreams,forwardStdio,FE=__esmMin(()=>{_C(),wE(),CE(),SE(),OE(),AE(),jE(),ME(),NE(),handleStdio=(n,a,S,C)=>{let N=getFinalFileDescriptors({initialFileDescriptors:normalizeStdioOption(a,S,C).map((n,S)=>getFileDescriptor({stdioOption:n,fdNumber:S,options:a,isSync:C})),addProperties:n,options:a,isSync:C});return a.stdio=N.map(({stdioItems:n})=>forwardStdio(n)),N},getFileDescriptor=({stdioOption:n,fdNumber:a,options:S,isSync:C})=>{let N=getStreamName(a),{stdioItems:F,isStdioArray:I}=initializeStdioItems({stdioOption:n,fdNumber:a,options:S,optionName:N}),H=getStreamDirection(F,a,N),W=normalizeTransforms(F.map(n=>handleNativeStream({stdioItem:n,isStdioArray:I,fdNumber:a,direction:H,isSync:C})),N,H,S),K=getFdObjectMode(W,H);return validateFileObjectMode(W,K),{direction:H,objectMode:K,stdioItems:W}},initializeStdioItems=({stdioOption:n,fdNumber:a,options:S,optionName:C})=>{let N=filterDuplicates([...(Array.isArray(n)?n:[n]).map(n=>initializeStdioItem(n,C)),...handleInputOptions(S,a)]),F=N.length>1;return validateStdioArray(N,F,C),validateStreams(N),{stdioItems:N,isStdioArray:F}},initializeStdioItem=(n,a)=>({type:getStdioItemType(n,a),value:n,optionName:a}),validateStdioArray=(n,a,S)=>{if(n.length===0)throw TypeError(`The \`${S}\` option must not be an empty array.`);if(a){for(let{value:a,optionName:S}of n)if(PE.has(a))throw Error(`The \`${S}\` option must not include \`${a}\`.`)}},PE=new Set([`ignore`,`ipc`]),validateStreams=n=>{for(let a of n)validateFileStdio(a)},validateFileStdio=({type:n,value:a,optionName:S})=>{if(isRegularUrl(a))throw TypeError(`The \`${S}: URL\` option must use the \`file:\` scheme.
718
- For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(isUnknownStdioString(n,a))throw TypeError(`The \`${S}: { file: '...' }\` option must be used instead of \`${S}: '...'\`.`)},validateFileObjectMode=(n,a)=>{if(!a)return;let S=n.find(({type:n})=>_E.has(n));if(S!==void 0)throw TypeError(`The \`${S.optionName}\` option cannot use both files and transforms in objectMode.`)},getFinalFileDescriptors=({initialFileDescriptors:n,addProperties:a,options:S,isSync:C})=>{let N=[];try{for(let F of n)N.push(getFinalFileDescriptor({fileDescriptor:F,fileDescriptors:N,addProperties:a,options:S,isSync:C}));return N}catch(n){throw cleanupCustomStreams(N),n}},getFinalFileDescriptor=({fileDescriptor:{direction:n,objectMode:a,stdioItems:S},fileDescriptors:C,addProperties:N,options:F,isSync:I})=>({direction:n,objectMode:a,stdioItems:S.map(a=>addStreamProperties({stdioItem:a,addProperties:N,direction:n,options:F,fileDescriptors:C,isSync:I}))}),addStreamProperties=({stdioItem:n,addProperties:a,direction:S,options:C,fileDescriptors:N,isSync:F})=>{let I=getDuplicateStream({stdioItem:n,direction:S,fileDescriptors:N,isSync:F});return I===void 0?{...n,...a[S][n.type](n,C)}:{...n,stream:I}},cleanupCustomStreams=n=>{for(let{stdioItems:a}of n)for(let{stream:n}of a)n!==void 0&&!isStandardStream(n)&&n.destroy()},forwardStdio=n=>{if(n.length>1)return n.some(({value:n})=>n===`overlapped`)?`overlapped`:`pipe`;let[{type:a,value:S}]=n;return a===`native`?S:`pipe`}}),handleStdioSync,forbiddenIfSync,forbiddenNativeIfSync,throwInvalidSyncValue,IE,LE,RE=__esmMin(()=>{Zc(),dC(),FE(),SE(),handleStdioSync=(n,a)=>handleStdio(LE,n,a,!0),forbiddenIfSync=({type:n,optionName:a})=>{throwInvalidSyncValue(a,xE[n])},forbiddenNativeIfSync=({optionName:n,value:a})=>((a===`ipc`||a===`overlapped`)&&throwInvalidSyncValue(n,`"${a}"`),{}),throwInvalidSyncValue=(n,a)=>{throw TypeError(`The \`${n}\` option cannot be ${a} with synchronous methods.`)},IE={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync},LE={input:{...IE,fileUrl:({value:n})=>({contents:[bufferToUint8Array(readFileSync(n))]}),filePath:({value:{file:n}})=>({contents:[bufferToUint8Array(readFileSync(n))]}),fileNumber:forbiddenIfSync,iterable:({value:n})=>({contents:[...n]}),string:({value:n})=>({contents:[n]}),uint8Array:({value:n})=>({contents:[n]})},output:{...IE,fileUrl:({value:n})=>({path:n}),filePath:({value:{file:n,append:a}})=>({path:n,append:a}),fileNumber:({value:n})=>({path:n}),iterable:forbiddenIfSync,string:forbiddenIfSync,uint8Array:forbiddenIfSync}}}),stripNewline,getStripFinalNewline,zE=__esmMin(()=>{PT(),stripNewline=(n,{stripFinalNewline:a},S)=>getStripFinalNewline(a,S)&&n!==void 0&&!Array.isArray(n)?stripFinalNewline(n):n,getStripFinalNewline=(n,a)=>a===`all`?n[1]||n[2]:n[a]}),getSplitLinesGenerator,splitLinesSync,splitLinesItemSync,initializeSplitLines,splitGenerator,getNewlineLength,linesFinal,getAppendNewlineGenerator,appendNewlineGenerator,concatString,BE,concatUint8Array,VE,HE=__esmMin(()=>{getSplitLinesGenerator=(n,a,S,C)=>n||S?void 0:initializeSplitLines(a,C),splitLinesSync=(n,a,S)=>S?n.flatMap(n=>splitLinesItemSync(n,a)):splitLinesItemSync(n,a),splitLinesItemSync=(n,a)=>{let{transform:S,final:C}=initializeSplitLines(a,{});return[...S(n),...C()]},initializeSplitLines=(n,a)=>(a.previousChunks=``,{transform:splitGenerator.bind(void 0,a,n),final:linesFinal.bind(void 0,a)}),splitGenerator=function*(n,a,S){if(typeof S!=`string`){yield S;return}let{previousChunks:C}=n,N=-1;for(let F=0;F<S.length;F+=1)if(S[F]===`
719
- `){let I=getNewlineLength(S,F,a,n),H=S.slice(N+1,F+1-I);C.length>0&&(H=concatString(C,H),C=``),yield H,N=F}N!==S.length-1&&(C=concatString(C,S.slice(N+1))),n.previousChunks=C},getNewlineLength=(n,a,S,C)=>S?0:(C.isWindowsNewline=a!==0&&n[a-1]===`\r`,C.isWindowsNewline?2:1),linesFinal=function*({previousChunks:n}){n.length>0&&(yield n)},getAppendNewlineGenerator=({binary:n,preserveNewlines:a,readableObjectMode:S,state:C})=>n||a||S?void 0:{transform:appendNewlineGenerator.bind(void 0,C)},appendNewlineGenerator=function*({isWindowsNewline:n=!1},a){let{unixNewline:S,windowsNewline:C,LF:N,concatBytes:F}=typeof a==`string`?BE:VE;if(a.at(-1)===N){yield a;return}yield F(a,n?C:S)},concatString=(n,a)=>`${n}${a}`,BE={windowsNewline:`\r
717
+ `):serializeMessageItem(n),serializeMessageItem=n=>typeof n==`string`?n:isUint8Array(n)?uint8ArrayToString(n):``}),makeSuccessResult,makeEarlyError,makeError,getErrorProperties,omitUndefinedProperties,normalizeExitPayload,sE=__esmMin(()=>{Rw(),aw(),Dw(),oE(),makeSuccessResult=({command:n,escapedCommand:a,stdio:S,all:C,ipcOutput:N,options:{cwd:F},startTime:I})=>omitUndefinedProperties({command:n,escapedCommand:a,cwd:F,durationMs:getDurationMs(I),failed:!1,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isTerminated:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,exitCode:0,stdout:S[1],stderr:S[2],all:C,stdio:S,ipcOutput:N,pipedFrom:[]}),makeEarlyError=({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,isSync:I})=>makeError({error:n,command:a,escapedCommand:S,startTime:F,timedOut:!1,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:!1,isForcefullyTerminated:!1,stdio:Array.from({length:C.length}),ipcOutput:[],options:N,isSync:I}),makeError=({error:n,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,stdio:Y,all:X,ipcOutput:te,options:{timeoutDuration:ne,timeout:re=ne,forceKillAfterDelay:ie,killSignal:ae,cwd:oe,maxBuffer:Z},isSync:se})=>{let{exitCode:ce,signal:le,signalDescription:ue}=normalizeExitPayload(K,q),{originalMessage:de,shortMessage:fe,message:pe}=createMessages({stdio:Y,all:X,ipcOutput:te,originalError:n,signal:le,signalDescription:ue,exitCode:ce,escapedCommand:S,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,forceKillAfterDelay:ie,killSignal:ae,maxBuffer:Z,timeout:re,cwd:oe}),me=getFinalError(n,pe,se);return Object.assign(me,getErrorProperties({error:me,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:ce,signal:le,signalDescription:ue,stdio:Y,all:X,ipcOutput:te,cwd:oe,originalMessage:de,shortMessage:fe})),me},getErrorProperties=({error:n,command:a,escapedCommand:S,startTime:C,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,signalDescription:Y,stdio:X,all:te,ipcOutput:ne,cwd:re,originalMessage:ie,shortMessage:ae})=>omitUndefinedProperties({shortMessage:ae,originalMessage:ie,command:a,escapedCommand:S,cwd:re,durationMs:getDurationMs(C),failed:!0,timedOut:N,isCanceled:F,isGracefullyCanceled:I,isTerminated:q!==void 0,isMaxBuffer:H,isForcefullyTerminated:W,exitCode:K,signal:q,signalDescription:Y,code:n.cause?.code,stdout:X[1],stderr:X[2],all:te,stdio:X,ipcOutput:ne,pipedFrom:[]}),omitUndefinedProperties=n=>Object.fromEntries(Object.entries(n).filter(([,n])=>n!==void 0)),normalizeExitPayload=(n,a)=>{let S=n===null?void 0:n,C=a===null?void 0:a;return{exitCode:S,signal:C,signalDescription:C===void 0?void 0:getSignalDescription(a)}}});function parseNumber(n){return{days:Math.trunc(n/864e5),hours:Math.trunc(n/36e5%24),minutes:Math.trunc(n/6e4%60),seconds:Math.trunc(n/1e3%60),milliseconds:Math.trunc(n%1e3),microseconds:Math.trunc(toZeroIfInfinity(n*1e3)%1e3),nanoseconds:Math.trunc(toZeroIfInfinity(n*1e6)%1e3)}}function parseBigint(n){return{days:n/86400000n,hours:n/3600000n%24n,minutes:n/60000n%60n,seconds:n/1000n%60n,milliseconds:n%1000n,microseconds:0n,nanoseconds:0n}}function parseMilliseconds(n){switch(typeof n){case`number`:if(Number.isFinite(n))return parseNumber(n);break;case`bigint`:return parseBigint(n)}throw TypeError(`Expected a finite number or bigint`)}var toZeroIfInfinity,cE=__esmMin(()=>{toZeroIfInfinity=n=>Number.isFinite(n)?n:0});function prettyMilliseconds(n,a){let S=typeof n==`bigint`;if(!S&&!Number.isFinite(n))throw TypeError(`Expected a finite number or bigint`);a={...a};let C=n<0?`-`:``;n=n<0?-n:n,a.colonNotation&&(a.compact=!1,a.formatSubMilliseconds=!1,a.separateMilliseconds=!1,a.verbose=!1),a.compact&&(a.unitCount=1,a.secondsDecimalDigits=0,a.millisecondsDecimalDigits=0);let N=[],floorDecimals=(n,a)=>{let S=Math.floor(n*10**a+lE);return(Math.round(S)/10**a).toFixed(a)},add=(n,S,C,F)=>{if(!((N.length===0||!a.colonNotation)&&isZero(n)&&!(a.colonNotation&&C===`m`))){if(F??=String(n),a.colonNotation){let n=F.includes(`.`)?F.split(`.`)[0].length:F.length,a=N.length>0?2:1;F=`0`.repeat(Math.max(0,a-n))+F}else F+=a.verbose?` `+pluralize(S,n):C;N.push(F)}},F=parseMilliseconds(n),I=BigInt(F.days);if(a.hideYearAndDays?add(BigInt(I)*24n+BigInt(F.hours),`hour`,`h`):(a.hideYear?add(I,`day`,`d`):(add(I/365n,`year`,`y`),add(I%365n,`day`,`d`)),add(Number(F.hours),`hour`,`h`)),add(Number(F.minutes),`minute`,`m`),!a.hideSeconds)if(a.separateMilliseconds||a.formatSubMilliseconds||!a.colonNotation&&n<1e3&&!a.subSecondsAsDecimals){let n=Number(F.seconds),S=Number(F.milliseconds),C=Number(F.microseconds),N=Number(F.nanoseconds);if(add(n,`second`,`s`),a.formatSubMilliseconds)add(S,`millisecond`,`ms`),add(C,`microsecond`,`µs`),add(N,`nanosecond`,`ns`);else{let n=S+C/1e3+N/1e6,F=typeof a.millisecondsDecimalDigits==`number`?a.millisecondsDecimalDigits:0,I=F?n.toFixed(F):n>=1?Math.round(n):Math.ceil(n);add(Number.parseFloat(I),`millisecond`,`ms`,I)}}else{let C=floorDecimals((S?Number(n%uE):n)/1e3%60,typeof a.secondsDecimalDigits==`number`?a.secondsDecimalDigits:1),N=a.keepDecimalsOnWholeSeconds?C:C.replace(/\.0+$/,``);add(Number.parseFloat(N),`second`,`s`,N)}if(N.length===0)return C+`0`+(a.verbose?` milliseconds`:`ms`);let H=a.colonNotation?`:`:` `;return typeof a.unitCount==`number`&&(N=N.slice(0,Math.max(a.unitCount,1))),C+N.join(H)}var isZero,pluralize,lE,uE,dE=__esmMin(()=>{cE(),isZero=n=>n===0||n===0n,pluralize=(n,a)=>a===1||a===1n?n:`${n}s`,lE=1e-7,uE=24n*60n*60n*1000n}),logError,fE=__esmMin(()=>{tw(),logError=(n,a)=>{n.failed&&verboseLog({type:`error`,verboseMessage:n.shortMessage,verboseInfo:a,result:n})}}),logResult,logDuration,pE=__esmMin(()=>{dE(),TC(),tw(),fE(),logResult=(n,a)=>{isVerbose(a)&&(logError(n,a),logDuration(n,a))},logDuration=(n,a)=>{verboseLog({type:`duration`,verboseMessage:`(done in ${prettyMilliseconds(n.durationMs)})`,verboseInfo:a,result:n})}}),handleResult,mE=__esmMin(()=>{pE(),handleResult=(n,a,{reject:S})=>{if(logResult(n,a),n.failed&&S)throw n;return n}}),getStdioItemType,getTransformObjectType,getDuplexType,getTransformStreamType,validateNonGeneratorType,checkUndefinedOption,getGeneratorObjectType,checkBooleanOption,isGenerator,isAsyncGenerator,isSyncGenerator,isTransformOptions,isUrl,isRegularUrl,isFilePathObject,hE,isFilePathString,isUnknownStdioString,gE,isReadableStream,isWritableStream,isWebStream,isTransformStream,isAsyncIterableObject,isIterableObject,isObject,_E,vE,yE,bE,xE,SE,CE=__esmMin(()=>{IT(),nC(),fC(),getStdioItemType=(n,a)=>isAsyncGenerator(n)?`asyncGenerator`:isSyncGenerator(n)?`generator`:isUrl(n)?`fileUrl`:isFilePathObject(n)?`filePath`:isWebStream(n)?`webStream`:isStream(n,{checkOpen:!1})?`native`:isUint8Array(n)?`uint8Array`:isAsyncIterableObject(n)?`asyncIterable`:isIterableObject(n)?`iterable`:isTransformStream(n)?getTransformStreamType({transform:n},a):isTransformOptions(n)?getTransformObjectType(n,a):`native`,getTransformObjectType=(n,a)=>isDuplexStream(n.transform,{checkOpen:!1})?getDuplexType(n,a):isTransformStream(n.transform)?getTransformStreamType(n,a):getGeneratorObjectType(n,a),getDuplexType=(n,a)=>(validateNonGeneratorType(n,a,`Duplex stream`),`duplex`),getTransformStreamType=(n,a)=>(validateNonGeneratorType(n,a,`web TransformStream`),`webTransform`),validateNonGeneratorType=({final:n,binary:a,objectMode:S},C,N)=>{checkUndefinedOption(n,`${C}.final`,N),checkUndefinedOption(a,`${C}.binary`,N),checkBooleanOption(S,`${C}.objectMode`)},checkUndefinedOption=(n,a,S)=>{if(n!==void 0)throw TypeError(`The \`${a}\` option can only be defined when using a generator, not a ${S}.`)},getGeneratorObjectType=({transform:n,final:a,binary:S,objectMode:C},N)=>{if(n!==void 0&&!isGenerator(n))throw TypeError(`The \`${N}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`);if(isDuplexStream(a,{checkOpen:!1}))throw TypeError(`The \`${N}.final\` option must not be a Duplex stream.`);if(isTransformStream(a))throw TypeError(`The \`${N}.final\` option must not be a web TransformStream.`);if(a!==void 0&&!isGenerator(a))throw TypeError(`The \`${N}.final\` option must be a generator.`);return checkBooleanOption(S,`${N}.binary`),checkBooleanOption(C,`${N}.objectMode`),isAsyncGenerator(n)||isAsyncGenerator(a)?`asyncGenerator`:`generator`},checkBooleanOption=(n,a)=>{if(n!==void 0&&typeof n!=`boolean`)throw TypeError(`The \`${a}\` option must use a boolean.`)},isGenerator=n=>isAsyncGenerator(n)||isSyncGenerator(n),isAsyncGenerator=n=>Object.prototype.toString.call(n)===`[object AsyncGeneratorFunction]`,isSyncGenerator=n=>Object.prototype.toString.call(n)===`[object GeneratorFunction]`,isTransformOptions=n=>isPlainObject(n)&&(n.transform!==void 0||n.final!==void 0),isUrl=n=>Object.prototype.toString.call(n)===`[object URL]`,isRegularUrl=n=>isUrl(n)&&n.protocol!==`file:`,isFilePathObject=n=>isPlainObject(n)&&Object.keys(n).length>0&&Object.keys(n).every(n=>hE.has(n))&&isFilePathString(n.file),hE=new Set([`file`,`append`]),isFilePathString=n=>typeof n==`string`,isUnknownStdioString=(n,a)=>n===`native`&&typeof a==`string`&&!gE.has(a),gE=new Set([`ipc`,`ignore`,`inherit`,`overlapped`,`pipe`]),isReadableStream=n=>Object.prototype.toString.call(n)===`[object ReadableStream]`,isWritableStream=n=>Object.prototype.toString.call(n)===`[object WritableStream]`,isWebStream=n=>isReadableStream(n)||isWritableStream(n),isTransformStream=n=>isReadableStream(n?.readable)&&isWritableStream(n?.writable),isAsyncIterableObject=n=>isObject(n)&&typeof n[Symbol.asyncIterator]==`function`,isIterableObject=n=>isObject(n)&&typeof n[Symbol.iterator]==`function`,isObject=n=>typeof n==`object`&&!!n,_E=new Set([`generator`,`asyncGenerator`,`duplex`,`webTransform`]),vE=new Set([`fileUrl`,`filePath`,`fileNumber`]),yE=new Set([`fileUrl`,`filePath`]),bE=new Set([...yE,`webStream`,`nodeStream`]),xE=new Set([`webTransform`,`duplex`]),SE={generator:`a generator`,asyncGenerator:`an async generator`,fileUrl:`a file URL`,filePath:`a file path string`,fileNumber:`a file descriptor number`,webStream:`a web stream`,nodeStream:`a Node.js stream`,webTransform:`a web TransformStream`,duplex:`a Duplex stream`,native:`any value`,iterable:`an iterable`,asyncIterable:`an async iterable`,string:`a string`,uint8Array:`a Uint8Array`}}),getTransformObjectModes,getOutputObjectModes,getInputObjectModes,getFdObjectMode,wE=__esmMin(()=>{CE(),getTransformObjectModes=(n,a,S,C)=>C===`output`?getOutputObjectModes(n,a,S):getInputObjectModes(n,a,S),getOutputObjectModes=(n,a,S)=>{let C=a!==0&&S[a-1].value.readableObjectMode;return{writableObjectMode:C,readableObjectMode:n??C}},getInputObjectModes=(n,a,S)=>{let C=a===0?n===!0:S[a-1].value.readableObjectMode;return{writableObjectMode:C,readableObjectMode:a!==S.length-1&&(n??C)}},getFdObjectMode=(n,a)=>{let S=n.findLast(({type:n})=>_E.has(n));return S===void 0?!1:a===`input`?S.value.writableObjectMode:S.value.readableObjectMode}}),normalizeTransforms,getTransforms,normalizeTransform,normalizeDuplex,normalizeTransformStream,normalizeGenerator,sortTransforms,TE=__esmMin(()=>{nC(),ET(),CE(),wE(),normalizeTransforms=(n,a,S,C)=>[...n.filter(({type:n})=>!_E.has(n)),...getTransforms(n,a,S,C)],getTransforms=(n,a,S,{encoding:C})=>{let N=n.filter(({type:n})=>_E.has(n)),F=Array.from({length:N.length});for(let[n,I]of Object.entries(N))F[n]=normalizeTransform({stdioItem:I,index:Number(n),newTransforms:F,optionName:a,direction:S,encoding:C});return sortTransforms(F,S)},normalizeTransform=({stdioItem:n,stdioItem:{type:a},index:S,newTransforms:C,optionName:N,direction:F,encoding:I})=>a===`duplex`?normalizeDuplex({stdioItem:n,optionName:N}):a===`webTransform`?normalizeTransformStream({stdioItem:n,index:S,newTransforms:C,direction:F}):normalizeGenerator({stdioItem:n,index:S,newTransforms:C,direction:F,encoding:I}),normalizeDuplex=({stdioItem:n,stdioItem:{value:{transform:a,transform:{writableObjectMode:S,readableObjectMode:C},objectMode:N=C}},optionName:F})=>{if(N&&!C)throw TypeError(`The \`${F}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`);if(!N&&C)throw TypeError(`The \`${F}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`);return{...n,value:{transform:a,writableObjectMode:S,readableObjectMode:C}}},normalizeTransformStream=({stdioItem:n,stdioItem:{value:a},index:S,newTransforms:C,direction:N})=>{let{transform:F,objectMode:I}=isPlainObject(a)?a:{transform:a},{writableObjectMode:H,readableObjectMode:W}=getTransformObjectModes(I,S,C,N);return{...n,value:{transform:F,writableObjectMode:H,readableObjectMode:W}}},normalizeGenerator=({stdioItem:n,stdioItem:{value:a},index:S,newTransforms:C,direction:N,encoding:F})=>{let{transform:I,final:H,binary:W=!1,preserveNewlines:K=!1,objectMode:q}=isPlainObject(a)?a:{transform:a},Y=W||CT.has(F),{writableObjectMode:X,readableObjectMode:te}=getTransformObjectModes(q,S,C,N);return{...n,value:{transform:I,final:H,binary:Y,preserveNewlines:K,writableObjectMode:X,readableObjectMode:te}}},sortTransforms=(n,a)=>a===`input`?n.reverse():n}),getStreamDirection,getStdioItemDirection,EE,anyDirection,alwaysInput,DE,getStandardStreamDirection,OE,kE=__esmMin(()=>{sn(),IT(),CE(),getStreamDirection=(n,a,S)=>{let C=n.map(n=>getStdioItemDirection(n,a));if(C.includes(`input`)&&C.includes(`output`))throw TypeError(`The \`${S}\` option must not be an array of both readable and writable values.`);return C.find(Boolean)??OE},getStdioItemDirection=({type:n,value:a},S)=>EE[S]??DE[n](a),EE=[`input`,`output`,`output`],anyDirection=()=>void 0,alwaysInput=()=>`input`,DE={generator:anyDirection,asyncGenerator:anyDirection,fileUrl:anyDirection,filePath:anyDirection,iterable:alwaysInput,asyncIterable:alwaysInput,uint8Array:alwaysInput,webStream:n=>isWritableStream(n)?`output`:`input`,nodeStream(n){return isReadableStream$1(n,{checkOpen:!1})?isWritableStream$1(n,{checkOpen:!1})?void 0:`input`:`output`},webTransform:anyDirection,duplex:anyDirection,native(n){let a=getStandardStreamDirection(n);if(a!==void 0)return a;if(isStream(n,{checkOpen:!1}))return DE.nodeStream(n)}},getStandardStreamDirection=n=>{if([0,$t.stdin].includes(n))return`input`;if([1,2,$t.stdout,$t.stderr].includes(n))return`output`},OE=`output`}),normalizeIpcStdioArray,AE=__esmMin(()=>{normalizeIpcStdioArray=(n,a)=>a&&!n.includes(`ipc`)?[...n,`ipc`]:n}),normalizeStdioOption,getStdioArray,hasAlias,addDefaultValue,normalizeStdioSync,isOutputPipeOnly,jE=__esmMin(()=>{vC(),AE(),TC(),normalizeStdioOption=({stdio:n,ipc:a,buffer:S,...C},N,F)=>{let I=getStdioArray(n,C).map((n,a)=>addDefaultValue(n,a));return F?normalizeStdioSync(I,S,N):normalizeIpcStdioArray(I,a)},getStdioArray=(n,a)=>{if(n===void 0)return _C.map(n=>a[n]);if(hasAlias(a))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${_C.map(n=>`\`${n}\``).join(`, `)}`);if(typeof n==`string`)return[n,n,n];if(!Array.isArray(n))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof n}\``);let S=Math.max(n.length,_C.length);return Array.from({length:S},(a,S)=>n[S])},hasAlias=n=>_C.some(a=>n[a]!==void 0),addDefaultValue=(n,a)=>Array.isArray(n)?n.map(n=>addDefaultValue(n,a)):n??(a>=_C.length?`ignore`:`pipe`),normalizeStdioSync=(n,a,S)=>n.map((n,C)=>!a[C]&&C!==0&&!isFullVerbose(S,C)&&isOutputPipeOnly(n)?`ignore`:n),isOutputPipeOnly=n=>n===`pipe`||Array.isArray(n)&&n.every(n=>n===`pipe`)}),handleNativeStream,handleNativeStreamSync,getTargetFd,getTargetFdNumber,handleNativeStreamAsync,getStandardStream,ME=__esmMin(()=>{Zc(),VC(),IT(),vC(),fC(),Jw(),handleNativeStream=({stdioItem:n,stdioItem:{type:a},isStdioArray:S,fdNumber:C,direction:N,isSync:F})=>!S||a!==`native`?n:F?handleNativeStreamSync({stdioItem:n,fdNumber:C,direction:N}):handleNativeStreamAsync({stdioItem:n,fdNumber:C}),handleNativeStreamSync=({stdioItem:n,stdioItem:{value:a,optionName:S},fdNumber:C,direction:N})=>{let F=getTargetFd({value:a,optionName:S,fdNumber:C,direction:N});if(F!==void 0)return F;if(isStream(a,{checkOpen:!1}))throw TypeError(`The \`${S}: Stream\` option cannot both be an array and include a stream with synchronous methods.`);return n},getTargetFd=({value:n,optionName:a,fdNumber:S,direction:C})=>{let N=getTargetFdNumber(n,S);if(N!==void 0){if(C===`output`)return{type:`fileNumber`,value:N,optionName:a};if(BC.isatty(N))throw TypeError(`The \`${a}: ${serializeOptionValue(n)}\` option is invalid: it cannot be a TTY with synchronous methods.`);return{type:`uint8Array`,value:bufferToUint8Array(readFileSync(N)),optionName:a}}},getTargetFdNumber=(n,a)=>{if(n===`inherit`)return a;if(typeof n==`number`)return n;let S=gC.indexOf(n);if(S!==-1)return S},handleNativeStreamAsync=({stdioItem:n,stdioItem:{value:a,optionName:S},fdNumber:C})=>a===`inherit`?{type:`nodeStream`,value:getStandardStream(C,a,S),optionName:S}:typeof a==`number`?{type:`nodeStream`,value:getStandardStream(a,a,S),optionName:S}:isStream(a,{checkOpen:!1})?{type:`nodeStream`,value:a,optionName:S}:n,getStandardStream=(n,a,S)=>{let C=gC[n];if(C===void 0)throw TypeError(`The \`${S}: ${a}\` option is invalid: no such standard stream.`);return C}}),handleInputOptions,handleInputOption,getInputType,handleInputFileOption,getInputFileType,NE=__esmMin(()=>{IT(),fC(),CE(),handleInputOptions=({input:n,inputFile:a},S)=>S===0?[...handleInputOption(n),...handleInputFileOption(a)]:[],handleInputOption=n=>n===void 0?[]:[{type:getInputType(n),value:n,optionName:`input`}],getInputType=n=>{if(isReadableStream$1(n,{checkOpen:!1}))return`nodeStream`;if(typeof n==`string`)return`string`;if(isUint8Array(n))return`uint8Array`;throw Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")},handleInputFileOption=n=>n===void 0?[]:[{...getInputFileType(n),optionName:`inputFile`}],getInputFileType=n=>{if(isUrl(n))return{type:`fileUrl`,value:n};if(isFilePathString(n))return{type:`filePath`,value:{file:n}};throw Error("The `inputFile` option must be a file path string or a file URL.")}}),filterDuplicates,getDuplicateStream,getOtherStdioItems,validateDuplicateStreamSync,getDuplicateStreamInstance,hasSameValue,validateDuplicateTransform,throwOnDuplicateStream,PE=__esmMin(()=>{CE(),filterDuplicates=n=>n.filter((a,S)=>n.every((n,C)=>a.value!==n.value||S>=C||a.type===`generator`||a.type===`asyncGenerator`)),getDuplicateStream=({stdioItem:{type:n,value:a,optionName:S},direction:C,fileDescriptors:N,isSync:F})=>{let I=getOtherStdioItems(N,n);if(I.length!==0){if(F){validateDuplicateStreamSync({otherStdioItems:I,type:n,value:a,optionName:S,direction:C});return}if(bE.has(n))return getDuplicateStreamInstance({otherStdioItems:I,type:n,value:a,optionName:S,direction:C});xE.has(n)&&validateDuplicateTransform({otherStdioItems:I,type:n,value:a,optionName:S})}},getOtherStdioItems=(n,a)=>n.flatMap(({direction:n,stdioItems:S})=>S.filter(n=>n.type===a).map((a=>({...a,direction:n})))),validateDuplicateStreamSync=({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})=>{yE.has(a)&&getDuplicateStreamInstance({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})},getDuplicateStreamInstance=({otherStdioItems:n,type:a,value:S,optionName:C,direction:N})=>{let F=n.filter(n=>hasSameValue(n,S));if(F.length!==0)return throwOnDuplicateStream(F.find(n=>n.direction!==N),C,a),N===`output`?F[0].stream:void 0},hasSameValue=({type:n,value:a},S)=>n===`filePath`?a.file===S.file:n===`fileUrl`?a.href===S.href:a===S,validateDuplicateTransform=({otherStdioItems:n,type:a,value:S,optionName:C})=>{throwOnDuplicateStream(n.find(({value:{transform:n}})=>n===S.transform),C,a)},throwOnDuplicateStream=(n,a,S)=>{if(n!==void 0)throw TypeError(`The \`${n.optionName}\` and \`${a}\` options must not target ${SE[S]} that is the same.`)}}),handleStdio,getFileDescriptor,initializeStdioItems,initializeStdioItem,validateStdioArray,FE,validateStreams,validateFileStdio,validateFileObjectMode,getFinalFileDescriptors,getFinalFileDescriptor,addStreamProperties,cleanupCustomStreams,forwardStdio,IE=__esmMin(()=>{vC(),TE(),wE(),CE(),kE(),jE(),ME(),NE(),PE(),handleStdio=(n,a,S,C)=>{let N=getFinalFileDescriptors({initialFileDescriptors:normalizeStdioOption(a,S,C).map((n,S)=>getFileDescriptor({stdioOption:n,fdNumber:S,options:a,isSync:C})),addProperties:n,options:a,isSync:C});return a.stdio=N.map(({stdioItems:n})=>forwardStdio(n)),N},getFileDescriptor=({stdioOption:n,fdNumber:a,options:S,isSync:C})=>{let N=getStreamName(a),{stdioItems:F,isStdioArray:I}=initializeStdioItems({stdioOption:n,fdNumber:a,options:S,optionName:N}),H=getStreamDirection(F,a,N),W=normalizeTransforms(F.map(n=>handleNativeStream({stdioItem:n,isStdioArray:I,fdNumber:a,direction:H,isSync:C})),N,H,S),K=getFdObjectMode(W,H);return validateFileObjectMode(W,K),{direction:H,objectMode:K,stdioItems:W}},initializeStdioItems=({stdioOption:n,fdNumber:a,options:S,optionName:C})=>{let N=filterDuplicates([...(Array.isArray(n)?n:[n]).map(n=>initializeStdioItem(n,C)),...handleInputOptions(S,a)]),F=N.length>1;return validateStdioArray(N,F,C),validateStreams(N),{stdioItems:N,isStdioArray:F}},initializeStdioItem=(n,a)=>({type:getStdioItemType(n,a),value:n,optionName:a}),validateStdioArray=(n,a,S)=>{if(n.length===0)throw TypeError(`The \`${S}\` option must not be an empty array.`);if(a){for(let{value:a,optionName:S}of n)if(FE.has(a))throw Error(`The \`${S}\` option must not include \`${a}\`.`)}},FE=new Set([`ignore`,`ipc`]),validateStreams=n=>{for(let a of n)validateFileStdio(a)},validateFileStdio=({type:n,value:a,optionName:S})=>{if(isRegularUrl(a))throw TypeError(`The \`${S}: URL\` option must use the \`file:\` scheme.
718
+ For example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`);if(isUnknownStdioString(n,a))throw TypeError(`The \`${S}: { file: '...' }\` option must be used instead of \`${S}: '...'\`.`)},validateFileObjectMode=(n,a)=>{if(!a)return;let S=n.find(({type:n})=>vE.has(n));if(S!==void 0)throw TypeError(`The \`${S.optionName}\` option cannot use both files and transforms in objectMode.`)},getFinalFileDescriptors=({initialFileDescriptors:n,addProperties:a,options:S,isSync:C})=>{let N=[];try{for(let F of n)N.push(getFinalFileDescriptor({fileDescriptor:F,fileDescriptors:N,addProperties:a,options:S,isSync:C}));return N}catch(n){throw cleanupCustomStreams(N),n}},getFinalFileDescriptor=({fileDescriptor:{direction:n,objectMode:a,stdioItems:S},fileDescriptors:C,addProperties:N,options:F,isSync:I})=>({direction:n,objectMode:a,stdioItems:S.map(a=>addStreamProperties({stdioItem:a,addProperties:N,direction:n,options:F,fileDescriptors:C,isSync:I}))}),addStreamProperties=({stdioItem:n,addProperties:a,direction:S,options:C,fileDescriptors:N,isSync:F})=>{let I=getDuplicateStream({stdioItem:n,direction:S,fileDescriptors:N,isSync:F});return I===void 0?{...n,...a[S][n.type](n,C)}:{...n,stream:I}},cleanupCustomStreams=n=>{for(let{stdioItems:a}of n)for(let{stream:n}of a)n!==void 0&&!isStandardStream(n)&&n.destroy()},forwardStdio=n=>{if(n.length>1)return n.some(({value:n})=>n===`overlapped`)?`overlapped`:`pipe`;let[{type:a,value:S}]=n;return a===`native`?S:`pipe`}}),handleStdioSync,forbiddenIfSync,forbiddenNativeIfSync,throwInvalidSyncValue,LE,RE,zE=__esmMin(()=>{Zc(),fC(),IE(),CE(),handleStdioSync=(n,a)=>handleStdio(RE,n,a,!0),forbiddenIfSync=({type:n,optionName:a})=>{throwInvalidSyncValue(a,SE[n])},forbiddenNativeIfSync=({optionName:n,value:a})=>((a===`ipc`||a===`overlapped`)&&throwInvalidSyncValue(n,`"${a}"`),{}),throwInvalidSyncValue=(n,a)=>{throw TypeError(`The \`${n}\` option cannot be ${a} with synchronous methods.`)},LE={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync},RE={input:{...LE,fileUrl:({value:n})=>({contents:[bufferToUint8Array(readFileSync(n))]}),filePath:({value:{file:n}})=>({contents:[bufferToUint8Array(readFileSync(n))]}),fileNumber:forbiddenIfSync,iterable:({value:n})=>({contents:[...n]}),string:({value:n})=>({contents:[n]}),uint8Array:({value:n})=>({contents:[n]})},output:{...LE,fileUrl:({value:n})=>({path:n}),filePath:({value:{file:n,append:a}})=>({path:n,append:a}),fileNumber:({value:n})=>({path:n}),iterable:forbiddenIfSync,string:forbiddenIfSync,uint8Array:forbiddenIfSync}}}),stripNewline,getStripFinalNewline,BE=__esmMin(()=>{FT(),stripNewline=(n,{stripFinalNewline:a},S)=>getStripFinalNewline(a,S)&&n!==void 0&&!Array.isArray(n)?stripFinalNewline(n):n,getStripFinalNewline=(n,a)=>a===`all`?n[1]||n[2]:n[a]}),getSplitLinesGenerator,splitLinesSync,splitLinesItemSync,initializeSplitLines,splitGenerator,getNewlineLength,linesFinal,getAppendNewlineGenerator,appendNewlineGenerator,concatString,VE,concatUint8Array,HE,UE=__esmMin(()=>{getSplitLinesGenerator=(n,a,S,C)=>n||S?void 0:initializeSplitLines(a,C),splitLinesSync=(n,a,S)=>S?n.flatMap(n=>splitLinesItemSync(n,a)):splitLinesItemSync(n,a),splitLinesItemSync=(n,a)=>{let{transform:S,final:C}=initializeSplitLines(a,{});return[...S(n),...C()]},initializeSplitLines=(n,a)=>(a.previousChunks=``,{transform:splitGenerator.bind(void 0,a,n),final:linesFinal.bind(void 0,a)}),splitGenerator=function*(n,a,S){if(typeof S!=`string`){yield S;return}let{previousChunks:C}=n,N=-1;for(let F=0;F<S.length;F+=1)if(S[F]===`
719
+ `){let I=getNewlineLength(S,F,a,n),H=S.slice(N+1,F+1-I);C.length>0&&(H=concatString(C,H),C=``),yield H,N=F}N!==S.length-1&&(C=concatString(C,S.slice(N+1))),n.previousChunks=C},getNewlineLength=(n,a,S,C)=>S?0:(C.isWindowsNewline=a!==0&&n[a-1]===`\r`,C.isWindowsNewline?2:1),linesFinal=function*({previousChunks:n}){n.length>0&&(yield n)},getAppendNewlineGenerator=({binary:n,preserveNewlines:a,readableObjectMode:S,state:C})=>n||a||S?void 0:{transform:appendNewlineGenerator.bind(void 0,C)},appendNewlineGenerator=function*({isWindowsNewline:n=!1},a){let{unixNewline:S,windowsNewline:C,LF:N,concatBytes:F}=typeof a==`string`?VE:HE;if(a.at(-1)===N){yield a;return}yield F(a,n?C:S)},concatString=(n,a)=>`${n}${a}`,VE={windowsNewline:`\r
720
720
  `,unixNewline:`
721
721
  `,LF:`
722
- `,concatBytes:concatString},concatUint8Array=(n,a)=>{let S=new Uint8Array(n.length+a.length);return S.set(n,0),S.set(a,n.length),S},VE={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array}}),getValidateTransformInput,validateStringTransformInput,getValidateTransformReturn,validateObjectTransformReturn,validateStringTransformReturn,validateEmptyReturn,UE=__esmMin(()=>{vt(),dC(),getValidateTransformInput=(n,a)=>n?void 0:validateStringTransformInput.bind(void 0,a),validateStringTransformInput=function*(n,a){if(typeof a!=`string`&&!isUint8Array(a)&&!lt.isBuffer(a))throw TypeError(`The \`${n}\` option's transform must use "objectMode: true" to receive as input: ${typeof a}.`);yield a},getValidateTransformReturn=(n,a)=>n?validateObjectTransformReturn.bind(void 0,a):validateStringTransformReturn.bind(void 0,a),validateObjectTransformReturn=function*(n,a){validateEmptyReturn(n,a),yield a},validateStringTransformReturn=function*(n,a){if(validateEmptyReturn(n,a),typeof a!=`string`&&!isUint8Array(a))throw TypeError(`The \`${n}\` option's function must yield a string or an Uint8Array, not ${typeof a}.`);yield a},validateEmptyReturn=(n,a)=>{if(a==null)throw TypeError(`The \`${n}\` option's function must not call \`yield ${a}\`.
722
+ `,concatBytes:concatString},concatUint8Array=(n,a)=>{let S=new Uint8Array(n.length+a.length);return S.set(n,0),S.set(a,n.length),S},HE={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array}}),getValidateTransformInput,validateStringTransformInput,getValidateTransformReturn,validateObjectTransformReturn,validateStringTransformReturn,validateEmptyReturn,WE=__esmMin(()=>{vt(),fC(),getValidateTransformInput=(n,a)=>n?void 0:validateStringTransformInput.bind(void 0,a),validateStringTransformInput=function*(n,a){if(typeof a!=`string`&&!isUint8Array(a)&&!lt.isBuffer(a))throw TypeError(`The \`${n}\` option's transform must use "objectMode: true" to receive as input: ${typeof a}.`);yield a},getValidateTransformReturn=(n,a)=>n?validateObjectTransformReturn.bind(void 0,a):validateStringTransformReturn.bind(void 0,a),validateObjectTransformReturn=function*(n,a){validateEmptyReturn(n,a),yield a},validateStringTransformReturn=function*(n,a){if(validateEmptyReturn(n,a),typeof a!=`string`&&!isUint8Array(a))throw TypeError(`The \`${n}\` option's function must yield a string or an Uint8Array, not ${typeof a}.`);yield a},validateEmptyReturn=(n,a)=>{if(a==null)throw TypeError(`The \`${n}\` option's function must not call \`yield ${a}\`.
723
723
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
724
- if (condition) { yield value; }`)}}),getEncodingTransformGenerator,encodingUint8ArrayGenerator,encodingStringGenerator,encodingStringFinal,WE=__esmMin(()=>{vt(),Jt(),dC(),getEncodingTransformGenerator=(n,a,S)=>{if(S)return;if(n)return{transform:encodingUint8ArrayGenerator.bind(void 0,new TextEncoder)};let C=new qt(a);return{transform:encodingStringGenerator.bind(void 0,C),final:encodingStringFinal.bind(void 0,C)}},encodingUint8ArrayGenerator=function*(n,a){lt.isBuffer(a)?yield bufferToUint8Array(a):typeof a==`string`?yield n.encode(a):yield a},encodingStringGenerator=function*(n,a){yield isUint8Array(a)?n.write(a):a},encodingStringFinal=function*(n){let a=n.end();a!==``&&(yield a)}}),GE,transformChunk,finalChunks,generatorFinalChunks,KE,qE,JE=__esmMin(()=>{tc(),GE=callbackify(async(n,a,S,C)=>{a.currentIterable=n(...S);try{for await(let n of a.currentIterable)C.push(n)}finally{delete a.currentIterable}}),transformChunk=async function*(n,a,S){if(S===a.length){yield n;return}let{transform:C=qE}=a[S];for await(let N of C(n))yield*transformChunk(N,a,S+1)},finalChunks=async function*(n){for(let[a,{final:S}]of Object.entries(n))yield*generatorFinalChunks(S,Number(a),n)},generatorFinalChunks=async function*(n,a,S){if(n!==void 0)for await(let C of n())yield*transformChunk(C,S,a+1)},KE=callbackify(async({currentIterable:n},a)=>{if(n!==void 0){await(a?n.throw(a):n.return());return}if(a)throw a}),qE=__name$1(function*(n){yield n},`identityGenerator`)}),pushChunksSync,runTransformSync,transformChunkSync,finalChunksSync,generatorFinalChunksSync,identityGenerator,YE=__esmMin(()=>{pushChunksSync=(n,a,S,C)=>{try{for(let C of n(...a))S.push(C);C()}catch(n){C(n)}},runTransformSync=(n,a)=>[...a.flatMap(a=>[...transformChunkSync(a,n,0)]),...finalChunksSync(n)],transformChunkSync=function*(n,a,S){if(S===a.length){yield n;return}let{transform:C=identityGenerator}=a[S];for(let N of C(n))yield*transformChunkSync(N,a,S+1)},finalChunksSync=function*(n){for(let[a,{final:S}]of Object.entries(n))yield*generatorFinalChunksSync(S,Number(a),n)},generatorFinalChunksSync=function*(n,a,S){if(n!==void 0)for(let C of n())yield*transformChunkSync(C,S,a+1)},identityGenerator=function*(n){yield n}}),generatorToStream,runGeneratorsSync,addInternalGenerators,XE=__esmMin(()=>{oi(),SE(),HE(),UE(),WE(),JE(),YE(),generatorToStream=({value:n,value:{transform:a,final:S,writableObjectMode:C,readableObjectMode:N},optionName:F},{encoding:I})=>{let H={},W=addInternalGenerators(n,I,F),K=isAsyncGenerator(a),q=isAsyncGenerator(S),Y=K?GE.bind(void 0,transformChunk,H):pushChunksSync.bind(void 0,transformChunkSync),X=K||q?GE.bind(void 0,finalChunks,H):pushChunksSync.bind(void 0,finalChunksSync),te=K||q?KE.bind(void 0,H):void 0;return{stream:new ri({writableObjectMode:C,writableHighWaterMark:getDefaultHighWaterMark(C),readableObjectMode:N,readableHighWaterMark:getDefaultHighWaterMark(N),transform(n,a,S){Y([n,W,0],this,S)},flush(n){X([W],this,n)},destroy:te})}},runGeneratorsSync=(n,a,S,C)=>{let N=a.filter(({type:n})=>n===`generator`),F=C?N.reverse():N;for(let{value:a,optionName:C}of F)n=runTransformSync(addInternalGenerators(a,S,C),n);return n},addInternalGenerators=({transform:n,final:a,binary:S,writableObjectMode:C,readableObjectMode:N,preserveNewlines:F},I,H)=>{let W={};return[{transform:getValidateTransformInput(C,H)},getEncodingTransformGenerator(S,I,C),getSplitLinesGenerator(S,F,C,W),{transform:n,final:a},{transform:getValidateTransformReturn(N,H)},getAppendNewlineGenerator({binary:S,preserveNewlines:F,readableObjectMode:N,state:W})].filter(Boolean)}}),addInputOptionsSync,getInputFdNumbers,addInputOptionSync,applySingleInputGeneratorsSync,validateSerializable,ZE=__esmMin(()=>{XE(),dC(),SE(),addInputOptionsSync=(n,a)=>{for(let S of getInputFdNumbers(n))addInputOptionSync(n,S,a)},getInputFdNumbers=n=>new Set(Object.entries(n).filter(([,{direction:n}])=>n===`input`).map(([n])=>Number(n))),addInputOptionSync=(n,a,S)=>{let{stdioItems:C}=n[a],N=C.filter(({contents:n})=>n!==void 0);if(N.length!==0){if(a!==0){let[{type:n,optionName:a}]=N;throw TypeError(`Only the \`stdin\` option, not \`${a}\`, can be ${xE[n]} with synchronous methods.`)}S.input=joinToUint8Array(N.map(({contents:n})=>n).map(n=>applySingleInputGeneratorsSync(n,C)))}},applySingleInputGeneratorsSync=(n,a)=>{let S=runGeneratorsSync(n,a,`utf8`,!0);return validateSerializable(S),joinToUint8Array(S)},validateSerializable=n=>{let a=n.find(n=>typeof n!=`string`&&!isUint8Array(n));if(a!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${a}.`)}}),shouldLogOutput,fdUsesVerbose,QE,logLines,logLinesSync,isPipingStream,logLine,$E=__esmMin(()=>{TT(),SE(),ew(),wC(),shouldLogOutput=({stdioItems:n,encoding:a,verboseInfo:S,fdNumber:C})=>C!==`all`&&isFullVerbose(S,C)&&!ST.has(a)&&fdUsesVerbose(C)&&(n.some(({type:n,value:a})=>n===`native`&&QE.has(a))||n.every(({type:n})=>gE.has(n))),fdUsesVerbose=n=>n===1||n===2,QE=new Set([`pipe`,`overlapped`]),logLines=async(n,a,S,C)=>{for await(let N of n)isPipingStream(a)||logLine(N,S,C)},logLinesSync=(n,a,S)=>{for(let C of n)logLine(C,a,S)},isPipingStream=n=>n._readableState.pipes.length>0,logLine=(n,a,S)=>{verboseLog({type:`output`,verboseMessage:serializeVerboseMessage(n),fdNumber:a,verboseInfo:S})}}),transformOutputSync,transformOutputResultSync,runOutputGeneratorsSync,serializeChunks,logOutputSync,writeToFiles,eD=__esmMin(()=>{Zc(),$E(),XE(),HE(),dC(),SE(),iE(),transformOutputSync=({fileDescriptors:n,syncResult:{output:a},options:S,isMaxBuffer:C,verboseInfo:N})=>{if(a===null)return{output:Array.from({length:3})};let F={},I=new Set([]);return{output:a.map((a,H)=>transformOutputResultSync({result:a,fileDescriptors:n,fdNumber:H,state:F,outputFiles:I,isMaxBuffer:C,verboseInfo:N},S)),...F}},transformOutputResultSync=({result:n,fileDescriptors:a,fdNumber:S,state:C,outputFiles:N,isMaxBuffer:F,verboseInfo:I},{buffer:H,encoding:W,lines:K,stripFinalNewline:q,maxBuffer:Y})=>{if(n===null)return;let X=bufferToUint8Array(truncateMaxBufferSync(n,F,Y)),{stdioItems:te,objectMode:ne}=a[S],{serializedResult:re,finalResult:ie=re}=serializeChunks({chunks:runOutputGeneratorsSync([X],te,W,C),objectMode:ne,encoding:W,lines:K,stripFinalNewline:q,fdNumber:S});logOutputSync({serializedResult:re,fdNumber:S,state:C,verboseInfo:I,encoding:W,stdioItems:te,objectMode:ne});let ae=H[S]?ie:void 0;try{return C.error===void 0&&writeToFiles(re,te,N),ae}catch(n){return C.error=n,ae}},runOutputGeneratorsSync=(n,a,S,C)=>{try{return runGeneratorsSync(n,a,S,!1)}catch(a){return C.error=a,n}},serializeChunks=({chunks:n,objectMode:a,encoding:S,lines:C,stripFinalNewline:N,fdNumber:F})=>{if(a)return{serializedResult:n};if(S===`buffer`)return{serializedResult:joinToUint8Array(n)};let I=joinToString(n,S);return C[F]?{serializedResult:I,finalResult:splitLinesSync(I,!N[F],a)}:{serializedResult:I}},logOutputSync=({serializedResult:n,fdNumber:a,state:S,verboseInfo:C,encoding:N,stdioItems:F,objectMode:I})=>{if(!shouldLogOutput({stdioItems:F,encoding:N,verboseInfo:C,fdNumber:a}))return;let H=splitLinesSync(n,!1,I);try{logLinesSync(H,a,C)}catch(n){S.error??=n}},writeToFiles=(n,a,S)=>{for(let{path:C,append:N}of a.filter(({type:n})=>_E.has(n))){let a=typeof C==`string`?C:C.toString();N||S.has(a)?appendFileSync(C,n):(S.add(a),writeFileSync(C,n))}}}),getAllSync,tD=__esmMin(()=>{dC(),zE(),getAllSync=([,n,a],S)=>{if(S.all)return n===void 0?a:a===void 0?n:Array.isArray(n)?Array.isArray(a)?[...n,...a]:[...n,stripNewline(a,S,`all`)]:Array.isArray(a)?[stripNewline(n,S,`all`),...a]:isUint8Array(n)&&isUint8Array(a)?concatUint8Arrays([n,a]):`${n}${a}`}}),waitForExit,waitForExitOrError,waitForSubprocessExit,waitForSuccessfulExit,isSubprocessErrorExit,isFailedExit,nD=__esmMin(()=>{Kt(),Ew(),waitForExit=async(n,a)=>{let[S,C]=await waitForExitOrError(n);return a.isForcefullyTerminated??=!1,[S,C]},waitForExitOrError=async n=>{let[a,S]=await Promise.allSettled([Vt(n,`spawn`),Vt(n,`exit`)]);return a.status===`rejected`?[]:S.status===`rejected`?waitForSubprocessExit(n):S.value},waitForSubprocessExit=async n=>{try{return await Vt(n,`exit`)}catch{return waitForSubprocessExit(n)}},waitForSuccessfulExit=async n=>{let[a,S]=await n;if(!isSubprocessErrorExit(a,S)&&isFailedExit(a,S))throw new DiscardedError;return[a,S]},isSubprocessErrorExit=(n,a)=>n===void 0&&a===void 0,isFailedExit=(n,a)=>n!==0||a!==null}),getExitResultSync,getResultError,rD=__esmMin(()=>{Ew(),iE(),nD(),getExitResultSync=({error:n,status:a,signal:S,output:C},{maxBuffer:N})=>{let F=getResultError(n,a,S);return{resultError:F,exitCode:a,signal:S,timedOut:F?.code===`ETIMEDOUT`,isMaxBuffer:isMaxBufferSync(F,C,N)}},getResultError=(n,a,S)=>n===void 0?isFailedExit(a,S)?new DiscardedError:void 0:n}),execaCoreSync,handleSyncArguments,normalizeSyncOptions,validateSyncOptions,throwInvalidSyncOption,spawnSubprocessSync,runSubprocessSync,normalizeSpawnSyncOptions,getSyncResult,iD=__esmMin(()=>{sC(),aw(),OT(),kT(),oE(),pE(),RE(),zE(),ZE(),eD(),iE(),tD(),rD(),execaCoreSync=(n,a,S)=>{let{file:C,commandArguments:N,command:F,escapedCommand:I,startTime:H,verboseInfo:W,options:K,fileDescriptors:q}=handleSyncArguments(n,a,S);return handleResult(spawnSubprocessSync({file:C,commandArguments:N,options:K,command:F,escapedCommand:I,verboseInfo:W,fileDescriptors:q,startTime:H}),W,K)},handleSyncArguments=(n,a,S)=>{let{command:C,escapedCommand:N,startTime:F,verboseInfo:I}=handleCommand(n,a,S),{file:H,commandArguments:W,options:K}=normalizeOptions(n,a,normalizeSyncOptions(S));return validateSyncOptions(K),{file:H,commandArguments:W,command:C,escapedCommand:N,startTime:F,verboseInfo:I,options:K,fileDescriptors:handleStdioSync(K,I)}},normalizeSyncOptions=n=>n.node&&!n.ipc?{...n,ipc:!1}:n,validateSyncOptions=({ipc:n,ipcInput:a,detached:S,cancelSignal:C})=>{a&&throwInvalidSyncOption(`ipcInput`),n&&throwInvalidSyncOption(`ipc: true`),S&&throwInvalidSyncOption(`detached: true`),C&&throwInvalidSyncOption(`cancelSignal`)},throwInvalidSyncOption=n=>{throw TypeError(`The "${n}" option cannot be used with synchronous methods.`)},spawnSubprocessSync=({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,verboseInfo:F,fileDescriptors:I,startTime:H})=>{let W=runSubprocessSync({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,fileDescriptors:I,startTime:H});if(W.failed)return W;let{resultError:K,exitCode:q,signal:Y,timedOut:X,isMaxBuffer:te}=getExitResultSync(W,S),{output:ne,error:re=K}=transformOutputSync({fileDescriptors:I,syncResult:W,options:S,isMaxBuffer:te,verboseInfo:F});return getSyncResult({error:re,exitCode:q,signal:Y,timedOut:X,isMaxBuffer:te,stdio:ne.map((n,a)=>stripNewline(n,S,a)),all:stripNewline(getAllSync(ne,S),S,`all`),options:S,command:C,escapedCommand:N,startTime:H})},runSubprocessSync=({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,fileDescriptors:F,startTime:I})=>{try{return addInputOptionsSync(F,S),spawnSync(...concatenateShell(n,a,normalizeSpawnSyncOptions(S)))}catch(n){return makeEarlyError({error:n,command:C,escapedCommand:N,fileDescriptors:F,options:S,startTime:I,isSync:!0})}},normalizeSpawnSyncOptions=({encoding:n,maxBuffer:a,...S})=>({...S,encoding:`buffer`,maxBuffer:getMaxBufferSync(a)}),getSyncResult=({error:n,exitCode:a,signal:S,timedOut:C,isMaxBuffer:N,stdio:F,all:I,options:H,command:W,escapedCommand:K,startTime:q})=>n===void 0?makeSuccessResult({command:W,escapedCommand:K,stdio:F,all:I,ipcOutput:[],options:H,startTime:q}):makeError({error:n,command:W,escapedCommand:K,timedOut:C,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:N,isForcefullyTerminated:!1,exitCode:a,signal:S,stdio:F,all:I,ipcOutput:[],options:H,startTime:q,isSync:!0})}),aD,getOneMessageAsync,getMessage,throwOnDisconnect,throwOnStrictError,oD=__esmMin(()=>{Kt(),Ww(),$w(),Yw(),aD=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},{reference:N=!0,filter:F}={})=>(validateIpcMethod({methodName:`getOneMessage`,isSubprocess:S,ipc:C,isConnected:isConnected(n)}),getOneMessageAsync({anyProcess:n,channel:a,isSubprocess:S,filter:F,reference:N})),`getOneMessage`),getOneMessageAsync=async({anyProcess:n,channel:a,isSubprocess:S,filter:C,reference:N})=>{addReference(a,N);let F=getIpcEmitter(n,a,S),I=new AbortController;try{return await Promise.race([getMessage(F,C,I),throwOnDisconnect(F,S,I),throwOnStrictError(F,S,I)])}catch(a){throw disconnect(n),a}finally{I.abort(),removeReference(a,N)}},getMessage=async(n,a,{signal:S})=>{if(a===void 0){let[a]=await Vt(n,`message`,{signal:S});return a}for await(let[C]of Ht(n,`message`,{signal:S}))if(a(C))return C},throwOnDisconnect=async(n,a,{signal:S})=>{await Vt(n,`disconnect`,{signal:S}),throwOnEarlyDisconnect(a)},throwOnStrictError=async(n,a,{signal:S})=>{let[C]=await Vt(n,`strict:error`,{signal:S});throw getStrictResponseError(C,a)}}),sD,loopOnMessages,stopOnDisconnect,abortOnStrictError,iterateOnMessages,throwIfStrictError,cD=__esmMin(()=>{Kt(),Ww(),$w(),Yw(),sD=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},{reference:N=!0}={})=>loopOnMessages({anyProcess:n,channel:a,isSubprocess:S,ipc:C,shouldAwait:!S,reference:N}),`getEachMessage`),loopOnMessages=({anyProcess:n,channel:a,isSubprocess:S,ipc:C,shouldAwait:N,reference:F})=>{validateIpcMethod({methodName:`getEachMessage`,isSubprocess:S,ipc:C,isConnected:isConnected(n)}),addReference(a,F);let I=getIpcEmitter(n,a,S),H=new AbortController,W={};return stopOnDisconnect(n,I,H),abortOnStrictError({ipcEmitter:I,isSubprocess:S,controller:H,state:W}),iterateOnMessages({anyProcess:n,channel:a,ipcEmitter:I,isSubprocess:S,shouldAwait:N,controller:H,state:W,reference:F})},stopOnDisconnect=async(n,a,S)=>{try{await Vt(a,`disconnect`,{signal:S.signal}),S.abort()}catch{}},abortOnStrictError=async({ipcEmitter:n,isSubprocess:a,controller:S,state:C})=>{try{let[N]=await Vt(n,`strict:error`,{signal:S.signal});C.error=getStrictResponseError(N,a),S.abort()}catch{}},iterateOnMessages=async function*({anyProcess:n,channel:a,ipcEmitter:S,isSubprocess:C,shouldAwait:N,controller:F,state:I,reference:H}){try{for await(let[n]of Ht(S,`message`,{signal:F.signal}))throwIfStrictError(I),yield n}catch{throwIfStrictError(I)}finally{F.abort(),removeReference(a,H),C||disconnect(n),N&&await n}},throwIfStrictError=({error:n})=>{if(n)throw n}}),addIpcMethods,getIpcExport,getIpcMethods,lD=__esmMin(()=>{sn(),uT(),oD(),cD(),hT(),addIpcMethods=(n,{ipc:a})=>{Object.assign(n,getIpcMethods(n,!1,a))},getIpcExport=()=>{let n=$t,a=$t.channel!==void 0;return{...getIpcMethods(n,!0,a),getCancelSignal:dT.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:!0,ipc:a})}},getIpcMethods=(n,a,S)=>({sendMessage:cT.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S}),getOneMessage:aD.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S}),getEachMessage:sD.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S})})}),handleEarlyError,createDummyStreams,createDummyStream,readable,writable,duplex,handleDummyPromise,uD=__esmMin(()=>{sC(),oi(),FE(),oE(),pE(),handleEarlyError=({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,verboseInfo:I})=>{cleanupCustomStreams(C);let H=new ChildProcess;return createDummyStreams(H,C),Object.assign(H,{readable,writable,duplex}),{subprocess:H,promise:handleDummyPromise(makeEarlyError({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,isSync:!1}),I,N)}},createDummyStreams=(n,a)=>{let S=createDummyStream(),C=createDummyStream(),N=createDummyStream(),F=Array.from({length:a.length-3},createDummyStream),I=createDummyStream(),H=[S,C,N,...F];Object.assign(n,{stdin:S,stdout:C,stderr:N,all:I,stdio:H})},createDummyStream=()=>{let n=new ii;return n.end(),n},readable=()=>new ei({read(){}}),writable=()=>new ti({write(){}}),duplex=()=>new ni({read(){},write(){}}),handleDummyPromise=async(n,a,S)=>handleResult(n,a,S)}),handleStdioAsync,forbiddenIfAsync,dD,fD,pD=__esmMin(()=>{Zc(),vt(),oi(),XE(),FE(),SE(),handleStdioAsync=(n,a)=>handleStdio(fD,n,a,!1),forbiddenIfAsync=({type:n,optionName:a})=>{throw TypeError(`The \`${a}\` option cannot be ${xE[n]}.`)},dD={fileNumber:forbiddenIfAsync,generator:generatorToStream,asyncGenerator:generatorToStream,nodeStream:({value:n})=>({stream:n}),webTransform({value:{transform:n,writableObjectMode:a,readableObjectMode:S}}){let C=a||S;return{stream:ni.fromWeb(n,{objectMode:C})}},duplex:({value:{transform:n}})=>({stream:n}),native(){}},fD={input:{...dD,fileUrl:({value:n})=>({stream:createReadStream(n)}),filePath:({value:{file:n}})=>({stream:createReadStream(n)}),webStream:({value:n})=>({stream:ei.fromWeb(n)}),iterable:({value:n})=>({stream:ei.from(n)}),asyncIterable:({value:n})=>({stream:ei.from(n)}),string:({value:n})=>({stream:ei.from(n)}),uint8Array:({value:n})=>({stream:ei.from(lt.from(n))})},output:{...dD,fileUrl:({value:n})=>({stream:createWriteStream(n)}),filePath:({value:{file:n,append:a}})=>({stream:createWriteStream(n,a?{flags:`a`}:{})}),webStream:({value:n})=>({stream:ti.fromWeb(n)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}}});function finished(n,a){return new Promise((S,C)=>{a&&typeof a!=`function`?finished$1(n,a,n=>{n?C(n):S()}):finished$1(n,n=>{n?C(n):S()})})}var mD=__esmMin(()=>{Ir(),oi()});function mergeStreams(n){if(!Array.isArray(n))throw TypeError(`Expected an array, got \`${typeof n}\`.`);for(let a of n)validateStream(a);let a=n.some(({readableObjectMode:n})=>n),S=getHighWaterMark(n,a),C=new MergedStream({objectMode:a,writableHighWaterMark:S,readableHighWaterMark:S});for(let a of n)C.add(a);return C}var getHighWaterMark,MergedStream,onMergedStreamFinished,onMergedStreamEnd,onInputStreamsUnpipe,validateStream,endWhenStreamsDone,afterMergedStreamFinished,onInputStreamEnd,onInputStreamUnpipe,endStream,errorOrAbortStream,isAbortError,abortStream,errorStream,noop,updateMaxListeners,hD,gD,_D=__esmMin(()=>{Kt(),oi(),mD(),getHighWaterMark=(n,a)=>{if(n.length===0)return getDefaultHighWaterMark(a);let S=n.filter(({readableObjectMode:n})=>n===a).map(({readableHighWaterMark:n})=>n);return Math.max(...S)},MergedStream=class extends ii{#e=new Set([]);#t=new Set([]);#n=new Set([]);#r;#i=Symbol(`unpipe`);#a=new WeakMap;add(n){if(validateStream(n),this.#e.has(n))return;this.#e.add(n),this.#r??=onMergedStreamFinished(this,this.#e,this.#i);let a=endWhenStreamsDone({passThroughStream:this,stream:n,streams:this.#e,ended:this.#t,aborted:this.#n,onFinished:this.#r,unpipeEvent:this.#i});this.#a.set(n,a),n.pipe(this,{end:!1})}async remove(n){if(validateStream(n),!this.#e.has(n))return!1;let a=this.#a.get(n);return a===void 0?!1:(this.#a.delete(n),n.unpipe(this),await a,!0)}},onMergedStreamFinished=async(n,a,S)=>{updateMaxListeners(n,hD);let C=new AbortController;try{await Promise.race([onMergedStreamEnd(n,C),onInputStreamsUnpipe(n,a,S,C)])}finally{C.abort(),updateMaxListeners(n,-hD)}},onMergedStreamEnd=async(n,{signal:a})=>{try{await finished(n,{signal:a,cleanup:!0})}catch(a){throw errorOrAbortStream(n,a),a}},onInputStreamsUnpipe=async(n,a,S,{signal:C})=>{for await(let[N]of Ht(n,`unpipe`,{signal:C}))a.has(N)&&N.emit(S)},validateStream=n=>{if(typeof n?.pipe!=`function`)throw TypeError(`Expected a readable stream, got: \`${typeof n}\`.`)},endWhenStreamsDone=async({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,onFinished:F,unpipeEvent:I})=>{updateMaxListeners(n,gD);let H=new AbortController;try{await Promise.race([afterMergedStreamFinished(F,a,H),onInputStreamEnd({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,controller:H}),onInputStreamUnpipe({stream:a,streams:S,ended:C,aborted:N,unpipeEvent:I,controller:H})])}finally{H.abort(),updateMaxListeners(n,-gD)}S.size>0&&S.size===C.size+N.size&&(C.size===0&&N.size>0?abortStream(n):endStream(n))},afterMergedStreamFinished=async(n,a,{signal:S})=>{try{await n,S.aborted||abortStream(a)}catch(n){S.aborted||errorOrAbortStream(a,n)}},onInputStreamEnd=async({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,controller:{signal:F}})=>{try{await finished(a,{signal:F,cleanup:!0,readable:!0,writable:!1}),S.has(a)&&C.add(a)}catch(C){if(F.aborted||!S.has(a))return;isAbortError(C)?N.add(a):errorStream(n,C)}},onInputStreamUnpipe=async({stream:n,streams:a,ended:S,aborted:C,unpipeEvent:N,controller:{signal:F}})=>{if(await Vt(n,N,{signal:F}),!n.readable)return Vt(F,`abort`,{signal:F});a.delete(n),S.delete(n),C.delete(n)},endStream=n=>{n.writable&&n.end()},errorOrAbortStream=(n,a)=>{isAbortError(a)?abortStream(n):errorStream(n,a)},isAbortError=n=>n?.code===`ERR_STREAM_PREMATURE_CLOSE`,abortStream=n=>{(n.readable||n.writable)&&n.destroy()},errorStream=(n,a)=>{n.destroyed||(n.once(`error`,noop),n.destroy(a))},noop=()=>{},updateMaxListeners=(n,a)=>{let S=n.getMaxListeners();S!==0&&S!==1/0&&n.setMaxListeners(S+a)},hD=2,gD=1}),pipeStreams,onSourceFinish,endDestinationStream,onDestinationFinish,abortSourceStream,vD=__esmMin(()=>{mD(),_C(),pipeStreams=(n,a)=>{n.pipe(a),onSourceFinish(n,a),onDestinationFinish(n,a)},onSourceFinish=async(n,a)=>{if(!(isStandardStream(n)||isStandardStream(a))){try{await finished(n,{cleanup:!0,readable:!0,writable:!1})}catch{}endDestinationStream(a)}},endDestinationStream=n=>{n.writable&&n.end()},onDestinationFinish=async(n,a)=>{if(!(isStandardStream(n)||isStandardStream(a))){try{await finished(a,{cleanup:!0,readable:!1,writable:!0})}catch{}abortSourceStream(n)}},abortSourceStream=n=>{n.readable&&n.destroy()}}),pipeOutputAsync,pipeTransform,yD,pipeStdioItem,setStandardStreamMaxListeners,bD,xD=__esmMin(()=>{_D(),_C(),Jw(),SE(),vD(),pipeOutputAsync=(n,a,S)=>{let C=new Map;for(let[N,{stdioItems:F,direction:I}]of Object.entries(a)){for(let{stream:a}of F.filter(({type:n})=>gE.has(n)))pipeTransform(n,a,I,N);for(let{stream:a}of F.filter(({type:n})=>!gE.has(n)))pipeStdioItem({subprocess:n,stream:a,direction:I,fdNumber:N,pipeGroups:C,controller:S})}for(let[n,a]of C.entries())pipeStreams(a.length===1?a[0]:mergeStreams(a),n)},pipeTransform=(n,a,S,C)=>{S===`output`?pipeStreams(n.stdio[C],a):pipeStreams(a,n.stdio[C]);let N=yD[C];N!==void 0&&(n[N]=a),n.stdio[C]=a},yD=[`stdin`,`stdout`,`stderr`],pipeStdioItem=({subprocess:n,stream:a,direction:S,fdNumber:C,pipeGroups:N,controller:F})=>{if(a===void 0)return;setStandardStreamMaxListeners(a,F);let[I,H]=S===`output`?[a,n.stdio[C]]:[n.stdio[C],a],W=N.get(I)??[];N.set(I,[...W,H])},setStandardStreamMaxListeners=(n,{signal:a})=>{isStandardStream(n)&&incrementMaxListeners(n,bD,a)},bD=2}),SD,CD=__esmMin(()=>{SD=[],SD.push(`SIGHUP`,`SIGINT`,`SIGTERM`),process.platform!==`win32`&&SD.push(`SIGALRM`,`SIGABRT`,`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&SD.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`)}),processOk,wD,TD,ED,Emitter,SignalExitBase,signalExitWrap,SignalExitFallback,SignalExit,DD,OD,kD,AD,jD=__esmMin(()=>{CD(),processOk=n=>!!n&&typeof n==`object`&&typeof n.removeListener==`function`&&typeof n.emit==`function`&&typeof n.reallyExit==`function`&&typeof n.listeners==`function`&&typeof n.kill==`function`&&typeof n.pid==`number`&&typeof n.on==`function`,wD=Symbol.for(`signal-exit emitter`),TD=globalThis,ED=Object.defineProperty.bind(Object),Emitter=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(TD[wD])return TD[wD];ED(TD,wD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(n,a){this.listeners[n].push(a)}removeListener(n,a){let S=this.listeners[n],C=S.indexOf(a);C!==-1&&(C===0&&S.length===1?S.length=0:S.splice(C,1))}emit(n,a,S){if(this.emitted[n])return!1;this.emitted[n]=!0;let C=!1;for(let N of this.listeners[n])C=N(a,S)===!0||C;return n===`exit`&&(C=this.emit(`afterExit`,a,S)||C),C}},SignalExitBase=class{},signalExitWrap=n=>({onExit(a,S){return n.onExit(a,S)},load(){return n.load()},unload(){return n.unload()}}),SignalExitFallback=class extends SignalExitBase{onExit(){return()=>{}}load(){}unload(){}},SignalExit=class extends SignalExitBase{#e=DD.platform===`win32`?`SIGINT`:`SIGHUP`;#t=new Emitter;#n;#r;#i;#a={};#o=!1;constructor(n){super(),this.#n=n,this.#a={};for(let a of SD)this.#a[a]=()=>{let S=this.#n.listeners(a),{count:C}=this.#t,N=n;if(typeof N.__signal_exit_emitter__==`object`&&typeof N.__signal_exit_emitter__.count==`number`&&(C+=N.__signal_exit_emitter__.count),S.length===C){this.unload();let S=this.#t.emit(`exit`,null,a),C=a===`SIGHUP`?this.#e:a;S||n.kill(n.pid,C)}};this.#i=n.reallyExit,this.#r=n.emit}onExit(n,a){if(!processOk(this.#n))return()=>{};this.#o===!1&&this.load();let S=a?.alwaysLast?`afterExit`:`exit`;return this.#t.on(S,n),()=>{this.#t.removeListener(S,n),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let n of SD)try{let a=this.#a[n];a&&this.#n.on(n,a)}catch{}this.#n.emit=(n,...a)=>this.#c(n,...a),this.#n.reallyExit=n=>this.#s(n)}}unload(){this.#o&&(this.#o=!1,SD.forEach(n=>{let a=this.#a[n];if(!a)throw Error(`Listener not defined for signal: `+n);try{this.#n.removeListener(n,a)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#i,--this.#t.count)}#s(n){return processOk(this.#n)?(this.#n.exitCode=n||0,this.#t.emit(`exit`,this.#n.exitCode,null),this.#i.call(this.#n,this.#n.exitCode)):0}#c(n,...a){let S=this.#r;if(n===`exit`&&processOk(this.#n)){typeof a[0]==`number`&&(this.#n.exitCode=a[0]);let C=S.call(this.#n,n,...a);return this.#t.emit(`exit`,this.#n.exitCode,null),C}else return S.call(this.#n,n,...a)}},DD=globalThis.process,{onExit:OD,load:kD,unload:AD}=signalExitWrap(processOk(DD)?new SignalExit(DD):new SignalExitFallback)}),cleanupOnExit,MD=__esmMin(()=>{Kt(),jD(),cleanupOnExit=(n,{cleanup:a,detached:S},{signal:C})=>{if(!a||S)return;let N=OD(()=>{n.kill()});Gt(C,()=>{N()})}}),normalizePipeArguments,getDestinationStream,getDestination,mapDestinationArguments,getSourceStream,ND=__esmMin(()=>{rC(),iw(),qw(),nC(),normalizePipeArguments=({source:n,sourcePromise:a,boundOptions:S,createNested:C},...N)=>{let F=getStartTime(),{destination:I,destinationStream:H,destinationError:W,from:K,unpipeSignal:q}=getDestinationStream(S,C,N),{sourceStream:Y,sourceError:X}=getSourceStream(n,K),{options:te,fileDescriptors:ne}=Kw.get(n);return{sourcePromise:a,sourceStream:Y,sourceOptions:te,sourceError:X,destination:I,destinationStream:H,destinationError:W,unpipeSignal:q,fileDescriptors:ne,startTime:F}},getDestinationStream=(n,a,S)=>{try{let{destination:C,pipeOptions:{from:N,to:F,unpipeSignal:I}={}}=getDestination(n,a,...S);return{destination:C,destinationStream:getToStream(C,F),from:N,unpipeSignal:I}}catch(n){return{destinationError:n}}},getDestination=(n,a,S,...C)=>{if(Array.isArray(S))return{destination:a(mapDestinationArguments,n)(S,...C),pipeOptions:n};if(typeof S==`string`||S instanceof URL||isDenoExecPath(S)){if(Object.keys(n).length>0)throw TypeError(`Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).`);let[N,F,I]=normalizeParameters(S,...C);return{destination:a(mapDestinationArguments)(N,F,I),pipeOptions:I}}if(Kw.has(S)){if(Object.keys(n).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:S,pipeOptions:C[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${S}`)},mapDestinationArguments=({options:n})=>({options:{...n,stdin:`pipe`,piped:!0}}),getSourceStream=(n,a)=>{try{return{sourceStream:getFromStream(n,a)}}catch(n){return{sourceError:n}}}}),handlePipeArgumentsError,getPipeArgumentsError,createNonCommandError,PD,FD=__esmMin(()=>{oE(),vD(),handlePipeArgumentsError=({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C,fileDescriptors:N,sourceOptions:F,startTime:I})=>{let H=getPipeArgumentsError({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C});if(H!==void 0)throw createNonCommandError({error:H,fileDescriptors:N,sourceOptions:F,startTime:I})},getPipeArgumentsError=({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C})=>{if(a!==void 0&&C!==void 0)return C;if(C!==void 0)return abortSourceStream(n),C;if(a!==void 0)return endDestinationStream(S),a},createNonCommandError=({error:n,fileDescriptors:a,sourceOptions:S,startTime:C})=>makeEarlyError({error:n,command:PD,escapedCommand:PD,fileDescriptors:a,options:S,startTime:C,isSync:!1}),PD=`source.pipe(destination)`}),waitForBothSubprocesses,ID=__esmMin(()=>{waitForBothSubprocesses=async n=>{let[{status:a,reason:S,value:C=S},{status:N,reason:F,value:I=F}]=await n;if(I.pipedFrom.includes(C)||I.pipedFrom.push(C),N===`rejected`)throw I;if(a===`rejected`)throw C;return I}}),pipeSubprocessStream,pipeFirstSubprocessStream,pipeMoreSubprocessStream,cleanupMergedStreamsMap,LD,RD,zD,BD=__esmMin(()=>{mD(),_D(),Jw(),vD(),pipeSubprocessStream=(n,a,S)=>{let C=LD.has(a)?pipeMoreSubprocessStream(n,a):pipeFirstSubprocessStream(n,a);return incrementMaxListeners(n,RD,S.signal),incrementMaxListeners(a,zD,S.signal),cleanupMergedStreamsMap(a),C},pipeFirstSubprocessStream=(n,a)=>{let S=mergeStreams([n]);return pipeStreams(S,a),LD.set(a,S),S},pipeMoreSubprocessStream=(n,a)=>{let S=LD.get(a);return S.add(n),S},cleanupMergedStreamsMap=async n=>{try{await finished(n,{cleanup:!0,readable:!1,writable:!0})}catch{}LD.delete(n)},LD=new WeakMap,RD=2,zD=1}),unpipeOnAbort,unpipeOnSignalAbort,VD=__esmMin(()=>{tc(),FD(),unpipeOnAbort=(n,a)=>n===void 0?[]:[unpipeOnSignalAbort(n,a)],unpipeOnSignalAbort=async(n,{sourceStream:a,mergedStream:S,fileDescriptors:C,sourceOptions:N,startTime:F})=>{throw await aborted(n,a),await S.remove(a),createNonCommandError({error:Error("Pipe canceled by `unpipeSignal` option."),fileDescriptors:C,sourceOptions:N,startTime:F})}}),pipeToSubprocess,handlePipePromise,getSubprocessPromises,HD=__esmMin(()=>{tC(),ND(),FD(),ID(),BD(),VD(),pipeToSubprocess=(n,...a)=>{if(isPlainObject(a[0]))return pipeToSubprocess.bind(void 0,{...n,boundOptions:{...n.boundOptions,...a[0]}});let{destination:S,...C}=normalizePipeArguments(n,...a),N=handlePipePromise({...C,destination:S});return N.pipe=pipeToSubprocess.bind(void 0,{...n,source:S,sourcePromise:N,boundOptions:{}}),N},handlePipePromise=async({sourcePromise:n,sourceStream:a,sourceOptions:S,sourceError:C,destination:N,destinationStream:F,destinationError:I,unpipeSignal:H,fileDescriptors:W,startTime:K})=>{let q=getSubprocessPromises(n,N);handlePipeArgumentsError({sourceStream:a,sourceError:C,destinationStream:F,destinationError:I,fileDescriptors:W,sourceOptions:S,startTime:K});let Y=new AbortController;try{let n=pipeSubprocessStream(a,F,Y);return await Promise.race([waitForBothSubprocesses(q),...unpipeOnAbort(H,{sourceStream:a,mergedStream:n,sourceOptions:S,fileDescriptors:W,startTime:K})])}finally{Y.abort()}},getSubprocessPromises=(n,a)=>Promise.allSettled([n,a])}),iterateOnSubprocessStream,stopReadingOnExit,iterateForResult,stopReadingOnStreamEnd,iterateOnStream,UD,WD,iterateOnData,getGenerators,GD=__esmMin(()=>{Kt(),oi(),WE(),HE(),YE(),iterateOnSubprocessStream=({subprocessStdout:n,subprocess:a,binary:S,shouldEncode:C,encoding:N,preserveNewlines:F})=>{let I=new AbortController;return stopReadingOnExit(a,I),iterateOnStream({stream:n,controller:I,binary:S,shouldEncode:!n.readableObjectMode&&C,encoding:N,shouldSplit:!n.readableObjectMode,preserveNewlines:F})},stopReadingOnExit=async(n,a)=>{try{await n}catch{}finally{a.abort()}},iterateForResult=({stream:n,onStreamEnd:a,lines:S,encoding:C,stripFinalNewline:N,allMixed:F})=>{let I=new AbortController;stopReadingOnStreamEnd(a,I,n);let H=n.readableObjectMode&&!F;return iterateOnStream({stream:n,controller:I,binary:C===`buffer`,shouldEncode:!H,encoding:C,shouldSplit:!H&&S,preserveNewlines:!N})},stopReadingOnStreamEnd=async(n,a,S)=>{try{await n}catch{S.destroy()}finally{a.abort()}},iterateOnStream=({stream:n,controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I})=>iterateOnData({onStdoutChunk:Ht(n,`data`,{signal:a.signal,highWaterMark:WD,highWatermark:WD}),controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I}),UD=getDefaultHighWaterMark(!0),WD=UD,iterateOnData=async function*({onStdoutChunk:n,controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I}){let H=getGenerators({binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I});try{for await(let[a]of n)yield*transformChunkSync(a,H,0)}catch(n){if(!a.signal.aborted)throw n}finally{yield*finalChunksSync(H)}},getGenerators=({binary:n,shouldEncode:a,encoding:S,shouldSplit:C,preserveNewlines:N})=>[getEncodingTransformGenerator(n,S,!a),getSplitLinesGenerator(n,N,!C,{})].filter(Boolean)}),getStreamOutput,logOutputAsync,resumeStream,getStreamContents,getBufferedData,handleBufferedData,KD=__esmMin(()=>{ww(),rE(),dC(),$E(),GD(),iE(),zE(),getStreamOutput=async({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,buffer:N,maxBuffer:F,lines:I,allMixed:H,stripFinalNewline:W,verboseInfo:K,streamInfo:q})=>{let Y=logOutputAsync({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,allMixed:H,verboseInfo:K,streamInfo:q});if(!N){await Promise.all([resumeStream(n),Y]);return}let X=iterateForResult({stream:n,onStreamEnd:a,lines:I,encoding:C,stripFinalNewline:getStripFinalNewline(W,S),allMixed:H}),[te]=await Promise.all([getStreamContents({stream:n,iterable:X,fdNumber:S,encoding:C,maxBuffer:F,lines:I}),Y]);return te},logOutputAsync=async({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,allMixed:N,verboseInfo:F,streamInfo:{fileDescriptors:I}})=>{shouldLogOutput({stdioItems:I[S]?.stdioItems,encoding:C,verboseInfo:F,fdNumber:S})&&await logLines(iterateForResult({stream:n,onStreamEnd:a,lines:!0,encoding:C,stripFinalNewline:!0,allMixed:N}),n,S,F)},resumeStream=async n=>{await setImmediate$1(),n.readableFlowing===null&&n.resume()},getStreamContents=async({stream:n,stream:{readableObjectMode:a},iterable:S,fdNumber:C,encoding:N,maxBuffer:F,lines:I})=>{try{return a||I?await getStreamAsArray(S,{maxBuffer:F}):N===`buffer`?new Uint8Array(await getStreamAsArrayBuffer(S,{maxBuffer:F})):await getStreamAsString(S,{maxBuffer:F})}catch(S){return handleBufferedData(handleMaxBuffer({error:S,stream:n,readableObjectMode:a,lines:I,encoding:N,fdNumber:C}))}},getBufferedData=async n=>{try{return await n}catch(n){return handleBufferedData(n)}},handleBufferedData=({bufferedData:n})=>isArrayBuffer(n)?new Uint8Array(n):n}),waitForStream,handleStdinDestroy,spyOnStdinDestroy,setStdinCleanedUp,handleStreamError,shouldIgnoreStreamError,isInputFileDescriptor,isStreamAbort,isStreamEpipe,qD=__esmMin(()=>{mD(),waitForStream=async(n,a,S,{isSameDirection:C,stopOnExit:N=!1}={})=>{let F=handleStdinDestroy(n,S),I=new AbortController;try{await Promise.race([...N?[S.exitPromise]:[],finished(n,{cleanup:!0,signal:I.signal})])}catch(n){F.stdinCleanedUp||handleStreamError(n,a,S,C)}finally{I.abort()}},handleStdinDestroy=(n,{originalStreams:[a],subprocess:S})=>{let C={stdinCleanedUp:!1};return n===a&&spyOnStdinDestroy(n,S,C),C},spyOnStdinDestroy=(n,a,S)=>{let{_destroy:C}=n;n._destroy=(...N)=>{setStdinCleanedUp(a,S),C.call(n,...N)}},setStdinCleanedUp=({exitCode:n,signalCode:a},S)=>{(n!==null||a!==null)&&(S.stdinCleanedUp=!0)},handleStreamError=(n,a,S,C)=>{if(!shouldIgnoreStreamError(n,a,S,C))throw n},shouldIgnoreStreamError=(n,a,S,C=!0)=>S.propagating?isStreamEpipe(n)||isStreamAbort(n):(S.propagating=!0,isInputFileDescriptor(S,a)===C?isStreamEpipe(n):isStreamAbort(n)),isInputFileDescriptor=({fileDescriptors:n},a)=>a!==`all`&&n[a].direction===`input`,isStreamAbort=n=>n?.code===`ERR_STREAM_PREMATURE_CLOSE`,isStreamEpipe=n=>n?.code===`EPIPE`}),waitForStdioStreams,waitForSubprocessStream,JD=__esmMin(()=>{KD(),qD(),waitForStdioStreams=({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:F,verboseInfo:I,streamInfo:H})=>n.stdio.map((n,W)=>waitForSubprocessStream({stream:n,fdNumber:W,encoding:a,buffer:S[W],maxBuffer:C[W],lines:N[W],allMixed:!1,stripFinalNewline:F,verboseInfo:I,streamInfo:H})),waitForSubprocessStream=async({stream:n,fdNumber:a,encoding:S,buffer:C,maxBuffer:N,lines:F,allMixed:I,stripFinalNewline:H,verboseInfo:W,streamInfo:K})=>{if(!n)return;let q=waitForStream(n,a,K);if(isInputFileDescriptor(K,a)){await q;return}let[Y]=await Promise.all([getStreamOutput({stream:n,onStreamEnd:q,fdNumber:a,encoding:S,buffer:C,maxBuffer:N,lines:F,allMixed:I,stripFinalNewline:H,verboseInfo:W,streamInfo:K}),q]);return Y}}),makeAllStream,waitForAllStream,getAllStream,getAllMixed,YD=__esmMin(()=>{_D(),JD(),makeAllStream=({stdout:n,stderr:a},{all:S})=>S&&(n||a)?mergeStreams([n,a].filter(Boolean)):void 0,waitForAllStream=({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:F,verboseInfo:I,streamInfo:H})=>waitForSubprocessStream({...getAllStream(n,S),fdNumber:`all`,encoding:a,maxBuffer:C[1]+C[2],lines:N[1]||N[2],allMixed:getAllMixed(n),stripFinalNewline:F,verboseInfo:I,streamInfo:H}),getAllStream=({stdout:n,stderr:a,all:S},[,C,N])=>{let F=C||N;return F?C?N?{stream:S,buffer:F}:{stream:n,buffer:F}:{stream:a,buffer:F}:{stream:S,buffer:F}},getAllMixed=({all:n,stdout:a,stderr:S})=>n&&a&&S&&a.readableObjectMode!==S.readableObjectMode}),shouldLogIpc,logIpcOutput,XD=__esmMin(()=>{ew(),wC(),shouldLogIpc=n=>isFullVerbose(n,`ipc`),logIpcOutput=(n,a)=>{verboseLog({type:`ipc`,verboseMessage:serializeVerboseMessage(n),fdNumber:`ipc`,verboseInfo:a})}}),waitForIpcOutput,getBufferedIpcOutput,ZD=__esmMin(()=>{iE(),XD(),SC(),cD(),waitForIpcOutput=async({subprocess:n,buffer:a,maxBuffer:S,ipc:C,ipcOutput:N,verboseInfo:F})=>{if(!C)return N;let I=shouldLogIpc(F),H=getFdSpecificValue(a,`ipc`),W=getFdSpecificValue(S,`ipc`);for await(let a of loopOnMessages({anyProcess:n,channel:n.channel,isSubprocess:!1,ipc:C,shouldAwait:!1,reference:!0}))H&&(checkIpcMaxBuffer(n,N,W),N.push(a)),I&&logIpcOutput(a,F);return N},getBufferedIpcOutput=async(n,a)=>(await Promise.allSettled([n]),a)}),waitForSubprocessResult,waitForOriginalStreams,waitForCustomStreamsEnd,throwOnSubprocessError,QD=__esmMin(()=>{Kt(),FT(),_T(),Vw(),gT(),_C(),SE(),KD(),ZD(),bT(),YD(),JD(),nD(),qD(),waitForSubprocessResult=async({subprocess:n,options:{encoding:a,buffer:S,maxBuffer:C,lines:N,timeoutDuration:F,cancelSignal:I,gracefulCancel:H,forceKillAfterDelay:W,stripFinalNewline:K,ipc:q,ipcInput:Y},context:X,verboseInfo:te,fileDescriptors:ne,originalStreams:re,onInternalError:ie,controller:ae})=>{let oe=waitForExit(n,X),Z={originalStreams:re,fileDescriptors:ne,subprocess:n,exitPromise:oe,propagating:!1},se=waitForStdioStreams({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:K,verboseInfo:te,streamInfo:Z}),ce=waitForAllStream({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:K,verboseInfo:te,streamInfo:Z}),le=[],ue=waitForIpcOutput({subprocess:n,buffer:S,maxBuffer:C,ipc:q,ipcOutput:le,verboseInfo:te}),de=waitForOriginalStreams(re,n,Z),fe=waitForCustomStreamsEnd(ne,Z);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(oe),Promise.all(se),ce,ue,sendIpcInput(n,Y),...de,...fe]),ie,throwOnSubprocessError(n,ae),...throwOnTimeout(n,F,X,ae),...throwOnCancel({subprocess:n,cancelSignal:I,gracefulCancel:H,context:X,controller:ae}),...throwOnGracefulCancel({subprocess:n,cancelSignal:I,gracefulCancel:H,forceKillAfterDelay:W,context:X,controller:ae})])}catch(n){return X.terminationReason??=`other`,Promise.all([{error:n},oe,Promise.all(se.map(n=>getBufferedData(n))),getBufferedData(ce),getBufferedIpcOutput(ue,le),Promise.allSettled(de),Promise.allSettled(fe)])}},waitForOriginalStreams=(n,a,S)=>n.map((n,C)=>n===a.stdio[C]?void 0:waitForStream(n,C,S)),waitForCustomStreamsEnd=(n,a)=>n.flatMap(({stdioItems:n},S)=>n.filter(({value:n,stream:a=n})=>isStream(a,{checkOpen:!1})&&!isStandardStream(a)).map(({type:n,value:C,stream:N=C})=>waitForStream(N,S,a,{isSameDirection:gE.has(n),stopOnExit:n===`native`}))),throwOnSubprocessError=async(n,{signal:a})=>{let[S]=await Vt(n,`error`,{signal:a});throw S}}),initializeConcurrentStreams,addConcurrentStream,waitForConcurrentStreams,$D=__esmMin(()=>{Gw(),initializeConcurrentStreams=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),addConcurrentStream=(n,a,S)=>{let C=n[S];C.has(a)||C.set(a,[]);let N=C.get(a),F=createDeferred();return N.push(F),{resolve:F.resolve.bind(F),promises:N}},waitForConcurrentStreams=async({resolve:n,promises:a},S)=>{n();let[C]=await Promise.race([Promise.allSettled([!0,S]),Promise.all([!1,...a])]);return!C}}),safeWaitForSubprocessStdin,safeWaitForSubprocessStdout,waitForSubprocessStdin,waitForSubprocessStdout,waitForSubprocess,destroyOtherStream,eO=__esmMin(()=>{mD(),qD(),safeWaitForSubprocessStdin=async n=>{if(n!==void 0)try{await waitForSubprocessStdin(n)}catch{}},safeWaitForSubprocessStdout=async n=>{if(n!==void 0)try{await waitForSubprocessStdout(n)}catch{}},waitForSubprocessStdin=async n=>{await finished(n,{cleanup:!0,readable:!1,writable:!0})},waitForSubprocessStdout=async n=>{await finished(n,{cleanup:!0,readable:!0,writable:!1})},waitForSubprocess=async(n,a)=>{if(await n,a)throw a},destroyOtherStream=(n,a,S)=>{S&&!isStreamAbort(S)?n.destroy(S):a&&n.destroy()}}),createReadable,getSubprocessStdout,getReadableOptions,getReadableMethods,onRead,onStdoutFinished,onReadableDestroy,destroyOtherReadable,tO=__esmMin(()=>{oi(),tc(),TT(),qw(),GD(),Gw(),$D(),eO(),createReadable=({subprocess:n,concurrentStreams:a,encoding:S},{from:C,binary:N=!0,preserveNewlines:F=!0}={})=>{let I=N||ST.has(S),{subprocessStdout:H,waitReadableDestroy:W}=getSubprocessStdout(n,C,a),{readableEncoding:K,readableObjectMode:q,readableHighWaterMark:Y}=getReadableOptions(H,I),{read:X,onStdoutDataDone:te}=getReadableMethods({subprocessStdout:H,subprocess:n,binary:I,encoding:S,preserveNewlines:F}),ne=new ei({read:X,destroy:callbackify(onReadableDestroy.bind(void 0,{subprocessStdout:H,subprocess:n,waitReadableDestroy:W})),highWaterMark:Y,objectMode:q,encoding:K});return onStdoutFinished({subprocessStdout:H,onStdoutDataDone:te,readable:ne,subprocess:n}),ne},getSubprocessStdout=(n,a,S)=>{let C=getFromStream(n,a);return{subprocessStdout:C,waitReadableDestroy:addConcurrentStream(S,C,`readableDestroy`)}},getReadableOptions=({readableEncoding:n,readableObjectMode:a,readableHighWaterMark:S},C)=>C?{readableEncoding:n,readableObjectMode:a,readableHighWaterMark:S}:{readableEncoding:n,readableObjectMode:!0,readableHighWaterMark:UD},getReadableMethods=({subprocessStdout:n,subprocess:a,binary:S,encoding:C,preserveNewlines:N})=>{let F=createDeferred(),I=iterateOnSubprocessStream({subprocessStdout:n,subprocess:a,binary:S,shouldEncode:!S,encoding:C,preserveNewlines:N});return{read(){onRead(this,I,F)},onStdoutDataDone:F}},onRead=async(n,a,S)=>{try{let{value:C,done:N}=await a.next();N?S.resolve():n.push(C)}catch{}},onStdoutFinished=async({subprocessStdout:n,onStdoutDataDone:a,readable:S,subprocess:C,subprocessStdin:N})=>{try{await waitForSubprocessStdout(n),await C,await safeWaitForSubprocessStdin(N),await a,S.readable&&S.push(null)}catch(n){await safeWaitForSubprocessStdin(N),destroyOtherReadable(S,n)}},onReadableDestroy=async({subprocessStdout:n,subprocess:a,waitReadableDestroy:S},C)=>{await waitForConcurrentStreams(S,a)&&(destroyOtherReadable(n,C),await waitForSubprocess(a,C))},destroyOtherReadable=(n,a)=>{destroyOtherStream(n,n.readable,a)}}),createWritable,getSubprocessStdin,getWritableMethods,onWrite,onWritableFinal,onStdinFinished,onWritableDestroy,destroyOtherWritable,nO=__esmMin(()=>{oi(),tc(),qw(),$D(),eO(),createWritable=({subprocess:n,concurrentStreams:a},{to:S}={})=>{let{subprocessStdin:C,waitWritableFinal:N,waitWritableDestroy:F}=getSubprocessStdin(n,S,a),I=new ti({...getWritableMethods(C,n,N),destroy:callbackify(onWritableDestroy.bind(void 0,{subprocessStdin:C,subprocess:n,waitWritableFinal:N,waitWritableDestroy:F})),highWaterMark:C.writableHighWaterMark,objectMode:C.writableObjectMode});return onStdinFinished(C,I),I},getSubprocessStdin=(n,a,S)=>{let C=getToStream(n,a);return{subprocessStdin:C,waitWritableFinal:addConcurrentStream(S,C,`writableFinal`),waitWritableDestroy:addConcurrentStream(S,C,`writableDestroy`)}},getWritableMethods=(n,a,S)=>({write:onWrite.bind(void 0,n),final:callbackify(onWritableFinal.bind(void 0,n,a,S))}),onWrite=(n,a,S,C)=>{n.write(a,S)?C():n.once(`drain`,C)},onWritableFinal=async(n,a,S)=>{await waitForConcurrentStreams(S,a)&&(n.writable&&n.end(),await a)},onStdinFinished=async(n,a,S)=>{try{await waitForSubprocessStdin(n),a.writable&&a.end()}catch(n){await safeWaitForSubprocessStdout(S),destroyOtherWritable(a,n)}},onWritableDestroy=async({subprocessStdin:n,subprocess:a,waitWritableFinal:S,waitWritableDestroy:C},N)=>{await waitForConcurrentStreams(S,a),await waitForConcurrentStreams(C,a)&&(destroyOtherWritable(n,N),await waitForSubprocess(a,N))},destroyOtherWritable=(n,a)=>{destroyOtherStream(n,n.writable,a)}}),createDuplex,onDuplexDestroy,rO=__esmMin(()=>{oi(),tc(),TT(),tO(),nO(),createDuplex=({subprocess:n,concurrentStreams:a,encoding:S},{from:C,to:N,binary:F=!0,preserveNewlines:I=!0}={})=>{let H=F||ST.has(S),{subprocessStdout:W,waitReadableDestroy:K}=getSubprocessStdout(n,C,a),{subprocessStdin:q,waitWritableFinal:Y,waitWritableDestroy:X}=getSubprocessStdin(n,N,a),{readableEncoding:te,readableObjectMode:ne,readableHighWaterMark:re}=getReadableOptions(W,H),{read:ie,onStdoutDataDone:ae}=getReadableMethods({subprocessStdout:W,subprocess:n,binary:H,encoding:S,preserveNewlines:I}),oe=new ni({read:ie,...getWritableMethods(q,n,Y),destroy:callbackify(onDuplexDestroy.bind(void 0,{subprocessStdout:W,subprocessStdin:q,subprocess:n,waitReadableDestroy:K,waitWritableFinal:Y,waitWritableDestroy:X})),readableHighWaterMark:re,writableHighWaterMark:q.writableHighWaterMark,readableObjectMode:ne,writableObjectMode:q.writableObjectMode,encoding:te});return onStdoutFinished({subprocessStdout:W,onStdoutDataDone:ae,readable:oe,subprocess:n,subprocessStdin:q}),onStdinFinished(q,oe,W),oe},onDuplexDestroy=async({subprocessStdout:n,subprocessStdin:a,subprocess:S,waitReadableDestroy:C,waitWritableFinal:N,waitWritableDestroy:F},I)=>{await Promise.all([onReadableDestroy({subprocessStdout:n,subprocess:S,waitReadableDestroy:C},I),onWritableDestroy({subprocessStdin:a,subprocess:S,waitWritableFinal:N,waitWritableDestroy:F},I)])}}),createIterable,iterateOnStdoutData,iO=__esmMin(()=>{TT(),qw(),GD(),createIterable=(n,a,{from:S,binary:C=!1,preserveNewlines:N=!1}={})=>{let F=C||ST.has(a),I=getFromStream(n,S);return iterateOnStdoutData(iterateOnSubprocessStream({subprocessStdout:I,subprocess:n,binary:F,shouldEncode:!0,encoding:a,preserveNewlines:N}),I,n)},iterateOnStdoutData=async function*(n,a,S){try{yield*n}finally{a.readable&&a.destroy(),await S}}}),addConvertedStreams,aO=__esmMin(()=>{$D(),tO(),nO(),rO(),iO(),addConvertedStreams=(n,{encoding:a})=>{let S=initializeConcurrentStreams();n.readable=createReadable.bind(void 0,{subprocess:n,concurrentStreams:S,encoding:a}),n.writable=createWritable.bind(void 0,{subprocess:n,concurrentStreams:S}),n.duplex=createDuplex.bind(void 0,{subprocess:n,concurrentStreams:S,encoding:a}),n.iterable=createIterable.bind(void 0,n,a),n[Symbol.asyncIterator]=createIterable.bind(void 0,n,a,{})}}),mergePromise,oO,sO,cO=__esmMin(()=>{mergePromise=(n,a)=>{for(let[S,C]of sO){let N=C.value.bind(a);Reflect.defineProperty(n,S,{...C,value:N})}},oO=(async()=>{})().constructor.prototype,sO=[`then`,`catch`,`finally`].map(n=>[n,Reflect.getOwnPropertyDescriptor(oO,n)])}),execaCoreAsync,handleAsyncArguments,handleAsyncOptions,spawnSubprocessAsync,handlePromise,getAsyncResult,lO=__esmMin(()=>{Kt(),sC(),rE(),aw(),OT(),qw(),kT(),lD(),oE(),pE(),uD(),pD(),zE(),xD(),zw(),MD(),HD(),YD(),QD(),aO(),Gw(),cO(),execaCoreAsync=(n,a,S,C)=>{let{file:N,commandArguments:F,command:I,escapedCommand:H,startTime:W,verboseInfo:K,options:q,fileDescriptors:Y}=handleAsyncArguments(n,a,S),{subprocess:X,promise:te}=spawnSubprocessAsync({file:N,commandArguments:F,options:q,startTime:W,verboseInfo:K,command:I,escapedCommand:H,fileDescriptors:Y});return X.pipe=pipeToSubprocess.bind(void 0,{source:X,sourcePromise:te,boundOptions:{},createNested:C}),mergePromise(X,te),Kw.set(X,{options:q,fileDescriptors:Y}),X},handleAsyncArguments=(n,a,S)=>{let{command:C,escapedCommand:N,startTime:F,verboseInfo:I}=handleCommand(n,a,S),{file:H,commandArguments:W,options:K}=normalizeOptions(n,a,S),q=handleAsyncOptions(K);return{file:H,commandArguments:W,command:C,escapedCommand:N,startTime:F,verboseInfo:I,options:q,fileDescriptors:handleStdioAsync(q,I)}},handleAsyncOptions=({timeout:n,signal:a,...S})=>{if(a!==void 0)throw TypeError(`The "signal" option has been renamed to "cancelSignal" instead.`);return{...S,timeoutDuration:n}},spawnSubprocessAsync=({file:n,commandArguments:a,options:S,startTime:C,verboseInfo:N,command:F,escapedCommand:I,fileDescriptors:H})=>{let W;try{W=spawn(...concatenateShell(n,a,S))}catch(n){return handleEarlyError({error:n,command:F,escapedCommand:I,fileDescriptors:H,options:S,startTime:C,verboseInfo:N})}let K=new AbortController;zt(1/0,K.signal);let q=[...W.stdio];pipeOutputAsync(W,H,K),cleanupOnExit(W,S,K);let Y={},X=createDeferred();W.kill=subprocessKill.bind(void 0,{kill:W.kill.bind(W),options:S,onInternalError:X,context:Y,controller:K}),W.all=makeAllStream(W,S),addConvertedStreams(W,S),addIpcMethods(W,S);let te=handlePromise({subprocess:W,options:S,startTime:C,verboseInfo:N,fileDescriptors:H,originalStreams:q,command:F,escapedCommand:I,context:Y,onInternalError:X,controller:K});return{subprocess:W,promise:te}},handlePromise=async({subprocess:n,options:a,startTime:S,verboseInfo:C,fileDescriptors:N,originalStreams:F,command:I,escapedCommand:H,context:W,onInternalError:K,controller:q})=>{let[Y,[X,te],ne,re,ie]=await waitForSubprocessResult({subprocess:n,options:a,context:W,verboseInfo:C,fileDescriptors:N,originalStreams:F,onInternalError:K,controller:q});return q.abort(),K.resolve(),handleResult(getAsyncResult({errorInfo:Y,exitCode:X,signal:te,stdio:ne.map((n,S)=>stripNewline(n,a,S)),all:stripNewline(re,a,`all`),ipcOutput:ie,context:W,options:a,command:I,escapedCommand:H,startTime:S}),C,a)},getAsyncResult=({errorInfo:n,exitCode:a,signal:S,stdio:C,all:N,ipcOutput:F,context:I,options:H,command:W,escapedCommand:K,startTime:q})=>`error`in n?makeError({error:n.error,command:W,escapedCommand:K,timedOut:I.terminationReason===`timeout`,isCanceled:I.terminationReason===`cancel`||I.terminationReason===`gracefulCancel`,isGracefullyCanceled:I.terminationReason===`gracefulCancel`,isMaxBuffer:n.error instanceof MaxBufferError,isForcefullyTerminated:I.isForcefullyTerminated,exitCode:a,signal:S,stdio:C,all:N,ipcOutput:F,options:H,startTime:q,isSync:!1}):makeSuccessResult({command:W,escapedCommand:K,stdio:C,all:N,ipcOutput:F,options:H,startTime:q})}),mergeOptions,mergeOption,uO,dO=__esmMin(()=>{tC(),SC(),mergeOptions=(n,a)=>{let S=Object.fromEntries(Object.entries(a).map(([a,S])=>[a,mergeOption(a,n[a],S)]));return{...n,...S}},mergeOption=(n,a,S)=>uO.has(n)&&isPlainObject(a)&&isPlainObject(S)?{...a,...S}:S,uO=new Set([`env`,...xC])}),createExeca,callBoundExeca,parseArguments,fO=__esmMin(()=>{tC(),rC(),mC(),iD(),lO(),dO(),createExeca=(n,a,S,C)=>{let createNested=(n,a,C)=>createExeca(n,a,S,C),boundExeca=(...N)=>callBoundExeca({mapArguments:n,deepOptions:S,boundOptions:a,setBoundExeca:C,createNested},...N);return C!==void 0&&C(boundExeca,createNested,a),boundExeca},callBoundExeca=({mapArguments:n,deepOptions:a={},boundOptions:S={},setBoundExeca:C,createNested:N},F,...I)=>{if(isPlainObject(F))return N(n,mergeOptions(S,F),C);let{file:H,commandArguments:W,options:K,isSync:q}=parseArguments({mapArguments:n,firstArgument:F,nextArguments:I,deepOptions:a,boundOptions:S});return q?execaCoreSync(H,W,K):execaCoreAsync(H,W,K,N)},parseArguments=({mapArguments:n,firstArgument:a,nextArguments:S,deepOptions:C,boundOptions:N})=>{let[F,I,H]=normalizeParameters(...isTemplateString(a)?parseTemplates(a,S):[a,...S]),W=mergeOptions(mergeOptions(C,N),H),{file:K=F,commandArguments:q=I,options:Y=W,isSync:X=!1}=n({file:F,commandArguments:I,options:W});return{file:K,commandArguments:q,options:Y,isSync:X}}}),mapCommandAsync,mapCommandSync,parseCommand,parseCommandString,pO,mO=__esmMin(()=>{mapCommandAsync=({file:n,commandArguments:a})=>parseCommand(n,a),mapCommandSync=({file:n,commandArguments:a})=>({...parseCommand(n,a),isSync:!0}),parseCommand=(n,a)=>{if(a.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${n} ${a}.`);let[S,...C]=parseCommandString(n);return{file:S,commandArguments:C}},parseCommandString=n=>{if(typeof n!=`string`)throw TypeError(`The command must be a string: ${String(n)}.`);let a=n.trim();if(a===``)return[];let S=[];for(let n of a.split(pO)){let a=S.at(-1);a&&a.endsWith(`\\`)?S[S.length-1]=`${a.slice(0,-1)} ${n}`:S.push(n)}return S},pO=/ +/g}),setScriptSync,mapScriptAsync,mapScriptSync,getScriptOptions,getScriptStdinOption,hO,gO=__esmMin(()=>{setScriptSync=(n,a,S)=>{n.sync=a(mapScriptSync,S),n.s=n.sync},mapScriptAsync=({options:n})=>getScriptOptions(n),mapScriptSync=({options:n})=>({...getScriptOptions(n),isSync:!0}),getScriptOptions=n=>({options:{...getScriptStdinOption(n),...n}}),getScriptStdinOption=({input:n,inputFile:a,stdio:S})=>n===void 0&&a===void 0&&S===void 0?{stdin:`inherit`}:{},hO={preferLocal:!0}}),_O,vO,yO,bO,xO,SO=__esmMin(()=>{fO(),mO(),vT(),gO(),lD(),Ew(),_O=createExeca(()=>({})),createExeca(()=>({isSync:!0})),createExeca(mapCommandAsync),createExeca(mapCommandSync),createExeca(mapNode),createExeca(mapScriptAsync,{},hO,setScriptSync),{sendMessage:vO,getOneMessage:yO,getEachMessage:bO,getCancelSignal:xO}=getIpcExport()}),CO=__commonJSMin$1(((n,a)=>{a.exports=wrappy;function wrappy(n,a){if(n&&a)return wrappy(n)(a);if(typeof n!=`function`)throw TypeError(`need wrapper function`);return Object.keys(n).forEach(function(a){wrapper[a]=n[a]}),wrapper;function wrapper(){for(var a=Array(arguments.length),S=0;S<a.length;S++)a[S]=arguments[S];var C=n.apply(this,a),N=a[a.length-1];return typeof C==`function`&&C!==N&&Object.keys(N).forEach(function(n){C[n]=N[n]}),C}}})),wO=__commonJSMin$1(((n,a)=>{var S=CO();a.exports=S(once),a.exports.strict=S(onceStrict),once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0})});function once(n){var f=function(){return f.called?f.value:(f.called=!0,f.value=n.apply(this,arguments))};return f.called=!1,f}function onceStrict(n){var f=function(){if(f.called)throw Error(f.onceError);return f.called=!0,f.value=n.apply(this,arguments)};return f.onceError=(n.name||"Function wrapped with `once`")+` shouldn't be called more than once`,f.called=!1,f}})),TO=__commonJSMin$1(((n,a)=>{var S=wO(),noop=function(){},C=globalThis.Bare?queueMicrotask:process.nextTick.bind(process),isRequest=function(n){return n.setHeader&&typeof n.abort==`function`},isChildProcess=function(n){return n.stdio&&Array.isArray(n.stdio)&&n.stdio.length===3},eos=function(n,a,N){if(typeof a==`function`)return eos(n,null,a);a||={},N=S(N||noop);var F=n._writableState,I=n._readableState,H=a.readable||a.readable!==!1&&n.readable,W=a.writable||a.writable!==!1&&n.writable,K=!1,onlegacyfinish=function(){n.writable||onfinish()},onfinish=function(){W=!1,H||N.call(n)},onend=function(){H=!1,W||N.call(n)},onexit=function(a){N.call(n,a?Error(`exited with error code: `+a):null)},onerror=function(a){N.call(n,a)},onclose=function(){C(onclosenexttick)},onclosenexttick=function(){if(!K&&(H&&!(I&&I.ended&&!I.destroyed)||W&&!(F&&F.ended&&!F.destroyed)))return N.call(n,Error(`premature close`))},onrequest=function(){n.req.on(`finish`,onfinish)};return isRequest(n)?(n.on(`complete`,onfinish),n.on(`abort`,onclose),n.req?onrequest():n.on(`request`,onrequest)):W&&!F&&(n.on(`end`,onlegacyfinish),n.on(`close`,onlegacyfinish)),isChildProcess(n)&&n.on(`exit`,onexit),n.on(`end`,onend),n.on(`finish`,onfinish),a.error!==!1&&n.on(`error`,onerror),n.on(`close`,onclose),function(){K=!0,n.removeListener(`complete`,onfinish),n.removeListener(`abort`,onclose),n.removeListener(`request`,onrequest),n.req&&n.req.removeListener(`finish`,onfinish),n.removeListener(`end`,onlegacyfinish),n.removeListener(`close`,onlegacyfinish),n.removeListener(`finish`,onfinish),n.removeListener(`exit`,onexit),n.removeListener(`end`,onend),n.removeListener(`error`,onerror),n.removeListener(`close`,onclose)}};a.exports=eos})),EO=__commonJSMin$1(((n,a)=>{var S=wO(),C=TO(),N;try{N=(Zc(),__toCommonJS(Jc))}catch{}var noop=function(){},F=typeof process>`u`?!1:/^v?\.0/.test(process.version),isFn=function(n){return typeof n==`function`},isFS=function(n){return!F||!N?!1:(n instanceof(N.ReadStream||noop)||n instanceof(N.WriteStream||noop))&&isFn(n.close)},isRequest=function(n){return n.setHeader&&isFn(n.abort)},destroyer=function(n,a,N,F){F=S(F);var I=!1;n.on(`close`,function(){I=!0}),C(n,{readable:a,writable:N},function(n){if(n)return F(n);I=!0,F()});var H=!1;return function(a){if(!I&&!H){if(H=!0,isFS(n))return n.close(noop);if(isRequest(n))return n.abort();if(isFn(n.destroy))return n.destroy();F(a||Error(`stream was destroyed`))}}},call=function(n){n()},pipe=function(n,a){return n.pipe(a)},pump=function(){var n=Array.prototype.slice.call(arguments),a=isFn(n[n.length-1]||noop)&&n.pop()||noop;if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw Error(`pump requires two streams per minimum`);var S,C=n.map(function(N,F){var I=F<n.length-1;return destroyer(N,I,F>0,function(n){S||=n,n&&C.forEach(call),!I&&(C.forEach(call),a(S))})});return n.reduce(pipe)};a.exports=pump})),DO=__commonJSMin$1(((n,a)=>{typeof Object.create==`function`?a.exports=function inherits(n,a){a&&(n.super_=a,n.prototype=Object.create(a.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}))}:a.exports=function inherits(n,a){if(a){n.super_=a;var TempCtor=function(){};TempCtor.prototype=a.prototype,n.prototype=new TempCtor,n.prototype.constructor=n}}})),OO=__commonJSMin$1(((n,a)=>{a.exports=F_()})),kO=__commonJSMin$1(((n,a)=>{function ownKeys(n,a){var S=Object.keys(n);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(n);a&&(C=C.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),S.push.apply(S,C)}return S}function _objectSpread(n){for(var a=1;a<arguments.length;a++){var S=arguments[a]==null?{}:arguments[a];a%2?ownKeys(Object(S),!0).forEach(function(a){_defineProperty(n,a,S[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(S)):ownKeys(Object(S)).forEach(function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(S,a))})}return n}function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _classCallCheck(n,a){if(!(n instanceof a))throw TypeError(`Cannot call a class as a function`)}function _defineProperties(n,a){for(var S=0;S<a.length;S++){var C=a[S];C.enumerable=C.enumerable||!1,C.configurable=!0,`value`in C&&(C.writable=!0),Object.defineProperty(n,_toPropertyKey(C.key),C)}}function _createClass(n,a,S){return a&&_defineProperties(n.prototype,a),S&&_defineProperties(n,S),Object.defineProperty(n,"prototype",{writable:!1}),n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var S=(vt(),__toCommonJS(mt)).Buffer,C=(tc(),__toCommonJS(Zs)).inspect,N=C&&C.custom||`inspect`;function copyBuffer(n,a,C){S.prototype.copy.call(n,a,C)}a.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0}return _createClass(BufferList,[{key:`push`,value:function push(n){var a={data:n,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length}},{key:`unshift`,value:function unshift(n){var a={data:n,next:this.head};this.length===0&&(this.tail=a),this.head=a,++this.length}},{key:`shift`,value:function shift(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}}},{key:`clear`,value:function clear(){this.head=this.tail=null,this.length=0}},{key:`join`,value:function join(n){if(this.length===0)return``;for(var a=this.head,S=``+a.data;a=a.next;)S+=n+a.data;return S}},{key:`concat`,value:function concat(n){if(this.length===0)return S.alloc(0);for(var a=S.allocUnsafe(n>>>0),C=this.head,N=0;C;)copyBuffer(C.data,a,N),N+=C.data.length,C=C.next;return a}},{key:`consume`,value:function consume(n,a){var S;return n<this.head.data.length?(S=this.head.data.slice(0,n),this.head.data=this.head.data.slice(n)):S=n===this.head.data.length?this.shift():a?this._getString(n):this._getBuffer(n),S}},{key:`first`,value:function first(){return this.head.data}},{key:`_getString`,value:function _getString(n){var a=this.head,S=1,C=a.data;for(n-=C.length;a=a.next;){var N=a.data,F=n>N.length?N.length:n;if(F===N.length?C+=N:C+=N.slice(0,n),n-=F,n===0){F===N.length?(++S,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=N.slice(F));break}++S}return this.length-=S,C}},{key:`_getBuffer`,value:function _getBuffer(n){var a=S.allocUnsafe(n),C=this.head,N=1;for(C.data.copy(a),n-=C.data.length;C=C.next;){var F=C.data,I=n>F.length?F.length:n;if(F.copy(a,a.length-n,0,I),n-=I,n===0){I===F.length?(++N,C.next?this.head=C.next:this.head=this.tail=null):(this.head=C,C.data=F.slice(I));break}++N}return this.length-=N,a}},{key:N,value:function value(n,a){return C(this,_objectSpread(_objectSpread({},a),{},{depth:0,customInspect:!1}))}}]),BufferList}()})),AO=__commonJSMin$1(((n,a)=>{function destroy(n,a){var S=this,C=this._readableState&&this._readableState.destroyed,N=this._writableState&&this._writableState.destroyed;return C||N?(a?a(n):n&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,n)):process.nextTick(emitErrorNT,this,n)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(n||null,function(n){!a&&n?S._writableState?S._writableState.errorEmitted?process.nextTick(emitCloseNT,S):(S._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,S,n)):process.nextTick(emitErrorAndCloseNT,S,n):a?(process.nextTick(emitCloseNT,S),a(n)):process.nextTick(emitCloseNT,S)}),this)}function emitErrorAndCloseNT(n,a){emitErrorNT(n,a),emitCloseNT(n)}function emitCloseNT(n){n._writableState&&!n._writableState.emitClose||n._readableState&&!n._readableState.emitClose||n.emit(`close`)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(n,a){n.emit(`error`,a)}function errorOrDestroy(n,a){var S=n._readableState,C=n._writableState;S&&S.autoDestroy||C&&C.autoDestroy?n.destroy(a):n.emit(`error`,a)}a.exports={destroy,undestroy,errorOrDestroy}})),jO=__commonJSMin$1(((n,a)=>{let S={};function createErrorType(n,a,C){C||=Error;function getMessage(n,S,C){return typeof a==`string`?a:a(n,S,C)}class NodeError extends C{constructor(n,a,S){super(getMessage(n,a,S))}}NodeError.prototype.name=C.name,NodeError.prototype.code=n,S[n]=NodeError}function oneOf(n,a){if(Array.isArray(n)){let S=n.length;return n=n.map(n=>String(n)),S>2?`one of ${a} ${n.slice(0,S-1).join(`, `)}, or `+n[S-1]:S===2?`one of ${a} ${n[0]} or ${n[1]}`:`of ${a} ${n[0]}`}else return`of ${a} ${String(n)}`}function startsWith(n,a,S){return n.substr(!S||S<0?0:+S,a.length)===a}function endsWith(n,a,S){return(S===void 0||S>n.length)&&(S=n.length),n.substring(S-a.length,S)===a}function includes(n,a,S){return typeof S!=`number`&&(S=0),S+a.length>n.length?!1:n.indexOf(a,S)!==-1}createErrorType(`ERR_INVALID_OPT_VALUE`,function(n,a){return`The value "`+a+`" is invalid for option "`+n+`"`},TypeError),createErrorType(`ERR_INVALID_ARG_TYPE`,function(n,a,S){let C;typeof a==`string`&&startsWith(a,`not `)?(C=`must not be`,a=a.replace(/^not /,``)):C=`must be`;let N;return N=endsWith(n,` argument`)?`The ${n} ${C} ${oneOf(a,`type`)}`:`The "${n}" ${includes(n,`.`)?`property`:`argument`} ${C} ${oneOf(a,`type`)}`,N+=`. Received type ${typeof S}`,N},TypeError),createErrorType(`ERR_STREAM_PUSH_AFTER_EOF`,`stream.push() after EOF`),createErrorType(`ERR_METHOD_NOT_IMPLEMENTED`,function(n){return`The `+n+` method is not implemented`}),createErrorType(`ERR_STREAM_PREMATURE_CLOSE`,`Premature close`),createErrorType(`ERR_STREAM_DESTROYED`,function(n){return`Cannot call `+n+` after a stream was destroyed`}),createErrorType(`ERR_MULTIPLE_CALLBACK`,`Callback called multiple times`),createErrorType(`ERR_STREAM_CANNOT_PIPE`,`Cannot pipe, not readable`),createErrorType(`ERR_STREAM_WRITE_AFTER_END`,`write after end`),createErrorType(`ERR_STREAM_NULL_VALUES`,`May not write null values to stream`,TypeError),createErrorType(`ERR_UNKNOWN_ENCODING`,function(n){return`Unknown encoding: `+n},TypeError),createErrorType(`ERR_STREAM_UNSHIFT_AFTER_END_EVENT`,`stream.unshift() after end event`),a.exports.codes=S})),MO=__commonJSMin$1(((n,a)=>{var S=jO().codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(n,a,S){return n.highWaterMark==null?a?n[S]:null:n.highWaterMark}function getHighWaterMark(n,a,C,N){var F=highWaterMarkFrom(a,N,C);if(F!=null){if(!(isFinite(F)&&Math.floor(F)===F)||F<0)throw new S(N?C:`highWaterMark`,F);return Math.floor(F)}return n.objectMode?16:16*1024}a.exports={getHighWaterMark}})),NO=__commonJSMin$1(((n,a)=>{Ae(),a.exports=deprecate;function deprecate(n,a){if(config(`noDeprecation`))return n;var S=!1;function deprecated(){if(!S){if(config(`throwDeprecation`))throw Error(a);config(`traceDeprecation`)?ke.trace(a):ke.warn(a),S=!0}return n.apply(this,arguments)}return deprecated}function config(n){try{if(!globalThis.localStorage)return!1}catch{return!1}var a=globalThis.localStorage[n];return a==null?!1:String(a).toLowerCase()===`true`}})),PO=__commonJSMin$1(((n,a)=>{a.exports=Writable;function CorkedRequest(n){var a=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(a,n)}}var S;Writable.WritableState=WritableState;var C={deprecate:NO()},N=OO(),F=(vt(),__toCommonJS(mt)).Buffer,I=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return F.from(n)}function _isUint8Array(n){return F.isBuffer(n)||n instanceof I}var H=AO(),W=MO().getHighWaterMark,K=jO().codes,q=K.ERR_INVALID_ARG_TYPE,Y=K.ERR_METHOD_NOT_IMPLEMENTED,X=K.ERR_MULTIPLE_CALLBACK,te=K.ERR_STREAM_CANNOT_PIPE,ne=K.ERR_STREAM_DESTROYED,re=K.ERR_STREAM_NULL_VALUES,ie=K.ERR_STREAM_WRITE_AFTER_END,ae=K.ERR_UNKNOWN_ENCODING,oe=H.errorOrDestroy;DO()(Writable,N);function nop(){}function WritableState(n,a,C){S||=FO(),n||={},typeof C!=`boolean`&&(C=a instanceof S),this.objectMode=!!n.objectMode,C&&(this.objectMode=this.objectMode||!!n.writableObjectMode),this.highWaterMark=W(this,n,`writableHighWaterMark`,C),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var N=n.decodeStrings===!1;this.decodeStrings=!N,this.defaultEncoding=n.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){onwrite(a,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=n.emitClose!==!1,this.autoDestroy=!!n.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){for(var n=this.bufferedRequest,a=[];n;)a.push(n),n=n.next;return a},(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:C.deprecate(function writableStateBufferGetter(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var Z;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(Z=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(n){return Z.call(this,n)?!0:this===Writable?n&&n._writableState instanceof WritableState:!1}})):Z=function realHasInstance(n){return n instanceof this};function Writable(n){S||=FO();var a=this instanceof S;if(!a&&!Z.call(Writable,this))return new Writable(n);this._writableState=new WritableState(n,this,a),this.writable=!0,n&&(typeof n.write==`function`&&(this._write=n.write),typeof n.writev==`function`&&(this._writev=n.writev),typeof n.destroy==`function`&&(this._destroy=n.destroy),typeof n.final==`function`&&(this._final=n.final)),N.call(this)}Writable.prototype.pipe=function(){oe(this,new te)};function writeAfterEnd(n,a){var S=new ie;oe(n,S),process.nextTick(a,S)}function validChunk(n,a,S,C){var N;return S===null?N=new re:typeof S!=`string`&&!a.objectMode&&(N=new q(`chunk`,[`string`,`Buffer`],S)),N?(oe(n,N),process.nextTick(C,N),!1):!0}Writable.prototype.write=function(n,a,S){var C=this._writableState,N=!1,I=!C.objectMode&&_isUint8Array(n);return I&&!F.isBuffer(n)&&(n=_uint8ArrayToBuffer(n)),typeof a==`function`&&(S=a,a=null),I?a=`buffer`:a||=C.defaultEncoding,typeof S!=`function`&&(S=nop),C.ending?writeAfterEnd(this,S):(I||validChunk(this,C,n,S))&&(C.pendingcb++,N=writeOrBuffer(this,C,I,n,a,S)),N},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var n=this._writableState;n.corked&&(n.corked--,!n.writing&&!n.corked&&!n.bufferProcessing&&n.bufferedRequest&&clearBuffer(this,n))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(n){if(typeof n==`string`&&(n=n.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((n+``).toLowerCase())>-1))throw new ae(n);return this._writableState.defaultEncoding=n,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(n,a,S){return!n.objectMode&&n.decodeStrings!==!1&&typeof a==`string`&&(a=F.from(a,S)),a}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(n,a,S,C,N,F){if(!S){var I=decodeChunk(a,C,N);C!==I&&(S=!0,N=`buffer`,C=I)}var H=a.objectMode?1:C.length;a.length+=H;var W=a.length<a.highWaterMark;if(W||(a.needDrain=!0),a.writing||a.corked){var K=a.lastBufferedRequest;a.lastBufferedRequest={chunk:C,encoding:N,isBuf:S,callback:F,next:null},K?K.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else doWrite(n,a,!1,H,C,N,F);return W}function doWrite(n,a,S,C,N,F,I){a.writelen=C,a.writecb=I,a.writing=!0,a.sync=!0,a.destroyed?a.onwrite(new ne(`write`)):S?n._writev(N,a.onwrite):n._write(N,F,a.onwrite),a.sync=!1}function onwriteError(n,a,S,C,N){--a.pendingcb,S?(process.nextTick(N,C),process.nextTick(finishMaybe,n,a),n._writableState.errorEmitted=!0,oe(n,C)):(N(C),n._writableState.errorEmitted=!0,oe(n,C),finishMaybe(n,a))}function onwriteStateUpdate(n){n.writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0}function onwrite(n,a){var S=n._writableState,C=S.sync,N=S.writecb;if(typeof N!=`function`)throw new X;if(onwriteStateUpdate(S),a)onwriteError(n,S,C,a,N);else{var F=needFinish(S)||n.destroyed;!F&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest&&clearBuffer(n,S),C?process.nextTick(afterWrite,n,S,F,N):afterWrite(n,S,F,N)}}function afterWrite(n,a,S,C){S||onwriteDrain(n,a),a.pendingcb--,C(),finishMaybe(n,a)}function onwriteDrain(n,a){a.length===0&&a.needDrain&&(a.needDrain=!1,n.emit(`drain`))}function clearBuffer(n,a){a.bufferProcessing=!0;var S=a.bufferedRequest;if(n._writev&&S&&S.next){var C=a.bufferedRequestCount,N=Array(C),F=a.corkedRequestsFree;F.entry=S;for(var I=0,H=!0;S;)N[I]=S,S.isBuf||(H=!1),S=S.next,I+=1;N.allBuffers=H,doWrite(n,a,!0,a.length,N,``,F.finish),a.pendingcb++,a.lastBufferedRequest=null,F.next?(a.corkedRequestsFree=F.next,F.next=null):a.corkedRequestsFree=new CorkedRequest(a),a.bufferedRequestCount=0}else{for(;S;){var W=S.chunk,K=S.encoding,q=S.callback;if(doWrite(n,a,!1,a.objectMode?1:W.length,W,K,q),S=S.next,a.bufferedRequestCount--,a.writing)break}S===null&&(a.lastBufferedRequest=null)}a.bufferedRequest=S,a.bufferProcessing=!1}Writable.prototype._write=function(n,a,S){S(new Y(`_write()`))},Writable.prototype._writev=null,Writable.prototype.end=function(n,a,S){var C=this._writableState;return typeof n==`function`?(S=n,n=null,a=null):typeof a==`function`&&(S=a,a=null),n!=null&&this.write(n,a),C.corked&&(C.corked=1,this.uncork()),C.ending||endWritable(this,C,S),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}});function needFinish(n){return n.ending&&n.length===0&&n.bufferedRequest===null&&!n.finished&&!n.writing}function callFinal(n,a){n._final(function(S){a.pendingcb--,S&&oe(n,S),a.prefinished=!0,n.emit(`prefinish`),finishMaybe(n,a)})}function prefinish(n,a){!a.prefinished&&!a.finalCalled&&(typeof n._final==`function`&&!a.destroyed?(a.pendingcb++,a.finalCalled=!0,process.nextTick(callFinal,n,a)):(a.prefinished=!0,n.emit(`prefinish`)))}function finishMaybe(n,a){var S=needFinish(a);if(S&&(prefinish(n,a),a.pendingcb===0&&(a.finished=!0,n.emit(`finish`),a.autoDestroy))){var C=n._readableState;(!C||C.autoDestroy&&C.endEmitted)&&n.destroy()}return S}function endWritable(n,a,S){a.ending=!0,finishMaybe(n,a),S&&(a.finished?process.nextTick(S):n.once(`finish`,S)),a.ended=!0,n.writable=!1}function onCorkedFinish(n,a,S){var C=n.entry;for(n.entry=null;C;){var N=C.callback;a.pendingcb--,N(S),C=C.next}a.corkedRequestsFree.next=n}Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function get(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function set(n){this._writableState&&(this._writableState.destroyed=n)}}),Writable.prototype.destroy=H.destroy,Writable.prototype._undestroy=H.undestroy,Writable.prototype._destroy=function(n,a){a(n)}})),FO=__commonJSMin$1(((n,a)=>{var S=Object.keys||function(n){var a=[];for(var S in n)a.push(S);return a};a.exports=Duplex;var C=VO(),N=PO();DO()(Duplex,C);for(var F=S(N.prototype),I=0;I<F.length;I++){var H=F[I];Duplex.prototype[H]||(Duplex.prototype[H]=N.prototype[H])}function Duplex(n){if(!(this instanceof Duplex))return new Duplex(n);C.call(this,n),N.call(this,n),this.allowHalfOpen=!0,n&&(n.readable===!1&&(this.readable=!1),n.writable===!1&&(this.writable=!1),n.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(`end`,onend)))}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}});function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(n){n.end()}Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function set(n){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=n,this._writableState.destroyed=n)}})})),IO=__commonJSMin$1(((n,a)=>{
724
+ if (condition) { yield value; }`)}}),getEncodingTransformGenerator,encodingUint8ArrayGenerator,encodingStringGenerator,encodingStringFinal,GE=__esmMin(()=>{vt(),Jt(),fC(),getEncodingTransformGenerator=(n,a,S)=>{if(S)return;if(n)return{transform:encodingUint8ArrayGenerator.bind(void 0,new TextEncoder)};let C=new qt(a);return{transform:encodingStringGenerator.bind(void 0,C),final:encodingStringFinal.bind(void 0,C)}},encodingUint8ArrayGenerator=function*(n,a){lt.isBuffer(a)?yield bufferToUint8Array(a):typeof a==`string`?yield n.encode(a):yield a},encodingStringGenerator=function*(n,a){yield isUint8Array(a)?n.write(a):a},encodingStringFinal=function*(n){let a=n.end();a!==``&&(yield a)}}),KE,transformChunk,finalChunks,generatorFinalChunks,qE,JE,YE=__esmMin(()=>{tc(),KE=callbackify(async(n,a,S,C)=>{a.currentIterable=n(...S);try{for await(let n of a.currentIterable)C.push(n)}finally{delete a.currentIterable}}),transformChunk=async function*(n,a,S){if(S===a.length){yield n;return}let{transform:C=JE}=a[S];for await(let N of C(n))yield*transformChunk(N,a,S+1)},finalChunks=async function*(n){for(let[a,{final:S}]of Object.entries(n))yield*generatorFinalChunks(S,Number(a),n)},generatorFinalChunks=async function*(n,a,S){if(n!==void 0)for await(let C of n())yield*transformChunk(C,S,a+1)},qE=callbackify(async({currentIterable:n},a)=>{if(n!==void 0){await(a?n.throw(a):n.return());return}if(a)throw a}),JE=__name$1(function*(n){yield n},`identityGenerator`)}),pushChunksSync,runTransformSync,transformChunkSync,finalChunksSync,generatorFinalChunksSync,identityGenerator,XE=__esmMin(()=>{pushChunksSync=(n,a,S,C)=>{try{for(let C of n(...a))S.push(C);C()}catch(n){C(n)}},runTransformSync=(n,a)=>[...a.flatMap(a=>[...transformChunkSync(a,n,0)]),...finalChunksSync(n)],transformChunkSync=function*(n,a,S){if(S===a.length){yield n;return}let{transform:C=identityGenerator}=a[S];for(let N of C(n))yield*transformChunkSync(N,a,S+1)},finalChunksSync=function*(n){for(let[a,{final:S}]of Object.entries(n))yield*generatorFinalChunksSync(S,Number(a),n)},generatorFinalChunksSync=function*(n,a,S){if(n!==void 0)for(let C of n())yield*transformChunkSync(C,S,a+1)},identityGenerator=function*(n){yield n}}),generatorToStream,runGeneratorsSync,addInternalGenerators,ZE=__esmMin(()=>{oi(),CE(),UE(),WE(),GE(),YE(),XE(),generatorToStream=({value:n,value:{transform:a,final:S,writableObjectMode:C,readableObjectMode:N},optionName:F},{encoding:I})=>{let H={},W=addInternalGenerators(n,I,F),K=isAsyncGenerator(a),q=isAsyncGenerator(S),Y=K?KE.bind(void 0,transformChunk,H):pushChunksSync.bind(void 0,transformChunkSync),X=K||q?KE.bind(void 0,finalChunks,H):pushChunksSync.bind(void 0,finalChunksSync),te=K||q?qE.bind(void 0,H):void 0;return{stream:new ri({writableObjectMode:C,writableHighWaterMark:getDefaultHighWaterMark(C),readableObjectMode:N,readableHighWaterMark:getDefaultHighWaterMark(N),transform(n,a,S){Y([n,W,0],this,S)},flush(n){X([W],this,n)},destroy:te})}},runGeneratorsSync=(n,a,S,C)=>{let N=a.filter(({type:n})=>n===`generator`),F=C?N.reverse():N;for(let{value:a,optionName:C}of F)n=runTransformSync(addInternalGenerators(a,S,C),n);return n},addInternalGenerators=({transform:n,final:a,binary:S,writableObjectMode:C,readableObjectMode:N,preserveNewlines:F},I,H)=>{let W={};return[{transform:getValidateTransformInput(C,H)},getEncodingTransformGenerator(S,I,C),getSplitLinesGenerator(S,F,C,W),{transform:n,final:a},{transform:getValidateTransformReturn(N,H)},getAppendNewlineGenerator({binary:S,preserveNewlines:F,readableObjectMode:N,state:W})].filter(Boolean)}}),addInputOptionsSync,getInputFdNumbers,addInputOptionSync,applySingleInputGeneratorsSync,validateSerializable,QE=__esmMin(()=>{ZE(),fC(),CE(),addInputOptionsSync=(n,a)=>{for(let S of getInputFdNumbers(n))addInputOptionSync(n,S,a)},getInputFdNumbers=n=>new Set(Object.entries(n).filter(([,{direction:n}])=>n===`input`).map(([n])=>Number(n))),addInputOptionSync=(n,a,S)=>{let{stdioItems:C}=n[a],N=C.filter(({contents:n})=>n!==void 0);if(N.length!==0){if(a!==0){let[{type:n,optionName:a}]=N;throw TypeError(`Only the \`stdin\` option, not \`${a}\`, can be ${SE[n]} with synchronous methods.`)}S.input=joinToUint8Array(N.map(({contents:n})=>n).map(n=>applySingleInputGeneratorsSync(n,C)))}},applySingleInputGeneratorsSync=(n,a)=>{let S=runGeneratorsSync(n,a,`utf8`,!0);return validateSerializable(S),joinToUint8Array(S)},validateSerializable=n=>{let a=n.find(n=>typeof n!=`string`&&!isUint8Array(n));if(a!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${a}.`)}}),shouldLogOutput,fdUsesVerbose,$E,logLines,logLinesSync,isPipingStream,logLine,eD=__esmMin(()=>{ET(),CE(),tw(),TC(),shouldLogOutput=({stdioItems:n,encoding:a,verboseInfo:S,fdNumber:C})=>C!==`all`&&isFullVerbose(S,C)&&!CT.has(a)&&fdUsesVerbose(C)&&(n.some(({type:n,value:a})=>n===`native`&&$E.has(a))||n.every(({type:n})=>_E.has(n))),fdUsesVerbose=n=>n===1||n===2,$E=new Set([`pipe`,`overlapped`]),logLines=async(n,a,S,C)=>{for await(let N of n)isPipingStream(a)||logLine(N,S,C)},logLinesSync=(n,a,S)=>{for(let C of n)logLine(C,a,S)},isPipingStream=n=>n._readableState.pipes.length>0,logLine=(n,a,S)=>{verboseLog({type:`output`,verboseMessage:serializeVerboseMessage(n),fdNumber:a,verboseInfo:S})}}),transformOutputSync,transformOutputResultSync,runOutputGeneratorsSync,serializeChunks,logOutputSync,writeToFiles,tD=__esmMin(()=>{Zc(),eD(),ZE(),UE(),fC(),CE(),aE(),transformOutputSync=({fileDescriptors:n,syncResult:{output:a},options:S,isMaxBuffer:C,verboseInfo:N})=>{if(a===null)return{output:Array.from({length:3})};let F={},I=new Set([]);return{output:a.map((a,H)=>transformOutputResultSync({result:a,fileDescriptors:n,fdNumber:H,state:F,outputFiles:I,isMaxBuffer:C,verboseInfo:N},S)),...F}},transformOutputResultSync=({result:n,fileDescriptors:a,fdNumber:S,state:C,outputFiles:N,isMaxBuffer:F,verboseInfo:I},{buffer:H,encoding:W,lines:K,stripFinalNewline:q,maxBuffer:Y})=>{if(n===null)return;let X=bufferToUint8Array(truncateMaxBufferSync(n,F,Y)),{stdioItems:te,objectMode:ne}=a[S],{serializedResult:re,finalResult:ie=re}=serializeChunks({chunks:runOutputGeneratorsSync([X],te,W,C),objectMode:ne,encoding:W,lines:K,stripFinalNewline:q,fdNumber:S});logOutputSync({serializedResult:re,fdNumber:S,state:C,verboseInfo:I,encoding:W,stdioItems:te,objectMode:ne});let ae=H[S]?ie:void 0;try{return C.error===void 0&&writeToFiles(re,te,N),ae}catch(n){return C.error=n,ae}},runOutputGeneratorsSync=(n,a,S,C)=>{try{return runGeneratorsSync(n,a,S,!1)}catch(a){return C.error=a,n}},serializeChunks=({chunks:n,objectMode:a,encoding:S,lines:C,stripFinalNewline:N,fdNumber:F})=>{if(a)return{serializedResult:n};if(S===`buffer`)return{serializedResult:joinToUint8Array(n)};let I=joinToString(n,S);return C[F]?{serializedResult:I,finalResult:splitLinesSync(I,!N[F],a)}:{serializedResult:I}},logOutputSync=({serializedResult:n,fdNumber:a,state:S,verboseInfo:C,encoding:N,stdioItems:F,objectMode:I})=>{if(!shouldLogOutput({stdioItems:F,encoding:N,verboseInfo:C,fdNumber:a}))return;let H=splitLinesSync(n,!1,I);try{logLinesSync(H,a,C)}catch(n){S.error??=n}},writeToFiles=(n,a,S)=>{for(let{path:C,append:N}of a.filter(({type:n})=>vE.has(n))){let a=typeof C==`string`?C:C.toString();N||S.has(a)?appendFileSync(C,n):(S.add(a),writeFileSync(C,n))}}}),getAllSync,nD=__esmMin(()=>{fC(),BE(),getAllSync=([,n,a],S)=>{if(S.all)return n===void 0?a:a===void 0?n:Array.isArray(n)?Array.isArray(a)?[...n,...a]:[...n,stripNewline(a,S,`all`)]:Array.isArray(a)?[stripNewline(n,S,`all`),...a]:isUint8Array(n)&&isUint8Array(a)?concatUint8Arrays([n,a]):`${n}${a}`}}),waitForExit,waitForExitOrError,waitForSubprocessExit,waitForSuccessfulExit,isSubprocessErrorExit,isFailedExit,rD=__esmMin(()=>{Kt(),Dw(),waitForExit=async(n,a)=>{let[S,C]=await waitForExitOrError(n);return a.isForcefullyTerminated??=!1,[S,C]},waitForExitOrError=async n=>{let[a,S]=await Promise.allSettled([Vt(n,`spawn`),Vt(n,`exit`)]);return a.status===`rejected`?[]:S.status===`rejected`?waitForSubprocessExit(n):S.value},waitForSubprocessExit=async n=>{try{return await Vt(n,`exit`)}catch{return waitForSubprocessExit(n)}},waitForSuccessfulExit=async n=>{let[a,S]=await n;if(!isSubprocessErrorExit(a,S)&&isFailedExit(a,S))throw new DiscardedError;return[a,S]},isSubprocessErrorExit=(n,a)=>n===void 0&&a===void 0,isFailedExit=(n,a)=>n!==0||a!==null}),getExitResultSync,getResultError,iD=__esmMin(()=>{Dw(),aE(),rD(),getExitResultSync=({error:n,status:a,signal:S,output:C},{maxBuffer:N})=>{let F=getResultError(n,a,S);return{resultError:F,exitCode:a,signal:S,timedOut:F?.code===`ETIMEDOUT`,isMaxBuffer:isMaxBufferSync(F,C,N)}},getResultError=(n,a,S)=>n===void 0?isFailedExit(a,S)?new DiscardedError:void 0:n}),execaCoreSync,handleSyncArguments,normalizeSyncOptions,validateSyncOptions,throwInvalidSyncOption,spawnSubprocessSync,runSubprocessSync,normalizeSpawnSyncOptions,getSyncResult,aD=__esmMin(()=>{cC(),ow(),kT(),AT(),sE(),mE(),zE(),BE(),QE(),tD(),aE(),nD(),iD(),execaCoreSync=(n,a,S)=>{let{file:C,commandArguments:N,command:F,escapedCommand:I,startTime:H,verboseInfo:W,options:K,fileDescriptors:q}=handleSyncArguments(n,a,S);return handleResult(spawnSubprocessSync({file:C,commandArguments:N,options:K,command:F,escapedCommand:I,verboseInfo:W,fileDescriptors:q,startTime:H}),W,K)},handleSyncArguments=(n,a,S)=>{let{command:C,escapedCommand:N,startTime:F,verboseInfo:I}=handleCommand(n,a,S),{file:H,commandArguments:W,options:K}=normalizeOptions(n,a,normalizeSyncOptions(S));return validateSyncOptions(K),{file:H,commandArguments:W,command:C,escapedCommand:N,startTime:F,verboseInfo:I,options:K,fileDescriptors:handleStdioSync(K,I)}},normalizeSyncOptions=n=>n.node&&!n.ipc?{...n,ipc:!1}:n,validateSyncOptions=({ipc:n,ipcInput:a,detached:S,cancelSignal:C})=>{a&&throwInvalidSyncOption(`ipcInput`),n&&throwInvalidSyncOption(`ipc: true`),S&&throwInvalidSyncOption(`detached: true`),C&&throwInvalidSyncOption(`cancelSignal`)},throwInvalidSyncOption=n=>{throw TypeError(`The "${n}" option cannot be used with synchronous methods.`)},spawnSubprocessSync=({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,verboseInfo:F,fileDescriptors:I,startTime:H})=>{let W=runSubprocessSync({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,fileDescriptors:I,startTime:H});if(W.failed)return W;let{resultError:K,exitCode:q,signal:Y,timedOut:X,isMaxBuffer:te}=getExitResultSync(W,S),{output:ne,error:re=K}=transformOutputSync({fileDescriptors:I,syncResult:W,options:S,isMaxBuffer:te,verboseInfo:F});return getSyncResult({error:re,exitCode:q,signal:Y,timedOut:X,isMaxBuffer:te,stdio:ne.map((n,a)=>stripNewline(n,S,a)),all:stripNewline(getAllSync(ne,S),S,`all`),options:S,command:C,escapedCommand:N,startTime:H})},runSubprocessSync=({file:n,commandArguments:a,options:S,command:C,escapedCommand:N,fileDescriptors:F,startTime:I})=>{try{return addInputOptionsSync(F,S),spawnSync(...concatenateShell(n,a,normalizeSpawnSyncOptions(S)))}catch(n){return makeEarlyError({error:n,command:C,escapedCommand:N,fileDescriptors:F,options:S,startTime:I,isSync:!0})}},normalizeSpawnSyncOptions=({encoding:n,maxBuffer:a,...S})=>({...S,encoding:`buffer`,maxBuffer:getMaxBufferSync(a)}),getSyncResult=({error:n,exitCode:a,signal:S,timedOut:C,isMaxBuffer:N,stdio:F,all:I,options:H,command:W,escapedCommand:K,startTime:q})=>n===void 0?makeSuccessResult({command:W,escapedCommand:K,stdio:F,all:I,ipcOutput:[],options:H,startTime:q}):makeError({error:n,command:W,escapedCommand:K,timedOut:C,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:N,isForcefullyTerminated:!1,exitCode:a,signal:S,stdio:F,all:I,ipcOutput:[],options:H,startTime:q,isSync:!0})}),oD,getOneMessageAsync,getMessage,throwOnDisconnect,throwOnStrictError,sD=__esmMin(()=>{Kt(),Gw(),eT(),Xw(),oD=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},{reference:N=!0,filter:F}={})=>(validateIpcMethod({methodName:`getOneMessage`,isSubprocess:S,ipc:C,isConnected:isConnected(n)}),getOneMessageAsync({anyProcess:n,channel:a,isSubprocess:S,filter:F,reference:N})),`getOneMessage`),getOneMessageAsync=async({anyProcess:n,channel:a,isSubprocess:S,filter:C,reference:N})=>{addReference(a,N);let F=getIpcEmitter(n,a,S),I=new AbortController;try{return await Promise.race([getMessage(F,C,I),throwOnDisconnect(F,S,I),throwOnStrictError(F,S,I)])}catch(a){throw disconnect(n),a}finally{I.abort(),removeReference(a,N)}},getMessage=async(n,a,{signal:S})=>{if(a===void 0){let[a]=await Vt(n,`message`,{signal:S});return a}for await(let[C]of Ht(n,`message`,{signal:S}))if(a(C))return C},throwOnDisconnect=async(n,a,{signal:S})=>{await Vt(n,`disconnect`,{signal:S}),throwOnEarlyDisconnect(a)},throwOnStrictError=async(n,a,{signal:S})=>{let[C]=await Vt(n,`strict:error`,{signal:S});throw getStrictResponseError(C,a)}}),cD,loopOnMessages,stopOnDisconnect,abortOnStrictError,iterateOnMessages,throwIfStrictError,lD=__esmMin(()=>{Kt(),Gw(),eT(),Xw(),cD=__name$1(({anyProcess:n,channel:a,isSubprocess:S,ipc:C},{reference:N=!0}={})=>loopOnMessages({anyProcess:n,channel:a,isSubprocess:S,ipc:C,shouldAwait:!S,reference:N}),`getEachMessage`),loopOnMessages=({anyProcess:n,channel:a,isSubprocess:S,ipc:C,shouldAwait:N,reference:F})=>{validateIpcMethod({methodName:`getEachMessage`,isSubprocess:S,ipc:C,isConnected:isConnected(n)}),addReference(a,F);let I=getIpcEmitter(n,a,S),H=new AbortController,W={};return stopOnDisconnect(n,I,H),abortOnStrictError({ipcEmitter:I,isSubprocess:S,controller:H,state:W}),iterateOnMessages({anyProcess:n,channel:a,ipcEmitter:I,isSubprocess:S,shouldAwait:N,controller:H,state:W,reference:F})},stopOnDisconnect=async(n,a,S)=>{try{await Vt(a,`disconnect`,{signal:S.signal}),S.abort()}catch{}},abortOnStrictError=async({ipcEmitter:n,isSubprocess:a,controller:S,state:C})=>{try{let[N]=await Vt(n,`strict:error`,{signal:S.signal});C.error=getStrictResponseError(N,a),S.abort()}catch{}},iterateOnMessages=async function*({anyProcess:n,channel:a,ipcEmitter:S,isSubprocess:C,shouldAwait:N,controller:F,state:I,reference:H}){try{for await(let[n]of Ht(S,`message`,{signal:F.signal}))throwIfStrictError(I),yield n}catch{throwIfStrictError(I)}finally{F.abort(),removeReference(a,H),C||disconnect(n),N&&await n}},throwIfStrictError=({error:n})=>{if(n)throw n}}),addIpcMethods,getIpcExport,getIpcMethods,uD=__esmMin(()=>{sn(),dT(),sD(),lD(),gT(),addIpcMethods=(n,{ipc:a})=>{Object.assign(n,getIpcMethods(n,!1,a))},getIpcExport=()=>{let n=$t,a=$t.channel!==void 0;return{...getIpcMethods(n,!0,a),getCancelSignal:fT.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:!0,ipc:a})}},getIpcMethods=(n,a,S)=>({sendMessage:lT.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S}),getOneMessage:oD.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S}),getEachMessage:cD.bind(void 0,{anyProcess:n,channel:n.channel,isSubprocess:a,ipc:S})})}),handleEarlyError,createDummyStreams,createDummyStream,readable,writable,duplex,handleDummyPromise,dD=__esmMin(()=>{cC(),oi(),IE(),sE(),mE(),handleEarlyError=({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,verboseInfo:I})=>{cleanupCustomStreams(C);let H=new ChildProcess;return createDummyStreams(H,C),Object.assign(H,{readable,writable,duplex}),{subprocess:H,promise:handleDummyPromise(makeEarlyError({error:n,command:a,escapedCommand:S,fileDescriptors:C,options:N,startTime:F,isSync:!1}),I,N)}},createDummyStreams=(n,a)=>{let S=createDummyStream(),C=createDummyStream(),N=createDummyStream(),F=Array.from({length:a.length-3},createDummyStream),I=createDummyStream(),H=[S,C,N,...F];Object.assign(n,{stdin:S,stdout:C,stderr:N,all:I,stdio:H})},createDummyStream=()=>{let n=new ii;return n.end(),n},readable=()=>new ei({read(){}}),writable=()=>new ti({write(){}}),duplex=()=>new ni({read(){},write(){}}),handleDummyPromise=async(n,a,S)=>handleResult(n,a,S)}),handleStdioAsync,forbiddenIfAsync,fD,pD,mD=__esmMin(()=>{Zc(),vt(),oi(),ZE(),IE(),CE(),handleStdioAsync=(n,a)=>handleStdio(pD,n,a,!1),forbiddenIfAsync=({type:n,optionName:a})=>{throw TypeError(`The \`${a}\` option cannot be ${SE[n]}.`)},fD={fileNumber:forbiddenIfAsync,generator:generatorToStream,asyncGenerator:generatorToStream,nodeStream:({value:n})=>({stream:n}),webTransform({value:{transform:n,writableObjectMode:a,readableObjectMode:S}}){let C=a||S;return{stream:ni.fromWeb(n,{objectMode:C})}},duplex:({value:{transform:n}})=>({stream:n}),native(){}},pD={input:{...fD,fileUrl:({value:n})=>({stream:createReadStream(n)}),filePath:({value:{file:n}})=>({stream:createReadStream(n)}),webStream:({value:n})=>({stream:ei.fromWeb(n)}),iterable:({value:n})=>({stream:ei.from(n)}),asyncIterable:({value:n})=>({stream:ei.from(n)}),string:({value:n})=>({stream:ei.from(n)}),uint8Array:({value:n})=>({stream:ei.from(lt.from(n))})},output:{...fD,fileUrl:({value:n})=>({stream:createWriteStream(n)}),filePath:({value:{file:n,append:a}})=>({stream:createWriteStream(n,a?{flags:`a`}:{})}),webStream:({value:n})=>({stream:ti.fromWeb(n)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}}});function finished(n,a){return new Promise((S,C)=>{a&&typeof a!=`function`?finished$1(n,a,n=>{n?C(n):S()}):finished$1(n,n=>{n?C(n):S()})})}var hD=__esmMin(()=>{Ir(),oi()});function mergeStreams(n){if(!Array.isArray(n))throw TypeError(`Expected an array, got \`${typeof n}\`.`);for(let a of n)validateStream(a);let a=n.some(({readableObjectMode:n})=>n),S=getHighWaterMark(n,a),C=new MergedStream({objectMode:a,writableHighWaterMark:S,readableHighWaterMark:S});for(let a of n)C.add(a);return C}var getHighWaterMark,MergedStream,onMergedStreamFinished,onMergedStreamEnd,onInputStreamsUnpipe,validateStream,endWhenStreamsDone,afterMergedStreamFinished,onInputStreamEnd,onInputStreamUnpipe,endStream,errorOrAbortStream,isAbortError,abortStream,errorStream,noop,updateMaxListeners,gD,_D,vD=__esmMin(()=>{Kt(),oi(),hD(),getHighWaterMark=(n,a)=>{if(n.length===0)return getDefaultHighWaterMark(a);let S=n.filter(({readableObjectMode:n})=>n===a).map(({readableHighWaterMark:n})=>n);return Math.max(...S)},MergedStream=class extends ii{#e=new Set([]);#t=new Set([]);#n=new Set([]);#r;#i=Symbol(`unpipe`);#a=new WeakMap;add(n){if(validateStream(n),this.#e.has(n))return;this.#e.add(n),this.#r??=onMergedStreamFinished(this,this.#e,this.#i);let a=endWhenStreamsDone({passThroughStream:this,stream:n,streams:this.#e,ended:this.#t,aborted:this.#n,onFinished:this.#r,unpipeEvent:this.#i});this.#a.set(n,a),n.pipe(this,{end:!1})}async remove(n){if(validateStream(n),!this.#e.has(n))return!1;let a=this.#a.get(n);return a===void 0?!1:(this.#a.delete(n),n.unpipe(this),await a,!0)}},onMergedStreamFinished=async(n,a,S)=>{updateMaxListeners(n,gD);let C=new AbortController;try{await Promise.race([onMergedStreamEnd(n,C),onInputStreamsUnpipe(n,a,S,C)])}finally{C.abort(),updateMaxListeners(n,-gD)}},onMergedStreamEnd=async(n,{signal:a})=>{try{await finished(n,{signal:a,cleanup:!0})}catch(a){throw errorOrAbortStream(n,a),a}},onInputStreamsUnpipe=async(n,a,S,{signal:C})=>{for await(let[N]of Ht(n,`unpipe`,{signal:C}))a.has(N)&&N.emit(S)},validateStream=n=>{if(typeof n?.pipe!=`function`)throw TypeError(`Expected a readable stream, got: \`${typeof n}\`.`)},endWhenStreamsDone=async({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,onFinished:F,unpipeEvent:I})=>{updateMaxListeners(n,_D);let H=new AbortController;try{await Promise.race([afterMergedStreamFinished(F,a,H),onInputStreamEnd({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,controller:H}),onInputStreamUnpipe({stream:a,streams:S,ended:C,aborted:N,unpipeEvent:I,controller:H})])}finally{H.abort(),updateMaxListeners(n,-_D)}S.size>0&&S.size===C.size+N.size&&(C.size===0&&N.size>0?abortStream(n):endStream(n))},afterMergedStreamFinished=async(n,a,{signal:S})=>{try{await n,S.aborted||abortStream(a)}catch(n){S.aborted||errorOrAbortStream(a,n)}},onInputStreamEnd=async({passThroughStream:n,stream:a,streams:S,ended:C,aborted:N,controller:{signal:F}})=>{try{await finished(a,{signal:F,cleanup:!0,readable:!0,writable:!1}),S.has(a)&&C.add(a)}catch(C){if(F.aborted||!S.has(a))return;isAbortError(C)?N.add(a):errorStream(n,C)}},onInputStreamUnpipe=async({stream:n,streams:a,ended:S,aborted:C,unpipeEvent:N,controller:{signal:F}})=>{if(await Vt(n,N,{signal:F}),!n.readable)return Vt(F,`abort`,{signal:F});a.delete(n),S.delete(n),C.delete(n)},endStream=n=>{n.writable&&n.end()},errorOrAbortStream=(n,a)=>{isAbortError(a)?abortStream(n):errorStream(n,a)},isAbortError=n=>n?.code===`ERR_STREAM_PREMATURE_CLOSE`,abortStream=n=>{(n.readable||n.writable)&&n.destroy()},errorStream=(n,a)=>{n.destroyed||(n.once(`error`,noop),n.destroy(a))},noop=()=>{},updateMaxListeners=(n,a)=>{let S=n.getMaxListeners();S!==0&&S!==1/0&&n.setMaxListeners(S+a)},gD=2,_D=1}),pipeStreams,onSourceFinish,endDestinationStream,onDestinationFinish,abortSourceStream,yD=__esmMin(()=>{hD(),vC(),pipeStreams=(n,a)=>{n.pipe(a),onSourceFinish(n,a),onDestinationFinish(n,a)},onSourceFinish=async(n,a)=>{if(!(isStandardStream(n)||isStandardStream(a))){try{await finished(n,{cleanup:!0,readable:!0,writable:!1})}catch{}endDestinationStream(a)}},endDestinationStream=n=>{n.writable&&n.end()},onDestinationFinish=async(n,a)=>{if(!(isStandardStream(n)||isStandardStream(a))){try{await finished(a,{cleanup:!0,readable:!1,writable:!0})}catch{}abortSourceStream(n)}},abortSourceStream=n=>{n.readable&&n.destroy()}}),pipeOutputAsync,pipeTransform,bD,pipeStdioItem,setStandardStreamMaxListeners,xD,SD=__esmMin(()=>{vD(),vC(),Yw(),CE(),yD(),pipeOutputAsync=(n,a,S)=>{let C=new Map;for(let[N,{stdioItems:F,direction:I}]of Object.entries(a)){for(let{stream:a}of F.filter(({type:n})=>_E.has(n)))pipeTransform(n,a,I,N);for(let{stream:a}of F.filter(({type:n})=>!_E.has(n)))pipeStdioItem({subprocess:n,stream:a,direction:I,fdNumber:N,pipeGroups:C,controller:S})}for(let[n,a]of C.entries())pipeStreams(a.length===1?a[0]:mergeStreams(a),n)},pipeTransform=(n,a,S,C)=>{S===`output`?pipeStreams(n.stdio[C],a):pipeStreams(a,n.stdio[C]);let N=bD[C];N!==void 0&&(n[N]=a),n.stdio[C]=a},bD=[`stdin`,`stdout`,`stderr`],pipeStdioItem=({subprocess:n,stream:a,direction:S,fdNumber:C,pipeGroups:N,controller:F})=>{if(a===void 0)return;setStandardStreamMaxListeners(a,F);let[I,H]=S===`output`?[a,n.stdio[C]]:[n.stdio[C],a],W=N.get(I)??[];N.set(I,[...W,H])},setStandardStreamMaxListeners=(n,{signal:a})=>{isStandardStream(n)&&incrementMaxListeners(n,xD,a)},xD=2}),CD,wD=__esmMin(()=>{CD=[],CD.push(`SIGHUP`,`SIGINT`,`SIGTERM`),process.platform!==`win32`&&CD.push(`SIGALRM`,`SIGABRT`,`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&CD.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`)}),processOk,TD,ED,DD,Emitter,SignalExitBase,signalExitWrap,SignalExitFallback,SignalExit,OD,kD,AD,jD,MD=__esmMin(()=>{wD(),processOk=n=>!!n&&typeof n==`object`&&typeof n.removeListener==`function`&&typeof n.emit==`function`&&typeof n.reallyExit==`function`&&typeof n.listeners==`function`&&typeof n.kill==`function`&&typeof n.pid==`number`&&typeof n.on==`function`,TD=Symbol.for(`signal-exit emitter`),ED=globalThis,DD=Object.defineProperty.bind(Object),Emitter=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(ED[TD])return ED[TD];DD(ED,TD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(n,a){this.listeners[n].push(a)}removeListener(n,a){let S=this.listeners[n],C=S.indexOf(a);C!==-1&&(C===0&&S.length===1?S.length=0:S.splice(C,1))}emit(n,a,S){if(this.emitted[n])return!1;this.emitted[n]=!0;let C=!1;for(let N of this.listeners[n])C=N(a,S)===!0||C;return n===`exit`&&(C=this.emit(`afterExit`,a,S)||C),C}},SignalExitBase=class{},signalExitWrap=n=>({onExit(a,S){return n.onExit(a,S)},load(){return n.load()},unload(){return n.unload()}}),SignalExitFallback=class extends SignalExitBase{onExit(){return()=>{}}load(){}unload(){}},SignalExit=class extends SignalExitBase{#e=OD.platform===`win32`?`SIGINT`:`SIGHUP`;#t=new Emitter;#n;#r;#i;#a={};#o=!1;constructor(n){super(),this.#n=n,this.#a={};for(let a of CD)this.#a[a]=()=>{let S=this.#n.listeners(a),{count:C}=this.#t,N=n;if(typeof N.__signal_exit_emitter__==`object`&&typeof N.__signal_exit_emitter__.count==`number`&&(C+=N.__signal_exit_emitter__.count),S.length===C){this.unload();let S=this.#t.emit(`exit`,null,a),C=a===`SIGHUP`?this.#e:a;S||n.kill(n.pid,C)}};this.#i=n.reallyExit,this.#r=n.emit}onExit(n,a){if(!processOk(this.#n))return()=>{};this.#o===!1&&this.load();let S=a?.alwaysLast?`afterExit`:`exit`;return this.#t.on(S,n),()=>{this.#t.removeListener(S,n),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#t.count+=1;for(let n of CD)try{let a=this.#a[n];a&&this.#n.on(n,a)}catch{}this.#n.emit=(n,...a)=>this.#c(n,...a),this.#n.reallyExit=n=>this.#s(n)}}unload(){this.#o&&(this.#o=!1,CD.forEach(n=>{let a=this.#a[n];if(!a)throw Error(`Listener not defined for signal: `+n);try{this.#n.removeListener(n,a)}catch{}}),this.#n.emit=this.#r,this.#n.reallyExit=this.#i,--this.#t.count)}#s(n){return processOk(this.#n)?(this.#n.exitCode=n||0,this.#t.emit(`exit`,this.#n.exitCode,null),this.#i.call(this.#n,this.#n.exitCode)):0}#c(n,...a){let S=this.#r;if(n===`exit`&&processOk(this.#n)){typeof a[0]==`number`&&(this.#n.exitCode=a[0]);let C=S.call(this.#n,n,...a);return this.#t.emit(`exit`,this.#n.exitCode,null),C}else return S.call(this.#n,n,...a)}},OD=globalThis.process,{onExit:kD,load:AD,unload:jD}=signalExitWrap(processOk(OD)?new SignalExit(OD):new SignalExitFallback)}),cleanupOnExit,ND=__esmMin(()=>{Kt(),MD(),cleanupOnExit=(n,{cleanup:a,detached:S},{signal:C})=>{if(!a||S)return;let N=kD(()=>{n.kill()});Gt(C,()=>{N()})}}),normalizePipeArguments,getDestinationStream,getDestination,mapDestinationArguments,getSourceStream,PD=__esmMin(()=>{iC(),aw(),Jw(),rC(),normalizePipeArguments=({source:n,sourcePromise:a,boundOptions:S,createNested:C},...N)=>{let F=getStartTime(),{destination:I,destinationStream:H,destinationError:W,from:K,unpipeSignal:q}=getDestinationStream(S,C,N),{sourceStream:Y,sourceError:X}=getSourceStream(n,K),{options:te,fileDescriptors:ne}=qw.get(n);return{sourcePromise:a,sourceStream:Y,sourceOptions:te,sourceError:X,destination:I,destinationStream:H,destinationError:W,unpipeSignal:q,fileDescriptors:ne,startTime:F}},getDestinationStream=(n,a,S)=>{try{let{destination:C,pipeOptions:{from:N,to:F,unpipeSignal:I}={}}=getDestination(n,a,...S);return{destination:C,destinationStream:getToStream(C,F),from:N,unpipeSignal:I}}catch(n){return{destinationError:n}}},getDestination=(n,a,S,...C)=>{if(Array.isArray(S))return{destination:a(mapDestinationArguments,n)(S,...C),pipeOptions:n};if(typeof S==`string`||S instanceof URL||isDenoExecPath(S)){if(Object.keys(n).length>0)throw TypeError(`Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).`);let[N,F,I]=normalizeParameters(S,...C);return{destination:a(mapDestinationArguments)(N,F,I),pipeOptions:I}}if(qw.has(S)){if(Object.keys(n).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:S,pipeOptions:C[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${S}`)},mapDestinationArguments=({options:n})=>({options:{...n,stdin:`pipe`,piped:!0}}),getSourceStream=(n,a)=>{try{return{sourceStream:getFromStream(n,a)}}catch(n){return{sourceError:n}}}}),handlePipeArgumentsError,getPipeArgumentsError,createNonCommandError,FD,ID=__esmMin(()=>{sE(),yD(),handlePipeArgumentsError=({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C,fileDescriptors:N,sourceOptions:F,startTime:I})=>{let H=getPipeArgumentsError({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C});if(H!==void 0)throw createNonCommandError({error:H,fileDescriptors:N,sourceOptions:F,startTime:I})},getPipeArgumentsError=({sourceStream:n,sourceError:a,destinationStream:S,destinationError:C})=>{if(a!==void 0&&C!==void 0)return C;if(C!==void 0)return abortSourceStream(n),C;if(a!==void 0)return endDestinationStream(S),a},createNonCommandError=({error:n,fileDescriptors:a,sourceOptions:S,startTime:C})=>makeEarlyError({error:n,command:FD,escapedCommand:FD,fileDescriptors:a,options:S,startTime:C,isSync:!1}),FD=`source.pipe(destination)`}),waitForBothSubprocesses,LD=__esmMin(()=>{waitForBothSubprocesses=async n=>{let[{status:a,reason:S,value:C=S},{status:N,reason:F,value:I=F}]=await n;if(I.pipedFrom.includes(C)||I.pipedFrom.push(C),N===`rejected`)throw I;if(a===`rejected`)throw C;return I}}),pipeSubprocessStream,pipeFirstSubprocessStream,pipeMoreSubprocessStream,cleanupMergedStreamsMap,RD,zD,BD,VD=__esmMin(()=>{hD(),vD(),Yw(),yD(),pipeSubprocessStream=(n,a,S)=>{let C=RD.has(a)?pipeMoreSubprocessStream(n,a):pipeFirstSubprocessStream(n,a);return incrementMaxListeners(n,zD,S.signal),incrementMaxListeners(a,BD,S.signal),cleanupMergedStreamsMap(a),C},pipeFirstSubprocessStream=(n,a)=>{let S=mergeStreams([n]);return pipeStreams(S,a),RD.set(a,S),S},pipeMoreSubprocessStream=(n,a)=>{let S=RD.get(a);return S.add(n),S},cleanupMergedStreamsMap=async n=>{try{await finished(n,{cleanup:!0,readable:!1,writable:!0})}catch{}RD.delete(n)},RD=new WeakMap,zD=2,BD=1}),unpipeOnAbort,unpipeOnSignalAbort,HD=__esmMin(()=>{tc(),ID(),unpipeOnAbort=(n,a)=>n===void 0?[]:[unpipeOnSignalAbort(n,a)],unpipeOnSignalAbort=async(n,{sourceStream:a,mergedStream:S,fileDescriptors:C,sourceOptions:N,startTime:F})=>{throw await aborted(n,a),await S.remove(a),createNonCommandError({error:Error("Pipe canceled by `unpipeSignal` option."),fileDescriptors:C,sourceOptions:N,startTime:F})}}),pipeToSubprocess,handlePipePromise,getSubprocessPromises,UD=__esmMin(()=>{nC(),PD(),ID(),LD(),VD(),HD(),pipeToSubprocess=(n,...a)=>{if(isPlainObject(a[0]))return pipeToSubprocess.bind(void 0,{...n,boundOptions:{...n.boundOptions,...a[0]}});let{destination:S,...C}=normalizePipeArguments(n,...a),N=handlePipePromise({...C,destination:S});return N.pipe=pipeToSubprocess.bind(void 0,{...n,source:S,sourcePromise:N,boundOptions:{}}),N},handlePipePromise=async({sourcePromise:n,sourceStream:a,sourceOptions:S,sourceError:C,destination:N,destinationStream:F,destinationError:I,unpipeSignal:H,fileDescriptors:W,startTime:K})=>{let q=getSubprocessPromises(n,N);handlePipeArgumentsError({sourceStream:a,sourceError:C,destinationStream:F,destinationError:I,fileDescriptors:W,sourceOptions:S,startTime:K});let Y=new AbortController;try{let n=pipeSubprocessStream(a,F,Y);return await Promise.race([waitForBothSubprocesses(q),...unpipeOnAbort(H,{sourceStream:a,mergedStream:n,sourceOptions:S,fileDescriptors:W,startTime:K})])}finally{Y.abort()}},getSubprocessPromises=(n,a)=>Promise.allSettled([n,a])}),iterateOnSubprocessStream,stopReadingOnExit,iterateForResult,stopReadingOnStreamEnd,iterateOnStream,WD,GD,iterateOnData,getGenerators,KD=__esmMin(()=>{Kt(),oi(),GE(),UE(),XE(),iterateOnSubprocessStream=({subprocessStdout:n,subprocess:a,binary:S,shouldEncode:C,encoding:N,preserveNewlines:F})=>{let I=new AbortController;return stopReadingOnExit(a,I),iterateOnStream({stream:n,controller:I,binary:S,shouldEncode:!n.readableObjectMode&&C,encoding:N,shouldSplit:!n.readableObjectMode,preserveNewlines:F})},stopReadingOnExit=async(n,a)=>{try{await n}catch{}finally{a.abort()}},iterateForResult=({stream:n,onStreamEnd:a,lines:S,encoding:C,stripFinalNewline:N,allMixed:F})=>{let I=new AbortController;stopReadingOnStreamEnd(a,I,n);let H=n.readableObjectMode&&!F;return iterateOnStream({stream:n,controller:I,binary:C===`buffer`,shouldEncode:!H,encoding:C,shouldSplit:!H&&S,preserveNewlines:!N})},stopReadingOnStreamEnd=async(n,a,S)=>{try{await n}catch{S.destroy()}finally{a.abort()}},iterateOnStream=({stream:n,controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I})=>iterateOnData({onStdoutChunk:Ht(n,`data`,{signal:a.signal,highWaterMark:GD,highWatermark:GD}),controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I}),WD=getDefaultHighWaterMark(!0),GD=WD,iterateOnData=async function*({onStdoutChunk:n,controller:a,binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I}){let H=getGenerators({binary:S,shouldEncode:C,encoding:N,shouldSplit:F,preserveNewlines:I});try{for await(let[a]of n)yield*transformChunkSync(a,H,0)}catch(n){if(!a.signal.aborted)throw n}finally{yield*finalChunksSync(H)}},getGenerators=({binary:n,shouldEncode:a,encoding:S,shouldSplit:C,preserveNewlines:N})=>[getEncodingTransformGenerator(n,S,!a),getSplitLinesGenerator(n,N,!C,{})].filter(Boolean)}),getStreamOutput,logOutputAsync,resumeStream,getStreamContents,getBufferedData,handleBufferedData,qD=__esmMin(()=>{Tw(),iE(),fC(),eD(),KD(),aE(),BE(),getStreamOutput=async({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,buffer:N,maxBuffer:F,lines:I,allMixed:H,stripFinalNewline:W,verboseInfo:K,streamInfo:q})=>{let Y=logOutputAsync({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,allMixed:H,verboseInfo:K,streamInfo:q});if(!N){await Promise.all([resumeStream(n),Y]);return}let X=iterateForResult({stream:n,onStreamEnd:a,lines:I,encoding:C,stripFinalNewline:getStripFinalNewline(W,S),allMixed:H}),[te]=await Promise.all([getStreamContents({stream:n,iterable:X,fdNumber:S,encoding:C,maxBuffer:F,lines:I}),Y]);return te},logOutputAsync=async({stream:n,onStreamEnd:a,fdNumber:S,encoding:C,allMixed:N,verboseInfo:F,streamInfo:{fileDescriptors:I}})=>{shouldLogOutput({stdioItems:I[S]?.stdioItems,encoding:C,verboseInfo:F,fdNumber:S})&&await logLines(iterateForResult({stream:n,onStreamEnd:a,lines:!0,encoding:C,stripFinalNewline:!0,allMixed:N}),n,S,F)},resumeStream=async n=>{await setImmediate$1(),n.readableFlowing===null&&n.resume()},getStreamContents=async({stream:n,stream:{readableObjectMode:a},iterable:S,fdNumber:C,encoding:N,maxBuffer:F,lines:I})=>{try{return a||I?await getStreamAsArray(S,{maxBuffer:F}):N===`buffer`?new Uint8Array(await getStreamAsArrayBuffer(S,{maxBuffer:F})):await getStreamAsString(S,{maxBuffer:F})}catch(S){return handleBufferedData(handleMaxBuffer({error:S,stream:n,readableObjectMode:a,lines:I,encoding:N,fdNumber:C}))}},getBufferedData=async n=>{try{return await n}catch(n){return handleBufferedData(n)}},handleBufferedData=({bufferedData:n})=>isArrayBuffer(n)?new Uint8Array(n):n}),waitForStream,handleStdinDestroy,spyOnStdinDestroy,setStdinCleanedUp,handleStreamError,shouldIgnoreStreamError,isInputFileDescriptor,isStreamAbort,isStreamEpipe,JD=__esmMin(()=>{hD(),waitForStream=async(n,a,S,{isSameDirection:C,stopOnExit:N=!1}={})=>{let F=handleStdinDestroy(n,S),I=new AbortController;try{await Promise.race([...N?[S.exitPromise]:[],finished(n,{cleanup:!0,signal:I.signal})])}catch(n){F.stdinCleanedUp||handleStreamError(n,a,S,C)}finally{I.abort()}},handleStdinDestroy=(n,{originalStreams:[a],subprocess:S})=>{let C={stdinCleanedUp:!1};return n===a&&spyOnStdinDestroy(n,S,C),C},spyOnStdinDestroy=(n,a,S)=>{let{_destroy:C}=n;n._destroy=(...N)=>{setStdinCleanedUp(a,S),C.call(n,...N)}},setStdinCleanedUp=({exitCode:n,signalCode:a},S)=>{(n!==null||a!==null)&&(S.stdinCleanedUp=!0)},handleStreamError=(n,a,S,C)=>{if(!shouldIgnoreStreamError(n,a,S,C))throw n},shouldIgnoreStreamError=(n,a,S,C=!0)=>S.propagating?isStreamEpipe(n)||isStreamAbort(n):(S.propagating=!0,isInputFileDescriptor(S,a)===C?isStreamEpipe(n):isStreamAbort(n)),isInputFileDescriptor=({fileDescriptors:n},a)=>a!==`all`&&n[a].direction===`input`,isStreamAbort=n=>n?.code===`ERR_STREAM_PREMATURE_CLOSE`,isStreamEpipe=n=>n?.code===`EPIPE`}),waitForStdioStreams,waitForSubprocessStream,YD=__esmMin(()=>{qD(),JD(),waitForStdioStreams=({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:F,verboseInfo:I,streamInfo:H})=>n.stdio.map((n,W)=>waitForSubprocessStream({stream:n,fdNumber:W,encoding:a,buffer:S[W],maxBuffer:C[W],lines:N[W],allMixed:!1,stripFinalNewline:F,verboseInfo:I,streamInfo:H})),waitForSubprocessStream=async({stream:n,fdNumber:a,encoding:S,buffer:C,maxBuffer:N,lines:F,allMixed:I,stripFinalNewline:H,verboseInfo:W,streamInfo:K})=>{if(!n)return;let q=waitForStream(n,a,K);if(isInputFileDescriptor(K,a)){await q;return}let[Y]=await Promise.all([getStreamOutput({stream:n,onStreamEnd:q,fdNumber:a,encoding:S,buffer:C,maxBuffer:N,lines:F,allMixed:I,stripFinalNewline:H,verboseInfo:W,streamInfo:K}),q]);return Y}}),makeAllStream,waitForAllStream,getAllStream,getAllMixed,XD=__esmMin(()=>{vD(),YD(),makeAllStream=({stdout:n,stderr:a},{all:S})=>S&&(n||a)?mergeStreams([n,a].filter(Boolean)):void 0,waitForAllStream=({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:F,verboseInfo:I,streamInfo:H})=>waitForSubprocessStream({...getAllStream(n,S),fdNumber:`all`,encoding:a,maxBuffer:C[1]+C[2],lines:N[1]||N[2],allMixed:getAllMixed(n),stripFinalNewline:F,verboseInfo:I,streamInfo:H}),getAllStream=({stdout:n,stderr:a,all:S},[,C,N])=>{let F=C||N;return F?C?N?{stream:S,buffer:F}:{stream:n,buffer:F}:{stream:a,buffer:F}:{stream:S,buffer:F}},getAllMixed=({all:n,stdout:a,stderr:S})=>n&&a&&S&&a.readableObjectMode!==S.readableObjectMode}),shouldLogIpc,logIpcOutput,ZD=__esmMin(()=>{tw(),TC(),shouldLogIpc=n=>isFullVerbose(n,`ipc`),logIpcOutput=(n,a)=>{verboseLog({type:`ipc`,verboseMessage:serializeVerboseMessage(n),fdNumber:`ipc`,verboseInfo:a})}}),waitForIpcOutput,getBufferedIpcOutput,QD=__esmMin(()=>{aE(),ZD(),CC(),lD(),waitForIpcOutput=async({subprocess:n,buffer:a,maxBuffer:S,ipc:C,ipcOutput:N,verboseInfo:F})=>{if(!C)return N;let I=shouldLogIpc(F),H=getFdSpecificValue(a,`ipc`),W=getFdSpecificValue(S,`ipc`);for await(let a of loopOnMessages({anyProcess:n,channel:n.channel,isSubprocess:!1,ipc:C,shouldAwait:!1,reference:!0}))H&&(checkIpcMaxBuffer(n,N,W),N.push(a)),I&&logIpcOutput(a,F);return N},getBufferedIpcOutput=async(n,a)=>(await Promise.allSettled([n]),a)}),waitForSubprocessResult,waitForOriginalStreams,waitForCustomStreamsEnd,throwOnSubprocessError,$D=__esmMin(()=>{Kt(),IT(),vT(),Hw(),_T(),vC(),CE(),qD(),QD(),xT(),XD(),YD(),rD(),JD(),waitForSubprocessResult=async({subprocess:n,options:{encoding:a,buffer:S,maxBuffer:C,lines:N,timeoutDuration:F,cancelSignal:I,gracefulCancel:H,forceKillAfterDelay:W,stripFinalNewline:K,ipc:q,ipcInput:Y},context:X,verboseInfo:te,fileDescriptors:ne,originalStreams:re,onInternalError:ie,controller:ae})=>{let oe=waitForExit(n,X),Z={originalStreams:re,fileDescriptors:ne,subprocess:n,exitPromise:oe,propagating:!1},se=waitForStdioStreams({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:K,verboseInfo:te,streamInfo:Z}),ce=waitForAllStream({subprocess:n,encoding:a,buffer:S,maxBuffer:C,lines:N,stripFinalNewline:K,verboseInfo:te,streamInfo:Z}),le=[],ue=waitForIpcOutput({subprocess:n,buffer:S,maxBuffer:C,ipc:q,ipcOutput:le,verboseInfo:te}),de=waitForOriginalStreams(re,n,Z),fe=waitForCustomStreamsEnd(ne,Z);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(oe),Promise.all(se),ce,ue,sendIpcInput(n,Y),...de,...fe]),ie,throwOnSubprocessError(n,ae),...throwOnTimeout(n,F,X,ae),...throwOnCancel({subprocess:n,cancelSignal:I,gracefulCancel:H,context:X,controller:ae}),...throwOnGracefulCancel({subprocess:n,cancelSignal:I,gracefulCancel:H,forceKillAfterDelay:W,context:X,controller:ae})])}catch(n){return X.terminationReason??=`other`,Promise.all([{error:n},oe,Promise.all(se.map(n=>getBufferedData(n))),getBufferedData(ce),getBufferedIpcOutput(ue,le),Promise.allSettled(de),Promise.allSettled(fe)])}},waitForOriginalStreams=(n,a,S)=>n.map((n,C)=>n===a.stdio[C]?void 0:waitForStream(n,C,S)),waitForCustomStreamsEnd=(n,a)=>n.flatMap(({stdioItems:n},S)=>n.filter(({value:n,stream:a=n})=>isStream(a,{checkOpen:!1})&&!isStandardStream(a)).map(({type:n,value:C,stream:N=C})=>waitForStream(N,S,a,{isSameDirection:_E.has(n),stopOnExit:n===`native`}))),throwOnSubprocessError=async(n,{signal:a})=>{let[S]=await Vt(n,`error`,{signal:a});throw S}}),initializeConcurrentStreams,addConcurrentStream,waitForConcurrentStreams,eO=__esmMin(()=>{Kw(),initializeConcurrentStreams=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),addConcurrentStream=(n,a,S)=>{let C=n[S];C.has(a)||C.set(a,[]);let N=C.get(a),F=createDeferred();return N.push(F),{resolve:F.resolve.bind(F),promises:N}},waitForConcurrentStreams=async({resolve:n,promises:a},S)=>{n();let[C]=await Promise.race([Promise.allSettled([!0,S]),Promise.all([!1,...a])]);return!C}}),safeWaitForSubprocessStdin,safeWaitForSubprocessStdout,waitForSubprocessStdin,waitForSubprocessStdout,waitForSubprocess,destroyOtherStream,tO=__esmMin(()=>{hD(),JD(),safeWaitForSubprocessStdin=async n=>{if(n!==void 0)try{await waitForSubprocessStdin(n)}catch{}},safeWaitForSubprocessStdout=async n=>{if(n!==void 0)try{await waitForSubprocessStdout(n)}catch{}},waitForSubprocessStdin=async n=>{await finished(n,{cleanup:!0,readable:!1,writable:!0})},waitForSubprocessStdout=async n=>{await finished(n,{cleanup:!0,readable:!0,writable:!1})},waitForSubprocess=async(n,a)=>{if(await n,a)throw a},destroyOtherStream=(n,a,S)=>{S&&!isStreamAbort(S)?n.destroy(S):a&&n.destroy()}}),createReadable,getSubprocessStdout,getReadableOptions,getReadableMethods,onRead,onStdoutFinished,onReadableDestroy,destroyOtherReadable,nO=__esmMin(()=>{oi(),tc(),ET(),Jw(),KD(),Kw(),eO(),tO(),createReadable=({subprocess:n,concurrentStreams:a,encoding:S},{from:C,binary:N=!0,preserveNewlines:F=!0}={})=>{let I=N||CT.has(S),{subprocessStdout:H,waitReadableDestroy:W}=getSubprocessStdout(n,C,a),{readableEncoding:K,readableObjectMode:q,readableHighWaterMark:Y}=getReadableOptions(H,I),{read:X,onStdoutDataDone:te}=getReadableMethods({subprocessStdout:H,subprocess:n,binary:I,encoding:S,preserveNewlines:F}),ne=new ei({read:X,destroy:callbackify(onReadableDestroy.bind(void 0,{subprocessStdout:H,subprocess:n,waitReadableDestroy:W})),highWaterMark:Y,objectMode:q,encoding:K});return onStdoutFinished({subprocessStdout:H,onStdoutDataDone:te,readable:ne,subprocess:n}),ne},getSubprocessStdout=(n,a,S)=>{let C=getFromStream(n,a);return{subprocessStdout:C,waitReadableDestroy:addConcurrentStream(S,C,`readableDestroy`)}},getReadableOptions=({readableEncoding:n,readableObjectMode:a,readableHighWaterMark:S},C)=>C?{readableEncoding:n,readableObjectMode:a,readableHighWaterMark:S}:{readableEncoding:n,readableObjectMode:!0,readableHighWaterMark:WD},getReadableMethods=({subprocessStdout:n,subprocess:a,binary:S,encoding:C,preserveNewlines:N})=>{let F=createDeferred(),I=iterateOnSubprocessStream({subprocessStdout:n,subprocess:a,binary:S,shouldEncode:!S,encoding:C,preserveNewlines:N});return{read(){onRead(this,I,F)},onStdoutDataDone:F}},onRead=async(n,a,S)=>{try{let{value:C,done:N}=await a.next();N?S.resolve():n.push(C)}catch{}},onStdoutFinished=async({subprocessStdout:n,onStdoutDataDone:a,readable:S,subprocess:C,subprocessStdin:N})=>{try{await waitForSubprocessStdout(n),await C,await safeWaitForSubprocessStdin(N),await a,S.readable&&S.push(null)}catch(n){await safeWaitForSubprocessStdin(N),destroyOtherReadable(S,n)}},onReadableDestroy=async({subprocessStdout:n,subprocess:a,waitReadableDestroy:S},C)=>{await waitForConcurrentStreams(S,a)&&(destroyOtherReadable(n,C),await waitForSubprocess(a,C))},destroyOtherReadable=(n,a)=>{destroyOtherStream(n,n.readable,a)}}),createWritable,getSubprocessStdin,getWritableMethods,onWrite,onWritableFinal,onStdinFinished,onWritableDestroy,destroyOtherWritable,rO=__esmMin(()=>{oi(),tc(),Jw(),eO(),tO(),createWritable=({subprocess:n,concurrentStreams:a},{to:S}={})=>{let{subprocessStdin:C,waitWritableFinal:N,waitWritableDestroy:F}=getSubprocessStdin(n,S,a),I=new ti({...getWritableMethods(C,n,N),destroy:callbackify(onWritableDestroy.bind(void 0,{subprocessStdin:C,subprocess:n,waitWritableFinal:N,waitWritableDestroy:F})),highWaterMark:C.writableHighWaterMark,objectMode:C.writableObjectMode});return onStdinFinished(C,I),I},getSubprocessStdin=(n,a,S)=>{let C=getToStream(n,a);return{subprocessStdin:C,waitWritableFinal:addConcurrentStream(S,C,`writableFinal`),waitWritableDestroy:addConcurrentStream(S,C,`writableDestroy`)}},getWritableMethods=(n,a,S)=>({write:onWrite.bind(void 0,n),final:callbackify(onWritableFinal.bind(void 0,n,a,S))}),onWrite=(n,a,S,C)=>{n.write(a,S)?C():n.once(`drain`,C)},onWritableFinal=async(n,a,S)=>{await waitForConcurrentStreams(S,a)&&(n.writable&&n.end(),await a)},onStdinFinished=async(n,a,S)=>{try{await waitForSubprocessStdin(n),a.writable&&a.end()}catch(n){await safeWaitForSubprocessStdout(S),destroyOtherWritable(a,n)}},onWritableDestroy=async({subprocessStdin:n,subprocess:a,waitWritableFinal:S,waitWritableDestroy:C},N)=>{await waitForConcurrentStreams(S,a),await waitForConcurrentStreams(C,a)&&(destroyOtherWritable(n,N),await waitForSubprocess(a,N))},destroyOtherWritable=(n,a)=>{destroyOtherStream(n,n.writable,a)}}),createDuplex,onDuplexDestroy,iO=__esmMin(()=>{oi(),tc(),ET(),nO(),rO(),createDuplex=({subprocess:n,concurrentStreams:a,encoding:S},{from:C,to:N,binary:F=!0,preserveNewlines:I=!0}={})=>{let H=F||CT.has(S),{subprocessStdout:W,waitReadableDestroy:K}=getSubprocessStdout(n,C,a),{subprocessStdin:q,waitWritableFinal:Y,waitWritableDestroy:X}=getSubprocessStdin(n,N,a),{readableEncoding:te,readableObjectMode:ne,readableHighWaterMark:re}=getReadableOptions(W,H),{read:ie,onStdoutDataDone:ae}=getReadableMethods({subprocessStdout:W,subprocess:n,binary:H,encoding:S,preserveNewlines:I}),oe=new ni({read:ie,...getWritableMethods(q,n,Y),destroy:callbackify(onDuplexDestroy.bind(void 0,{subprocessStdout:W,subprocessStdin:q,subprocess:n,waitReadableDestroy:K,waitWritableFinal:Y,waitWritableDestroy:X})),readableHighWaterMark:re,writableHighWaterMark:q.writableHighWaterMark,readableObjectMode:ne,writableObjectMode:q.writableObjectMode,encoding:te});return onStdoutFinished({subprocessStdout:W,onStdoutDataDone:ae,readable:oe,subprocess:n,subprocessStdin:q}),onStdinFinished(q,oe,W),oe},onDuplexDestroy=async({subprocessStdout:n,subprocessStdin:a,subprocess:S,waitReadableDestroy:C,waitWritableFinal:N,waitWritableDestroy:F},I)=>{await Promise.all([onReadableDestroy({subprocessStdout:n,subprocess:S,waitReadableDestroy:C},I),onWritableDestroy({subprocessStdin:a,subprocess:S,waitWritableFinal:N,waitWritableDestroy:F},I)])}}),createIterable,iterateOnStdoutData,aO=__esmMin(()=>{ET(),Jw(),KD(),createIterable=(n,a,{from:S,binary:C=!1,preserveNewlines:N=!1}={})=>{let F=C||CT.has(a),I=getFromStream(n,S);return iterateOnStdoutData(iterateOnSubprocessStream({subprocessStdout:I,subprocess:n,binary:F,shouldEncode:!0,encoding:a,preserveNewlines:N}),I,n)},iterateOnStdoutData=async function*(n,a,S){try{yield*n}finally{a.readable&&a.destroy(),await S}}}),addConvertedStreams,oO=__esmMin(()=>{eO(),nO(),rO(),iO(),aO(),addConvertedStreams=(n,{encoding:a})=>{let S=initializeConcurrentStreams();n.readable=createReadable.bind(void 0,{subprocess:n,concurrentStreams:S,encoding:a}),n.writable=createWritable.bind(void 0,{subprocess:n,concurrentStreams:S}),n.duplex=createDuplex.bind(void 0,{subprocess:n,concurrentStreams:S,encoding:a}),n.iterable=createIterable.bind(void 0,n,a),n[Symbol.asyncIterator]=createIterable.bind(void 0,n,a,{})}}),mergePromise,sO,cO,lO=__esmMin(()=>{mergePromise=(n,a)=>{for(let[S,C]of cO){let N=C.value.bind(a);Reflect.defineProperty(n,S,{...C,value:N})}},sO=(async()=>{})().constructor.prototype,cO=[`then`,`catch`,`finally`].map(n=>[n,Reflect.getOwnPropertyDescriptor(sO,n)])}),execaCoreAsync,handleAsyncArguments,handleAsyncOptions,spawnSubprocessAsync,handlePromise,getAsyncResult,uO=__esmMin(()=>{Kt(),cC(),iE(),ow(),kT(),Jw(),AT(),uD(),sE(),mE(),dD(),mD(),BE(),SD(),Bw(),ND(),UD(),XD(),$D(),oO(),Kw(),lO(),execaCoreAsync=(n,a,S,C)=>{let{file:N,commandArguments:F,command:I,escapedCommand:H,startTime:W,verboseInfo:K,options:q,fileDescriptors:Y}=handleAsyncArguments(n,a,S),{subprocess:X,promise:te}=spawnSubprocessAsync({file:N,commandArguments:F,options:q,startTime:W,verboseInfo:K,command:I,escapedCommand:H,fileDescriptors:Y});return X.pipe=pipeToSubprocess.bind(void 0,{source:X,sourcePromise:te,boundOptions:{},createNested:C}),mergePromise(X,te),qw.set(X,{options:q,fileDescriptors:Y}),X},handleAsyncArguments=(n,a,S)=>{let{command:C,escapedCommand:N,startTime:F,verboseInfo:I}=handleCommand(n,a,S),{file:H,commandArguments:W,options:K}=normalizeOptions(n,a,S),q=handleAsyncOptions(K);return{file:H,commandArguments:W,command:C,escapedCommand:N,startTime:F,verboseInfo:I,options:q,fileDescriptors:handleStdioAsync(q,I)}},handleAsyncOptions=({timeout:n,signal:a,...S})=>{if(a!==void 0)throw TypeError(`The "signal" option has been renamed to "cancelSignal" instead.`);return{...S,timeoutDuration:n}},spawnSubprocessAsync=({file:n,commandArguments:a,options:S,startTime:C,verboseInfo:N,command:F,escapedCommand:I,fileDescriptors:H})=>{let W;try{W=spawn(...concatenateShell(n,a,S))}catch(n){return handleEarlyError({error:n,command:F,escapedCommand:I,fileDescriptors:H,options:S,startTime:C,verboseInfo:N})}let K=new AbortController;zt(1/0,K.signal);let q=[...W.stdio];pipeOutputAsync(W,H,K),cleanupOnExit(W,S,K);let Y={},X=createDeferred();W.kill=subprocessKill.bind(void 0,{kill:W.kill.bind(W),options:S,onInternalError:X,context:Y,controller:K}),W.all=makeAllStream(W,S),addConvertedStreams(W,S),addIpcMethods(W,S);let te=handlePromise({subprocess:W,options:S,startTime:C,verboseInfo:N,fileDescriptors:H,originalStreams:q,command:F,escapedCommand:I,context:Y,onInternalError:X,controller:K});return{subprocess:W,promise:te}},handlePromise=async({subprocess:n,options:a,startTime:S,verboseInfo:C,fileDescriptors:N,originalStreams:F,command:I,escapedCommand:H,context:W,onInternalError:K,controller:q})=>{let[Y,[X,te],ne,re,ie]=await waitForSubprocessResult({subprocess:n,options:a,context:W,verboseInfo:C,fileDescriptors:N,originalStreams:F,onInternalError:K,controller:q});return q.abort(),K.resolve(),handleResult(getAsyncResult({errorInfo:Y,exitCode:X,signal:te,stdio:ne.map((n,S)=>stripNewline(n,a,S)),all:stripNewline(re,a,`all`),ipcOutput:ie,context:W,options:a,command:I,escapedCommand:H,startTime:S}),C,a)},getAsyncResult=({errorInfo:n,exitCode:a,signal:S,stdio:C,all:N,ipcOutput:F,context:I,options:H,command:W,escapedCommand:K,startTime:q})=>`error`in n?makeError({error:n.error,command:W,escapedCommand:K,timedOut:I.terminationReason===`timeout`,isCanceled:I.terminationReason===`cancel`||I.terminationReason===`gracefulCancel`,isGracefullyCanceled:I.terminationReason===`gracefulCancel`,isMaxBuffer:n.error instanceof MaxBufferError,isForcefullyTerminated:I.isForcefullyTerminated,exitCode:a,signal:S,stdio:C,all:N,ipcOutput:F,options:H,startTime:q,isSync:!1}):makeSuccessResult({command:W,escapedCommand:K,stdio:C,all:N,ipcOutput:F,options:H,startTime:q})}),mergeOptions,mergeOption,dO,fO=__esmMin(()=>{nC(),CC(),mergeOptions=(n,a)=>{let S=Object.fromEntries(Object.entries(a).map(([a,S])=>[a,mergeOption(a,n[a],S)]));return{...n,...S}},mergeOption=(n,a,S)=>dO.has(n)&&isPlainObject(a)&&isPlainObject(S)?{...a,...S}:S,dO=new Set([`env`,...SC])}),createExeca,callBoundExeca,parseArguments,pO=__esmMin(()=>{nC(),iC(),hC(),aD(),uO(),fO(),createExeca=(n,a,S,C)=>{let createNested=(n,a,C)=>createExeca(n,a,S,C),boundExeca=(...N)=>callBoundExeca({mapArguments:n,deepOptions:S,boundOptions:a,setBoundExeca:C,createNested},...N);return C!==void 0&&C(boundExeca,createNested,a),boundExeca},callBoundExeca=({mapArguments:n,deepOptions:a={},boundOptions:S={},setBoundExeca:C,createNested:N},F,...I)=>{if(isPlainObject(F))return N(n,mergeOptions(S,F),C);let{file:H,commandArguments:W,options:K,isSync:q}=parseArguments({mapArguments:n,firstArgument:F,nextArguments:I,deepOptions:a,boundOptions:S});return q?execaCoreSync(H,W,K):execaCoreAsync(H,W,K,N)},parseArguments=({mapArguments:n,firstArgument:a,nextArguments:S,deepOptions:C,boundOptions:N})=>{let[F,I,H]=normalizeParameters(...isTemplateString(a)?parseTemplates(a,S):[a,...S]),W=mergeOptions(mergeOptions(C,N),H),{file:K=F,commandArguments:q=I,options:Y=W,isSync:X=!1}=n({file:F,commandArguments:I,options:W});return{file:K,commandArguments:q,options:Y,isSync:X}}}),mapCommandAsync,mapCommandSync,parseCommand,parseCommandString,mO,hO=__esmMin(()=>{mapCommandAsync=({file:n,commandArguments:a})=>parseCommand(n,a),mapCommandSync=({file:n,commandArguments:a})=>({...parseCommand(n,a),isSync:!0}),parseCommand=(n,a)=>{if(a.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${n} ${a}.`);let[S,...C]=parseCommandString(n);return{file:S,commandArguments:C}},parseCommandString=n=>{if(typeof n!=`string`)throw TypeError(`The command must be a string: ${String(n)}.`);let a=n.trim();if(a===``)return[];let S=[];for(let n of a.split(mO)){let a=S.at(-1);a&&a.endsWith(`\\`)?S[S.length-1]=`${a.slice(0,-1)} ${n}`:S.push(n)}return S},mO=/ +/g}),setScriptSync,mapScriptAsync,mapScriptSync,getScriptOptions,getScriptStdinOption,gO,_O=__esmMin(()=>{setScriptSync=(n,a,S)=>{n.sync=a(mapScriptSync,S),n.s=n.sync},mapScriptAsync=({options:n})=>getScriptOptions(n),mapScriptSync=({options:n})=>({...getScriptOptions(n),isSync:!0}),getScriptOptions=n=>({options:{...getScriptStdinOption(n),...n}}),getScriptStdinOption=({input:n,inputFile:a,stdio:S})=>n===void 0&&a===void 0&&S===void 0?{stdin:`inherit`}:{},gO={preferLocal:!0}}),vO,yO,bO,xO,SO,CO=__esmMin(()=>{pO(),hO(),yT(),_O(),uD(),Dw(),vO=createExeca(()=>({})),createExeca(()=>({isSync:!0})),createExeca(mapCommandAsync),createExeca(mapCommandSync),createExeca(mapNode),createExeca(mapScriptAsync,{},gO,setScriptSync),{sendMessage:yO,getOneMessage:bO,getEachMessage:xO,getCancelSignal:SO}=getIpcExport()}),wO=__commonJSMin$1(((n,a)=>{a.exports=wrappy;function wrappy(n,a){if(n&&a)return wrappy(n)(a);if(typeof n!=`function`)throw TypeError(`need wrapper function`);return Object.keys(n).forEach(function(a){wrapper[a]=n[a]}),wrapper;function wrapper(){for(var a=Array(arguments.length),S=0;S<a.length;S++)a[S]=arguments[S];var C=n.apply(this,a),N=a[a.length-1];return typeof C==`function`&&C!==N&&Object.keys(N).forEach(function(n){C[n]=N[n]}),C}}})),TO=__commonJSMin$1(((n,a)=>{var S=wO();a.exports=S(once),a.exports.strict=S(onceStrict),once.proto=once(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:!0})});function once(n){var f=function(){return f.called?f.value:(f.called=!0,f.value=n.apply(this,arguments))};return f.called=!1,f}function onceStrict(n){var f=function(){if(f.called)throw Error(f.onceError);return f.called=!0,f.value=n.apply(this,arguments)};return f.onceError=(n.name||"Function wrapped with `once`")+` shouldn't be called more than once`,f.called=!1,f}})),EO=__commonJSMin$1(((n,a)=>{var S=TO(),noop=function(){},C=globalThis.Bare?queueMicrotask:process.nextTick.bind(process),isRequest=function(n){return n.setHeader&&typeof n.abort==`function`},isChildProcess=function(n){return n.stdio&&Array.isArray(n.stdio)&&n.stdio.length===3},eos=function(n,a,N){if(typeof a==`function`)return eos(n,null,a);a||={},N=S(N||noop);var F=n._writableState,I=n._readableState,H=a.readable||a.readable!==!1&&n.readable,W=a.writable||a.writable!==!1&&n.writable,K=!1,onlegacyfinish=function(){n.writable||onfinish()},onfinish=function(){W=!1,H||N.call(n)},onend=function(){H=!1,W||N.call(n)},onexit=function(a){N.call(n,a?Error(`exited with error code: `+a):null)},onerror=function(a){N.call(n,a)},onclose=function(){C(onclosenexttick)},onclosenexttick=function(){if(!K&&(H&&!(I&&I.ended&&!I.destroyed)||W&&!(F&&F.ended&&!F.destroyed)))return N.call(n,Error(`premature close`))},onrequest=function(){n.req.on(`finish`,onfinish)};return isRequest(n)?(n.on(`complete`,onfinish),n.on(`abort`,onclose),n.req?onrequest():n.on(`request`,onrequest)):W&&!F&&(n.on(`end`,onlegacyfinish),n.on(`close`,onlegacyfinish)),isChildProcess(n)&&n.on(`exit`,onexit),n.on(`end`,onend),n.on(`finish`,onfinish),a.error!==!1&&n.on(`error`,onerror),n.on(`close`,onclose),function(){K=!0,n.removeListener(`complete`,onfinish),n.removeListener(`abort`,onclose),n.removeListener(`request`,onrequest),n.req&&n.req.removeListener(`finish`,onfinish),n.removeListener(`end`,onlegacyfinish),n.removeListener(`close`,onlegacyfinish),n.removeListener(`finish`,onfinish),n.removeListener(`exit`,onexit),n.removeListener(`end`,onend),n.removeListener(`error`,onerror),n.removeListener(`close`,onclose)}};a.exports=eos})),DO=__commonJSMin$1(((n,a)=>{var S=TO(),C=EO(),N;try{N=(Zc(),__toCommonJS(Jc))}catch{}var noop=function(){},F=typeof process>`u`?!1:/^v?\.0/.test(process.version),isFn=function(n){return typeof n==`function`},isFS=function(n){return!F||!N?!1:(n instanceof(N.ReadStream||noop)||n instanceof(N.WriteStream||noop))&&isFn(n.close)},isRequest=function(n){return n.setHeader&&isFn(n.abort)},destroyer=function(n,a,N,F){F=S(F);var I=!1;n.on(`close`,function(){I=!0}),C(n,{readable:a,writable:N},function(n){if(n)return F(n);I=!0,F()});var H=!1;return function(a){if(!I&&!H){if(H=!0,isFS(n))return n.close(noop);if(isRequest(n))return n.abort();if(isFn(n.destroy))return n.destroy();F(a||Error(`stream was destroyed`))}}},call=function(n){n()},pipe=function(n,a){return n.pipe(a)},pump=function(){var n=Array.prototype.slice.call(arguments),a=isFn(n[n.length-1]||noop)&&n.pop()||noop;if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw Error(`pump requires two streams per minimum`);var S,C=n.map(function(N,F){var I=F<n.length-1;return destroyer(N,I,F>0,function(n){S||=n,n&&C.forEach(call),!I&&(C.forEach(call),a(S))})});return n.reduce(pipe)};a.exports=pump})),OO=__commonJSMin$1(((n,a)=>{typeof Object.create==`function`?a.exports=function inherits(n,a){a&&(n.super_=a,n.prototype=Object.create(a.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}))}:a.exports=function inherits(n,a){if(a){n.super_=a;var TempCtor=function(){};TempCtor.prototype=a.prototype,n.prototype=new TempCtor,n.prototype.constructor=n}}})),kO=__commonJSMin$1(((n,a)=>{a.exports=F_()})),AO=__commonJSMin$1(((n,a)=>{function ownKeys(n,a){var S=Object.keys(n);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(n);a&&(C=C.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),S.push.apply(S,C)}return S}function _objectSpread(n){for(var a=1;a<arguments.length;a++){var S=arguments[a]==null?{}:arguments[a];a%2?ownKeys(Object(S),!0).forEach(function(a){_defineProperty(n,a,S[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(S)):ownKeys(Object(S)).forEach(function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(S,a))})}return n}function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _classCallCheck(n,a){if(!(n instanceof a))throw TypeError(`Cannot call a class as a function`)}function _defineProperties(n,a){for(var S=0;S<a.length;S++){var C=a[S];C.enumerable=C.enumerable||!1,C.configurable=!0,`value`in C&&(C.writable=!0),Object.defineProperty(n,_toPropertyKey(C.key),C)}}function _createClass(n,a,S){return a&&_defineProperties(n.prototype,a),S&&_defineProperties(n,S),Object.defineProperty(n,"prototype",{writable:!1}),n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var S=(vt(),__toCommonJS(mt)).Buffer,C=(tc(),__toCommonJS(Zs)).inspect,N=C&&C.custom||`inspect`;function copyBuffer(n,a,C){S.prototype.copy.call(n,a,C)}a.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0}return _createClass(BufferList,[{key:`push`,value:function push(n){var a={data:n,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length}},{key:`unshift`,value:function unshift(n){var a={data:n,next:this.head};this.length===0&&(this.tail=a),this.head=a,++this.length}},{key:`shift`,value:function shift(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}}},{key:`clear`,value:function clear(){this.head=this.tail=null,this.length=0}},{key:`join`,value:function join(n){if(this.length===0)return``;for(var a=this.head,S=``+a.data;a=a.next;)S+=n+a.data;return S}},{key:`concat`,value:function concat(n){if(this.length===0)return S.alloc(0);for(var a=S.allocUnsafe(n>>>0),C=this.head,N=0;C;)copyBuffer(C.data,a,N),N+=C.data.length,C=C.next;return a}},{key:`consume`,value:function consume(n,a){var S;return n<this.head.data.length?(S=this.head.data.slice(0,n),this.head.data=this.head.data.slice(n)):S=n===this.head.data.length?this.shift():a?this._getString(n):this._getBuffer(n),S}},{key:`first`,value:function first(){return this.head.data}},{key:`_getString`,value:function _getString(n){var a=this.head,S=1,C=a.data;for(n-=C.length;a=a.next;){var N=a.data,F=n>N.length?N.length:n;if(F===N.length?C+=N:C+=N.slice(0,n),n-=F,n===0){F===N.length?(++S,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=N.slice(F));break}++S}return this.length-=S,C}},{key:`_getBuffer`,value:function _getBuffer(n){var a=S.allocUnsafe(n),C=this.head,N=1;for(C.data.copy(a),n-=C.data.length;C=C.next;){var F=C.data,I=n>F.length?F.length:n;if(F.copy(a,a.length-n,0,I),n-=I,n===0){I===F.length?(++N,C.next?this.head=C.next:this.head=this.tail=null):(this.head=C,C.data=F.slice(I));break}++N}return this.length-=N,a}},{key:N,value:function value(n,a){return C(this,_objectSpread(_objectSpread({},a),{},{depth:0,customInspect:!1}))}}]),BufferList}()})),jO=__commonJSMin$1(((n,a)=>{function destroy(n,a){var S=this,C=this._readableState&&this._readableState.destroyed,N=this._writableState&&this._writableState.destroyed;return C||N?(a?a(n):n&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(emitErrorNT,this,n)):process.nextTick(emitErrorNT,this,n)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(n||null,function(n){!a&&n?S._writableState?S._writableState.errorEmitted?process.nextTick(emitCloseNT,S):(S._writableState.errorEmitted=!0,process.nextTick(emitErrorAndCloseNT,S,n)):process.nextTick(emitErrorAndCloseNT,S,n):a?(process.nextTick(emitCloseNT,S),a(n)):process.nextTick(emitCloseNT,S)}),this)}function emitErrorAndCloseNT(n,a){emitErrorNT(n,a),emitCloseNT(n)}function emitCloseNT(n){n._writableState&&!n._writableState.emitClose||n._readableState&&!n._readableState.emitClose||n.emit(`close`)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(n,a){n.emit(`error`,a)}function errorOrDestroy(n,a){var S=n._readableState,C=n._writableState;S&&S.autoDestroy||C&&C.autoDestroy?n.destroy(a):n.emit(`error`,a)}a.exports={destroy,undestroy,errorOrDestroy}})),MO=__commonJSMin$1(((n,a)=>{let S={};function createErrorType(n,a,C){C||=Error;function getMessage(n,S,C){return typeof a==`string`?a:a(n,S,C)}class NodeError extends C{constructor(n,a,S){super(getMessage(n,a,S))}}NodeError.prototype.name=C.name,NodeError.prototype.code=n,S[n]=NodeError}function oneOf(n,a){if(Array.isArray(n)){let S=n.length;return n=n.map(n=>String(n)),S>2?`one of ${a} ${n.slice(0,S-1).join(`, `)}, or `+n[S-1]:S===2?`one of ${a} ${n[0]} or ${n[1]}`:`of ${a} ${n[0]}`}else return`of ${a} ${String(n)}`}function startsWith(n,a,S){return n.substr(!S||S<0?0:+S,a.length)===a}function endsWith(n,a,S){return(S===void 0||S>n.length)&&(S=n.length),n.substring(S-a.length,S)===a}function includes(n,a,S){return typeof S!=`number`&&(S=0),S+a.length>n.length?!1:n.indexOf(a,S)!==-1}createErrorType(`ERR_INVALID_OPT_VALUE`,function(n,a){return`The value "`+a+`" is invalid for option "`+n+`"`},TypeError),createErrorType(`ERR_INVALID_ARG_TYPE`,function(n,a,S){let C;typeof a==`string`&&startsWith(a,`not `)?(C=`must not be`,a=a.replace(/^not /,``)):C=`must be`;let N;return N=endsWith(n,` argument`)?`The ${n} ${C} ${oneOf(a,`type`)}`:`The "${n}" ${includes(n,`.`)?`property`:`argument`} ${C} ${oneOf(a,`type`)}`,N+=`. Received type ${typeof S}`,N},TypeError),createErrorType(`ERR_STREAM_PUSH_AFTER_EOF`,`stream.push() after EOF`),createErrorType(`ERR_METHOD_NOT_IMPLEMENTED`,function(n){return`The `+n+` method is not implemented`}),createErrorType(`ERR_STREAM_PREMATURE_CLOSE`,`Premature close`),createErrorType(`ERR_STREAM_DESTROYED`,function(n){return`Cannot call `+n+` after a stream was destroyed`}),createErrorType(`ERR_MULTIPLE_CALLBACK`,`Callback called multiple times`),createErrorType(`ERR_STREAM_CANNOT_PIPE`,`Cannot pipe, not readable`),createErrorType(`ERR_STREAM_WRITE_AFTER_END`,`write after end`),createErrorType(`ERR_STREAM_NULL_VALUES`,`May not write null values to stream`,TypeError),createErrorType(`ERR_UNKNOWN_ENCODING`,function(n){return`Unknown encoding: `+n},TypeError),createErrorType(`ERR_STREAM_UNSHIFT_AFTER_END_EVENT`,`stream.unshift() after end event`),a.exports.codes=S})),NO=__commonJSMin$1(((n,a)=>{var S=MO().codes.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(n,a,S){return n.highWaterMark==null?a?n[S]:null:n.highWaterMark}function getHighWaterMark(n,a,C,N){var F=highWaterMarkFrom(a,N,C);if(F!=null){if(!(isFinite(F)&&Math.floor(F)===F)||F<0)throw new S(N?C:`highWaterMark`,F);return Math.floor(F)}return n.objectMode?16:16*1024}a.exports={getHighWaterMark}})),PO=__commonJSMin$1(((n,a)=>{Ae(),a.exports=deprecate;function deprecate(n,a){if(config(`noDeprecation`))return n;var S=!1;function deprecated(){if(!S){if(config(`throwDeprecation`))throw Error(a);config(`traceDeprecation`)?ke.trace(a):ke.warn(a),S=!0}return n.apply(this,arguments)}return deprecated}function config(n){try{if(!globalThis.localStorage)return!1}catch{return!1}var a=globalThis.localStorage[n];return a==null?!1:String(a).toLowerCase()===`true`}})),FO=__commonJSMin$1(((n,a)=>{a.exports=Writable;function CorkedRequest(n){var a=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(a,n)}}var S;Writable.WritableState=WritableState;var C={deprecate:PO()},N=kO(),F=(vt(),__toCommonJS(mt)).Buffer,I=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return F.from(n)}function _isUint8Array(n){return F.isBuffer(n)||n instanceof I}var H=jO(),W=NO().getHighWaterMark,K=MO().codes,q=K.ERR_INVALID_ARG_TYPE,Y=K.ERR_METHOD_NOT_IMPLEMENTED,X=K.ERR_MULTIPLE_CALLBACK,te=K.ERR_STREAM_CANNOT_PIPE,ne=K.ERR_STREAM_DESTROYED,re=K.ERR_STREAM_NULL_VALUES,ie=K.ERR_STREAM_WRITE_AFTER_END,ae=K.ERR_UNKNOWN_ENCODING,oe=H.errorOrDestroy;OO()(Writable,N);function nop(){}function WritableState(n,a,C){S||=IO(),n||={},typeof C!=`boolean`&&(C=a instanceof S),this.objectMode=!!n.objectMode,C&&(this.objectMode=this.objectMode||!!n.writableObjectMode),this.highWaterMark=W(this,n,`writableHighWaterMark`,C),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var N=n.decodeStrings===!1;this.decodeStrings=!N,this.defaultEncoding=n.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){onwrite(a,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=n.emitClose!==!1,this.autoDestroy=!!n.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){for(var n=this.bufferedRequest,a=[];n;)a.push(n),n=n.next;return a},(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:C.deprecate(function writableStateBufferGetter(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var Z;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(Z=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(n){return Z.call(this,n)?!0:this===Writable?n&&n._writableState instanceof WritableState:!1}})):Z=function realHasInstance(n){return n instanceof this};function Writable(n){S||=IO();var a=this instanceof S;if(!a&&!Z.call(Writable,this))return new Writable(n);this._writableState=new WritableState(n,this,a),this.writable=!0,n&&(typeof n.write==`function`&&(this._write=n.write),typeof n.writev==`function`&&(this._writev=n.writev),typeof n.destroy==`function`&&(this._destroy=n.destroy),typeof n.final==`function`&&(this._final=n.final)),N.call(this)}Writable.prototype.pipe=function(){oe(this,new te)};function writeAfterEnd(n,a){var S=new ie;oe(n,S),process.nextTick(a,S)}function validChunk(n,a,S,C){var N;return S===null?N=new re:typeof S!=`string`&&!a.objectMode&&(N=new q(`chunk`,[`string`,`Buffer`],S)),N?(oe(n,N),process.nextTick(C,N),!1):!0}Writable.prototype.write=function(n,a,S){var C=this._writableState,N=!1,I=!C.objectMode&&_isUint8Array(n);return I&&!F.isBuffer(n)&&(n=_uint8ArrayToBuffer(n)),typeof a==`function`&&(S=a,a=null),I?a=`buffer`:a||=C.defaultEncoding,typeof S!=`function`&&(S=nop),C.ending?writeAfterEnd(this,S):(I||validChunk(this,C,n,S))&&(C.pendingcb++,N=writeOrBuffer(this,C,I,n,a,S)),N},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var n=this._writableState;n.corked&&(n.corked--,!n.writing&&!n.corked&&!n.bufferProcessing&&n.bufferedRequest&&clearBuffer(this,n))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(n){if(typeof n==`string`&&(n=n.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((n+``).toLowerCase())>-1))throw new ae(n);return this._writableState.defaultEncoding=n,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(n,a,S){return!n.objectMode&&n.decodeStrings!==!1&&typeof a==`string`&&(a=F.from(a,S)),a}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(n,a,S,C,N,F){if(!S){var I=decodeChunk(a,C,N);C!==I&&(S=!0,N=`buffer`,C=I)}var H=a.objectMode?1:C.length;a.length+=H;var W=a.length<a.highWaterMark;if(W||(a.needDrain=!0),a.writing||a.corked){var K=a.lastBufferedRequest;a.lastBufferedRequest={chunk:C,encoding:N,isBuf:S,callback:F,next:null},K?K.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else doWrite(n,a,!1,H,C,N,F);return W}function doWrite(n,a,S,C,N,F,I){a.writelen=C,a.writecb=I,a.writing=!0,a.sync=!0,a.destroyed?a.onwrite(new ne(`write`)):S?n._writev(N,a.onwrite):n._write(N,F,a.onwrite),a.sync=!1}function onwriteError(n,a,S,C,N){--a.pendingcb,S?(process.nextTick(N,C),process.nextTick(finishMaybe,n,a),n._writableState.errorEmitted=!0,oe(n,C)):(N(C),n._writableState.errorEmitted=!0,oe(n,C),finishMaybe(n,a))}function onwriteStateUpdate(n){n.writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0}function onwrite(n,a){var S=n._writableState,C=S.sync,N=S.writecb;if(typeof N!=`function`)throw new X;if(onwriteStateUpdate(S),a)onwriteError(n,S,C,a,N);else{var F=needFinish(S)||n.destroyed;!F&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest&&clearBuffer(n,S),C?process.nextTick(afterWrite,n,S,F,N):afterWrite(n,S,F,N)}}function afterWrite(n,a,S,C){S||onwriteDrain(n,a),a.pendingcb--,C(),finishMaybe(n,a)}function onwriteDrain(n,a){a.length===0&&a.needDrain&&(a.needDrain=!1,n.emit(`drain`))}function clearBuffer(n,a){a.bufferProcessing=!0;var S=a.bufferedRequest;if(n._writev&&S&&S.next){var C=a.bufferedRequestCount,N=Array(C),F=a.corkedRequestsFree;F.entry=S;for(var I=0,H=!0;S;)N[I]=S,S.isBuf||(H=!1),S=S.next,I+=1;N.allBuffers=H,doWrite(n,a,!0,a.length,N,``,F.finish),a.pendingcb++,a.lastBufferedRequest=null,F.next?(a.corkedRequestsFree=F.next,F.next=null):a.corkedRequestsFree=new CorkedRequest(a),a.bufferedRequestCount=0}else{for(;S;){var W=S.chunk,K=S.encoding,q=S.callback;if(doWrite(n,a,!1,a.objectMode?1:W.length,W,K,q),S=S.next,a.bufferedRequestCount--,a.writing)break}S===null&&(a.lastBufferedRequest=null)}a.bufferedRequest=S,a.bufferProcessing=!1}Writable.prototype._write=function(n,a,S){S(new Y(`_write()`))},Writable.prototype._writev=null,Writable.prototype.end=function(n,a,S){var C=this._writableState;return typeof n==`function`?(S=n,n=null,a=null):typeof a==`function`&&(S=a,a=null),n!=null&&this.write(n,a),C.corked&&(C.corked=1,this.uncork()),C.ending||endWritable(this,C,S),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}});function needFinish(n){return n.ending&&n.length===0&&n.bufferedRequest===null&&!n.finished&&!n.writing}function callFinal(n,a){n._final(function(S){a.pendingcb--,S&&oe(n,S),a.prefinished=!0,n.emit(`prefinish`),finishMaybe(n,a)})}function prefinish(n,a){!a.prefinished&&!a.finalCalled&&(typeof n._final==`function`&&!a.destroyed?(a.pendingcb++,a.finalCalled=!0,process.nextTick(callFinal,n,a)):(a.prefinished=!0,n.emit(`prefinish`)))}function finishMaybe(n,a){var S=needFinish(a);if(S&&(prefinish(n,a),a.pendingcb===0&&(a.finished=!0,n.emit(`finish`),a.autoDestroy))){var C=n._readableState;(!C||C.autoDestroy&&C.endEmitted)&&n.destroy()}return S}function endWritable(n,a,S){a.ending=!0,finishMaybe(n,a),S&&(a.finished?process.nextTick(S):n.once(`finish`,S)),a.ended=!0,n.writable=!1}function onCorkedFinish(n,a,S){var C=n.entry;for(n.entry=null;C;){var N=C.callback;a.pendingcb--,N(S),C=C.next}a.corkedRequestsFree.next=n}Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function get(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function set(n){this._writableState&&(this._writableState.destroyed=n)}}),Writable.prototype.destroy=H.destroy,Writable.prototype._undestroy=H.undestroy,Writable.prototype._destroy=function(n,a){a(n)}})),IO=__commonJSMin$1(((n,a)=>{var S=Object.keys||function(n){var a=[];for(var S in n)a.push(S);return a};a.exports=Duplex;var C=HO(),N=FO();OO()(Duplex,C);for(var F=S(N.prototype),I=0;I<F.length;I++){var H=F[I];Duplex.prototype[H]||(Duplex.prototype[H]=N.prototype[H])}function Duplex(n){if(!(this instanceof Duplex))return new Duplex(n);C.call(this,n),N.call(this,n),this.allowHalfOpen=!0,n&&(n.readable===!1&&(this.readable=!1),n.writable===!1&&(this.writable=!1),n.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once(`end`,onend)))}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}});function onend(){this._writableState.ended||process.nextTick(onEndNT,this)}function onEndNT(n){n.end()}Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function set(n){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=n,this._writableState.destroyed=n)}})})),LO=__commonJSMin$1(((n,a)=>{
725
725
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
726
- var S=(vt(),__toCommonJS(mt)),C=S.Buffer;function copyProps(n,a){for(var S in n)a[S]=n[S]}C.from&&C.alloc&&C.allocUnsafe&&C.allocUnsafeSlow?a.exports=S:(copyProps(S,n),n.Buffer=SafeBuffer);function SafeBuffer(n,a,S){return C(n,a,S)}SafeBuffer.prototype=Object.create(C.prototype),copyProps(C,SafeBuffer),SafeBuffer.from=function(n,a,S){if(typeof n==`number`)throw TypeError(`Argument must not be a number`);return C(n,a,S)},SafeBuffer.alloc=function(n,a,S){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);var N=C(n);return a===void 0?N.fill(0):typeof S==`string`?N.fill(a,S):N.fill(a),N},SafeBuffer.allocUnsafe=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return C(n)},SafeBuffer.allocUnsafeSlow=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return S.SlowBuffer(n)}})),LO=__commonJSMin$1((n=>{var a=IO().Buffer,S=a.isEncoding||function(n){switch(n=``+n,n&&n.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function _normalizeEncoding(n){if(!n)return`utf8`;for(var a;;)switch(n){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return n;default:if(a)return;n=(``+n).toLowerCase(),a=!0}}function normalizeEncoding(n){var C=_normalizeEncoding(n);if(typeof C!=`string`&&(a.isEncoding===S||!S(n)))throw Error(`Unknown encoding: `+n);return C||n}n.StringDecoder=StringDecoder;function StringDecoder(n){this.encoding=normalizeEncoding(n);var S;switch(this.encoding){case`utf16le`:this.text=utf16Text,this.end=utf16End,S=4;break;case`utf8`:this.fillLast=utf8FillLast,S=4;break;case`base64`:this.text=base64Text,this.end=base64End,S=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=a.allocUnsafe(S)}StringDecoder.prototype.write=function(n){if(n.length===0)return``;var a,S;if(this.lastNeed){if(a=this.fillLast(n),a===void 0)return``;S=this.lastNeed,this.lastNeed=0}else S=0;return S<n.length?a?a+this.text(n,S):this.text(n,S):a||``},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(n){if(this.lastNeed<=n.length)return n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,n.length),this.lastNeed-=n.length};function utf8CheckByte(n){return n<=127?0:n>>5==6?2:n>>4==14?3:n>>3==30?4:n>>6==2?-1:-2}function utf8CheckIncomplete(n,a,S){var C=a.length-1;if(C<S)return 0;var N=utf8CheckByte(a[C]);return N>=0?(N>0&&(n.lastNeed=N-1),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(n.lastNeed=N-2),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(N===2?N=0:n.lastNeed=N-3),N):0))}function utf8CheckExtraBytes(n,a,S){if((a[0]&192)!=128)return n.lastNeed=0,`�`;if(n.lastNeed>1&&a.length>1){if((a[1]&192)!=128)return n.lastNeed=1,`�`;if(n.lastNeed>2&&a.length>2&&(a[2]&192)!=128)return n.lastNeed=2,`�`}}function utf8FillLast(n){var a=this.lastTotal-this.lastNeed,S=utf8CheckExtraBytes(this,n,a);if(S!==void 0)return S;if(this.lastNeed<=n.length)return n.copy(this.lastChar,a,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,a,0,n.length),this.lastNeed-=n.length}function utf8Text(n,a){var S=utf8CheckIncomplete(this,n,a);if(!this.lastNeed)return n.toString(`utf8`,a);this.lastTotal=S;var C=n.length-(S-this.lastNeed);return n.copy(this.lastChar,0,C),n.toString(`utf8`,a,C)}function utf8End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+`�`:a}function utf16Text(n,a){if((n.length-a)%2==0){var S=n.toString(`utf16le`,a);if(S){var C=S.charCodeAt(S.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1],S.slice(0,-1)}return S}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=n[n.length-1],n.toString(`utf16le`,a,n.length-1)}function utf16End(n){var a=n&&n.length?this.write(n):``;if(this.lastNeed){var S=this.lastTotal-this.lastNeed;return a+this.lastChar.toString(`utf16le`,0,S)}return a}function base64Text(n,a){var S=(n.length-a)%3;return S===0?n.toString(`base64`,a):(this.lastNeed=3-S,this.lastTotal=3,S===1?this.lastChar[0]=n[n.length-1]:(this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1]),n.toString(`base64`,a,n.length-S))}function base64End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+this.lastChar.toString(`base64`,0,3-this.lastNeed):a}function simpleWrite(n){return n.toString(this.encoding)}function simpleEnd(n){return n&&n.length?this.write(n):``}})),RO=__commonJSMin$1(((n,a)=>{var S=jO().codes.ERR_STREAM_PREMATURE_CLOSE;function once(n){var a=!1;return function(){if(!a){a=!0;var S=[...arguments];n.apply(this,S)}}}function noop(){}function isRequest(n){return n.setHeader&&typeof n.abort==`function`}function eos(n,a,C){if(typeof a==`function`)return eos(n,null,a);a||={},C=once(C||noop);var N=a.readable||a.readable!==!1&&n.readable,F=a.writable||a.writable!==!1&&n.writable,I=function onlegacyfinish(){n.writable||W()},H=n._writableState&&n._writableState.finished,W=function onfinish(){F=!1,H=!0,N||C.call(n)},K=n._readableState&&n._readableState.endEmitted,q=function onend(){N=!1,K=!0,F||C.call(n)},Y=function onerror(a){C.call(n,a)},X=function onclose(){var a;if(N&&!K)return(!n._readableState||!n._readableState.ended)&&(a=new S),C.call(n,a);if(F&&!H)return(!n._writableState||!n._writableState.ended)&&(a=new S),C.call(n,a)},te=function onrequest(){n.req.on(`finish`,W)};return isRequest(n)?(n.on(`complete`,W),n.on(`abort`,X),n.req?te():n.on(`request`,te)):F&&!n._writableState&&(n.on(`end`,I),n.on(`close`,I)),n.on(`end`,q),n.on(`finish`,W),a.error!==!1&&n.on(`error`,Y),n.on(`close`,X),function(){n.removeListener(`complete`,W),n.removeListener(`abort`,X),n.removeListener(`request`,te),n.req&&n.req.removeListener(`finish`,W),n.removeListener(`end`,I),n.removeListener(`close`,I),n.removeListener(`finish`,W),n.removeListener(`end`,q),n.removeListener(`error`,Y),n.removeListener(`close`,X)}}a.exports=eos})),zO=__commonJSMin$1(((n,a)=>{var S;function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var C=RO(),N=Symbol(`lastResolve`),F=Symbol(`lastReject`),I=Symbol(`error`),H=Symbol(`ended`),W=Symbol(`lastPromise`),K=Symbol(`handlePromise`),q=Symbol(`stream`);function createIterResult(n,a){return{value:n,done:a}}function readAndResolve(n){var a=n[N];if(a!==null){var S=n[q].read();S!==null&&(n[W]=null,n[N]=null,n[F]=null,a(createIterResult(S,!1)))}}function onReadable(n){process.nextTick(readAndResolve,n)}function wrapForNext(n,a){return function(S,C){n.then(function(){if(a[H]){S(createIterResult(void 0,!0));return}a[K](S,C)},C)}}var Y=Object.getPrototypeOf(function(){}),X=Object.setPrototypeOf((S={get stream(){return this[q]},next:function next(){var n=this,a=this[I];if(a!==null)return Promise.reject(a);if(this[H])return Promise.resolve(createIterResult(void 0,!0));if(this[q].destroyed)return new Promise(function(a,S){process.nextTick(function(){n[I]?S(n[I]):a(createIterResult(void 0,!0))})});var S=this[W],C;if(S)C=new Promise(wrapForNext(S,this));else{var N=this[q].read();if(N!==null)return Promise.resolve(createIterResult(N,!1));C=new Promise(this[K])}return this[W]=C,C}},_defineProperty(S,Symbol.asyncIterator,function(){return this}),_defineProperty(S,`return`,function _return(){var n=this;return new Promise(function(a,S){n[q].destroy(null,function(n){if(n){S(n);return}a(createIterResult(void 0,!0))})})}),S),Y);a.exports=function createReadableStreamAsyncIterator(n){var a,S=Object.create(X,(a={},_defineProperty(a,q,{value:n,writable:!0}),_defineProperty(a,N,{value:null,writable:!0}),_defineProperty(a,F,{value:null,writable:!0}),_defineProperty(a,I,{value:null,writable:!0}),_defineProperty(a,H,{value:n._readableState.endEmitted,writable:!0}),_defineProperty(a,K,{value:function value(n,a){var C=S[q].read();C?(S[W]=null,S[N]=null,S[F]=null,n(createIterResult(C,!1))):(S[N]=n,S[F]=a)},writable:!0}),a));return S[W]=null,C(n,function(n){if(n&&n.code!==`ERR_STREAM_PREMATURE_CLOSE`){var a=S[F];a!==null&&(S[W]=null,S[N]=null,S[F]=null,a(n)),S[I]=n;return}var C=S[N];C!==null&&(S[W]=null,S[N]=null,S[F]=null,C(createIterResult(void 0,!0))),S[H]=!0}),n.on(`readable`,onReadable.bind(null,S)),S}})),BO=__commonJSMin$1(((n,a)=>{function asyncGeneratorStep(n,a,S,C,N,F,I){try{var H=n[F](I),W=H.value}catch(n){S(n);return}H.done?a(W):Promise.resolve(W).then(C,N)}function _asyncToGenerator(n){return function(){var a=this,S=arguments;return new Promise(function(C,N){var F=n.apply(a,S);function _next(n){asyncGeneratorStep(F,C,N,_next,_throw,`next`,n)}function _throw(n){asyncGeneratorStep(F,C,N,_next,_throw,`throw`,n)}_next(void 0)})}}function ownKeys(n,a){var S=Object.keys(n);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(n);a&&(C=C.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),S.push.apply(S,C)}return S}function _objectSpread(n){for(var a=1;a<arguments.length;a++){var S=arguments[a]==null?{}:arguments[a];a%2?ownKeys(Object(S),!0).forEach(function(a){_defineProperty(n,a,S[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(S)):ownKeys(Object(S)).forEach(function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(S,a))})}return n}function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var S=jO().codes.ERR_INVALID_ARG_TYPE;function from(n,a,C){var N;if(a&&typeof a.next==`function`)N=a;else if(a&&a[Symbol.asyncIterator])N=a[Symbol.asyncIterator]();else if(a&&a[Symbol.iterator])N=a[Symbol.iterator]();else throw new S(`iterable`,[`Iterable`],a);var F=new n(_objectSpread({objectMode:!0},C)),I=!1;F._read=function(){I||(I=!0,next())};function next(){return _next2.apply(this,arguments)}function _next2(){return _next2=_asyncToGenerator(function*(){try{var n=yield N.next(),a=n.value;n.done?F.push(null):F.push(yield a)?next():I=!1}catch(n){F.destroy(n)}}),_next2.apply(this,arguments)}return F}a.exports=from})),VO=__commonJSMin$1(((n,a)=>{a.exports=Readable;var S;Readable.ReadableState=ReadableState,V_().EventEmitter;var C=function EElistenerCount(n,a){return n.listeners(a).length},N=OO(),F=(vt(),__toCommonJS(mt)).Buffer,I=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return F.from(n)}function _isUint8Array(n){return F.isBuffer(n)||n instanceof I}var H=(tc(),__toCommonJS(Zs)),W=H&&H.debuglog?H.debuglog(`stream`):function debug(){},K=kO(),q=AO(),Y=MO().getHighWaterMark,X=jO().codes,te=X.ERR_INVALID_ARG_TYPE,ne=X.ERR_STREAM_PUSH_AFTER_EOF,re=X.ERR_METHOD_NOT_IMPLEMENTED,ie=X.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ae,oe,Z;DO()(Readable,N);var se=q.errorOrDestroy,ce=[`error`,`close`,`destroy`,`pause`,`resume`];function prependListener(n,a,S){if(typeof n.prependListener==`function`)return n.prependListener(a,S);!n._events||!n._events[a]?n.on(a,S):Array.isArray(n._events[a])?n._events[a].unshift(S):n._events[a]=[S,n._events[a]]}function ReadableState(n,a,C){S||=FO(),n||={},typeof C!=`boolean`&&(C=a instanceof S),this.objectMode=!!n.objectMode,C&&(this.objectMode=this.objectMode||!!n.readableObjectMode),this.highWaterMark=Y(this,n,`readableHighWaterMark`,C),this.buffer=new K,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=n.emitClose!==!1,this.autoDestroy=!!n.autoDestroy,this.destroyed=!1,this.defaultEncoding=n.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,n.encoding&&(ae||=LO().StringDecoder,this.decoder=new ae(n.encoding),this.encoding=n.encoding)}function Readable(n){if(S||=FO(),!(this instanceof Readable))return new Readable(n);var a=this instanceof S;this._readableState=new ReadableState(n,this,a),this.readable=!0,n&&(typeof n.read==`function`&&(this._read=n.read),typeof n.destroy==`function`&&(this._destroy=n.destroy)),N.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function get(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function set(n){this._readableState&&(this._readableState.destroyed=n)}}),Readable.prototype.destroy=q.destroy,Readable.prototype._undestroy=q.undestroy,Readable.prototype._destroy=function(n,a){a(n)},Readable.prototype.push=function(n,a){var S=this._readableState,C;return S.objectMode?C=!0:typeof n==`string`&&(a||=S.defaultEncoding,a!==S.encoding&&(n=F.from(n,a),a=``),C=!0),readableAddChunk(this,n,a,!1,C)},Readable.prototype.unshift=function(n){return readableAddChunk(this,n,null,!0,!1)};function readableAddChunk(n,a,S,C,N){W(`readableAddChunk`,a);var I=n._readableState;if(a===null)I.reading=!1,onEofChunk(n,I);else{var H;if(N||(H=chunkInvalid(I,a)),H)se(n,H);else if(I.objectMode||a&&a.length>0)if(typeof a!=`string`&&!I.objectMode&&Object.getPrototypeOf(a)!==F.prototype&&(a=_uint8ArrayToBuffer(a)),C)I.endEmitted?se(n,new ie):addChunk(n,I,a,!0);else if(I.ended)se(n,new ne);else if(I.destroyed)return!1;else I.reading=!1,I.decoder&&!S?(a=I.decoder.write(a),I.objectMode||a.length!==0?addChunk(n,I,a,!1):maybeReadMore(n,I)):addChunk(n,I,a,!1);else C||(I.reading=!1,maybeReadMore(n,I))}return!I.ended&&(I.length<I.highWaterMark||I.length===0)}function addChunk(n,a,S,C){a.flowing&&a.length===0&&!a.sync?(a.awaitDrain=0,n.emit(`data`,S)):(a.length+=a.objectMode?1:S.length,C?a.buffer.unshift(S):a.buffer.push(S),a.needReadable&&emitReadable(n)),maybeReadMore(n,a)}function chunkInvalid(n,a){var S;return!_isUint8Array(a)&&typeof a!=`string`&&a!==void 0&&!n.objectMode&&(S=new te(`chunk`,[`string`,`Buffer`,`Uint8Array`],a)),S}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(n){ae||=LO().StringDecoder;var a=new ae(n);this._readableState.decoder=a,this._readableState.encoding=this._readableState.decoder.encoding;for(var S=this._readableState.buffer.head,C=``;S!==null;)C+=a.write(S.data),S=S.next;return this._readableState.buffer.clear(),C!==``&&this._readableState.buffer.push(C),this._readableState.length=C.length,this};var le=1073741824;function computeNewHighWaterMark(n){return n>=le?n=le:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,a){return n<=0||a.length===0&&a.ended?0:a.objectMode?1:n===n?(n>a.highWaterMark&&(a.highWaterMark=computeNewHighWaterMark(n)),n<=a.length?n:a.ended?a.length:(a.needReadable=!0,0)):a.flowing&&a.length?a.buffer.head.data.length:a.length}Readable.prototype.read=function(n){W(`read`,n),n=parseInt(n,10);var a=this._readableState,S=n;if(n!==0&&(a.emittedReadable=!1),n===0&&a.needReadable&&((a.highWaterMark===0?a.length>0:a.length>=a.highWaterMark)||a.ended))return W(`read: emitReadable`,a.length,a.ended),a.length===0&&a.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,a),n===0&&a.ended)return a.length===0&&endReadable(this),null;var C=a.needReadable;W(`need readable`,C),(a.length===0||a.length-n<a.highWaterMark)&&(C=!0,W(`length less than watermark`,C)),a.ended||a.reading?(C=!1,W(`reading or ended`,C)):C&&(W(`do read`),a.reading=!0,a.sync=!0,a.length===0&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(n=howMuchToRead(S,a)));var N=n>0?fromList(n,a):null;return N===null?(a.needReadable=a.length<=a.highWaterMark,n=0):(a.length-=n,a.awaitDrain=0),a.length===0&&(a.ended||(a.needReadable=!0),S!==n&&a.ended&&endReadable(this)),N!==null&&this.emit(`data`,N),N};function onEofChunk(n,a){if(W(`onEofChunk`),!a.ended){if(a.decoder){var S=a.decoder.end();S&&S.length&&(a.buffer.push(S),a.length+=a.objectMode?1:S.length)}a.ended=!0,a.sync?emitReadable(n):(a.needReadable=!1,a.emittedReadable||(a.emittedReadable=!0,emitReadable_(n)))}}function emitReadable(n){var a=n._readableState;W(`emitReadable`,a.needReadable,a.emittedReadable),a.needReadable=!1,a.emittedReadable||(W(`emitReadable`,a.flowing),a.emittedReadable=!0,process.nextTick(emitReadable_,n))}function emitReadable_(n){var a=n._readableState;W(`emitReadable_`,a.destroyed,a.length,a.ended),!a.destroyed&&(a.length||a.ended)&&(n.emit(`readable`),a.emittedReadable=!1),a.needReadable=!a.flowing&&!a.ended&&a.length<=a.highWaterMark,flow(n)}function maybeReadMore(n,a){a.readingMore||(a.readingMore=!0,process.nextTick(maybeReadMore_,n,a))}function maybeReadMore_(n,a){for(;!a.reading&&!a.ended&&(a.length<a.highWaterMark||a.flowing&&a.length===0);){var S=a.length;if(W(`maybeReadMore read 0`),n.read(0),S===a.length)break}a.readingMore=!1}Readable.prototype._read=function(n){se(this,new re(`_read()`))},Readable.prototype.pipe=function(n,a){var S=this,N=this._readableState;switch(N.pipesCount){case 0:N.pipes=n;break;case 1:N.pipes=[N.pipes,n];break;default:N.pipes.push(n);break}N.pipesCount+=1,W(`pipe count=%d opts=%j`,N.pipesCount,a);var F=(!a||a.end!==!1)&&n!==process.stdout&&n!==process.stderr?onend:unpipe;N.endEmitted?process.nextTick(F):S.once(`end`,F),n.on(`unpipe`,onunpipe);function onunpipe(n,a){W(`onunpipe`),n===S&&a&&a.hasUnpiped===!1&&(a.hasUnpiped=!0,cleanup())}function onend(){W(`onend`),n.end()}var I=pipeOnDrain(S);n.on(`drain`,I);var H=!1;function cleanup(){W(`cleanup`),n.removeListener(`close`,onclose),n.removeListener(`finish`,onfinish),n.removeListener(`drain`,I),n.removeListener(`error`,onerror),n.removeListener(`unpipe`,onunpipe),S.removeListener(`end`,onend),S.removeListener(`end`,unpipe),S.removeListener(`data`,ondata),H=!0,N.awaitDrain&&(!n._writableState||n._writableState.needDrain)&&I()}S.on(`data`,ondata);function ondata(a){W(`ondata`);var C=n.write(a);W(`dest.write`,C),C===!1&&((N.pipesCount===1&&N.pipes===n||N.pipesCount>1&&indexOf(N.pipes,n)!==-1)&&!H&&(W(`false write response, pause`,N.awaitDrain),N.awaitDrain++),S.pause())}function onerror(a){W(`onerror`,a),unpipe(),n.removeListener(`error`,onerror),C(n,`error`)===0&&se(n,a)}prependListener(n,`error`,onerror);function onclose(){n.removeListener(`finish`,onfinish),unpipe()}n.once(`close`,onclose);function onfinish(){W(`onfinish`),n.removeListener(`close`,onclose),unpipe()}n.once(`finish`,onfinish);function unpipe(){W(`unpipe`),S.unpipe(n)}return n.emit(`pipe`,S),N.flowing||(W(`pipe resume`),S.resume()),n};function pipeOnDrain(n){return function pipeOnDrainFunctionResult(){var a=n._readableState;W(`pipeOnDrain`,a.awaitDrain),a.awaitDrain&&a.awaitDrain--,a.awaitDrain===0&&C(n,`data`)&&(a.flowing=!0,flow(n))}}Readable.prototype.unpipe=function(n){var a=this._readableState,S={hasUnpiped:!1};if(a.pipesCount===0)return this;if(a.pipesCount===1)return n&&n!==a.pipes?this:(n||=a.pipes,a.pipes=null,a.pipesCount=0,a.flowing=!1,n&&n.emit(`unpipe`,this,S),this);if(!n){var C=a.pipes,N=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var F=0;F<N;F++)C[F].emit(`unpipe`,this,{hasUnpiped:!1});return this}var I=indexOf(a.pipes,n);return I===-1?this:(a.pipes.splice(I,1),--a.pipesCount,a.pipesCount===1&&(a.pipes=a.pipes[0]),n.emit(`unpipe`,this,S),this)},Readable.prototype.on=function(n,a){var S=N.prototype.on.call(this,n,a),C=this._readableState;return n===`data`?(C.readableListening=this.listenerCount(`readable`)>0,C.flowing!==!1&&this.resume()):n===`readable`&&!C.endEmitted&&!C.readableListening&&(C.readableListening=C.needReadable=!0,C.flowing=!1,C.emittedReadable=!1,W(`on readable`,C.length,C.reading),C.length?emitReadable(this):C.reading||process.nextTick(nReadingNextTick,this)),S},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(n,a){var S=N.prototype.removeListener.call(this,n,a);return n===`readable`&&process.nextTick(updateReadableListening,this),S},Readable.prototype.removeAllListeners=function(n){var a=N.prototype.removeAllListeners.apply(this,arguments);return(n===`readable`||n===void 0)&&process.nextTick(updateReadableListening,this),a};function updateReadableListening(n){var a=n._readableState;a.readableListening=n.listenerCount(`readable`)>0,a.resumeScheduled&&!a.paused?a.flowing=!0:n.listenerCount(`data`)>0&&n.resume()}function nReadingNextTick(n){W(`readable nexttick read 0`),n.read(0)}Readable.prototype.resume=function(){var n=this._readableState;return n.flowing||(W(`resume`),n.flowing=!n.readableListening,resume(this,n)),n.paused=!1,this};function resume(n,a){a.resumeScheduled||(a.resumeScheduled=!0,process.nextTick(resume_,n,a))}function resume_(n,a){W(`resume`,a.reading),a.reading||n.read(0),a.resumeScheduled=!1,n.emit(`resume`),flow(n),a.flowing&&!a.reading&&n.read(0)}Readable.prototype.pause=function(){return W(`call pause flowing=%j`,this._readableState.flowing),this._readableState.flowing!==!1&&(W(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this._readableState.paused=!0,this};function flow(n){var a=n._readableState;for(W(`flow`,a.flowing);a.flowing&&n.read()!==null;);}Readable.prototype.wrap=function(n){var a=this,S=this._readableState,C=!1;for(var N in n.on(`end`,function(){if(W(`wrapped end`),S.decoder&&!S.ended){var n=S.decoder.end();n&&n.length&&a.push(n)}a.push(null)}),n.on(`data`,function(N){W(`wrapped data`),S.decoder&&(N=S.decoder.write(N)),!(S.objectMode&&N==null)&&(!S.objectMode&&(!N||!N.length)||a.push(N)||(C=!0,n.pause()))}),n)this[N]===void 0&&typeof n[N]==`function`&&(this[N]=function methodWrap(a){return function methodWrapReturnFunction(){return n[a].apply(n,arguments)}}(N));for(var F=0;F<ce.length;F++)n.on(ce[F],this.emit.bind(this,ce[F]));return this._read=function(a){W(`wrapped _read`,a),C&&(C=!1,n.resume())},this},typeof Symbol==`function`&&(Readable.prototype[Symbol.asyncIterator]=function(){return oe===void 0&&(oe=zO()),oe(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function get(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function get(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function get(){return this._readableState.flowing},set:function set(n){this._readableState&&(this._readableState.flowing=n)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function get(){return this._readableState.length}});function fromList(n,a){if(a.length===0)return null;var S;return a.objectMode?S=a.buffer.shift():!n||n>=a.length?(S=a.decoder?a.buffer.join(``):a.buffer.length===1?a.buffer.first():a.buffer.concat(a.length),a.buffer.clear()):S=a.buffer.consume(n,a.decoder),S}function endReadable(n){var a=n._readableState;W(`endReadable`,a.endEmitted),a.endEmitted||(a.ended=!0,process.nextTick(endReadableNT,a,n))}function endReadableNT(n,a){if(W(`endReadableNT`,n.endEmitted,n.length),!n.endEmitted&&n.length===0&&(n.endEmitted=!0,a.readable=!1,a.emit(`end`),n.autoDestroy)){var S=a._writableState;(!S||S.autoDestroy&&S.finished)&&a.destroy()}}typeof Symbol==`function`&&(Readable.from=function(n,a){return Z===void 0&&(Z=BO()),Z(Readable,n,a)});function indexOf(n,a){for(var S=0,C=n.length;S<C;S++)if(n[S]===a)return S;return-1}})),HO=__commonJSMin$1(((n,a)=>{a.exports=Transform;var S=jO().codes,C=S.ERR_METHOD_NOT_IMPLEMENTED,N=S.ERR_MULTIPLE_CALLBACK,F=S.ERR_TRANSFORM_ALREADY_TRANSFORMING,I=S.ERR_TRANSFORM_WITH_LENGTH_0,H=FO();DO()(Transform,H);function afterTransform(n,a){var S=this._transformState;S.transforming=!1;var C=S.writecb;if(C===null)return this.emit(`error`,new N);S.writechunk=null,S.writecb=null,a!=null&&this.push(a),C(n);var F=this._readableState;F.reading=!1,(F.needReadable||F.length<F.highWaterMark)&&this._read(F.highWaterMark)}function Transform(n){if(!(this instanceof Transform))return new Transform(n);H.call(this,n),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,n&&(typeof n.transform==`function`&&(this._transform=n.transform),typeof n.flush==`function`&&(this._flush=n.flush)),this.on(`prefinish`,prefinish)}function prefinish(){var n=this;typeof this._flush==`function`&&!this._readableState.destroyed?this._flush(function(a,S){done(n,a,S)}):done(this,null,null)}Transform.prototype.push=function(n,a){return this._transformState.needTransform=!1,H.prototype.push.call(this,n,a)},Transform.prototype._transform=function(n,a,S){S(new C(`_transform()`))},Transform.prototype._write=function(n,a,S){var C=this._transformState;if(C.writecb=S,C.writechunk=n,C.writeencoding=a,!C.transforming){var N=this._readableState;(C.needTransform||N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}},Transform.prototype._read=function(n){var a=this._transformState;a.writechunk!==null&&!a.transforming?(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform)):a.needTransform=!0},Transform.prototype._destroy=function(n,a){H.prototype._destroy.call(this,n,function(n){a(n)})};function done(n,a,S){if(a)return n.emit(`error`,a);if(S!=null&&n.push(S),n._writableState.length)throw new I;if(n._transformState.transforming)throw new F;return n.push(null)}})),UO=__commonJSMin$1(((n,a)=>{a.exports=PassThrough;var S=HO();DO()(PassThrough,S);function PassThrough(n){if(!(this instanceof PassThrough))return new PassThrough(n);S.call(this,n)}PassThrough.prototype._transform=function(n,a,S){S(null,n)}})),WO=__commonJSMin$1(((n,a)=>{var S;function once(n){var a=!1;return function(){a||(a=!0,n.apply(void 0,arguments))}}var C=jO().codes,N=C.ERR_MISSING_ARGS,F=C.ERR_STREAM_DESTROYED;function noop(n){if(n)throw n}function isRequest(n){return n.setHeader&&typeof n.abort==`function`}function destroyer(n,a,C,N){N=once(N);var I=!1;n.on(`close`,function(){I=!0}),S===void 0&&(S=RO()),S(n,{readable:a,writable:C},function(n){if(n)return N(n);I=!0,N()});var H=!1;return function(a){if(!I&&!H){if(H=!0,isRequest(n))return n.abort();if(typeof n.destroy==`function`)return n.destroy();N(a||new F(`pipe`))}}}function call(n){n()}function pipe(n,a){return n.pipe(a)}function popCallback(n){return!n.length||typeof n[n.length-1]!=`function`?noop:n.pop()}function pipeline(){var n=[...arguments],a=popCallback(n);if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw new N(`streams`);var S,C=n.map(function(N,F){var I=F<n.length-1;return destroyer(N,I,F>0,function(n){S||=n,n&&C.forEach(call),!I&&(C.forEach(call),a(S))})});return n.reduce(pipe)}a.exports=pipeline})),GO=__commonJSMin$1(((n,a)=>{var S=F_();S?(a.exports=S.Readable,Object.assign(a.exports,S),a.exports.Stream=S):(n=a.exports=VO(),n.Stream=S||n,n.Readable=n,n.Writable=PO(),n.Duplex=FO(),n.Transform=HO(),n.PassThrough=UO(),n.finished=RO(),n.pipeline=WO())})),KO=__commonJSMin$1(((n,a)=>{a.exports=shift;function shift(n){var a=n._readableState;return a?a.objectMode||typeof n._duplexState==`number`?n.read():n.read(getStateLength(a)):null}function getStateLength(n){if(n.buffer.length){var a=n.bufferIndex||0;if(n.buffer.head)return n.buffer.head.data.length;if(n.buffer.length-a>0&&n.buffer[a])return n.buffer[a].length}return n.length}})),qO=__commonJSMin$1(((n,a)=>{var S=GO(),C=TO(),N=DO(),F=KO(),I=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]),onuncork=function(n,a){n._corked?n.once(`uncork`,a):a()},autoDestroy=function(n,a){n._autoDestroy&&n.destroy(a)},destroyer=function(n,a){return function(S){S?autoDestroy(n,S.message===`premature close`?null:S):a&&!n._ended&&n.end()}},end=function(n,a){if(!n||n._writableState&&n._writableState.finished)return a();if(n._writableState)return n.end(a);n.end(),a()},noop=function(){},toStreams2=function(n){return new S.Readable({objectMode:!0,highWaterMark:16}).wrap(n)},Duplexify=function(n,a,C){if(!(this instanceof Duplexify))return new Duplexify(n,a,C);S.Duplex.call(this,C),this._writable=null,this._readable=null,this._readable2=null,this._autoDestroy=!C||C.autoDestroy!==!1,this._forwardDestroy=!C||C.destroy!==!1,this._forwardEnd=!C||C.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this.destroyed=!1,n&&this.setWritable(n),a&&this.setReadable(a)};N(Duplexify,S.Duplex),Duplexify.obj=function(n,a,S){return S||={},S.objectMode=!0,S.highWaterMark=16,new Duplexify(n,a,S)},Duplexify.prototype.cork=function(){++this._corked===1&&this.emit(`cork`)},Duplexify.prototype.uncork=function(){this._corked&&--this._corked===0&&this.emit(`uncork`)},Duplexify.prototype.setWritable=function(n){if(this._unwrite&&this._unwrite(),this.destroyed){n&&n.destroy&&n.destroy();return}if(n===null||n===!1){this.end();return}var a=this,S=C(n,{writable:!0,readable:!1},destroyer(this,this._forwardEnd)),ondrain=function(){var n=a._ondrain;a._ondrain=null,n&&n()},clear=function(){a._writable.removeListener(`drain`,ondrain),S()};this._unwrite&&process.nextTick(ondrain),this._writable=n,this._writable.on(`drain`,ondrain),this._unwrite=clear,this.uncork()},Duplexify.prototype.setReadable=function(n){if(this._unread&&this._unread(),this.destroyed){n&&n.destroy&&n.destroy();return}if(n===null||n===!1){this.push(null),this.resume();return}var a=this,S=C(n,{writable:!1,readable:!0},destroyer(this)),onreadable=function(){a._forward()},onend=function(){a.push(null)},clear=function(){a._readable2.removeListener(`readable`,onreadable),a._readable2.removeListener(`end`,onend),S()};this._drained=!0,this._readable=n,this._readable2=n._readableState?n:toStreams2(n),this._readable2.on(`readable`,onreadable),this._readable2.on(`end`,onend),this._unread=clear,this._forward()},Duplexify.prototype._read=function(){this._drained=!0,this._forward()},Duplexify.prototype._forward=function(){if(!(this._forwarding||!this._readable2||!this._drained)){this._forwarding=!0;for(var n;this._drained&&(n=F(this._readable2))!==null;)this.destroyed||(this._drained=this.push(n));this._forwarding=!1}},Duplexify.prototype.destroy=function(n,a){if(a||=noop,this.destroyed)return a(null);this.destroyed=!0;var S=this;process.nextTick(function(){S._destroy(n),a(null)})},Duplexify.prototype._destroy=function(n){if(n){var a=this._ondrain;this._ondrain=null,a?a(n):this.emit(`error`,n)}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit(`close`)},Duplexify.prototype._write=function(n,a,S){if(!this.destroyed){if(this._corked)return onuncork(this,this._write.bind(this,n,a,S));if(n===I)return this._finish(S);if(!this._writable)return S();this._writable.write(n)===!1?this._ondrain=S:this.destroyed||S()}},Duplexify.prototype._finish=function(n){var a=this;this.emit(`preend`),onuncork(this,function(){end(a._forwardEnd&&a._writable,function(){a._writableState.prefinished===!1&&(a._writableState.prefinished=!0),a.emit(`prefinish`),onuncork(a,n)})})},Duplexify.prototype.end=function(n,a,C){return typeof n==`function`?this.end(null,null,n):typeof a==`function`?this.end(n,null,a):(this._ended=!0,n&&this.write(n),!this._writableState.ending&&!this._writableState.destroyed&&this.write(I),S.Writable.prototype.end.call(this,C))},a.exports=Duplexify})),JO=__commonJSMin$1(((n,a)=>{var S=EO(),C=DO(),N=qO(),toArray=function(n){return n.length?Array.isArray(n[0])?n[0]:Array.prototype.slice.call(n):[]},define=function(n){var Pumpify=function(){var a=toArray(arguments);if(!(this instanceof Pumpify))return new Pumpify(a);N.call(this,null,null,n),a.length&&this.setPipeline(a)};return C(Pumpify,N),Pumpify.prototype.setPipeline=function(){var n=toArray(arguments),a=this,C=!1,N=n[0],F=n[n.length-1];F=F.readable?F:null,N=N.writable?N:null;var onclose=function(){n[0].emit(`error`,Error(`stream was destroyed`))};if(this.on(`close`,onclose),this.on(`prefinish`,function(){C||a.cork()}),S(n,function(n){if(a.removeListener(`close`,onclose),n)return a.destroy(n.message===`premature close`?null:n);C=!0,a._autoDestroy===!1&&(a._autoDestroy=!0),a.uncork()}),this.destroyed)return onclose();this.setWritable(N),this.setReadable(F)},Pumpify};a.exports=define({autoDestroy:!1,destroy:!1}),a.exports.obj=define({autoDestroy:!1,destroy:!1,objectMode:!0,highWaterMark:16}),a.exports.ctor=define})),YO=__commonJSMin$1(((n,a)=>{var S=/[|\\{}()[\]^$+*?.]/g;a.exports=function(n){if(typeof n!=`string`)throw TypeError(`Expected a string`);return n.replace(S,`\\$&`)}})),XO=__commonJSMin$1(((n,a)=>{
726
+ var S=(vt(),__toCommonJS(mt)),C=S.Buffer;function copyProps(n,a){for(var S in n)a[S]=n[S]}C.from&&C.alloc&&C.allocUnsafe&&C.allocUnsafeSlow?a.exports=S:(copyProps(S,n),n.Buffer=SafeBuffer);function SafeBuffer(n,a,S){return C(n,a,S)}SafeBuffer.prototype=Object.create(C.prototype),copyProps(C,SafeBuffer),SafeBuffer.from=function(n,a,S){if(typeof n==`number`)throw TypeError(`Argument must not be a number`);return C(n,a,S)},SafeBuffer.alloc=function(n,a,S){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);var N=C(n);return a===void 0?N.fill(0):typeof S==`string`?N.fill(a,S):N.fill(a),N},SafeBuffer.allocUnsafe=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return C(n)},SafeBuffer.allocUnsafeSlow=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return S.SlowBuffer(n)}})),RO=__commonJSMin$1((n=>{var a=LO().Buffer,S=a.isEncoding||function(n){switch(n=``+n,n&&n.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function _normalizeEncoding(n){if(!n)return`utf8`;for(var a;;)switch(n){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return n;default:if(a)return;n=(``+n).toLowerCase(),a=!0}}function normalizeEncoding(n){var C=_normalizeEncoding(n);if(typeof C!=`string`&&(a.isEncoding===S||!S(n)))throw Error(`Unknown encoding: `+n);return C||n}n.StringDecoder=StringDecoder;function StringDecoder(n){this.encoding=normalizeEncoding(n);var S;switch(this.encoding){case`utf16le`:this.text=utf16Text,this.end=utf16End,S=4;break;case`utf8`:this.fillLast=utf8FillLast,S=4;break;case`base64`:this.text=base64Text,this.end=base64End,S=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=a.allocUnsafe(S)}StringDecoder.prototype.write=function(n){if(n.length===0)return``;var a,S;if(this.lastNeed){if(a=this.fillLast(n),a===void 0)return``;S=this.lastNeed,this.lastNeed=0}else S=0;return S<n.length?a?a+this.text(n,S):this.text(n,S):a||``},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(n){if(this.lastNeed<=n.length)return n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,n.length),this.lastNeed-=n.length};function utf8CheckByte(n){return n<=127?0:n>>5==6?2:n>>4==14?3:n>>3==30?4:n>>6==2?-1:-2}function utf8CheckIncomplete(n,a,S){var C=a.length-1;if(C<S)return 0;var N=utf8CheckByte(a[C]);return N>=0?(N>0&&(n.lastNeed=N-1),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(n.lastNeed=N-2),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(N===2?N=0:n.lastNeed=N-3),N):0))}function utf8CheckExtraBytes(n,a,S){if((a[0]&192)!=128)return n.lastNeed=0,`�`;if(n.lastNeed>1&&a.length>1){if((a[1]&192)!=128)return n.lastNeed=1,`�`;if(n.lastNeed>2&&a.length>2&&(a[2]&192)!=128)return n.lastNeed=2,`�`}}function utf8FillLast(n){var a=this.lastTotal-this.lastNeed,S=utf8CheckExtraBytes(this,n,a);if(S!==void 0)return S;if(this.lastNeed<=n.length)return n.copy(this.lastChar,a,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,a,0,n.length),this.lastNeed-=n.length}function utf8Text(n,a){var S=utf8CheckIncomplete(this,n,a);if(!this.lastNeed)return n.toString(`utf8`,a);this.lastTotal=S;var C=n.length-(S-this.lastNeed);return n.copy(this.lastChar,0,C),n.toString(`utf8`,a,C)}function utf8End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+`�`:a}function utf16Text(n,a){if((n.length-a)%2==0){var S=n.toString(`utf16le`,a);if(S){var C=S.charCodeAt(S.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1],S.slice(0,-1)}return S}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=n[n.length-1],n.toString(`utf16le`,a,n.length-1)}function utf16End(n){var a=n&&n.length?this.write(n):``;if(this.lastNeed){var S=this.lastTotal-this.lastNeed;return a+this.lastChar.toString(`utf16le`,0,S)}return a}function base64Text(n,a){var S=(n.length-a)%3;return S===0?n.toString(`base64`,a):(this.lastNeed=3-S,this.lastTotal=3,S===1?this.lastChar[0]=n[n.length-1]:(this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1]),n.toString(`base64`,a,n.length-S))}function base64End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+this.lastChar.toString(`base64`,0,3-this.lastNeed):a}function simpleWrite(n){return n.toString(this.encoding)}function simpleEnd(n){return n&&n.length?this.write(n):``}})),zO=__commonJSMin$1(((n,a)=>{var S=MO().codes.ERR_STREAM_PREMATURE_CLOSE;function once(n){var a=!1;return function(){if(!a){a=!0;var S=[...arguments];n.apply(this,S)}}}function noop(){}function isRequest(n){return n.setHeader&&typeof n.abort==`function`}function eos(n,a,C){if(typeof a==`function`)return eos(n,null,a);a||={},C=once(C||noop);var N=a.readable||a.readable!==!1&&n.readable,F=a.writable||a.writable!==!1&&n.writable,I=function onlegacyfinish(){n.writable||W()},H=n._writableState&&n._writableState.finished,W=function onfinish(){F=!1,H=!0,N||C.call(n)},K=n._readableState&&n._readableState.endEmitted,q=function onend(){N=!1,K=!0,F||C.call(n)},Y=function onerror(a){C.call(n,a)},X=function onclose(){var a;if(N&&!K)return(!n._readableState||!n._readableState.ended)&&(a=new S),C.call(n,a);if(F&&!H)return(!n._writableState||!n._writableState.ended)&&(a=new S),C.call(n,a)},te=function onrequest(){n.req.on(`finish`,W)};return isRequest(n)?(n.on(`complete`,W),n.on(`abort`,X),n.req?te():n.on(`request`,te)):F&&!n._writableState&&(n.on(`end`,I),n.on(`close`,I)),n.on(`end`,q),n.on(`finish`,W),a.error!==!1&&n.on(`error`,Y),n.on(`close`,X),function(){n.removeListener(`complete`,W),n.removeListener(`abort`,X),n.removeListener(`request`,te),n.req&&n.req.removeListener(`finish`,W),n.removeListener(`end`,I),n.removeListener(`close`,I),n.removeListener(`finish`,W),n.removeListener(`end`,q),n.removeListener(`error`,Y),n.removeListener(`close`,X)}}a.exports=eos})),BO=__commonJSMin$1(((n,a)=>{var S;function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var C=zO(),N=Symbol(`lastResolve`),F=Symbol(`lastReject`),I=Symbol(`error`),H=Symbol(`ended`),W=Symbol(`lastPromise`),K=Symbol(`handlePromise`),q=Symbol(`stream`);function createIterResult(n,a){return{value:n,done:a}}function readAndResolve(n){var a=n[N];if(a!==null){var S=n[q].read();S!==null&&(n[W]=null,n[N]=null,n[F]=null,a(createIterResult(S,!1)))}}function onReadable(n){process.nextTick(readAndResolve,n)}function wrapForNext(n,a){return function(S,C){n.then(function(){if(a[H]){S(createIterResult(void 0,!0));return}a[K](S,C)},C)}}var Y=Object.getPrototypeOf(function(){}),X=Object.setPrototypeOf((S={get stream(){return this[q]},next:function next(){var n=this,a=this[I];if(a!==null)return Promise.reject(a);if(this[H])return Promise.resolve(createIterResult(void 0,!0));if(this[q].destroyed)return new Promise(function(a,S){process.nextTick(function(){n[I]?S(n[I]):a(createIterResult(void 0,!0))})});var S=this[W],C;if(S)C=new Promise(wrapForNext(S,this));else{var N=this[q].read();if(N!==null)return Promise.resolve(createIterResult(N,!1));C=new Promise(this[K])}return this[W]=C,C}},_defineProperty(S,Symbol.asyncIterator,function(){return this}),_defineProperty(S,`return`,function _return(){var n=this;return new Promise(function(a,S){n[q].destroy(null,function(n){if(n){S(n);return}a(createIterResult(void 0,!0))})})}),S),Y);a.exports=function createReadableStreamAsyncIterator(n){var a,S=Object.create(X,(a={},_defineProperty(a,q,{value:n,writable:!0}),_defineProperty(a,N,{value:null,writable:!0}),_defineProperty(a,F,{value:null,writable:!0}),_defineProperty(a,I,{value:null,writable:!0}),_defineProperty(a,H,{value:n._readableState.endEmitted,writable:!0}),_defineProperty(a,K,{value:function value(n,a){var C=S[q].read();C?(S[W]=null,S[N]=null,S[F]=null,n(createIterResult(C,!1))):(S[N]=n,S[F]=a)},writable:!0}),a));return S[W]=null,C(n,function(n){if(n&&n.code!==`ERR_STREAM_PREMATURE_CLOSE`){var a=S[F];a!==null&&(S[W]=null,S[N]=null,S[F]=null,a(n)),S[I]=n;return}var C=S[N];C!==null&&(S[W]=null,S[N]=null,S[F]=null,C(createIterResult(void 0,!0))),S[H]=!0}),n.on(`readable`,onReadable.bind(null,S)),S}})),VO=__commonJSMin$1(((n,a)=>{function asyncGeneratorStep(n,a,S,C,N,F,I){try{var H=n[F](I),W=H.value}catch(n){S(n);return}H.done?a(W):Promise.resolve(W).then(C,N)}function _asyncToGenerator(n){return function(){var a=this,S=arguments;return new Promise(function(C,N){var F=n.apply(a,S);function _next(n){asyncGeneratorStep(F,C,N,_next,_throw,`next`,n)}function _throw(n){asyncGeneratorStep(F,C,N,_next,_throw,`throw`,n)}_next(void 0)})}}function ownKeys(n,a){var S=Object.keys(n);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(n);a&&(C=C.filter(function(a){return Object.getOwnPropertyDescriptor(n,a).enumerable})),S.push.apply(S,C)}return S}function _objectSpread(n){for(var a=1;a<arguments.length;a++){var S=arguments[a]==null?{}:arguments[a];a%2?ownKeys(Object(S),!0).forEach(function(a){_defineProperty(n,a,S[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(S)):ownKeys(Object(S)).forEach(function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(S,a))})}return n}function _defineProperty(n,a,S){return a=_toPropertyKey(a),a in n?Object.defineProperty(n,a,{value:S,enumerable:!0,configurable:!0,writable:!0}):n[a]=S,n}function _toPropertyKey(n){var a=_toPrimitive(n,`string`);return typeof a==`symbol`?a:String(a)}function _toPrimitive(n,a){if(typeof n!=`object`||!n)return n;var S=n[Symbol.toPrimitive];if(S!==void 0){var C=S.call(n,a||`default`);if(typeof C!=`object`)return C;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(a===`string`?String:Number)(n)}var S=MO().codes.ERR_INVALID_ARG_TYPE;function from(n,a,C){var N;if(a&&typeof a.next==`function`)N=a;else if(a&&a[Symbol.asyncIterator])N=a[Symbol.asyncIterator]();else if(a&&a[Symbol.iterator])N=a[Symbol.iterator]();else throw new S(`iterable`,[`Iterable`],a);var F=new n(_objectSpread({objectMode:!0},C)),I=!1;F._read=function(){I||(I=!0,next())};function next(){return _next2.apply(this,arguments)}function _next2(){return _next2=_asyncToGenerator(function*(){try{var n=yield N.next(),a=n.value;n.done?F.push(null):F.push(yield a)?next():I=!1}catch(n){F.destroy(n)}}),_next2.apply(this,arguments)}return F}a.exports=from})),HO=__commonJSMin$1(((n,a)=>{a.exports=Readable;var S;Readable.ReadableState=ReadableState,V_().EventEmitter;var C=function EElistenerCount(n,a){return n.listeners(a).length},N=kO(),F=(vt(),__toCommonJS(mt)).Buffer,I=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return F.from(n)}function _isUint8Array(n){return F.isBuffer(n)||n instanceof I}var H=(tc(),__toCommonJS(Zs)),W=H&&H.debuglog?H.debuglog(`stream`):function debug(){},K=AO(),q=jO(),Y=NO().getHighWaterMark,X=MO().codes,te=X.ERR_INVALID_ARG_TYPE,ne=X.ERR_STREAM_PUSH_AFTER_EOF,re=X.ERR_METHOD_NOT_IMPLEMENTED,ie=X.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ae,oe,Z;OO()(Readable,N);var se=q.errorOrDestroy,ce=[`error`,`close`,`destroy`,`pause`,`resume`];function prependListener(n,a,S){if(typeof n.prependListener==`function`)return n.prependListener(a,S);!n._events||!n._events[a]?n.on(a,S):Array.isArray(n._events[a])?n._events[a].unshift(S):n._events[a]=[S,n._events[a]]}function ReadableState(n,a,C){S||=IO(),n||={},typeof C!=`boolean`&&(C=a instanceof S),this.objectMode=!!n.objectMode,C&&(this.objectMode=this.objectMode||!!n.readableObjectMode),this.highWaterMark=Y(this,n,`readableHighWaterMark`,C),this.buffer=new K,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=n.emitClose!==!1,this.autoDestroy=!!n.autoDestroy,this.destroyed=!1,this.defaultEncoding=n.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,n.encoding&&(ae||=RO().StringDecoder,this.decoder=new ae(n.encoding),this.encoding=n.encoding)}function Readable(n){if(S||=IO(),!(this instanceof Readable))return new Readable(n);var a=this instanceof S;this._readableState=new ReadableState(n,this,a),this.readable=!0,n&&(typeof n.read==`function`&&(this._read=n.read),typeof n.destroy==`function`&&(this._destroy=n.destroy)),N.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function get(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function set(n){this._readableState&&(this._readableState.destroyed=n)}}),Readable.prototype.destroy=q.destroy,Readable.prototype._undestroy=q.undestroy,Readable.prototype._destroy=function(n,a){a(n)},Readable.prototype.push=function(n,a){var S=this._readableState,C;return S.objectMode?C=!0:typeof n==`string`&&(a||=S.defaultEncoding,a!==S.encoding&&(n=F.from(n,a),a=``),C=!0),readableAddChunk(this,n,a,!1,C)},Readable.prototype.unshift=function(n){return readableAddChunk(this,n,null,!0,!1)};function readableAddChunk(n,a,S,C,N){W(`readableAddChunk`,a);var I=n._readableState;if(a===null)I.reading=!1,onEofChunk(n,I);else{var H;if(N||(H=chunkInvalid(I,a)),H)se(n,H);else if(I.objectMode||a&&a.length>0)if(typeof a!=`string`&&!I.objectMode&&Object.getPrototypeOf(a)!==F.prototype&&(a=_uint8ArrayToBuffer(a)),C)I.endEmitted?se(n,new ie):addChunk(n,I,a,!0);else if(I.ended)se(n,new ne);else if(I.destroyed)return!1;else I.reading=!1,I.decoder&&!S?(a=I.decoder.write(a),I.objectMode||a.length!==0?addChunk(n,I,a,!1):maybeReadMore(n,I)):addChunk(n,I,a,!1);else C||(I.reading=!1,maybeReadMore(n,I))}return!I.ended&&(I.length<I.highWaterMark||I.length===0)}function addChunk(n,a,S,C){a.flowing&&a.length===0&&!a.sync?(a.awaitDrain=0,n.emit(`data`,S)):(a.length+=a.objectMode?1:S.length,C?a.buffer.unshift(S):a.buffer.push(S),a.needReadable&&emitReadable(n)),maybeReadMore(n,a)}function chunkInvalid(n,a){var S;return!_isUint8Array(a)&&typeof a!=`string`&&a!==void 0&&!n.objectMode&&(S=new te(`chunk`,[`string`,`Buffer`,`Uint8Array`],a)),S}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(n){ae||=RO().StringDecoder;var a=new ae(n);this._readableState.decoder=a,this._readableState.encoding=this._readableState.decoder.encoding;for(var S=this._readableState.buffer.head,C=``;S!==null;)C+=a.write(S.data),S=S.next;return this._readableState.buffer.clear(),C!==``&&this._readableState.buffer.push(C),this._readableState.length=C.length,this};var le=1073741824;function computeNewHighWaterMark(n){return n>=le?n=le:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,a){return n<=0||a.length===0&&a.ended?0:a.objectMode?1:n===n?(n>a.highWaterMark&&(a.highWaterMark=computeNewHighWaterMark(n)),n<=a.length?n:a.ended?a.length:(a.needReadable=!0,0)):a.flowing&&a.length?a.buffer.head.data.length:a.length}Readable.prototype.read=function(n){W(`read`,n),n=parseInt(n,10);var a=this._readableState,S=n;if(n!==0&&(a.emittedReadable=!1),n===0&&a.needReadable&&((a.highWaterMark===0?a.length>0:a.length>=a.highWaterMark)||a.ended))return W(`read: emitReadable`,a.length,a.ended),a.length===0&&a.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,a),n===0&&a.ended)return a.length===0&&endReadable(this),null;var C=a.needReadable;W(`need readable`,C),(a.length===0||a.length-n<a.highWaterMark)&&(C=!0,W(`length less than watermark`,C)),a.ended||a.reading?(C=!1,W(`reading or ended`,C)):C&&(W(`do read`),a.reading=!0,a.sync=!0,a.length===0&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(n=howMuchToRead(S,a)));var N=n>0?fromList(n,a):null;return N===null?(a.needReadable=a.length<=a.highWaterMark,n=0):(a.length-=n,a.awaitDrain=0),a.length===0&&(a.ended||(a.needReadable=!0),S!==n&&a.ended&&endReadable(this)),N!==null&&this.emit(`data`,N),N};function onEofChunk(n,a){if(W(`onEofChunk`),!a.ended){if(a.decoder){var S=a.decoder.end();S&&S.length&&(a.buffer.push(S),a.length+=a.objectMode?1:S.length)}a.ended=!0,a.sync?emitReadable(n):(a.needReadable=!1,a.emittedReadable||(a.emittedReadable=!0,emitReadable_(n)))}}function emitReadable(n){var a=n._readableState;W(`emitReadable`,a.needReadable,a.emittedReadable),a.needReadable=!1,a.emittedReadable||(W(`emitReadable`,a.flowing),a.emittedReadable=!0,process.nextTick(emitReadable_,n))}function emitReadable_(n){var a=n._readableState;W(`emitReadable_`,a.destroyed,a.length,a.ended),!a.destroyed&&(a.length||a.ended)&&(n.emit(`readable`),a.emittedReadable=!1),a.needReadable=!a.flowing&&!a.ended&&a.length<=a.highWaterMark,flow(n)}function maybeReadMore(n,a){a.readingMore||(a.readingMore=!0,process.nextTick(maybeReadMore_,n,a))}function maybeReadMore_(n,a){for(;!a.reading&&!a.ended&&(a.length<a.highWaterMark||a.flowing&&a.length===0);){var S=a.length;if(W(`maybeReadMore read 0`),n.read(0),S===a.length)break}a.readingMore=!1}Readable.prototype._read=function(n){se(this,new re(`_read()`))},Readable.prototype.pipe=function(n,a){var S=this,N=this._readableState;switch(N.pipesCount){case 0:N.pipes=n;break;case 1:N.pipes=[N.pipes,n];break;default:N.pipes.push(n);break}N.pipesCount+=1,W(`pipe count=%d opts=%j`,N.pipesCount,a);var F=(!a||a.end!==!1)&&n!==process.stdout&&n!==process.stderr?onend:unpipe;N.endEmitted?process.nextTick(F):S.once(`end`,F),n.on(`unpipe`,onunpipe);function onunpipe(n,a){W(`onunpipe`),n===S&&a&&a.hasUnpiped===!1&&(a.hasUnpiped=!0,cleanup())}function onend(){W(`onend`),n.end()}var I=pipeOnDrain(S);n.on(`drain`,I);var H=!1;function cleanup(){W(`cleanup`),n.removeListener(`close`,onclose),n.removeListener(`finish`,onfinish),n.removeListener(`drain`,I),n.removeListener(`error`,onerror),n.removeListener(`unpipe`,onunpipe),S.removeListener(`end`,onend),S.removeListener(`end`,unpipe),S.removeListener(`data`,ondata),H=!0,N.awaitDrain&&(!n._writableState||n._writableState.needDrain)&&I()}S.on(`data`,ondata);function ondata(a){W(`ondata`);var C=n.write(a);W(`dest.write`,C),C===!1&&((N.pipesCount===1&&N.pipes===n||N.pipesCount>1&&indexOf(N.pipes,n)!==-1)&&!H&&(W(`false write response, pause`,N.awaitDrain),N.awaitDrain++),S.pause())}function onerror(a){W(`onerror`,a),unpipe(),n.removeListener(`error`,onerror),C(n,`error`)===0&&se(n,a)}prependListener(n,`error`,onerror);function onclose(){n.removeListener(`finish`,onfinish),unpipe()}n.once(`close`,onclose);function onfinish(){W(`onfinish`),n.removeListener(`close`,onclose),unpipe()}n.once(`finish`,onfinish);function unpipe(){W(`unpipe`),S.unpipe(n)}return n.emit(`pipe`,S),N.flowing||(W(`pipe resume`),S.resume()),n};function pipeOnDrain(n){return function pipeOnDrainFunctionResult(){var a=n._readableState;W(`pipeOnDrain`,a.awaitDrain),a.awaitDrain&&a.awaitDrain--,a.awaitDrain===0&&C(n,`data`)&&(a.flowing=!0,flow(n))}}Readable.prototype.unpipe=function(n){var a=this._readableState,S={hasUnpiped:!1};if(a.pipesCount===0)return this;if(a.pipesCount===1)return n&&n!==a.pipes?this:(n||=a.pipes,a.pipes=null,a.pipesCount=0,a.flowing=!1,n&&n.emit(`unpipe`,this,S),this);if(!n){var C=a.pipes,N=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var F=0;F<N;F++)C[F].emit(`unpipe`,this,{hasUnpiped:!1});return this}var I=indexOf(a.pipes,n);return I===-1?this:(a.pipes.splice(I,1),--a.pipesCount,a.pipesCount===1&&(a.pipes=a.pipes[0]),n.emit(`unpipe`,this,S),this)},Readable.prototype.on=function(n,a){var S=N.prototype.on.call(this,n,a),C=this._readableState;return n===`data`?(C.readableListening=this.listenerCount(`readable`)>0,C.flowing!==!1&&this.resume()):n===`readable`&&!C.endEmitted&&!C.readableListening&&(C.readableListening=C.needReadable=!0,C.flowing=!1,C.emittedReadable=!1,W(`on readable`,C.length,C.reading),C.length?emitReadable(this):C.reading||process.nextTick(nReadingNextTick,this)),S},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(n,a){var S=N.prototype.removeListener.call(this,n,a);return n===`readable`&&process.nextTick(updateReadableListening,this),S},Readable.prototype.removeAllListeners=function(n){var a=N.prototype.removeAllListeners.apply(this,arguments);return(n===`readable`||n===void 0)&&process.nextTick(updateReadableListening,this),a};function updateReadableListening(n){var a=n._readableState;a.readableListening=n.listenerCount(`readable`)>0,a.resumeScheduled&&!a.paused?a.flowing=!0:n.listenerCount(`data`)>0&&n.resume()}function nReadingNextTick(n){W(`readable nexttick read 0`),n.read(0)}Readable.prototype.resume=function(){var n=this._readableState;return n.flowing||(W(`resume`),n.flowing=!n.readableListening,resume(this,n)),n.paused=!1,this};function resume(n,a){a.resumeScheduled||(a.resumeScheduled=!0,process.nextTick(resume_,n,a))}function resume_(n,a){W(`resume`,a.reading),a.reading||n.read(0),a.resumeScheduled=!1,n.emit(`resume`),flow(n),a.flowing&&!a.reading&&n.read(0)}Readable.prototype.pause=function(){return W(`call pause flowing=%j`,this._readableState.flowing),this._readableState.flowing!==!1&&(W(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this._readableState.paused=!0,this};function flow(n){var a=n._readableState;for(W(`flow`,a.flowing);a.flowing&&n.read()!==null;);}Readable.prototype.wrap=function(n){var a=this,S=this._readableState,C=!1;for(var N in n.on(`end`,function(){if(W(`wrapped end`),S.decoder&&!S.ended){var n=S.decoder.end();n&&n.length&&a.push(n)}a.push(null)}),n.on(`data`,function(N){W(`wrapped data`),S.decoder&&(N=S.decoder.write(N)),!(S.objectMode&&N==null)&&(!S.objectMode&&(!N||!N.length)||a.push(N)||(C=!0,n.pause()))}),n)this[N]===void 0&&typeof n[N]==`function`&&(this[N]=function methodWrap(a){return function methodWrapReturnFunction(){return n[a].apply(n,arguments)}}(N));for(var F=0;F<ce.length;F++)n.on(ce[F],this.emit.bind(this,ce[F]));return this._read=function(a){W(`wrapped _read`,a),C&&(C=!1,n.resume())},this},typeof Symbol==`function`&&(Readable.prototype[Symbol.asyncIterator]=function(){return oe===void 0&&(oe=BO()),oe(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function get(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function get(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function get(){return this._readableState.flowing},set:function set(n){this._readableState&&(this._readableState.flowing=n)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function get(){return this._readableState.length}});function fromList(n,a){if(a.length===0)return null;var S;return a.objectMode?S=a.buffer.shift():!n||n>=a.length?(S=a.decoder?a.buffer.join(``):a.buffer.length===1?a.buffer.first():a.buffer.concat(a.length),a.buffer.clear()):S=a.buffer.consume(n,a.decoder),S}function endReadable(n){var a=n._readableState;W(`endReadable`,a.endEmitted),a.endEmitted||(a.ended=!0,process.nextTick(endReadableNT,a,n))}function endReadableNT(n,a){if(W(`endReadableNT`,n.endEmitted,n.length),!n.endEmitted&&n.length===0&&(n.endEmitted=!0,a.readable=!1,a.emit(`end`),n.autoDestroy)){var S=a._writableState;(!S||S.autoDestroy&&S.finished)&&a.destroy()}}typeof Symbol==`function`&&(Readable.from=function(n,a){return Z===void 0&&(Z=VO()),Z(Readable,n,a)});function indexOf(n,a){for(var S=0,C=n.length;S<C;S++)if(n[S]===a)return S;return-1}})),UO=__commonJSMin$1(((n,a)=>{a.exports=Transform;var S=MO().codes,C=S.ERR_METHOD_NOT_IMPLEMENTED,N=S.ERR_MULTIPLE_CALLBACK,F=S.ERR_TRANSFORM_ALREADY_TRANSFORMING,I=S.ERR_TRANSFORM_WITH_LENGTH_0,H=IO();OO()(Transform,H);function afterTransform(n,a){var S=this._transformState;S.transforming=!1;var C=S.writecb;if(C===null)return this.emit(`error`,new N);S.writechunk=null,S.writecb=null,a!=null&&this.push(a),C(n);var F=this._readableState;F.reading=!1,(F.needReadable||F.length<F.highWaterMark)&&this._read(F.highWaterMark)}function Transform(n){if(!(this instanceof Transform))return new Transform(n);H.call(this,n),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,n&&(typeof n.transform==`function`&&(this._transform=n.transform),typeof n.flush==`function`&&(this._flush=n.flush)),this.on(`prefinish`,prefinish)}function prefinish(){var n=this;typeof this._flush==`function`&&!this._readableState.destroyed?this._flush(function(a,S){done(n,a,S)}):done(this,null,null)}Transform.prototype.push=function(n,a){return this._transformState.needTransform=!1,H.prototype.push.call(this,n,a)},Transform.prototype._transform=function(n,a,S){S(new C(`_transform()`))},Transform.prototype._write=function(n,a,S){var C=this._transformState;if(C.writecb=S,C.writechunk=n,C.writeencoding=a,!C.transforming){var N=this._readableState;(C.needTransform||N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}},Transform.prototype._read=function(n){var a=this._transformState;a.writechunk!==null&&!a.transforming?(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform)):a.needTransform=!0},Transform.prototype._destroy=function(n,a){H.prototype._destroy.call(this,n,function(n){a(n)})};function done(n,a,S){if(a)return n.emit(`error`,a);if(S!=null&&n.push(S),n._writableState.length)throw new I;if(n._transformState.transforming)throw new F;return n.push(null)}})),WO=__commonJSMin$1(((n,a)=>{a.exports=PassThrough;var S=UO();OO()(PassThrough,S);function PassThrough(n){if(!(this instanceof PassThrough))return new PassThrough(n);S.call(this,n)}PassThrough.prototype._transform=function(n,a,S){S(null,n)}})),GO=__commonJSMin$1(((n,a)=>{var S;function once(n){var a=!1;return function(){a||(a=!0,n.apply(void 0,arguments))}}var C=MO().codes,N=C.ERR_MISSING_ARGS,F=C.ERR_STREAM_DESTROYED;function noop(n){if(n)throw n}function isRequest(n){return n.setHeader&&typeof n.abort==`function`}function destroyer(n,a,C,N){N=once(N);var I=!1;n.on(`close`,function(){I=!0}),S===void 0&&(S=zO()),S(n,{readable:a,writable:C},function(n){if(n)return N(n);I=!0,N()});var H=!1;return function(a){if(!I&&!H){if(H=!0,isRequest(n))return n.abort();if(typeof n.destroy==`function`)return n.destroy();N(a||new F(`pipe`))}}}function call(n){n()}function pipe(n,a){return n.pipe(a)}function popCallback(n){return!n.length||typeof n[n.length-1]!=`function`?noop:n.pop()}function pipeline(){var n=[...arguments],a=popCallback(n);if(Array.isArray(n[0])&&(n=n[0]),n.length<2)throw new N(`streams`);var S,C=n.map(function(N,F){var I=F<n.length-1;return destroyer(N,I,F>0,function(n){S||=n,n&&C.forEach(call),!I&&(C.forEach(call),a(S))})});return n.reduce(pipe)}a.exports=pipeline})),KO=__commonJSMin$1(((n,a)=>{var S=F_();S?(a.exports=S.Readable,Object.assign(a.exports,S),a.exports.Stream=S):(n=a.exports=HO(),n.Stream=S||n,n.Readable=n,n.Writable=FO(),n.Duplex=IO(),n.Transform=UO(),n.PassThrough=WO(),n.finished=zO(),n.pipeline=GO())})),qO=__commonJSMin$1(((n,a)=>{a.exports=shift;function shift(n){var a=n._readableState;return a?a.objectMode||typeof n._duplexState==`number`?n.read():n.read(getStateLength(a)):null}function getStateLength(n){if(n.buffer.length){var a=n.bufferIndex||0;if(n.buffer.head)return n.buffer.head.data.length;if(n.buffer.length-a>0&&n.buffer[a])return n.buffer[a].length}return n.length}})),JO=__commonJSMin$1(((n,a)=>{var S=KO(),C=EO(),N=OO(),F=qO(),I=Buffer.from&&Buffer.from!==Uint8Array.from?Buffer.from([0]):new Buffer([0]),onuncork=function(n,a){n._corked?n.once(`uncork`,a):a()},autoDestroy=function(n,a){n._autoDestroy&&n.destroy(a)},destroyer=function(n,a){return function(S){S?autoDestroy(n,S.message===`premature close`?null:S):a&&!n._ended&&n.end()}},end=function(n,a){if(!n||n._writableState&&n._writableState.finished)return a();if(n._writableState)return n.end(a);n.end(),a()},noop=function(){},toStreams2=function(n){return new S.Readable({objectMode:!0,highWaterMark:16}).wrap(n)},Duplexify=function(n,a,C){if(!(this instanceof Duplexify))return new Duplexify(n,a,C);S.Duplex.call(this,C),this._writable=null,this._readable=null,this._readable2=null,this._autoDestroy=!C||C.autoDestroy!==!1,this._forwardDestroy=!C||C.destroy!==!1,this._forwardEnd=!C||C.end!==!1,this._corked=1,this._ondrain=null,this._drained=!1,this._forwarding=!1,this._unwrite=null,this._unread=null,this._ended=!1,this.destroyed=!1,n&&this.setWritable(n),a&&this.setReadable(a)};N(Duplexify,S.Duplex),Duplexify.obj=function(n,a,S){return S||={},S.objectMode=!0,S.highWaterMark=16,new Duplexify(n,a,S)},Duplexify.prototype.cork=function(){++this._corked===1&&this.emit(`cork`)},Duplexify.prototype.uncork=function(){this._corked&&--this._corked===0&&this.emit(`uncork`)},Duplexify.prototype.setWritable=function(n){if(this._unwrite&&this._unwrite(),this.destroyed){n&&n.destroy&&n.destroy();return}if(n===null||n===!1){this.end();return}var a=this,S=C(n,{writable:!0,readable:!1},destroyer(this,this._forwardEnd)),ondrain=function(){var n=a._ondrain;a._ondrain=null,n&&n()},clear=function(){a._writable.removeListener(`drain`,ondrain),S()};this._unwrite&&process.nextTick(ondrain),this._writable=n,this._writable.on(`drain`,ondrain),this._unwrite=clear,this.uncork()},Duplexify.prototype.setReadable=function(n){if(this._unread&&this._unread(),this.destroyed){n&&n.destroy&&n.destroy();return}if(n===null||n===!1){this.push(null),this.resume();return}var a=this,S=C(n,{writable:!1,readable:!0},destroyer(this)),onreadable=function(){a._forward()},onend=function(){a.push(null)},clear=function(){a._readable2.removeListener(`readable`,onreadable),a._readable2.removeListener(`end`,onend),S()};this._drained=!0,this._readable=n,this._readable2=n._readableState?n:toStreams2(n),this._readable2.on(`readable`,onreadable),this._readable2.on(`end`,onend),this._unread=clear,this._forward()},Duplexify.prototype._read=function(){this._drained=!0,this._forward()},Duplexify.prototype._forward=function(){if(!(this._forwarding||!this._readable2||!this._drained)){this._forwarding=!0;for(var n;this._drained&&(n=F(this._readable2))!==null;)this.destroyed||(this._drained=this.push(n));this._forwarding=!1}},Duplexify.prototype.destroy=function(n,a){if(a||=noop,this.destroyed)return a(null);this.destroyed=!0;var S=this;process.nextTick(function(){S._destroy(n),a(null)})},Duplexify.prototype._destroy=function(n){if(n){var a=this._ondrain;this._ondrain=null,a?a(n):this.emit(`error`,n)}this._forwardDestroy&&(this._readable&&this._readable.destroy&&this._readable.destroy(),this._writable&&this._writable.destroy&&this._writable.destroy()),this.emit(`close`)},Duplexify.prototype._write=function(n,a,S){if(!this.destroyed){if(this._corked)return onuncork(this,this._write.bind(this,n,a,S));if(n===I)return this._finish(S);if(!this._writable)return S();this._writable.write(n)===!1?this._ondrain=S:this.destroyed||S()}},Duplexify.prototype._finish=function(n){var a=this;this.emit(`preend`),onuncork(this,function(){end(a._forwardEnd&&a._writable,function(){a._writableState.prefinished===!1&&(a._writableState.prefinished=!0),a.emit(`prefinish`),onuncork(a,n)})})},Duplexify.prototype.end=function(n,a,C){return typeof n==`function`?this.end(null,null,n):typeof a==`function`?this.end(n,null,a):(this._ended=!0,n&&this.write(n),!this._writableState.ending&&!this._writableState.destroyed&&this.write(I),S.Writable.prototype.end.call(this,C))},a.exports=Duplexify})),YO=__commonJSMin$1(((n,a)=>{var S=DO(),C=OO(),N=JO(),toArray=function(n){return n.length?Array.isArray(n[0])?n[0]:Array.prototype.slice.call(n):[]},define=function(n){var Pumpify=function(){var a=toArray(arguments);if(!(this instanceof Pumpify))return new Pumpify(a);N.call(this,null,null,n),a.length&&this.setPipeline(a)};return C(Pumpify,N),Pumpify.prototype.setPipeline=function(){var n=toArray(arguments),a=this,C=!1,N=n[0],F=n[n.length-1];F=F.readable?F:null,N=N.writable?N:null;var onclose=function(){n[0].emit(`error`,Error(`stream was destroyed`))};if(this.on(`close`,onclose),this.on(`prefinish`,function(){C||a.cork()}),S(n,function(n){if(a.removeListener(`close`,onclose),n)return a.destroy(n.message===`premature close`?null:n);C=!0,a._autoDestroy===!1&&(a._autoDestroy=!0),a.uncork()}),this.destroyed)return onclose();this.setWritable(N),this.setReadable(F)},Pumpify};a.exports=define({autoDestroy:!1,destroy:!1}),a.exports.obj=define({autoDestroy:!1,destroy:!1,objectMode:!0,highWaterMark:16}),a.exports.ctor=define})),XO=__commonJSMin$1(((n,a)=>{var S=/[|\\{}()[\]^$+*?.]/g;a.exports=function(n){if(typeof n!=`string`)throw TypeError(`Expected a string`);return n.replace(S,`\\$&`)}})),ZO=__commonJSMin$1(((n,a)=>{
727
727
  /*
728
728
  object-assign
729
729
  (c) Sindre Sorhus
730
730
  @license MIT
731
731
  */
732
- var S=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;function toObject(n){if(n==null)throw TypeError(`Object.assign cannot be called with null or undefined`);return Object(n)}function shouldUseNative(){try{if(!Object.assign)return!1;var n=new String(`abc`);if(n[5]=`de`,Object.getOwnPropertyNames(n)[0]===`5`)return!1;for(var a={},S=0;S<10;S++)a[`_`+String.fromCharCode(S)]=S;if(Object.getOwnPropertyNames(a).map(function(n){return a[n]}).join(``)!==`0123456789`)return!1;var C={};return`abcdefghijklmnopqrst`.split(``).forEach(function(n){C[n]=n}),Object.keys(Object.assign({},C)).join(``)===`abcdefghijklmnopqrst`}catch{return!1}}a.exports=shouldUseNative()?Object.assign:function(n,a){for(var F,I=toObject(n),H,W=1;W<arguments.length;W++){for(var K in F=Object(arguments[W]),F)C.call(F,K)&&(I[K]=F[K]);if(S){H=S(F);for(var q=0;q<H.length;q++)N.call(F,H[q])&&(I[H[q]]=F[H[q]])}}return I}})),ZO=__commonJSMin$1(((n,a)=>{typeof process>`u`||!process.version||process.version.indexOf(`v0.`)===0||process.version.indexOf(`v1.`)===0&&process.version.indexOf(`v1.8.`)!==0?a.exports={nextTick}:a.exports=process;function nextTick(n,a,S,C){if(typeof n!=`function`)throw TypeError(`"callback" argument must be a function`);var N=arguments.length,F,I;switch(N){case 0:case 1:return process.nextTick(n);case 2:return process.nextTick(function afterTickOne(){n.call(null,a)});case 3:return process.nextTick(function afterTickTwo(){n.call(null,a,S)});case 4:return process.nextTick(function afterTickThree(){n.call(null,a,S,C)});default:for(F=Array(N-1),I=0;I<F.length;)F[I++]=arguments[I];return process.nextTick(function afterTick(){n.apply(null,F)})}}})),QO=__commonJSMin$1(((n,a)=>{var S={}.toString;a.exports=Array.isArray||function(n){return S.call(n)==`[object Array]`}})),$O=__commonJSMin$1(((n,a)=>{a.exports=F_()})),ek=__commonJSMin$1(((n,a)=>{var S=(vt(),__toCommonJS(mt)),C=S.Buffer;function copyProps(n,a){for(var S in n)a[S]=n[S]}C.from&&C.alloc&&C.allocUnsafe&&C.allocUnsafeSlow?a.exports=S:(copyProps(S,n),n.Buffer=SafeBuffer);function SafeBuffer(n,a,S){return C(n,a,S)}copyProps(C,SafeBuffer),SafeBuffer.from=function(n,a,S){if(typeof n==`number`)throw TypeError(`Argument must not be a number`);return C(n,a,S)},SafeBuffer.alloc=function(n,a,S){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);var N=C(n);return a===void 0?N.fill(0):typeof S==`string`?N.fill(a,S):N.fill(a),N},SafeBuffer.allocUnsafe=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return C(n)},SafeBuffer.allocUnsafeSlow=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return S.SlowBuffer(n)}})),tk=__commonJSMin$1((n=>{function isArray(n){return Array.isArray?Array.isArray(n):objectToString(n)===`[object Array]`}n.isArray=isArray;function isBoolean(n){return typeof n==`boolean`}n.isBoolean=isBoolean;function isNull(n){return n===null}n.isNull=isNull;function isNullOrUndefined(n){return n==null}n.isNullOrUndefined=isNullOrUndefined;function isNumber(n){return typeof n==`number`}n.isNumber=isNumber;function isString(n){return typeof n==`string`}n.isString=isString;function isSymbol(n){return typeof n==`symbol`}n.isSymbol=isSymbol;function isUndefined(n){return n===void 0}n.isUndefined=isUndefined;function isRegExp(n){return objectToString(n)===`[object RegExp]`}n.isRegExp=isRegExp;function isObject(n){return typeof n==`object`&&!!n}n.isObject=isObject;function isDate(n){return objectToString(n)===`[object Date]`}n.isDate=isDate;function isError(n){return objectToString(n)===`[object Error]`||n instanceof Error}n.isError=isError;function isFunction(n){return typeof n==`function`}n.isFunction=isFunction;function isPrimitive(n){return n===null||typeof n==`boolean`||typeof n==`number`||typeof n==`string`||typeof n==`symbol`||n===void 0}n.isPrimitive=isPrimitive,n.isBuffer=(vt(),__toCommonJS(mt)).Buffer.isBuffer;function objectToString(n){return Object.prototype.toString.call(n)}})),nk=__commonJSMin$1(((n,a)=>{function _classCallCheck(n,a){if(!(n instanceof a))throw TypeError(`Cannot call a class as a function`)}var S=ek().Buffer,C=(tc(),__toCommonJS(Zs));function copyBuffer(n,a,S){n.copy(a,S)}a.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0}return BufferList.prototype.push=function push(n){var a={data:n,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length},BufferList.prototype.unshift=function unshift(n){var a={data:n,next:this.head};this.length===0&&(this.tail=a),this.head=a,++this.length},BufferList.prototype.shift=function shift(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}},BufferList.prototype.clear=function clear(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function join(n){if(this.length===0)return``;for(var a=this.head,S=``+a.data;a=a.next;)S+=n+a.data;return S},BufferList.prototype.concat=function concat(n){if(this.length===0)return S.alloc(0);for(var a=S.allocUnsafe(n>>>0),C=this.head,N=0;C;)copyBuffer(C.data,a,N),N+=C.data.length,C=C.next;return a},BufferList}(),C&&C.inspect&&C.inspect.custom&&(a.exports.prototype[C.inspect.custom]=function(){var n=C.inspect({length:this.length});return this.constructor.name+` `+n})})),rk=__commonJSMin$1(((n,a)=>{var S=ZO();function destroy(n,a){var C=this,N=this._readableState&&this._readableState.destroyed,F=this._writableState&&this._writableState.destroyed;return N||F?(a?a(n):n&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,S.nextTick(emitErrorNT,this,n)):S.nextTick(emitErrorNT,this,n)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(n||null,function(n){!a&&n?C._writableState?C._writableState.errorEmitted||(C._writableState.errorEmitted=!0,S.nextTick(emitErrorNT,C,n)):S.nextTick(emitErrorNT,C,n):a&&a(n)}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(n,a){n.emit(`error`,a)}a.exports={destroy,undestroy}})),ik=__commonJSMin$1(((n,a)=>{var S=ZO();a.exports=Writable;function CorkedRequest(n){var a=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(a,n)}}var C=!process.browser&&[`v0.10`,`v0.9.`].indexOf(process.version.slice(0,5))>-1?setImmediate:S.nextTick,N;Writable.WritableState=WritableState;var F=Object.create(tk());F.inherits=DO();var I={deprecate:NO()},H=$O(),W=ek().Buffer,K=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return W.from(n)}function _isUint8Array(n){return W.isBuffer(n)||n instanceof K}var q=rk();F.inherits(Writable,H);function nop(){}function WritableState(n,a){N||=ak(),n||={};var S=a instanceof N;this.objectMode=!!n.objectMode,S&&(this.objectMode=this.objectMode||!!n.writableObjectMode);var C=n.highWaterMark,F=n.writableHighWaterMark,I=this.objectMode?16:16*1024;C||C===0?this.highWaterMark=C:S&&(F||F===0)?this.highWaterMark=F:this.highWaterMark=I,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var H=n.decodeStrings===!1;this.decodeStrings=!H,this.defaultEncoding=n.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){onwrite(a,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){for(var n=this.bufferedRequest,a=[];n;)a.push(n),n=n.next;return a},(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:I.deprecate(function(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var realHasInstance;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(n){return realHasInstance.call(this,n)?!0:this===Writable?n&&n._writableState instanceof WritableState:!1}})):realHasInstance=function(n){return n instanceof this};function Writable(n){if(N||=ak(),!realHasInstance.call(Writable,this)&&!(this instanceof N))return new Writable(n);this._writableState=new WritableState(n,this),this.writable=!0,n&&(typeof n.write==`function`&&(this._write=n.write),typeof n.writev==`function`&&(this._writev=n.writev),typeof n.destroy==`function`&&(this._destroy=n.destroy),typeof n.final==`function`&&(this._final=n.final)),H.call(this)}Writable.prototype.pipe=function(){this.emit(`error`,Error(`Cannot pipe, not readable`))};function writeAfterEnd(n,a){var C=Error(`write after end`);n.emit(`error`,C),S.nextTick(a,C)}function validChunk(n,a,C,N){var F=!0,I=!1;return C===null?I=TypeError(`May not write null values to stream`):typeof C!=`string`&&C!==void 0&&!a.objectMode&&(I=TypeError(`Invalid non-string/buffer chunk`)),I&&(n.emit(`error`,I),S.nextTick(N,I),F=!1),F}Writable.prototype.write=function(n,a,S){var C=this._writableState,N=!1,F=!C.objectMode&&_isUint8Array(n);return F&&!W.isBuffer(n)&&(n=_uint8ArrayToBuffer(n)),typeof a==`function`&&(S=a,a=null),F?a=`buffer`:a||=C.defaultEncoding,typeof S!=`function`&&(S=nop),C.ended?writeAfterEnd(this,S):(F||validChunk(this,C,n,S))&&(C.pendingcb++,N=writeOrBuffer(this,C,F,n,a,S)),N},Writable.prototype.cork=function(){var n=this._writableState;n.corked++},Writable.prototype.uncork=function(){var n=this._writableState;n.corked&&(n.corked--,!n.writing&&!n.corked&&!n.bufferProcessing&&n.bufferedRequest&&clearBuffer(this,n))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(n){if(typeof n==`string`&&(n=n.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((n+``).toLowerCase())>-1))throw TypeError(`Unknown encoding: `+n);return this._writableState.defaultEncoding=n,this};function decodeChunk(n,a,S){return!n.objectMode&&n.decodeStrings!==!1&&typeof a==`string`&&(a=W.from(a,S)),a}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(n,a,S,C,N,F){if(!S){var I=decodeChunk(a,C,N);C!==I&&(S=!0,N=`buffer`,C=I)}var H=a.objectMode?1:C.length;a.length+=H;var W=a.length<a.highWaterMark;if(W||(a.needDrain=!0),a.writing||a.corked){var K=a.lastBufferedRequest;a.lastBufferedRequest={chunk:C,encoding:N,isBuf:S,callback:F,next:null},K?K.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else doWrite(n,a,!1,H,C,N,F);return W}function doWrite(n,a,S,C,N,F,I){a.writelen=C,a.writecb=I,a.writing=!0,a.sync=!0,S?n._writev(N,a.onwrite):n._write(N,F,a.onwrite),a.sync=!1}function onwriteError(n,a,C,N,F){--a.pendingcb,C?(S.nextTick(F,N),S.nextTick(finishMaybe,n,a),n._writableState.errorEmitted=!0,n.emit(`error`,N)):(F(N),n._writableState.errorEmitted=!0,n.emit(`error`,N),finishMaybe(n,a))}function onwriteStateUpdate(n){n.writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0}function onwrite(n,a){var S=n._writableState,N=S.sync,F=S.writecb;if(onwriteStateUpdate(S),a)onwriteError(n,S,N,a,F);else{var I=needFinish(S);!I&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest&&clearBuffer(n,S),N?C(afterWrite,n,S,I,F):afterWrite(n,S,I,F)}}function afterWrite(n,a,S,C){S||onwriteDrain(n,a),a.pendingcb--,C(),finishMaybe(n,a)}function onwriteDrain(n,a){a.length===0&&a.needDrain&&(a.needDrain=!1,n.emit(`drain`))}function clearBuffer(n,a){a.bufferProcessing=!0;var S=a.bufferedRequest;if(n._writev&&S&&S.next){var C=a.bufferedRequestCount,N=Array(C),F=a.corkedRequestsFree;F.entry=S;for(var I=0,H=!0;S;)N[I]=S,S.isBuf||(H=!1),S=S.next,I+=1;N.allBuffers=H,doWrite(n,a,!0,a.length,N,``,F.finish),a.pendingcb++,a.lastBufferedRequest=null,F.next?(a.corkedRequestsFree=F.next,F.next=null):a.corkedRequestsFree=new CorkedRequest(a),a.bufferedRequestCount=0}else{for(;S;){var W=S.chunk,K=S.encoding,q=S.callback;if(doWrite(n,a,!1,a.objectMode?1:W.length,W,K,q),S=S.next,a.bufferedRequestCount--,a.writing)break}S===null&&(a.lastBufferedRequest=null)}a.bufferedRequest=S,a.bufferProcessing=!1}Writable.prototype._write=function(n,a,S){S(Error(`_write() is not implemented`))},Writable.prototype._writev=null,Writable.prototype.end=function(n,a,S){var C=this._writableState;typeof n==`function`?(S=n,n=null,a=null):typeof a==`function`&&(S=a,a=null),n!=null&&this.write(n,a),C.corked&&(C.corked=1,this.uncork()),C.ending||endWritable(this,C,S)};function needFinish(n){return n.ending&&n.length===0&&n.bufferedRequest===null&&!n.finished&&!n.writing}function callFinal(n,a){n._final(function(S){a.pendingcb--,S&&n.emit(`error`,S),a.prefinished=!0,n.emit(`prefinish`),finishMaybe(n,a)})}function prefinish(n,a){!a.prefinished&&!a.finalCalled&&(typeof n._final==`function`?(a.pendingcb++,a.finalCalled=!0,S.nextTick(callFinal,n,a)):(a.prefinished=!0,n.emit(`prefinish`)))}function finishMaybe(n,a){var S=needFinish(a);return S&&(prefinish(n,a),a.pendingcb===0&&(a.finished=!0,n.emit(`finish`))),S}function endWritable(n,a,C){a.ending=!0,finishMaybe(n,a),C&&(a.finished?S.nextTick(C):n.once(`finish`,C)),a.ended=!0,n.writable=!1}function onCorkedFinish(n,a,S){var C=n.entry;for(n.entry=null;C;){var N=C.callback;a.pendingcb--,N(S),C=C.next}a.corkedRequestsFree.next=n}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(n){this._writableState&&(this._writableState.destroyed=n)}}),Writable.prototype.destroy=q.destroy,Writable.prototype._undestroy=q.undestroy,Writable.prototype._destroy=function(n,a){this.end(),a(n)}})),ak=__commonJSMin$1(((n,a)=>{var S=ZO(),C=Object.keys||function(n){var a=[];for(var S in n)a.push(S);return a};a.exports=Duplex;var N=Object.create(tk());N.inherits=DO();var F=ck(),I=ik();N.inherits(Duplex,F);for(var H=C(I.prototype),W=0;W<H.length;W++){var K=H[W];Duplex.prototype[K]||(Duplex.prototype[K]=I.prototype[K])}function Duplex(n){if(!(this instanceof Duplex))return new Duplex(n);F.call(this,n),I.call(this,n),n&&n.readable===!1&&(this.readable=!1),n&&n.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,n&&n.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once(`end`,onend)}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function onend(){this.allowHalfOpen||this._writableState.ended||S.nextTick(onEndNT,this)}function onEndNT(n){n.end()}Object.defineProperty(Duplex.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(n){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=n,this._writableState.destroyed=n)}}),Duplex.prototype._destroy=function(n,a){this.push(null),this.end(),S.nextTick(a,n)}})),sk=__commonJSMin$1((n=>{var a=ek().Buffer,S=a.isEncoding||function(n){switch(n=``+n,n&&n.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function _normalizeEncoding(n){if(!n)return`utf8`;for(var a;;)switch(n){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return n;default:if(a)return;n=(``+n).toLowerCase(),a=!0}}function normalizeEncoding(n){var C=_normalizeEncoding(n);if(typeof C!=`string`&&(a.isEncoding===S||!S(n)))throw Error(`Unknown encoding: `+n);return C||n}n.StringDecoder=StringDecoder;function StringDecoder(n){this.encoding=normalizeEncoding(n);var S;switch(this.encoding){case`utf16le`:this.text=utf16Text,this.end=utf16End,S=4;break;case`utf8`:this.fillLast=utf8FillLast,S=4;break;case`base64`:this.text=base64Text,this.end=base64End,S=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=a.allocUnsafe(S)}StringDecoder.prototype.write=function(n){if(n.length===0)return``;var a,S;if(this.lastNeed){if(a=this.fillLast(n),a===void 0)return``;S=this.lastNeed,this.lastNeed=0}else S=0;return S<n.length?a?a+this.text(n,S):this.text(n,S):a||``},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(n){if(this.lastNeed<=n.length)return n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,n.length),this.lastNeed-=n.length};function utf8CheckByte(n){return n<=127?0:n>>5==6?2:n>>4==14?3:n>>3==30?4:n>>6==2?-1:-2}function utf8CheckIncomplete(n,a,S){var C=a.length-1;if(C<S)return 0;var N=utf8CheckByte(a[C]);return N>=0?(N>0&&(n.lastNeed=N-1),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(n.lastNeed=N-2),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(N===2?N=0:n.lastNeed=N-3),N):0))}function utf8CheckExtraBytes(n,a,S){if((a[0]&192)!=128)return n.lastNeed=0,`�`;if(n.lastNeed>1&&a.length>1){if((a[1]&192)!=128)return n.lastNeed=1,`�`;if(n.lastNeed>2&&a.length>2&&(a[2]&192)!=128)return n.lastNeed=2,`�`}}function utf8FillLast(n){var a=this.lastTotal-this.lastNeed,S=utf8CheckExtraBytes(this,n,a);if(S!==void 0)return S;if(this.lastNeed<=n.length)return n.copy(this.lastChar,a,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,a,0,n.length),this.lastNeed-=n.length}function utf8Text(n,a){var S=utf8CheckIncomplete(this,n,a);if(!this.lastNeed)return n.toString(`utf8`,a);this.lastTotal=S;var C=n.length-(S-this.lastNeed);return n.copy(this.lastChar,0,C),n.toString(`utf8`,a,C)}function utf8End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+`�`:a}function utf16Text(n,a){if((n.length-a)%2==0){var S=n.toString(`utf16le`,a);if(S){var C=S.charCodeAt(S.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1],S.slice(0,-1)}return S}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=n[n.length-1],n.toString(`utf16le`,a,n.length-1)}function utf16End(n){var a=n&&n.length?this.write(n):``;if(this.lastNeed){var S=this.lastTotal-this.lastNeed;return a+this.lastChar.toString(`utf16le`,0,S)}return a}function base64Text(n,a){var S=(n.length-a)%3;return S===0?n.toString(`base64`,a):(this.lastNeed=3-S,this.lastTotal=3,S===1?this.lastChar[0]=n[n.length-1]:(this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1]),n.toString(`base64`,a,n.length-S))}function base64End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+this.lastChar.toString(`base64`,0,3-this.lastNeed):a}function simpleWrite(n){return n.toString(this.encoding)}function simpleEnd(n){return n&&n.length?this.write(n):``}})),ck=__commonJSMin$1(((n,a)=>{var S=ZO();a.exports=Readable;var C=QO(),N;Readable.ReadableState=ReadableState,V_().EventEmitter;var EElistenerCount=function(n,a){return n.listeners(a).length},F=$O(),I=ek().Buffer,H=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return I.from(n)}function _isUint8Array(n){return I.isBuffer(n)||n instanceof H}var W=Object.create(tk());W.inherits=DO();var K=(tc(),__toCommonJS(Zs)),q=void 0;q=K&&K.debuglog?K.debuglog(`stream`):function(){};var Y=nk(),X=rk(),te;W.inherits(Readable,F);var ne=[`error`,`close`,`destroy`,`pause`,`resume`];function prependListener(n,a,S){if(typeof n.prependListener==`function`)return n.prependListener(a,S);!n._events||!n._events[a]?n.on(a,S):C(n._events[a])?n._events[a].unshift(S):n._events[a]=[S,n._events[a]]}function ReadableState(n,a){N||=ak(),n||={};var S=a instanceof N;this.objectMode=!!n.objectMode,S&&(this.objectMode=this.objectMode||!!n.readableObjectMode);var C=n.highWaterMark,F=n.readableHighWaterMark,I=this.objectMode?16:16*1024;C||C===0?this.highWaterMark=C:S&&(F||F===0)?this.highWaterMark=F:this.highWaterMark=I,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new Y,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=n.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,n.encoding&&(te||=sk().StringDecoder,this.decoder=new te(n.encoding),this.encoding=n.encoding)}function Readable(n){if(N||=ak(),!(this instanceof Readable))return new Readable(n);this._readableState=new ReadableState(n,this),this.readable=!0,n&&(typeof n.read==`function`&&(this._read=n.read),typeof n.destroy==`function`&&(this._destroy=n.destroy)),F.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(n){this._readableState&&(this._readableState.destroyed=n)}}),Readable.prototype.destroy=X.destroy,Readable.prototype._undestroy=X.undestroy,Readable.prototype._destroy=function(n,a){this.push(null),a(n)},Readable.prototype.push=function(n,a){var S=this._readableState,C;return S.objectMode?C=!0:typeof n==`string`&&(a||=S.defaultEncoding,a!==S.encoding&&(n=I.from(n,a),a=``),C=!0),readableAddChunk(this,n,a,!1,C)},Readable.prototype.unshift=function(n){return readableAddChunk(this,n,null,!0,!1)};function readableAddChunk(n,a,S,C,N){var F=n._readableState;if(a===null)F.reading=!1,onEofChunk(n,F);else{var H;N||(H=chunkInvalid(F,a)),H?n.emit(`error`,H):F.objectMode||a&&a.length>0?(typeof a!=`string`&&!F.objectMode&&Object.getPrototypeOf(a)!==I.prototype&&(a=_uint8ArrayToBuffer(a)),C?F.endEmitted?n.emit(`error`,Error(`stream.unshift() after end event`)):addChunk(n,F,a,!0):F.ended?n.emit(`error`,Error(`stream.push() after EOF`)):(F.reading=!1,F.decoder&&!S?(a=F.decoder.write(a),F.objectMode||a.length!==0?addChunk(n,F,a,!1):maybeReadMore(n,F)):addChunk(n,F,a,!1))):C||(F.reading=!1)}return needMoreData(F)}function addChunk(n,a,S,C){a.flowing&&a.length===0&&!a.sync?(n.emit(`data`,S),n.read(0)):(a.length+=a.objectMode?1:S.length,C?a.buffer.unshift(S):a.buffer.push(S),a.needReadable&&emitReadable(n)),maybeReadMore(n,a)}function chunkInvalid(n,a){var S;return!_isUint8Array(a)&&typeof a!=`string`&&a!==void 0&&!n.objectMode&&(S=TypeError(`Invalid non-string/buffer chunk`)),S}function needMoreData(n){return!n.ended&&(n.needReadable||n.length<n.highWaterMark||n.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(n){return te||=sk().StringDecoder,this._readableState.decoder=new te(n),this._readableState.encoding=n,this};var re=8388608;function computeNewHighWaterMark(n){return n>=re?n=re:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,a){return n<=0||a.length===0&&a.ended?0:a.objectMode?1:n===n?(n>a.highWaterMark&&(a.highWaterMark=computeNewHighWaterMark(n)),n<=a.length?n:a.ended?a.length:(a.needReadable=!0,0)):a.flowing&&a.length?a.buffer.head.data.length:a.length}Readable.prototype.read=function(n){q(`read`,n),n=parseInt(n,10);var a=this._readableState,S=n;if(n!==0&&(a.emittedReadable=!1),n===0&&a.needReadable&&(a.length>=a.highWaterMark||a.ended))return q(`read: emitReadable`,a.length,a.ended),a.length===0&&a.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,a),n===0&&a.ended)return a.length===0&&endReadable(this),null;var C=a.needReadable;q(`need readable`,C),(a.length===0||a.length-n<a.highWaterMark)&&(C=!0,q(`length less than watermark`,C)),a.ended||a.reading?(C=!1,q(`reading or ended`,C)):C&&(q(`do read`),a.reading=!0,a.sync=!0,a.length===0&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(n=howMuchToRead(S,a)));var N=n>0?fromList(n,a):null;return N===null?(a.needReadable=!0,n=0):a.length-=n,a.length===0&&(a.ended||(a.needReadable=!0),S!==n&&a.ended&&endReadable(this)),N!==null&&this.emit(`data`,N),N};function onEofChunk(n,a){if(!a.ended){if(a.decoder){var S=a.decoder.end();S&&S.length&&(a.buffer.push(S),a.length+=a.objectMode?1:S.length)}a.ended=!0,emitReadable(n)}}function emitReadable(n){var a=n._readableState;a.needReadable=!1,a.emittedReadable||(q(`emitReadable`,a.flowing),a.emittedReadable=!0,a.sync?S.nextTick(emitReadable_,n):emitReadable_(n))}function emitReadable_(n){q(`emit readable`),n.emit(`readable`),flow(n)}function maybeReadMore(n,a){a.readingMore||(a.readingMore=!0,S.nextTick(maybeReadMore_,n,a))}function maybeReadMore_(n,a){for(var S=a.length;!a.reading&&!a.flowing&&!a.ended&&a.length<a.highWaterMark&&(q(`maybeReadMore read 0`),n.read(0),S!==a.length);)S=a.length;a.readingMore=!1}Readable.prototype._read=function(n){this.emit(`error`,Error(`_read() is not implemented`))},Readable.prototype.pipe=function(n,a){var C=this,N=this._readableState;switch(N.pipesCount){case 0:N.pipes=n;break;case 1:N.pipes=[N.pipes,n];break;default:N.pipes.push(n);break}N.pipesCount+=1,q(`pipe count=%d opts=%j`,N.pipesCount,a);var F=(!a||a.end!==!1)&&n!==process.stdout&&n!==process.stderr?onend:unpipe;N.endEmitted?S.nextTick(F):C.once(`end`,F),n.on(`unpipe`,onunpipe);function onunpipe(n,a){q(`onunpipe`),n===C&&a&&a.hasUnpiped===!1&&(a.hasUnpiped=!0,cleanup())}function onend(){q(`onend`),n.end()}var I=pipeOnDrain(C);n.on(`drain`,I);var H=!1;function cleanup(){q(`cleanup`),n.removeListener(`close`,onclose),n.removeListener(`finish`,onfinish),n.removeListener(`drain`,I),n.removeListener(`error`,onerror),n.removeListener(`unpipe`,onunpipe),C.removeListener(`end`,onend),C.removeListener(`end`,unpipe),C.removeListener(`data`,ondata),H=!0,N.awaitDrain&&(!n._writableState||n._writableState.needDrain)&&I()}var W=!1;C.on(`data`,ondata);function ondata(a){q(`ondata`),W=!1,!1===n.write(a)&&!W&&((N.pipesCount===1&&N.pipes===n||N.pipesCount>1&&indexOf(N.pipes,n)!==-1)&&!H&&(q(`false write response, pause`,N.awaitDrain),N.awaitDrain++,W=!0),C.pause())}function onerror(a){q(`onerror`,a),unpipe(),n.removeListener(`error`,onerror),EElistenerCount(n,`error`)===0&&n.emit(`error`,a)}prependListener(n,`error`,onerror);function onclose(){n.removeListener(`finish`,onfinish),unpipe()}n.once(`close`,onclose);function onfinish(){q(`onfinish`),n.removeListener(`close`,onclose),unpipe()}n.once(`finish`,onfinish);function unpipe(){q(`unpipe`),C.unpipe(n)}return n.emit(`pipe`,C),N.flowing||(q(`pipe resume`),C.resume()),n};function pipeOnDrain(n){return function(){var a=n._readableState;q(`pipeOnDrain`,a.awaitDrain),a.awaitDrain&&a.awaitDrain--,a.awaitDrain===0&&EElistenerCount(n,`data`)&&(a.flowing=!0,flow(n))}}Readable.prototype.unpipe=function(n){var a=this._readableState,S={hasUnpiped:!1};if(a.pipesCount===0)return this;if(a.pipesCount===1)return n&&n!==a.pipes?this:(n||=a.pipes,a.pipes=null,a.pipesCount=0,a.flowing=!1,n&&n.emit(`unpipe`,this,S),this);if(!n){var C=a.pipes,N=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var F=0;F<N;F++)C[F].emit(`unpipe`,this,{hasUnpiped:!1});return this}var I=indexOf(a.pipes,n);return I===-1?this:(a.pipes.splice(I,1),--a.pipesCount,a.pipesCount===1&&(a.pipes=a.pipes[0]),n.emit(`unpipe`,this,S),this)},Readable.prototype.on=function(n,a){var C=F.prototype.on.call(this,n,a);if(n===`data`)this._readableState.flowing!==!1&&this.resume();else if(n===`readable`){var N=this._readableState;!N.endEmitted&&!N.readableListening&&(N.readableListening=N.needReadable=!0,N.emittedReadable=!1,N.reading?N.length&&emitReadable(this):S.nextTick(nReadingNextTick,this))}return C},Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(n){q(`readable nexttick read 0`),n.read(0)}Readable.prototype.resume=function(){var n=this._readableState;return n.flowing||(q(`resume`),n.flowing=!0,resume(this,n)),this};function resume(n,a){a.resumeScheduled||(a.resumeScheduled=!0,S.nextTick(resume_,n,a))}function resume_(n,a){a.reading||(q(`resume read 0`),n.read(0)),a.resumeScheduled=!1,a.awaitDrain=0,n.emit(`resume`),flow(n),a.flowing&&!a.reading&&n.read(0)}Readable.prototype.pause=function(){return q(`call pause flowing=%j`,this._readableState.flowing),!1!==this._readableState.flowing&&(q(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this};function flow(n){var a=n._readableState;for(q(`flow`,a.flowing);a.flowing&&n.read()!==null;);}Readable.prototype.wrap=function(n){var a=this,S=this._readableState,C=!1;for(var N in n.on(`end`,function(){if(q(`wrapped end`),S.decoder&&!S.ended){var n=S.decoder.end();n&&n.length&&a.push(n)}a.push(null)}),n.on(`data`,function(N){q(`wrapped data`),S.decoder&&(N=S.decoder.write(N)),!(S.objectMode&&N==null)&&(!S.objectMode&&(!N||!N.length)||a.push(N)||(C=!0,n.pause()))}),n)this[N]===void 0&&typeof n[N]==`function`&&(this[N]=function(a){return function(){return n[a].apply(n,arguments)}}(N));for(var F=0;F<ne.length;F++)n.on(ne[F],this.emit.bind(this,ne[F]));return this._read=function(a){q(`wrapped _read`,a),C&&(C=!1,n.resume())},this},Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Readable._fromList=fromList;function fromList(n,a){if(a.length===0)return null;var S;return a.objectMode?S=a.buffer.shift():!n||n>=a.length?(S=a.decoder?a.buffer.join(``):a.buffer.length===1?a.buffer.head.data:a.buffer.concat(a.length),a.buffer.clear()):S=fromListPartial(n,a.buffer,a.decoder),S}function fromListPartial(n,a,S){var C;return n<a.head.data.length?(C=a.head.data.slice(0,n),a.head.data=a.head.data.slice(n)):C=n===a.head.data.length?a.shift():S?copyFromBufferString(n,a):copyFromBuffer(n,a),C}function copyFromBufferString(n,a){var S=a.head,C=1,N=S.data;for(n-=N.length;S=S.next;){var F=S.data,I=n>F.length?F.length:n;if(I===F.length?N+=F:N+=F.slice(0,n),n-=I,n===0){I===F.length?(++C,S.next?a.head=S.next:a.head=a.tail=null):(a.head=S,S.data=F.slice(I));break}++C}return a.length-=C,N}function copyFromBuffer(n,a){var S=I.allocUnsafe(n),C=a.head,N=1;for(C.data.copy(S),n-=C.data.length;C=C.next;){var F=C.data,H=n>F.length?F.length:n;if(F.copy(S,S.length-n,0,H),n-=H,n===0){H===F.length?(++N,C.next?a.head=C.next:a.head=a.tail=null):(a.head=C,C.data=F.slice(H));break}++N}return a.length-=N,S}function endReadable(n){var a=n._readableState;if(a.length>0)throw Error(`"endReadable()" called on non-empty stream`);a.endEmitted||(a.ended=!0,S.nextTick(endReadableNT,a,n))}function endReadableNT(n,a){!n.endEmitted&&n.length===0&&(n.endEmitted=!0,a.readable=!1,a.emit(`end`))}function indexOf(n,a){for(var S=0,C=n.length;S<C;S++)if(n[S]===a)return S;return-1}})),lk=__commonJSMin$1(((n,a)=>{a.exports=Transform;var S=ak(),C=Object.create(tk());C.inherits=DO(),C.inherits(Transform,S);function afterTransform(n,a){var S=this._transformState;S.transforming=!1;var C=S.writecb;if(!C)return this.emit(`error`,Error(`write callback called multiple times`));S.writechunk=null,S.writecb=null,a!=null&&this.push(a),C(n);var N=this._readableState;N.reading=!1,(N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}function Transform(n){if(!(this instanceof Transform))return new Transform(n);S.call(this,n),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,n&&(typeof n.transform==`function`&&(this._transform=n.transform),typeof n.flush==`function`&&(this._flush=n.flush)),this.on(`prefinish`,prefinish)}function prefinish(){var n=this;typeof this._flush==`function`?this._flush(function(a,S){done(n,a,S)}):done(this,null,null)}Transform.prototype.push=function(n,a){return this._transformState.needTransform=!1,S.prototype.push.call(this,n,a)},Transform.prototype._transform=function(n,a,S){throw Error(`_transform() is not implemented`)},Transform.prototype._write=function(n,a,S){var C=this._transformState;if(C.writecb=S,C.writechunk=n,C.writeencoding=a,!C.transforming){var N=this._readableState;(C.needTransform||N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}},Transform.prototype._read=function(n){var a=this._transformState;a.writechunk!==null&&a.writecb&&!a.transforming?(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform)):a.needTransform=!0},Transform.prototype._destroy=function(n,a){var C=this;S.prototype._destroy.call(this,n,function(n){a(n),C.emit(`close`)})};function done(n,a,S){if(a)return n.emit(`error`,a);if(S!=null&&n.push(S),n._writableState.length)throw Error(`Calling transform done when ws.length != 0`);if(n._transformState.transforming)throw Error(`Calling transform done when still transforming`);return n.push(null)}})),uk=__commonJSMin$1(((n,a)=>{a.exports=PassThrough;var S=lk(),C=Object.create(tk());C.inherits=DO(),C.inherits(PassThrough,S);function PassThrough(n){if(!(this instanceof PassThrough))return new PassThrough(n);S.call(this,n)}PassThrough.prototype._transform=function(n,a,S){S(null,n)}})),dk=__commonJSMin$1(((n,a)=>{var S=F_();S?(a.exports=S,n=a.exports=S.Readable,n.Readable=S.Readable,n.Writable=S.Writable,n.Duplex=S.Duplex,n.Transform=S.Transform,n.PassThrough=S.PassThrough,n.Stream=S):(n=a.exports=ck(),n.Stream=S||n,n.Readable=n,n.Writable=ik(),n.Duplex=ak(),n.Transform=lk(),n.PassThrough=uk())})),fk=__commonJSMin$1(((n,a)=>{a.exports=dk().Transform})),pk=__commonJSMin$1(((n,a)=>{var S=YO(),C=XO(),N=fk();a.exports=function ReplaceStream(n,a,S){var F=``,I=0,H=n instanceof RegExp;S=C({limit:1/0,encoding:`utf8`,maxMatchLen:100},S);var W=a;W=createReplaceFn(a,H);var K;H?K=matchFromRegex(n,S):(K=matchFromString(n,S),S.maxMatchLen=n.length);function transform(n,a,C){var N,H=0,W=0,q=``,Y=F+n.toString(S.encoding);for(F=``;I<S.limit&&(N=K.exec(Y))!==null;){W++;var X=Y.slice(H,N.index),te=N;if(H=N.index+te[0].length,H>Y.length&&te[0].length<S.maxMatchLen)F=te[0];else{var ne=getDataToAppend(X,te);q+=ne}}F.length<1&&(F=Y.slice(H).length>S.maxMatchLen?Y.slice(H).slice(0-S.maxMatchLen):Y.slice(H)),C(null,getDataToQueue(W,Y,q,H))}function getDataToAppend(n,a){var S=n;return I++,S+=H?W.apply(this,a.concat([a.index,a.input])):W(a[0]),S}function getDataToQueue(n,a,S,C){return n>0?a.length>F.length?S+a.slice(C,a.length-F.length):S:a.slice(0,a.length-F.length)}function flush(n){F&&this.push(F),n()}return new N({transform,flush})};function createReplaceFn(n,a){var regexReplaceFunction=function(){for(var a=n,S=arguments.length-2,C=1;C<S;C++)a=a.replace(RegExp(`\\$`+C,`g`),arguments[C]||``);return a};return a&&!(n instanceof Function)?regexReplaceFunction:n instanceof Function?n:function stringReplaceFunction(){return n}}function matchFromRegex(n,a){return a.regExpOptions&&(n=new RegExp(n.source,a.regExpOptions)),n.global||(a.limit=1),n}function matchFromString(n,a){return a.regExpOptions?new RegExp(S(n),a.regExpOptions):new RegExp(S(n),a.ignoreCase===!1?`gm`:`gmi`)}}));function trim(n){return n.replace(/^[\s\uFEFF\xA0]+/g,``).replace(/[\s\uFEFF\xA0]+$/g,``)}function escapeRegExp(n){return n.replace(/[.*+\-?^${}()|[\]\\]/g,`\\$&`)}function findAllMatches(n,a,S){let C=[],N;for(;N=a.exec(n);)typeof S==`number`?N[S]&&C.push(N[S]):C.push(N);return C}function findAllMatchesInTags(n,a,S={tagPattern:yk,lookbehind:gk,lookbehindPattern:``,group:0}){let C=S.lookbehindPattern||(S.lookbehind||gk).source;return findAllMatches(n,new RegExp((S.tagPattern||yk).replace(`%1`,C)+a.source,vk),S.group)}function replaceInTags(n,a,S,C={tagPattern:yk,lookbehind:gk,lookbehindPattern:``}){let N=C.lookbehindPattern||(C.lookbehind||gk).source;return n.replace(new RegExp((C.tagPattern||yk).replace(`%1`,N)+a.source,vk),S)}function replaceBetweenTags(n,a,S,C=Tk){let N=`\\s*/?>`+(C.lookbehindPattern||(C.lookbehind||gk).source),F=(C.lookaheadPattern||(C.lookahead||gk).source)+`<[^?!]`;return replaceInTags(n,RegExp(a.source+`(?=${F})`),S,{lookbehindPattern:N})}function replaceBetweenBrackets(n,a,S,C=Tk){let N=`\\s*[!?/]?>`+(C.lookbehindPattern||(C.lookbehind||gk).source),F=(C.lookaheadPattern||(C.lookahead||gk).source)+`<`;return replaceInTags(n,RegExp(a.source+`(?=${F})`),S,{tagPattern:xk,lookbehindPattern:N})}function replaceBetween(n,a,S,C={...hk,strict:!1}){return(C.strict?replaceBetweenTags:replaceBetweenBrackets)(n,a,S,C)}function ignoreCData(n){return function(a,S,C,N){let F=arguments.length-1,I;return N=typeof arguments[F]==`object`?arguments[F--]:void 0,C=arguments[F--],S=arguments[F--],I=Array.prototype.slice.call(arguments,1,F+1),/<!\[CDATA\[(?![\s\S]*?]]>)/.test(C.substring(0,S))?a:typeof n==`function`?n.apply(this,arguments):I?n.replace(/(?<!\$)\$(\d+|\&)/g,(n,S)=>[`0`,`&`].includes(S)?a:I[parseInt(S-1)]||``):n}}function minify(n,a){a={...hk,...a||{}};let S=a.ignoreCData&&n.includes(`<![CDATA[`)?ignoreCData:n=>n,C=S(``);function removeComments(n){return n.replace(/<!\s*(?:--(?:[^-]|-[^-])*--\s*)>/g,C)}a.removeComments&&(n=removeComments(n)),a.removeWhitespaceBetweenTags&&(n=replaceBetween(n,/\s+/,C,strictOption(a.removeWhitespaceBetweenTags)));function collapseWhitespaceInTags(n,a={tagPattern:yk}){return n=replaceInTags(n,/\s+/,S(` `),a),n=replaceInTags(n,/\s*=\s*/,S(`=`),{...a,lookbehind:/\s+[^=\s>]+/}),n=replaceInTags(n,/\s+(?=[/?]?>)/,C,a),n}if(a.removeSchemaLocationAttributes&&(n=replaceInTags(n,/\s+xsi:(?:noNamespaceS|s)chemaLocation\s*=\s*(?:"[^"]*"|'[^']*')/,S(` `))),a.collapseWhitespaceInTags&&(n=collapseWhitespaceInTags(n)),a.collapseEmptyElements&&(n=n.replace(/<([^\s\/>]+)([^<]*?)(?<!\/)><\/\1\s*>/g,S(`<$1$2/>`))),a.trimWhitespaceFromTexts&&(n=replaceBetween(n,/\s+/,C,{lookbehindPattern:a.considerPreserveWhitespace?wk:null,lookaheadPattern:bk,...strictOption(a.trimWhitespaceFromTexts)}),n=replaceBetween(n,/\s+/,C,{lookbehindPattern:(a.considerPreserveWhitespace?wk:``)+bk,...strictOption(a.trimWhitespaceFromTexts)})),a.collapseWhitespaceInTexts&&(n=replaceBetween(n,/\s+/,S(` `),{lookbehindPattern:(a.considerPreserveWhitespace?wk:_k)+bk,lookaheadPattern:bk,...strictOption(a.collapseWhitespaceInTexts)})),a.removeUnnecessaryStandaloneDeclaration){let a=n.match(new RegExp(Ck));(!a||!a[2]&&!(a[5]&&/<!ENTITY\s+%/.test(a[5])))&&(n=replaceInTags(n,/\s+standalone\s*=\s*(?:"yes"|'yes'|yes|"no"|'no'|no)/,C,{tagPattern:Sk}))}if(a.collapseWhitespaceInProlog&&(n=collapseWhitespaceInTags(n,{tagPattern:Sk})),a.collapseWhitespaceInDocType&&(n=n.replace(new RegExp(Ck),S((n,a,S,C,N,F)=>`<!DOCTYPE ${a}${[S,C,N].map(n=>n&&` `+n).join(``)}${F?`[${(n=>(n=removeComments(n),n=n.replace(/\s+/g,` `),n=n.replace(/>\s+</g,`><`),n.trim?n.trim():trim(n)))(F)}]`:``}>`))),a.removeUnusedNamespaces||a.shortenNamespaces){let N=[...new Set(findAllMatchesInTags(n,/\s+xmlns:([^\s=]+)\s*=/g,{group:1}))];if(a.removeUnusedNamespaces){let a=[...new Set([...findAllMatches(n,/<([^\s\/>:]+):/g,1),...findAllMatchesInTags(n,/([^\s=:]+):/,{lookbehind:/\s+/,group:1})])].filter(n=>n!==`xmlns`),S=N.filter(n=>!a.includes(n));S.length&&(n=replaceInTags(n,RegExp(`\\s+xmlns:(?:${S.map(escapeRegExp).join(`|`)})\\s*=\\s*(?:"[^"]*"|'[^']*')`),C),N=a)}if(a.removeUnusedDefaultNamespace&&!/<([^\s\/>:]+)[\s\/>]/.test(n)&&(n=replaceInTags(n,/\s+xmlns\s*=\s*(?:"[^"]*"|'[^']*')/,C)),a.shortenNamespaces){let a=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_`,C=a.substring(0,52)+`0123456789-_.`;function firstUnusedNamespace(n,S){if(!arguments.length){for(S=1;!(n=firstUnusedNamespace(``,S));S++);return n}else if(!S)return n;let F=n?C:a;for(let a=0;a<F.length;a++){let C=firstUnusedNamespace(n+F[a],S-1);if(C&&!N.includes(C))return C}return!1}N.forEach((a,C)=>{if(a===`xsi`||a.length===1)return;let F=N.includes(a[0])?firstUnusedNamespace():a[0];a.length<=F.length||(n=n.replace(RegExp(`<(/)?${a}:`,vk),S(`<$1${F}:`)),n=replaceInTags(n,RegExp(`${a}:`),S(`${F}:`),{lookbehind:/\s+/}),n=replaceInTags(n,RegExp(`xmlns:${a}(?=[\\s=])`),S(`xmlns:${F}`),{lookbehind:/\s+/}),N[C]=F)})}}return n.trim?n.trim():trim(n)}var mk,strictOption,hk,gk,_k,vk,yk,bk,xk,Sk,Ck,wk,Tk,Ek,Dk=__esmMin(()=>{Ae(),JO(),pk(),oi(),mD(),mk=`strict`,strictOption=n=>n===mk&&{strict:!0},hk={removeComments:!0,removeWhitespaceBetweenTags:!0,considerPreserveWhitespace:!0,collapseWhitespaceInTags:!0,collapseEmptyElements:!0,trimWhitespaceFromTexts:!1,collapseWhitespaceInTexts:!1,collapseWhitespaceInProlog:!0,collapseWhitespaceInDocType:!0,removeSchemaLocationAttributes:!1,removeUnnecessaryStandaloneDeclaration:!0,removeUnusedNamespaces:!0,removeUnusedDefaultNamespace:!0,shortenNamespaces:!0,ignoreCData:!0},gk=RegExp(),_k=gk.source,vk=`g`,yk=/(?<=<\/?[^?!\s\/>]+\b(?:\s+[^=\s>]+\s*=\s*(?:"[^"]*"|'[^']*'))*%1)/.source,bk=`[^<]*`,xk=yk.replace(/(?<!\(\?)</,`<(?:!\\s*(?:--(?:[^-]|-[^-])*--\\s*)|!\\[(?:CDATA|.*?)\\[(?:[^\\]]|][^\\]]|]][^>])*]]|!DOCTYPE\\s+(?:[^>[]|\\[[^\\]]*\\])*|\\?[^>]*|`).replace(`%1`,`)%1`),Sk=yk.replace(/(?<=(?<!\(\?)<).*(?=\\b)/,`\\?xml`),Ck=`<!DOCTYPE\\s+([^\\s>[]+)(?:\\s+(SYSTEM|PUBLIC)\\s+("[^"]*"|'[^']*')(?:\\s+("[^"]*"|'[^']*'))?)?(?:\\s*\\[([^\\]]*)\\])?\\s*>`,wk=/(?<!<(?:[^\s\/>:]+:)?pre[^<]*?>|\s+xml:space\s*=\s*(?:"preserve"|'preserve'|preserve)(?:\s+[^=\s>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*>)/.source,Tk={lookbehind:gk,lookbehindPattern:``,lookahead:gk,lookaheadPattern:``},Ek=[`removeUnnecessaryStandaloneDeclaration`,`removeUnusedNamespaces`,`removeUnusedDefaultNamespace`,`shortenNamespaces`,`ignoreCData`],{...hk},{...Object.fromEntries(Ek.map(n=>[n,!1]))}});function blueprintPlugin(n={}){let{minify:a=!1,verbose:S=!1}=n;return{name:`vite-plugin-blueprint`,async load(n){if(n.endsWith(`.blp`))try{let{stdout:C}=await _O(`blueprint-compiler`,[`compile`,n]);S&&ke.log(`Compiled ${n}`);let N=C;return a&&(N=minify(N),S&&ke.log(`Minified XML for ${n}`)),`export default ${JSON.stringify(N)};`}catch(a){throw ke.error(`Error processing ${n}:`,a),a}}}}var Ok=__esmMin(()=>{Ae(),SO(),Dk()});function shouldRewrite(n){return!(!n.includes(`node_modules`)||!kk.test(n)||Nk.test(n))}function getBundleDirFromOutput(n){return as($o(n.file??ns(n.dir??`.`,`bundle.mjs`)))}function moduleTypeForPath(n){let a=n.split(`.`).pop()??`js`;return[`ts`,`mts`,`cts`,`tsx`].includes(a)?`ts`:`js`}function extractPackageSpec(n){let a=n.lastIndexOf(`node_modules/`);return a<0?n:n.slice(a+13)}function packageNameOf(n){let a=n.split(`/`),S=n.startsWith(`@`)?2:1;return a.slice(0,S).join(`/`)}function isRuntimeResolvable(n){let a=packageNameOf(extractPackageSpec(n));if(!a)return!1;try{return createRequire(n).resolve(`${a}/package.json`),!0}catch{try{return createRequire(n).resolve(a),!0}catch{return!1}}}function needsDirnameDecl(n,a){return a.hasDirname&&!Ak.test(n)}function needsFilenameDecl(n,a){return a.hasFilename&&!jk.test(n)}function withPreamble(n,a,S){return(S?[S,...a,n]:[...a,n]).join(`
733
- `)}function rewriteOnDiskEsm(n,a,S){let C=JSON.stringify(extractPackageSpec(a)),N=[`__gjsifyModuleUrl`],F=[];return needsDirnameDecl(n,S)&&(F.push(`var __dirname = __gjsifyModuleDir(${C});`),N.push(`__gjsifyModuleDir`)),needsFilenameDecl(n,S)&&(F.push(`var __filename = __gjsifyModuleFile(${C});`),N.push(`__gjsifyModuleFile`)),{code:withPreamble(n.replace(/\bimport\.meta\.url\b/g,`__gjsifyModuleUrl(${C})`),F,`import { ${N.join(`, `)} } from ${JSON.stringify(Mk)};`),moduleType:moduleTypeForPath(a)}}function rewriteOnDiskEsmLegacy(n,a,S,C){let N=rs(S,a),F=(rs(S,as(a))||`.`)+`/`,I=[];return needsDirnameDecl(n,C)&&I.push(`var __dirname = new URL(${JSON.stringify(F)}, import.meta.url).pathname.replace(/\\/$/, "");`),needsFilenameDecl(n,C)&&I.push(`var __filename = new URL(${JSON.stringify(N)}, import.meta.url).pathname;`),{code:withPreamble(n.replace(/\bimport\.meta\.url\b/g,`new URL(${JSON.stringify(N)}, import.meta.url).href`),I),moduleType:moduleTypeForPath(a)}}function rewriteZipResident(n,a,S){let C=[];return needsDirnameDecl(n,S)&&C.push(`var __dirname = new URL(".", import.meta.url).pathname.replace(/\\/$/, "");`),needsFilenameDecl(n,S)&&C.push(`var __filename = new URL(import.meta.url).pathname;`),{code:withPreamble(n,C),moduleType:moduleTypeForPath(a)}}function rewriteCjsRuntime(n,a,S){let C=JSON.stringify(extractPackageSpec(a)),N=[],F=[];return needsDirnameDecl(n,S)&&(F.push(`var __dirname = __gjsifyModuleDir(${C});`),N.push(`__gjsifyModuleDir`)),needsFilenameDecl(n,S)&&(F.push(`var __filename = __gjsifyModuleFile(${C});`),N.push(`__gjsifyModuleFile`)),N.length===0?{code:n,moduleType:moduleTypeForPath(a)}:{code:withPreamble(n,F,`var { ${N.join(`, `)} } = require(${JSON.stringify(Mk)});`),moduleType:moduleTypeForPath(a)}}function rewriteCjsAbsolute(n,a,S){let C=[];return needsDirnameDecl(n,S)&&C.push(`var __dirname = ${JSON.stringify(as(a))};`),needsFilenameDecl(n,S)&&C.push(`var __filename = ${JSON.stringify(a)};`),{code:withPreamble(n,C),moduleType:moduleTypeForPath(a)}}function rewriteContents(n,a,S,C){if(!shouldRewrite(n.path))return null;let N=inlineStaticReads(a,n.path),F=N.contents,I={hasMetaUrl:F.includes(`import.meta.url`),hasDirname:F.includes(`__dirname`),hasFilename:F.includes(`__filename`)};return!I.hasMetaUrl&&!I.hasDirname&&!I.hasFilename?N.inlined>0?{code:F,moduleType:moduleTypeForPath(n.path)}:null:I.hasMetaUrl?rs(S,n.path).includes(`.zip/`)?rewriteZipResident(F,n.path,I):C?rewriteOnDiskEsm(F,n.path,I):rewriteOnDiskEsmLegacy(F,n.path,S,I):C&&isRuntimeResolvable(n.path)?rewriteCjsRuntime(F,n.path,I):rewriteCjsAbsolute(F,n.path,I)}function nodeModulesPathRewritePlugin(n){let a=n.runtimeResolve??!1;return{name:`gjsify-node-modules-path-rewrite`,transform:{order:`post`,filter:{id:kk},handler(S,C){if(!C.includes(`node_modules`))return null;let N=rewriteContents({path:C},S,n.bundleDir,a);return N?{code:N.code,map:null}:null}}}}var kk,Ak,jk,Mk,Nk,Pk=__esmMin(()=>{Uo(),ps(),Kb(),kk=/\.(m?js|cjs|[cm]?tsx?)$/,Ak=/(?:var|let|const)\s+__dirname\b|export\s+(?:var|let|const)\s+__dirname\b/,jk=/(?:var|let|const)\s+__filename\b|export\s+(?:var|let|const)\s+__filename\b/,Mk=`@gjsify/rolldown-plugin-gjsify/shims/module-resolve`,Nk=/[\\/]rolldown-plugin-gjsify[\\/](?:lib|src)[\\/]shims[\\/]/}),Fk,Ik=__esmMin(()=>{Fk=`globalThis.__gjsifyBundleUrl??=import.meta.url;`}),Lk,Rk=__esmMin(()=>{Lk=`if(!Symbol.dispose)Symbol.dispose=Symbol.for("Symbol.dispose");if(!Symbol.asyncDispose)Symbol.asyncDispose=Symbol.for("Symbol.asyncDispose");`});function composeBanner(n,a){if(!a)return n;let S=a.match(/^#![^\n]*\n/);if(!S)return n+`
732
+ var S=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;function toObject(n){if(n==null)throw TypeError(`Object.assign cannot be called with null or undefined`);return Object(n)}function shouldUseNative(){try{if(!Object.assign)return!1;var n=new String(`abc`);if(n[5]=`de`,Object.getOwnPropertyNames(n)[0]===`5`)return!1;for(var a={},S=0;S<10;S++)a[`_`+String.fromCharCode(S)]=S;if(Object.getOwnPropertyNames(a).map(function(n){return a[n]}).join(``)!==`0123456789`)return!1;var C={};return`abcdefghijklmnopqrst`.split(``).forEach(function(n){C[n]=n}),Object.keys(Object.assign({},C)).join(``)===`abcdefghijklmnopqrst`}catch{return!1}}a.exports=shouldUseNative()?Object.assign:function(n,a){for(var F,I=toObject(n),H,W=1;W<arguments.length;W++){for(var K in F=Object(arguments[W]),F)C.call(F,K)&&(I[K]=F[K]);if(S){H=S(F);for(var q=0;q<H.length;q++)N.call(F,H[q])&&(I[H[q]]=F[H[q]])}}return I}})),QO=__commonJSMin$1(((n,a)=>{typeof process>`u`||!process.version||process.version.indexOf(`v0.`)===0||process.version.indexOf(`v1.`)===0&&process.version.indexOf(`v1.8.`)!==0?a.exports={nextTick}:a.exports=process;function nextTick(n,a,S,C){if(typeof n!=`function`)throw TypeError(`"callback" argument must be a function`);var N=arguments.length,F,I;switch(N){case 0:case 1:return process.nextTick(n);case 2:return process.nextTick(function afterTickOne(){n.call(null,a)});case 3:return process.nextTick(function afterTickTwo(){n.call(null,a,S)});case 4:return process.nextTick(function afterTickThree(){n.call(null,a,S,C)});default:for(F=Array(N-1),I=0;I<F.length;)F[I++]=arguments[I];return process.nextTick(function afterTick(){n.apply(null,F)})}}})),$O=__commonJSMin$1(((n,a)=>{var S={}.toString;a.exports=Array.isArray||function(n){return S.call(n)==`[object Array]`}})),ek=__commonJSMin$1(((n,a)=>{a.exports=F_()})),tk=__commonJSMin$1(((n,a)=>{var S=(vt(),__toCommonJS(mt)),C=S.Buffer;function copyProps(n,a){for(var S in n)a[S]=n[S]}C.from&&C.alloc&&C.allocUnsafe&&C.allocUnsafeSlow?a.exports=S:(copyProps(S,n),n.Buffer=SafeBuffer);function SafeBuffer(n,a,S){return C(n,a,S)}copyProps(C,SafeBuffer),SafeBuffer.from=function(n,a,S){if(typeof n==`number`)throw TypeError(`Argument must not be a number`);return C(n,a,S)},SafeBuffer.alloc=function(n,a,S){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);var N=C(n);return a===void 0?N.fill(0):typeof S==`string`?N.fill(a,S):N.fill(a),N},SafeBuffer.allocUnsafe=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return C(n)},SafeBuffer.allocUnsafeSlow=function(n){if(typeof n!=`number`)throw TypeError(`Argument must be a number`);return S.SlowBuffer(n)}})),nk=__commonJSMin$1((n=>{function isArray(n){return Array.isArray?Array.isArray(n):objectToString(n)===`[object Array]`}n.isArray=isArray;function isBoolean(n){return typeof n==`boolean`}n.isBoolean=isBoolean;function isNull(n){return n===null}n.isNull=isNull;function isNullOrUndefined(n){return n==null}n.isNullOrUndefined=isNullOrUndefined;function isNumber(n){return typeof n==`number`}n.isNumber=isNumber;function isString(n){return typeof n==`string`}n.isString=isString;function isSymbol(n){return typeof n==`symbol`}n.isSymbol=isSymbol;function isUndefined(n){return n===void 0}n.isUndefined=isUndefined;function isRegExp(n){return objectToString(n)===`[object RegExp]`}n.isRegExp=isRegExp;function isObject(n){return typeof n==`object`&&!!n}n.isObject=isObject;function isDate(n){return objectToString(n)===`[object Date]`}n.isDate=isDate;function isError(n){return objectToString(n)===`[object Error]`||n instanceof Error}n.isError=isError;function isFunction(n){return typeof n==`function`}n.isFunction=isFunction;function isPrimitive(n){return n===null||typeof n==`boolean`||typeof n==`number`||typeof n==`string`||typeof n==`symbol`||n===void 0}n.isPrimitive=isPrimitive,n.isBuffer=(vt(),__toCommonJS(mt)).Buffer.isBuffer;function objectToString(n){return Object.prototype.toString.call(n)}})),rk=__commonJSMin$1(((n,a)=>{function _classCallCheck(n,a){if(!(n instanceof a))throw TypeError(`Cannot call a class as a function`)}var S=tk().Buffer,C=(tc(),__toCommonJS(Zs));function copyBuffer(n,a,S){n.copy(a,S)}a.exports=function(){function BufferList(){_classCallCheck(this,BufferList),this.head=null,this.tail=null,this.length=0}return BufferList.prototype.push=function push(n){var a={data:n,next:null};this.length>0?this.tail.next=a:this.head=a,this.tail=a,++this.length},BufferList.prototype.unshift=function unshift(n){var a={data:n,next:this.head};this.length===0&&(this.tail=a),this.head=a,++this.length},BufferList.prototype.shift=function shift(){if(this.length!==0){var n=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,n}},BufferList.prototype.clear=function clear(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function join(n){if(this.length===0)return``;for(var a=this.head,S=``+a.data;a=a.next;)S+=n+a.data;return S},BufferList.prototype.concat=function concat(n){if(this.length===0)return S.alloc(0);for(var a=S.allocUnsafe(n>>>0),C=this.head,N=0;C;)copyBuffer(C.data,a,N),N+=C.data.length,C=C.next;return a},BufferList}(),C&&C.inspect&&C.inspect.custom&&(a.exports.prototype[C.inspect.custom]=function(){var n=C.inspect({length:this.length});return this.constructor.name+` `+n})})),ik=__commonJSMin$1(((n,a)=>{var S=QO();function destroy(n,a){var C=this,N=this._readableState&&this._readableState.destroyed,F=this._writableState&&this._writableState.destroyed;return N||F?(a?a(n):n&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,S.nextTick(emitErrorNT,this,n)):S.nextTick(emitErrorNT,this,n)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(n||null,function(n){!a&&n?C._writableState?C._writableState.errorEmitted||(C._writableState.errorEmitted=!0,S.nextTick(emitErrorNT,C,n)):S.nextTick(emitErrorNT,C,n):a&&a(n)}),this)}function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function emitErrorNT(n,a){n.emit(`error`,a)}a.exports={destroy,undestroy}})),ak=__commonJSMin$1(((n,a)=>{var S=QO();a.exports=Writable;function CorkedRequest(n){var a=this;this.next=null,this.entry=null,this.finish=function(){onCorkedFinish(a,n)}}var C=!process.browser&&[`v0.10`,`v0.9.`].indexOf(process.version.slice(0,5))>-1?setImmediate:S.nextTick,N;Writable.WritableState=WritableState;var F=Object.create(nk());F.inherits=OO();var I={deprecate:PO()},H=ek(),W=tk().Buffer,K=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return W.from(n)}function _isUint8Array(n){return W.isBuffer(n)||n instanceof K}var q=ik();F.inherits(Writable,H);function nop(){}function WritableState(n,a){N||=sk(),n||={};var S=a instanceof N;this.objectMode=!!n.objectMode,S&&(this.objectMode=this.objectMode||!!n.writableObjectMode);var C=n.highWaterMark,F=n.writableHighWaterMark,I=this.objectMode?16:16*1024;C||C===0?this.highWaterMark=C:S&&(F||F===0)?this.highWaterMark=F:this.highWaterMark=I,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var H=n.decodeStrings===!1;this.decodeStrings=!H,this.defaultEncoding=n.defaultEncoding||`utf8`,this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(n){onwrite(a,n)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){for(var n=this.bufferedRequest,a=[];n;)a.push(n),n=n.next;return a},(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:I.deprecate(function(){return this.getBuffer()},`_writableState.buffer is deprecated. Use _writableState.getBuffer instead.`,`DEP0003`)})}catch{}})();var realHasInstance;typeof Symbol==`function`&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==`function`?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(n){return realHasInstance.call(this,n)?!0:this===Writable?n&&n._writableState instanceof WritableState:!1}})):realHasInstance=function(n){return n instanceof this};function Writable(n){if(N||=sk(),!realHasInstance.call(Writable,this)&&!(this instanceof N))return new Writable(n);this._writableState=new WritableState(n,this),this.writable=!0,n&&(typeof n.write==`function`&&(this._write=n.write),typeof n.writev==`function`&&(this._writev=n.writev),typeof n.destroy==`function`&&(this._destroy=n.destroy),typeof n.final==`function`&&(this._final=n.final)),H.call(this)}Writable.prototype.pipe=function(){this.emit(`error`,Error(`Cannot pipe, not readable`))};function writeAfterEnd(n,a){var C=Error(`write after end`);n.emit(`error`,C),S.nextTick(a,C)}function validChunk(n,a,C,N){var F=!0,I=!1;return C===null?I=TypeError(`May not write null values to stream`):typeof C!=`string`&&C!==void 0&&!a.objectMode&&(I=TypeError(`Invalid non-string/buffer chunk`)),I&&(n.emit(`error`,I),S.nextTick(N,I),F=!1),F}Writable.prototype.write=function(n,a,S){var C=this._writableState,N=!1,F=!C.objectMode&&_isUint8Array(n);return F&&!W.isBuffer(n)&&(n=_uint8ArrayToBuffer(n)),typeof a==`function`&&(S=a,a=null),F?a=`buffer`:a||=C.defaultEncoding,typeof S!=`function`&&(S=nop),C.ended?writeAfterEnd(this,S):(F||validChunk(this,C,n,S))&&(C.pendingcb++,N=writeOrBuffer(this,C,F,n,a,S)),N},Writable.prototype.cork=function(){var n=this._writableState;n.corked++},Writable.prototype.uncork=function(){var n=this._writableState;n.corked&&(n.corked--,!n.writing&&!n.corked&&!n.bufferProcessing&&n.bufferedRequest&&clearBuffer(this,n))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(n){if(typeof n==`string`&&(n=n.toLowerCase()),!([`hex`,`utf8`,`utf-8`,`ascii`,`binary`,`base64`,`ucs2`,`ucs-2`,`utf16le`,`utf-16le`,`raw`].indexOf((n+``).toLowerCase())>-1))throw TypeError(`Unknown encoding: `+n);return this._writableState.defaultEncoding=n,this};function decodeChunk(n,a,S){return!n.objectMode&&n.decodeStrings!==!1&&typeof a==`string`&&(a=W.from(a,S)),a}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(n,a,S,C,N,F){if(!S){var I=decodeChunk(a,C,N);C!==I&&(S=!0,N=`buffer`,C=I)}var H=a.objectMode?1:C.length;a.length+=H;var W=a.length<a.highWaterMark;if(W||(a.needDrain=!0),a.writing||a.corked){var K=a.lastBufferedRequest;a.lastBufferedRequest={chunk:C,encoding:N,isBuf:S,callback:F,next:null},K?K.next=a.lastBufferedRequest:a.bufferedRequest=a.lastBufferedRequest,a.bufferedRequestCount+=1}else doWrite(n,a,!1,H,C,N,F);return W}function doWrite(n,a,S,C,N,F,I){a.writelen=C,a.writecb=I,a.writing=!0,a.sync=!0,S?n._writev(N,a.onwrite):n._write(N,F,a.onwrite),a.sync=!1}function onwriteError(n,a,C,N,F){--a.pendingcb,C?(S.nextTick(F,N),S.nextTick(finishMaybe,n,a),n._writableState.errorEmitted=!0,n.emit(`error`,N)):(F(N),n._writableState.errorEmitted=!0,n.emit(`error`,N),finishMaybe(n,a))}function onwriteStateUpdate(n){n.writing=!1,n.writecb=null,n.length-=n.writelen,n.writelen=0}function onwrite(n,a){var S=n._writableState,N=S.sync,F=S.writecb;if(onwriteStateUpdate(S),a)onwriteError(n,S,N,a,F);else{var I=needFinish(S);!I&&!S.corked&&!S.bufferProcessing&&S.bufferedRequest&&clearBuffer(n,S),N?C(afterWrite,n,S,I,F):afterWrite(n,S,I,F)}}function afterWrite(n,a,S,C){S||onwriteDrain(n,a),a.pendingcb--,C(),finishMaybe(n,a)}function onwriteDrain(n,a){a.length===0&&a.needDrain&&(a.needDrain=!1,n.emit(`drain`))}function clearBuffer(n,a){a.bufferProcessing=!0;var S=a.bufferedRequest;if(n._writev&&S&&S.next){var C=a.bufferedRequestCount,N=Array(C),F=a.corkedRequestsFree;F.entry=S;for(var I=0,H=!0;S;)N[I]=S,S.isBuf||(H=!1),S=S.next,I+=1;N.allBuffers=H,doWrite(n,a,!0,a.length,N,``,F.finish),a.pendingcb++,a.lastBufferedRequest=null,F.next?(a.corkedRequestsFree=F.next,F.next=null):a.corkedRequestsFree=new CorkedRequest(a),a.bufferedRequestCount=0}else{for(;S;){var W=S.chunk,K=S.encoding,q=S.callback;if(doWrite(n,a,!1,a.objectMode?1:W.length,W,K,q),S=S.next,a.bufferedRequestCount--,a.writing)break}S===null&&(a.lastBufferedRequest=null)}a.bufferedRequest=S,a.bufferProcessing=!1}Writable.prototype._write=function(n,a,S){S(Error(`_write() is not implemented`))},Writable.prototype._writev=null,Writable.prototype.end=function(n,a,S){var C=this._writableState;typeof n==`function`?(S=n,n=null,a=null):typeof a==`function`&&(S=a,a=null),n!=null&&this.write(n,a),C.corked&&(C.corked=1,this.uncork()),C.ending||endWritable(this,C,S)};function needFinish(n){return n.ending&&n.length===0&&n.bufferedRequest===null&&!n.finished&&!n.writing}function callFinal(n,a){n._final(function(S){a.pendingcb--,S&&n.emit(`error`,S),a.prefinished=!0,n.emit(`prefinish`),finishMaybe(n,a)})}function prefinish(n,a){!a.prefinished&&!a.finalCalled&&(typeof n._final==`function`?(a.pendingcb++,a.finalCalled=!0,S.nextTick(callFinal,n,a)):(a.prefinished=!0,n.emit(`prefinish`)))}function finishMaybe(n,a){var S=needFinish(a);return S&&(prefinish(n,a),a.pendingcb===0&&(a.finished=!0,n.emit(`finish`))),S}function endWritable(n,a,C){a.ending=!0,finishMaybe(n,a),C&&(a.finished?S.nextTick(C):n.once(`finish`,C)),a.ended=!0,n.writable=!1}function onCorkedFinish(n,a,S){var C=n.entry;for(n.entry=null;C;){var N=C.callback;a.pendingcb--,N(S),C=C.next}a.corkedRequestsFree.next=n}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){return this._writableState===void 0?!1:this._writableState.destroyed},set:function(n){this._writableState&&(this._writableState.destroyed=n)}}),Writable.prototype.destroy=q.destroy,Writable.prototype._undestroy=q.undestroy,Writable.prototype._destroy=function(n,a){this.end(),a(n)}})),sk=__commonJSMin$1(((n,a)=>{var S=QO(),C=Object.keys||function(n){var a=[];for(var S in n)a.push(S);return a};a.exports=Duplex;var N=Object.create(nk());N.inherits=OO();var F=lk(),I=ak();N.inherits(Duplex,F);for(var H=C(I.prototype),W=0;W<H.length;W++){var K=H[W];Duplex.prototype[K]||(Duplex.prototype[K]=I.prototype[K])}function Duplex(n){if(!(this instanceof Duplex))return new Duplex(n);F.call(this,n),I.call(this,n),n&&n.readable===!1&&(this.readable=!1),n&&n.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,n&&n.allowHalfOpen===!1&&(this.allowHalfOpen=!1),this.once(`end`,onend)}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function onend(){this.allowHalfOpen||this._writableState.ended||S.nextTick(onEndNT,this)}function onEndNT(n){n.end()}Object.defineProperty(Duplex.prototype,"destroyed",{get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set:function(n){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=n,this._writableState.destroyed=n)}}),Duplex.prototype._destroy=function(n,a){this.push(null),this.end(),S.nextTick(a,n)}})),ck=__commonJSMin$1((n=>{var a=tk().Buffer,S=a.isEncoding||function(n){switch(n=``+n,n&&n.toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:case`raw`:return!0;default:return!1}};function _normalizeEncoding(n){if(!n)return`utf8`;for(var a;;)switch(n){case`utf8`:case`utf-8`:return`utf8`;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return`utf16le`;case`latin1`:case`binary`:return`latin1`;case`base64`:case`ascii`:case`hex`:return n;default:if(a)return;n=(``+n).toLowerCase(),a=!0}}function normalizeEncoding(n){var C=_normalizeEncoding(n);if(typeof C!=`string`&&(a.isEncoding===S||!S(n)))throw Error(`Unknown encoding: `+n);return C||n}n.StringDecoder=StringDecoder;function StringDecoder(n){this.encoding=normalizeEncoding(n);var S;switch(this.encoding){case`utf16le`:this.text=utf16Text,this.end=utf16End,S=4;break;case`utf8`:this.fillLast=utf8FillLast,S=4;break;case`base64`:this.text=base64Text,this.end=base64End,S=3;break;default:this.write=simpleWrite,this.end=simpleEnd;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=a.allocUnsafe(S)}StringDecoder.prototype.write=function(n){if(n.length===0)return``;var a,S;if(this.lastNeed){if(a=this.fillLast(n),a===void 0)return``;S=this.lastNeed,this.lastNeed=0}else S=0;return S<n.length?a?a+this.text(n,S):this.text(n,S):a||``},StringDecoder.prototype.end=utf8End,StringDecoder.prototype.text=utf8Text,StringDecoder.prototype.fillLast=function(n){if(this.lastNeed<=n.length)return n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,this.lastTotal-this.lastNeed,0,n.length),this.lastNeed-=n.length};function utf8CheckByte(n){return n<=127?0:n>>5==6?2:n>>4==14?3:n>>3==30?4:n>>6==2?-1:-2}function utf8CheckIncomplete(n,a,S){var C=a.length-1;if(C<S)return 0;var N=utf8CheckByte(a[C]);return N>=0?(N>0&&(n.lastNeed=N-1),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(n.lastNeed=N-2),N):--C<S||N===-2?0:(N=utf8CheckByte(a[C]),N>=0?(N>0&&(N===2?N=0:n.lastNeed=N-3),N):0))}function utf8CheckExtraBytes(n,a,S){if((a[0]&192)!=128)return n.lastNeed=0,`�`;if(n.lastNeed>1&&a.length>1){if((a[1]&192)!=128)return n.lastNeed=1,`�`;if(n.lastNeed>2&&a.length>2&&(a[2]&192)!=128)return n.lastNeed=2,`�`}}function utf8FillLast(n){var a=this.lastTotal-this.lastNeed,S=utf8CheckExtraBytes(this,n,a);if(S!==void 0)return S;if(this.lastNeed<=n.length)return n.copy(this.lastChar,a,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);n.copy(this.lastChar,a,0,n.length),this.lastNeed-=n.length}function utf8Text(n,a){var S=utf8CheckIncomplete(this,n,a);if(!this.lastNeed)return n.toString(`utf8`,a);this.lastTotal=S;var C=n.length-(S-this.lastNeed);return n.copy(this.lastChar,0,C),n.toString(`utf8`,a,C)}function utf8End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+`�`:a}function utf16Text(n,a){if((n.length-a)%2==0){var S=n.toString(`utf16le`,a);if(S){var C=S.charCodeAt(S.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1],S.slice(0,-1)}return S}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=n[n.length-1],n.toString(`utf16le`,a,n.length-1)}function utf16End(n){var a=n&&n.length?this.write(n):``;if(this.lastNeed){var S=this.lastTotal-this.lastNeed;return a+this.lastChar.toString(`utf16le`,0,S)}return a}function base64Text(n,a){var S=(n.length-a)%3;return S===0?n.toString(`base64`,a):(this.lastNeed=3-S,this.lastTotal=3,S===1?this.lastChar[0]=n[n.length-1]:(this.lastChar[0]=n[n.length-2],this.lastChar[1]=n[n.length-1]),n.toString(`base64`,a,n.length-S))}function base64End(n){var a=n&&n.length?this.write(n):``;return this.lastNeed?a+this.lastChar.toString(`base64`,0,3-this.lastNeed):a}function simpleWrite(n){return n.toString(this.encoding)}function simpleEnd(n){return n&&n.length?this.write(n):``}})),lk=__commonJSMin$1(((n,a)=>{var S=QO();a.exports=Readable;var C=$O(),N;Readable.ReadableState=ReadableState,V_().EventEmitter;var EElistenerCount=function(n,a){return n.listeners(a).length},F=ek(),I=tk().Buffer,H=(typeof globalThis<`u`||typeof globalThis<`u`?globalThis:typeof self<`u`?self:{}).Uint8Array||function(){};function _uint8ArrayToBuffer(n){return I.from(n)}function _isUint8Array(n){return I.isBuffer(n)||n instanceof H}var W=Object.create(nk());W.inherits=OO();var K=(tc(),__toCommonJS(Zs)),q=void 0;q=K&&K.debuglog?K.debuglog(`stream`):function(){};var Y=rk(),X=ik(),te;W.inherits(Readable,F);var ne=[`error`,`close`,`destroy`,`pause`,`resume`];function prependListener(n,a,S){if(typeof n.prependListener==`function`)return n.prependListener(a,S);!n._events||!n._events[a]?n.on(a,S):C(n._events[a])?n._events[a].unshift(S):n._events[a]=[S,n._events[a]]}function ReadableState(n,a){N||=sk(),n||={};var S=a instanceof N;this.objectMode=!!n.objectMode,S&&(this.objectMode=this.objectMode||!!n.readableObjectMode);var C=n.highWaterMark,F=n.readableHighWaterMark,I=this.objectMode?16:16*1024;C||C===0?this.highWaterMark=C:S&&(F||F===0)?this.highWaterMark=F:this.highWaterMark=I,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new Y,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=n.defaultEncoding||`utf8`,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,n.encoding&&(te||=ck().StringDecoder,this.decoder=new te(n.encoding),this.encoding=n.encoding)}function Readable(n){if(N||=sk(),!(this instanceof Readable))return new Readable(n);this._readableState=new ReadableState(n,this),this.readable=!0,n&&(typeof n.read==`function`&&(this._read=n.read),typeof n.destroy==`function`&&(this._destroy=n.destroy)),F.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(n){this._readableState&&(this._readableState.destroyed=n)}}),Readable.prototype.destroy=X.destroy,Readable.prototype._undestroy=X.undestroy,Readable.prototype._destroy=function(n,a){this.push(null),a(n)},Readable.prototype.push=function(n,a){var S=this._readableState,C;return S.objectMode?C=!0:typeof n==`string`&&(a||=S.defaultEncoding,a!==S.encoding&&(n=I.from(n,a),a=``),C=!0),readableAddChunk(this,n,a,!1,C)},Readable.prototype.unshift=function(n){return readableAddChunk(this,n,null,!0,!1)};function readableAddChunk(n,a,S,C,N){var F=n._readableState;if(a===null)F.reading=!1,onEofChunk(n,F);else{var H;N||(H=chunkInvalid(F,a)),H?n.emit(`error`,H):F.objectMode||a&&a.length>0?(typeof a!=`string`&&!F.objectMode&&Object.getPrototypeOf(a)!==I.prototype&&(a=_uint8ArrayToBuffer(a)),C?F.endEmitted?n.emit(`error`,Error(`stream.unshift() after end event`)):addChunk(n,F,a,!0):F.ended?n.emit(`error`,Error(`stream.push() after EOF`)):(F.reading=!1,F.decoder&&!S?(a=F.decoder.write(a),F.objectMode||a.length!==0?addChunk(n,F,a,!1):maybeReadMore(n,F)):addChunk(n,F,a,!1))):C||(F.reading=!1)}return needMoreData(F)}function addChunk(n,a,S,C){a.flowing&&a.length===0&&!a.sync?(n.emit(`data`,S),n.read(0)):(a.length+=a.objectMode?1:S.length,C?a.buffer.unshift(S):a.buffer.push(S),a.needReadable&&emitReadable(n)),maybeReadMore(n,a)}function chunkInvalid(n,a){var S;return!_isUint8Array(a)&&typeof a!=`string`&&a!==void 0&&!n.objectMode&&(S=TypeError(`Invalid non-string/buffer chunk`)),S}function needMoreData(n){return!n.ended&&(n.needReadable||n.length<n.highWaterMark||n.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(n){return te||=ck().StringDecoder,this._readableState.decoder=new te(n),this._readableState.encoding=n,this};var re=8388608;function computeNewHighWaterMark(n){return n>=re?n=re:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,a){return n<=0||a.length===0&&a.ended?0:a.objectMode?1:n===n?(n>a.highWaterMark&&(a.highWaterMark=computeNewHighWaterMark(n)),n<=a.length?n:a.ended?a.length:(a.needReadable=!0,0)):a.flowing&&a.length?a.buffer.head.data.length:a.length}Readable.prototype.read=function(n){q(`read`,n),n=parseInt(n,10);var a=this._readableState,S=n;if(n!==0&&(a.emittedReadable=!1),n===0&&a.needReadable&&(a.length>=a.highWaterMark||a.ended))return q(`read: emitReadable`,a.length,a.ended),a.length===0&&a.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,a),n===0&&a.ended)return a.length===0&&endReadable(this),null;var C=a.needReadable;q(`need readable`,C),(a.length===0||a.length-n<a.highWaterMark)&&(C=!0,q(`length less than watermark`,C)),a.ended||a.reading?(C=!1,q(`reading or ended`,C)):C&&(q(`do read`),a.reading=!0,a.sync=!0,a.length===0&&(a.needReadable=!0),this._read(a.highWaterMark),a.sync=!1,a.reading||(n=howMuchToRead(S,a)));var N=n>0?fromList(n,a):null;return N===null?(a.needReadable=!0,n=0):a.length-=n,a.length===0&&(a.ended||(a.needReadable=!0),S!==n&&a.ended&&endReadable(this)),N!==null&&this.emit(`data`,N),N};function onEofChunk(n,a){if(!a.ended){if(a.decoder){var S=a.decoder.end();S&&S.length&&(a.buffer.push(S),a.length+=a.objectMode?1:S.length)}a.ended=!0,emitReadable(n)}}function emitReadable(n){var a=n._readableState;a.needReadable=!1,a.emittedReadable||(q(`emitReadable`,a.flowing),a.emittedReadable=!0,a.sync?S.nextTick(emitReadable_,n):emitReadable_(n))}function emitReadable_(n){q(`emit readable`),n.emit(`readable`),flow(n)}function maybeReadMore(n,a){a.readingMore||(a.readingMore=!0,S.nextTick(maybeReadMore_,n,a))}function maybeReadMore_(n,a){for(var S=a.length;!a.reading&&!a.flowing&&!a.ended&&a.length<a.highWaterMark&&(q(`maybeReadMore read 0`),n.read(0),S!==a.length);)S=a.length;a.readingMore=!1}Readable.prototype._read=function(n){this.emit(`error`,Error(`_read() is not implemented`))},Readable.prototype.pipe=function(n,a){var C=this,N=this._readableState;switch(N.pipesCount){case 0:N.pipes=n;break;case 1:N.pipes=[N.pipes,n];break;default:N.pipes.push(n);break}N.pipesCount+=1,q(`pipe count=%d opts=%j`,N.pipesCount,a);var F=(!a||a.end!==!1)&&n!==process.stdout&&n!==process.stderr?onend:unpipe;N.endEmitted?S.nextTick(F):C.once(`end`,F),n.on(`unpipe`,onunpipe);function onunpipe(n,a){q(`onunpipe`),n===C&&a&&a.hasUnpiped===!1&&(a.hasUnpiped=!0,cleanup())}function onend(){q(`onend`),n.end()}var I=pipeOnDrain(C);n.on(`drain`,I);var H=!1;function cleanup(){q(`cleanup`),n.removeListener(`close`,onclose),n.removeListener(`finish`,onfinish),n.removeListener(`drain`,I),n.removeListener(`error`,onerror),n.removeListener(`unpipe`,onunpipe),C.removeListener(`end`,onend),C.removeListener(`end`,unpipe),C.removeListener(`data`,ondata),H=!0,N.awaitDrain&&(!n._writableState||n._writableState.needDrain)&&I()}var W=!1;C.on(`data`,ondata);function ondata(a){q(`ondata`),W=!1,!1===n.write(a)&&!W&&((N.pipesCount===1&&N.pipes===n||N.pipesCount>1&&indexOf(N.pipes,n)!==-1)&&!H&&(q(`false write response, pause`,N.awaitDrain),N.awaitDrain++,W=!0),C.pause())}function onerror(a){q(`onerror`,a),unpipe(),n.removeListener(`error`,onerror),EElistenerCount(n,`error`)===0&&n.emit(`error`,a)}prependListener(n,`error`,onerror);function onclose(){n.removeListener(`finish`,onfinish),unpipe()}n.once(`close`,onclose);function onfinish(){q(`onfinish`),n.removeListener(`close`,onclose),unpipe()}n.once(`finish`,onfinish);function unpipe(){q(`unpipe`),C.unpipe(n)}return n.emit(`pipe`,C),N.flowing||(q(`pipe resume`),C.resume()),n};function pipeOnDrain(n){return function(){var a=n._readableState;q(`pipeOnDrain`,a.awaitDrain),a.awaitDrain&&a.awaitDrain--,a.awaitDrain===0&&EElistenerCount(n,`data`)&&(a.flowing=!0,flow(n))}}Readable.prototype.unpipe=function(n){var a=this._readableState,S={hasUnpiped:!1};if(a.pipesCount===0)return this;if(a.pipesCount===1)return n&&n!==a.pipes?this:(n||=a.pipes,a.pipes=null,a.pipesCount=0,a.flowing=!1,n&&n.emit(`unpipe`,this,S),this);if(!n){var C=a.pipes,N=a.pipesCount;a.pipes=null,a.pipesCount=0,a.flowing=!1;for(var F=0;F<N;F++)C[F].emit(`unpipe`,this,{hasUnpiped:!1});return this}var I=indexOf(a.pipes,n);return I===-1?this:(a.pipes.splice(I,1),--a.pipesCount,a.pipesCount===1&&(a.pipes=a.pipes[0]),n.emit(`unpipe`,this,S),this)},Readable.prototype.on=function(n,a){var C=F.prototype.on.call(this,n,a);if(n===`data`)this._readableState.flowing!==!1&&this.resume();else if(n===`readable`){var N=this._readableState;!N.endEmitted&&!N.readableListening&&(N.readableListening=N.needReadable=!0,N.emittedReadable=!1,N.reading?N.length&&emitReadable(this):S.nextTick(nReadingNextTick,this))}return C},Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(n){q(`readable nexttick read 0`),n.read(0)}Readable.prototype.resume=function(){var n=this._readableState;return n.flowing||(q(`resume`),n.flowing=!0,resume(this,n)),this};function resume(n,a){a.resumeScheduled||(a.resumeScheduled=!0,S.nextTick(resume_,n,a))}function resume_(n,a){a.reading||(q(`resume read 0`),n.read(0)),a.resumeScheduled=!1,a.awaitDrain=0,n.emit(`resume`),flow(n),a.flowing&&!a.reading&&n.read(0)}Readable.prototype.pause=function(){return q(`call pause flowing=%j`,this._readableState.flowing),!1!==this._readableState.flowing&&(q(`pause`),this._readableState.flowing=!1,this.emit(`pause`)),this};function flow(n){var a=n._readableState;for(q(`flow`,a.flowing);a.flowing&&n.read()!==null;);}Readable.prototype.wrap=function(n){var a=this,S=this._readableState,C=!1;for(var N in n.on(`end`,function(){if(q(`wrapped end`),S.decoder&&!S.ended){var n=S.decoder.end();n&&n.length&&a.push(n)}a.push(null)}),n.on(`data`,function(N){q(`wrapped data`),S.decoder&&(N=S.decoder.write(N)),!(S.objectMode&&N==null)&&(!S.objectMode&&(!N||!N.length)||a.push(N)||(C=!0,n.pause()))}),n)this[N]===void 0&&typeof n[N]==`function`&&(this[N]=function(a){return function(){return n[a].apply(n,arguments)}}(N));for(var F=0;F<ne.length;F++)n.on(ne[F],this.emit.bind(this,ne[F]));return this._read=function(a){q(`wrapped _read`,a),C&&(C=!1,n.resume())},this},Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Readable._fromList=fromList;function fromList(n,a){if(a.length===0)return null;var S;return a.objectMode?S=a.buffer.shift():!n||n>=a.length?(S=a.decoder?a.buffer.join(``):a.buffer.length===1?a.buffer.head.data:a.buffer.concat(a.length),a.buffer.clear()):S=fromListPartial(n,a.buffer,a.decoder),S}function fromListPartial(n,a,S){var C;return n<a.head.data.length?(C=a.head.data.slice(0,n),a.head.data=a.head.data.slice(n)):C=n===a.head.data.length?a.shift():S?copyFromBufferString(n,a):copyFromBuffer(n,a),C}function copyFromBufferString(n,a){var S=a.head,C=1,N=S.data;for(n-=N.length;S=S.next;){var F=S.data,I=n>F.length?F.length:n;if(I===F.length?N+=F:N+=F.slice(0,n),n-=I,n===0){I===F.length?(++C,S.next?a.head=S.next:a.head=a.tail=null):(a.head=S,S.data=F.slice(I));break}++C}return a.length-=C,N}function copyFromBuffer(n,a){var S=I.allocUnsafe(n),C=a.head,N=1;for(C.data.copy(S),n-=C.data.length;C=C.next;){var F=C.data,H=n>F.length?F.length:n;if(F.copy(S,S.length-n,0,H),n-=H,n===0){H===F.length?(++N,C.next?a.head=C.next:a.head=a.tail=null):(a.head=C,C.data=F.slice(H));break}++N}return a.length-=N,S}function endReadable(n){var a=n._readableState;if(a.length>0)throw Error(`"endReadable()" called on non-empty stream`);a.endEmitted||(a.ended=!0,S.nextTick(endReadableNT,a,n))}function endReadableNT(n,a){!n.endEmitted&&n.length===0&&(n.endEmitted=!0,a.readable=!1,a.emit(`end`))}function indexOf(n,a){for(var S=0,C=n.length;S<C;S++)if(n[S]===a)return S;return-1}})),uk=__commonJSMin$1(((n,a)=>{a.exports=Transform;var S=sk(),C=Object.create(nk());C.inherits=OO(),C.inherits(Transform,S);function afterTransform(n,a){var S=this._transformState;S.transforming=!1;var C=S.writecb;if(!C)return this.emit(`error`,Error(`write callback called multiple times`));S.writechunk=null,S.writecb=null,a!=null&&this.push(a),C(n);var N=this._readableState;N.reading=!1,(N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}function Transform(n){if(!(this instanceof Transform))return new Transform(n);S.call(this,n),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,n&&(typeof n.transform==`function`&&(this._transform=n.transform),typeof n.flush==`function`&&(this._flush=n.flush)),this.on(`prefinish`,prefinish)}function prefinish(){var n=this;typeof this._flush==`function`?this._flush(function(a,S){done(n,a,S)}):done(this,null,null)}Transform.prototype.push=function(n,a){return this._transformState.needTransform=!1,S.prototype.push.call(this,n,a)},Transform.prototype._transform=function(n,a,S){throw Error(`_transform() is not implemented`)},Transform.prototype._write=function(n,a,S){var C=this._transformState;if(C.writecb=S,C.writechunk=n,C.writeencoding=a,!C.transforming){var N=this._readableState;(C.needTransform||N.needReadable||N.length<N.highWaterMark)&&this._read(N.highWaterMark)}},Transform.prototype._read=function(n){var a=this._transformState;a.writechunk!==null&&a.writecb&&!a.transforming?(a.transforming=!0,this._transform(a.writechunk,a.writeencoding,a.afterTransform)):a.needTransform=!0},Transform.prototype._destroy=function(n,a){var C=this;S.prototype._destroy.call(this,n,function(n){a(n),C.emit(`close`)})};function done(n,a,S){if(a)return n.emit(`error`,a);if(S!=null&&n.push(S),n._writableState.length)throw Error(`Calling transform done when ws.length != 0`);if(n._transformState.transforming)throw Error(`Calling transform done when still transforming`);return n.push(null)}})),dk=__commonJSMin$1(((n,a)=>{a.exports=PassThrough;var S=uk(),C=Object.create(nk());C.inherits=OO(),C.inherits(PassThrough,S);function PassThrough(n){if(!(this instanceof PassThrough))return new PassThrough(n);S.call(this,n)}PassThrough.prototype._transform=function(n,a,S){S(null,n)}})),fk=__commonJSMin$1(((n,a)=>{var S=F_();S?(a.exports=S,n=a.exports=S.Readable,n.Readable=S.Readable,n.Writable=S.Writable,n.Duplex=S.Duplex,n.Transform=S.Transform,n.PassThrough=S.PassThrough,n.Stream=S):(n=a.exports=lk(),n.Stream=S||n,n.Readable=n,n.Writable=ak(),n.Duplex=sk(),n.Transform=uk(),n.PassThrough=dk())})),pk=__commonJSMin$1(((n,a)=>{a.exports=fk().Transform})),mk=__commonJSMin$1(((n,a)=>{var S=XO(),C=ZO(),N=pk();a.exports=function ReplaceStream(n,a,S){var F=``,I=0,H=n instanceof RegExp;S=C({limit:1/0,encoding:`utf8`,maxMatchLen:100},S);var W=a;W=createReplaceFn(a,H);var K;H?K=matchFromRegex(n,S):(K=matchFromString(n,S),S.maxMatchLen=n.length);function transform(n,a,C){var N,H=0,W=0,q=``,Y=F+n.toString(S.encoding);for(F=``;I<S.limit&&(N=K.exec(Y))!==null;){W++;var X=Y.slice(H,N.index),te=N;if(H=N.index+te[0].length,H>Y.length&&te[0].length<S.maxMatchLen)F=te[0];else{var ne=getDataToAppend(X,te);q+=ne}}F.length<1&&(F=Y.slice(H).length>S.maxMatchLen?Y.slice(H).slice(0-S.maxMatchLen):Y.slice(H)),C(null,getDataToQueue(W,Y,q,H))}function getDataToAppend(n,a){var S=n;return I++,S+=H?W.apply(this,a.concat([a.index,a.input])):W(a[0]),S}function getDataToQueue(n,a,S,C){return n>0?a.length>F.length?S+a.slice(C,a.length-F.length):S:a.slice(0,a.length-F.length)}function flush(n){F&&this.push(F),n()}return new N({transform,flush})};function createReplaceFn(n,a){var regexReplaceFunction=function(){for(var a=n,S=arguments.length-2,C=1;C<S;C++)a=a.replace(RegExp(`\\$`+C,`g`),arguments[C]||``);return a};return a&&!(n instanceof Function)?regexReplaceFunction:n instanceof Function?n:function stringReplaceFunction(){return n}}function matchFromRegex(n,a){return a.regExpOptions&&(n=new RegExp(n.source,a.regExpOptions)),n.global||(a.limit=1),n}function matchFromString(n,a){return a.regExpOptions?new RegExp(S(n),a.regExpOptions):new RegExp(S(n),a.ignoreCase===!1?`gm`:`gmi`)}}));function trim(n){return n.replace(/^[\s\uFEFF\xA0]+/g,``).replace(/[\s\uFEFF\xA0]+$/g,``)}function escapeRegExp(n){return n.replace(/[.*+\-?^${}()|[\]\\]/g,`\\$&`)}function findAllMatches(n,a,S){let C=[],N;for(;N=a.exec(n);)typeof S==`number`?N[S]&&C.push(N[S]):C.push(N);return C}function findAllMatchesInTags(n,a,S={tagPattern:bk,lookbehind:_k,lookbehindPattern:``,group:0}){let C=S.lookbehindPattern||(S.lookbehind||_k).source;return findAllMatches(n,new RegExp((S.tagPattern||bk).replace(`%1`,C)+a.source,yk),S.group)}function replaceInTags(n,a,S,C={tagPattern:bk,lookbehind:_k,lookbehindPattern:``}){let N=C.lookbehindPattern||(C.lookbehind||_k).source;return n.replace(new RegExp((C.tagPattern||bk).replace(`%1`,N)+a.source,yk),S)}function replaceBetweenTags(n,a,S,C=Ek){let N=`\\s*/?>`+(C.lookbehindPattern||(C.lookbehind||_k).source),F=(C.lookaheadPattern||(C.lookahead||_k).source)+`<[^?!]`;return replaceInTags(n,RegExp(a.source+`(?=${F})`),S,{lookbehindPattern:N})}function replaceBetweenBrackets(n,a,S,C=Ek){let N=`\\s*[!?/]?>`+(C.lookbehindPattern||(C.lookbehind||_k).source),F=(C.lookaheadPattern||(C.lookahead||_k).source)+`<`;return replaceInTags(n,RegExp(a.source+`(?=${F})`),S,{tagPattern:Sk,lookbehindPattern:N})}function replaceBetween(n,a,S,C={...gk,strict:!1}){return(C.strict?replaceBetweenTags:replaceBetweenBrackets)(n,a,S,C)}function ignoreCData(n){return function(a,S,C,N){let F=arguments.length-1,I;return N=typeof arguments[F]==`object`?arguments[F--]:void 0,C=arguments[F--],S=arguments[F--],I=Array.prototype.slice.call(arguments,1,F+1),/<!\[CDATA\[(?![\s\S]*?]]>)/.test(C.substring(0,S))?a:typeof n==`function`?n.apply(this,arguments):I?n.replace(/(?<!\$)\$(\d+|\&)/g,(n,S)=>[`0`,`&`].includes(S)?a:I[parseInt(S-1)]||``):n}}function minify(n,a){a={...gk,...a||{}};let S=a.ignoreCData&&n.includes(`<![CDATA[`)?ignoreCData:n=>n,C=S(``);function removeComments(n){return n.replace(/<!\s*(?:--(?:[^-]|-[^-])*--\s*)>/g,C)}a.removeComments&&(n=removeComments(n)),a.removeWhitespaceBetweenTags&&(n=replaceBetween(n,/\s+/,C,strictOption(a.removeWhitespaceBetweenTags)));function collapseWhitespaceInTags(n,a={tagPattern:bk}){return n=replaceInTags(n,/\s+/,S(` `),a),n=replaceInTags(n,/\s*=\s*/,S(`=`),{...a,lookbehind:/\s+[^=\s>]+/}),n=replaceInTags(n,/\s+(?=[/?]?>)/,C,a),n}if(a.removeSchemaLocationAttributes&&(n=replaceInTags(n,/\s+xsi:(?:noNamespaceS|s)chemaLocation\s*=\s*(?:"[^"]*"|'[^']*')/,S(` `))),a.collapseWhitespaceInTags&&(n=collapseWhitespaceInTags(n)),a.collapseEmptyElements&&(n=n.replace(/<([^\s\/>]+)([^<]*?)(?<!\/)><\/\1\s*>/g,S(`<$1$2/>`))),a.trimWhitespaceFromTexts&&(n=replaceBetween(n,/\s+/,C,{lookbehindPattern:a.considerPreserveWhitespace?Tk:null,lookaheadPattern:xk,...strictOption(a.trimWhitespaceFromTexts)}),n=replaceBetween(n,/\s+/,C,{lookbehindPattern:(a.considerPreserveWhitespace?Tk:``)+xk,...strictOption(a.trimWhitespaceFromTexts)})),a.collapseWhitespaceInTexts&&(n=replaceBetween(n,/\s+/,S(` `),{lookbehindPattern:(a.considerPreserveWhitespace?Tk:vk)+xk,lookaheadPattern:xk,...strictOption(a.collapseWhitespaceInTexts)})),a.removeUnnecessaryStandaloneDeclaration){let a=n.match(new RegExp(wk));(!a||!a[2]&&!(a[5]&&/<!ENTITY\s+%/.test(a[5])))&&(n=replaceInTags(n,/\s+standalone\s*=\s*(?:"yes"|'yes'|yes|"no"|'no'|no)/,C,{tagPattern:Ck}))}if(a.collapseWhitespaceInProlog&&(n=collapseWhitespaceInTags(n,{tagPattern:Ck})),a.collapseWhitespaceInDocType&&(n=n.replace(new RegExp(wk),S((n,a,S,C,N,F)=>`<!DOCTYPE ${a}${[S,C,N].map(n=>n&&` `+n).join(``)}${F?`[${(n=>(n=removeComments(n),n=n.replace(/\s+/g,` `),n=n.replace(/>\s+</g,`><`),n.trim?n.trim():trim(n)))(F)}]`:``}>`))),a.removeUnusedNamespaces||a.shortenNamespaces){let N=[...new Set(findAllMatchesInTags(n,/\s+xmlns:([^\s=]+)\s*=/g,{group:1}))];if(a.removeUnusedNamespaces){let a=[...new Set([...findAllMatches(n,/<([^\s\/>:]+):/g,1),...findAllMatchesInTags(n,/([^\s=:]+):/,{lookbehind:/\s+/,group:1})])].filter(n=>n!==`xmlns`),S=N.filter(n=>!a.includes(n));S.length&&(n=replaceInTags(n,RegExp(`\\s+xmlns:(?:${S.map(escapeRegExp).join(`|`)})\\s*=\\s*(?:"[^"]*"|'[^']*')`),C),N=a)}if(a.removeUnusedDefaultNamespace&&!/<([^\s\/>:]+)[\s\/>]/.test(n)&&(n=replaceInTags(n,/\s+xmlns\s*=\s*(?:"[^"]*"|'[^']*')/,C)),a.shortenNamespaces){let a=`abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_`,C=a.substring(0,52)+`0123456789-_.`;function firstUnusedNamespace(n,S){if(!arguments.length){for(S=1;!(n=firstUnusedNamespace(``,S));S++);return n}else if(!S)return n;let F=n?C:a;for(let a=0;a<F.length;a++){let C=firstUnusedNamespace(n+F[a],S-1);if(C&&!N.includes(C))return C}return!1}N.forEach((a,C)=>{if(a===`xsi`||a.length===1)return;let F=N.includes(a[0])?firstUnusedNamespace():a[0];a.length<=F.length||(n=n.replace(RegExp(`<(/)?${a}:`,yk),S(`<$1${F}:`)),n=replaceInTags(n,RegExp(`${a}:`),S(`${F}:`),{lookbehind:/\s+/}),n=replaceInTags(n,RegExp(`xmlns:${a}(?=[\\s=])`),S(`xmlns:${F}`),{lookbehind:/\s+/}),N[C]=F)})}}return n.trim?n.trim():trim(n)}var hk,strictOption,gk,_k,vk,yk,bk,xk,Sk,Ck,wk,Tk,Ek,Dk,Ok=__esmMin(()=>{Ae(),YO(),mk(),oi(),hD(),hk=`strict`,strictOption=n=>n===hk&&{strict:!0},gk={removeComments:!0,removeWhitespaceBetweenTags:!0,considerPreserveWhitespace:!0,collapseWhitespaceInTags:!0,collapseEmptyElements:!0,trimWhitespaceFromTexts:!1,collapseWhitespaceInTexts:!1,collapseWhitespaceInProlog:!0,collapseWhitespaceInDocType:!0,removeSchemaLocationAttributes:!1,removeUnnecessaryStandaloneDeclaration:!0,removeUnusedNamespaces:!0,removeUnusedDefaultNamespace:!0,shortenNamespaces:!0,ignoreCData:!0},_k=RegExp(),vk=_k.source,yk=`g`,bk=/(?<=<\/?[^?!\s\/>]+\b(?:\s+[^=\s>]+\s*=\s*(?:"[^"]*"|'[^']*'))*%1)/.source,xk=`[^<]*`,Sk=bk.replace(/(?<!\(\?)</,`<(?:!\\s*(?:--(?:[^-]|-[^-])*--\\s*)|!\\[(?:CDATA|.*?)\\[(?:[^\\]]|][^\\]]|]][^>])*]]|!DOCTYPE\\s+(?:[^>[]|\\[[^\\]]*\\])*|\\?[^>]*|`).replace(`%1`,`)%1`),Ck=bk.replace(/(?<=(?<!\(\?)<).*(?=\\b)/,`\\?xml`),wk=`<!DOCTYPE\\s+([^\\s>[]+)(?:\\s+(SYSTEM|PUBLIC)\\s+("[^"]*"|'[^']*')(?:\\s+("[^"]*"|'[^']*'))?)?(?:\\s*\\[([^\\]]*)\\])?\\s*>`,Tk=/(?<!<(?:[^\s\/>:]+:)?pre[^<]*?>|\s+xml:space\s*=\s*(?:"preserve"|'preserve'|preserve)(?:\s+[^=\s>]+\s*=\s*(?:"[^"]*"|'[^']*'))*\s*>)/.source,Ek={lookbehind:_k,lookbehindPattern:``,lookahead:_k,lookaheadPattern:``},Dk=[`removeUnnecessaryStandaloneDeclaration`,`removeUnusedNamespaces`,`removeUnusedDefaultNamespace`,`shortenNamespaces`,`ignoreCData`],{...gk},{...Object.fromEntries(Dk.map(n=>[n,!1]))}});function blueprintPlugin(n={}){let{minify:a=!1,verbose:S=!1}=n;return{name:`vite-plugin-blueprint`,async load(n){if(n.endsWith(`.blp`))try{let{stdout:C}=await vO(`blueprint-compiler`,[`compile`,n]);S&&ke.log(`Compiled ${n}`);let N=C;return a&&(N=minify(N),S&&ke.log(`Minified XML for ${n}`)),`export default ${JSON.stringify(N)};`}catch(a){throw ke.error(`Error processing ${n}:`,a),a}}}}var kk=__esmMin(()=>{Ae(),CO(),Ok()});function shouldRewrite(n){return!(!n.includes(`node_modules`)||!Ak.test(n)||Pk.test(n))}function getBundleDirFromOutput(n){return as($o(n.file??ns(n.dir??`.`,`bundle.mjs`)))}function moduleTypeForPath(n){let a=n.split(`.`).pop()??`js`;return[`ts`,`mts`,`cts`,`tsx`].includes(a)?`ts`:`js`}function extractPackageSpec(n){let a=n.lastIndexOf(`node_modules/`);return a<0?n:n.slice(a+13)}function packageNameOf(n){let a=n.split(`/`),S=n.startsWith(`@`)?2:1;return a.slice(0,S).join(`/`)}function isRuntimeResolvable(n){let a=packageNameOf(extractPackageSpec(n));if(!a)return!1;try{return createRequire(n).resolve(`${a}/package.json`),!0}catch{try{return createRequire(n).resolve(a),!0}catch{return!1}}}function needsDirnameDecl(n,a){return a.hasDirname&&!jk.test(n)}function needsFilenameDecl(n,a){return a.hasFilename&&!Mk.test(n)}function withPreamble(n,a,S){return(S?[S,...a,n]:[...a,n]).join(`
733
+ `)}function rewriteOnDiskEsm(n,a,S){let C=JSON.stringify(extractPackageSpec(a)),N=[`__gjsifyModuleUrl`],F=[];return needsDirnameDecl(n,S)&&(F.push(`var __dirname = __gjsifyModuleDir(${C});`),N.push(`__gjsifyModuleDir`)),needsFilenameDecl(n,S)&&(F.push(`var __filename = __gjsifyModuleFile(${C});`),N.push(`__gjsifyModuleFile`)),{code:withPreamble(n.replace(/\bimport\.meta\.url\b/g,`__gjsifyModuleUrl(${C})`),F,`import { ${N.join(`, `)} } from ${JSON.stringify(Nk)};`),moduleType:moduleTypeForPath(a)}}function rewriteOnDiskEsmLegacy(n,a,S,C){let N=rs(S,a),F=(rs(S,as(a))||`.`)+`/`,I=[];return needsDirnameDecl(n,C)&&I.push(`var __dirname = new URL(${JSON.stringify(F)}, import.meta.url).pathname.replace(/\\/$/, "");`),needsFilenameDecl(n,C)&&I.push(`var __filename = new URL(${JSON.stringify(N)}, import.meta.url).pathname;`),{code:withPreamble(n.replace(/\bimport\.meta\.url\b/g,`new URL(${JSON.stringify(N)}, import.meta.url).href`),I),moduleType:moduleTypeForPath(a)}}function rewriteZipResident(n,a,S){let C=[];return needsDirnameDecl(n,S)&&C.push(`var __dirname = new URL(".", import.meta.url).pathname.replace(/\\/$/, "");`),needsFilenameDecl(n,S)&&C.push(`var __filename = new URL(import.meta.url).pathname;`),{code:withPreamble(n,C),moduleType:moduleTypeForPath(a)}}function rewriteCjsRuntime(n,a,S){let C=JSON.stringify(extractPackageSpec(a)),N=[],F=[];return needsDirnameDecl(n,S)&&(F.push(`var __dirname = __gjsifyModuleDir(${C});`),N.push(`__gjsifyModuleDir`)),needsFilenameDecl(n,S)&&(F.push(`var __filename = __gjsifyModuleFile(${C});`),N.push(`__gjsifyModuleFile`)),N.length===0?{code:n,moduleType:moduleTypeForPath(a)}:{code:withPreamble(n,F,`var { ${N.join(`, `)} } = require(${JSON.stringify(Nk)});`),moduleType:moduleTypeForPath(a)}}function rewriteCjsAbsolute(n,a,S){let C=[];return needsDirnameDecl(n,S)&&C.push(`var __dirname = ${JSON.stringify(as(a))};`),needsFilenameDecl(n,S)&&C.push(`var __filename = ${JSON.stringify(a)};`),{code:withPreamble(n,C),moduleType:moduleTypeForPath(a)}}function rewriteContents(n,a,S,C){if(!shouldRewrite(n.path))return null;let N=inlineStaticReads(a,n.path),F=N.contents,I={hasMetaUrl:F.includes(`import.meta.url`),hasDirname:F.includes(`__dirname`),hasFilename:F.includes(`__filename`)};return!I.hasMetaUrl&&!I.hasDirname&&!I.hasFilename?N.inlined>0?{code:F,moduleType:moduleTypeForPath(n.path)}:null:I.hasMetaUrl?rs(S,n.path).includes(`.zip/`)?rewriteZipResident(F,n.path,I):C?rewriteOnDiskEsm(F,n.path,I):rewriteOnDiskEsmLegacy(F,n.path,S,I):C&&isRuntimeResolvable(n.path)?rewriteCjsRuntime(F,n.path,I):rewriteCjsAbsolute(F,n.path,I)}function nodeModulesPathRewritePlugin(n){let a=n.runtimeResolve??!1;return{name:`gjsify-node-modules-path-rewrite`,transform:{order:`post`,filter:{id:Ak},handler(S,C){if(!C.includes(`node_modules`))return null;let N=rewriteContents({path:C},S,n.bundleDir,a);return N?{code:N.code,map:null}:null}}}}var Ak,jk,Mk,Nk,Pk,Fk=__esmMin(()=>{Uo(),ps(),qb(),Ak=/\.(m?js|cjs|[cm]?tsx?)$/,jk=/(?:var|let|const)\s+__dirname\b|export\s+(?:var|let|const)\s+__dirname\b/,Mk=/(?:var|let|const)\s+__filename\b|export\s+(?:var|let|const)\s+__filename\b/,Nk=`@gjsify/rolldown-plugin-gjsify/shims/module-resolve`,Pk=/[\\/]rolldown-plugin-gjsify[\\/](?:lib|src)[\\/]shims[\\/]/}),Ik,Lk=__esmMin(()=>{Ik=`globalThis.__gjsifyBundleUrl??=import.meta.url;`}),Rk,zk=__esmMin(()=>{Rk=`if(!Symbol.dispose)Symbol.dispose=Symbol.for("Symbol.dispose");if(!Symbol.asyncDispose)Symbol.asyncDispose=Symbol.for("Symbol.asyncDispose");`});function composeBanner(n,a){if(!a)return n;let S=a.match(/^#![^\n]*\n/);if(!S)return n+`
734
734
  `+a;let C=S[0],N=a.slice(C.length);return C+n+(N?`
735
- `+N:``)}function processStubPlugin(n={}){let a=composeBanner((n.captureBundleUrl?Fk:``)+Lk+zk,n.userBanner??``);return{name:`gjsify-process-stub`,renderChunk:{order:`post`,handler(n,S){return S.isEntry?{code:a+`
736
- `+n,map:null}:null}}}}var zk,Bk=__esmMin(()=>{Ik(),Rk(),zk=`if(typeof globalThis.process==="undefined"){const _s=imports.system,_G=imports.gi.GLib;const _h=t=>t?[0,0]:[0,0];_h.bigint=()=>0n;globalThis.process={platform:"linux",arch:"x64",version:"v20.0.0",env:new Proxy({},{get(_,p){return typeof p==="string"?(_G.getenv(p)??undefined):undefined},set(_,p,v){if(typeof p==="string")_G.setenv(p,String(v),true);return true},has(_,p){return typeof p==="string"&&_G.getenv(p)!==null},deleteProperty(_,p){if(typeof p==="string")_G.unsetenv(p);return true},ownKeys(){return _G.listenv()??[]},getOwnPropertyDescriptor(_,p){const v=_G.getenv(p);return v!==null?{value:v,writable:true,enumerable:true,configurable:true}:undefined}}),argv:_s?.programArgs?["gjs",_s.programInvocationName||"",..._s.programArgs]:["gjs"],versions:{},config:{},cwd(){return _G.get_current_dir()||"/"},exit(c){_s.exit(c??0)},stderr:{write(s){printerr(s)}},stdout:{write(s){print(s)}},stdin:null,exitCode:undefined,nextTick(fn,...a){Promise.resolve().then(()=>fn(...a))},hrtime:_h,};}`}),Vk=__commonJSMin$1(((n,a)=>{let isLinux=()=>process.platform===`linux`,S=null,getReport=()=>{if(!S)if(isLinux()&&process.report){let n=process.report.excludeNetwork;process.report.excludeNetwork=!0,S=process.report.getReport(),process.report.excludeNetwork=n}else S={};return S};a.exports={isLinux,getReport}})),Hk=__commonJSMin$1(((n,a)=>{let S=(Zc(),__toCommonJS(Jc)),C=2048,readFileSync=n=>{let a=S.openSync(n,`r`),N=Buffer.alloc(C),F=S.readSync(a,N,0,C,0);return S.close(a,()=>{}),N.subarray(0,F)},readFile=n=>new Promise((a,N)=>{S.open(n,`r`,(n,F)=>{if(n)N(n);else{let n=Buffer.alloc(C);S.read(F,n,0,C,0,(C,N)=>{a(n.subarray(0,N)),S.close(F,()=>{})})}})});a.exports={LDD_PATH:`/usr/bin/ldd`,SELF_PATH:`/proc/self/exe`,readFileSync,readFile}})),Uk=__commonJSMin$1(((n,a)=>{let interpreterPath=n=>{if(n.length<64||n.readUInt32BE(0)!==2135247942||n.readUInt8(4)!==2||n.readUInt8(5)!==1)return null;let a=n.readUInt32LE(32),S=n.readUInt16LE(54),C=n.readUInt16LE(56);for(let N=0;N<C;N++){let C=a+N*S;if(n.readUInt32LE(C)===3){let a=n.readUInt32LE(C+8),S=n.readUInt32LE(C+32);return n.subarray(a,a+S).toString().replace(/\0.*$/g,``)}}return null};a.exports={interpreterPath}})),Wk=__commonJSMin$1(((n,a)=>{let S=(sC(),__toCommonJS(iC)),{isLinux:C,getReport:N}=Vk(),{LDD_PATH:F,SELF_PATH:I,readFile:H,readFileSync:W}=Hk(),{interpreterPath:K}=Uk(),q,Y,X,te=`getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true`,ne=``,safeCommand=()=>ne||new Promise(n=>{S.exec(te,(a,S)=>{ne=a?` `:S,n(ne)})}),safeCommandSync=()=>{if(!ne)try{ne=S.execSync(te,{encoding:`utf8`})}catch{ne=` `}return ne},re=`glibc`,ie=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,ae=`musl`,isFileMusl=n=>n.includes(`libc.musl-`)||n.includes(`ld-musl-`),familyFromReport=()=>{let n=N();return n.header&&n.header.glibcVersionRuntime?re:Array.isArray(n.sharedObjects)&&n.sharedObjects.some(isFileMusl)?ae:null},familyFromCommand=n=>{let[a,S]=n.split(/[\r\n]+/);return a&&a.includes(re)?re:S&&S.includes(ae)?ae:null},familyFromInterpreterPath=n=>{if(n){if(n.includes(`/ld-musl-`))return ae;if(n.includes(`/ld-linux-`))return re}return null},getFamilyFromLddContent=n=>(n=n.toString(),n.includes(`musl`)?ae:n.includes(`GNU C Library`)?re:null),familyFromFilesystem=async()=>{if(Y!==void 0)return Y;Y=null;try{Y=getFamilyFromLddContent(await H(F))}catch{}return Y},familyFromFilesystemSync=()=>{if(Y!==void 0)return Y;Y=null;try{Y=getFamilyFromLddContent(W(F))}catch{}return Y},familyFromInterpreter=async()=>{if(q!==void 0)return q;q=null;try{q=familyFromInterpreterPath(K(await H(I)))}catch{}return q},familyFromInterpreterSync=()=>{if(q!==void 0)return q;q=null;try{q=familyFromInterpreterPath(K(W(I)))}catch{}return q},family=async()=>{let n=null;return C()&&(n=await familyFromInterpreter(),n||(n=await familyFromFilesystem(),n||=familyFromReport(),n||=familyFromCommand(await safeCommand()))),n},familySync=()=>{let n=null;return C()&&(n=familyFromInterpreterSync(),n||(n=familyFromFilesystemSync(),n||=familyFromReport(),n||=familyFromCommand(safeCommandSync()))),n},isNonGlibcLinux=async()=>C()&&await family()!==re,isNonGlibcLinuxSync=()=>C()&&familySync()!==re,versionFromFilesystem=async()=>{if(X!==void 0)return X;X=null;try{let n=(await H(F)).match(ie);n&&(X=n[1])}catch{}return X},versionFromFilesystemSync=()=>{if(X!==void 0)return X;X=null;try{let n=W(F).match(ie);n&&(X=n[1])}catch{}return X},versionFromReport=()=>{let n=N();return n.header&&n.header.glibcVersionRuntime?n.header.glibcVersionRuntime:null},versionSuffix=n=>n.trim().split(/\s+/)[1],versionFromCommand=n=>{let[a,S,C]=n.split(/[\r\n]+/);return a&&a.includes(re)?versionSuffix(a):S&&C&&S.includes(ae)?versionSuffix(C):null},version=async()=>{let n=null;return C()&&(n=await versionFromFilesystem(),n||=versionFromReport(),n||=versionFromCommand(await safeCommand())),n},versionSync=()=>{let n=null;return C()&&(n=versionFromFilesystemSync(),n||=versionFromReport(),n||=versionFromCommand(safeCommandSync())),n};a.exports={GLIBC:re,MUSL:ae,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionSync}})),Gk=__commonJSMin$1(((n,a)=>{let S={and_chr:`chrome`,and_ff:`firefox`,ie_mob:`ie`,op_mob:`opera`,and_qq:null,and_uc:null,baidu:null,bb:null,kaios:null,op_mini:null};function browserslistToTargets(n){let a={};for(let C of n){let[n,N]=C.split(` `);if(S[n]===null)continue;let F=parseVersion(N);F!=null&&(a[n]==null||F<a[n])&&(a[n]=F)}return a}function parseVersion(n){let[a,S=0,C=0]=n.split(`-`)[0].split(`.`).map(n=>parseInt(n,10));return isNaN(a)||isNaN(S)||isNaN(C)?null:a<<16|S<<8|C}a.exports=browserslistToTargets})),Kk=__commonJSMin$1(((n,a)=>{function composeVisitors(n){if(n.length===1)return n[0];if(n.some(n=>typeof n==`function`))return a=>composeVisitors(n.map(n=>typeof n==`function`?n(a):n));let a={};return composeSimpleVisitors(a,n,`StyleSheet`),composeSimpleVisitors(a,n,`StyleSheetExit`),composeObjectVisitors(a,n,`Rule`,ruleVisitor,wrapCustomAndUnknownAtRule),composeObjectVisitors(a,n,`RuleExit`,ruleVisitor,wrapCustomAndUnknownAtRule),composeObjectVisitors(a,n,`Declaration`,declarationVisitor,wrapCustomProperty),composeObjectVisitors(a,n,`DeclarationExit`,declarationVisitor,wrapCustomProperty),composeSimpleVisitors(a,n,`Url`),composeSimpleVisitors(a,n,`Color`),composeSimpleVisitors(a,n,`Image`),composeSimpleVisitors(a,n,`ImageExit`),composeSimpleVisitors(a,n,`Length`),composeSimpleVisitors(a,n,`Angle`),composeSimpleVisitors(a,n,`Ratio`),composeSimpleVisitors(a,n,`Resolution`),composeSimpleVisitors(a,n,`Time`),composeSimpleVisitors(a,n,`CustomIdent`),composeSimpleVisitors(a,n,`DashedIdent`),composeArrayFunctions(a,n,`MediaQuery`),composeArrayFunctions(a,n,`MediaQueryExit`),composeSimpleVisitors(a,n,`SupportsCondition`),composeSimpleVisitors(a,n,`SupportsConditionExit`),composeArrayFunctions(a,n,`Selector`),composeTokenVisitors(a,n,`Token`,`token`,!1),composeTokenVisitors(a,n,`Function`,`function`,!1),composeTokenVisitors(a,n,`FunctionExit`,`function`,!0),composeTokenVisitors(a,n,`Variable`,`var`,!1),composeTokenVisitors(a,n,`VariableExit`,`var`,!0),composeTokenVisitors(a,n,`EnvironmentVariable`,`env`,!1),composeTokenVisitors(a,n,`EnvironmentVariableExit`,`env`,!0),a}a.exports=composeVisitors;function wrapCustomAndUnknownAtRule(n,a){return n===`unknown`?(n=>a({type:`unknown`,value:n})):n===`custom`?(n=>a({type:`custom`,value:n})):a}function wrapCustomProperty(n,a){return n===`custom`?(n=>a({property:`custom`,value:n})):a}function ruleVisitor(n,a){if(typeof n==`object`){if(a.type===`unknown`){let S=n.unknown;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}if(a.type===`custom`){let S=n.custom;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}return n[a.type]?.(a)}return n?.(a)}function declarationVisitor(n,a){if(typeof n==`object`){let S=a.property;if(a.property===`unparsed`)S=a.value.propertyId.property;else if(a.property===`custom`){let S=n.custom;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}return n[S]?.(a)}return n?.(a)}function extractObjectsOrFunctions(n,a){let S=[],C=!1,N=new Set;for(let F of n){let n=F[a];if(n){if(typeof n==`function`)C=!0;else for(let a in n)N.add(a);S.push(n)}}return[S,C,N]}function composeObjectVisitors(n,a,S,C,N){let[F,I,H]=extractObjectsOrFunctions(a,S);if(F.length===0)return;if(F.length===1){n[S]=F[0];return}let W=createArrayVisitor(a,(n,a)=>C(n[S],a));if(I)n[S]=W;else{let a={};for(let n of H)a[n]=N(n,W);n[S]=a}}function composeTokenVisitors(n,a,S,C,N){let[F,I,H]=extractObjectsOrFunctions(a,S);if(F.length===0)return;if(F.length===1){n[S]=F[0];return}let W=createTokenVisitor(a,C,N);if(I)n[S]=W;else{let a={};for(let n of H)a[n]=W;n[S]=a}}function createTokenVisitor(n,a,S){let C=createArrayVisitor(n,(n,a)=>{let C;switch(a.type){case`token`:C=n.Token,typeof C==`object`&&(C=C[a.value.type]);break;case`function`:C=S?n.FunctionExit:n.Function,typeof C==`object`&&(C=C[a.value.name]);break;case`var`:C=S?n.VariableExit:n.Variable;break;case`env`:if(C=S?n.EnvironmentVariableExit:n.EnvironmentVariable,typeof C==`object`){let n;switch(a.value.name.type){case`ua`:case`unknown`:n=a.value.name.value;break;case`custom`:n=a.value.name.ident;break}C=C[n]}break;case`color`:C=n.Color;break;case`url`:C=n.Url;break;case`length`:C=n.Length;break;case`angle`:C=n.Angle;break;case`time`:C=n.Time;break;case`resolution`:C=n.Resolution;break;case`dashed-ident`:C=n.DashedIdent;break}if(!C)return;let N=C(a.value);switch(a.type){case`color`:case`url`:case`length`:case`angle`:case`time`:case`resolution`:case`dashed-ident`:Array.isArray(N)?N=N.map(n=>({type:a.type,value:n})):N&&={type:a.type,value:N};break}return N});return n=>C({type:a,value:n})}function extractFunctions(n,a){let S=[];for(let C of n){let n=C[a];n&&S.push(n)}return S}function composeSimpleVisitors(n,a,S){let C=extractFunctions(a,S);if(C.length!==0){if(C.length===1){n[S]=C[0];return}n[S]=n=>{let a=!1;for(let S of C){let C=S(n);C&&(n=C,a=!0)}return a?n:void 0}}}function composeArrayFunctions(n,a,S){let C=extractFunctions(a,S);if(C.length!==0){if(C.length===1){n[S]=C[0];return}n[S]=createArrayVisitor(C,(n,a)=>n(a))}}function createArrayVisitor(n,a){let S=new Bitset(n.length);return C=>{let N=[C],F=!1;S.clear();for(let C=0;C<N.length;C++)for(let I=0;I<n.length&&C<N.length;){if(S.get(I)){I++;continue}let H=N[C],W=n[I],K=a(W,H);Array.isArray(K)?(K.length===0?N.splice(C,1):K.length===1?N[C]=K[0]:N.splice(C,1,...K),F=!0,S.set(I),I=0):K?(N[C]=K,F=!0,S.set(I),I=0):I++}if(F)return N.length===1?N[0]:N}}var Bitset=class{constructor(n=32){this.bits=0,this.more=n>32?new Uint32Array(Math.ceil((n-32)/32)):null}get(n){if(n>=32&&this.more){let a=Math.floor((n-32)/32),S=n%32;return!!(this.more[a]&1<<S)}else return!!(this.bits&1<<n)}set(n){if(n>=32&&this.more){let a=Math.floor((n-32)/32),S=n%32;this.more[a]|=1<<S}else this.bits|=1<<n}clear(){this.bits=0,this.more&&this.more.fill(0)}}})),qk=__commonJSMin$1((n=>{n.Features={Nesting:1,NotSelectorList:2,DirSelector:4,LangSelectorList:8,IsSelector:16,TextDecorationThicknessPercent:32,MediaIntervalSyntax:64,MediaRangeSyntax:128,CustomMediaQueries:256,ClampFunction:512,ColorFunction:1024,OklabColors:2048,LabColors:4096,P3Colors:8192,HexAlphaColors:16384,SpaceSeparatedColorNotation:32768,FontFamilySystemUi:65536,DoublePositionGradients:131072,VendorPrefixes:262144,LogicalProperties:524288,LightDark:1048576,Selectors:31,MediaQueries:448,Colors:1113088}})),Jk=__commonJSMin$1(((n,a)=>{let S=[process.platform,process.arch];if(process.platform===`linux`){let{MUSL:n,familySync:a}=Wk();a()===n?S.push(`musl`):process.arch===`arm`?S.push(`gnueabihf`):S.push(`gnu`)}else process.platform===`win32`&&S.push(`msvc`);let C;try{C=K(`lightningcss-${S.join(`-`)}`)}catch{C=K(`../lightningcss.${S.join(`-`)}.node`)}a.exports.transform=wrap(C.transform),a.exports.transformStyleAttribute=wrap(C.transformStyleAttribute),a.exports.bundle=wrap(C.bundle),a.exports.bundleAsync=wrap(C.bundleAsync),a.exports.browserslistToTargets=Gk(),a.exports.composeVisitors=Kk(),a.exports.Features=qk().Features;function wrap(n){return a=>{if(typeof a.visitor==`function`){let S=[];a.visitor=a.visitor({addDependency(n){S.push(n)}});let C=n(a);return C instanceof Promise?C=C.then(n=>(S.length&&(n.dependencies??=[],n.dependencies.push(...S)),n)):S.length&&(C.dependencies??=[],C.dependencies.push(...S)),C}else return n(a)}}})),Yk=__exportAll$3({Features:()=>rA,browserslistToTargets:()=>tA,bundle:()=>$k,bundleAsync:()=>eA,composeVisitors:()=>nA,transform:()=>Zk,transformStyleAttribute:()=>Qk}),Xk,Zk,Qk,$k,eA,tA,nA,rA,iA=__esmMin(()=>{Xk=__toESM$1(Jk(),1),{transform:Zk,transformStyleAttribute:Qk,bundle:$k,bundleAsync:eA,browserslistToTargets:tA,composeVisitors:nA,Features:rA}=Xk.default});async function pickBundler(){let n=globalThis.process?.env?.GJSIFY_CSS_BACKEND;if(n===`npm`)return loadNpmBundler();if(n===`native`){let n=await tryLoadNativeBundler();if(!n)throw Error(`GJSIFY_CSS_BACKEND=native but @gjsify/lightningcss-native is not loadable`);return n}return await tryLoadNativeBundler()??loadNpmBundler()}async function tryLoadNativeBundler(){if(!isGjs())return null;try{let n=await import(pathToFileURL(createRequire(import.meta.url).resolve(`@gjsify/lightningcss-native`)).href);return n.hasNativeLightningcss()?async(a,S)=>{let C=targetsToBrowserslist(S);return n.bundle({filename:a,targets:C,minify:!1,sourceMap:!1,errorRecovery:!0})}:null}catch{return null}}async function loadNpmBundler(){let{bundleAsync:n}=await Promise.resolve().then(()=>(iA(),Yk));return async(a,S)=>({code:(await n({filename:a,targets:S,minify:!1,errorRecovery:!0,resolver:oA})).code})}function targetsToBrowserslist(n){if(!n)return;let a=[];for(let[S,C]of Object.entries(n)){if(typeof C!=`number`)continue;let n=C>>>16&255;if(n===0)continue;let N=S===`ios_saf`?`ios`:S;a.push(`${N} >= ${n}`)}return a.length?a.join(`, `):void 0}function cssAsStringPlugin(n={}){let{targets:a,bundle:S=!0}=n;return{name:`gjsify-css-as-string`,load:{filter:{id:/\.css$/},async handler(n){let C=S?new TextDecoder(`utf-8`).decode(await loadAndBundleCss(n,a)):await readFile$1(n,`utf8`);return{code:`export default ${JSON.stringify(C)};`,moduleType:`js`}}}}}async function loadAndBundleCss(n,a){aA||=pickBundler();let{code:S}=await(await aA)(n,a);return S}var aA,oA,sA=__esmMin(()=>{kc(),Uo(),ps(),mn(),zg(),aA=null,oA={resolve(n,a){return ts(n)?n:n.startsWith(`./`)||n.startsWith(`../`)?$o(as(a),n):createRequire(pathToFileURL(a).href).resolve(n)}}});function inputShebangStripPlugin(){return{name:`gjsify-input-shebang-strip`,transform:{order:`pre`,handler(n){return n.startsWith(`#!`)?{code:n.replace(uA,``),map:null}:null}}}}function shebangPlugin(n={}){if(!n.enabled)return null;let a=n.line??`#!/usr/bin/env -S gjs -m`;return{name:`gjsify-shebang`,renderChunk:{order:`post`,handler(n,S){return!S.isEntry||n.startsWith(`#!`)?null:{code:a+`
737
- `+n,map:null}}}}}function expandEnvTemplate(n,a=process.env){return n.replace(/\$\{env:([A-Za-z_][A-Za-z0-9_]*)(?::-([^}]*))?\}/g,(n,S,C)=>{let N=a[S];return N!==void 0&&N!==``?N:C??``})}function resolveShebangLine(n,a=cA){if(n===void 0||n===!1)return null;if(n===!0)return a;let S=expandEnvTemplate(n);return S.trim()?S.startsWith(`#!`)?S:`#!`+S:null}var cA,lA,uA,dA=__esmMin(()=>{cA=`#!/usr/bin/env -S gjs -m`,lA=`#!/usr/bin/env node`,uA=/^#![^\n]*\n/});function resolveShim(n){let a=$o(fA,`../shims/${n}.js`),S=null;try{S=(Zc(),__toCommonJS(Jc))}catch{return a}if(S.existsSync(a))return a;try{return(Uo(),__toCommonJS(zo)).createRequire(import.meta.url).resolve(`@gjsify/rolldown-plugin-gjsify/shims/${n}`)}catch{return a}}function wrapInputWithSideEffects(n,a,S={}){if(a.length===0||n===void 0)return{input:n,plugin:null};let C=new Map,N=`\0gjsify-entry:`;function wrap(n){let a=N+n;return C.set(a,n),a}let F;if(typeof n==`string`)F=wrap(n);else if(Array.isArray(n))F=n.map(wrap);else{let a={};for(let[S,C]of Object.entries(n))a[S]=wrap(C);F=a}let I=a.map(n=>`import ${JSON.stringify(n)};`).join(`
738
- `),H=new Set;return{input:F,plugin:{name:`gjsify-virtual-entry`,async resolveId(n,a){return n.startsWith(N)?n:H.has(n)?{id:n,moduleSideEffects:`no-treeshake`}:null},async load(n){if(!n.startsWith(N))return null;let a=C.get(n);if(!a)return null;let F=(await this.resolve(a,void 0,{skipSelf:!0}))?.id??a;if(H.add(F),S.preserveDefaultExport){let n=`__gjsify_entry__`;return{code:`${I}\nimport * as ${n} from ${JSON.stringify(F)};\nexport * from ${JSON.stringify(F)};\nexport default ${n}.default;\n`,moduleSideEffects:`no-treeshake`}}return{code:`${I}\nimport ${JSON.stringify(F)};\nexport * from ${JSON.stringify(F)};\n`,moduleSideEffects:`no-treeshake`}}}}}function flattenAliases$4(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}function createGjsExternalsPredicate(n=[]){let a=[`cairo`,`gettext`,`system`,...n];return n=>isRegisterSubpath(n)?!1:!!(n.startsWith(`gi://`)||a.includes(n))}function isRegisterSubpath(n){return!!(/\/register(?:\/[^?]*)?$/.test(n)||/[/\\]register(?:[/\\][^/\\]+)?\.(?:[mc]?js|ts)$/.test(n))}var fA,setupForGjs,pA=__esmMin(()=>{mn(),ps(),Jb(),Yb(),eC(),Ok(),l_(),Nv(),Pk(),Bk(),sA(),dA(),fA=as(fileURLToPath(import.meta.url)),setupForGjs=async n=>{let a=n.userExternal??[],S=[`cairo`,`gettext`,`system`,...a.filter(n=>!isRegisterSubpath(n))],C=createGjsExternalsPredicate(a),N=n.pluginOptions.format??`esm`,F=n.pluginOptions.exclude??[],I=await globToEntryPoints(n.input,F),H=resolveShim(`unicorn-magic`),W={...getAliasesForGjs({external:C}),"unicorn-magic":H,...n.pluginOptions.aliases,...n.userAliases},K=n.pluginOptions.consoleShim===!1?null:resolveShim(`console-gjs`),q=[];n.pluginOptions.autoGlobalsInject&&q.push(n.pluginOptions.autoGlobalsInject);let Y=wrapInputWithSideEffects(I,q,{preserveDefaultExport:n.pluginOptions.preserveDefaultExport===!0}),X={input:Y.input,platform:`neutral`,external:S,resolve:{mainFields:N===`esm`?[`browser`,`module`,`main`]:[`browser`,`main`,`module`],conditionNames:N===`esm`?[`browser`,`import`]:[`browser`,`require`,`import`]},transform:{target:`firefox140`,define:{global:`globalThis`,window:`globalThis`,"process.env.READABLE_STREAM":`"disable"`},...K?{inject:{console:[K,`console`]}}:{}},output:{...n.output,format:N,sourcemap:!1,codeSplitting:!1},treeshake:!0},te=getBundleDirFromOutput(n.output);return{options:X,plugins:[...Y.plugin?[Y.plugin]:[],inputShebangStripPlugin(),aliasPlugin({entries:{"random-access-file":`random-access-file/index.js`,...flattenAliases$4(W)}}),externalsPlugin(C,{name:`gjsify-gjs-externalize`}),blueprintPlugin(),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin({targets:{firefox:60<<16}}),nodeModulesPathRewritePlugin({bundleDir:te,runtimeResolve:N===`esm`}),processStubPlugin({userBanner:n.userBanner,captureBundleUrl:N===`esm`}),(()=>{let a=resolveShebangLine(n.shebang);return shebangPlugin({enabled:a!==null,line:a??void 0})})()]}},__name$1(flattenAliases$4,`flattenAliases`)});function gjsImportsEmptyPlugin(){return{name:`gjsify-gjs-imports-empty`,resolveId:{order:`pre`,filter:{id:/^(@girs\/|gi:\/\/)/},handler(n){return/^(@girs\/|gi:\/\/)/.test(n)?{id:mA}:null}},load(n){return n===mA?{code:`export {}; export default {};`,moduleSideEffects:!1}:null}}}var mA,hA=__esmMin(()=>{mA=`\0gjsify-empty-gjs-import`});function flattenAliases$3(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupForNode,gA=__esmMin(()=>{Jb(),eC(),c_(),l_(),Nv(),Pk(),sA(),hA(),setupForNode=async n=>{let a=n.userExternal??[],S=[...Qg,`node-datachannel`,...a],external=n=>!!S.includes(n),C=n.pluginOptions.format??`esm`,N=n.pluginOptions.exclude??[],F=await globToEntryPoints(n.input,N),I={...getAliasesForNode({external}),...n.pluginOptions.aliases,...n.userAliases},H=getBundleDirFromOutput(n.output);return{options:{input:F,platform:`node`,external:S,resolve:{mainFields:C===`esm`?[`module`,`main`,`browser`]:[`main`,`module`,`browser`],conditionNames:C===`esm`?[`require`,`node`,`module`]:[`require`]},transform:{target:`node24`,define:{global:`globalThis`,window:`globalThis`}},output:{...n.output,format:C,sourcemap:!1,banner:void 0,codeSplitting:!1},treeshake:!0},plugins:[gjsImportsEmptyPlugin(),aliasPlugin({entries:flattenAliases$3(I)}),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin(),nodeModulesPathRewritePlugin({bundleDir:H})]}},__name$1(flattenAliases$3,`flattenAliases`)});function flattenAliases$2(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupForBrowser,_A=__esmMin(()=>{Jb(),eC(),Ok(),c_(),Nv(),hA(),sA(),setupForBrowser=async n=>{let a=[...n.userExternal??[]],S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N={};for(let[n,a]of Object.entries(n_))N[n]=a,N[`node:${n}`]=a;let F={},I={...getDerivedAliasesSync(`browser`),...N,...F,...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`browser`,external:a,resolve:{mainFields:[`browser`,`module`,`main`],conditionNames:[`import`,`browser`]},transform:{target:`esnext`,define:{global:`globalThis`,window:`globalThis`}},output:{...n.output,format:`esm`,sourcemap:!1,codeSplitting:!1},treeshake:!0},plugins:[gjsImportsEmptyPlugin(),aliasPlugin({entries:flattenAliases$2(I)}),blueprintPlugin(),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin()]}},__name$1(flattenAliases$2,`flattenAliases`)});function isPlatform(n){return vA.includes(n)}function platformResolvePlugin(n={}){let a=n.platform,S=a?[a,`native`]:[`native`];return{name:`gjsify-nativescript-platform-resolve`,resolveId:{order:`pre`,async handler(n,a,C){if(!a||!n.startsWith(`./`)&&!n.startsWith(`../`))return null;let N=yA.exec(n),F=N?N[0]:``,I=F?n.slice(0,-F.length):n;for(let N of S){let S=F&&`${I}.${N}`!=`${I}.${N}${F}`?[`${I}.${N}`,`${I}.${N}${F}`]:[`${I}.${N}`];for(let N of S){if(N===n)continue;let S=await this.resolve(N,a,{skipSelf:!0,...C?.kind?{kind:C.kind}:{}});if(S&&!S.external)return S}}return null}}}}function detectNativescriptPlatform(n=process.env){let a=n.NATIVESCRIPT_PLATFORM??n.NS_PLATFORM;if(a&&isPlatform(a))return a;let S=n.NATIVESCRIPT_BUNDLER_ENV??n.NATIVESCRIPT_WEBPACK_ENV;if(S)try{let n=JSON.parse(S);if(n.android===!0)return`android`;if(n.ios===!0)return`ios`;if(n.visionos===!0)return`visionos`;if(typeof n.platform==`string`&&isPlatform(n.platform))return n.platform}catch{}}function nativescriptPlatformDefines(n,a={}){let S=n===`android`,C=n===`ios`,N=n===`visionos`;return{__ANDROID__:String(S),__IOS__:String(C),__VISIONOS__:String(N),__APPLE__:String(C||N),__DEV__:String(a.dev??!1)}}var vA,yA,bA=__esmMin(()=>{vA=[`android`,`ios`,`visionos`],yA=/\.(tsx?|jsx?|mts|cts|mjs|cjs)$/});function flattenAliases$1(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupForNativescript,xA=__esmMin(()=>{Jb(),eC(),c_(),Nv(),hA(),bA(),setupForNativescript=async n=>{let a=[...n.userExternal??[]],S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N=detectNativescriptPlatform(),F={};for(let[n,a]of Object.entries(r_))F[n]=a,F[`node:${n}`]=a;let I={},H={...getDerivedAliasesSync(`nativescript`),...F,...I,...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`browser`,external:a,resolve:{mainFields:[`nativescript`,`module`,`main`],conditionNames:[`import`,`nativescript`]},transform:{target:`esnext`,define:{global:`globalThis`,...nativescriptPlatformDefines(N,{dev:!1})}},output:{...n.output,format:`esm`,sourcemap:!1,codeSplitting:!1},treeshake:!0},plugins:[gjsImportsEmptyPlugin(),platformResolvePlugin({platform:N}),aliasPlugin({entries:flattenAliases$1(H)}),deepkitPlugin({reflection:n.pluginOptions.reflection})]}},__name$1(flattenAliases$1,`flattenAliases`)}),SA=__esmMin(()=>{pA(),gA(),_A(),xA()});function isExternalSpecifier(n){return!(n.startsWith(`./`)||n.startsWith(`../`)||n.startsWith(`/`)||n.startsWith(`\0`)||n.startsWith(`data:`))}function computeCommonRoot(n){let a=n===void 0?[]:typeof n==`string`?[n]:Array.isArray(n)?n:Object.values(n);if(a.length===0)return`src`;let S=a.map(n=>n.split(`/`).filter(Boolean)),C=S[0],N=0;for(;N<C.length;N++){let n=C[N];if(!S.every(a=>a[N]===n))break}if(N===0)return`src`;let F=C.slice(0,N);return S.some(n=>n.length>N)?F.join(`/`):F.slice(0,-1).join(`/`)||`src`}function flattenAliases(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupLib,CA=__esmMin(()=>{Jb(),sA(),Yb(),Nv(),setupLib=async n=>{let a=n.pluginOptions.format??n.pluginOptions.library??`esm`,S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N=computeCommonRoot(C),F={...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`neutral`,resolve:{mainFields:a===`esm`?[`module`,`main`]:[`main`],conditionNames:a===`esm`?[`module`,`import`]:[`require`]},transform:{target:`esnext`},output:{...n.output,format:a,preserveModules:!0,preserveModulesRoot:N,sourcemap:!1},treeshake:!1},plugins:[aliasPlugin({entries:flattenAliases(F)}),externalsPlugin(isExternalSpecifier,{name:`gjsify-lib-externalize`}),cssAsStringPlugin()]}}}),wA=__esmMin(()=>{CA()});function mimeForExtension(n){return TA[n.toLowerCase()]??`application/octet-stream`}function textLoaderPlugin(n={}){let a=n.loaders??{},S=Object.entries(a),C=S.filter(([,n])=>n===`text`).map(([n])=>n),N=S.filter(([,n])=>n===`dataurl`).map(([n])=>n),F=[...C,...N];if(F.length===0)return null;let I=F.map(n=>n.replace(/^\./,``).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),H=RegExp(`\\.(?:${I.join(`|`)})$`),W=new Map(S.map(([n,a])=>[n.toLowerCase(),a]));return{name:`gjsify-asset-loader`,async load(n){if(!H.test(n))return null;let a=n.lastIndexOf(`.`),S=a>=0?n.slice(a).toLowerCase():``;if((W.get(S)??`text`)===`dataurl`){let a=await readFile$1(n),C=mimeForExtension(S),N=a.toString(`base64`);return{code:`export default ${JSON.stringify(`data:${C};base64,${N}`)};`,moduleType:`js`}}let C=await readFile$1(n,`utf8`);return{code:`export default ${JSON.stringify(C)};`,moduleType:`js`}}}}var TA,EA=__esmMin(()=>{kc(),TA={".png":`image/png`,".jpg":`image/jpeg`,".jpeg":`image/jpeg`,".gif":`image/gif`,".webp":`image/webp`,".svg":`image/svg+xml`,".ico":`image/x-icon`,".avif":`image/avif`,".bmp":`image/bmp`,".tiff":`image/tiff`,".tif":`image/tiff`,".wasm":`application/wasm`}}),gjsifyPlugin,DA=__esmMin(()=>{SA(),wA(),gjsifyPlugin=async(n,a={})=>{if(a.library)switch(a.library){case`esm`:case`cjs`:return await setupLib({input:n.input,output:n.output,userAliases:n.userAliases,pluginOptions:a});default:throw TypeError(`Unknown library type: `+a.library)}let S=a.app??`gjs`;switch(S){case`gjs`:return await setupForGjs({input:n.input,output:n.output,userExternal:n.userExternal,userBanner:n.userBanner,userAliases:n.userAliases,shebang:n.shebang,pluginOptions:a});case`node`:return await setupForNode({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});case`browser`:return await setupForBrowser({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});case`nativescript`:return await setupForNativescript({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});default:throw TypeError(`Unknown app platform: `+S)}}}),OA=__esmMin(()=>{Kg(),qb(),SA(),wA(),Pk(),Bk(),sA(),EA(),dA(),hA(),Yb(),bA(),DA(),DA(),c_()});function isPluginByName(n){return typeof n==`object`&&!!n&&typeof n.name==`string`&&!(`apply`in n)&&!(`resolveId`in n)&&!(`load`in n)&&!(`transform`in n)&&!(`renderChunk`in n)&&!(`generateBundle`in n)}async function resolveUserPlugins(n,a,S={}){let C=S.loadModule??defaultLoadModule,N=createRequire(ns(a,`package.json`)),F=[];for(let S of n){if(!isPluginByName(S)){F.push(S);continue}let n;try{n=N.resolve(S.name)}catch(n){throw Error(`gjsify config: failed to resolve plugin "${S.name}" from ${a}. Add it to your project's dependencies, or pass a Plugin object directly. (${n.message})`)}let I=await C(n,S.name),H=S.export??`default`,W=I[H];if(typeof W!=`function`){let n=Object.keys(I).filter(n=>typeof I[n]==`function`);throw Error(`gjsify config: plugin "${S.name}" has no function export "${H}". Available function exports: ${n.length?n.join(`, `):`(none)`}.`)}let K=await W(S.options);if(K==null)throw Error(`gjsify config: plugin "${S.name}" factory returned ${K}. Check the plugin's signature — it should return a Rolldown/Vite plugin object.`);F.push(K)}return F}var defaultLoadModule,kA=__esmMin(()=>{Uo(),ps(),mn(),defaultLoadModule=async n=>await import(pathToFileURL(n).href)}),AA,jA=__esmMin(()=>{AA={"@gjsify/buffer/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/canvas":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/document":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/font-face":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/image":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/location":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/match-media":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/navigator":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`navigator`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/observers":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/domparser/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/gamepad/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/buffer":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/encoding":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/microtask":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/process":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/structured-clone":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/timers":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/url":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`URL`,`URLSearchParams`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/web-globals/register/formdata":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`FormData`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/web-globals/register/performance":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webaudio/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/data-channel":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MessageEvent`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/error":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/media":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MediaStream`,`MediaStreamTrack`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/media-devices":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MediaStream`,`MediaStreamTrack`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/peer-connection":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CountQueuingStrategy.DOMException.Event.EventTarget.File.MediaStream.MediaStreamTrack.MessageEvent.RTCSessionDescription.ReadableStream.TextDecoderStream.TextEncoderStream.TransformStream.WritableStream.atob.btoa.clearTimeout.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"abort-controller/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"compression-streams/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CompressionStream`,`CountQueuingStrategy`,`DOMException`,`DecompressionStream`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/custom-events":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/event-target":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/ui-events":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-exception/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"eventsource/register":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.Event.EventSource.EventTarget.File.Headers.MessageEvent.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"fetch/register/fetch":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.File.Headers.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"fetch/register/xhr":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.Event.EventTarget.File.Headers.ProgressEvent.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.XMLHttpRequest.XMLHttpRequestUpload.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"message-channel/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`MessageChannel`,`MessagePort`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/queuing":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/readable":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/text-streams":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/transform":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/writable":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"webassembly/register/promise":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WebAssembly`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"webcrypto/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`crypto`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"websocket/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`]}});function expandWithClosure(n,a){let S=new Set(n),C=[...n];for(;C.length>0;){let n=MA[C.pop()];if(!n)continue;let N=NA[n];if(N)for(let n of N)a.has(n)||MA[n]&&(S.has(n)||(S.add(n),C.push(n)))}return S}function isSubset(n,a){for(let S of n)if(!a.has(S))return!1;return!0}async function applyExcludeGlobals(n,a,S,C,N){if(C?.length)for(let a of C)n.delete(a);let F=detectedToRegisterPaths(n);for(let n of S)F.add(n);if(emitGiBackedDiagnostic(F,n,N),!C?.length)return{detected:n,injectPath:a};let I=N?filterResolvableRegisterPaths(F,N):F;return{detected:n,injectPath:I.size>0?await writeRegisterInjectFile(I,N)??void 0:void 0}}function detectedToRegisterPaths(n){let a=new Set;for(let S of n){let n=MA[S];n&&a.add(n)}return a}function giNamespacesForRegister(n){for(let a of Object.keys(PA))if(n===a||n.startsWith(a+`/`))return PA[a];return null}function describeGiBackedInjection(n,a){let S=new Set,C=new Set;for(let a of n){let n=giNamespacesForRegister(a);if(n){S.add(a);for(let a of n)C.add(a)}}if(S.size===0)return null;let N=[...a].filter(n=>{let a=MA[n];return!!a&&S.has(a)}).sort();return`[gjsify] note: --globals auto injected GTK/GNOME-backed register(s) — this bundle now requires ${[...C].sort().map(n=>`gi://${n}`).join(`, `)} at load.`+(N.length?` Triggered by: ${N.join(`, `)}.`:``)+` If it runs headless / SSR / in a GTK-less container it will throw "Typelib … not found"; drop those globals via excludeGlobals or pin an explicit --globals allowlist (e.g. node).`}function emitGiBackedDiagnostic(n,a,S){if(IA)return;let C=new Set;for(let a of n)giNamespacesForRegister(a)&&(S&&!isRegisterPathResolvable(a,S)||C.add(a));let N=describeGiBackedInjection(C,a);N&&(IA=!0,ke.warn(N))}function isFullConfig(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&`plugins`in n&&`options`in n}async function detectAutoGlobals(n,a,S,C,N={},F=defaultBundler){let I=N.extraGlobalsList?resolveGlobalsList(N.extraGlobalsList):new Set,H=new Set(N.excludeGlobals??[]),W=N.cwd,K=new Set,q;I.size>0&&(q=await writeRegisterInjectFile(W?filterResolvableRegisterPaths(I,W):I,W)??void 0);let Y=(n.plugins??[]).filter(n=>{let a=n&&typeof n==`object`&&`name`in n?n.name:void 0;return a!==`gjsify`&&a!==`gjsify-orchestrator`});for(let X=1;X<=FA;X++){let te=await S({...a,autoGlobalsInject:q}),ne,re;isFullConfig(te)?(re=te.options,ne=te.plugins):ne=te;let ie=q?appendInjectAsEntry(n.input,q):n.input,ae=n.resolve??re?.resolve,oe=n.external??re?.external,Z=n.transform??re?.transform,se=re?.treeshake,ce=Array.isArray(ne)?ne:[ne],le=await F({rolldownInput:{input:ie,external:oe,resolve:ae,transform:Z,plugins:[...Y,...ce],logLevel:`silent`,...se===void 0?{}:{treeshake:se}},format:n.format??`esm`});if(le.length===0)return{detected:new Set,injectPath:q};let ue=new Set;for(let n=0;n<le.length;n++){let a=le[n]??``;try{for(let n of detectFreeGlobals(a))ue.add(n)}catch(S){if(globalThis.process?.env?.GJSIFY_DEBUG_AUTO_GLOBALS){let S=`/tmp/gjsify-auto-globals-failed-chunk-${n}.mjs`;try{(await Promise.resolve().then(()=>(Zc(),Jc))).writeFileSync(S,a),ke.error(`[gjsify-auto-globals] parse failed on chunk #${n} — wrote ${S} for inspection`)}catch{}}throw S}}if(H.size>0)for(let n of H)ue.delete(n);if(isSubset(ue,K)){if(C){let n=[...K].sort(),a=I.size>0?` (+ ${I.size} extra register module(s))`:``;ke.debug(`[gjsify] --globals auto: converged after ${X-1} iteration(s), ${K.size} global(s)${n.length?`: `+n.join(`, `):``}${a}`)}return applyExcludeGlobals(K,q,I,N.excludeGlobals,W)}let de=N.disableClosureExpansion?ue:expandWithClosure(ue,H);C&&de.size>ue.size&&ke.debug(`[gjsify] --globals auto: closure map expanded ${ue.size} → ${de.size} global(s)`),X>1&&C&&ke.debug("[gjsify] --globals auto: detection grew past the closure-map expansion — the committed register-globals-closure map looks stale. Regenerate via `node packages/infra/cli/scripts/generate-register-closure.mjs`."),K=new Set([...K,...de]);let fe=detectedToRegisterPaths(K);for(let n of I)fe.add(n);if(W&&(fe=filterResolvableRegisterPaths(fe,W)),fe.size===0)return{detected:K,injectPath:void 0};if(q=await writeRegisterInjectFile(fe,W)??void 0,C){let n=[...K].sort();ke.debug(`[gjsify] --globals auto: iteration ${X}, ${K.size} global(s)${n.length?`: `+n.join(`, `):``}`)}}return C&&ke.debug(`[gjsify] --globals auto: hit max iterations (${FA}), using last detected set`),applyExcludeGlobals(K,q,I,N.excludeGlobals,W)}function appendInjectAsEntry(n,a){return n===void 0?[a]:typeof n==`string`?[n,a]:Array.isArray(n)?[...n,a]:{...n,__gjsify_inject:a}}var defaultBundler,MA,NA,PA,FA,IA,LA=__esmMin(()=>{Ae(),Bb(),Wb(),Fb(),jA(),defaultBundler=async({rolldownInput:n,format:a})=>{let S=await(await import(`rolldown`)).rolldown(n);try{let n=await S.generate({format:a,minify:!1,sourcemap:!1}),C=[];for(let a of n.output)a.type===`chunk`&&C.push(a.code);return C}finally{await S.close()}},MA=Nb,NA=AA,PA=Pb,FA=5,IA=!1}),RA=__esmMin(()=>{Wb(),Bb(),LA()});function findPnpRoot(n){let a=n;for(;;){if(existsSync(ns(a,`.pnp.cjs`)))return a;let n=as(a);if(n===a)return null;a=n}}async function loadPnpApi(){try{let n=await import(`pnpapi`);return n.default??n}catch{return null}}async function pnpPlugin(n={}){let a=n.issuerUrl??import.meta.url;if(!findPnpRoot(process.cwd()))return null;let S=await loadPnpApi();if(S===null)return null;let C=fileURLToPath(a),N=createRequire(C),F=n.relayPackages??[`@gjsify/node-polyfills`,`@gjsify/web-polyfills`],I=[];for(let n of F)try{I.push(N.resolve(`${n}/package.json`))}catch{}return{name:`gjsify-pnp`,resolveId:{order:`pre`,async handler(n,a){if(n.startsWith(`.`)||n.startsWith(`/`))return null;if(n.startsWith(`gi://`))return{id:n,external:!0};if(n.startsWith(`node:`))return await this.resolve(n,a,{skipSelf:!0});if(!a)return null;let N=a.startsWith(`file://`)?fileURLToPath(a):a;try{let a=S.resolveRequest(n,N);return a===null?null:{id:a}}catch(a){if(!isUndeclaredDependency(a))throw a;try{let a=S.resolveRequest(n,C);if(a!==null)return{id:a}}catch(n){if(!isUndeclaredDependency(n))throw n}for(let a of I)try{let C=S.resolveRequest(n,a);if(C!==null)return{id:C}}catch(n){if(!isUndeclaredDependency(n))throw n}return null}}},async load(n){if(!n.includes(`/.yarn/`)&&!n.includes(`.zip/`))return null;try{return{code:await readFile$1(n,`utf8`)}}catch(a){let S=a instanceof Error?a.message:String(a);this.error(`gjsify-pnp: failed to read ${n}: ${S}`)}}}}function isUndeclaredDependency(n){return typeof n==`object`&&!!n&&`pnpCode`in n&&n.pnpCode===`UNDECLARED_DEPENDENCY`}var zA=__esmMin(()=>{Uo(),mn(),ps(),Zc(),kc()});function normalizeBundlerOptions(n){let a=n.bundler??{},S=a;if(typeof a.define==`object`&&a.define!==null){VA||(VA=!0,ke.warn(`[gjsify] WARNING: 'bundler.define' is not a valid Rolldown option and would be silently ignored — it has been auto-mapped to 'bundler.transform.define'. Move 'define' under 'bundler.transform.define' in your config to suppress this warning and avoid a ReferenceError at GJS load time.`));let{define:n,...C}=a;S={...C,transform:{...C.transform,define:{...n,...C.transform?.define}}}}if(!n.esbuild)return S;BA||(BA=!0,ke.warn(`[gjsify] DEPRECATION: the 'esbuild' config key is deprecated and will be removed in 0.5.0. Rename it to 'bundler' (typed as RolldownOptions). See the migration notes in the gjsify CHANGELOG.`));let C=legacyEsbuildToRolldown(n.esbuild),N={...C,...S};return(C.output||S.output)&&(N.output={...C.output,...S.output}),(C.transform||S.transform)&&(N.transform={...C.transform,...S.transform},(C.transform?.define||S.transform?.define)&&(N.transform.define={...C.transform?.define,...S.transform?.define})),(C.resolve||S.resolve)&&(N.resolve={...C.resolve,...S.resolve}),N}function legacyEsbuildToRolldown(n){let a={},S={},C={},N={};return n.outfile!==void 0&&(S.file=n.outfile),n.outdir!==void 0&&(S.dir=n.outdir),n.format!==void 0&&(S.format=n.format),n.minify!==void 0&&(S.minify=n.minify),n.sourcemap!==void 0&&(S.sourcemap=n.sourcemap===`inline`?`inline`:!!n.sourcemap),n.banner?.js!==void 0&&(S.banner=n.banner.js),n.target!==void 0&&(C.target=Array.isArray(n.target)?n.target.join(`,`):n.target),n.define!==void 0&&(C.define=n.define),n.mainFields!==void 0&&(N.mainFields=n.mainFields),n.conditions!==void 0&&(N.conditionNames=n.conditions),n.external!==void 0&&(a.external=n.external),n.platform!==void 0&&(a.platform=n.platform),Object.keys(S).length>0&&(a.output=S),Object.keys(C).length>0&&(a.transform=C),Object.keys(N).length>0&&(a.resolve=N),a}function mergeBundlerOptions(n,a){let{input:S,external:C,...N}=a,F={...n,...N};return(n.output||a.output)&&(F.output={...n.output,...a.output}),(n.transform||a.transform)&&(F.transform={...n.transform,...a.transform},(n.transform?.define||a.transform?.define)&&(F.transform.define={...n.transform?.define,...a.transform?.define})),(n.resolve||a.resolve)&&(F.resolve={...n.resolve,...a.resolve}),F}var BA,VA,HA=__esmMin(()=>{Ae(),BA=!1,VA=!1});function isUnsafeDefaultOutput(n){if(/\.[cm]?tsx?$/i.test(n))return!0;let a=n.replace(/\\/g,`/`);return!!/(?:^|\/)src\//.test(a)}async function buildPnpPlugin(){return pnpPlugin({issuerUrl:import.meta.url})}function shortHash(n){let a=5381;for(let S=0;S<n.length;S++)a=(a<<5)+a+n.charCodeAt(S)>>>0;return a.toString(16).padStart(8,`0`)}function isTruthyEnv(n){return n===`1`||n===`true`||n===`yes`}async function newestLockfileMtime(n){let a=0;for(let S of WA)try{let C=await stat$1(ns(n,S));C.mtimeMs>a&&(a=C.mtimeMs)}catch{}return a}async function runOneLibraryBuild(n){let a=await gjsifyPlugin({input:n.userBundler.input,output:n.output,userAliases:n.userAliases},n.pluginOpts);return await runBundle({...mergeBundlerOptions(a.options,n.userBundler),plugins:[...n.pnpPlugins,...a.plugins]})}var UA,WA,GA,KA=__esmMin(()=>{Ae(),Hg(),OA(),zg(),kA(),RA(),zA(),ps(),mn(),kc(),HA(),UA=`#!/usr/bin/env -S gjs -m`,WA=[`gjsify-lock.json`,`package-lock.json`,`yarn.lock`,`pnpm-lock.yaml`],GA=class BuildAction{configData;constructor(n={}){this.configData=n}async buildLibrary(){let{verbose:n,library:a,typescript:S,exclude:C,aliases:N}=this.configData,F=a??{},I=normalizeBundlerOptions(this.configData),H=F.module?as(F.module):void 0,W=F.main?as(F.main):void 0,K=F.module?ss(F.module):`.js`,q=F.main?ss(F.main):`.js`,Y=H&&W&&H!==W,X=await buildPnpPlugin(),te=X?[X]:[],ne=[];if(Y){let a=H.includes(`/cjs`)||K===`.cjs`?`cjs`:`esm`;ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:a,exclude:C,reflection:S?.reflection,jsExtension:K},userBundler:I,output:{dir:H},userAliases:N,pnpPlugins:te}));let F=W.includes(`/cjs`)||q===`.cjs`?`cjs`:`esm`;ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:F,exclude:C,reflection:S?.reflection,jsExtension:q},userBundler:I,output:{dir:W},userAliases:N,pnpPlugins:te}))}else{let a=I.output?.file??F.module??F.main,H=a?ss(a):`.js`,W=I.output?.dir??(a?as(a):void 0),K=I.output?.format??(W?.includes(`/cjs`)||H===`.cjs`?`cjs`:`esm`);ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:K,exclude:C,reflection:S?.reflection,jsExtension:H},userBundler:I,output:{dir:W},userAliases:N,pnpPlugins:te}))}return ne}parseGlobalsValue(n){if(n===void 0)return{autoMode:!0,extras:``};if(n===`none`||n===``)return{autoMode:!1,extras:``};let a=n.split(`,`).map(n=>n.trim()).filter(Boolean);return{autoMode:a.includes(`auto`),extras:a.filter(n=>n!==`auto`).join(`,`)}}async resolveGlobalsInject(n,a,S){if(n!==`gjs`||!a)return;let C=resolveGlobalsList(a);if(C.size===0)return;let N=await writeRegisterInjectFile(C,process.cwd());return S&&N&&ke.debug(`[gjsify] globals: injected ${C.size} register module(s) from --globals ${a}`),N??void 0}async applyShebang(n,a,S){if(!a){S&&ke.warn(`[gjsify] --shebang skipped: no single outfile (use --outfile for executables)`);return}let C=n===`node`?lA:UA,N=resolveShebangLine(this.configData.shebang,C)??C,F=await readFile$1(a,`utf-8`);F.startsWith(`#!`)?S&&ke.debug(`[gjsify] --shebang skipped: ${a} already starts with a shebang`):await writeFile$1(a,N+`
739
- `+F),await chmod$1(a,493),S&&ke.debug(`[gjsify] --shebang: wrote ${N} + chmod 0o755 to ${a}`)}async loadPluginViaGjsBundle(n,a,S){let C=await this.bundlePluginForGjs(n,a,S);try{return await import(pathToFileURL(C).href)}catch(n){throw Error(`gjsify config: failed to import the GJS bundle for plugin "${a}" (bundled to ${C}). (${n.message})`)}}async bundlePluginForGjs(n,a,S){let C=process.cwd(),N=ns(C,`node_modules`,`.cache`,`gjsify`,`plugins`),F=ns(N,`${a.replace(/[^a-zA-Z0-9._-]/g,`_`)}-${shortHash(n)}.mjs`);if(!isTruthyEnv(process.env.GJSIFY_NO_PLUGIN_CACHE)&&await this.isPluginBundleFresh(F,n,C))return S&&ke.debug(`[gjsify] plugin "${a}": reusing cached GJS bundle ${F}`),F;S&&ke.debug(`[gjsify] plugin "${a}": bundling for GJS → ${F}`);try{await mkdir$1(N,{recursive:!0}),await new BuildAction({verbose:S,bundler:{input:n,output:{file:F}}}).buildApp(`gjs`,{preserveDefaultExport:!0})}catch(n){throw Error(`gjsify config: failed to bundle plugin "${a}" for GJS (needed because GJS can't import packages that use exports-map subpaths directly; cache dir ${N}). (${n.message})`)}return F}async isPluginBundleFresh(n,a,S){try{let C=await stat$1(n),N=await stat$1(a),F=await newestLockfileMtime(S);return C.mtimeMs>=Math.max(N.mtimeMs,F)}catch{return!1}}async buildApp(n=`gjs`,a={}){let{verbose:S,typescript:C,exclude:N,library:F,aliases:I,excludeGlobals:H}=this.configData,W=normalizeBundlerOptions(this.configData),K=W.output?.format??(W.output?.file?.endsWith(`.cjs`)?`cjs`:`esm`),q=K===`iife`?`esm`:K,Y=W.output?.file,X=W.output?.dir;if(!Y&&!X&&(F?.main||F?.module)){let n=q===`cjs`?F.main??F.module:F.module??F.main;if(n&&isUnsafeDefaultOutput(n))throw Error(`gjsify build: refusing to default --outfile to ${n} (would overwrite a TypeScript source file). Pass --outfile/--outdir explicitly, or set "gjsify.bundler.output.file" in package.json.`);Y=n}let{consoleShim:te,globals:ne}=this.configData,re=Array.isArray(W.external)?W.external:void 0,ie=typeof W.output?.banner==`string`?W.output.banner:void 0,ae={debug:S,app:n,format:q,exclude:N,reflection:C?.reflection,consoleShim:te,...I?{aliases:I}:{},...a.preserveDefaultExport?{preserveDefaultExport:!0}:{}},{autoMode:oe,extras:Z}=this.parseGlobalsValue(ne),se=await buildPnpPlugin(),ce=se?[se]:[],le=textLoaderPlugin({loaders:this.configData.loaders}),ue=le?[le]:[];if(W.plugins?.length){let n=await resolveUserPlugins(W.plugins,process.cwd(),isGjs()?{loadModule:(n,a)=>this.loadPluginViaGjsBundle(n,a,S)}:{});ue.push(...n)}if(n===`gjs`&&oe){let gjsifyPluginFactory=async n=>{let a=await gjsifyPlugin({input:W.input,output:{file:Y,dir:X},userExternal:re,userBanner:ie,userAliases:I,shebang:this.configData.shebang},n);return{options:a.options,plugins:a.plugins}},{injectPath:n}=await detectAutoGlobals({input:W.input,plugins:[...ce,...ue],external:W.external,transform:W.transform,format:q},ae,gjsifyPluginFactory,S,{extraGlobalsList:Z,excludeGlobals:H,cwd:process.cwd()},bundleToChunks);ae.autoGlobalsInject=n}else Z&&(ae.autoGlobalsInject=await this.resolveGlobalsInject(n,Z,S));let de=await gjsifyPlugin({input:W.input,output:{file:Y,dir:X},userExternal:re,userBanner:ie,userAliases:I,shebang:this.configData.shebang},ae),fe={...mergeBundlerOptions(de.options,W),plugins:[...ce,...ue,...de.plugins]};if(a.watch)return await this.runWatchLoop(fe,n,Y,S),[];let pe=await runBundle(fe);return(n===`gjs`||n===`node`)&&this.configData.shebang&&await this.applyShebang(n,Y,S),[pe]}async runWatchLoop(n,a,S,C){let N=await runWatch(n),F=new Promise(n=>{N.on(`close`,()=>n())}),I=!1,shutdown=async()=>{if(!I){I=!0,ke.log(`
740
- [gjsify build --watch] stopping watcher…`);try{await N.close()}catch(n){ke.error(`[gjsify build --watch] watcher close error:`,n)}}};process.on(`SIGINT`,shutdown),process.on(`SIGTERM`,shutdown),N.on(`event`,async n=>{switch(n.code){case`START`:C&&ke.log(`[gjsify build --watch] rebuild start`);break;case`BUNDLE_START`:ke.log(`[gjsify build --watch] building…`);break;case`BUNDLE_END`:ke.log(`[gjsify build --watch] built in ${n.duration}ms`);try{(a===`gjs`||a===`node`)&&this.configData.shebang&&await this.applyShebang(a,S,C)}finally{await n.result.close()}break;case`END`:ke.log(`[gjsify build --watch] waiting for changes…`);break;case`ERROR`:ke.error(`[gjsify build --watch] build failed:`,n.error?.message??n.error),C&&n.error?.stack&&ke.error(n.error.stack);try{await n.result.close()}catch{}break}}),C&&N.on(`change`,(n,a)=>{ke.log(`[gjsify build --watch] ${a.event}: ${n}`)}),await F}async start(n={app:`gjs`}){if(n.library){if(n.watch)throw Error(`gjsify build: --watch is not supported with --library (library mode would emit watcher rebuilds for every produced format; use --app gjs|node|browser instead).`);return await this.buildLibrary()}return await this.buildApp(n.app,{watch:n.watch})}}}),qA,JA=__esmMin(()=>{Fg(),KA(),qA={command:`build [entryPoints..]`,description:`Build and bundle your Gjs project`,builder:n=>n.option(`entry-points`,{description:`The entry points you want to bundle. Defaults to bundler.input from package.json#gjsify or .gjsifyrc.js, falling back to src/index.ts when neither is set.`,array:!0,type:`string`,normalize:!0,defaultDescription:`src/index.ts (fallback)`,coerce:n=>[...new Set(n)]}).option(`exclude`,{description:`An array of glob patterns to exclude entry-points and aliases`,array:!0,type:`string`,normalize:!0,default:[]}).option(`verbose`,{description:`Switch on the verbose mode`,type:`boolean`,normalize:!0,default:!1}).option(`app`,{description:`Use this if you want to build an application, the platform node is usually only used for tests`,type:`string`,choices:[`gjs`,`node`,`browser`,`nativescript`],normalize:!0,default:`gjs`}).option(`format`,{description:`Override the default output format`,type:`string`,choices:[`iife`,`esm`,`cjs`],normalize:!0}).option(`minify`,{description:`Minify the bundled output. Defaults to true; use --no-minify to emit pretty-printed code (e.g. for debugging or readable bundle review).`,type:`boolean`,normalize:!0,defaultDescription:`true`}).option(`library`,{description:`Use this if you want to build a library for Gjsify`,type:`boolean`,normalize:!0,default:!1}).option(`outfile`,{alias:`o`,description:`Sets the output file name for the build operation. If no outfile is specified, the outfile will be parsed from the package.json. Only used if application mode is active`,type:`string`,normalize:!0}).option(`outdir`,{alias:`d`,description:`Sets the output directory for the build operation. If no outdir is specified, the outdir will be parsed from the package.json. Only used if library mode is active`,type:`string`,normalize:!0}).option(`reflection`,{alias:`r`,description:`Enables TypeScript types on runtime using Deepkit's type compiler`,type:`boolean`,normalize:!0,default:!1}).option(`log-level`,{description:`The log level can be changed to prevent esbuild from printing warning and/or error messages to the terminal`,type:`string`,choices:[`silent`,`error`,`warning`,`info`,`debug`,`verbose`],normalize:!0,default:`warning`}).option(`console-shim`,{description:`Inject a console shim into GJS builds for clean output without the GLib prefix and with working ANSI colors. Use --no-console-shim to disable. Only applies to GJS app builds.`,type:`boolean`,normalize:!0,default:!0}).option(`globals`,{description:"Comma-separated list of global identifiers, 'auto' (default) to detect automatically from the bundled output, or 'none' to disable. The 'auto' token may be combined with explicit identifiers/groups (e.g. 'auto,dom') for cases where the detector cannot statically see a global because it's accessed via indirection. Each identifier is mapped to the corresponding `@gjsify/<pkg>/register` module and injected into the bundle. See the CLI Reference docs for the full list of known identifiers. Only applies to GJS app builds.",type:`string`,normalize:!0}).option(`shebang`,{description:"Prepend a target-appropriate shebang to the output and mark it executable (chmod 755): `#!/usr/bin/env -S gjs -m` for --app gjs, `#!/usr/bin/env node` for --app node. Applies to GJS and Node app builds with a single --outfile. Default: false (use --shebang to enable, or set `shebang: true` in `.gjsifyrc.js`).",type:`boolean`,normalize:!0}).option(`external`,{description:"Module names that should NOT be bundled — EXACT package names only, matched literally on both bundler engines (no globs). Repeat the flag or pass a comma-separated list (e.g. --external typedoc,prettier). Appended to the per-app built-in externals; register subpaths (`<pkg>/register[/…]`) are always force-inlined for --app gjs regardless of this flag.",array:!0,type:`string`,default:[],coerce:n=>n.flatMap(n=>n.split(`,`).map(n=>n.trim()).filter(Boolean))}).option(`define`,{description:`Substitute compile-time constants. Each entry is KEY=VALUE where VALUE is a JS expression (string literals must be quoted: --define VERSION='"1.2.3"'). Repeat the flag or pass comma-separated. See https://esbuild.github.io/api/#define`,array:!0,type:`string`,default:[]}).option(`alias`,{description:`Map module specifiers at bundle time. Each entry is FROM=TO (e.g. --alias typedoc=@gjsify/empty). Layered on top of the built-in alias map. Useful for stubbing heavy deps the test scenario never executes.`,array:!0,type:`string`,default:[],coerce:n=>n.flatMap(n=>n.split(`,`).map(n=>n.trim()).filter(Boolean))}).option(`exclude-globals`,{description:`Comma-separated global identifiers to remove from auto-detection results. Use for false positives from dead browser-compat code whose polyfills require unavailable native libraries (e.g. --exclude-globals fetch,XMLHttpRequest).`,type:`string`,normalize:!0}).option(`watch`,{alias:`w`,description:"Watch source files and rebuild on change. Logs each rebuild with duration; clean SIGINT shutdown. Only valid with --app gjs|node|browser (rejected with --library). Requires the npm `rolldown` engine — run under Node, not the GJS-bundled CLI.",type:`boolean`,normalize:!0,default:!1}),handler:async n=>{await new GA(await new Config().forBuild(n)).start({library:n.library,app:n.app,watch:n.watch})}}});function nodeArchToLinuxArch(n){return{x64:`x86_64`,arm64:`aarch64`,arm:`armv7`,ia32:`i686`}[n]??n}function readPackageJson$3(n){try{return JSON.parse(readFileSync(n,`utf-8`))}catch{return null}}function scanNodeModules(n,a){let S=[];if(!existsSync(n))return S;let C;try{C=readdirSync(n)}catch{return S}for(let N of C)if(!N.startsWith(`.`))if(N.startsWith(`@`)){let C=ns(n,N),F;try{F=readdirSync(C)}catch{continue}for(let n of F){let F=checkPackage(ns(C,n),`${N}/${n}`,a);F&&S.push(F)}}else{let C=checkPackage(ns(n,N),N,a);C&&S.push(C)}return S}function checkPackage(n,a,S){let C=readPackageJson$3(ns(n,`package.json`));if(!C)return null;let N=C.gjsify;if(!N||typeof N!=`object`)return null;let F=N.prebuilds;if(typeof F!=`string`)return null;let I=ns(n,F,`linux-${S}`);return existsSync(I)?{name:a,prebuildsDir:I}:null}function detectNativePackages(n){let a=nodeArchToLinuxArch(process.arch),S=[],C=new Set,N=$o(n);for(;;){let n=ns(N,`node_modules`);if(existsSync(n))for(let N of scanNodeModules(n,a))C.has(N.name)||(C.add(N.name),S.push(N));let F=$o(N,`..`);if(F===N)break;N=F}return S}function buildNativeEnv(n){let a=n.map(n=>n.prebuildsDir),S=process.env.LD_LIBRARY_PATH??``,C=process.env.GI_TYPELIB_PATH??``;return{LD_LIBRARY_PATH:[...a,...S?[S]:[]].join(`:`),GI_TYPELIB_PATH:[...a,...C?[C]:[]].join(`:`)}}var YA=__esmMin(()=>{Zc(),ps(),__name$1(readPackageJson$3,`readPackageJson`)}),XA=__exportAll$3({computeNativeEnvForBundle:()=>computeNativeEnvForBundle,runGjsBundle:()=>runGjsBundle});function computeNativeEnvForBundle(n,a=process.cwd()){let S=$o(n),C=detectNativePackages(a),N=detectNativePackages(as(S)),F=new Set(C.map(n=>n.name)),I=buildNativeEnv([...C,...N.filter(n=>!F.has(n.name))]);return{env:I,envPrefix:Object.entries(I).filter(([,n])=>n!==void 0&&n!==``).map(([n,a])=>`${n}=${a}`).join(` `)}}async function runGjsBundle(n,a=[],S={}){let{env:C,envPrefix:N}=computeNativeEnvForBundle(n),F={...process.env,...C},I=[`-m`,n,...a],H=[`gjs`,...I.map(n=>n.includes(` `)?`"${n}"`:n)].join(` `);ke.error(`$ ${N?`${N} `:``}${H}`);let W=spawn(`gjs`,I,{env:F,stdio:`inherit`});await new Promise((n,a)=>{W.on(`close`,S=>{S===0?n():a(Error(`gjs exited with code ${S}`))}),W.on(`error`,a)}).catch(n=>{ke.error(n.message),process.exit(1)}),S.exitOnSuccess&&process.exit(0)}var ZA=__esmMin(()=>{Ae(),sC(),ps(),YA()});async function buildTestBundle(n,a,S,C){let N=await new Config().forBuild({entryPoints:[n],outfile:a,app:S,verbose:C??!1,logLevel:`warning`,exclude:[]});N.library={...N.library},N.bundler={...N.bundler,input:[n],output:{...N.bundler?.output,file:a}},await new GA(N).start({app:S,library:!1})}async function runTestBundle(n,a){if(a===`gjs`){await runGjsBundle(n);return}await new Promise((a,S)=>{let C=spawn(`node`,[n],{stdio:`inherit`});C.on(`error`,S),C.on(`exit`,n=>{n===0?a():S(Error(`node exited with code ${n}`))})})}function isFresh(n,a){if(!existsSync(n))return!1;let S=statSync(n).mtimeMs,C=as(a);try{return S>=newestMtimeUnder(existsSync(C)?C:a)}catch{return!1}}function newestMtimeUnder(n){let a=statSync(n);if(a.isFile())return a.mtimeMs;let S=a.mtimeMs;for(let a of readdirSync(n,{withFileTypes:!0})){if(a.name===`node_modules`||a.name===`dist`||a.name===`lib`||a.name.startsWith(`.`))continue;let C=newestMtimeUnder(ns(n,a.name));C>S&&(S=C)}return S}var QA,$A=__esmMin(()=>{Ae(),Zc(),ps(),sC(),Fg(),KA(),ZA(),QA={command:`test`,description:"Build + run the package’s `src/test.mts` suite on GJS and Node and aggregate the results. Replaces the per-package `build:test:{gjs,node}` + `test:{gjs,node}` script boilerplate.",builder:n=>n.option(`runtime`,{description:`Target runtime. Default: both.`,type:`string`,choices:[`gjs`,`node`,`all`],default:`all`}).option(`entry`,{description:"Path to the test entry. Default: `src/test.mts` (or `gjsify.test.entry`).",type:`string`,normalize:!0}).option(`outdir`,{description:"Output directory for the built test bundles. Default: `dist/`.",type:`string`,normalize:!0}).option(`rebuild`,{description:`Always rebuild the test bundles, even when they look up-to-date.`,type:`boolean`,default:!1}).option(`build`,{description:`Build before running. Default: true (use --no-build to skip when bundles already exist).`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print resolved entry/outdir + per-step timing.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).test??{},C=$o(a,n.entry??S.entry??`src/test.mts`),N=$o(a,n.outdir??S.outdir??`dist`);existsSync(C)||(ke.error(`[gjsify test] no test entry at ${rs(a,C)} — add an \`src/test.mts\` that aggregates your \`@gjsify/unit\` suites, or set \`gjsify.test.entry\` in package.json.`),process.exit(1));let F=n.runtime===`gjs`?[`gjs`]:n.runtime===`node`?[`node`]:S.runtimes&&S.runtimes.length>0?S.runtimes:[`gjs`,`node`],I=[];for(let S of F){let F=ns(N,`test.${S}.mjs`);if(n.build!==!1)if(n.rebuild||!isFresh(F,C)){let N=Date.now();n.verbose&&ke.log(`[gjsify test] building → ${rs(a,F)} (—app ${S})`);try{await buildTestBundle(C,F,S,n.verbose),n.verbose&&ke.log(`[gjsify test] built ${S} in ${Date.now()-N}ms`)}catch(n){ke.error(`[gjsify test] build failed for ${S}:`,n.message),I.push({runtime:S,ok:!1,durationMs:0,error:`build failed`});continue}}else n.verbose&&ke.log(`[gjsify test] ${S}: bundle is up-to-date — skipping build (use --rebuild to force)`);else if(!existsSync(F)){ke.error(`[gjsify test] --no-build but ${rs(a,F)} doesn't exist. Build first or drop --no-build.`),I.push({runtime:S,ok:!1,durationMs:0,error:`no bundle`});continue}let H=Date.now();try{await runTestBundle(F,S),I.push({runtime:S,ok:!0,durationMs:Date.now()-H})}catch(n){I.push({runtime:S,ok:!1,durationMs:Date.now()-H,error:n.message})}}let H=I.map(n=>`${n.ok?`✅`:`❌`} ${n.runtime} (${n.durationMs}ms)${n.error?` — ${n.error}`:``}`).join(` `);ke.log(`[gjsify test] ${H}`),I.some(n=>!n.ok)&&process.exit(1),process.exit(0)}}});function readPackageJson$2(n){if(!existsSync(n))return null;let a=readFileSync(n,`utf-8`);try{return JSON.parse(a)}catch(a){throw Error(`gjsify install: ${n} is not valid JSON: ${a.message}`)}}function writePackageJson(n,a){let S=sortKnownDepFields(a);writeFileSync(n,JSON.stringify(S,null,2)+`
741
- `,`utf-8`)}function parseSpec$2(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return{name:n};let S=n.indexOf(`@`,a+1);return S===-1?{name:n}:{name:n.slice(0,S),range:n.slice(S+1)}}let a=n.indexOf(`@`);return a===-1?{name:n}:{name:n.slice(0,a),range:n.slice(a+1)}}function projectSpecsFromPackageJson(n){let a=[];for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=n[S];if(C)for(let[n,S]of Object.entries(C))typeof S==`string`&&(/^(workspace|link|file|portal|git\+|https?):/.test(S)||a.push(`${n}@${S}`))}return a}function addDependencyEntry(n,a,S,C){n[C]===void 0&&(n[C]={}),n[C][a]=S}function defaultRangeFromVersion(n){return`^${n}`}function sortKnownDepFields(n){let a={...n};for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let S=a[n];S&&(a[n]=Object.fromEntries(Object.entries(S).sort(([n],[a])=>n<a?-1:+(n>a))))}return a}var ej=__esmMin(()=>{Zc(),__name$1(readPackageJson$2,`readPackageJson`),__name$1(parseSpec$2,`parseSpec`)});function looksLikeFile(n){if(n.startsWith(`./`)||n.startsWith(`../`)||n.startsWith(`/`)||n.includes(`/`)||n.includes(`\\`)||/\.(c?js|mjs|cjs|gjs)$/.test(n))return!0;try{return statSync(n).isFile()}catch{return!1}}async function runScript(n,a){let S=process.cwd(),C=ns(S,`package.json`),N=readPackageJson$2(C);N||(ke.error(`gjsify run: no package.json in ${S}`),process.exit(1));let F=N.scripts??{},I=F[n];if(typeof I!=`string`){let a=Object.keys(F).join(`, `)||`<none>`;ke.error(`gjsify run: no script "${n}" in ${C} (available: ${a})`),process.exit(1)}let H=findWorkspaceRoot(S),W=[ns(S,`node_modules`,`.bin`)];H&&H!==S&&W.push(ns(H,`node_modules`,`.bin`)),process.env.GJSIFY_SHIM_DIR&&W.unshift(process.env.GJSIFY_SHIM_DIR);let K=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`},q={...process.env,...K,PATH:[...W,process.env.PATH??``].filter(Boolean).join(ds),npm_lifecycle_event:n,npm_package_name:N.name??``,npm_package_version:N.version??``},Y=isGjs()?gjsifyInProcessArgv(I,a):null;if(Y){process.env.PATH=q.PATH,process.env.npm_lifecycle_event=q.npm_lifecycle_event,process.env.npm_package_name=q.npm_package_name,process.env.npm_package_version=q.npm_package_version,q.FORCE_COLOR!==void 0&&(process.env.FORCE_COLOR=q.FORCE_COLOR);try{let{runCli:n}=await Promise.resolve().then(()=>(bP(),yP));await n(Y)}catch(n){ke.error(n.message),process.exit(1)}process.exit(process.exitCode==null?0:Number(process.exitCode))}let X=a.length>0?`${I} ${a.map(shellEscape).join(` `)}`:I;await new Promise((a,C)=>{let N=spawn(X,[],{cwd:S,env:q,stdio:`inherit`,shell:!0});N.on(`close`,S=>{S===0?a():C(Error(`script "${n}" exited with code ${S}`))}),N.on(`error`,C)}).catch(n=>{ke.error(n.message),process.exit(1)}),process.exit(0)}function shellEscape(n){return/^[a-zA-Z0-9_\-./=:@,]+$/.test(n)?n:`'${n.replace(/'/g,`'\\''`)}'`}function gjsifyInProcessArgv(n,a){let S=tokenizeSimpleCommand(n);return!S||S.length<2||S[0]!==`gjsify`?null:[...S.slice(1),...a]}function tokenizeSimpleCommand(n){let a=[],S=``,C=!1,N=null;for(let F=0;F<n.length;F++){let I=n[F];if(N===`'`){I===`'`?N=null:S+=I;continue}if(N===`"`){if(I===`"`)N=null;else if(I===`\\`&&(n[F+1]===`"`||n[F+1]===`\\`))S+=n[++F];else if(I===`$`||I==="`")return null;else S+=I;continue}if(I===`'`||I===`"`){N=I,C=!0;continue}if(I===` `||I===` `){C&&=(a.push(S),S=``,!1);continue}if(`|&;<>\`$()\\
742
- \r*?{}[]~#!`.includes(I))return null;S+=I,C=!0}return N?null:(C&&a.push(S),a)}var tj,nj=__esmMin(()=>{Ae(),Zc(),ps(),sC(),ZA(),ej(),Lg(),zg(),tj={command:`run <target> [args..]`,description:"Run a script from package.json (yarn-run-style) or a GJS bundle file. If <target> resolves to a file on disk (or has a path-like prefix), it is launched via gjs with LD_LIBRARY_PATH + GI_TYPELIB_PATH set for native packages. Otherwise it is looked up in the current package.json `scripts`.",builder:n=>n.positional(`target`,{description:"Either a script name (looked up in package.json `scripts`) or a path to a GJS bundle (e.g. dist/gjs.js).",type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments passed through to the script / gjs.`,type:`string`,array:!0,default:[]}).parserConfiguration({"populate--":!0,"unknown-options-as-args":!0}),handler:async n=>{let a=n.target,S=n.args??[],C=(n[`--`]??[]).filter(n=>typeof n==`string`),N=[...S,...C],F=readPackageJson$2(ns(process.cwd(),`package.json`));if(!(F?.scripts&&typeof F.scripts[a]==`string`)&&looksLikeFile(a)){await runGjsBundle($o(a),N,{exitOnSuccess:!0});return}await runScript(a,N)}}}),rj,ij=__esmMin(()=>{Ae(),ps(),YA(),rj={command:`info [file]`,description:`Show native gjsify packages detected in node_modules and the env vars needed to run a GJS bundle directly with gjs.`,builder:n=>n.positional(`file`,{description:`Optional: the GJS bundle path to include in the example command (e.g. dist/gjs.js)`,type:`string`,normalize:!0}).option(`export`,{description:`Output only shell export statements suitable for eval (eval $(gjsify info --export))`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.file?$o(n.file):null,C=detectNativePackages(a),{LD_LIBRARY_PATH:N,GI_TYPELIB_PATH:F}=buildNativeEnv(C);if(n.export){ke.log(`export LD_LIBRARY_PATH="${N}"`),ke.log(`export GI_TYPELIB_PATH="${F}"`);return}if(C.length===0){ke.log(`No native gjsify packages detected in node_modules.`),ke.log(`Native packages declare "gjsify": { "prebuilds": "<dir>" } in their package.json.`);return}ke.log(`Native packages detected:`);for(let n of C)ke.log(` ${n.name} → ${n.prebuildsDir}`);ke.log(``),ke.log(`To run your app directly with gjs, set:`),ke.log(` export LD_LIBRARY_PATH="${N}"`),ke.log(` export GI_TYPELIB_PATH="${F}"`),S?ke.log(` gjs -m ${S}`):ke.log(` gjs -m <your-bundle.js>`),ke.log(``),ke.log(`Or use gjsify run to handle this automatically:`),S?ke.log(` gjsify run ${n.file}`):ke.log(` gjsify run <your-bundle.js>`)}}});function tryExecFile(n,a){try{return execFileSync(n,a,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return null}}function checkBinary(n,a,S,C,N,F,I){let H=tryExecFile(S,C);return H===null?{id:n,name:a,found:!1,severity:N,requiredBy:I}:{id:n,name:a,found:!0,version:F?F(H):H.split(`
735
+ `+N:``)}function processStubPlugin(n={}){let a=composeBanner((n.captureBundleUrl?Ik:``)+Rk+Bk,n.userBanner??``);return{name:`gjsify-process-stub`,renderChunk:{order:`post`,handler(n,S){return S.isEntry?{code:a+`
736
+ `+n,map:null}:null}}}}var Bk,Vk=__esmMin(()=>{Lk(),zk(),Bk=`if(typeof globalThis.process==="undefined"){const _s=imports.system,_G=imports.gi.GLib;const _h=t=>t?[0,0]:[0,0];_h.bigint=()=>0n;globalThis.process={platform:"linux",arch:"x64",version:"v20.0.0",env:new Proxy({},{get(_,p){return typeof p==="string"?(_G.getenv(p)??undefined):undefined},set(_,p,v){if(typeof p==="string")_G.setenv(p,String(v),true);return true},has(_,p){return typeof p==="string"&&_G.getenv(p)!==null},deleteProperty(_,p){if(typeof p==="string")_G.unsetenv(p);return true},ownKeys(){return _G.listenv()??[]},getOwnPropertyDescriptor(_,p){const v=_G.getenv(p);return v!==null?{value:v,writable:true,enumerable:true,configurable:true}:undefined}}),argv:_s?.programArgs?["gjs",_s.programInvocationName||"",..._s.programArgs]:["gjs"],versions:{},config:{},cwd(){return _G.get_current_dir()||"/"},exit(c){_s.exit(c??0)},stderr:{write(s){printerr(s)}},stdout:{write(s){print(s)}},stdin:null,exitCode:undefined,nextTick(fn,...a){Promise.resolve().then(()=>fn(...a))},hrtime:_h,};}`}),Hk=__commonJSMin$1(((n,a)=>{let isLinux=()=>process.platform===`linux`,S=null,getReport=()=>{if(!S)if(isLinux()&&process.report){let n=process.report.excludeNetwork;process.report.excludeNetwork=!0,S=process.report.getReport(),process.report.excludeNetwork=n}else S={};return S};a.exports={isLinux,getReport}})),Uk=__commonJSMin$1(((n,a)=>{let S=(Zc(),__toCommonJS(Jc)),C=2048,readFileSync=n=>{let a=S.openSync(n,`r`),N=Buffer.alloc(C),F=S.readSync(a,N,0,C,0);return S.close(a,()=>{}),N.subarray(0,F)},readFile=n=>new Promise((a,N)=>{S.open(n,`r`,(n,F)=>{if(n)N(n);else{let n=Buffer.alloc(C);S.read(F,n,0,C,0,(C,N)=>{a(n.subarray(0,N)),S.close(F,()=>{})})}})});a.exports={LDD_PATH:`/usr/bin/ldd`,SELF_PATH:`/proc/self/exe`,readFileSync,readFile}})),Wk=__commonJSMin$1(((n,a)=>{let interpreterPath=n=>{if(n.length<64||n.readUInt32BE(0)!==2135247942||n.readUInt8(4)!==2||n.readUInt8(5)!==1)return null;let a=n.readUInt32LE(32),S=n.readUInt16LE(54),C=n.readUInt16LE(56);for(let N=0;N<C;N++){let C=a+N*S;if(n.readUInt32LE(C)===3){let a=n.readUInt32LE(C+8),S=n.readUInt32LE(C+32);return n.subarray(a,a+S).toString().replace(/\0.*$/g,``)}}return null};a.exports={interpreterPath}})),Gk=__commonJSMin$1(((n,a)=>{let S=(cC(),__toCommonJS(aC)),{isLinux:C,getReport:N}=Hk(),{LDD_PATH:F,SELF_PATH:I,readFile:H,readFileSync:W}=Uk(),{interpreterPath:K}=Wk(),q,Y,X,te=`getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true`,ne=``,safeCommand=()=>ne||new Promise(n=>{S.exec(te,(a,S)=>{ne=a?` `:S,n(ne)})}),safeCommandSync=()=>{if(!ne)try{ne=S.execSync(te,{encoding:`utf8`})}catch{ne=` `}return ne},re=`glibc`,ie=/LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i,ae=`musl`,isFileMusl=n=>n.includes(`libc.musl-`)||n.includes(`ld-musl-`),familyFromReport=()=>{let n=N();return n.header&&n.header.glibcVersionRuntime?re:Array.isArray(n.sharedObjects)&&n.sharedObjects.some(isFileMusl)?ae:null},familyFromCommand=n=>{let[a,S]=n.split(/[\r\n]+/);return a&&a.includes(re)?re:S&&S.includes(ae)?ae:null},familyFromInterpreterPath=n=>{if(n){if(n.includes(`/ld-musl-`))return ae;if(n.includes(`/ld-linux-`))return re}return null},getFamilyFromLddContent=n=>(n=n.toString(),n.includes(`musl`)?ae:n.includes(`GNU C Library`)?re:null),familyFromFilesystem=async()=>{if(Y!==void 0)return Y;Y=null;try{Y=getFamilyFromLddContent(await H(F))}catch{}return Y},familyFromFilesystemSync=()=>{if(Y!==void 0)return Y;Y=null;try{Y=getFamilyFromLddContent(W(F))}catch{}return Y},familyFromInterpreter=async()=>{if(q!==void 0)return q;q=null;try{q=familyFromInterpreterPath(K(await H(I)))}catch{}return q},familyFromInterpreterSync=()=>{if(q!==void 0)return q;q=null;try{q=familyFromInterpreterPath(K(W(I)))}catch{}return q},family=async()=>{let n=null;return C()&&(n=await familyFromInterpreter(),n||(n=await familyFromFilesystem(),n||=familyFromReport(),n||=familyFromCommand(await safeCommand()))),n},familySync=()=>{let n=null;return C()&&(n=familyFromInterpreterSync(),n||(n=familyFromFilesystemSync(),n||=familyFromReport(),n||=familyFromCommand(safeCommandSync()))),n},isNonGlibcLinux=async()=>C()&&await family()!==re,isNonGlibcLinuxSync=()=>C()&&familySync()!==re,versionFromFilesystem=async()=>{if(X!==void 0)return X;X=null;try{let n=(await H(F)).match(ie);n&&(X=n[1])}catch{}return X},versionFromFilesystemSync=()=>{if(X!==void 0)return X;X=null;try{let n=W(F).match(ie);n&&(X=n[1])}catch{}return X},versionFromReport=()=>{let n=N();return n.header&&n.header.glibcVersionRuntime?n.header.glibcVersionRuntime:null},versionSuffix=n=>n.trim().split(/\s+/)[1],versionFromCommand=n=>{let[a,S,C]=n.split(/[\r\n]+/);return a&&a.includes(re)?versionSuffix(a):S&&C&&S.includes(ae)?versionSuffix(C):null},version=async()=>{let n=null;return C()&&(n=await versionFromFilesystem(),n||=versionFromReport(),n||=versionFromCommand(await safeCommand())),n},versionSync=()=>{let n=null;return C()&&(n=versionFromFilesystemSync(),n||=versionFromReport(),n||=versionFromCommand(safeCommandSync())),n};a.exports={GLIBC:re,MUSL:ae,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionSync}})),Kk=__commonJSMin$1(((n,a)=>{let S={and_chr:`chrome`,and_ff:`firefox`,ie_mob:`ie`,op_mob:`opera`,and_qq:null,and_uc:null,baidu:null,bb:null,kaios:null,op_mini:null};function browserslistToTargets(n){let a={};for(let C of n){let[n,N]=C.split(` `);if(S[n]===null)continue;let F=parseVersion(N);F!=null&&(a[n]==null||F<a[n])&&(a[n]=F)}return a}function parseVersion(n){let[a,S=0,C=0]=n.split(`-`)[0].split(`.`).map(n=>parseInt(n,10));return isNaN(a)||isNaN(S)||isNaN(C)?null:a<<16|S<<8|C}a.exports=browserslistToTargets})),qk=__commonJSMin$1(((n,a)=>{function composeVisitors(n){if(n.length===1)return n[0];if(n.some(n=>typeof n==`function`))return a=>composeVisitors(n.map(n=>typeof n==`function`?n(a):n));let a={};return composeSimpleVisitors(a,n,`StyleSheet`),composeSimpleVisitors(a,n,`StyleSheetExit`),composeObjectVisitors(a,n,`Rule`,ruleVisitor,wrapCustomAndUnknownAtRule),composeObjectVisitors(a,n,`RuleExit`,ruleVisitor,wrapCustomAndUnknownAtRule),composeObjectVisitors(a,n,`Declaration`,declarationVisitor,wrapCustomProperty),composeObjectVisitors(a,n,`DeclarationExit`,declarationVisitor,wrapCustomProperty),composeSimpleVisitors(a,n,`Url`),composeSimpleVisitors(a,n,`Color`),composeSimpleVisitors(a,n,`Image`),composeSimpleVisitors(a,n,`ImageExit`),composeSimpleVisitors(a,n,`Length`),composeSimpleVisitors(a,n,`Angle`),composeSimpleVisitors(a,n,`Ratio`),composeSimpleVisitors(a,n,`Resolution`),composeSimpleVisitors(a,n,`Time`),composeSimpleVisitors(a,n,`CustomIdent`),composeSimpleVisitors(a,n,`DashedIdent`),composeArrayFunctions(a,n,`MediaQuery`),composeArrayFunctions(a,n,`MediaQueryExit`),composeSimpleVisitors(a,n,`SupportsCondition`),composeSimpleVisitors(a,n,`SupportsConditionExit`),composeArrayFunctions(a,n,`Selector`),composeTokenVisitors(a,n,`Token`,`token`,!1),composeTokenVisitors(a,n,`Function`,`function`,!1),composeTokenVisitors(a,n,`FunctionExit`,`function`,!0),composeTokenVisitors(a,n,`Variable`,`var`,!1),composeTokenVisitors(a,n,`VariableExit`,`var`,!0),composeTokenVisitors(a,n,`EnvironmentVariable`,`env`,!1),composeTokenVisitors(a,n,`EnvironmentVariableExit`,`env`,!0),a}a.exports=composeVisitors;function wrapCustomAndUnknownAtRule(n,a){return n===`unknown`?(n=>a({type:`unknown`,value:n})):n===`custom`?(n=>a({type:`custom`,value:n})):a}function wrapCustomProperty(n,a){return n===`custom`?(n=>a({property:`custom`,value:n})):a}function ruleVisitor(n,a){if(typeof n==`object`){if(a.type===`unknown`){let S=n.unknown;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}if(a.type===`custom`){let S=n.custom;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}return n[a.type]?.(a)}return n?.(a)}function declarationVisitor(n,a){if(typeof n==`object`){let S=a.property;if(a.property===`unparsed`)S=a.value.propertyId.property;else if(a.property===`custom`){let S=n.custom;return typeof S==`object`&&(S=S[a.value.name]),S?.(a.value)}return n[S]?.(a)}return n?.(a)}function extractObjectsOrFunctions(n,a){let S=[],C=!1,N=new Set;for(let F of n){let n=F[a];if(n){if(typeof n==`function`)C=!0;else for(let a in n)N.add(a);S.push(n)}}return[S,C,N]}function composeObjectVisitors(n,a,S,C,N){let[F,I,H]=extractObjectsOrFunctions(a,S);if(F.length===0)return;if(F.length===1){n[S]=F[0];return}let W=createArrayVisitor(a,(n,a)=>C(n[S],a));if(I)n[S]=W;else{let a={};for(let n of H)a[n]=N(n,W);n[S]=a}}function composeTokenVisitors(n,a,S,C,N){let[F,I,H]=extractObjectsOrFunctions(a,S);if(F.length===0)return;if(F.length===1){n[S]=F[0];return}let W=createTokenVisitor(a,C,N);if(I)n[S]=W;else{let a={};for(let n of H)a[n]=W;n[S]=a}}function createTokenVisitor(n,a,S){let C=createArrayVisitor(n,(n,a)=>{let C;switch(a.type){case`token`:C=n.Token,typeof C==`object`&&(C=C[a.value.type]);break;case`function`:C=S?n.FunctionExit:n.Function,typeof C==`object`&&(C=C[a.value.name]);break;case`var`:C=S?n.VariableExit:n.Variable;break;case`env`:if(C=S?n.EnvironmentVariableExit:n.EnvironmentVariable,typeof C==`object`){let n;switch(a.value.name.type){case`ua`:case`unknown`:n=a.value.name.value;break;case`custom`:n=a.value.name.ident;break}C=C[n]}break;case`color`:C=n.Color;break;case`url`:C=n.Url;break;case`length`:C=n.Length;break;case`angle`:C=n.Angle;break;case`time`:C=n.Time;break;case`resolution`:C=n.Resolution;break;case`dashed-ident`:C=n.DashedIdent;break}if(!C)return;let N=C(a.value);switch(a.type){case`color`:case`url`:case`length`:case`angle`:case`time`:case`resolution`:case`dashed-ident`:Array.isArray(N)?N=N.map(n=>({type:a.type,value:n})):N&&={type:a.type,value:N};break}return N});return n=>C({type:a,value:n})}function extractFunctions(n,a){let S=[];for(let C of n){let n=C[a];n&&S.push(n)}return S}function composeSimpleVisitors(n,a,S){let C=extractFunctions(a,S);if(C.length!==0){if(C.length===1){n[S]=C[0];return}n[S]=n=>{let a=!1;for(let S of C){let C=S(n);C&&(n=C,a=!0)}return a?n:void 0}}}function composeArrayFunctions(n,a,S){let C=extractFunctions(a,S);if(C.length!==0){if(C.length===1){n[S]=C[0];return}n[S]=createArrayVisitor(C,(n,a)=>n(a))}}function createArrayVisitor(n,a){let S=new Bitset(n.length);return C=>{let N=[C],F=!1;S.clear();for(let C=0;C<N.length;C++)for(let I=0;I<n.length&&C<N.length;){if(S.get(I)){I++;continue}let H=N[C],W=n[I],K=a(W,H);Array.isArray(K)?(K.length===0?N.splice(C,1):K.length===1?N[C]=K[0]:N.splice(C,1,...K),F=!0,S.set(I),I=0):K?(N[C]=K,F=!0,S.set(I),I=0):I++}if(F)return N.length===1?N[0]:N}}var Bitset=class{constructor(n=32){this.bits=0,this.more=n>32?new Uint32Array(Math.ceil((n-32)/32)):null}get(n){if(n>=32&&this.more){let a=Math.floor((n-32)/32),S=n%32;return!!(this.more[a]&1<<S)}else return!!(this.bits&1<<n)}set(n){if(n>=32&&this.more){let a=Math.floor((n-32)/32),S=n%32;this.more[a]|=1<<S}else this.bits|=1<<n}clear(){this.bits=0,this.more&&this.more.fill(0)}}})),Jk=__commonJSMin$1((n=>{n.Features={Nesting:1,NotSelectorList:2,DirSelector:4,LangSelectorList:8,IsSelector:16,TextDecorationThicknessPercent:32,MediaIntervalSyntax:64,MediaRangeSyntax:128,CustomMediaQueries:256,ClampFunction:512,ColorFunction:1024,OklabColors:2048,LabColors:4096,P3Colors:8192,HexAlphaColors:16384,SpaceSeparatedColorNotation:32768,FontFamilySystemUi:65536,DoublePositionGradients:131072,VendorPrefixes:262144,LogicalProperties:524288,LightDark:1048576,Selectors:31,MediaQueries:448,Colors:1113088}})),Yk=__commonJSMin$1(((n,a)=>{let S=[process.platform,process.arch];if(process.platform===`linux`){let{MUSL:n,familySync:a}=Gk();a()===n?S.push(`musl`):process.arch===`arm`?S.push(`gnueabihf`):S.push(`gnu`)}else process.platform===`win32`&&S.push(`msvc`);let C;try{C=K(`lightningcss-${S.join(`-`)}`)}catch{C=K(`../lightningcss.${S.join(`-`)}.node`)}a.exports.transform=wrap(C.transform),a.exports.transformStyleAttribute=wrap(C.transformStyleAttribute),a.exports.bundle=wrap(C.bundle),a.exports.bundleAsync=wrap(C.bundleAsync),a.exports.browserslistToTargets=Kk(),a.exports.composeVisitors=qk(),a.exports.Features=Jk().Features;function wrap(n){return a=>{if(typeof a.visitor==`function`){let S=[];a.visitor=a.visitor({addDependency(n){S.push(n)}});let C=n(a);return C instanceof Promise?C=C.then(n=>(S.length&&(n.dependencies??=[],n.dependencies.push(...S)),n)):S.length&&(C.dependencies??=[],C.dependencies.push(...S)),C}else return n(a)}}})),Xk=__exportAll$3({Features:()=>iA,browserslistToTargets:()=>nA,bundle:()=>eA,bundleAsync:()=>tA,composeVisitors:()=>rA,transform:()=>Qk,transformStyleAttribute:()=>$k}),Zk,Qk,$k,eA,tA,nA,rA,iA,aA=__esmMin(()=>{Zk=__toESM$1(Yk(),1),{transform:Qk,transformStyleAttribute:$k,bundle:eA,bundleAsync:tA,browserslistToTargets:nA,composeVisitors:rA,Features:iA}=Zk.default});async function pickBundler(){let n=globalThis.process?.env?.GJSIFY_CSS_BACKEND;if(n===`npm`)return loadNpmBundler();if(n===`native`){let n=await tryLoadNativeBundler();if(!n)throw Error(`GJSIFY_CSS_BACKEND=native but @gjsify/lightningcss-native is not loadable`);return n}return await tryLoadNativeBundler()??loadNpmBundler()}async function tryLoadNativeBundler(){if(!isGjs())return null;try{let n=await import(pathToFileURL(createRequire(import.meta.url).resolve(`@gjsify/lightningcss-native`)).href);return n.hasNativeLightningcss()?async(a,S)=>{let C=targetsToBrowserslist(S);return n.bundle({filename:a,targets:C,minify:!1,sourceMap:!1,errorRecovery:!0})}:null}catch{return null}}async function loadNpmBundler(){let{bundleAsync:n}=await Promise.resolve().then(()=>(aA(),Xk));return async(a,S)=>({code:(await n({filename:a,targets:S,minify:!1,errorRecovery:!0,resolver:sA})).code})}function targetsToBrowserslist(n){if(!n)return;let a=[];for(let[S,C]of Object.entries(n)){if(typeof C!=`number`)continue;let n=C>>>16&255;if(n===0)continue;let N=S===`ios_saf`?`ios`:S;a.push(`${N} >= ${n}`)}return a.length?a.join(`, `):void 0}function cssAsStringPlugin(n={}){let{targets:a,bundle:S=!0}=n;return{name:`gjsify-css-as-string`,load:{filter:{id:/\.css$/},async handler(n){let C=S?new TextDecoder(`utf-8`).decode(await loadAndBundleCss(n,a)):await readFile$1(n,`utf8`);return{code:`export default ${JSON.stringify(C)};`,moduleType:`js`}}}}}async function loadAndBundleCss(n,a){oA||=pickBundler();let{code:S}=await(await oA)(n,a);return S}var oA,sA,cA=__esmMin(()=>{kc(),Uo(),ps(),mn(),zg(),oA=null,sA={resolve(n,a){return ts(n)?n:n.startsWith(`./`)||n.startsWith(`../`)?$o(as(a),n):createRequire(pathToFileURL(a).href).resolve(n)}}});function inputShebangStripPlugin(){return{name:`gjsify-input-shebang-strip`,transform:{order:`pre`,handler(n){return n.startsWith(`#!`)?{code:n.replace(dA,``),map:null}:null}}}}function shebangPlugin(n={}){if(!n.enabled)return null;let a=n.line??`#!/usr/bin/env -S gjs -m`;return{name:`gjsify-shebang`,renderChunk:{order:`post`,handler(n,S){return!S.isEntry||n.startsWith(`#!`)?null:{code:a+`
737
+ `+n,map:null}}}}}function expandEnvTemplate(n,a=process.env){return n.replace(/\$\{env:([A-Za-z_][A-Za-z0-9_]*)(?::-([^}]*))?\}/g,(n,S,C)=>{let N=a[S];return N!==void 0&&N!==``?N:C??``})}function resolveShebangLine(n,a=lA){if(n===void 0||n===!1)return null;if(n===!0)return a;let S=expandEnvTemplate(n);return S.trim()?S.startsWith(`#!`)?S:`#!`+S:null}var lA,uA,dA,fA=__esmMin(()=>{lA=`#!/usr/bin/env -S gjs -m`,uA=`#!/usr/bin/env node`,dA=/^#![^\n]*\n/});function wrapInputWithSideEffects(n,a,S={}){if(a.length===0||n===void 0)return{input:n,plugin:null};let C=new Map,N=`\0gjsify-entry:`;function wrap(n){let a=N+n;return C.set(a,n),a}let F;if(typeof n==`string`)F=wrap(n);else if(Array.isArray(n))F=n.map(wrap);else{let a={};for(let[S,C]of Object.entries(n))a[S]=wrap(C);F=a}let I=a.map(n=>`import ${JSON.stringify(n)};`).join(`
738
+ `),H=new Set;return{input:F,plugin:{name:`gjsify-virtual-entry`,async resolveId(n,a){return n.startsWith(N)?n:H.has(n)?{id:n,moduleSideEffects:`no-treeshake`}:null},async load(n){if(!n.startsWith(N))return null;let a=C.get(n);if(!a)return null;let F=(await this.resolve(a,void 0,{skipSelf:!0}))?.id??a;if(H.add(F),S.preserveDefaultExport){let n=`__gjsify_entry__`;return{code:`${I}\nimport * as ${n} from ${JSON.stringify(F)};\nexport * from ${JSON.stringify(F)};\nexport default ${n}.default;\n`,moduleSideEffects:`no-treeshake`}}return{code:`${I}\nimport ${JSON.stringify(F)};\nexport * from ${JSON.stringify(F)};\n`,moduleSideEffects:`no-treeshake`}}}}}var pA=__esmMin(()=>{});function resolveShim(n){let a=$o(mA,`../shims/${n}.js`),S=null;try{S=(Zc(),__toCommonJS(Jc))}catch{return a}if(S.existsSync(a))return a;try{return(Uo(),__toCommonJS(zo)).createRequire(import.meta.url).resolve(`@gjsify/rolldown-plugin-gjsify/shims/${n}`)}catch{return a}}function flattenAliases$4(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}function createGjsExternalsPredicate(n=[]){let a=[`cairo`,`gettext`,`system`,...n];return n=>isRegisterSubpath(n)?!1:!!(n.startsWith(`gi://`)||a.includes(n))}function isRegisterSubpath(n){return!!(/\/register(?:\/[^?]*)?$/.test(n)||/[/\\]register(?:[/\\][^/\\]+)?\.(?:[mc]?js|ts)$/.test(n))}var mA,setupForGjs,hA=__esmMin(()=>{mn(),ps(),Yb(),Xb(),tC(),kk(),l_(),Nv(),Fk(),Vk(),cA(),fA(),pA(),mA=as(fileURLToPath(import.meta.url)),setupForGjs=async n=>{let a=n.userExternal??[],S=[`cairo`,`gettext`,`system`,...a.filter(n=>!isRegisterSubpath(n))],C=createGjsExternalsPredicate(a),N=n.pluginOptions.format??`esm`,F=n.pluginOptions.exclude??[],I=await globToEntryPoints(n.input,F),H=resolveShim(`unicorn-magic`),W={...getAliasesForGjs({external:C}),"unicorn-magic":H,...n.pluginOptions.aliases,...n.userAliases},K=n.pluginOptions.consoleShim===!1?null:resolveShim(`console-gjs`),q=[];n.pluginOptions.autoGlobalsInject&&q.push(n.pluginOptions.autoGlobalsInject);let Y=wrapInputWithSideEffects(I,q,{preserveDefaultExport:n.pluginOptions.preserveDefaultExport===!0}),X={input:Y.input,platform:`neutral`,external:S,resolve:{mainFields:N===`esm`?[`browser`,`module`,`main`]:[`browser`,`main`,`module`],conditionNames:N===`esm`?[`browser`,`import`]:[`browser`,`require`,`import`]},transform:{target:`firefox140`,define:{global:`globalThis`,window:`globalThis`,"process.env.READABLE_STREAM":`"disable"`},...K?{inject:{console:[K,`console`]}}:{}},output:{...n.output,format:N,sourcemap:!1,codeSplitting:!1},treeshake:!0},te=getBundleDirFromOutput(n.output);return{options:X,plugins:[...Y.plugin?[Y.plugin]:[],inputShebangStripPlugin(),aliasPlugin({entries:{"random-access-file":`random-access-file/index.js`,...flattenAliases$4(W)}}),externalsPlugin(C,{name:`gjsify-gjs-externalize`}),blueprintPlugin(),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin({targets:{firefox:60<<16}}),nodeModulesPathRewritePlugin({bundleDir:te,runtimeResolve:N===`esm`}),processStubPlugin({userBanner:n.userBanner,captureBundleUrl:N===`esm`}),(()=>{let a=resolveShebangLine(n.shebang);return shebangPlugin({enabled:a!==null,line:a??void 0})})()]}},__name$1(flattenAliases$4,`flattenAliases`)});function gjsImportsEmptyPlugin(n={}){let a=n.emptyGirs??!0?/^(@girs\/|gi:\/\/)/:/^gi:\/\//;return{name:`gjsify-gjs-imports-empty`,resolveId:{order:`pre`,filter:{id:a},handler(n){return a.test(n)?{id:gA}:null}},load(n){return n===gA?{code:`export {}; export default {};`,moduleSideEffects:!1}:null}}}var gA,_A=__esmMin(()=>{gA=`\0gjsify-empty-gjs-import`});function parseGiSpecifier(n){if(!n.startsWith(`gi://`))return null;let a=n.slice(5),S=a.indexOf(`?`),C=S===-1?a:a.slice(0,S);if(!C)return null;let N;return S!==-1&&(N=new URLSearchParams(a.slice(S+1)).get(`version`)??void 0),{namespace:C,version:N}}function giNodeShimSource(n,a){let S=a?`, ${JSON.stringify(a)}`:``;return`import { createRequire } from 'node:module';
739
+ const require = createRequire(import.meta.url);
740
+ let cached;
741
+ function load() {
742
+ if (cached === undefined) {
743
+ cached = require('@gjsify/node-gi/gi').requireGi(${JSON.stringify(n)}${S});\n }\n return cached;\n}\nexport default new Proxy(Object.create(null), {\n get(_target, prop) { return load()[prop]; },\n has(_target, prop) { return prop in load(); },\n});\n`}function gjsGiNodePlugin(){return{name:`gjsify-gi-node`,resolveId:{order:`pre`,filter:{id:/^gi:\/\//},handler(n){let a=parseGiSpecifier(n);if(a===null)return null;let S=a.version?`@${a.version}`:``;return{id:`${vA}${a.namespace}${S}`}}},load(n){if(!n.startsWith(vA))return null;let a=n.slice(16),S=a.lastIndexOf(`@`);return{code:giNodeShimSource(S===-1?a:a.slice(0,S),S===-1?void 0:a.slice(S+1)),moduleSideEffects:!1}}}}function gjsBuiltinModulesNodePlugin(n){let a=Object.keys(n),S=a.length>0?{id:RegExp(`^(?:${a.map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`)})$`)}:void 0;return{name:`gjsify-builtin-modules-node`,resolveId:{order:`pre`,...S?{filter:S}:{},handler(a){let S=n[a];return S?{id:S,external:!0}:null}}}}var vA,yA=__esmMin(()=>{vA=`\0gjsify-gi-node:`});function flattenAliases$3(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var bA,xA,setupForNode,SA=__esmMin(()=>{Yb(),tC(),c_(),l_(),Nv(),Fk(),cA(),_A(),yA(),pA(),bA=`@gjsify/node-gi/globals`,xA=[`@gjsify/node-gi/system`,`@gjsify/node-gi/gettext`],setupForNode=async n=>{let a=n.userExternal??[],S=[...Qg,`node-datachannel`,`@gjsify/node-gi`,`@gjsify/node-gi/gi`,bA,...xA,...a],external=n=>!!(S.includes(n)||n===`@gjsify/node-gi`||n.startsWith(`@gjsify/node-gi/`)),C=n.pluginOptions.format??`esm`,N=n.pluginOptions.exclude??[],F=await globToEntryPoints(n.input,N),I=[];n.pluginOptions.nodeGiGlobalsInject&&I.push(bA);let H=wrapInputWithSideEffects(F,I),W=H.input,K={...getAliasesForNode({external}),...n.pluginOptions.aliases,...n.userAliases},q=getBundleDirFromOutput(n.output);return{options:{input:W,platform:`node`,external:S,resolve:{mainFields:C===`esm`?[`module`,`main`,`browser`]:[`main`,`module`,`browser`],conditionNames:C===`esm`?[`require`,`node`,`module`]:[`require`]},transform:{target:`node24`,define:{global:`globalThis`,window:`globalThis`}},output:{...n.output,format:C,sourcemap:!1,banner:void 0,codeSplitting:!1},treeshake:!0},plugins:[...H.plugin?[H.plugin]:[],gjsGiNodePlugin(),gjsBuiltinModulesNodePlugin(o_),gjsImportsEmptyPlugin({emptyGirs:!n.pluginOptions.nodeGiGlobalsInject}),aliasPlugin({entries:flattenAliases$3(K)}),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin(),nodeModulesPathRewritePlugin({bundleDir:q})]}},__name$1(flattenAliases$3,`flattenAliases`)});function flattenAliases$2(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupForBrowser,CA=__esmMin(()=>{Yb(),tC(),kk(),c_(),Nv(),_A(),cA(),setupForBrowser=async n=>{let a=[...n.userExternal??[]],S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N={};for(let[n,a]of Object.entries(n_))N[n]=a,N[`node:${n}`]=a;let F={},I={...getDerivedAliasesSync(`browser`),...N,...F,...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`browser`,external:a,resolve:{mainFields:[`browser`,`module`,`main`],conditionNames:[`import`,`browser`]},transform:{target:`esnext`,define:{global:`globalThis`,window:`globalThis`}},output:{...n.output,format:`esm`,sourcemap:!1,codeSplitting:!1},treeshake:!0},plugins:[gjsImportsEmptyPlugin(),aliasPlugin({entries:flattenAliases$2(I)}),blueprintPlugin(),deepkitPlugin({reflection:n.pluginOptions.reflection}),cssAsStringPlugin()]}},__name$1(flattenAliases$2,`flattenAliases`)});function isPlatform(n){return wA.includes(n)}function platformResolvePlugin(n={}){let a=n.platform,S=a?[a,`native`]:[`native`];return{name:`gjsify-nativescript-platform-resolve`,resolveId:{order:`pre`,async handler(n,a,C){if(!a||!n.startsWith(`./`)&&!n.startsWith(`../`))return null;let N=TA.exec(n),F=N?N[0]:``,I=F?n.slice(0,-F.length):n;for(let N of S){let S=F&&`${I}.${N}`!=`${I}.${N}${F}`?[`${I}.${N}`,`${I}.${N}${F}`]:[`${I}.${N}`];for(let N of S){if(N===n)continue;let S=await this.resolve(N,a,{skipSelf:!0,...C?.kind?{kind:C.kind}:{}});if(S&&!S.external)return S}}return null}}}}function detectNativescriptPlatform(n=process.env){let a=n.NATIVESCRIPT_PLATFORM??n.NS_PLATFORM;if(a&&isPlatform(a))return a;let S=n.NATIVESCRIPT_BUNDLER_ENV??n.NATIVESCRIPT_WEBPACK_ENV;if(S)try{let n=JSON.parse(S);if(n.android===!0)return`android`;if(n.ios===!0)return`ios`;if(n.visionos===!0)return`visionos`;if(typeof n.platform==`string`&&isPlatform(n.platform))return n.platform}catch{}}function nativescriptPlatformDefines(n,a={}){let S=n===`android`,C=n===`ios`,N=n===`visionos`;return{__ANDROID__:String(S),__IOS__:String(C),__VISIONOS__:String(N),__APPLE__:String(C||N),__DEV__:String(a.dev??!1)}}var wA,TA,EA=__esmMin(()=>{wA=[`android`,`ios`,`visionos`],TA=/\.(tsx?|jsx?|mts|cts|mjs|cjs)$/});function flattenAliases$1(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupForNativescript,DA=__esmMin(()=>{Yb(),tC(),c_(),Nv(),_A(),EA(),setupForNativescript=async n=>{let a=[...n.userExternal??[]],S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N=detectNativescriptPlatform(),F={};for(let[n,a]of Object.entries(r_))F[n]=a,F[`node:${n}`]=a;let I={},H={...getDerivedAliasesSync(`nativescript`),...F,...I,...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`browser`,external:a,resolve:{mainFields:[`nativescript`,`module`,`main`],conditionNames:[`import`,`nativescript`]},transform:{target:`esnext`,define:{global:`globalThis`,...nativescriptPlatformDefines(N,{dev:!1})}},output:{...n.output,format:`esm`,sourcemap:!1,codeSplitting:!1},treeshake:!0},plugins:[gjsImportsEmptyPlugin(),platformResolvePlugin({platform:N}),aliasPlugin({entries:flattenAliases$1(H)}),deepkitPlugin({reflection:n.pluginOptions.reflection})]}},__name$1(flattenAliases$1,`flattenAliases`)}),OA=__esmMin(()=>{hA(),SA(),CA(),DA()});function isExternalSpecifier(n){return!(n.startsWith(`./`)||n.startsWith(`../`)||n.startsWith(`/`)||n.startsWith(`\0`)||n.startsWith(`data:`))}function computeCommonRoot(n){let a=n===void 0?[]:typeof n==`string`?[n]:Array.isArray(n)?n:Object.values(n);if(a.length===0)return`src`;let S=a.map(n=>n.split(`/`).filter(Boolean)),C=S[0],N=0;for(;N<C.length;N++){let n=C[N];if(!S.every(a=>a[N]===n))break}if(N===0)return`src`;let F=C.slice(0,N);return S.some(n=>n.length>N)?F.join(`/`):F.slice(0,-1).join(`/`)||`src`}function flattenAliases(n){let a={};for(let[S,C]of Object.entries(n))C&&(a[S]=C);return a}var setupLib,kA=__esmMin(()=>{Yb(),cA(),Xb(),Nv(),setupLib=async n=>{let a=n.pluginOptions.format??n.pluginOptions.library??`esm`,S=n.pluginOptions.exclude??[],C=await globToEntryPoints(n.input,S),N=computeCommonRoot(C),F={...n.pluginOptions.aliases,...n.userAliases};return{options:{input:C,platform:`neutral`,resolve:{mainFields:a===`esm`?[`module`,`main`]:[`main`],conditionNames:a===`esm`?[`module`,`import`]:[`require`]},transform:{target:`esnext`},output:{...n.output,format:a,preserveModules:!0,preserveModulesRoot:N,sourcemap:!1},treeshake:!1},plugins:[aliasPlugin({entries:flattenAliases(F)}),externalsPlugin(isExternalSpecifier,{name:`gjsify-lib-externalize`}),cssAsStringPlugin()]}}}),AA=__esmMin(()=>{kA()});function mimeForExtension(n){return jA[n.toLowerCase()]??`application/octet-stream`}function textLoaderPlugin(n={}){let a=n.loaders??{},S=Object.entries(a),C=S.filter(([,n])=>n===`text`).map(([n])=>n),N=S.filter(([,n])=>n===`dataurl`).map(([n])=>n),F=[...C,...N];if(F.length===0)return null;let I=F.map(n=>n.replace(/^\./,``).replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)),H=RegExp(`\\.(?:${I.join(`|`)})$`),W=new Map(S.map(([n,a])=>[n.toLowerCase(),a]));return{name:`gjsify-asset-loader`,async load(n){if(!H.test(n))return null;let a=n.lastIndexOf(`.`),S=a>=0?n.slice(a).toLowerCase():``;if((W.get(S)??`text`)===`dataurl`){let a=await readFile$1(n),C=mimeForExtension(S),N=a.toString(`base64`);return{code:`export default ${JSON.stringify(`data:${C};base64,${N}`)};`,moduleType:`js`}}let C=await readFile$1(n,`utf8`);return{code:`export default ${JSON.stringify(C)};`,moduleType:`js`}}}}var jA,MA=__esmMin(()=>{kc(),jA={".png":`image/png`,".jpg":`image/jpeg`,".jpeg":`image/jpeg`,".gif":`image/gif`,".webp":`image/webp`,".svg":`image/svg+xml`,".ico":`image/x-icon`,".avif":`image/avif`,".bmp":`image/bmp`,".tiff":`image/tiff`,".tif":`image/tiff`,".wasm":`application/wasm`}}),gjsifyPlugin,NA=__esmMin(()=>{OA(),AA(),gjsifyPlugin=async(n,a={})=>{if(a.library)switch(a.library){case`esm`:case`cjs`:return await setupLib({input:n.input,output:n.output,userAliases:n.userAliases,pluginOptions:a});default:throw TypeError(`Unknown library type: `+a.library)}let S=a.app??`gjs`;switch(S){case`gjs`:return await setupForGjs({input:n.input,output:n.output,userExternal:n.userExternal,userBanner:n.userBanner,userAliases:n.userAliases,shebang:n.shebang,pluginOptions:a});case`node`:return await setupForNode({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});case`browser`:return await setupForBrowser({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});case`nativescript`:return await setupForNativescript({input:n.input,output:n.output,userExternal:n.userExternal,userAliases:n.userAliases,pluginOptions:a});default:throw TypeError(`Unknown app platform: `+S)}}}),PA=__esmMin(()=>{Kg(),Jb(),OA(),AA(),Fk(),Vk(),cA(),MA(),fA(),_A(),Xb(),EA(),NA(),NA(),c_()});function isPluginByName(n){return typeof n==`object`&&!!n&&typeof n.name==`string`&&!(`apply`in n)&&!(`resolveId`in n)&&!(`load`in n)&&!(`transform`in n)&&!(`renderChunk`in n)&&!(`generateBundle`in n)}async function resolveUserPlugins(n,a,S={}){let C=S.loadModule??defaultLoadModule,N=createRequire(ns(a,`package.json`)),F=[];for(let S of n){if(!isPluginByName(S)){F.push(S);continue}let n;try{n=N.resolve(S.name)}catch(n){throw Error(`gjsify config: failed to resolve plugin "${S.name}" from ${a}. Add it to your project's dependencies, or pass a Plugin object directly. (${n.message})`)}let I=await C(n,S.name),H=S.export??`default`,W=I[H];if(typeof W!=`function`){let n=Object.keys(I).filter(n=>typeof I[n]==`function`);throw Error(`gjsify config: plugin "${S.name}" has no function export "${H}". Available function exports: ${n.length?n.join(`, `):`(none)`}.`)}let K=await W(S.options);if(K==null)throw Error(`gjsify config: plugin "${S.name}" factory returned ${K}. Check the plugin's signature — it should return a Rolldown/Vite plugin object.`);F.push(K)}return F}var defaultLoadModule,FA=__esmMin(()=>{Uo(),ps(),mn(),defaultLoadModule=async n=>await import(pathToFileURL(n).href)}),IA,LA=__esmMin(()=>{IA={"@gjsify/buffer/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/canvas":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/document":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/font-face":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/image":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`HTMLCanvasElement`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`document`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/location":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/match-media":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/navigator":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`navigator`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/dom-elements/register/observers":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/domparser/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/gamepad/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/buffer":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/encoding":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/microtask":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/process":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/structured-clone":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/timers":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/node-globals/register/url":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`URL`,`URLSearchParams`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/web-globals/register/formdata":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`FormData`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/web-globals/register/performance":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webaudio/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/data-channel":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MessageEvent`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/error":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/media":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MediaStream`,`MediaStreamTrack`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/media-devices":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`Event`,`EventTarget`,`File`,`MediaStream`,`MediaStreamTrack`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"@gjsify/webrtc/register/peer-connection":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CountQueuingStrategy.DOMException.Event.EventTarget.File.MediaStream.MediaStreamTrack.MessageEvent.RTCSessionDescription.ReadableStream.TextDecoderStream.TextEncoderStream.TransformStream.WritableStream.atob.btoa.clearTimeout.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"abort-controller/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"compression-streams/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CompressionStream`,`CountQueuingStrategy`,`DOMException`,`DecompressionStream`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/custom-events":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/event-target":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-events/register/ui-events":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"dom-exception/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"eventsource/register":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.Event.EventSource.EventTarget.File.Headers.MessageEvent.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"fetch/register/fetch":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.File.Headers.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"fetch/register/xhr":`AbortController.AbortSignal.Blob.Buffer.ByteLengthQueuingStrategy.CompressionStream.CountQueuingStrategy.DOMException.DecompressionStream.Event.EventTarget.File.Headers.ProgressEvent.ReadableStream.Request.Response.TextDecoderStream.TextEncoderStream.TransformStream.URL.URLSearchParams.WritableStream.XMLHttpRequest.XMLHttpRequestUpload.atob.btoa.clearTimeout.fetch.performance.process.queueMicrotask.setTimeout.structuredClone`.split(`.`),"message-channel/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`MessageChannel`,`MessagePort`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/queuing":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/readable":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/text-streams":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/transform":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"web-streams/register/writable":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"webassembly/register/promise":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WebAssembly`,`WritableStream`,`atob`,`btoa`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"webcrypto/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`crypto`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`],"websocket/register":[`AbortController`,`AbortSignal`,`Blob`,`Buffer`,`ByteLengthQueuingStrategy`,`CountQueuingStrategy`,`DOMException`,`File`,`ReadableStream`,`TextDecoderStream`,`TextEncoderStream`,`TransformStream`,`WritableStream`,`atob`,`btoa`,`clearTimeout`,`performance`,`process`,`queueMicrotask`,`setTimeout`,`structuredClone`]}});function expandWithClosure(n,a){let S=new Set(n),C=[...n];for(;C.length>0;){let n=RA[C.pop()];if(!n)continue;let N=zA[n];if(N)for(let n of N)a.has(n)||RA[n]&&(S.has(n)||(S.add(n),C.push(n)))}return S}function isSubset(n,a){for(let S of n)if(!a.has(S))return!1;return!0}async function applyExcludeGlobals(n,a,S,C,N){if(C?.length)for(let a of C)n.delete(a);let F=detectedToRegisterPaths(n);for(let n of S)F.add(n);if(emitGiBackedDiagnostic(F,n,N),!C?.length)return{detected:n,injectPath:a};let I=N?filterResolvableRegisterPaths(F,N):F;return{detected:n,injectPath:I.size>0?await writeRegisterInjectFile(I,N)??void 0:void 0}}function detectedToRegisterPaths(n){let a=new Set;for(let S of n){let n=RA[S];n&&a.add(n)}return a}function giNamespacesForRegister(n){for(let a of Object.keys(BA))if(n===a||n.startsWith(a+`/`))return BA[a];return null}function describeGiBackedInjection(n,a){let S=new Set,C=new Set;for(let a of n){let n=giNamespacesForRegister(a);if(n){S.add(a);for(let a of n)C.add(a)}}if(S.size===0)return null;let N=[...a].filter(n=>{let a=RA[n];return!!a&&S.has(a)}).sort();return`[gjsify] note: --globals auto injected GTK/GNOME-backed register(s) — this bundle now requires ${[...C].sort().map(n=>`gi://${n}`).join(`, `)} at load.`+(N.length?` Triggered by: ${N.join(`, `)}.`:``)+` If it runs headless / SSR / in a GTK-less container it will throw "Typelib … not found"; drop those globals via excludeGlobals or pin an explicit --globals allowlist (e.g. node).`}function emitGiBackedDiagnostic(n,a,S){if(HA)return;let C=new Set;for(let a of n)giNamespacesForRegister(a)&&(S&&!isRegisterPathResolvable(a,S)||C.add(a));let N=describeGiBackedInjection(C,a);N&&(HA=!0,ke.warn(N))}function isFullConfig(n){return typeof n==`object`&&!!n&&!Array.isArray(n)&&`plugins`in n&&`options`in n}async function detectAutoGlobals(n,a,S,C,N={},F=defaultBundler){let I=N.extraGlobalsList?resolveGlobalsList(N.extraGlobalsList):new Set,H=new Set(N.excludeGlobals??[]),W=N.cwd,K=new Set,q;I.size>0&&(q=await writeRegisterInjectFile(W?filterResolvableRegisterPaths(I,W):I,W)??void 0);let Y=(n.plugins??[]).filter(n=>{let a=n&&typeof n==`object`&&`name`in n?n.name:void 0;return a!==`gjsify`&&a!==`gjsify-orchestrator`});for(let X=1;X<=VA;X++){let te=await S({...a,autoGlobalsInject:q}),ne,re;isFullConfig(te)?(re=te.options,ne=te.plugins):ne=te;let ie=q?appendInjectAsEntry(n.input,q):n.input,ae=n.resolve??re?.resolve,oe=n.external??re?.external,Z=n.transform??re?.transform,se=re?.treeshake,ce=Array.isArray(ne)?ne:[ne],le=await F({rolldownInput:{input:ie,external:oe,resolve:ae,transform:Z,plugins:[...Y,...ce],logLevel:`silent`,...se===void 0?{}:{treeshake:se}},format:n.format??`esm`});if(le.length===0)return{detected:new Set,injectPath:q};let ue=new Set;for(let n=0;n<le.length;n++){let a=le[n]??``;try{for(let n of detectFreeGlobals(a))ue.add(n)}catch(S){if(globalThis.process?.env?.GJSIFY_DEBUG_AUTO_GLOBALS){let S=`/tmp/gjsify-auto-globals-failed-chunk-${n}.mjs`;try{(await Promise.resolve().then(()=>(Zc(),Jc))).writeFileSync(S,a),ke.error(`[gjsify-auto-globals] parse failed on chunk #${n} — wrote ${S} for inspection`)}catch{}}throw S}}if(H.size>0)for(let n of H)ue.delete(n);if(isSubset(ue,K)){if(C){let n=[...K].sort(),a=I.size>0?` (+ ${I.size} extra register module(s))`:``;ke.debug(`[gjsify] --globals auto: converged after ${X-1} iteration(s), ${K.size} global(s)${n.length?`: `+n.join(`, `):``}${a}`)}return applyExcludeGlobals(K,q,I,N.excludeGlobals,W)}let de=N.disableClosureExpansion?ue:expandWithClosure(ue,H);C&&de.size>ue.size&&ke.debug(`[gjsify] --globals auto: closure map expanded ${ue.size} → ${de.size} global(s)`),X>1&&C&&ke.debug("[gjsify] --globals auto: detection grew past the closure-map expansion — the committed register-globals-closure map looks stale. Regenerate via `node packages/infra/cli/scripts/generate-register-closure.mjs`."),K=new Set([...K,...de]);let fe=detectedToRegisterPaths(K);for(let n of I)fe.add(n);if(W&&(fe=filterResolvableRegisterPaths(fe,W)),fe.size===0)return{detected:K,injectPath:void 0};if(q=await writeRegisterInjectFile(fe,W)??void 0,C){let n=[...K].sort();ke.debug(`[gjsify] --globals auto: iteration ${X}, ${K.size} global(s)${n.length?`: `+n.join(`, `):``}`)}}return C&&ke.debug(`[gjsify] --globals auto: hit max iterations (${VA}), using last detected set`),applyExcludeGlobals(K,q,I,N.excludeGlobals,W)}async function detectNodeGiGlobals(n,a,S,C=defaultBundler){let N=await S(a),F,I;isFullConfig(N)?(I=N.options,F=N.plugins):F=N;let H=(n.plugins??[]).filter(n=>{let a=n&&typeof n==`object`&&`name`in n?n.name:void 0;return a!==`gjsify`&&a!==`gjsify-orchestrator`}),W=Array.isArray(F)?F:[F],K=I?{...I}:{};delete K.output;let q;try{q=await C({rolldownInput:{...K,input:n.input,external:n.external??K.external,resolve:n.resolve??K.resolve,transform:n.transform??K.transform,plugins:[...H,...W],logLevel:`silent`},format:n.format??`esm`})}catch(n){return ke.warn(`[gjsify] --app node: could not analyse the bundle for GJS ambient globals (${n instanceof Error?n.message:String(n)}); skipping @gjsify/node-gi/globals injection. If this build uses print/imports/ARGV, add \`import '@gjsify/node-gi/globals'\` to the entry or pass --globals.`),!1}for(let n of q)if(detectGjsAmbientGlobals(n).size>0)return!0;return!1}function appendInjectAsEntry(n,a){return n===void 0?[a]:typeof n==`string`?[n,a]:Array.isArray(n)?[...n,a]:{...n,__gjsify_inject:a}}var defaultBundler,RA,zA,BA,VA,HA,UA=__esmMin(()=>{Ae(),Vb(),Gb(),Fb(),LA(),defaultBundler=async({rolldownInput:n,format:a})=>{let S=await(await import(`rolldown`)).rolldown(n);try{let n=await S.generate({format:a,minify:!1,sourcemap:!1}),C=[];for(let a of n.output)a.type===`chunk`&&C.push(a.code);return C}finally{await S.close()}},RA=Nb,zA=IA,BA=Pb,VA=5,HA=!1}),WA=__esmMin(()=>{Gb(),Vb(),UA()});function findPnpRoot(n){let a=n;for(;;){if(existsSync(ns(a,`.pnp.cjs`)))return a;let n=as(a);if(n===a)return null;a=n}}async function loadPnpApi(){try{let n=await import(`pnpapi`);return n.default??n}catch{return null}}async function pnpPlugin(n={}){let a=n.issuerUrl??import.meta.url;if(!findPnpRoot(process.cwd()))return null;let S=await loadPnpApi();if(S===null)return null;let C=fileURLToPath(a),N=createRequire(C),F=n.relayPackages??[`@gjsify/node-polyfills`,`@gjsify/web-polyfills`],I=[];for(let n of F)try{I.push(N.resolve(`${n}/package.json`))}catch{}return{name:`gjsify-pnp`,resolveId:{order:`pre`,async handler(n,a){if(n.startsWith(`.`)||n.startsWith(`/`))return null;if(n.startsWith(`gi://`))return{id:n,external:!0};if(n.startsWith(`node:`))return await this.resolve(n,a,{skipSelf:!0});if(!a)return null;let N=a.startsWith(`file://`)?fileURLToPath(a):a;try{let a=S.resolveRequest(n,N);return a===null?null:{id:a}}catch(a){if(!isUndeclaredDependency(a))throw a;try{let a=S.resolveRequest(n,C);if(a!==null)return{id:a}}catch(n){if(!isUndeclaredDependency(n))throw n}for(let a of I)try{let C=S.resolveRequest(n,a);if(C!==null)return{id:C}}catch(n){if(!isUndeclaredDependency(n))throw n}return null}}},async load(n){if(!n.includes(`/.yarn/`)&&!n.includes(`.zip/`))return null;try{return{code:await readFile$1(n,`utf8`)}}catch(a){let S=a instanceof Error?a.message:String(a);this.error(`gjsify-pnp: failed to read ${n}: ${S}`)}}}}function isUndeclaredDependency(n){return typeof n==`object`&&!!n&&`pnpCode`in n&&n.pnpCode===`UNDECLARED_DEPENDENCY`}var GA=__esmMin(()=>{Uo(),mn(),ps(),Zc(),kc()});function normalizeBundlerOptions(n){let a=n.bundler??{},S=a;if(typeof a.define==`object`&&a.define!==null){qA||(qA=!0,ke.warn(`[gjsify] WARNING: 'bundler.define' is not a valid Rolldown option and would be silently ignored — it has been auto-mapped to 'bundler.transform.define'. Move 'define' under 'bundler.transform.define' in your config to suppress this warning and avoid a ReferenceError at GJS load time.`));let{define:n,...C}=a;S={...C,transform:{...C.transform,define:{...n,...C.transform?.define}}}}if(!n.esbuild)return S;KA||(KA=!0,ke.warn(`[gjsify] DEPRECATION: the 'esbuild' config key is deprecated and will be removed in 0.5.0. Rename it to 'bundler' (typed as RolldownOptions). See the migration notes in the gjsify CHANGELOG.`));let C=legacyEsbuildToRolldown(n.esbuild),N={...C,...S};return(C.output||S.output)&&(N.output={...C.output,...S.output}),(C.transform||S.transform)&&(N.transform={...C.transform,...S.transform},(C.transform?.define||S.transform?.define)&&(N.transform.define={...C.transform?.define,...S.transform?.define})),(C.resolve||S.resolve)&&(N.resolve={...C.resolve,...S.resolve}),N}function legacyEsbuildToRolldown(n){let a={},S={},C={},N={};return n.outfile!==void 0&&(S.file=n.outfile),n.outdir!==void 0&&(S.dir=n.outdir),n.format!==void 0&&(S.format=n.format),n.minify!==void 0&&(S.minify=n.minify),n.sourcemap!==void 0&&(S.sourcemap=n.sourcemap===`inline`?`inline`:!!n.sourcemap),n.banner?.js!==void 0&&(S.banner=n.banner.js),n.target!==void 0&&(C.target=Array.isArray(n.target)?n.target.join(`,`):n.target),n.define!==void 0&&(C.define=n.define),n.mainFields!==void 0&&(N.mainFields=n.mainFields),n.conditions!==void 0&&(N.conditionNames=n.conditions),n.external!==void 0&&(a.external=n.external),n.platform!==void 0&&(a.platform=n.platform),Object.keys(S).length>0&&(a.output=S),Object.keys(C).length>0&&(a.transform=C),Object.keys(N).length>0&&(a.resolve=N),a}function mergeBundlerOptions(n,a){let{input:S,external:C,...N}=a,F={...n,...N};return(n.output||a.output)&&(F.output={...n.output,...a.output}),(n.transform||a.transform)&&(F.transform={...n.transform,...a.transform},(n.transform?.define||a.transform?.define)&&(F.transform.define={...n.transform?.define,...a.transform?.define})),(n.resolve||a.resolve)&&(F.resolve={...n.resolve,...a.resolve}),F}var KA,qA,JA=__esmMin(()=>{Ae(),KA=!1,qA=!1});function isUnsafeDefaultOutput(n){if(/\.[cm]?tsx?$/i.test(n))return!0;let a=n.replace(/\\/g,`/`);return!!/(?:^|\/)src\//.test(a)}async function buildPnpPlugin(){return pnpPlugin({issuerUrl:import.meta.url})}function shortHash(n){let a=5381;for(let S=0;S<n.length;S++)a=(a<<5)+a+n.charCodeAt(S)>>>0;return a.toString(16).padStart(8,`0`)}function isTruthyEnv(n){return n===`1`||n===`true`||n===`yes`}async function newestLockfileMtime(n){let a=0;for(let S of XA)try{let C=await stat$1(ns(n,S));C.mtimeMs>a&&(a=C.mtimeMs)}catch{}return a}async function runOneLibraryBuild(n){let a=await gjsifyPlugin({input:n.userBundler.input,output:n.output,userAliases:n.userAliases},n.pluginOpts);return await runBundle({...mergeBundlerOptions(a.options,n.userBundler),plugins:[...n.pnpPlugins,...a.plugins]})}var YA,XA,ZA,QA=__esmMin(()=>{Ae(),Hg(),PA(),zg(),FA(),WA(),GA(),ps(),mn(),kc(),JA(),YA=`#!/usr/bin/env -S gjs -m`,XA=[`gjsify-lock.json`,`package-lock.json`,`yarn.lock`,`pnpm-lock.yaml`],ZA=class BuildAction{configData;constructor(n={}){this.configData=n}async buildLibrary(){let{verbose:n,library:a,typescript:S,exclude:C,aliases:N}=this.configData,F=a??{},I=normalizeBundlerOptions(this.configData),H=F.module?as(F.module):void 0,W=F.main?as(F.main):void 0,K=F.module?ss(F.module):`.js`,q=F.main?ss(F.main):`.js`,Y=H&&W&&H!==W,X=await buildPnpPlugin(),te=X?[X]:[],ne=[];if(Y){let a=H.includes(`/cjs`)||K===`.cjs`?`cjs`:`esm`;ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:a,exclude:C,reflection:S?.reflection,jsExtension:K},userBundler:I,output:{dir:H},userAliases:N,pnpPlugins:te}));let F=W.includes(`/cjs`)||q===`.cjs`?`cjs`:`esm`;ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:F,exclude:C,reflection:S?.reflection,jsExtension:q},userBundler:I,output:{dir:W},userAliases:N,pnpPlugins:te}))}else{let a=I.output?.file??F.module??F.main,H=a?ss(a):`.js`,W=I.output?.dir??(a?as(a):void 0),K=I.output?.format??(W?.includes(`/cjs`)||H===`.cjs`?`cjs`:`esm`);ne.push(await runOneLibraryBuild({pluginOpts:{debug:n,library:K,exclude:C,reflection:S?.reflection,jsExtension:H},userBundler:I,output:{dir:W},userAliases:N,pnpPlugins:te}))}return ne}parseGlobalsValue(n){if(n===void 0)return{autoMode:!0,extras:``};if(n===`none`||n===``)return{autoMode:!1,extras:``};let a=n.split(`,`).map(n=>n.trim()).filter(Boolean);return{autoMode:a.includes(`auto`),extras:a.filter(n=>n!==`auto`).join(`,`)}}async resolveGlobalsInject(n,a,S){if(n!==`gjs`||!a)return;let C=resolveGlobalsList(a);if(C.size===0)return;let N=await writeRegisterInjectFile(C,process.cwd());return S&&N&&ke.debug(`[gjsify] globals: injected ${C.size} register module(s) from --globals ${a}`),N??void 0}async applyShebang(n,a,S){if(!a){S&&ke.warn(`[gjsify] --shebang skipped: no single outfile (use --outfile for executables)`);return}let C=n===`node`?uA:YA,N=resolveShebangLine(this.configData.shebang,C)??C,F=await readFile$1(a,`utf-8`);F.startsWith(`#!`)?S&&ke.debug(`[gjsify] --shebang skipped: ${a} already starts with a shebang`):await writeFile$1(a,N+`
744
+ `+F),await chmod$1(a,493),S&&ke.debug(`[gjsify] --shebang: wrote ${N} + chmod 0o755 to ${a}`)}async loadPluginViaGjsBundle(n,a,S){let C=await this.bundlePluginForGjs(n,a,S);try{return await import(pathToFileURL(C).href)}catch(n){throw Error(`gjsify config: failed to import the GJS bundle for plugin "${a}" (bundled to ${C}). (${n.message})`)}}async bundlePluginForGjs(n,a,S){let C=process.cwd(),N=ns(C,`node_modules`,`.cache`,`gjsify`,`plugins`),F=ns(N,`${a.replace(/[^a-zA-Z0-9._-]/g,`_`)}-${shortHash(n)}.mjs`);if(!isTruthyEnv(process.env.GJSIFY_NO_PLUGIN_CACHE)&&await this.isPluginBundleFresh(F,n,C))return S&&ke.debug(`[gjsify] plugin "${a}": reusing cached GJS bundle ${F}`),F;S&&ke.debug(`[gjsify] plugin "${a}": bundling for GJS → ${F}`);try{await mkdir$1(N,{recursive:!0}),await new BuildAction({verbose:S,bundler:{input:n,output:{file:F}}}).buildApp(`gjs`,{preserveDefaultExport:!0})}catch(n){throw Error(`gjsify config: failed to bundle plugin "${a}" for GJS (needed because GJS can't import packages that use exports-map subpaths directly; cache dir ${N}). (${n.message})`)}return F}async isPluginBundleFresh(n,a,S){try{let C=await stat$1(n),N=await stat$1(a),F=await newestLockfileMtime(S);return C.mtimeMs>=Math.max(N.mtimeMs,F)}catch{return!1}}async buildApp(n=`gjs`,a={}){let{verbose:S,typescript:C,exclude:N,library:F,aliases:I,excludeGlobals:H}=this.configData,W=normalizeBundlerOptions(this.configData),K=W.output?.format??(W.output?.file?.endsWith(`.cjs`)?`cjs`:`esm`),q=K===`iife`?`esm`:K,Y=W.output?.file,X=W.output?.dir;if(!Y&&!X&&(F?.main||F?.module)){let n=q===`cjs`?F.main??F.module:F.module??F.main;if(n&&isUnsafeDefaultOutput(n))throw Error(`gjsify build: refusing to default --outfile to ${n} (would overwrite a TypeScript source file). Pass --outfile/--outdir explicitly, or set "gjsify.bundler.output.file" in package.json.`);Y=n}let{consoleShim:te,globals:ne}=this.configData,re=Array.isArray(W.external)?W.external:void 0,ie=typeof W.output?.banner==`string`?W.output.banner:void 0,ae={debug:S,app:n,format:q,exclude:N,reflection:C?.reflection,consoleShim:te,...I?{aliases:I}:{},...a.preserveDefaultExport?{preserveDefaultExport:!0}:{}},{autoMode:oe,extras:Z}=this.parseGlobalsValue(ne),se=await buildPnpPlugin(),ce=se?[se]:[],le=textLoaderPlugin({loaders:this.configData.loaders}),ue=le?[le]:[];if(W.plugins?.length){let n=await resolveUserPlugins(W.plugins,process.cwd(),isGjs()?{loadModule:(n,a)=>this.loadPluginViaGjsBundle(n,a,S)}:{});ue.push(...n)}if(n===`gjs`&&oe){let gjsifyPluginFactory=async n=>{let a=await gjsifyPlugin({input:W.input,output:{file:Y,dir:X},userExternal:re,userBanner:ie,userAliases:I,shebang:this.configData.shebang},n);return{options:a.options,plugins:a.plugins}},{injectPath:n}=await detectAutoGlobals({input:W.input,plugins:[...ce,...ue],external:W.external,transform:W.transform,format:q},ae,gjsifyPluginFactory,S,{extraGlobalsList:Z,excludeGlobals:H,cwd:process.cwd()},bundleToChunks);ae.autoGlobalsInject=n}else if(n===`node`&&oe){let gjsifyPluginFactory=async n=>{let a=await gjsifyPlugin({input:W.input,output:{file:Y,dir:X},userExternal:re,userBanner:ie,userAliases:I,shebang:this.configData.shebang},n);return{options:a.options,plugins:a.plugins}};await detectNodeGiGlobals({input:W.input,plugins:[...ce,...ue],external:W.external,transform:W.transform,format:q},ae,gjsifyPluginFactory,bundleToChunks)&&(ae.nodeGiGlobalsInject=!0)}else Z&&(ae.autoGlobalsInject=await this.resolveGlobalsInject(n,Z,S));let de=await gjsifyPlugin({input:W.input,output:{file:Y,dir:X},userExternal:re,userBanner:ie,userAliases:I,shebang:this.configData.shebang},ae),fe={...mergeBundlerOptions(de.options,W),plugins:[...ce,...ue,...de.plugins]};if(a.watch)return await this.runWatchLoop(fe,n,Y,S),[];let pe=await runBundle(fe);return(n===`gjs`||n===`node`)&&this.configData.shebang&&await this.applyShebang(n,Y,S),[pe]}async runWatchLoop(n,a,S,C){let N=await runWatch(n),F=new Promise(n=>{N.on(`close`,()=>n())}),I=!1,shutdown=async()=>{if(!I){I=!0,ke.log(`
745
+ [gjsify build --watch] stopping watcher…`);try{await N.close()}catch(n){ke.error(`[gjsify build --watch] watcher close error:`,n)}}};process.on(`SIGINT`,shutdown),process.on(`SIGTERM`,shutdown),N.on(`event`,async n=>{switch(n.code){case`START`:C&&ke.log(`[gjsify build --watch] rebuild start`);break;case`BUNDLE_START`:ke.log(`[gjsify build --watch] building…`);break;case`BUNDLE_END`:ke.log(`[gjsify build --watch] built in ${n.duration}ms`);try{(a===`gjs`||a===`node`)&&this.configData.shebang&&await this.applyShebang(a,S,C)}finally{await n.result.close()}break;case`END`:ke.log(`[gjsify build --watch] waiting for changes…`);break;case`ERROR`:ke.error(`[gjsify build --watch] build failed:`,n.error?.message??n.error),C&&n.error?.stack&&ke.error(n.error.stack);try{await n.result.close()}catch{}break}}),C&&N.on(`change`,(n,a)=>{ke.log(`[gjsify build --watch] ${a.event}: ${n}`)}),await F}async start(n={app:`gjs`}){if(n.library){if(n.watch)throw Error(`gjsify build: --watch is not supported with --library (library mode would emit watcher rebuilds for every produced format; use --app gjs|node|browser instead).`);return await this.buildLibrary()}return await this.buildApp(n.app,{watch:n.watch})}}}),$A,ej=__esmMin(()=>{Fg(),QA(),$A={command:`build [entryPoints..]`,description:`Build and bundle your Gjs project`,builder:n=>n.option(`entry-points`,{description:`The entry points you want to bundle. Defaults to bundler.input from package.json#gjsify or .gjsifyrc.js, falling back to src/index.ts when neither is set.`,array:!0,type:`string`,normalize:!0,defaultDescription:`src/index.ts (fallback)`,coerce:n=>[...new Set(n)]}).option(`exclude`,{description:`An array of glob patterns to exclude entry-points and aliases`,array:!0,type:`string`,normalize:!0,default:[]}).option(`verbose`,{description:`Switch on the verbose mode`,type:`boolean`,normalize:!0,default:!1}).option(`app`,{description:`Use this if you want to build an application, the platform node is usually only used for tests`,type:`string`,choices:[`gjs`,`node`,`browser`,`nativescript`],normalize:!0,default:`gjs`}).option(`format`,{description:`Override the default output format`,type:`string`,choices:[`iife`,`esm`,`cjs`],normalize:!0}).option(`minify`,{description:`Minify the bundled output. Defaults to true; use --no-minify to emit pretty-printed code (e.g. for debugging or readable bundle review).`,type:`boolean`,normalize:!0,defaultDescription:`true`}).option(`library`,{description:`Use this if you want to build a library for Gjsify`,type:`boolean`,normalize:!0,default:!1}).option(`outfile`,{alias:`o`,description:`Sets the output file name for the build operation. If no outfile is specified, the outfile will be parsed from the package.json. Only used if application mode is active`,type:`string`,normalize:!0}).option(`outdir`,{alias:`d`,description:`Sets the output directory for the build operation. If no outdir is specified, the outdir will be parsed from the package.json. Only used if library mode is active`,type:`string`,normalize:!0}).option(`reflection`,{alias:`r`,description:`Enables TypeScript types on runtime using Deepkit's type compiler`,type:`boolean`,normalize:!0,default:!1}).option(`log-level`,{description:`The log level can be changed to prevent esbuild from printing warning and/or error messages to the terminal`,type:`string`,choices:[`silent`,`error`,`warning`,`info`,`debug`,`verbose`],normalize:!0,default:`warning`}).option(`console-shim`,{description:`Inject a console shim into GJS builds for clean output without the GLib prefix and with working ANSI colors. Use --no-console-shim to disable. Only applies to GJS app builds.`,type:`boolean`,normalize:!0,default:!0}).option(`globals`,{description:"Comma-separated list of global identifiers, 'auto' (default) to detect automatically from the bundled output, or 'none' to disable. The 'auto' token may be combined with explicit identifiers/groups (e.g. 'auto,dom') for cases where the detector cannot statically see a global because it's accessed via indirection. Each identifier is mapped to the corresponding `@gjsify/<pkg>/register` module and injected into the bundle. See the CLI Reference docs for the full list of known identifiers. Only applies to GJS app builds.",type:`string`,normalize:!0}).option(`shebang`,{description:"Prepend a target-appropriate shebang to the output and mark it executable (chmod 755): `#!/usr/bin/env -S gjs -m` for --app gjs, `#!/usr/bin/env node` for --app node. Applies to GJS and Node app builds with a single --outfile. Default: false (use --shebang to enable, or set `shebang: true` in `.gjsifyrc.js`).",type:`boolean`,normalize:!0}).option(`external`,{description:"Module names that should NOT be bundled — EXACT package names only, matched literally on both bundler engines (no globs). Repeat the flag or pass a comma-separated list (e.g. --external typedoc,prettier). Appended to the per-app built-in externals; register subpaths (`<pkg>/register[/…]`) are always force-inlined for --app gjs regardless of this flag.",array:!0,type:`string`,default:[],coerce:n=>n.flatMap(n=>n.split(`,`).map(n=>n.trim()).filter(Boolean))}).option(`define`,{description:`Substitute compile-time constants. Each entry is KEY=VALUE where VALUE is a JS expression (string literals must be quoted: --define VERSION='"1.2.3"'). Repeat the flag or pass comma-separated. See https://esbuild.github.io/api/#define`,array:!0,type:`string`,default:[]}).option(`alias`,{description:`Map module specifiers at bundle time. Each entry is FROM=TO (e.g. --alias typedoc=@gjsify/empty). Layered on top of the built-in alias map. Useful for stubbing heavy deps the test scenario never executes.`,array:!0,type:`string`,default:[],coerce:n=>n.flatMap(n=>n.split(`,`).map(n=>n.trim()).filter(Boolean))}).option(`exclude-globals`,{description:`Comma-separated global identifiers to remove from auto-detection results. Use for false positives from dead browser-compat code whose polyfills require unavailable native libraries (e.g. --exclude-globals fetch,XMLHttpRequest).`,type:`string`,normalize:!0}).option(`watch`,{alias:`w`,description:"Watch source files and rebuild on change. Logs each rebuild with duration; clean SIGINT shutdown. Only valid with --app gjs|node|browser (rejected with --library). Requires the npm `rolldown` engine — run under Node, not the GJS-bundled CLI.",type:`boolean`,normalize:!0,default:!1}),handler:async n=>{await new ZA(await new Config().forBuild(n)).start({library:n.library,app:n.app,watch:n.watch})}}});function nodeArchToLinuxArch(n){return{x64:`x86_64`,arm64:`aarch64`,arm:`armv7`,ia32:`i686`}[n]??n}function readPackageJson$3(n){try{return JSON.parse(readFileSync(n,`utf-8`))}catch{return null}}function scanNodeModules(n,a){let S=[];if(!existsSync(n))return S;let C;try{C=readdirSync(n)}catch{return S}for(let N of C)if(!N.startsWith(`.`))if(N.startsWith(`@`)){let C=ns(n,N),F;try{F=readdirSync(C)}catch{continue}for(let n of F){let F=checkPackage(ns(C,n),`${N}/${n}`,a);F&&S.push(F)}}else{let C=checkPackage(ns(n,N),N,a);C&&S.push(C)}return S}function checkPackage(n,a,S){let C=readPackageJson$3(ns(n,`package.json`));if(!C)return null;let N=C.gjsify;if(!N||typeof N!=`object`)return null;let F=N.prebuilds;if(typeof F!=`string`)return null;let I=ns(n,F,`linux-${S}`);return existsSync(I)?{name:a,prebuildsDir:I}:null}function detectNativePackages(n){let a=nodeArchToLinuxArch(process.arch),S=[],C=new Set,N=$o(n);for(;;){let n=ns(N,`node_modules`);if(existsSync(n))for(let N of scanNodeModules(n,a))C.has(N.name)||(C.add(N.name),S.push(N));let F=$o(N,`..`);if(F===N)break;N=F}return S}function buildNativeEnv(n){let a=n.map(n=>n.prebuildsDir),S=process.env.LD_LIBRARY_PATH??``,C=process.env.GI_TYPELIB_PATH??``;return{LD_LIBRARY_PATH:[...a,...S?[S]:[]].join(`:`),GI_TYPELIB_PATH:[...a,...C?[C]:[]].join(`:`)}}var tj=__esmMin(()=>{Zc(),ps(),__name$1(readPackageJson$3,`readPackageJson`)}),nj=__exportAll$3({computeNativeEnvForBundle:()=>computeNativeEnvForBundle,runGjsBundle:()=>runGjsBundle});function computeNativeEnvForBundle(n,a=process.cwd()){let S=$o(n),C=detectNativePackages(a),N=detectNativePackages(as(S)),F=new Set(C.map(n=>n.name)),I=buildNativeEnv([...C,...N.filter(n=>!F.has(n.name))]);return{env:I,envPrefix:Object.entries(I).filter(([,n])=>n!==void 0&&n!==``).map(([n,a])=>`${n}=${a}`).join(` `)}}async function runGjsBundle(n,a=[],S={}){let{env:C,envPrefix:N}=computeNativeEnvForBundle(n),F={...process.env,...C},I=[`-m`,n,...a],H=[`gjs`,...I.map(n=>n.includes(` `)?`"${n}"`:n)].join(` `);ke.error(`$ ${N?`${N} `:``}${H}`);let W=spawn(`gjs`,I,{env:F,stdio:`inherit`});await new Promise((n,a)=>{W.on(`close`,S=>{S===0?n():a(Error(`gjs exited with code ${S}`))}),W.on(`error`,a)}).catch(n=>{ke.error(n.message),process.exit(1)}),S.exitOnSuccess&&process.exit(0)}var rj=__esmMin(()=>{Ae(),cC(),ps(),tj()});async function buildTestBundle(n,a,S,C){let N=await new Config().forBuild({entryPoints:[n],outfile:a,app:S,verbose:C??!1,logLevel:`warning`,exclude:[]});N.library={...N.library},N.bundler={...N.bundler,input:[n],output:{...N.bundler?.output,file:a}},await new ZA(N).start({app:S,library:!1})}async function runTestBundle(n,a){if(a===`gjs`){await runGjsBundle(n);return}await new Promise((a,S)=>{let C=spawn(`node`,[n],{stdio:`inherit`});C.on(`error`,S),C.on(`exit`,n=>{n===0?a():S(Error(`node exited with code ${n}`))})})}function isFresh(n,a){if(!existsSync(n))return!1;let S=statSync(n).mtimeMs,C=as(a);try{return S>=newestMtimeUnder(existsSync(C)?C:a)}catch{return!1}}function newestMtimeUnder(n){let a=statSync(n);if(a.isFile())return a.mtimeMs;let S=a.mtimeMs;for(let a of readdirSync(n,{withFileTypes:!0})){if(a.name===`node_modules`||a.name===`dist`||a.name===`lib`||a.name.startsWith(`.`))continue;let C=newestMtimeUnder(ns(n,a.name));C>S&&(S=C)}return S}var ij,aj=__esmMin(()=>{Ae(),Zc(),ps(),cC(),Fg(),QA(),rj(),ij={command:`test`,description:"Build + run the package’s `src/test.mts` suite on GJS and Node and aggregate the results. Replaces the per-package `build:test:{gjs,node}` + `test:{gjs,node}` script boilerplate.",builder:n=>n.option(`runtime`,{description:`Target runtime. Default: both.`,type:`string`,choices:[`gjs`,`node`,`all`],default:`all`}).option(`entry`,{description:"Path to the test entry. Default: `src/test.mts` (or `gjsify.test.entry`).",type:`string`,normalize:!0}).option(`outdir`,{description:"Output directory for the built test bundles. Default: `dist/`.",type:`string`,normalize:!0}).option(`rebuild`,{description:`Always rebuild the test bundles, even when they look up-to-date.`,type:`boolean`,default:!1}).option(`build`,{description:`Build before running. Default: true (use --no-build to skip when bundles already exist).`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print resolved entry/outdir + per-step timing.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).test??{},C=$o(a,n.entry??S.entry??`src/test.mts`),N=$o(a,n.outdir??S.outdir??`dist`);existsSync(C)||(ke.error(`[gjsify test] no test entry at ${rs(a,C)} — add an \`src/test.mts\` that aggregates your \`@gjsify/unit\` suites, or set \`gjsify.test.entry\` in package.json.`),process.exit(1));let F=n.runtime===`gjs`?[`gjs`]:n.runtime===`node`?[`node`]:S.runtimes&&S.runtimes.length>0?S.runtimes:[`gjs`,`node`],I=[];for(let S of F){let F=ns(N,`test.${S}.mjs`);if(n.build!==!1)if(n.rebuild||!isFresh(F,C)){let N=Date.now();n.verbose&&ke.log(`[gjsify test] building → ${rs(a,F)} (—app ${S})`);try{await buildTestBundle(C,F,S,n.verbose),n.verbose&&ke.log(`[gjsify test] built ${S} in ${Date.now()-N}ms`)}catch(n){ke.error(`[gjsify test] build failed for ${S}:`,n.message),I.push({runtime:S,ok:!1,durationMs:0,error:`build failed`});continue}}else n.verbose&&ke.log(`[gjsify test] ${S}: bundle is up-to-date — skipping build (use --rebuild to force)`);else if(!existsSync(F)){ke.error(`[gjsify test] --no-build but ${rs(a,F)} doesn't exist. Build first or drop --no-build.`),I.push({runtime:S,ok:!1,durationMs:0,error:`no bundle`});continue}let H=Date.now();try{await runTestBundle(F,S),I.push({runtime:S,ok:!0,durationMs:Date.now()-H})}catch(n){I.push({runtime:S,ok:!1,durationMs:Date.now()-H,error:n.message})}}let H=I.map(n=>`${n.ok?`✅`:`❌`} ${n.runtime} (${n.durationMs}ms)${n.error?` — ${n.error}`:``}`).join(` `);ke.log(`[gjsify test] ${H}`),I.some(n=>!n.ok)&&process.exit(1),process.exit(0)}}});function readPackageJson$2(n){if(!existsSync(n))return null;let a=readFileSync(n,`utf-8`);try{return JSON.parse(a)}catch(a){throw Error(`gjsify install: ${n} is not valid JSON: ${a.message}`)}}function writePackageJson(n,a){let S=sortKnownDepFields(a);writeFileSync(n,JSON.stringify(S,null,2)+`
746
+ `,`utf-8`)}function parseSpec$2(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return{name:n};let S=n.indexOf(`@`,a+1);return S===-1?{name:n}:{name:n.slice(0,S),range:n.slice(S+1)}}let a=n.indexOf(`@`);return a===-1?{name:n}:{name:n.slice(0,a),range:n.slice(a+1)}}function projectSpecsFromPackageJson(n){let a=[];for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=n[S];if(C)for(let[n,S]of Object.entries(C))typeof S==`string`&&(/^(workspace|link|file|portal|git\+|https?):/.test(S)||a.push(`${n}@${S}`))}return a}function addDependencyEntry(n,a,S,C){n[C]===void 0&&(n[C]={}),n[C][a]=S}function defaultRangeFromVersion(n){return`^${n}`}function sortKnownDepFields(n){let a={...n};for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let S=a[n];S&&(a[n]=Object.fromEntries(Object.entries(S).sort(([n],[a])=>n<a?-1:+(n>a))))}return a}var oj=__esmMin(()=>{Zc(),__name$1(readPackageJson$2,`readPackageJson`),__name$1(parseSpec$2,`parseSpec`)});function looksLikeFile(n){if(n.startsWith(`./`)||n.startsWith(`../`)||n.startsWith(`/`)||n.includes(`/`)||n.includes(`\\`)||/\.(c?js|mjs|cjs|gjs)$/.test(n))return!0;try{return statSync(n).isFile()}catch{return!1}}async function runScript(n,a){let S=process.cwd(),C=ns(S,`package.json`),N=readPackageJson$2(C);N||(ke.error(`gjsify run: no package.json in ${S}`),process.exit(1));let F=N.scripts??{},I=F[n];if(typeof I!=`string`){let a=Object.keys(F).join(`, `)||`<none>`;ke.error(`gjsify run: no script "${n}" in ${C} (available: ${a})`),process.exit(1)}let H=findWorkspaceRoot(S),W=[ns(S,`node_modules`,`.bin`)];H&&H!==S&&W.push(ns(H,`node_modules`,`.bin`)),process.env.GJSIFY_SHIM_DIR&&W.unshift(process.env.GJSIFY_SHIM_DIR);let K=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`},q={...process.env,...K,PATH:[...W,process.env.PATH??``].filter(Boolean).join(ds),npm_lifecycle_event:n,npm_package_name:N.name??``,npm_package_version:N.version??``},Y=isGjs()?gjsifyInProcessArgv(I,a):null;if(Y){process.env.PATH=q.PATH,process.env.npm_lifecycle_event=q.npm_lifecycle_event,process.env.npm_package_name=q.npm_package_name,process.env.npm_package_version=q.npm_package_version,q.FORCE_COLOR!==void 0&&(process.env.FORCE_COLOR=q.FORCE_COLOR);try{let{runCli:n}=await Promise.resolve().then(()=>(DP(),EP));await n(Y)}catch(n){ke.error(n.message),process.exit(1)}process.exit(process.exitCode==null?0:Number(process.exitCode))}let X=a.length>0?`${I} ${a.map(shellEscape).join(` `)}`:I;await new Promise((a,C)=>{let N=spawn(X,[],{cwd:S,env:q,stdio:`inherit`,shell:!0});N.on(`close`,S=>{S===0?a():C(Error(`script "${n}" exited with code ${S}`))}),N.on(`error`,C)}).catch(n=>{ke.error(n.message),process.exit(1)}),process.exit(0)}function shellEscape(n){return/^[a-zA-Z0-9_\-./=:@,]+$/.test(n)?n:`'${n.replace(/'/g,`'\\''`)}'`}function gjsifyInProcessArgv(n,a){let S=tokenizeSimpleCommand(n);return!S||S.length<2||S[0]!==`gjsify`?null:[...S.slice(1),...a]}function tokenizeSimpleCommand(n){let a=[],S=``,C=!1,N=null;for(let F=0;F<n.length;F++){let I=n[F];if(N===`'`){I===`'`?N=null:S+=I;continue}if(N===`"`){if(I===`"`)N=null;else if(I===`\\`&&(n[F+1]===`"`||n[F+1]===`\\`))S+=n[++F];else if(I===`$`||I==="`")return null;else S+=I;continue}if(I===`'`||I===`"`){N=I,C=!0;continue}if(I===` `||I===` `){C&&=(a.push(S),S=``,!1);continue}if(`|&;<>\`$()\\
747
+ \r*?{}[]~#!`.includes(I))return null;S+=I,C=!0}return N?null:(C&&a.push(S),a)}var sj,cj=__esmMin(()=>{Ae(),Zc(),ps(),cC(),rj(),oj(),Lg(),zg(),sj={command:`run <target> [args..]`,description:"Run a script from package.json (yarn-run-style) or a GJS bundle file. If <target> resolves to a file on disk (or has a path-like prefix), it is launched via gjs with LD_LIBRARY_PATH + GI_TYPELIB_PATH set for native packages. Otherwise it is looked up in the current package.json `scripts`.",builder:n=>n.positional(`target`,{description:"Either a script name (looked up in package.json `scripts`) or a path to a GJS bundle (e.g. dist/gjs.js).",type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments passed through to the script / gjs.`,type:`string`,array:!0,default:[]}).parserConfiguration({"populate--":!0,"unknown-options-as-args":!0}),handler:async n=>{let a=n.target,S=n.args??[],C=(n[`--`]??[]).filter(n=>typeof n==`string`),N=[...S,...C],F=readPackageJson$2(ns(process.cwd(),`package.json`));if(!(F?.scripts&&typeof F.scripts[a]==`string`)&&looksLikeFile(a)){await runGjsBundle($o(a),N,{exitOnSuccess:!0});return}await runScript(a,N)}}}),lj,uj=__esmMin(()=>{Ae(),ps(),tj(),lj={command:`info [file]`,description:`Show native gjsify packages detected in node_modules and the env vars needed to run a GJS bundle directly with gjs.`,builder:n=>n.positional(`file`,{description:`Optional: the GJS bundle path to include in the example command (e.g. dist/gjs.js)`,type:`string`,normalize:!0}).option(`export`,{description:`Output only shell export statements suitable for eval (eval $(gjsify info --export))`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.file?$o(n.file):null,C=detectNativePackages(a),{LD_LIBRARY_PATH:N,GI_TYPELIB_PATH:F}=buildNativeEnv(C);if(n.export){ke.log(`export LD_LIBRARY_PATH="${N}"`),ke.log(`export GI_TYPELIB_PATH="${F}"`);return}if(C.length===0){ke.log(`No native gjsify packages detected in node_modules.`),ke.log(`Native packages declare "gjsify": { "prebuilds": "<dir>" } in their package.json.`);return}ke.log(`Native packages detected:`);for(let n of C)ke.log(` ${n.name} → ${n.prebuildsDir}`);ke.log(``),ke.log(`To run your app directly with gjs, set:`),ke.log(` export LD_LIBRARY_PATH="${N}"`),ke.log(` export GI_TYPELIB_PATH="${F}"`),S?ke.log(` gjs -m ${S}`):ke.log(` gjs -m <your-bundle.js>`),ke.log(``),ke.log(`Or use gjsify run to handle this automatically:`),S?ke.log(` gjsify run ${n.file}`):ke.log(` gjsify run <your-bundle.js>`)}}});function tryExecFile(n,a){try{return execFileSync(n,a,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return null}}function checkBinary(n,a,S,C,N,F,I){let H=tryExecFile(S,C);return H===null?{id:n,name:a,found:!1,severity:N,requiredBy:I}:{id:n,name:a,found:!0,version:F?F(H):H.split(`
743
748
  `)[0]??H,severity:N,requiredBy:I}}function checkPkgConfig(n,a,S,C,N){let F=tryExecFile(`pkg-config`,[`--modversion`,S]);return F===null?{id:n,name:a,found:!1,severity:C,requiredBy:N}:{id:n,name:a,found:!0,version:F.split(`
744
- `)[0],severity:C,requiredBy:N}}function checkNpmPackage(n,a,S,C,N,F){try{return createRequire(pathToFileURL(ns(C,`_check_.js`)).href).resolve(S),{id:n,name:a,found:!0,severity:N,requiredBy:F}}catch{}try{return createRequire(import.meta.url).resolve(S),{id:n,name:a,found:!0,severity:N,requiredBy:F}}catch{return{id:n,name:a,found:!1,severity:N,requiredBy:F}}}function detectPackageManager$2(){for(let n of[`apt`,`dnf`,`pacman`,`zypper`,`apk`])if(tryExecFile(`which`,[n])!==null)return n;return`unknown`}function findProjectRoot(n){let a=$o(n);for(;;){if(existsSync(ns(a,`package.json`)))return a;let n=$o(a,`..`);if(n===a)return null;a=n}}function discoverGjsifyPackages(n){let a=findProjectRoot(n);if(!a)return null;let S=ns(a,`node_modules`,`@gjsify`);if(!existsSync(S))return new Set;let C=ns(a,`package.json`),N={};try{N=JSON.parse(readFileSync(C,`utf-8`))}catch{}let F={...N.dependencies,...N.devDependencies},I=new Set;try{for(let n of readdirSync(S,{withFileTypes:!0}))(n.isDirectory()||n.isSymbolicLink())&&I.add(`@gjsify/${n.name}`)}catch{}for(let n of Object.keys(F))n.startsWith(`@gjsify/`)&&I.add(n);return I}function computeNeededOptionalDeps(n){let a=discoverGjsifyPackages(n);if(a===null)return null;let S=new Set;for(let n of a){let a=oj[n];if(a)for(let n of a)S.add(n)}return S}function runAllChecks(n){let a=computeNeededOptionalDeps(n);return[...runMinimalChecks(),...runRequiredChecks(n),...runOptionalChecks(a,n)]}function runMinimalChecks(){let n=[];return n.push({id:`nodejs`,name:`Node.js`,found:!0,version:process.version,severity:`required`}),n.push(checkBinary(`gjs`,`GJS`,`gjs`,[`--version`],`required`,n=>n.replace(/^GJS\s+/i,``).split(`
745
- `)[0]??n)),n}function checkGwebgl(n){return checkNpmPackage(`gwebgl`,`gwebgl (@gjsify/webgl)`,`@gjsify/webgl`,n,`optional`,[`@gjsify/webgl`])}function runRequiredChecks(n){let a=[];return a.push(checkBinary(`blueprint-compiler`,`Blueprint Compiler`,`blueprint-compiler`,[`--version`],`required`)),a.push(checkBinary(`pkg-config`,`pkg-config`,`pkg-config`,[`--version`],`required`)),a.push(checkBinary(`meson`,`Meson`,`meson`,[`--version`],`required`)),a.push(checkPkgConfig(`gtk4`,`GTK4`,`gtk4`,`required`)),a.push(checkPkgConfig(`libadwaita`,`libadwaita`,`libadwaita-1`,`required`)),a.push(checkPkgConfig(`libsoup3`,`libsoup3`,`libsoup-3.0`,`required`)),a.push(checkPkgConfig(`gobject-introspection`,`GObject Introspection`,`gobject-introspection-1.0`,`required`)),a}function runOptionalChecks(n,a){let S=[];for(let[a,C]of Object.entries(aj)){if(n!==null&&!n.has(a))continue;let N=Object.entries(oj).filter(([,n])=>n.includes(a)).map(([n])=>n);S.push(checkPkgConfig(C.id,C.name,C.pkgName,`optional`,N))}return(n===null||n.has(`gwebgl`))&&S.push(checkGwebgl(a)),S}function buildInstallCommand(n,a){if(n===`unknown`)return null;let S=sj[n],C=[],N=[];for(let n of a){if(n.id===`gwebgl`){N.push(`@gjsify/webgl`);continue}if(n.id===`nodejs`)continue;let a=S[n.id];a&&C.push(a)}let F=[];return C.length>0&&F.push(`${cj[n]} ${C.join(` `)}`),N.length>0&&F.push(`npm install ${N.join(` `)}`),F.length>0?F.join(`
746
- `):null}var aj,oj,sj,cj,lj=__esmMin(()=>{sC(),ps(),Uo(),mn(),Zc(),__name$1(detectPackageManager$2,`detectPackageManager`),aj={manette:{id:`manette`,name:`libmanette`,pkgName:`manette-0.2`},gstreamer:{id:`gstreamer`,name:`GStreamer`,pkgName:`gstreamer-1.0`},"gst-app":{id:`gst-app`,name:`GStreamer App`,pkgName:`gstreamer-app-1.0`},"gdk-pixbuf":{id:`gdk-pixbuf`,name:`GdkPixbuf`,pkgName:`gdk-pixbuf-2.0`},pango:{id:`pango`,name:`Pango`,pkgName:`pango`},pangocairo:{id:`pangocairo`,name:`PangoCairo`,pkgName:`pangocairo`},webkitgtk:{id:`webkitgtk`,name:`WebKitGTK`,pkgName:`webkitgtk-6.0`},cairo:{id:`cairo`,name:`Cairo`,pkgName:`cairo`},gnutls:{id:`gnutls`,name:`GnuTLS`,pkgName:`gnutls`},nghttp2:{id:`nghttp2`,name:`libnghttp2`,pkgName:`libnghttp2`}},oj={"@gjsify/gamepad":[`manette`],"@gjsify/webaudio":[`gstreamer`,`gst-app`],"@gjsify/iframe":[`webkitgtk`],"@gjsify/canvas2d":[`gdk-pixbuf`,`pango`,`pangocairo`,`cairo`],"@gjsify/canvas2d-core":[`gdk-pixbuf`,`pango`,`pangocairo`,`cairo`],"@gjsify/dom-elements":[`gdk-pixbuf`],"@gjsify/webgl":[`gwebgl`],"@gjsify/tls-native":[`gnutls`],"@gjsify/http2-native":[`nghttp2`]},sj={apt:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkg-config`,meson:`meson`,gtk4:`libgtk-4-dev`,libadwaita:`libadwaita-1-dev`,libsoup3:`libsoup-3.0-dev`,webkitgtk:`libwebkit2gtk-6.0-dev`,"gobject-introspection":`gobject-introspection libgirepository1.0-dev`,manette:`libmanette-0.2-0 gir1.2-manette-0.2`,gstreamer:`libgstreamer1.0-dev`,"gst-app":`libgstreamer-plugins-base1.0-dev gir1.2-gst-plugins-base-1.0`,"gdk-pixbuf":`libgdk-pixbuf-2.0-dev`,pango:`libpango1.0-dev`,pangocairo:`libpango1.0-dev`,cairo:`libcairo2-dev`,gnutls:`libgnutls28-dev`,nghttp2:`libnghttp2-dev`},dnf:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf-pkg-config`,meson:`meson`,gtk4:`gtk4-devel`,libadwaita:`libadwaita-devel`,libsoup3:`libsoup3-devel`,webkitgtk:`webkitgtk6.0-devel`,"gobject-introspection":`gobject-introspection-devel`,manette:`libmanette-devel`,gstreamer:`gstreamer1-devel`,"gst-app":`gstreamer1-plugins-base-devel`,"gdk-pixbuf":`gdk-pixbuf2-devel`,pango:`pango-devel`,pangocairo:`pango-devel`,cairo:`cairo-devel`,gnutls:`gnutls-devel`,nghttp2:`libnghttp2-devel`},pacman:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf`,meson:`meson`,gtk4:`gtk4`,libadwaita:`libadwaita`,libsoup3:`libsoup3`,webkitgtk:`webkitgtk-6.0`,"gobject-introspection":`gobject-introspection`,manette:`libmanette`,gstreamer:`gstreamer`,"gst-app":`gst-plugins-base`,"gdk-pixbuf":`gdk-pixbuf2`,pango:`pango`,pangocairo:`pango`,cairo:`cairo`,gnutls:`gnutls`,nghttp2:`libnghttp2`},zypper:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkg-config`,meson:`meson`,gtk4:`gtk4-devel`,libadwaita:`libadwaita-devel`,libsoup3:`libsoup-3_0-devel`,webkitgtk:`webkitgtk6_0-devel`,"gobject-introspection":`gobject-introspection-devel`,manette:`libmanette-0_2-0-devel`,gstreamer:`gstreamer-devel`,"gst-app":`gstreamer-plugins-base-devel`,"gdk-pixbuf":`gdk-pixbuf-devel`,pango:`pango-devel`,pangocairo:`pango-devel`,cairo:`cairo-devel`,gnutls:`libgnutls-devel`,nghttp2:`libnghttp2-devel`},apk:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf`,meson:`meson`,gtk4:`gtk4.0-dev`,libadwaita:`libadwaita-dev`,libsoup3:`libsoup3-dev`,webkitgtk:`webkit2gtk-6.0-dev`,"gobject-introspection":`gobject-introspection-dev`,manette:`libmanette-dev`,gstreamer:`gstreamer-dev`,"gst-app":`gst-plugins-base-dev`,"gdk-pixbuf":`gdk-pixbuf-dev`,pango:`pango-dev`,pangocairo:`pango-dev`,cairo:`cairo-dev`,gnutls:`gnutls-dev`,nghttp2:`nghttp2-dev`},unknown:{}},cj={apt:`sudo apt install`,dnf:`sudo dnf install`,pacman:`sudo pacman -S`,zypper:`sudo zypper install`,apk:`sudo apk add`,unknown:``}}),uj,dj=__esmMin(()=>{Ae(),lj(),uj={command:`system-check`,description:"Check that required system dependencies (GJS, GTK4, libsoup3, …) are installed. Optional dependencies are detected only when their @gjsify/* package is in your project. (Previously called `gjsify check`; the bare name now runs TypeScript checks across the workspace — see `gjsify check --help`.)",builder:n=>n.option(`json`,{description:`Output results as JSON`,type:`boolean`,default:!1}),handler:async n=>{let a=runAllChecks(process.cwd()),S=detectPackageManager$2(),C=a.filter(n=>!n.found&&n.severity===`required`),N=a.filter(n=>!n.found&&n.severity===`optional`),F=[...C,...N];if(n.json){ke.log(JSON.stringify({packageManager:S,deps:a},null,2)),process.exit(+(C.length>0));return}ke.log(`System dependency check
749
+ `)[0],severity:C,requiredBy:N}}function checkNpmPackage(n,a,S,C,N,F){try{return createRequire(pathToFileURL(ns(C,`_check_.js`)).href).resolve(S),{id:n,name:a,found:!0,severity:N,requiredBy:F}}catch{}try{return createRequire(import.meta.url).resolve(S),{id:n,name:a,found:!0,severity:N,requiredBy:F}}catch{return{id:n,name:a,found:!1,severity:N,requiredBy:F}}}function detectPackageManager$2(){for(let n of[`apt`,`dnf`,`pacman`,`zypper`,`apk`])if(tryExecFile(`which`,[n])!==null)return n;return`unknown`}function findProjectRoot(n){let a=$o(n);for(;;){if(existsSync(ns(a,`package.json`)))return a;let n=$o(a,`..`);if(n===a)return null;a=n}}function discoverGjsifyPackages(n){let a=findProjectRoot(n);if(!a)return null;let S=ns(a,`node_modules`,`@gjsify`);if(!existsSync(S))return new Set;let C=ns(a,`package.json`),N={};try{N=JSON.parse(readFileSync(C,`utf-8`))}catch{}let F={...N.dependencies,...N.devDependencies},I=new Set;try{for(let n of readdirSync(S,{withFileTypes:!0}))(n.isDirectory()||n.isSymbolicLink())&&I.add(`@gjsify/${n.name}`)}catch{}for(let n of Object.keys(F))n.startsWith(`@gjsify/`)&&I.add(n);return I}function computeNeededOptionalDeps(n){let a=discoverGjsifyPackages(n);if(a===null)return null;let S=new Set;for(let n of a){let a=fj[n];if(a)for(let n of a)S.add(n)}return S}function runAllChecks(n){let a=computeNeededOptionalDeps(n);return[...runMinimalChecks(),...runRequiredChecks(n),...runOptionalChecks(a,n)]}function runMinimalChecks(){let n=[];return n.push({id:`nodejs`,name:`Node.js`,found:!0,version:process.version,severity:`required`}),n.push(checkBinary(`gjs`,`GJS`,`gjs`,[`--version`],`required`,n=>n.replace(/^GJS\s+/i,``).split(`
750
+ `)[0]??n)),n}function checkGwebgl(n){return checkNpmPackage(`gwebgl`,`gwebgl (@gjsify/webgl)`,`@gjsify/webgl`,n,`optional`,[`@gjsify/webgl`])}function runRequiredChecks(n){let a=[];return a.push(checkBinary(`blueprint-compiler`,`Blueprint Compiler`,`blueprint-compiler`,[`--version`],`required`)),a.push(checkBinary(`pkg-config`,`pkg-config`,`pkg-config`,[`--version`],`required`)),a.push(checkBinary(`meson`,`Meson`,`meson`,[`--version`],`required`)),a.push(checkPkgConfig(`gtk4`,`GTK4`,`gtk4`,`required`)),a.push(checkPkgConfig(`libadwaita`,`libadwaita`,`libadwaita-1`,`required`)),a.push(checkPkgConfig(`libsoup3`,`libsoup3`,`libsoup-3.0`,`required`)),a.push(checkPkgConfig(`gobject-introspection`,`GObject Introspection`,`gobject-introspection-1.0`,`required`)),a}function runOptionalChecks(n,a){let S=[];for(let[a,C]of Object.entries(dj)){if(n!==null&&!n.has(a))continue;let N=Object.entries(fj).filter(([,n])=>n.includes(a)).map(([n])=>n);S.push(checkPkgConfig(C.id,C.name,C.pkgName,`optional`,N))}return(n===null||n.has(`gwebgl`))&&S.push(checkGwebgl(a)),S}function buildInstallCommand(n,a){if(n===`unknown`)return null;let S=pj[n],C=[],N=[];for(let n of a){if(n.id===`gwebgl`){N.push(`@gjsify/webgl`);continue}if(n.id===`nodejs`)continue;let a=S[n.id];a&&C.push(a)}let F=[];return C.length>0&&F.push(`${mj[n]} ${C.join(` `)}`),N.length>0&&F.push(`npm install ${N.join(` `)}`),F.length>0?F.join(`
751
+ `):null}var dj,fj,pj,mj,hj=__esmMin(()=>{cC(),ps(),Uo(),mn(),Zc(),__name$1(detectPackageManager$2,`detectPackageManager`),dj={manette:{id:`manette`,name:`libmanette`,pkgName:`manette-0.2`},gstreamer:{id:`gstreamer`,name:`GStreamer`,pkgName:`gstreamer-1.0`},"gst-app":{id:`gst-app`,name:`GStreamer App`,pkgName:`gstreamer-app-1.0`},"gdk-pixbuf":{id:`gdk-pixbuf`,name:`GdkPixbuf`,pkgName:`gdk-pixbuf-2.0`},pango:{id:`pango`,name:`Pango`,pkgName:`pango`},pangocairo:{id:`pangocairo`,name:`PangoCairo`,pkgName:`pangocairo`},webkitgtk:{id:`webkitgtk`,name:`WebKitGTK`,pkgName:`webkitgtk-6.0`},cairo:{id:`cairo`,name:`Cairo`,pkgName:`cairo`},gnutls:{id:`gnutls`,name:`GnuTLS`,pkgName:`gnutls`},nghttp2:{id:`nghttp2`,name:`libnghttp2`,pkgName:`libnghttp2`}},fj={"@gjsify/gamepad":[`manette`],"@gjsify/webaudio":[`gstreamer`,`gst-app`],"@gjsify/iframe":[`webkitgtk`],"@gjsify/canvas2d":[`gdk-pixbuf`,`pango`,`pangocairo`,`cairo`],"@gjsify/canvas2d-core":[`gdk-pixbuf`,`pango`,`pangocairo`,`cairo`],"@gjsify/dom-elements":[`gdk-pixbuf`],"@gjsify/webgl":[`gwebgl`],"@gjsify/tls-native":[`gnutls`],"@gjsify/http2-native":[`nghttp2`]},pj={apt:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkg-config`,meson:`meson`,gtk4:`libgtk-4-dev`,libadwaita:`libadwaita-1-dev`,libsoup3:`libsoup-3.0-dev`,webkitgtk:`libwebkit2gtk-6.0-dev`,"gobject-introspection":`gobject-introspection libgirepository1.0-dev`,manette:`libmanette-0.2-0 gir1.2-manette-0.2`,gstreamer:`libgstreamer1.0-dev`,"gst-app":`libgstreamer-plugins-base1.0-dev gir1.2-gst-plugins-base-1.0`,"gdk-pixbuf":`libgdk-pixbuf-2.0-dev`,pango:`libpango1.0-dev`,pangocairo:`libpango1.0-dev`,cairo:`libcairo2-dev`,gnutls:`libgnutls28-dev`,nghttp2:`libnghttp2-dev`},dnf:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf-pkg-config`,meson:`meson`,gtk4:`gtk4-devel`,libadwaita:`libadwaita-devel`,libsoup3:`libsoup3-devel`,webkitgtk:`webkitgtk6.0-devel`,"gobject-introspection":`gobject-introspection-devel`,manette:`libmanette-devel`,gstreamer:`gstreamer1-devel`,"gst-app":`gstreamer1-plugins-base-devel`,"gdk-pixbuf":`gdk-pixbuf2-devel`,pango:`pango-devel`,pangocairo:`pango-devel`,cairo:`cairo-devel`,gnutls:`gnutls-devel`,nghttp2:`libnghttp2-devel`},pacman:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf`,meson:`meson`,gtk4:`gtk4`,libadwaita:`libadwaita`,libsoup3:`libsoup3`,webkitgtk:`webkitgtk-6.0`,"gobject-introspection":`gobject-introspection`,manette:`libmanette`,gstreamer:`gstreamer`,"gst-app":`gst-plugins-base`,"gdk-pixbuf":`gdk-pixbuf2`,pango:`pango`,pangocairo:`pango`,cairo:`cairo`,gnutls:`gnutls`,nghttp2:`libnghttp2`},zypper:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkg-config`,meson:`meson`,gtk4:`gtk4-devel`,libadwaita:`libadwaita-devel`,libsoup3:`libsoup-3_0-devel`,webkitgtk:`webkitgtk6_0-devel`,"gobject-introspection":`gobject-introspection-devel`,manette:`libmanette-0_2-0-devel`,gstreamer:`gstreamer-devel`,"gst-app":`gstreamer-plugins-base-devel`,"gdk-pixbuf":`gdk-pixbuf-devel`,pango:`pango-devel`,pangocairo:`pango-devel`,cairo:`cairo-devel`,gnutls:`libgnutls-devel`,nghttp2:`libnghttp2-devel`},apk:{gjs:`gjs`,"blueprint-compiler":`blueprint-compiler`,"pkg-config":`pkgconf`,meson:`meson`,gtk4:`gtk4.0-dev`,libadwaita:`libadwaita-dev`,libsoup3:`libsoup3-dev`,webkitgtk:`webkit2gtk-6.0-dev`,"gobject-introspection":`gobject-introspection-dev`,manette:`libmanette-dev`,gstreamer:`gstreamer-dev`,"gst-app":`gst-plugins-base-dev`,"gdk-pixbuf":`gdk-pixbuf-dev`,pango:`pango-dev`,pangocairo:`pango-dev`,cairo:`cairo-dev`,gnutls:`gnutls-dev`,nghttp2:`nghttp2-dev`},unknown:{}},mj={apt:`sudo apt install`,dnf:`sudo dnf install`,pacman:`sudo pacman -S`,zypper:`sudo zypper install`,apk:`sudo apk add`,unknown:``}}),gj,_j=__esmMin(()=>{Ae(),hj(),gj={command:`system-check`,description:"Check that required system dependencies (GJS, GTK4, libsoup3, …) are installed. Optional dependencies are detected only when their @gjsify/* package is in your project. (Previously called `gjsify check`; the bare name now runs TypeScript checks across the workspace — see `gjsify check --help`.)",builder:n=>n.option(`json`,{description:`Output results as JSON`,type:`boolean`,default:!1}),handler:async n=>{let a=runAllChecks(process.cwd()),S=detectPackageManager$2(),C=a.filter(n=>!n.found&&n.severity===`required`),N=a.filter(n=>!n.found&&n.severity===`optional`),F=[...C,...N];if(n.json){ke.log(JSON.stringify({packageManager:S,deps:a},null,2)),process.exit(+(C.length>0));return}ke.log(`System dependency check
747
752
  `);let I=a.filter(n=>n.severity===`required`),H=a.filter(n=>n.severity===`optional`);if(I.length>0){ke.log(`Required:`);for(let n of I){let a=n.found?`✓`:`✗`,S=n.version?` (${n.version})`:``;ke.log(` ${a} ${n.name}${S}`)}}if(H.length>0){ke.log(`
748
753
  Optional:`);for(let n of H){let a=n.found?`✓`:`⚠`,S=n.version?` (${n.version})`:``,C=n.requiredBy&&n.requiredBy.length>0?` — needed by ${n.requiredBy.join(`, `)}`:``;ke.log(` ${a} ${n.name}${S}${C}`)}}if(ke.log(`\nPackage manager: ${S}`),F.length===0){ke.log(`
749
754
  All dependencies found.`);return}C.length>0&&ke.log(`\nMissing required: ${C.map(n=>n.name).join(`, `)}`),N.length>0&&ke.log(`Missing optional: ${N.map(n=>n.name).join(`, `)}`);let W=buildInstallCommand(S,F);W?ke.log(`\nTo install:\n ${W}`):ke.log(`
750
755
  No install command available for your package manager. Install manually.`),process.exit(+(C.length>0))}}});function prefixLines(n,a,S,C){let N=``,F=``,emit=n=>{C?F+=n:a.write(n)};return n.setEncoding(`utf-8`),n.on(`data`,n=>{N+=n;let a;for(;(a=N.indexOf(`
751
756
  `))!==-1;)emit(S+N.slice(0,a+1)),N=N.slice(a+1)}),n.on(`end`,()=>{N.length>0&&emit(S+N+`
752
- `)}),()=>{F.length>0&&(a.write(F),F=``)}}var fj=__esmMin(()=>{});function readPackageJson$1(n){let a=ns(n,`package.json`);if(!existsSync(a))return null;try{return JSON.parse(readFileSync(a,`utf-8`))}catch{return null}}function runCheck(n,a){return new Promise(S=>{let C=spawn(`npm`,[`run`,`check`,`--if-present`],{cwd:n.location,stdio:a===null?`inherit`:[`ignore`,`pipe`,`pipe`]}),N=!process.stdout.isTTY,F=[];if(a!==null&&C.stdout&&C.stderr){let n=`[${a}] `;F.push(prefixLines(C.stdout,process.stdout,n,N)),F.push(prefixLines(C.stderr,process.stderr,n,N))}C.on(`close`,n=>{for(let n of F)n();S(n??1)}),C.on(`error`,()=>{for(let n of F)n();S(1)})})}var pj,mj=__esmMin(()=>{Ae(),sC(),fj(),Zc(),ps(),Wp(),Ig(),Lg(),__name$1(readPackageJson$1,`readPackageJson`),pj={command:`check`,description:"Run `npm run check` (TypeScript type-check) across the current workspace. In a workspace root: walks every package with a `check` script (excludes @girs/*; honours --include/--exclude). In a single package: runs the local `check` script directly. Symmetric peer of `gjsify format` / `lint` / `fix`. (Legacy system-dep `gjsify check` is now `gjsify system-check` — see #254.)",builder:n=>n.option(`include`,{description:`Only run in workspaces matching these glob patterns (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Skip workspaces matching these glob patterns (repeatable). Always excludes @girs/*.`,type:`string`,array:!0}).option(`parallel`,{description:`Run workspace checks in parallel (default). Use --no-parallel to run them sequentially with full per-workspace output.`,type:`boolean`,alias:`p`,default:!0}).option(`jobs`,{description:`Max parallel workers (when --parallel). Default: os.cpus().length.`,type:`number`,alias:`j`}).option(`verbose`,{description:`Log the per-workspace command before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=findWorkspaceRoot(a);if(S&&a!==S&&readPackageJson$1(a)?.scripts?.check){n.verbose&&ke.log(`[check] cwd=${a} → npm run check`);let S=spawnSync(`npm`,[`run`,`check`],{cwd:a,stdio:`inherit`});process.exit(S.status??1)}S||(ke.error("gjsify check: no workspace root found from cwd. Run inside a workspace (or a package within one) with `npm run check` defined."),process.exit(1));let C=discoverWorkspaces(S),N=[`@girs/*`,...n.exclude??[]],F=filterWorkspaces(C,{include:n.include,exclude:N}).filter(n=>n.manifest.scripts?.check!==void 0);if(F.length===0&&(ke.error("gjsify check: no workspaces with a `check` script found."),process.exit(1)),n.verbose&&ke.log(`[check] root=${S} workspaces=${F.length} parallel=${n.parallel?`yes`:`no`}`),!n.parallel){let a=0;for(let S of F){n.verbose&&ke.log(`[check] → ${S.name}`);let C=await runCheck(S,null);C!==0&&a===0&&(a=C)}a!==0&&ke.error(`gjsify check: failures in ${F.filter(async n=>await runCheck(n,null)!==0).length}+ workspaces`),process.exit(a)}let I=n.jobs??Math.max(1,cpus().length),H=[],W=0,K=[];for(let n=0;n<I;n++)K.push((async()=>{for(;;){let n=W++;if(n>=F.length)return;let a=F[n],S=await runCheck(a,a.name);S!==0&&H.push({name:a.name,code:S})}})());if(await Promise.all(K),H.length>0){ke.error(`\ngjsify check: ${H.length} of ${F.length} workspace(s) failed:`);for(let n of H)ke.error(` ✗ ${n.name} (exit ${n.code})`);process.exit(1)}n.verbose&&ke.log(`\ngjsify check: ${F.length} workspace(s) green.`),process.exit(0)}}});function manifestPath(){return ns(as(fileURLToPath(import.meta.url)),`..`,`..`,`showcases.json`)}function discoverShowcases(){let n=manifestPath();if(!existsSync(n))return[];let a;try{a=JSON.parse(readFileSync(n,`utf-8`))}catch{return[]}if(!Array.isArray(a.showcases))return[];let S=a.showcases.map(n=>({name:n.name,packageName:n.package,category:n.category,description:n.description??``,needsWebgl:!!n.needsWebgl}));return S.sort((n,a)=>n.category.localeCompare(a.category)||n.name.localeCompare(a.name)),S}function findShowcase(n){return discoverShowcases().find(a=>a.name===n)}var hj=__esmMin(()=>{Zc(),ps(),mn()});function readCliVersion(){try{let n=new URL(`../../package.json`,import.meta.url),a=JSON.parse(readFileSync(n,`utf8`));return typeof a.version==`string`?a.version:void 0}catch{return}}var gj,_j=__esmMin(()=>{Ae(),hj(),lj(),sC(),mn(),Zc(),gj={command:`showcase [name]`,description:`List or run curated gjsify showcase applications.`,builder:n=>n.positional(`name`,{description:`Showcase name to run (omit to list all)`,type:`string`}).option(`json`,{description:`Output as JSON`,type:`boolean`,default:!1}).option(`list`,{description:`List available showcases`,type:`boolean`,default:!1}),handler:async n=>{if(!n.name||n.list){let a=discoverShowcases();if(n.json){ke.log(JSON.stringify(a,null,2));return}if(a.length===0){ke.log("No showcases found. The CLI ships a curated list in `showcases.json`; if it is missing the CLI install is incomplete.");return}let S=new Map;for(let n of a){let a=S.get(n.category)??[];a.push(n),S.set(n.category,a)}ke.log(`Available gjsify showcases:
757
+ `)}),()=>{F.length>0&&(a.write(F),F=``)}}var vj=__esmMin(()=>{});function readPackageJson$1(n){let a=ns(n,`package.json`);if(!existsSync(a))return null;try{return JSON.parse(readFileSync(a,`utf-8`))}catch{return null}}function runCheck(n,a){return new Promise(S=>{let C=spawn(`npm`,[`run`,`check`,`--if-present`],{cwd:n.location,stdio:a===null?`inherit`:[`ignore`,`pipe`,`pipe`]}),N=!process.stdout.isTTY,F=[];if(a!==null&&C.stdout&&C.stderr){let n=`[${a}] `;F.push(prefixLines(C.stdout,process.stdout,n,N)),F.push(prefixLines(C.stderr,process.stderr,n,N))}C.on(`close`,n=>{for(let n of F)n();S(n??1)}),C.on(`error`,()=>{for(let n of F)n();S(1)})})}var yj,bj=__esmMin(()=>{Ae(),cC(),vj(),Zc(),ps(),Wp(),Ig(),Lg(),__name$1(readPackageJson$1,`readPackageJson`),yj={command:`check`,description:"Run `npm run check` (TypeScript type-check) across the current workspace. In a workspace root: walks every package with a `check` script (excludes @girs/*; honours --include/--exclude). In a single package: runs the local `check` script directly. Symmetric peer of `gjsify format` / `lint` / `fix`. (Legacy system-dep `gjsify check` is now `gjsify system-check` — see #254.)",builder:n=>n.option(`include`,{description:`Only run in workspaces matching these glob patterns (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Skip workspaces matching these glob patterns (repeatable). Always excludes @girs/*.`,type:`string`,array:!0}).option(`parallel`,{description:`Run workspace checks in parallel (default). Use --no-parallel to run them sequentially with full per-workspace output.`,type:`boolean`,alias:`p`,default:!0}).option(`jobs`,{description:`Max parallel workers (when --parallel). Default: os.cpus().length.`,type:`number`,alias:`j`}).option(`verbose`,{description:`Log the per-workspace command before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=findWorkspaceRoot(a);if(S&&a!==S&&readPackageJson$1(a)?.scripts?.check){n.verbose&&ke.log(`[check] cwd=${a} → npm run check`);let S=spawnSync(`npm`,[`run`,`check`],{cwd:a,stdio:`inherit`});process.exit(S.status??1)}S||(ke.error("gjsify check: no workspace root found from cwd. Run inside a workspace (or a package within one) with `npm run check` defined."),process.exit(1));let C=discoverWorkspaces(S),N=[`@girs/*`,...n.exclude??[]],F=filterWorkspaces(C,{include:n.include,exclude:N}).filter(n=>n.manifest.scripts?.check!==void 0);if(F.length===0&&(ke.error("gjsify check: no workspaces with a `check` script found."),process.exit(1)),n.verbose&&ke.log(`[check] root=${S} workspaces=${F.length} parallel=${n.parallel?`yes`:`no`}`),!n.parallel){let a=0;for(let S of F){n.verbose&&ke.log(`[check] → ${S.name}`);let C=await runCheck(S,null);C!==0&&a===0&&(a=C)}a!==0&&ke.error(`gjsify check: failures in ${F.filter(async n=>await runCheck(n,null)!==0).length}+ workspaces`),process.exit(a)}let I=n.jobs??Math.max(1,cpus().length),H=[],W=0,K=[];for(let n=0;n<I;n++)K.push((async()=>{for(;;){let n=W++;if(n>=F.length)return;let a=F[n],S=await runCheck(a,a.name);S!==0&&H.push({name:a.name,code:S})}})());if(await Promise.all(K),H.length>0){ke.error(`\ngjsify check: ${H.length} of ${F.length} workspace(s) failed:`);for(let n of H)ke.error(` ✗ ${n.name} (exit ${n.code})`);process.exit(1)}n.verbose&&ke.log(`\ngjsify check: ${F.length} workspace(s) green.`),process.exit(0)}}});function manifestPath(){return ns(as(fileURLToPath(import.meta.url)),`..`,`..`,`showcases.json`)}function discoverShowcases(){let n=manifestPath();if(!existsSync(n))return[];let a;try{a=JSON.parse(readFileSync(n,`utf-8`))}catch{return[]}if(!Array.isArray(a.showcases))return[];let S=a.showcases.map(n=>({name:n.name,packageName:n.package,category:n.category,description:n.description??``,needsWebgl:!!n.needsWebgl}));return S.sort((n,a)=>n.category.localeCompare(a.category)||n.name.localeCompare(a.name)),S}function findShowcase(n){return discoverShowcases().find(a=>a.name===n)}var xj=__esmMin(()=>{Zc(),ps(),mn()});function readCliVersion(){try{let n=new URL(`../../package.json`,import.meta.url),a=JSON.parse(readFileSync(n,`utf8`));return typeof a.version==`string`?a.version:void 0}catch{return}}var Sj,Cj=__esmMin(()=>{Ae(),xj(),hj(),cC(),mn(),Zc(),Sj={command:`showcase [name]`,description:`List or run curated gjsify showcase applications.`,builder:n=>n.positional(`name`,{description:`Showcase name to run (omit to list all)`,type:`string`}).option(`json`,{description:`Output as JSON`,type:`boolean`,default:!1}).option(`list`,{description:`List available showcases`,type:`boolean`,default:!1}),handler:async n=>{if(!n.name||n.list){let a=discoverShowcases();if(n.json){ke.log(JSON.stringify(a,null,2));return}if(a.length===0){ke.log("No showcases found. The CLI ships a curated list in `showcases.json`; if it is missing the CLI install is incomplete.");return}let S=new Map;for(let n of a){let a=S.get(n.category)??[];a.push(n),S.set(n.category,a)}ke.log(`Available gjsify showcases:
753
758
  `);for(let[n,a]of S){ke.log(` ${n.toUpperCase()}:`);let S=Math.max(...a.map(n=>n.name.length));for(let n of a){let a=` `.repeat(S-n.name.length+2),C=n.description?`${a}${n.description}`:``;ke.log(` ${n.name}${C}`)}ke.log(``)}ke.log(`Run a showcase: gjsify showcase <name>`);return}let a=findShowcase(n.name);a||(ke.error(`Unknown showcase: "${n.name}"`),ke.error(`Run "gjsify showcase" to list available showcases.`),process.exit(1));let S=runMinimalChecks().filter(n=>!n.found&&n.severity===`required`);if(S.length>0){ke.error(`Missing system dependencies:
754
- `);for(let n of S)ke.error(` ✗ ${n.name}`);let n=buildInstallCommand(detectPackageManager$2(),S);n&&ke.error(`\nInstall with:\n ${n}`),process.exit(1)}let C=readCliVersion(),N=C?`${a.packageName}@${C}`:a.packageName;ke.log(`Running showcase: ${a.name} (via gjsify dlx ${N})\n`);let F=fileURLToPath(new URL(`../index.js`,import.meta.url)),I=spawn(process.execPath,[F,`dlx`,N],{stdio:`inherit`});await new Promise((n,a)=>{I.on(`close`,S=>{S===0?n():a(Error(`gjsify dlx exited with code ${S}`))}),I.on(`error`,a)}).catch(n=>{ke.error(n.message),process.exit(1)})}}});function discoverTemplates(){let n=ns(ns(as(fileURLToPath(import.meta.url)),`..`),`dist-templates`);if(!existsSync(n))return[];let a=[];for(let S of readdirSync(n)){let C=ns(n,S),N=ns(C,`package.json`);if(!statSync(C).isDirectory()||!existsSync(N))continue;let F=vj[S]??``;try{let n=JSON.parse(readFileSync(N,`utf-8`));typeof n.description==`string`&&n.description.trim()&&(F=n.description)}catch{}a.push({name:S,description:F,path:C})}return a.sort((n,a)=>n.name.localeCompare(a.name)),a}function findTemplate(n){return discoverTemplates().find(a=>a.name===n)}var vj,yj=__esmMin(()=>{Zc(),ps(),mn(),vj={"gtk-minimal":`Minimal GTK4 app — Gtk.Window + Gtk.Label (no Adwaita, no Blueprint).`,cli:`Command-line tool using yargs (Node.js + GJS).`,"adw-canvas2d":`Adwaita app with HTML Canvas 2D rendering (Blueprint UI).`,"adw-webgl":`Adwaita app with WebGL + three.js (Blueprint UI).`,"adw-game":`Adwaita game shell using Excalibur.js, WebGL → Canvas2D fallback.`,"web-server-hono":`HTTP server using Hono (Web-standard fetch-style API).`,"web-server-express":`HTTP server using Express (familiar Node.js stack).`}});function sanitizeProjectName(n){let a=n.trim();if(!a)throw Error(`Project name cannot be empty.`);let S=a.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[._-]+/,``).replace(/[._-]+$/,``);if(!S)throw Error(`"${n}" is not a valid npm package name.`);return S}function isDirEmpty(n){return existsSync(n)?readdirSync(n).length===0:!0}async function createProject(n){let a=sanitizeProjectName(n.projectName),{template:S,force:C=!1,install:N=!1}=n,F=findTemplate(S);if(!F){let n=discoverTemplates().map(n=>n.name).join(`, `);throw Error(`Unknown template "${S}". Available templates: ${n||`(none — run "yarn build" first)`}`)}let I=$o(process.cwd(),a);existsSync(I)&&!isDirEmpty(I)&&!C&&(ke.error(`Error: Directory "${a}" exists and is not empty. Use --force to scaffold into it anyway.`),process.exit(1)),ke.log(`Creating new Gjsify project in ${I} (template: ${F.name})...`),mkdirSync(I,{recursive:!0}),cpSync(F.path,I,{recursive:!0}),substituteProjectName(I,a),N&&(ke.log(`Running npm install...`),spawnSync(`npm`,[`install`,`--no-audit`,`--no-fund`],{cwd:I,stdio:`inherit`}).status!==0&&ke.warn(`npm install failed; re-run it manually in the project directory.`)),printNextSteps(a,F,N)}function substituteProjectName(n,a){let S=new Set([`node_modules`,`dist`,`lib`]),C=[n];for(;C.length>0;){let n=C.pop();for(let N of readdirSync(n,{withFileTypes:!0})){let F=ns(n,N.name);if(N.isDirectory()){S.has(N.name)||C.push(F);continue}if(!N.isFile())continue;let I=N.name.lastIndexOf(`.`),H=I>=0?N.name.slice(I):``;if(!xj.has(H))continue;let W=readFileSync(F,`utf-8`);W.includes(bj)&&writeFileSync(F,W.replaceAll(bj,a))}}}function printNextSteps(n,a,S){ke.log(``),ke.log(`Project created from template "${a.name}".`),ke.log(``),ke.log(`Next steps:`),ke.log(` cd ${n}`),S||ke.log(` npm install`),ke.log(` npm run dev`),ke.log(``)}var bj,xj,Sj=__esmMin(()=>{Ae(),sC(),Zc(),ps(),yj(),bj=`new-gjsify-app`,xj=new Set([`.json`,`.md`,`.ts`,`.tsx`,`.js`,`.mjs`,`.cjs`,`.blp`,`.html`,`.css`,`.scss`,`.xml`,`.ui`,`.txt`])});function render(n,a,S){S||an.write(`\x1b[${n.length}A`);for(let S=0;S<n.length;S++){let C=n[S],N=S===a?`${Cj.cyan}❯${Cj.reset}`:` `,F=S===a?`${Cj.bold}${Cj.green}${C.name}${Cj.reset}`:C.name;an.write(`\x1b[2K\r ${N} ${F} ${Cj.dim}${C.description}${Cj.reset}\n`)}}function promptTemplate(n){return n.length===0?Promise.reject(Error(`No templates available.`)):new Promise((a,S)=>{let C=0;an.write(`${Cj.bold}Select a template${Cj.reset} ${Cj.dim}(↑/↓ to navigate, Enter to confirm, Ctrl+C to cancel)${Cj.reset}\n`),render(n,C,!0),emitKeypressEvents(on),on.isTTY&&on.setRawMode(!0),on.resume();let cleanup=()=>{on.removeListener(`keypress`,onKeypress),on.isTTY&&on.setRawMode(!1),on.pause()},onKeypress=(N,F)=>{if(F){if(F.ctrl&&F.name===`c`){cleanup(),an.write(`
755
- `),S(Error(`Cancelled by user`));return}F.name===`up`||F.name===`k`?(C=(C-1+n.length)%n.length,render(n,C,!1)):F.name===`down`||F.name===`j`?(C=(C+1)%n.length,render(n,C,!1)):(F.name===`return`||F.name===`enter`)&&(cleanup(),a(n[C]))}};on.on(`keypress`,onKeypress)})}var Cj,wj=__esmMin(()=>{sn(),zc(),Cj={reset:`\x1B[0m`,bold:`\x1B[1m`,dim:`\x1B[2m`,cyan:`\x1B[36m`,green:`\x1B[32m`}}),Tj,Ej=__esmMin(()=>{Ae(),Sj(),wj(),Tj={command:`create [project-name]`,description:`Scaffold a new Gjsify project in a new directory.`,builder:n=>{let a=discoverTemplates().map(n=>n.name);return n.positional(`project-name`,{describe:`Name of the project directory to create`,type:`string`,default:`my-gjs-app`}).option(`template`,{alias:`t`,describe:`Template to scaffold from`,type:`string`,choices:a.length>0?a:void 0}).option(`force`,{alias:`f`,describe:`Scaffold into a non-empty directory`,type:`boolean`,default:!1}).option(`install`,{describe:`Run npm install after scaffolding`,type:`boolean`,default:!1})},handler:async n=>{let a=n.template;if(!a){let n=discoverTemplates();if(!process.stdin.isTTY){let a=n.map(n=>n.name).join(`, `);ke.error(`Error: --template is required in non-interactive mode. Available templates: ${a||`(none)`}`),process.exit(1)}a=(await promptTemplate(n)).name}await createProject({projectName:n[`project-name`],template:a,force:n.force,install:n.install})}}});function defaultTargetFor(n){let a=os(n,ss(n));return $o(as(n),a)}var Dj,Oj,kj=__esmMin(()=>{Ae(),sC(),kc(),ps(),tc(),Dj=promisify(execFile),Oj={command:`gresource <xml>`,description:"Compile a GResource XML descriptor into a binary .gresource bundle (wraps `glib-compile-resources`).",builder:n=>n.positional(`xml`,{description:`Path to the .gresource.xml descriptor`,type:`string`,normalize:!0,demandOption:!0}).option(`sourcedir`,{description:`Directory containing the resource files referenced by <xml>`,type:`string`,normalize:!0}).option(`target`,{alias:`t`,description:`Output .gresource file (default: <xml-without-.xml> next to <xml>)`,type:`string`,normalize:!0}).option(`verbose`,{description:`Print the underlying glib-compile-resources invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.xml),S=n.target?$o(n.target):defaultTargetFor(a),C=[`--sourcedir=${n.sourcedir?$o(n.sourcedir):as(a)}`,`--target=${S}`,a];n.verbose&&ke.log(`[gjsify gresource] glib-compile-resources ${C.join(` `)}`),await mkdir$1(as(S),{recursive:!0});try{let{stdout:a,stderr:N}=await Dj(`glib-compile-resources`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ke.log(`[gjsify gresource] wrote ${S}`)}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gresource] glib-compile-resources not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gresource] glib-compile-resources failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}});async function listLanguages(n){return(await readdir$1(n)).filter(n=>n.endsWith(`.po`)&&!n.startsWith(`.`)).map(n=>n.slice(0,-3)).sort()}function stripXmlComments(n){return n.replace(/<!--[\s\S]*?-->/g,``)}async function ensureDir(n){await mkdir$1(n,{recursive:!0})}async function fileExists(n){try{return await stat$1(n),!0}catch{return!1}}async function compileBulkXml(n){let a=ns(n.outDir,n.filename);await ensureDir(n.outDir);let S=[`--output-file=${a}`,`--xml`,`--template=${n.template}`,`-d`,n.poDir];n.verbose&&ke.log(`[gjsify gettext] msgfmt ${S.join(` `)}`),await Aj(`msgfmt`,S),n.removeXmlComments&&await writeFile$1(a,stripXmlComments(await readFile$1(a,`utf-8`))),n.verbose&&ke.log(`[gjsify gettext] wrote ${a}`)}async function compilePerLanguage(n){let a=await listLanguages(n.poDir);if(a.length===0){ke.warn(`[gjsify gettext] no .po files found in ${n.poDir}`);return}for(let S of a){let a=ns(n.poDir,`${S}.po`),C=n.format===`mo`?ns(n.outDir,S,`LC_MESSAGES`):ns(n.outDir,S);await ensureDir(C);let N=[`--output-file=${ns(C,n.filename)}`];n.format!==`mo`&&N.push(`--${n.format}`),N.push(a),n.verbose&&ke.log(`[gjsify gettext] msgfmt ${N.join(` `)}`),await Aj(`msgfmt`,N)}n.verbose&&ke.log(`[gjsify gettext] compiled ${a.length} language(s) into ${n.outDir}`)}function defaultFilename(n,a,S){switch(a){case`mo`:return`${n}.mo`;case`json`:return`${n}.json`;case`desktop`:return`${n}.desktop`;case`xml`:if(S){let n=S.replace(/\.in$/,``),a=n.lastIndexOf(`/`);return a>=0?n.slice(a+1):n}return`${n}.xml`}}var Aj,jj,Mj=__esmMin(()=>{Ae(),sC(),kc(),ps(),tc(),Aj=promisify(execFile),jj={command:`gettext <poDir> <outDir>`,description:`Compile gettext .po files to .mo (per-language locale tree) or substitute a metainfo template via msgfmt --xml.`,builder:n=>n.positional(`poDir`,{description:`Directory containing <lang>.po files`,type:`string`,normalize:!0,demandOption:!0}).positional(`outDir`,{description:`Output directory (locale tree for --format=mo, plain dir for xml/desktop/json)`,type:`string`,normalize:!0,demandOption:!0}).option(`domain`,{description:"Text domain / application ID (e.g. `org.pixelrpg.maker`)",type:`string`,normalize:!0,demandOption:!0}).option(`format`,{description:`Output format`,type:`string`,choices:[`mo`,`xml`,`desktop`,`json`],default:`mo`}).option(`metainfo`,{description:"For --format=xml: path to the template (`.metainfo.xml.in`) used as msgfmt --template",type:`string`,normalize:!0}).option(`filename`,{description:`Override the output filename (defaults to <domain>.<ext>)`,type:`string`,normalize:!0}).option(`remove-xml-comments`,{description:`For --format=xml: strip XML comments from the compiled output`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print each msgfmt invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.poDir),S=$o(n.outDir),C=n.domain,N=n.format??`mo`,F=n.metainfo?$o(n.metainfo):void 0,I=n.filename??defaultFilename(C,N,F),H=!!n.verbose,W=!!n[`remove-xml-comments`];if(!await fileExists(a)){ke.error(`[gjsify gettext] PO directory does not exist: ${a}`),process.exitCode=1;return}try{N===`xml`&&F?await compileBulkXml({poDir:a,outDir:S,domain:C,template:F,filename:I,removeXmlComments:W,verbose:H}):(N===`xml`&&ke.warn(`[gjsify gettext] --format=xml without --metainfo: falling back to per-language XML files`),await compilePerLanguage({poDir:a,outDir:S,domain:C,format:N,filename:I,verbose:H}))}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gettext] msgfmt not found. Install it via your distro (package: gettext).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gettext] msgfmt failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}}),Nj,Pj,Fj=__esmMin(()=>{Ae(),sC(),kc(),ps(),tc(),Nj=promisify(execFile),Pj={command:`gsettings <schemadir>`,description:"Compile GSettings schema XML files into a binary gschemas.compiled (wraps `glib-compile-schemas`).",builder:n=>n.positional(`schemadir`,{description:`Directory containing *.gschema.xml descriptors`,type:`string`,normalize:!0,demandOption:!0}).option(`targetdir`,{alias:`t`,description:`Directory to write gschemas.compiled (default: <schemadir>)`,type:`string`,normalize:!0}).option(`strict`,{description:`Abort on any schema warning (passes --strict to glib-compile-schemas)`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print the underlying glib-compile-schemas invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.schemadir),S=n.targetdir?$o(n.targetdir):a,C=[];n.strict&&C.push(`--strict`),C.push(`--targetdir=${S}`),C.push(a),n.verbose&&ke.log(`[gjsify gsettings] glib-compile-schemas ${C.join(` `)}`),await mkdir$1(S,{recursive:!0});try{let{stdout:a,stderr:N}=await Nj(`glib-compile-schemas`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ke.log(`[gjsify gsettings] wrote ${S}/gschemas.compiled`)}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gsettings] glib-compile-schemas not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gsettings] glib-compile-schemas failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}});function readPackageJson(n){let a=$o(n,`package.json`),S;try{S=readFileSync(a,`utf-8`)}catch{throw Error(`gjsify flatpak: no package.json found at ${a}`)}try{return JSON.parse(S)}catch(n){throw Error(`gjsify flatpak: package.json at ${a} is not valid JSON: ${n.message}`)}}function looksLikeAppId(n){return typeof n==`string`&&/^[A-Za-z][A-Za-z0-9_-]*(\.[A-Za-z][A-Za-z0-9_-]*){2,}$/.test(n)}function resolveRuntime(n,a){let S=a.runtime??n?.runtime??`gnome`;if(S!==`gnome`&&S!==`freedesktop`)throw Error(`gjsify flatpak: unknown runtime "${S}" (expected "gnome" or "freedesktop")`);let C=a.runtimeVersion??n?.runtimeVersion??(S===`gnome`?`50`:`24.08`);return S===`gnome`?{runtime:S,runtimeId:`org.gnome.Platform`,sdk:`org.gnome.Sdk`,runtimeVersion:C}:{runtime:S,runtimeId:`org.freedesktop.Platform`,sdk:`org.freedesktop.Sdk`,runtimeVersion:C}}function defaultCiContainer(n,a){return`ghcr.io/flathub-infra/flatpak-github-actions:${`${n}-${a}`}`}var Ij,Lj,Rj=__esmMin(()=>{Zc(),ps(),Ij=[`--device=dri`,`--share=ipc`,`--socket=fallback-x11`,`--socket=wayland`],Lj=[]});function loadDesktopTemplate(){return readFileSync(new URL(`../../templates/flatpak/desktop.tmpl`,import.meta.url),`utf-8`)}function loadFlathubAppTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-app.json.tmpl`,import.meta.url),`utf-8`)}function loadFlathubCliTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-cli.json.tmpl`,import.meta.url),`utf-8`)}function validateScaffoldInputs(n){let a=n.flatpak,S=[];return(!a.developer?.id||!a.developer?.name)&&S.push({field:`gjsify.flatpak.developer`,hint:'Set `gjsify.flatpak.developer = { "id": "io.github.you", "name": "Your Name" }` in package.json. The id is reverse-DNS.'}),a.summary||S.push({field:`gjsify.flatpak.summary`,hint:`One-line app summary, ≤80 chars, no trailing period. Example: "Learn 6502 assembly language".`}),a.description||S.push({field:`gjsify.flatpak.description`,hint:`Plain text (split on blank lines) or DescriptionBlock[] for rich content with bullet lists + translator hints.`}),a.license?.project||S.push({field:`gjsify.flatpak.license.project`,hint:`SPDX identifier of the project license, e.g. "MIT", "GPL-3.0-or-later".`}),a.homepageUrl||S.push({field:`gjsify.flatpak.homepageUrl`,hint:`Required by Flathub. Example: "https://github.com/you/your-repo".`}),S}function renderMetainfoApp(n){return renderMetainfo(n,`desktop-application`)}function renderMetainfoCli(n){return renderMetainfo(n,`console-application`)}function renderDesktop(n){let a=n.flatpak,S=(a.categories??[`Utility`]).join(`;`)+`;`,C=a.keywords?.length?`Keywords=${a.keywords.join(`;`)};\n`:``,N=a.provides?.mimetypes??[],F=N.length?`MimeType=${N.join(`;`)};\n`:``;return substitute(loadDesktopTemplate(),{NAME:n.name,SUMMARY:a.summary??n.name,COMMAND:n.command,APP_ID:n.appId,CATEGORIES_LINE:S,KEYWORDS_LINE:C,MIMETYPES_LINE:F})}function renderFlathubJson(n){return n===`cli`?loadFlathubCliTemplate():loadFlathubAppTemplate()}function renderMetainfo(n,a){let S=n.flatpak,C=new Date().getFullYear(),N=S.developer?.name??``,F=[];F.push(`<?xml version="1.0" encoding="UTF-8"?>`),F.push(`<!-- Copyright ${C} ${escapeXml(N)} -->`),F.push(`<component type="${a}">`),F.push(` <id>${escapeXml(n.appId)}</id>`),F.push(` <metadata_license>${escapeXml(S.license?.metadata??`CC0-1.0`)}</metadata_license>`),F.push(` <project_license>${escapeXml(S.license?.project??``)}</project_license>`),F.push(` <name>${escapeXml(n.name)}</name>`),pushTranslatorHint(F,S.summaryTranslatorHint,` `),F.push(` <summary>${escapeXml(S.summary??n.name)}</summary>`),S.iconRemote&&F.push(` <icon type="remote">${escapeXml(S.iconRemote)}</icon>`),F.push(` <description>`);for(let n of renderDescriptionBlocks(S.description??``,` `))F.push(n);if(F.push(` </description>`),S.developer?.id&&S.developer?.name){F.push(` <developer id="${escapeXml(S.developer.id)}">`);let n=S.developer.nameTranslatable===!0?``:` translate="no"`;F.push(` <name${n}>${escapeXml(S.developer.name)}</name>`),S.developer.email&&F.push(` <email>${escapeXml(S.developer.email)}</email>`),F.push(` </developer>`)}a===`desktop-application`&&F.push(` <launchable type="desktop-id">${escapeXml(n.appId)}.desktop</launchable>`),S.screenshots?.length&&(F.push(` <screenshots>`),S.screenshots.forEach((n,a)=>{let S=n.type??(a===0?`default`:void 0),C=S?` type="${escapeXml(S)}"`:``,N=n.environment?` environment="${escapeXml(n.environment)}"`:``;F.push(` <screenshot${C}${N}>`),F.push(` <image>${escapeXml(n.url)}</image>`),n.caption&&(pushTranslatorHint(F,n.captionTranslatorHint,` `),F.push(` <caption>${escapeXml(n.caption)}</caption>`)),F.push(` </screenshot>`)}),F.push(` </screenshots>`)),S.homepageUrl&&F.push(` <url type="homepage">${escapeXml(S.homepageUrl)}</url>`),S.bugtrackerUrl&&F.push(` <url type="bugtracker">${escapeXml(S.bugtrackerUrl)}</url>`),S.vcsBrowserUrl&&F.push(` <url type="vcs-browser">${escapeXml(S.vcsBrowserUrl)}</url>`),S.donationUrl&&F.push(` <url type="donation">${escapeXml(S.donationUrl)}</url>`),S.translateUrl&&F.push(` <url type="translate">${escapeXml(S.translateUrl)}</url>`);let I=normaliseContentRating(S.contentRating);if(I.attributes&&Object.keys(I.attributes).length>0){F.push(` <content_rating type="${escapeXml(I.type)}">`);for(let[n,a]of Object.entries(I.attributes))F.push(` <content_attribute id="${escapeXml(n)}">${escapeXml(a)}</content_attribute>`);F.push(` </content_rating>`)}else F.push(` <content_rating type="${escapeXml(I.type)}" />`);if(S.releases?.length){F.push(` <releases>`);for(let n of S.releases)if(n.description===void 0)F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}" />`);else{F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}">`),F.push(` <description>`);for(let a of renderDescriptionBlocks(n.description,` `))F.push(a);F.push(` </description>`),F.push(` </release>`)}F.push(` </releases>`)}if(S.categories?.length){F.push(` <categories>`);for(let n of S.categories)F.push(` <category>${escapeXml(n)}</category>`);F.push(` </categories>`)}if(S.keywords?.length){F.push(` <keywords>`);for(let n of S.keywords)F.push(` <keyword>${escapeXml(n)}</keyword>`);F.push(` </keywords>`)}if(a===`desktop-application`&&S.branding&&(F.push(` <branding>`),F.push(` <color type="primary" scheme_preference="light">${escapeXml(S.branding.accentLight)}</color>`),F.push(` <color type="primary" scheme_preference="dark">${escapeXml(S.branding.accentDark)}</color>`),F.push(` </branding>`)),S.kudos?.length){F.push(` <kudos>`);for(let n of S.kudos)F.push(` <kudo>${escapeXml(n)}</kudo>`);F.push(` </kudos>`)}let H=S.provides?.binaries??[n.command],W=S.provides?.mimetypes??[],K=S.provides?.dbus??[];if(H.length||W.length||K.length){F.push(` <provides>`);for(let n of H)F.push(` <binary>${escapeXml(n)}</binary>`);for(let n of W)F.push(` <mediatype>${escapeXml(n)}</mediatype>`);for(let n of K)F.push(` <dbus type="${escapeXml(n.type)}">${escapeXml(n.id)}</dbus>`);F.push(` </provides>`)}if(S.supports?.controls?.length||S.supports?.internet){F.push(` <supports>`);for(let n of S.supports.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.supports.internet&&F.push(` <internet>${escapeXml(S.supports.internet)}</internet>`),F.push(` </supports>`)}if(S.requires?.displayLengthMin||S.requires?.controls?.length||S.requires?.internet){F.push(` <requires>`),S.requires.displayLengthMin&&F.push(` <display_length compare="ge">${S.requires.displayLengthMin}</display_length>`);for(let n of S.requires.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.requires.internet&&F.push(` <internet>${escapeXml(S.requires.internet)}</internet>`),F.push(` </requires>`)}if(S.recommends?.displayLengthMin||S.recommends?.controls?.length){F.push(` <recommends>`),S.recommends.displayLengthMin&&F.push(` <display_length compare="ge">${S.recommends.displayLengthMin}</display_length>`);for(let n of S.recommends.controls??[])F.push(` <control>${escapeXml(n)}</control>`);F.push(` </recommends>`)}return F.push(`</component>`),F.join(`
759
+ `);for(let n of S)ke.error(` ✗ ${n.name}`);let n=buildInstallCommand(detectPackageManager$2(),S);n&&ke.error(`\nInstall with:\n ${n}`),process.exit(1)}let C=readCliVersion(),N=C?`${a.packageName}@${C}`:a.packageName;ke.log(`Running showcase: ${a.name} (via gjsify dlx ${N})\n`);let F=fileURLToPath(new URL(`../index.js`,import.meta.url)),I=spawn(process.execPath,[F,`dlx`,N],{stdio:`inherit`});await new Promise((n,a)=>{I.on(`close`,S=>{S===0?n():a(Error(`gjsify dlx exited with code ${S}`))}),I.on(`error`,a)}).catch(n=>{ke.error(n.message),process.exit(1)})}}});function discoverTemplates(){let n=ns(ns(as(fileURLToPath(import.meta.url)),`..`),`dist-templates`);if(!existsSync(n))return[];let a=[];for(let S of readdirSync(n)){let C=ns(n,S),N=ns(C,`package.json`);if(!statSync(C).isDirectory()||!existsSync(N))continue;let F=wj[S]??``;try{let n=JSON.parse(readFileSync(N,`utf-8`));typeof n.description==`string`&&n.description.trim()&&(F=n.description)}catch{}a.push({name:S,description:F,path:C})}return a.sort((n,a)=>n.name.localeCompare(a.name)),a}function findTemplate(n){return discoverTemplates().find(a=>a.name===n)}var wj,Tj=__esmMin(()=>{Zc(),ps(),mn(),wj={"gtk-minimal":`Minimal GTK4 app — Gtk.Window + Gtk.Label (no Adwaita, no Blueprint).`,cli:`Command-line tool using yargs (Node.js + GJS).`,"adw-canvas2d":`Adwaita app with HTML Canvas 2D rendering (Blueprint UI).`,"adw-webgl":`Adwaita app with WebGL + three.js (Blueprint UI).`,"adw-game":`Adwaita game shell using Excalibur.js, WebGL → Canvas2D fallback.`,"web-server-hono":`HTTP server using Hono (Web-standard fetch-style API).`,"web-server-express":`HTTP server using Express (familiar Node.js stack).`}});function sanitizeProjectName(n){let a=n.trim();if(!a)throw Error(`Project name cannot be empty.`);let S=a.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[._-]+/,``).replace(/[._-]+$/,``);if(!S)throw Error(`"${n}" is not a valid npm package name.`);return S}function isDirEmpty(n){return existsSync(n)?readdirSync(n).length===0:!0}async function createProject(n){let a=sanitizeProjectName(n.projectName),{template:S,force:C=!1,install:N=!1}=n,F=findTemplate(S);if(!F){let n=discoverTemplates().map(n=>n.name).join(`, `);throw Error(`Unknown template "${S}". Available templates: ${n||`(none — run "yarn build" first)`}`)}let I=$o(process.cwd(),a);existsSync(I)&&!isDirEmpty(I)&&!C&&(ke.error(`Error: Directory "${a}" exists and is not empty. Use --force to scaffold into it anyway.`),process.exit(1)),ke.log(`Creating new Gjsify project in ${I} (template: ${F.name})...`),mkdirSync(I,{recursive:!0}),cpSync(F.path,I,{recursive:!0}),substituteProjectName(I,a),N&&(ke.log(`Running npm install...`),spawnSync(`npm`,[`install`,`--no-audit`,`--no-fund`],{cwd:I,stdio:`inherit`}).status!==0&&ke.warn(`npm install failed; re-run it manually in the project directory.`)),printNextSteps(a,F,N)}function substituteProjectName(n,a){let S=new Set([`node_modules`,`dist`,`lib`]),C=[n];for(;C.length>0;){let n=C.pop();for(let N of readdirSync(n,{withFileTypes:!0})){let F=ns(n,N.name);if(N.isDirectory()){S.has(N.name)||C.push(F);continue}if(!N.isFile())continue;let I=N.name.lastIndexOf(`.`),H=I>=0?N.name.slice(I):``;if(!Dj.has(H))continue;let W=readFileSync(F,`utf-8`);W.includes(Ej)&&writeFileSync(F,W.replaceAll(Ej,a))}}}function printNextSteps(n,a,S){ke.log(``),ke.log(`Project created from template "${a.name}".`),ke.log(``),ke.log(`Next steps:`),ke.log(` cd ${n}`),S||ke.log(` npm install`),ke.log(` npm run dev`),ke.log(``)}var Ej,Dj,Oj=__esmMin(()=>{Ae(),cC(),Zc(),ps(),Tj(),Ej=`new-gjsify-app`,Dj=new Set([`.json`,`.md`,`.ts`,`.tsx`,`.js`,`.mjs`,`.cjs`,`.blp`,`.html`,`.css`,`.scss`,`.xml`,`.ui`,`.txt`])});function render(n,a,S){S||an.write(`\x1b[${n.length}A`);for(let S=0;S<n.length;S++){let C=n[S],N=S===a?`${kj.cyan}❯${kj.reset}`:` `,F=S===a?`${kj.bold}${kj.green}${C.name}${kj.reset}`:C.name;an.write(`\x1b[2K\r ${N} ${F} ${kj.dim}${C.description}${kj.reset}\n`)}}function promptTemplate(n){return n.length===0?Promise.reject(Error(`No templates available.`)):new Promise((a,S)=>{let C=0;an.write(`${kj.bold}Select a template${kj.reset} ${kj.dim}(↑/↓ to navigate, Enter to confirm, Ctrl+C to cancel)${kj.reset}\n`),render(n,C,!0),emitKeypressEvents(on),on.isTTY&&on.setRawMode(!0),on.resume();let cleanup=()=>{on.removeListener(`keypress`,onKeypress),on.isTTY&&on.setRawMode(!1),on.pause()},onKeypress=(N,F)=>{if(F){if(F.ctrl&&F.name===`c`){cleanup(),an.write(`
760
+ `),S(Error(`Cancelled by user`));return}F.name===`up`||F.name===`k`?(C=(C-1+n.length)%n.length,render(n,C,!1)):F.name===`down`||F.name===`j`?(C=(C+1)%n.length,render(n,C,!1)):(F.name===`return`||F.name===`enter`)&&(cleanup(),a(n[C]))}};on.on(`keypress`,onKeypress)})}var kj,Aj=__esmMin(()=>{sn(),zc(),kj={reset:`\x1B[0m`,bold:`\x1B[1m`,dim:`\x1B[2m`,cyan:`\x1B[36m`,green:`\x1B[32m`}}),jj,Mj=__esmMin(()=>{Ae(),Oj(),Aj(),jj={command:`create [project-name]`,description:`Scaffold a new Gjsify project in a new directory.`,builder:n=>{let a=discoverTemplates().map(n=>n.name);return n.positional(`project-name`,{describe:`Name of the project directory to create`,type:`string`,default:`my-gjs-app`}).option(`template`,{alias:`t`,describe:`Template to scaffold from`,type:`string`,choices:a.length>0?a:void 0}).option(`force`,{alias:`f`,describe:`Scaffold into a non-empty directory`,type:`boolean`,default:!1}).option(`install`,{describe:`Run npm install after scaffolding`,type:`boolean`,default:!1})},handler:async n=>{let a=n.template;if(!a){let n=discoverTemplates();if(!process.stdin.isTTY){let a=n.map(n=>n.name).join(`, `);ke.error(`Error: --template is required in non-interactive mode. Available templates: ${a||`(none)`}`),process.exit(1)}a=(await promptTemplate(n)).name}await createProject({projectName:n[`project-name`],template:a,force:n.force,install:n.install})}}});function defaultTargetFor(n){let a=os(n,ss(n));return $o(as(n),a)}var Nj,Pj,Fj=__esmMin(()=>{Ae(),cC(),kc(),ps(),tc(),Nj=promisify(execFile),Pj={command:`gresource <xml>`,description:"Compile a GResource XML descriptor into a binary .gresource bundle (wraps `glib-compile-resources`).",builder:n=>n.positional(`xml`,{description:`Path to the .gresource.xml descriptor`,type:`string`,normalize:!0,demandOption:!0}).option(`sourcedir`,{description:`Directory containing the resource files referenced by <xml>`,type:`string`,normalize:!0}).option(`target`,{alias:`t`,description:`Output .gresource file (default: <xml-without-.xml> next to <xml>)`,type:`string`,normalize:!0}).option(`verbose`,{description:`Print the underlying glib-compile-resources invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.xml),S=n.target?$o(n.target):defaultTargetFor(a),C=[`--sourcedir=${n.sourcedir?$o(n.sourcedir):as(a)}`,`--target=${S}`,a];n.verbose&&ke.log(`[gjsify gresource] glib-compile-resources ${C.join(` `)}`),await mkdir$1(as(S),{recursive:!0});try{let{stdout:a,stderr:N}=await Nj(`glib-compile-resources`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ke.log(`[gjsify gresource] wrote ${S}`)}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gresource] glib-compile-resources not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gresource] glib-compile-resources failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}});async function listLanguages(n){return(await readdir$1(n)).filter(n=>n.endsWith(`.po`)&&!n.startsWith(`.`)).map(n=>n.slice(0,-3)).sort()}function stripXmlComments(n){return n.replace(/<!--[\s\S]*?-->/g,``)}async function ensureDir(n){await mkdir$1(n,{recursive:!0})}async function fileExists(n){try{return await stat$1(n),!0}catch{return!1}}async function compileBulkXml(n){let a=ns(n.outDir,n.filename);await ensureDir(n.outDir);let S=[`--output-file=${a}`,`--xml`,`--template=${n.template}`,`-d`,n.poDir];n.verbose&&ke.log(`[gjsify gettext] msgfmt ${S.join(` `)}`),await Ij(`msgfmt`,S),n.removeXmlComments&&await writeFile$1(a,stripXmlComments(await readFile$1(a,`utf-8`))),n.verbose&&ke.log(`[gjsify gettext] wrote ${a}`)}async function compilePerLanguage(n){let a=await listLanguages(n.poDir);if(a.length===0){ke.warn(`[gjsify gettext] no .po files found in ${n.poDir}`);return}for(let S of a){let a=ns(n.poDir,`${S}.po`),C=n.format===`mo`?ns(n.outDir,S,`LC_MESSAGES`):ns(n.outDir,S);await ensureDir(C);let N=[`--output-file=${ns(C,n.filename)}`];n.format!==`mo`&&N.push(`--${n.format}`),N.push(a),n.verbose&&ke.log(`[gjsify gettext] msgfmt ${N.join(` `)}`),await Ij(`msgfmt`,N)}n.verbose&&ke.log(`[gjsify gettext] compiled ${a.length} language(s) into ${n.outDir}`)}function defaultFilename(n,a,S){switch(a){case`mo`:return`${n}.mo`;case`json`:return`${n}.json`;case`desktop`:return`${n}.desktop`;case`xml`:if(S){let n=S.replace(/\.in$/,``),a=n.lastIndexOf(`/`);return a>=0?n.slice(a+1):n}return`${n}.xml`}}var Ij,Lj,Rj=__esmMin(()=>{Ae(),cC(),kc(),ps(),tc(),Ij=promisify(execFile),Lj={command:`gettext <poDir> <outDir>`,description:`Compile gettext .po files to .mo (per-language locale tree) or substitute a metainfo template via msgfmt --xml.`,builder:n=>n.positional(`poDir`,{description:`Directory containing <lang>.po files`,type:`string`,normalize:!0,demandOption:!0}).positional(`outDir`,{description:`Output directory (locale tree for --format=mo, plain dir for xml/desktop/json)`,type:`string`,normalize:!0,demandOption:!0}).option(`domain`,{description:"Text domain / application ID (e.g. `org.pixelrpg.maker`)",type:`string`,normalize:!0,demandOption:!0}).option(`format`,{description:`Output format`,type:`string`,choices:[`mo`,`xml`,`desktop`,`json`],default:`mo`}).option(`metainfo`,{description:"For --format=xml: path to the template (`.metainfo.xml.in`) used as msgfmt --template",type:`string`,normalize:!0}).option(`filename`,{description:`Override the output filename (defaults to <domain>.<ext>)`,type:`string`,normalize:!0}).option(`remove-xml-comments`,{description:`For --format=xml: strip XML comments from the compiled output`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print each msgfmt invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.poDir),S=$o(n.outDir),C=n.domain,N=n.format??`mo`,F=n.metainfo?$o(n.metainfo):void 0,I=n.filename??defaultFilename(C,N,F),H=!!n.verbose,W=!!n[`remove-xml-comments`];if(!await fileExists(a)){ke.error(`[gjsify gettext] PO directory does not exist: ${a}`),process.exitCode=1;return}try{N===`xml`&&F?await compileBulkXml({poDir:a,outDir:S,domain:C,template:F,filename:I,removeXmlComments:W,verbose:H}):(N===`xml`&&ke.warn(`[gjsify gettext] --format=xml without --metainfo: falling back to per-language XML files`),await compilePerLanguage({poDir:a,outDir:S,domain:C,format:N,filename:I,verbose:H}))}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gettext] msgfmt not found. Install it via your distro (package: gettext).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gettext] msgfmt failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}}),zj,Bj,Vj=__esmMin(()=>{Ae(),cC(),kc(),ps(),tc(),zj=promisify(execFile),Bj={command:`gsettings <schemadir>`,description:"Compile GSettings schema XML files into a binary gschemas.compiled (wraps `glib-compile-schemas`).",builder:n=>n.positional(`schemadir`,{description:`Directory containing *.gschema.xml descriptors`,type:`string`,normalize:!0,demandOption:!0}).option(`targetdir`,{alias:`t`,description:`Directory to write gschemas.compiled (default: <schemadir>)`,type:`string`,normalize:!0}).option(`strict`,{description:`Abort on any schema warning (passes --strict to glib-compile-schemas)`,type:`boolean`,default:!0}).option(`verbose`,{description:`Print the underlying glib-compile-schemas invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.schemadir),S=n.targetdir?$o(n.targetdir):a,C=[];n.strict&&C.push(`--strict`),C.push(`--targetdir=${S}`),C.push(a),n.verbose&&ke.log(`[gjsify gsettings] glib-compile-schemas ${C.join(` `)}`),await mkdir$1(S,{recursive:!0});try{let{stdout:a,stderr:N}=await zj(`glib-compile-schemas`,C);a&&process.stdout.write(a),N&&process.stderr.write(N),n.verbose&&ke.log(`[gjsify gsettings] wrote ${S}/gschemas.compiled`)}catch(n){let a=n;a?.code===`ENOENT`?ke.error(`[gjsify gsettings] glib-compile-schemas not found. Install it via your distro (package: glib2-devel / libglib2.0-dev).`):(a?.stderr&&process.stderr.write(a.stderr),ke.error(`[gjsify gsettings] glib-compile-schemas failed${a?.code===void 0?``:` (exit ${a.code})`}`)),process.exitCode=typeof a?.code==`number`?a.code:1}}}});function readPackageJson(n){let a=$o(n,`package.json`),S;try{S=readFileSync(a,`utf-8`)}catch{throw Error(`gjsify flatpak: no package.json found at ${a}`)}try{return JSON.parse(S)}catch(n){throw Error(`gjsify flatpak: package.json at ${a} is not valid JSON: ${n.message}`)}}function looksLikeAppId(n){return typeof n==`string`&&/^[A-Za-z][A-Za-z0-9_-]*(\.[A-Za-z][A-Za-z0-9_-]*){2,}$/.test(n)}function resolveRuntime(n,a){let S=a.runtime??n?.runtime??`gnome`;if(S!==`gnome`&&S!==`freedesktop`)throw Error(`gjsify flatpak: unknown runtime "${S}" (expected "gnome" or "freedesktop")`);let C=a.runtimeVersion??n?.runtimeVersion??(S===`gnome`?`50`:`24.08`);return S===`gnome`?{runtime:S,runtimeId:`org.gnome.Platform`,sdk:`org.gnome.Sdk`,runtimeVersion:C}:{runtime:S,runtimeId:`org.freedesktop.Platform`,sdk:`org.freedesktop.Sdk`,runtimeVersion:C}}function defaultCiContainer(n,a){return`ghcr.io/flathub-infra/flatpak-github-actions:${`${n}-${a}`}`}var Hj,Uj,Wj=__esmMin(()=>{Zc(),ps(),Hj=[`--device=dri`,`--share=ipc`,`--socket=fallback-x11`,`--socket=wayland`],Uj=[]});function loadDesktopTemplate(){return readFileSync(new URL(`../../templates/flatpak/desktop.tmpl`,import.meta.url),`utf-8`)}function loadFlathubAppTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-app.json.tmpl`,import.meta.url),`utf-8`)}function loadFlathubCliTemplate(){return readFileSync(new URL(`../../templates/flatpak/flathub-cli.json.tmpl`,import.meta.url),`utf-8`)}function validateScaffoldInputs(n){let a=n.flatpak,S=[];return(!a.developer?.id||!a.developer?.name)&&S.push({field:`gjsify.flatpak.developer`,hint:'Set `gjsify.flatpak.developer = { "id": "io.github.you", "name": "Your Name" }` in package.json. The id is reverse-DNS.'}),a.summary||S.push({field:`gjsify.flatpak.summary`,hint:`One-line app summary, ≤80 chars, no trailing period. Example: "Learn 6502 assembly language".`}),a.description||S.push({field:`gjsify.flatpak.description`,hint:`Plain text (split on blank lines) or DescriptionBlock[] for rich content with bullet lists + translator hints.`}),a.license?.project||S.push({field:`gjsify.flatpak.license.project`,hint:`SPDX identifier of the project license, e.g. "MIT", "GPL-3.0-or-later".`}),a.homepageUrl||S.push({field:`gjsify.flatpak.homepageUrl`,hint:`Required by Flathub. Example: "https://github.com/you/your-repo".`}),S}function renderMetainfoApp(n){return renderMetainfo(n,`desktop-application`)}function renderMetainfoCli(n){return renderMetainfo(n,`console-application`)}function renderDesktop(n){let a=n.flatpak,S=(a.categories??[`Utility`]).join(`;`)+`;`,C=a.keywords?.length?`Keywords=${a.keywords.join(`;`)};\n`:``,N=a.provides?.mimetypes??[],F=N.length?`MimeType=${N.join(`;`)};\n`:``;return substitute(loadDesktopTemplate(),{NAME:n.name,SUMMARY:a.summary??n.name,COMMAND:n.command,APP_ID:n.appId,CATEGORIES_LINE:S,KEYWORDS_LINE:C,MIMETYPES_LINE:F})}function renderFlathubJson(n){return n===`cli`?loadFlathubCliTemplate():loadFlathubAppTemplate()}function renderMetainfo(n,a){let S=n.flatpak,C=new Date().getFullYear(),N=S.developer?.name??``,F=[];F.push(`<?xml version="1.0" encoding="UTF-8"?>`),F.push(`<!-- Copyright ${C} ${escapeXml(N)} -->`),F.push(`<component type="${a}">`),F.push(` <id>${escapeXml(n.appId)}</id>`),F.push(` <metadata_license>${escapeXml(S.license?.metadata??`CC0-1.0`)}</metadata_license>`),F.push(` <project_license>${escapeXml(S.license?.project??``)}</project_license>`),F.push(` <name>${escapeXml(n.name)}</name>`),pushTranslatorHint(F,S.summaryTranslatorHint,` `),F.push(` <summary>${escapeXml(S.summary??n.name)}</summary>`),S.iconRemote&&F.push(` <icon type="remote">${escapeXml(S.iconRemote)}</icon>`),F.push(` <description>`);for(let n of renderDescriptionBlocks(S.description??``,` `))F.push(n);if(F.push(` </description>`),S.developer?.id&&S.developer?.name){F.push(` <developer id="${escapeXml(S.developer.id)}">`);let n=S.developer.nameTranslatable===!0?``:` translate="no"`;F.push(` <name${n}>${escapeXml(S.developer.name)}</name>`),S.developer.email&&F.push(` <email>${escapeXml(S.developer.email)}</email>`),F.push(` </developer>`)}a===`desktop-application`&&F.push(` <launchable type="desktop-id">${escapeXml(n.appId)}.desktop</launchable>`),S.screenshots?.length&&(F.push(` <screenshots>`),S.screenshots.forEach((n,a)=>{let S=n.type??(a===0?`default`:void 0),C=S?` type="${escapeXml(S)}"`:``,N=n.environment?` environment="${escapeXml(n.environment)}"`:``;F.push(` <screenshot${C}${N}>`),F.push(` <image>${escapeXml(n.url)}</image>`),n.caption&&(pushTranslatorHint(F,n.captionTranslatorHint,` `),F.push(` <caption>${escapeXml(n.caption)}</caption>`)),F.push(` </screenshot>`)}),F.push(` </screenshots>`)),S.homepageUrl&&F.push(` <url type="homepage">${escapeXml(S.homepageUrl)}</url>`),S.bugtrackerUrl&&F.push(` <url type="bugtracker">${escapeXml(S.bugtrackerUrl)}</url>`),S.vcsBrowserUrl&&F.push(` <url type="vcs-browser">${escapeXml(S.vcsBrowserUrl)}</url>`),S.donationUrl&&F.push(` <url type="donation">${escapeXml(S.donationUrl)}</url>`),S.translateUrl&&F.push(` <url type="translate">${escapeXml(S.translateUrl)}</url>`);let I=normaliseContentRating(S.contentRating);if(I.attributes&&Object.keys(I.attributes).length>0){F.push(` <content_rating type="${escapeXml(I.type)}">`);for(let[n,a]of Object.entries(I.attributes))F.push(` <content_attribute id="${escapeXml(n)}">${escapeXml(a)}</content_attribute>`);F.push(` </content_rating>`)}else F.push(` <content_rating type="${escapeXml(I.type)}" />`);if(S.releases?.length){F.push(` <releases>`);for(let n of S.releases)if(n.description===void 0)F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}" />`);else{F.push(` <release version="${escapeXml(n.version)}" date="${escapeXml(n.date)}">`),F.push(` <description>`);for(let a of renderDescriptionBlocks(n.description,` `))F.push(a);F.push(` </description>`),F.push(` </release>`)}F.push(` </releases>`)}if(S.categories?.length){F.push(` <categories>`);for(let n of S.categories)F.push(` <category>${escapeXml(n)}</category>`);F.push(` </categories>`)}if(S.keywords?.length){F.push(` <keywords>`);for(let n of S.keywords)F.push(` <keyword>${escapeXml(n)}</keyword>`);F.push(` </keywords>`)}if(a===`desktop-application`&&S.branding&&(F.push(` <branding>`),F.push(` <color type="primary" scheme_preference="light">${escapeXml(S.branding.accentLight)}</color>`),F.push(` <color type="primary" scheme_preference="dark">${escapeXml(S.branding.accentDark)}</color>`),F.push(` </branding>`)),S.kudos?.length){F.push(` <kudos>`);for(let n of S.kudos)F.push(` <kudo>${escapeXml(n)}</kudo>`);F.push(` </kudos>`)}let H=S.provides?.binaries??[n.command],W=S.provides?.mimetypes??[],K=S.provides?.dbus??[];if(H.length||W.length||K.length){F.push(` <provides>`);for(let n of H)F.push(` <binary>${escapeXml(n)}</binary>`);for(let n of W)F.push(` <mediatype>${escapeXml(n)}</mediatype>`);for(let n of K)F.push(` <dbus type="${escapeXml(n.type)}">${escapeXml(n.id)}</dbus>`);F.push(` </provides>`)}if(S.supports?.controls?.length||S.supports?.internet){F.push(` <supports>`);for(let n of S.supports.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.supports.internet&&F.push(` <internet>${escapeXml(S.supports.internet)}</internet>`),F.push(` </supports>`)}if(S.requires?.displayLengthMin||S.requires?.controls?.length||S.requires?.internet){F.push(` <requires>`),S.requires.displayLengthMin&&F.push(` <display_length compare="ge">${S.requires.displayLengthMin}</display_length>`);for(let n of S.requires.controls??[])F.push(` <control>${escapeXml(n)}</control>`);S.requires.internet&&F.push(` <internet>${escapeXml(S.requires.internet)}</internet>`),F.push(` </requires>`)}if(S.recommends?.displayLengthMin||S.recommends?.controls?.length){F.push(` <recommends>`),S.recommends.displayLengthMin&&F.push(` <display_length compare="ge">${S.recommends.displayLengthMin}</display_length>`);for(let n of S.recommends.controls??[])F.push(` <control>${escapeXml(n)}</control>`);F.push(` </recommends>`)}return F.push(`</component>`),F.join(`
756
761
  `)+`
757
- `}function renderDescriptionBlocks(n,a){let S=typeof n==`string`?stringToBlocks(n):n,C=[];for(let n of S)if(`p`in n)pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<p>${escapeXml(n.p.trim().replace(/\s+/g,` `))}</p>`);else{pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<ul>`);for(let S of n.ul)typeof S==`string`?C.push(`${a} <li>${escapeXml(S)}</li>`):(pushTranslatorHint(C,S.translatorHint,`${a} `),C.push(`${a} <li>${escapeXml(S.item)}</li>`));C.push(`${a}</ul>`)}return C}function stringToBlocks(n){return n.trim().split(/\n\n+/).map(n=>({p:n.trim().replace(/\s+/g,` `)}))}function pushTranslatorHint(n,a,S){a&&n.push(`${S}<!-- TRANSLATORS: ${a} -->`)}function normaliseContentRating(n){return n===void 0?{type:`oars-1.1`}:typeof n==`string`?{type:n}:{type:n.type??`oars-1.1`,attributes:n.attributes}}function substitute(n,a){let S=n;for(let[n,C]of Object.entries(a))S=S.split(`{{${n}}}`).join(C);return S}function escapeXml(n){return n.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}var zj=__esmMin(()=>{Zc()});function oxcBindingSuffix(){let n=process.platform,a=process.arch,S;if(n===`linux`)S=`linux`;else if(n===`darwin`)S=`darwin`;else if(n===`win32`)S=`win32`;else throw Error(`[gjsify oxc] Unsupported platform: ${n}`);let C;if(a===`x64`)C=`x64`;else if(a===`arm64`)C=`arm64`;else throw Error(`[gjsify oxc] Unsupported arch on ${S}: ${a}`);if(S===`linux`){let n=`gnu`;try{let{readdirSync:a}=(Zc(),__toCommonJS(Jc));a(`/lib`).some(n=>n.startsWith(`ld-musl-`))&&(n=`musl`)}catch{}return`${S}-${C}-${n}`}return S===`win32`?`${S}-${C}-msvc`:`${S}-${C}`}function bindingPackageName(n){return`${n===`oxlint`?`@oxlint`:`@oxfmt`}/binding-${oxcBindingSuffix()}`}function probeNodeModules(n,a,S){let C=ns(n,`node_modules`,a,S);return existsSync(C)?C:null}function findOxcLauncher(n,a=process.cwd()){let S=ns(`bin`,n),C=probeNodeModules(a,n,S);if(C)return C;let N=findWorkspaceRoot(a);if(N&&N!==a){let a=probeNodeModules(N,n,S);if(a)return a}let F=$o(a,`..`);for(let a=0;a<6;a++){let a=probeNodeModules(F,n,S);if(a)return a;let C=$o(F,`..`);if(C===F)break;F=C}throw new OxcNotFoundError(n,a)}function findOxlintConfig(n=process.cwd()){return findConfigFile(n,[`.oxlintrc.json`])}function findOxfmtConfig(n=process.cwd()){return findConfigFile(n,[`.oxfmtrc`,`.oxfmtrc.json`])}function findConfigFile(n,a){let S=n;for(let n=0;n<12;n++){for(let n of a){let a=ns(S,n);if(existsSync(a))return a}let n=$o(S,`..`);if(n===S)break;S=n}return null}async function tryLoadNativeOxfmt(){return Bj||(Bj=(async()=>{if(!isGjs())return null;try{let n=`@gjsify/oxfmt-native`,a=await import(pathToFileURL(resolveNpmPackage(n,{bundleUrl:import.meta.url})??createRequire(import.meta.url).resolve(n)).href);return a.hasNativeOxfmt()?a:null}catch{return null}})(),Bj)}async function shouldUseNativeOxfmt(){let n=(globalThis.process?.env??{}).GJSIFY_OXFMT;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNativeOxfmt())throw Error(`GJSIFY_OXFMT=native but @gjsify/oxfmt-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return isGjs()?await tryLoadNativeOxfmt()!==null:!1}async function runOxc(n,a,S={}){if(n===`oxfmt`&&await shouldUseNativeOxfmt()){let n=await tryLoadNativeOxfmt();if(!n)throw Error(`@gjsify/oxfmt-native not loadable`);return S.verbose&&ke.log(`[gjsify oxc] @gjsify/oxfmt-native (in-process) ${a.join(` `)}`),n.runOxfmt(a)}return spawnOxcLauncher(n,a,S)}function spawnOxcLauncher(n,a,S={}){let C=S.cwd??process.cwd(),N=findOxcLauncher(n,C),F=process.execPath||`node`;return S.verbose&&ke.log(`[gjsify oxc] ${F} ${N} ${a.join(` `)}`),new Promise((S,I)=>{let H={stdio:`inherit`,cwd:C},W=spawn(F,[N,...a],H);W.on(`error`,a=>{a.code===`ENOENT`?I(new OxcNotFoundError(n,C)):I(a)}),W.on(`exit`,(a,C)=>{if(C){ke.error(`[gjsify oxc] ${n} terminated by signal ${C}`),S(1);return}S(a??0)})})}function runOxlint(n,a={}){return runOxc(`oxlint`,n,a)}function runOxfmt(n,a={}){return runOxc(`oxfmt`,n,a)}function loadOxlintTemplate(){return readFileSync(new URL(`../templates/oxlintrc.json.tmpl`,import.meta.url),`utf-8`)}function loadOxfmtTemplate(){return readFileSync(new URL(`../templates/oxfmtrc.tmpl`,import.meta.url),`utf-8`)}function printOxcNotFound(n){ke.error(n.message)}function setOxcExitCode(n){if(process.exitCode=n,n===0)return;let a=globalThis.imports;a?.system?.exit&&a.system.exit(n)}function hasOxcDevDep(n=process.cwd(),a=`oxfmt`){let S=ns(n,`package.json`);if(!existsSync(S))return!1;try{let n=JSON.parse(readFileSync(S,`utf-8`));return!!(n?.devDependencies?.[a]||n?.dependencies?.[a])}catch{return!1}}var OxcNotFoundError,Bj,Vj=__esmMin(()=>{Ae(),Zc(),ps(),sC(),Uo(),mn(),Lg(),Rg(),zg(),OxcNotFoundError=class extends Error{tool;cwd;constructor(n,a){let S=(()=>{try{return bindingPackageName(n)}catch{return`@${n===`oxlint`?`oxlint`:`oxfmt`}/binding-<platform>`}})();super(`[gjsify oxc] ${n} not found.\n Expected: ${n}/bin/${n} in node_modules of ${a} or any workspace root above it.\n Install it via: gjsify install -D ${n}\n (this adds ${n} to devDependencies; the matching ${S} napi binding lands automatically as an optionalDependency.)`),this.tool=n,this.cwd=a,this.name=`OxcNotFoundError`}},Bj=null});function writeIfFresh(n,a,S,C){return existsSync(n)&&!S?(ke.log(`[gjsify flatpak init] skipped ${C}: ${n} (exists; --force to overwrite)`),null):(mkdirSync(as(n),{recursive:!0}),writeFileSync(n,a,`utf-8`),ke.log(`[gjsify flatpak init] wrote ${C}: ${n}`),n)}function friendlyName(n,a){if(n.startsWith(`@`))return n.slice(n.indexOf(`/`)+1);if(n===a){let n=a.split(`.`);return n[n.length-1]??a}return n}function mergeArrays(n,a){if(!(!n?.length&&!a?.length))return[...n??[],...a??[]]}function deriveAppendPath(n){let a=[];for(let S of n){let n=/^org\.freedesktop\.Sdk\.Extension\.([A-Za-z0-9-]+)$/.exec(S);n&&a.push(`/usr/lib/sdk/${n[1]}/bin`)}return a.push(`/app/bin`),a}function deriveModuleName(n){let a=n.split(`.`);return a[a.length-1]||n}var Hj,Uj=__esmMin(()=>{Ae(),Zc(),ps(),Rj(),zj(),Fg(),Vj(),Hj={command:`init`,description:"Generate Flatpak manifest + MetaInfo XML + .desktop + flathub.json from `gjsify.flatpak` config.",builder:n=>n.option(`app-id`,{description:"Reverse-DNS app id (default: `gjsify.flatpak.appId` or package.json#name)",type:`string`}).option(`runtime`,{description:`Runtime family`,choices:[`gnome`,`freedesktop`]}).option(`runtime-version`,{description:`Runtime version (default: gnome -> 50, freedesktop -> 24.08)`,type:`string`}).option(`kind`,{description:`App kind: "app" (default, desktop) or "cli" (console-application MetaInfo, no .desktop)`,choices:[`app`,`cli`]}).option(`cli-only`,{description:"(Deprecated) Alias for `--kind cli`. Use --kind instead.",type:`boolean`,default:!1}).option(`manifest`,{description:"Output path for the manifest. Default: `<app-id>.json` in cwd.",type:`string`,normalize:!0}).option(`metainfo`,{description:"Output path for the MetaInfo XML. Default: `data/<app-id>.metainfo.xml.in` in cwd.",type:`string`,normalize:!0}).option(`desktop`,{description:"Output path for the .desktop entry (app kind only). Default: `data/<app-id>.desktop.in`.",type:`string`,normalize:!0}).option(`flathub-json`,{description:"Output path for the flathub.json policy stub. Default: `flathub.json` in cwd.",type:`string`,normalize:!0}).option(`command`,{description:`Binary name in /app/bin (default: app id)`,type:`string`}).option(`sdk-extension`,{description:`Extra SDK extension (repeatable)`,type:`string`,array:!0}).option(`finish-arg`,{description:`Extra finish-arg (repeatable). Override defaults entirely with multiple --finish-arg.`,type:`string`,array:!0}).option(`force`,{description:`Overwrite existing output files (manifest, metainfo, desktop, flathub.json)`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the resolved manifest fields before writing`,type:`boolean`,default:!1}).option(`format`,{description:"Run `oxfmt --write` on the generated JS/TS files when `oxfmt` is detected in the project. Default: true. Pass --no-format to skip. Note: oxfmt formats JS/TS only — the JSON/XML/.desktop manifests generated here are not reformatted (CSS/JSON formatting was dropped in the oxc migration).",type:`boolean`,default:!0}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=readPackageJson(S),N=n.appId??a.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak init: no app id available. Pass --app-id, set gjsify.flatpak.appId in package.json, or rename the package to a reverse-DNS id like org.example.MyApp.`);let F=n.kind??a.kind??(n.cliOnly?`cli`:`app`),{runtime:I,runtimeId:H,sdk:W,runtimeVersion:K}=resolveRuntime(a,{runtime:n.runtime,runtimeVersion:n.runtimeVersion}),q=mergeArrays(a.sdkExtensions,n.sdkExtension),Y=a.appendPath??(q?.length?deriveAppendPath(q):void 0),X=n.command??a.command??N,te=n.finishArg,ne=te===void 0?a.finishArgs??(F===`cli`?Lj:Ij):te,re={id:N,runtime:H,"runtime-version":K,sdk:W};q?.length&&(re[`sdk-extensions`]=q),Y?.length&&(re[`build-options`]={"append-path":Y.join(`:`)}),re.command=X,re[`finish-args`]=ne;let ie=a.cleanup;ie?.length&&(re.cleanup=ie);let ae=[];a.modules?.length?ae.push(...a.modules):(a.extraModules?.length&&ae.push(...a.extraModules),ae.push({name:deriveModuleName(N),buildsystem:`meson`,sources:[{type:`dir`,path:`.`}]})),re.modules=ae;let oe=[],trackWrite=n=>{n&&oe.push(n)};trackWrite(writeIfFresh($o(S,n.manifest??`${N}.json`),JSON.stringify(re,null,2)+`
762
+ `}function renderDescriptionBlocks(n,a){let S=typeof n==`string`?stringToBlocks(n):n,C=[];for(let n of S)if(`p`in n)pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<p>${escapeXml(n.p.trim().replace(/\s+/g,` `))}</p>`);else{pushTranslatorHint(C,n.translatorHint,a),C.push(`${a}<ul>`);for(let S of n.ul)typeof S==`string`?C.push(`${a} <li>${escapeXml(S)}</li>`):(pushTranslatorHint(C,S.translatorHint,`${a} `),C.push(`${a} <li>${escapeXml(S.item)}</li>`));C.push(`${a}</ul>`)}return C}function stringToBlocks(n){return n.trim().split(/\n\n+/).map(n=>({p:n.trim().replace(/\s+/g,` `)}))}function pushTranslatorHint(n,a,S){a&&n.push(`${S}<!-- TRANSLATORS: ${a} -->`)}function normaliseContentRating(n){return n===void 0?{type:`oars-1.1`}:typeof n==`string`?{type:n}:{type:n.type??`oars-1.1`,attributes:n.attributes}}function substitute(n,a){let S=n;for(let[n,C]of Object.entries(a))S=S.split(`{{${n}}}`).join(C);return S}function escapeXml(n){return n.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}var Gj=__esmMin(()=>{Zc()});function oxcBindingSuffix(){let n=process.platform,a=process.arch,S;if(n===`linux`)S=`linux`;else if(n===`darwin`)S=`darwin`;else if(n===`win32`)S=`win32`;else throw Error(`[gjsify oxc] Unsupported platform: ${n}`);let C;if(a===`x64`)C=`x64`;else if(a===`arm64`)C=`arm64`;else throw Error(`[gjsify oxc] Unsupported arch on ${S}: ${a}`);if(S===`linux`){let n=`gnu`;try{let{readdirSync:a}=(Zc(),__toCommonJS(Jc));a(`/lib`).some(n=>n.startsWith(`ld-musl-`))&&(n=`musl`)}catch{}return`${S}-${C}-${n}`}return S===`win32`?`${S}-${C}-msvc`:`${S}-${C}`}function bindingPackageName(n){return`${n===`oxlint`?`@oxlint`:`@oxfmt`}/binding-${oxcBindingSuffix()}`}function probeNodeModules(n,a,S){let C=ns(n,`node_modules`,a,S);return existsSync(C)?C:null}function findOxcLauncher(n,a=process.cwd()){let S=ns(`bin`,n),C=probeNodeModules(a,n,S);if(C)return C;let N=findWorkspaceRoot(a);if(N&&N!==a){let a=probeNodeModules(N,n,S);if(a)return a}let F=$o(a,`..`);for(let a=0;a<6;a++){let a=probeNodeModules(F,n,S);if(a)return a;let C=$o(F,`..`);if(C===F)break;F=C}throw new OxcNotFoundError(n,a)}function findOxlintConfig(n=process.cwd()){return findConfigFile(n,[`.oxlintrc.json`])}function findOxfmtConfig(n=process.cwd()){return findConfigFile(n,[`.oxfmtrc`,`.oxfmtrc.json`])}function findConfigFile(n,a){let S=n;for(let n=0;n<12;n++){for(let n of a){let a=ns(S,n);if(existsSync(a))return a}let n=$o(S,`..`);if(n===S)break;S=n}return null}async function tryLoadNativeOxfmt(){return Kj||(Kj=(async()=>{if(!isGjs())return null;try{let n=`@gjsify/oxfmt-native`,a=await import(pathToFileURL(resolveNpmPackage(n,{bundleUrl:import.meta.url})??createRequire(import.meta.url).resolve(n)).href);return a.hasNativeOxfmt()?a:null}catch{return null}})(),Kj)}async function shouldUseNativeOxfmt(){let n=(globalThis.process?.env??{}).GJSIFY_OXFMT;if(n===`npm`)return!1;if(n===`native`){if(!await tryLoadNativeOxfmt())throw Error(`GJSIFY_OXFMT=native but @gjsify/oxfmt-native is not loadable (no prebuild for this architecture, or not running under GJS).`);return!0}return isGjs()?await tryLoadNativeOxfmt()!==null:!1}async function runOxc(n,a,S={}){if(n===`oxfmt`&&await shouldUseNativeOxfmt()){let n=await tryLoadNativeOxfmt();if(!n)throw Error(`@gjsify/oxfmt-native not loadable`);return S.verbose&&ke.log(`[gjsify oxc] @gjsify/oxfmt-native (in-process) ${a.join(` `)}`),n.runOxfmt(a)}return spawnOxcLauncher(n,a,S)}function spawnOxcLauncher(n,a,S={}){let C=S.cwd??process.cwd(),N=findOxcLauncher(n,C),F=process.execPath||`node`;return S.verbose&&ke.log(`[gjsify oxc] ${F} ${N} ${a.join(` `)}`),new Promise((S,I)=>{let H={stdio:`inherit`,cwd:C},W=spawn(F,[N,...a],H);W.on(`error`,a=>{a.code===`ENOENT`?I(new OxcNotFoundError(n,C)):I(a)}),W.on(`exit`,(a,C)=>{if(C){ke.error(`[gjsify oxc] ${n} terminated by signal ${C}`),S(1);return}S(a??0)})})}function runOxlint(n,a={}){return runOxc(`oxlint`,n,a)}function runOxfmt(n,a={}){return runOxc(`oxfmt`,n,a)}function loadOxlintTemplate(){return readFileSync(new URL(`../templates/oxlintrc.json.tmpl`,import.meta.url),`utf-8`)}function loadOxfmtTemplate(){return readFileSync(new URL(`../templates/oxfmtrc.tmpl`,import.meta.url),`utf-8`)}function printOxcNotFound(n){ke.error(n.message)}function setOxcExitCode(n){if(process.exitCode=n,n===0)return;let a=globalThis.imports;a?.system?.exit&&a.system.exit(n)}function hasOxcDevDep(n=process.cwd(),a=`oxfmt`){let S=ns(n,`package.json`);if(!existsSync(S))return!1;try{let n=JSON.parse(readFileSync(S,`utf-8`));return!!(n?.devDependencies?.[a]||n?.dependencies?.[a])}catch{return!1}}var OxcNotFoundError,Kj,qj=__esmMin(()=>{Ae(),Zc(),ps(),cC(),Uo(),mn(),Lg(),Rg(),zg(),OxcNotFoundError=class extends Error{tool;cwd;constructor(n,a){let S=(()=>{try{return bindingPackageName(n)}catch{return`@${n===`oxlint`?`oxlint`:`oxfmt`}/binding-<platform>`}})();super(`[gjsify oxc] ${n} not found.\n Expected: ${n}/bin/${n} in node_modules of ${a} or any workspace root above it.\n Install it via: gjsify install -D ${n}\n (this adds ${n} to devDependencies; the matching ${S} napi binding lands automatically as an optionalDependency.)`),this.tool=n,this.cwd=a,this.name=`OxcNotFoundError`}},Kj=null});function writeIfFresh(n,a,S,C){return existsSync(n)&&!S?(ke.log(`[gjsify flatpak init] skipped ${C}: ${n} (exists; --force to overwrite)`),null):(mkdirSync(as(n),{recursive:!0}),writeFileSync(n,a,`utf-8`),ke.log(`[gjsify flatpak init] wrote ${C}: ${n}`),n)}function friendlyName(n,a){if(n.startsWith(`@`))return n.slice(n.indexOf(`/`)+1);if(n===a){let n=a.split(`.`);return n[n.length-1]??a}return n}function mergeArrays(n,a){if(!(!n?.length&&!a?.length))return[...n??[],...a??[]]}function deriveAppendPath(n){let a=[];for(let S of n){let n=/^org\.freedesktop\.Sdk\.Extension\.([A-Za-z0-9-]+)$/.exec(S);n&&a.push(`/usr/lib/sdk/${n[1]}/bin`)}return a.push(`/app/bin`),a}function deriveModuleName(n){let a=n.split(`.`);return a[a.length-1]||n}var Jj,Yj=__esmMin(()=>{Ae(),Zc(),ps(),Wj(),Gj(),Fg(),qj(),Jj={command:`init`,description:"Generate Flatpak manifest + MetaInfo XML + .desktop + flathub.json from `gjsify.flatpak` config.",builder:n=>n.option(`app-id`,{description:"Reverse-DNS app id (default: `gjsify.flatpak.appId` or package.json#name)",type:`string`}).option(`runtime`,{description:`Runtime family`,choices:[`gnome`,`freedesktop`]}).option(`runtime-version`,{description:`Runtime version (default: gnome -> 50, freedesktop -> 24.08)`,type:`string`}).option(`kind`,{description:`App kind: "app" (default, desktop) or "cli" (console-application MetaInfo, no .desktop)`,choices:[`app`,`cli`]}).option(`cli-only`,{description:"(Deprecated) Alias for `--kind cli`. Use --kind instead.",type:`boolean`,default:!1}).option(`manifest`,{description:"Output path for the manifest. Default: `<app-id>.json` in cwd.",type:`string`,normalize:!0}).option(`metainfo`,{description:"Output path for the MetaInfo XML. Default: `data/<app-id>.metainfo.xml.in` in cwd.",type:`string`,normalize:!0}).option(`desktop`,{description:"Output path for the .desktop entry (app kind only). Default: `data/<app-id>.desktop.in`.",type:`string`,normalize:!0}).option(`flathub-json`,{description:"Output path for the flathub.json policy stub. Default: `flathub.json` in cwd.",type:`string`,normalize:!0}).option(`command`,{description:`Binary name in /app/bin (default: app id)`,type:`string`}).option(`sdk-extension`,{description:`Extra SDK extension (repeatable)`,type:`string`,array:!0}).option(`finish-arg`,{description:`Extra finish-arg (repeatable). Override defaults entirely with multiple --finish-arg.`,type:`string`,array:!0}).option(`force`,{description:`Overwrite existing output files (manifest, metainfo, desktop, flathub.json)`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the resolved manifest fields before writing`,type:`boolean`,default:!1}).option(`format`,{description:"Run `oxfmt --write` on the generated JS/TS files when `oxfmt` is detected in the project. Default: true. Pass --no-format to skip. Note: oxfmt formats JS/TS only — the JSON/XML/.desktop manifests generated here are not reformatted (CSS/JSON formatting was dropped in the oxc migration).",type:`boolean`,default:!0}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=readPackageJson(S),N=n.appId??a.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak init: no app id available. Pass --app-id, set gjsify.flatpak.appId in package.json, or rename the package to a reverse-DNS id like org.example.MyApp.`);let F=n.kind??a.kind??(n.cliOnly?`cli`:`app`),{runtime:I,runtimeId:H,sdk:W,runtimeVersion:K}=resolveRuntime(a,{runtime:n.runtime,runtimeVersion:n.runtimeVersion}),q=mergeArrays(a.sdkExtensions,n.sdkExtension),Y=a.appendPath??(q?.length?deriveAppendPath(q):void 0),X=n.command??a.command??N,te=n.finishArg,ne=te===void 0?a.finishArgs??(F===`cli`?Uj:Hj):te,re={id:N,runtime:H,"runtime-version":K,sdk:W};q?.length&&(re[`sdk-extensions`]=q),Y?.length&&(re[`build-options`]={"append-path":Y.join(`:`)}),re.command=X,re[`finish-args`]=ne;let ie=a.cleanup;ie?.length&&(re.cleanup=ie);let ae=[];a.modules?.length?ae.push(...a.modules):(a.extraModules?.length&&ae.push(...a.extraModules),ae.push({name:deriveModuleName(N),buildsystem:`meson`,sources:[{type:`dir`,path:`.`}]})),re.modules=ae;let oe=[],trackWrite=n=>{n&&oe.push(n)};trackWrite(writeIfFresh($o(S,n.manifest??`${N}.json`),JSON.stringify(re,null,2)+`
758
763
  `,n.force??!1,`manifest`));let Z=C.name??N,se={appId:N,name:a.name??friendlyName(Z,N),command:X,kind:F,flatpak:a},ce=validateScaffoldInputs(se);if(ce.length>0){ke.warn(`[gjsify flatpak init] Manifest written, but MetaInfo / .desktop are skipped — config gaps:`);for(let n of ce)ke.warn(` - ${n.field}: ${n.hint}`);ke.warn(`
759
- Fill these fields in package.json#gjsify.flatpak (or .gjsifyrc.*) and re-run with --force.`)}else{let C=F===`cli`?renderMetainfoCli(se):renderMetainfoApp(se);trackWrite(writeIfFresh($o(S,n.metainfo??`data/${N}.metainfo.xml.in`),C,n.force??!1,`metainfo`)),F===`app`&&(trackWrite(writeIfFresh($o(S,n.desktop??`data/${N}.desktop.in`),renderDesktop(se),n.force??!1,`desktop`)),a.icon||ke.warn(`[gjsify flatpak init] No gjsify.flatpak.icon set. Flathub requires a scalable SVG at\n data/icons/hicolor/scalable/apps/${N}.svg`)),trackWrite(writeIfFresh($o(S,n.flathubJson??`flathub.json`),renderFlathubJson(F),n.force??!1,`flathub.json`))}let le=oe.filter(n=>/\.(ts|tsx|mts|cts|js|jsx|mjs|cjs)$/.test(n));if(le.length>0&&n.format!==!1&&hasOxcDevDep(S))try{await runOxfmt([`--write`,...le],{cwd:S})}catch(n){if(n instanceof OxcNotFoundError)ke.warn("[gjsify flatpak init] post-format skipped: oxfmt declared but binding not installed. Run `gjsify install` then re-run with --force, or pass --no-format.");else throw n}n.verbose&&(ke.log(`[gjsify flatpak init] kind=${F} runtime=${H} ${K} sdk=${W}`),ke.log(`[gjsify flatpak init] command=${X} finish-args=${JSON.stringify(ne)}`))}}});function findDefaultManifest(n){return scanForManifest(n)??`flatpak.json`}function scanForManifest(n){let a=[];try{a=readdirSync(n)}catch{return}for(let S of a)if(S.endsWith(`.json`)&&!(S===`package.json`||S===`tsconfig.json`||S.startsWith(`.`)))try{let a=JSON.parse(readFileSync($o(n,S),`utf-8`));if(typeof a.id==`string`&&typeof a.runtime==`string`&&Array.isArray(a.modules))return S}catch{}}function readManifestAppId(n){let a=readFileSync(n,`utf-8`),S=JSON.parse(a);if(typeof S.id!=`string`)throw Error(`gjsify flatpak build: ${n} has no string "id" field`);return S.id}async function runFlatpakBuilder(n,a){return runProc(`flatpak-builder`,n,a,{notFoundHint:"flatpak-builder not found. Install via your distro (Fedora: `sudo dnf install flatpak-builder`)."})}async function runFlatpak(n,a){return runProc(`flatpak`,n,a,{notFoundHint:`flatpak not found. Install via your distro and add Flathub: see https://flathub.org/setup.`})}async function runTar(n,a){return runProc(`tar`,n,a,{notFoundHint:`tar not found.`})}function runProc(n,a,S,C){return S.verbose&&ke.log(`[gjsify flatpak] ${n} ${a.join(` `)}`),new Promise((S,N)=>{let F=spawn(n,a,{stdio:`inherit`});F.on(`error`,n=>{n.code===`ENOENT`?N(Error(`gjsify flatpak: ${C.notFoundHint}`)):N(n)}),F.on(`exit`,a=>{a===0?S():N(Error(`gjsify flatpak: ${n} exited with status ${a}`))})})}var Wj,Gj=__esmMin(()=>{Ae(),sC(),Zc(),ps(),Wj={command:`build [manifest]`,description:"Build the Flatpak via `flatpak-builder`. Wraps a typical install + export + bundle + tarball pipeline.",builder:n=>n.positional(`manifest`,{description:`Path to the Flatpak manifest (default: first *.json that looks like a manifest in cwd)`,type:`string`,normalize:!0}).option(`build-dir`,{description:`flatpak-builder working directory`,type:`string`,default:`flatpak-build`,normalize:!0}).option(`install`,{description:"After build, run `flatpak-builder --user --install` to install locally",type:`boolean`,default:!1}).option(`repo`,{description:"Export the build into the given OSTree repo (passes `--repo=<dir>` to flatpak-builder)",type:`string`,normalize:!0}).option(`bundle`,{description:"After --repo export, build a single-file bundle (`flatpak build-bundle`) at this path",type:`string`,normalize:!0}).option(`tarball`,{description:`Create a tarball of the build dir (parity with the legacy build-flatpak.sh tarball step)`,type:`string`,normalize:!0}).option(`force-clean`,{description:`Pass --force-clean to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`sandbox`,{description:`Pass --sandbox to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`delete-build-dirs`,{description:`Pass --delete-build-dirs to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`install-deps-from`,{description:"Pass --install-deps-from to flatpak-builder (e.g. `flathub`)",type:`string`}).option(`verbose`,{description:`Print the underlying flatpak-builder invocations`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.manifest??findDefaultManifest(a));if(!existsSync(S))throw Error(`gjsify flatpak build: manifest ${S} not found`);let C=$o(a,n.buildDir??`flatpak-build`),N=[];if(n.forceClean!==!1&&N.push(`--force-clean`),n.sandbox!==!1&&N.push(`--sandbox`),n.deleteBuildDirs!==!1&&N.push(`--delete-build-dirs`),n.installDepsFrom&&N.push(`--install-deps-from=${n.installDepsFrom}`),existsSync(C)&&rmSync(C,{recursive:!0,force:!0}),await runFlatpakBuilder([...N,C,S],{verbose:n.verbose}),n.install&&await runFlatpakBuilder([`--user`,`--install`,`--force-clean`,C,S],{verbose:n.verbose}),n.repo){let N=$o(a,n.repo);mkdirSync(as(N),{recursive:!0}),await runFlatpakBuilder([`--repo=${N}`,`--force-clean`,C,S],{verbose:n.verbose})}if(n.bundle){if(!n.repo)throw Error(`gjsify flatpak build: --bundle requires --repo (the bundle is built from the OSTree repo).`);let C=$o(a,n.bundle);mkdirSync(as(C),{recursive:!0}),await runFlatpak([`build-bundle`,$o(a,n.repo),C,readManifestAppId(S)],{verbose:n.verbose})}if(n.tarball){let S=$o(a,n.tarball);mkdirSync(as(S),{recursive:!0}),await runTar([`-czf`,S,`-C`,C,`.`],{verbose:n.verbose})}ke.log(`[gjsify flatpak build] done (${C})`)}}});function detectLockfile(n){return existsSync($o(n,`yarn.lock`))?`yarn.lock`:existsSync($o(n,`package-lock.json`))?`package-lock.json`:`yarn.lock`}var Kj,qj=__esmMin(()=>{Ae(),sC(),Zc(),ps(),Kj={command:`deps`,description:"Generate Flatpak offline-cache sources from a yarn.lock / package-lock.json (wraps `flatpak-node-generator`).",builder:n=>n.option(`lockfile`,{description:`Path to lockfile (default: yarn.lock or package-lock.json in cwd)`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile type. Default: detected from filename.`,choices:[`yarn`,`npm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`flatpak-node-sources.json`,normalize:!0}).option(`xdg-layout`,{description:`Pass --xdg-layout (recommended for Yarn Berry / PnP setups)`,type:`boolean`,default:!0}).option(`electron-node-headers`,{description:`Pass --electron-node-headers`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the underlying flatpak-node-generator invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.lockfile??detectLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak deps: lockfile ${S} not found (use --lockfile to override)`);let C=n.type??(S.endsWith(`package-lock.json`)?`npm`:`yarn`),N=$o(a,n.out??`flatpak-node-sources.json`);mkdirSync(as(N),{recursive:!0});let F=[C,S,`-o`,N];n.xdgLayout!==!1&&F.push(`--xdg-layout`),n.electronNodeHeaders&&F.push(`--electron-node-headers`),n.verbose&&ke.log(`[gjsify flatpak deps] flatpak-node-generator ${F.join(` `)}`),await new Promise((n,a)=>{let S=spawn(`flatpak-node-generator`,F,{stdio:`inherit`});S.on(`error`,n=>{n.code===`ENOENT`?a(Error("gjsify flatpak deps: flatpak-node-generator not found. Install via `pipx install flatpak-node-generator` (see https://github.com/flatpak/flatpak-builder-tools/tree/master/node).")):a(n)}),S.on(`exit`,S=>{S===0?n():a(Error(`gjsify flatpak deps: flatpak-node-generator exited with status ${S}`))})}),ke.log(`[gjsify flatpak deps] wrote ${N}`)}}});function parseSri$1(n){if(!n)return null;let a=n.indexOf(`-`);if(a<=0||a===n.length-1)return null;let S=n.slice(0,a),C=n.slice(a+1).replace(/=+$/,``),N;try{N=lt.from(C,`base64`).toString(`hex`)}catch{return null}return N.length<4?null:{algorithm:S,hex:N}}function parseNpmLike(n){let a=[],S=n,C=S.packages;if(C&&typeof C==`object`){for(let n of Object.values(C))n?.resolved&&n.integrity&&a.push({url:n.resolved,integrity:n.integrity});if(a.length>0)return a}return S.dependencies&&typeof S.dependencies==`object`&&collectV1Deps(S.dependencies,a),a}function collectV1Deps(n,a){for(let S of Object.values(n))S?.resolved&&S.integrity&&a.push({url:S.resolved,integrity:S.integrity}),S?.dependencies&&collectV1Deps(S.dependencies,a)}function parseYarnClassic(n){if(/^__metadata:/m.test(n))throw Error("gjsify flatpak sources: Yarn Berry (v2+) yarn.lock is not supported — its `checksum` is a cache hash, not a tarball SRI. Run `gjsify install` to produce a gjsify-lock.json, or use a classic (v1) yarn.lock.");let a=[],S=0;for(let C of n.split(/\n\s*\n/)){let n=C.match(/^\s+resolved\s+"([^"]+)"/m);if(!n)continue;let N=n[1].replace(/#.*$/,``),F=C.match(/^\s+integrity\s+(\S+)/m);if(!F){S++;continue}a.push({url:N,integrity:F[1]})}return S>0&&ke.warn(`[gjsify flatpak sources] ${S} yarn.lock entr(y/ies) had no integrity (pre-1.x format) and were skipped — re-lock with a modern yarn or use \`gjsify install\`.`),a}function parsePnpm(n){let a=[],S=!1,C=null;for(let N of n.split(`
764
+ Fill these fields in package.json#gjsify.flatpak (or .gjsifyrc.*) and re-run with --force.`)}else{let C=F===`cli`?renderMetainfoCli(se):renderMetainfoApp(se);trackWrite(writeIfFresh($o(S,n.metainfo??`data/${N}.metainfo.xml.in`),C,n.force??!1,`metainfo`)),F===`app`&&(trackWrite(writeIfFresh($o(S,n.desktop??`data/${N}.desktop.in`),renderDesktop(se),n.force??!1,`desktop`)),a.icon||ke.warn(`[gjsify flatpak init] No gjsify.flatpak.icon set. Flathub requires a scalable SVG at\n data/icons/hicolor/scalable/apps/${N}.svg`)),trackWrite(writeIfFresh($o(S,n.flathubJson??`flathub.json`),renderFlathubJson(F),n.force??!1,`flathub.json`))}let le=oe.filter(n=>/\.(ts|tsx|mts|cts|js|jsx|mjs|cjs)$/.test(n));if(le.length>0&&n.format!==!1&&hasOxcDevDep(S))try{await runOxfmt([`--write`,...le],{cwd:S})}catch(n){if(n instanceof OxcNotFoundError)ke.warn("[gjsify flatpak init] post-format skipped: oxfmt declared but binding not installed. Run `gjsify install` then re-run with --force, or pass --no-format.");else throw n}n.verbose&&(ke.log(`[gjsify flatpak init] kind=${F} runtime=${H} ${K} sdk=${W}`),ke.log(`[gjsify flatpak init] command=${X} finish-args=${JSON.stringify(ne)}`))}}});function findDefaultManifest(n){return scanForManifest(n)??`flatpak.json`}function scanForManifest(n){let a=[];try{a=readdirSync(n)}catch{return}for(let S of a)if(S.endsWith(`.json`)&&!(S===`package.json`||S===`tsconfig.json`||S.startsWith(`.`)))try{let a=JSON.parse(readFileSync($o(n,S),`utf-8`));if(typeof a.id==`string`&&typeof a.runtime==`string`&&Array.isArray(a.modules))return S}catch{}}function readManifestAppId(n){let a=readFileSync(n,`utf-8`),S=JSON.parse(a);if(typeof S.id!=`string`)throw Error(`gjsify flatpak build: ${n} has no string "id" field`);return S.id}async function runFlatpakBuilder(n,a){return runProc(`flatpak-builder`,n,a,{notFoundHint:"flatpak-builder not found. Install via your distro (Fedora: `sudo dnf install flatpak-builder`)."})}async function runFlatpak(n,a){return runProc(`flatpak`,n,a,{notFoundHint:`flatpak not found. Install via your distro and add Flathub: see https://flathub.org/setup.`})}async function runTar(n,a){return runProc(`tar`,n,a,{notFoundHint:`tar not found.`})}function runProc(n,a,S,C){return S.verbose&&ke.log(`[gjsify flatpak] ${n} ${a.join(` `)}`),new Promise((S,N)=>{let F=spawn(n,a,{stdio:`inherit`});F.on(`error`,n=>{n.code===`ENOENT`?N(Error(`gjsify flatpak: ${C.notFoundHint}`)):N(n)}),F.on(`exit`,a=>{a===0?S():N(Error(`gjsify flatpak: ${n} exited with status ${a}`))})})}var Xj,Zj=__esmMin(()=>{Ae(),cC(),Zc(),ps(),Xj={command:`build [manifest]`,description:"Build the Flatpak via `flatpak-builder`. Wraps a typical install + export + bundle + tarball pipeline.",builder:n=>n.positional(`manifest`,{description:`Path to the Flatpak manifest (default: first *.json that looks like a manifest in cwd)`,type:`string`,normalize:!0}).option(`build-dir`,{description:`flatpak-builder working directory`,type:`string`,default:`flatpak-build`,normalize:!0}).option(`install`,{description:"After build, run `flatpak-builder --user --install` to install locally",type:`boolean`,default:!1}).option(`repo`,{description:"Export the build into the given OSTree repo (passes `--repo=<dir>` to flatpak-builder)",type:`string`,normalize:!0}).option(`bundle`,{description:"After --repo export, build a single-file bundle (`flatpak build-bundle`) at this path",type:`string`,normalize:!0}).option(`tarball`,{description:`Create a tarball of the build dir (parity with the legacy build-flatpak.sh tarball step)`,type:`string`,normalize:!0}).option(`force-clean`,{description:`Pass --force-clean to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`sandbox`,{description:`Pass --sandbox to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`delete-build-dirs`,{description:`Pass --delete-build-dirs to flatpak-builder (default true)`,type:`boolean`,default:!0}).option(`install-deps-from`,{description:"Pass --install-deps-from to flatpak-builder (e.g. `flathub`)",type:`string`}).option(`verbose`,{description:`Print the underlying flatpak-builder invocations`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.manifest??findDefaultManifest(a));if(!existsSync(S))throw Error(`gjsify flatpak build: manifest ${S} not found`);let C=$o(a,n.buildDir??`flatpak-build`),N=[];if(n.forceClean!==!1&&N.push(`--force-clean`),n.sandbox!==!1&&N.push(`--sandbox`),n.deleteBuildDirs!==!1&&N.push(`--delete-build-dirs`),n.installDepsFrom&&N.push(`--install-deps-from=${n.installDepsFrom}`),existsSync(C)&&rmSync(C,{recursive:!0,force:!0}),await runFlatpakBuilder([...N,C,S],{verbose:n.verbose}),n.install&&await runFlatpakBuilder([`--user`,`--install`,`--force-clean`,C,S],{verbose:n.verbose}),n.repo){let N=$o(a,n.repo);mkdirSync(as(N),{recursive:!0}),await runFlatpakBuilder([`--repo=${N}`,`--force-clean`,C,S],{verbose:n.verbose})}if(n.bundle){if(!n.repo)throw Error(`gjsify flatpak build: --bundle requires --repo (the bundle is built from the OSTree repo).`);let C=$o(a,n.bundle);mkdirSync(as(C),{recursive:!0}),await runFlatpak([`build-bundle`,$o(a,n.repo),C,readManifestAppId(S)],{verbose:n.verbose})}if(n.tarball){let S=$o(a,n.tarball);mkdirSync(as(S),{recursive:!0}),await runTar([`-czf`,S,`-C`,C,`.`],{verbose:n.verbose})}ke.log(`[gjsify flatpak build] done (${C})`)}}});function detectLockfile(n){return existsSync($o(n,`yarn.lock`))?`yarn.lock`:existsSync($o(n,`package-lock.json`))?`package-lock.json`:`yarn.lock`}var Qj,$j=__esmMin(()=>{Ae(),cC(),Zc(),ps(),Qj={command:`deps`,description:"Generate Flatpak offline-cache sources from a yarn.lock / package-lock.json (wraps `flatpak-node-generator`).",builder:n=>n.option(`lockfile`,{description:`Path to lockfile (default: yarn.lock or package-lock.json in cwd)`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile type. Default: detected from filename.`,choices:[`yarn`,`npm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`flatpak-node-sources.json`,normalize:!0}).option(`xdg-layout`,{description:`Pass --xdg-layout (recommended for Yarn Berry / PnP setups)`,type:`boolean`,default:!0}).option(`electron-node-headers`,{description:`Pass --electron-node-headers`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print the underlying flatpak-node-generator invocation`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.lockfile??detectLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak deps: lockfile ${S} not found (use --lockfile to override)`);let C=n.type??(S.endsWith(`package-lock.json`)?`npm`:`yarn`),N=$o(a,n.out??`flatpak-node-sources.json`);mkdirSync(as(N),{recursive:!0});let F=[C,S,`-o`,N];n.xdgLayout!==!1&&F.push(`--xdg-layout`),n.electronNodeHeaders&&F.push(`--electron-node-headers`),n.verbose&&ke.log(`[gjsify flatpak deps] flatpak-node-generator ${F.join(` `)}`),await new Promise((n,a)=>{let S=spawn(`flatpak-node-generator`,F,{stdio:`inherit`});S.on(`error`,n=>{n.code===`ENOENT`?a(Error("gjsify flatpak deps: flatpak-node-generator not found. Install via `pipx install flatpak-node-generator` (see https://github.com/flatpak/flatpak-builder-tools/tree/master/node).")):a(n)}),S.on(`exit`,S=>{S===0?n():a(Error(`gjsify flatpak deps: flatpak-node-generator exited with status ${S}`))})}),ke.log(`[gjsify flatpak deps] wrote ${N}`)}}});function parseSri$1(n){if(!n)return null;let a=n.indexOf(`-`);if(a<=0||a===n.length-1)return null;let S=n.slice(0,a),C=n.slice(a+1).replace(/=+$/,``),N;try{N=lt.from(C,`base64`).toString(`hex`)}catch{return null}return N.length<4?null:{algorithm:S,hex:N}}function parseNpmLike(n){let a=[],S=n,C=S.packages;if(C&&typeof C==`object`){for(let n of Object.values(C))n?.resolved&&n.integrity&&a.push({url:n.resolved,integrity:n.integrity});if(a.length>0)return a}return S.dependencies&&typeof S.dependencies==`object`&&collectV1Deps(S.dependencies,a),a}function collectV1Deps(n,a){for(let S of Object.values(n))S?.resolved&&S.integrity&&a.push({url:S.resolved,integrity:S.integrity}),S?.dependencies&&collectV1Deps(S.dependencies,a)}function parseYarnClassic(n){if(/^__metadata:/m.test(n))throw Error("gjsify flatpak sources: Yarn Berry (v2+) yarn.lock is not supported — its `checksum` is a cache hash, not a tarball SRI. Run `gjsify install` to produce a gjsify-lock.json, or use a classic (v1) yarn.lock.");let a=[],S=0;for(let C of n.split(/\n\s*\n/)){let n=C.match(/^\s+resolved\s+"([^"]+)"/m);if(!n)continue;let N=n[1].replace(/#.*$/,``),F=C.match(/^\s+integrity\s+(\S+)/m);if(!F){S++;continue}a.push({url:N,integrity:F[1]})}return S>0&&ke.warn(`[gjsify flatpak sources] ${S} yarn.lock entr(y/ies) had no integrity (pre-1.x format) and were skipped — re-lock with a modern yarn or use \`gjsify install\`.`),a}function parsePnpm(n){let a=[],S=!1,C=null;for(let N of n.split(`
760
765
  `)){let n=N.replace(/\r$/,``);if(/^packages:\s*$/.test(n)){S=!0;continue}if(S&&/^[^\s#]/.test(n)&&(S=!1),!S)continue;let F=n.match(/^ {2}(?:'([^']+)'|"([^"]+)"|([^\s#][^:]*)):\s*$/);if(F){C=F[1]??F[2]??F[3]??null;continue}let I=n.match(/resolution:\s*\{([^}]*)\}/);if(I&&C){let n=I[1].match(/integrity:\s*(sha\d+-[A-Za-z0-9+/=]+)/);if(!n)continue;let S=I[1].match(/tarball:\s*([^\s,}]+)/),N=S?S[1]:reconstructNpmTarballUrl(C);N&&a.push({url:N,integrity:n[1]})}}return a}function reconstructNpmTarballUrl(n){let a,S;if(n.startsWith(`/`)){let C=n.slice(1).replace(/_.*$/,``),N=C.lastIndexOf(`/`);if(N<=0)return null;a=C.slice(0,N),S=C.slice(N+1)}else{let C=n.replace(/\(.*\)$/,``),N=C.lastIndexOf(`@`);if(N<=0)return null;a=C.slice(0,N),S=C.slice(N+1)}if(!a||!S||/[@:/]/.test(S))return null;let C=a.slice(a.lastIndexOf(`/`)+1);return`https://registry.npmjs.org/${a}/-/${C}-${S}.tgz`}function detectType(n){let a=n.toLowerCase();return a.endsWith(`pnpm-lock.yaml`)?`pnpm`:a.endsWith(`yarn.lock`)?`yarn`:a.endsWith(`package-lock.json`)?`npm`:`gjsify`}function defaultLockfile(n){for(let a of[`gjsify-lock.json`,`package-lock.json`,`yarn.lock`,`pnpm-lock.yaml`])if(existsSync(ns(n,a)))return a;return`gjsify-lock.json`}function parseLockfile(n,a){let S=readFileSync(n,`utf-8`);if(a===`yarn`)return parseYarnClassic(S);if(a===`pnpm`)return parsePnpm(S);let C;try{C=JSON.parse(S)}catch(a){throw Error(`gjsify flatpak sources: ${n} is not valid JSON: ${a.message}`)}return parseNpmLike(C)}function buildModuleSnippet(n,a){return[``,`# Add the generated sources to your app module and point XDG_CACHE_HOME`,`# at the vendored cache before running gjsify offline. Example module:`,`#`,`# {`,`# "name": "my-app",`,`# "buildsystem": "simple",`,`# "build-commands": [`,`# "export XDG_CACHE_HOME=\\"$(pwd)/${a}\\"",`,`# "gjsify install --immutable",`,`# "gjsify build src/main.ts --app gjs --outfile /app/bin/my-app"`,`# ],`,`# "sources": [`,`# { "type": "dir", "path": "." },`,`# "${n}"`,`# ]`,`# }`,``].join(`
761
- `)}var Jj,Yj,Xj=__esmMin(()=>{Ae(),Zc(),ps(),vt(),Jj=new Set([`sha256`,`sha512`]),__name$1(parseSri$1,`parseSri`),Yj={command:`sources`,description:"Generate an offline flatpak-builder `sources` array from any lockfile (gjsify-lock.json / package-lock.json / yarn.lock / pnpm-lock.yaml) for a no-network Flathub build.",builder:n=>n.option(`lockfile`,{description:`Path to the lockfile. Default: the first of gjsify-lock.json / package-lock.json / yarn.lock / pnpm-lock.yaml found in cwd.`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile format. Default: detected from the filename.`,choices:[`gjsify`,`npm`,`yarn`,`pnpm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`gjsify-sources.json`,normalize:!0}).option(`cache-root`,{description:`Relative dir the tarballs download into; point XDG_CACHE_HOME here in the build. Tarballs land at <cache-root>/gjsify/tarballs/v1/<algo>/<shard>/<hex>.tgz.`,type:`string`,default:`flatpak-gjsify-cache`}).option(`print-module`,{description:`Also print a ready-to-paste flatpak manifest module snippet to stderr`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.lockfile??defaultLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak sources: lockfile ${S} not found. Run \`gjsify install\` (or npm/yarn/pnpm) first, or pass --lockfile.`);let C=n.type??detectType(S),N=parseLockfile(S,C),F=n.cacheRoot??`flatpak-gjsify-cache`,I=new Map,H=0,W=0;for(let{url:n,integrity:a}of N){let S=parseSri$1(a);if(!S){H++;continue}if(!Jj.has(S.algorithm)){W++;continue}let C=`${S.algorithm}:${S.hex}`;if(I.has(C))continue;let N={type:`file`,url:n,dest:`${F}/gjsify/tarballs/v1/${S.algorithm}/${S.hex.slice(0,2)}`,"dest-filename":`${S.hex}.tgz`};S.algorithm===`sha512`?N.sha512=S.hex:N.sha256=S.hex,I.set(C,N)}let K=[...I.values()].sort((n,a)=>n.url<a.url?-1:+(n.url>a.url)),q=$o(a,n.out??`gjsify-sources.json`);mkdirSync(as(q),{recursive:!0}),writeFileSync(q,JSON.stringify(K,null,2)+`
766
+ `)}var eM,tM,nM=__esmMin(()=>{Ae(),Zc(),ps(),vt(),eM=new Set([`sha256`,`sha512`]),__name$1(parseSri$1,`parseSri`),tM={command:`sources`,description:"Generate an offline flatpak-builder `sources` array from any lockfile (gjsify-lock.json / package-lock.json / yarn.lock / pnpm-lock.yaml) for a no-network Flathub build.",builder:n=>n.option(`lockfile`,{description:`Path to the lockfile. Default: the first of gjsify-lock.json / package-lock.json / yarn.lock / pnpm-lock.yaml found in cwd.`,type:`string`,normalize:!0}).option(`type`,{description:`Lockfile format. Default: detected from the filename.`,choices:[`gjsify`,`npm`,`yarn`,`pnpm`]}).option(`out`,{description:`Output JSON sources file`,type:`string`,default:`gjsify-sources.json`,normalize:!0}).option(`cache-root`,{description:`Relative dir the tarballs download into; point XDG_CACHE_HOME here in the build. Tarballs land at <cache-root>/gjsify/tarballs/v1/<algo>/<shard>/<hex>.tgz.`,type:`string`,default:`flatpak-gjsify-cache`}).option(`print-module`,{description:`Also print a ready-to-paste flatpak manifest module snippet to stderr`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=$o(a,n.lockfile??defaultLockfile(a));if(!existsSync(S))throw Error(`gjsify flatpak sources: lockfile ${S} not found. Run \`gjsify install\` (or npm/yarn/pnpm) first, or pass --lockfile.`);let C=n.type??detectType(S),N=parseLockfile(S,C),F=n.cacheRoot??`flatpak-gjsify-cache`,I=new Map,H=0,W=0;for(let{url:n,integrity:a}of N){let S=parseSri$1(a);if(!S){H++;continue}if(!eM.has(S.algorithm)){W++;continue}let C=`${S.algorithm}:${S.hex}`;if(I.has(C))continue;let N={type:`file`,url:n,dest:`${F}/gjsify/tarballs/v1/${S.algorithm}/${S.hex.slice(0,2)}`,"dest-filename":`${S.hex}.tgz`};S.algorithm===`sha512`?N.sha512=S.hex:N.sha256=S.hex,I.set(C,N)}let K=[...I.values()].sort((n,a)=>n.url<a.url?-1:+(n.url>a.url)),q=$o(a,n.out??`gjsify-sources.json`);mkdirSync(as(q),{recursive:!0}),writeFileSync(q,JSON.stringify(K,null,2)+`
762
767
  `),ke.log(`[gjsify flatpak sources] wrote ${q} — ${K.length} tarball source(s) from ${C} lockfile (${N.length} locked entr${N.length===1?`y`:`ies`})`+(H?`, ${H} without a usable integrity skipped`:``)+(W?`, ${W} non-sha256/512 skipped`:``)),n.printModule&&ke.error(buildModuleSnippet(n.out??`gjsify-sources.json`,F))}}});function renderWorkflow(n){let a=`[${n.branches.map(n=>JSON.stringify(n)).join(`, `)}]`;return`name: Flatpak
763
768
 
764
769
  on:
@@ -787,23 +792,23 @@ jobs:
787
792
  manifest-path: ${n.manifest}
788
793
  bundle: ${n.bundle}
789
794
  cache-key: ${n.cacheKey}
790
- `}var Zj,Qj=__esmMin(()=>{Ae(),Zc(),ps(),Fg(),Rj(),Zj={command:`ci`,description:`Scaffold .github/workflows/flatpak.yml using the flathub-infra container + flatpak-builder@v6 action.`,builder:n=>n.option(`manifest`,{description:`Manifest path the workflow points at (default: <app-id>.json)`,type:`string`,normalize:!0}).option(`bundle`,{description:`Bundle filename produced by the action (default: <app-id>.flatpak)`,type:`string`,normalize:!0}).option(`runtime-image`,{description:"Container image override. Default derived from gjsify.flatpak.runtime + runtimeVersion (e.g. `ghcr.io/flathub-infra/flatpak-github-actions:gnome-50`).",type:`string`}).option(`branches`,{description:`Branches the workflow runs on push for (default: main)`,type:`string`,array:!0}).option(`out`,{description:`Output path`,type:`string`,default:`.github/workflows/flatpak.yml`,normalize:!0}).option(`cache-key`,{description:"Override the action `cache-key` (default: `flatpak-builder-${{ github.sha }}`)",type:`string`}).option(`force`,{description:`Overwrite an existing workflow file`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print resolved fields`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=readPackageJson(a),N=S.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak ci: no app id available. Set gjsify.flatpak.appId in package.json or rename the package to a reverse-DNS id.`);let F=n.manifest??`${N}.json`,I=n.bundle??`${N}.flatpak`,{runtime:H,runtimeVersion:W}=resolveRuntime(S,{}),K=n.runtimeImage??S.ciContainer??defaultCiContainer(H,W),q=n.branches??S.ciBranches??[`main`],Y=n.cacheKey??"flatpak-builder-${{ github.sha }}",X=$o(a,n.out??`.github/workflows/flatpak.yml`);if(existsSync(X)&&!n.force){if(readFileSync(X,`utf-8`)===renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y})){ke.log(`[gjsify flatpak ci] ${X} already up to date`);return}throw Error(`gjsify flatpak ci: ${X} exists with different content. Pass --force to overwrite.`)}let te=renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y});mkdirSync(as(X),{recursive:!0}),writeFileSync(X,te,`utf-8`),n.verbose&&ke.log(`[gjsify flatpak ci] runtime-image=${K} manifest=${F} bundle=${I}`),ke.log(`[gjsify flatpak ci] wrote ${X}`)}}});function resolveAppId(n,a,S){if(a.appId)return a.appId;try{let n=readPackageJson(S);if(looksLikeAppId(n.name))return n.name}catch{}if(n)return n.replace(/\.json$/,``)}function resolveManifestPath(n,a,S){if(n)return $o(S,n);if(a)return $o(S,`${a}.json`);let C=readdirSync(S).filter(n=>n.endsWith(`.json`)&&!n.startsWith(`package`));if(C.length===1)return $o(S,C[0]);throw Error(`gjsify flatpak check: no manifest path given and could not auto-detect. Pass the manifest as a positional argument.`)}function runLinter(n,a,S){return new Promise(C=>{let N=spawn(n,a,{stdio:S?`inherit`:[`ignore`,`pipe`,`pipe`]}),F=``,I=``;S||(N.stdout?.setEncoding(`utf-8`),N.stderr?.setEncoding(`utf-8`),N.stdout?.on(`data`,n=>{F+=n}),N.stderr?.on(`data`,n=>{I+=n})),N.on(`error`,a=>{let S=a;S.code===`ENOENT`?ke.error(`[gjsify flatpak check] ${n} not found in PATH.\nInstall via:\n flatpak install -y flathub org.flatpak.Builder\n alias ${n}="flatpak run --command=${n} org.flatpak.Builder"`):ke.error(`[gjsify flatpak check] ${n} failed to spawn: ${S.message}`),C(!1)}),N.on(`exit`,N=>{let H=N===0,W=H?`OK`:`FAIL`;ke.log(`[gjsify flatpak check] ${W}: ${n} ${a.join(` `)}`),!H&&!S&&(F.trim()&&ke.log(F.trimEnd()),I.trim()&&ke.error(I.trimEnd())),C(H)})})}var $j,eM=__esmMin(()=>{Ae(),Zc(),ps(),sC(),Rj(),Fg(),$j={command:`check [manifest]`,description:`Run Flathub pre-submission linters: appstreamcli validate + flatpak-builder-lint.`,builder:n=>n.positional(`manifest`,{description:"Path to the Flatpak manifest. Auto-detects `<app-id>.json` if omitted.",type:`string`,normalize:!0}).option(`repo`,{description:"Built ostree-repo path. If given, also runs `flatpak-builder-lint repo`.",type:`string`,normalize:!0}).option(`metainfo`,{description:"MetaInfo XML path. Default: `data/<app-id>.metainfo.xml.in`.",type:`string`,normalize:!0}).option(`appstream`,{description:"Run `appstreamcli validate --strict` (default: true).",type:`boolean`,default:!0}).option(`builder-lint`,{description:"Run `flatpak-builder-lint manifest` (default: true).",type:`boolean`,default:!0}).option(`verbose`,{description:`Stream linter stdout/stderr verbatim.`,type:`boolean`,default:!1}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=resolveAppId(n.manifest,a,S),N=resolveManifestPath(n.manifest,C,S),F=$o(S,n.metainfo??`data/${C??`unknown`}.metainfo.xml.in`),I=0;if(n.appstream!==!1&&(existsSync(F)?await runLinter(`appstreamcli`,[`validate`,`--strict`,F],n.verbose??!1)||I++:ke.warn(`[gjsify flatpak check] skipping appstreamcli — ${F} not found`)),n.builderLint!==!1){if(!existsSync(N)){ke.error(`[gjsify flatpak check] manifest not found: ${N}`),process.exit(1);return}await runLinter(`flatpak-builder-lint`,[`manifest`,N],n.verbose??!1)||I++,n.repo&&(await runLinter(`flatpak-builder-lint`,[`repo`,$o(S,n.repo)],n.verbose??!1)||I++)}I>0&&(ke.error(`\n[gjsify flatpak check] ${I} check(s) failed.`),process.exit(1)),ke.log(`[gjsify flatpak check] all checks passed.`)}}});async function resolveLatestTag$1(n,a){try{let{stdout:S}=await tM(`git`,[`describe`,`--tags`,`--abbrev=0`],{cwd:n});return a&&ke.log(`[gjsify flatpak sync-flathub] resolved latest tag → ${S.trim()}`),S.trim()||null}catch{return null}}async function resolveCommitForTag(n,a,S){try{let{stdout:C}=await tM(`git`,[`rev-list`,`-n`,`1`,a],{cwd:n}),N=C.trim();if(!N)throw Error(`empty rev-list output`);return S&&ke.log(`[gjsify flatpak sync-flathub] resolved ${a} → ${N}`),N}catch(n){throw Error(`[gjsify flatpak sync-flathub] tag ${a} not found locally. Run \`git fetch --tags\` or pass --commit <sha>.\n underlying error: ${n instanceof Error?n.message:String(n)}`)}}function normaliseBranchSegment(n){return n.replace(/^v/,``).replace(/[^A-Za-z0-9._-]/g,`-`)}function flathubCacheRoot(){return ns(process.env.XDG_CACHE_HOME||ns(homedir(),`.cache`),`gjsify`,`flathub-sync`)}async function ensureClone(n,a,S){if(existsSync(ns(n,`.git`))){S&&ke.log(`[gjsify flatpak sync-flathub] reusing clone at ${n}`),await gitInRepo(n,[`fetch`,`origin`],S);let a=await detectDefaultBranch(n,S);await gitInRepo(n,[`checkout`,a],S),await gitInRepo(n,[`reset`,`--hard`,`origin/${a}`],S);return}mkdirSync($o(n,`..`),{recursive:!0});let C=`https://github.com/${a}.git`;S&&ke.log(`[gjsify flatpak sync-flathub] git clone ${C} ${n}`);try{await tM(`git`,[`clone`,C,n])}catch(n){throw n?.code===`ENOENT`?Error("[gjsify flatpak sync-flathub] `git` not found. Install git from your distro (Fedora: `dnf install git`, Debian: `apt install git`)."):n}}async function detectDefaultBranch(n,a){try{let{stdout:S}=await tM(`git`,[`remote`,`show`,`origin`],{cwd:n}),C=S.match(/HEAD branch: (\S+)/);if(C&&C[1]&&C[1]!==`(unknown)`)return a&&ke.log(`[gjsify flatpak sync-flathub] default branch → ${C[1]}`),C[1]}catch{}return`master`}function gitInRepo(n,a,S){return S&&ke.log(`[gjsify flatpak sync-flathub] git ${a.join(` `)} (in ${n})`),new Promise((S,C)=>{let N=spawn(`git`,a,{cwd:n,stdio:`inherit`});N.on(`error`,n=>{n.code===`ENOENT`?C(Error("[gjsify flatpak sync-flathub] `git` not found. Install it from your distro.")):C(n)}),N.on(`exit`,n=>{n===0?S():C(Error(`git ${a[0]} exited ${n}`))})})}function ghCreate(n,a,S,C,N,F){let I=[`pr`,`create`,`--repo`,a,`--head`,S,`--title`,`Update to ${C}`,`--body`,N];return F&&ke.log(`[gjsify flatpak sync-flathub] gh ${I.join(` `)} (in ${n})`),new Promise((a,S)=>{let C=spawn(`gh`,I,{cwd:n,stdio:`inherit`});C.on(`error`,n=>{n.code===`ENOENT`?S(Error("[gjsify flatpak sync-flathub] `gh` (GitHub CLI) not found. Install via `dnf install gh` (Fedora), `apt install gh` (Debian/Ubuntu), or `flatpak install -y flathub com.github.cli`.")):S(n)}),C.on(`exit`,n=>{n===0?a():S(Error(`gh pr create exited ${n}`))})})}function editManifest(n,a){let S=JSON.parse(n),C=S.modules??[];if(C.length===0)throw Error(`[gjsify flatpak sync-flathub] manifest has no modules`);let N=C[0].sources??[];if(N.length===0)throw Error(`[gjsify flatpak sync-flathub] modules[0] has no sources`);let F=a.sourceIndex??N.findIndex(n=>n.type===`git`);if(F<0||F>=N.length)throw Error(`[gjsify flatpak sync-flathub] no git source found in modules[0].sources (use --source-index <n>)`);let I=N[F];if(I.type!==`git`)throw Error(`[gjsify flatpak sync-flathub] modules[0].sources[${F}].type is "${I.type}", expected "git"`);I.tag=a.tag,I.commit=a.commit,I[`x-checker-data`]||={type:`git`,"tag-pattern":`^v(\\d+\\.\\d+\\.\\d+)$`,"version-scheme":`semantic`};let H=detectIndent$1(n);return JSON.stringify(S,null,H)+(n.endsWith(`
795
+ `}var rM,iM=__esmMin(()=>{Ae(),Zc(),ps(),Fg(),Wj(),rM={command:`ci`,description:`Scaffold .github/workflows/flatpak.yml using the flathub-infra container + flatpak-builder@v6 action.`,builder:n=>n.option(`manifest`,{description:`Manifest path the workflow points at (default: <app-id>.json)`,type:`string`,normalize:!0}).option(`bundle`,{description:`Bundle filename produced by the action (default: <app-id>.flatpak)`,type:`string`,normalize:!0}).option(`runtime-image`,{description:"Container image override. Default derived from gjsify.flatpak.runtime + runtimeVersion (e.g. `ghcr.io/flathub-infra/flatpak-github-actions:gnome-50`).",type:`string`}).option(`branches`,{description:`Branches the workflow runs on push for (default: main)`,type:`string`,array:!0}).option(`out`,{description:`Output path`,type:`string`,default:`.github/workflows/flatpak.yml`,normalize:!0}).option(`cache-key`,{description:"Override the action `cache-key` (default: `flatpak-builder-${{ github.sha }}`)",type:`string`}).option(`force`,{description:`Overwrite an existing workflow file`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print resolved fields`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=readPackageJson(a),N=S.appId??(looksLikeAppId(C.name)?C.name:void 0);if(!N)throw Error(`gjsify flatpak ci: no app id available. Set gjsify.flatpak.appId in package.json or rename the package to a reverse-DNS id.`);let F=n.manifest??`${N}.json`,I=n.bundle??`${N}.flatpak`,{runtime:H,runtimeVersion:W}=resolveRuntime(S,{}),K=n.runtimeImage??S.ciContainer??defaultCiContainer(H,W),q=n.branches??S.ciBranches??[`main`],Y=n.cacheKey??"flatpak-builder-${{ github.sha }}",X=$o(a,n.out??`.github/workflows/flatpak.yml`);if(existsSync(X)&&!n.force){if(readFileSync(X,`utf-8`)===renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y})){ke.log(`[gjsify flatpak ci] ${X} already up to date`);return}throw Error(`gjsify flatpak ci: ${X} exists with different content. Pass --force to overwrite.`)}let te=renderWorkflow({manifest:F,bundle:I,runtimeImage:K,branches:q,cacheKey:Y});mkdirSync(as(X),{recursive:!0}),writeFileSync(X,te,`utf-8`),n.verbose&&ke.log(`[gjsify flatpak ci] runtime-image=${K} manifest=${F} bundle=${I}`),ke.log(`[gjsify flatpak ci] wrote ${X}`)}}});function resolveAppId(n,a,S){if(a.appId)return a.appId;try{let n=readPackageJson(S);if(looksLikeAppId(n.name))return n.name}catch{}if(n)return n.replace(/\.json$/,``)}function resolveManifestPath(n,a,S){if(n)return $o(S,n);if(a)return $o(S,`${a}.json`);let C=readdirSync(S).filter(n=>n.endsWith(`.json`)&&!n.startsWith(`package`));if(C.length===1)return $o(S,C[0]);throw Error(`gjsify flatpak check: no manifest path given and could not auto-detect. Pass the manifest as a positional argument.`)}function runLinter(n,a,S){return new Promise(C=>{let N=spawn(n,a,{stdio:S?`inherit`:[`ignore`,`pipe`,`pipe`]}),F=``,I=``;S||(N.stdout?.setEncoding(`utf-8`),N.stderr?.setEncoding(`utf-8`),N.stdout?.on(`data`,n=>{F+=n}),N.stderr?.on(`data`,n=>{I+=n})),N.on(`error`,a=>{let S=a;S.code===`ENOENT`?ke.error(`[gjsify flatpak check] ${n} not found in PATH.\nInstall via:\n flatpak install -y flathub org.flatpak.Builder\n alias ${n}="flatpak run --command=${n} org.flatpak.Builder"`):ke.error(`[gjsify flatpak check] ${n} failed to spawn: ${S.message}`),C(!1)}),N.on(`exit`,N=>{let H=N===0,W=H?`OK`:`FAIL`;ke.log(`[gjsify flatpak check] ${W}: ${n} ${a.join(` `)}`),!H&&!S&&(F.trim()&&ke.log(F.trimEnd()),I.trim()&&ke.error(I.trimEnd())),C(H)})})}var aM,oM=__esmMin(()=>{Ae(),Zc(),ps(),cC(),Wj(),Fg(),aM={command:`check [manifest]`,description:`Run Flathub pre-submission linters: appstreamcli validate + flatpak-builder-lint.`,builder:n=>n.positional(`manifest`,{description:"Path to the Flatpak manifest. Auto-detects `<app-id>.json` if omitted.",type:`string`,normalize:!0}).option(`repo`,{description:"Built ostree-repo path. If given, also runs `flatpak-builder-lint repo`.",type:`string`,normalize:!0}).option(`metainfo`,{description:"MetaInfo XML path. Default: `data/<app-id>.metainfo.xml.in`.",type:`string`,normalize:!0}).option(`appstream`,{description:"Run `appstreamcli validate --strict` (default: true).",type:`boolean`,default:!0}).option(`builder-lint`,{description:"Run `flatpak-builder-lint manifest` (default: true).",type:`boolean`,default:!0}).option(`verbose`,{description:`Stream linter stdout/stderr verbatim.`,type:`boolean`,default:!1}),handler:async n=>{let a=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},S=process.cwd(),C=resolveAppId(n.manifest,a,S),N=resolveManifestPath(n.manifest,C,S),F=$o(S,n.metainfo??`data/${C??`unknown`}.metainfo.xml.in`),I=0;if(n.appstream!==!1&&(existsSync(F)?await runLinter(`appstreamcli`,[`validate`,`--strict`,F],n.verbose??!1)||I++:ke.warn(`[gjsify flatpak check] skipping appstreamcli — ${F} not found`)),n.builderLint!==!1){if(!existsSync(N)){ke.error(`[gjsify flatpak check] manifest not found: ${N}`),process.exit(1);return}await runLinter(`flatpak-builder-lint`,[`manifest`,N],n.verbose??!1)||I++,n.repo&&(await runLinter(`flatpak-builder-lint`,[`repo`,$o(S,n.repo)],n.verbose??!1)||I++)}I>0&&(ke.error(`\n[gjsify flatpak check] ${I} check(s) failed.`),process.exit(1)),ke.log(`[gjsify flatpak check] all checks passed.`)}}});async function resolveLatestTag$1(n,a){try{let{stdout:S}=await sM(`git`,[`describe`,`--tags`,`--abbrev=0`],{cwd:n});return a&&ke.log(`[gjsify flatpak sync-flathub] resolved latest tag → ${S.trim()}`),S.trim()||null}catch{return null}}async function resolveCommitForTag(n,a,S){try{let{stdout:C}=await sM(`git`,[`rev-list`,`-n`,`1`,a],{cwd:n}),N=C.trim();if(!N)throw Error(`empty rev-list output`);return S&&ke.log(`[gjsify flatpak sync-flathub] resolved ${a} → ${N}`),N}catch(n){throw Error(`[gjsify flatpak sync-flathub] tag ${a} not found locally. Run \`git fetch --tags\` or pass --commit <sha>.\n underlying error: ${n instanceof Error?n.message:String(n)}`)}}function normaliseBranchSegment(n){return n.replace(/^v/,``).replace(/[^A-Za-z0-9._-]/g,`-`)}function flathubCacheRoot(){return ns(process.env.XDG_CACHE_HOME||ns(homedir(),`.cache`),`gjsify`,`flathub-sync`)}async function ensureClone(n,a,S){if(existsSync(ns(n,`.git`))){S&&ke.log(`[gjsify flatpak sync-flathub] reusing clone at ${n}`),await gitInRepo(n,[`fetch`,`origin`],S);let a=await detectDefaultBranch(n,S);await gitInRepo(n,[`checkout`,a],S),await gitInRepo(n,[`reset`,`--hard`,`origin/${a}`],S);return}mkdirSync($o(n,`..`),{recursive:!0});let C=`https://github.com/${a}.git`;S&&ke.log(`[gjsify flatpak sync-flathub] git clone ${C} ${n}`);try{await sM(`git`,[`clone`,C,n])}catch(n){throw n?.code===`ENOENT`?Error("[gjsify flatpak sync-flathub] `git` not found. Install git from your distro (Fedora: `dnf install git`, Debian: `apt install git`)."):n}}async function detectDefaultBranch(n,a){try{let{stdout:S}=await sM(`git`,[`remote`,`show`,`origin`],{cwd:n}),C=S.match(/HEAD branch: (\S+)/);if(C&&C[1]&&C[1]!==`(unknown)`)return a&&ke.log(`[gjsify flatpak sync-flathub] default branch → ${C[1]}`),C[1]}catch{}return`master`}function gitInRepo(n,a,S){return S&&ke.log(`[gjsify flatpak sync-flathub] git ${a.join(` `)} (in ${n})`),new Promise((S,C)=>{let N=spawn(`git`,a,{cwd:n,stdio:`inherit`});N.on(`error`,n=>{n.code===`ENOENT`?C(Error("[gjsify flatpak sync-flathub] `git` not found. Install it from your distro.")):C(n)}),N.on(`exit`,n=>{n===0?S():C(Error(`git ${a[0]} exited ${n}`))})})}function ghCreate(n,a,S,C,N,F){let I=[`pr`,`create`,`--repo`,a,`--head`,S,`--title`,`Update to ${C}`,`--body`,N];return F&&ke.log(`[gjsify flatpak sync-flathub] gh ${I.join(` `)} (in ${n})`),new Promise((a,S)=>{let C=spawn(`gh`,I,{cwd:n,stdio:`inherit`});C.on(`error`,n=>{n.code===`ENOENT`?S(Error("[gjsify flatpak sync-flathub] `gh` (GitHub CLI) not found. Install via `dnf install gh` (Fedora), `apt install gh` (Debian/Ubuntu), or `flatpak install -y flathub com.github.cli`.")):S(n)}),C.on(`exit`,n=>{n===0?a():S(Error(`gh pr create exited ${n}`))})})}function editManifest(n,a){let S=JSON.parse(n),C=S.modules??[];if(C.length===0)throw Error(`[gjsify flatpak sync-flathub] manifest has no modules`);let N=C[0].sources??[];if(N.length===0)throw Error(`[gjsify flatpak sync-flathub] modules[0] has no sources`);let F=a.sourceIndex??N.findIndex(n=>n.type===`git`);if(F<0||F>=N.length)throw Error(`[gjsify flatpak sync-flathub] no git source found in modules[0].sources (use --source-index <n>)`);let I=N[F];if(I.type!==`git`)throw Error(`[gjsify flatpak sync-flathub] modules[0].sources[${F}].type is "${I.type}", expected "git"`);I.tag=a.tag,I.commit=a.commit,I[`x-checker-data`]||={type:`git`,"tag-pattern":`^v(\\d+\\.\\d+\\.\\d+)$`,"version-scheme":`semantic`};let H=detectIndent$1(n);return JSON.stringify(S,null,H)+(n.endsWith(`
791
796
  `)?`
792
- `:``)}function detectIndent$1(n){let a=n.match(/^\{\n( +)/);return a?a[1].length:2}var tM,nM,rM=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),sC(),tc(),Fg(),Rj(),tM=promisify(execFile),nM={command:`sync-flathub`,description:`Update the per-app Flathub tracking-repo manifest to a new git tag + commit. Clones, edits, commits, optionally opens a PR.`,builder:n=>n.version(!1).option(`version`,{description:"Git tag to sync to. Default: `git describe --tags --abbrev=0` in cwd.",type:`string`}).option(`app-id`,{description:"Reverse-DNS app id. Default: `gjsify.flatpak.appId`.",type:`string`}).option(`flathub-repo`,{description:"Flathub tracking-repo (owner/name). Default: `flathub/<appId>`.",type:`string`}).option(`commit`,{description:"Commit SHA to pin. Default: resolved via `git rev-list -n 1 <version>` in cwd.",type:`string`}).option(`branch`,{description:"Branch name in the flathub-repo. Default: `update-to-<version>`.",type:`string`}).option(`source-index`,{description:"Index into modules[0].sources[] to update (when manifest has multiple sources). Default: first `type: git` source.",type:`number`}).option(`pr`,{description:"After commit + push, open a PR via `gh pr create`. Pass `--no-pr` to skip and stop after push.",type:`boolean`,default:!0}).option(`dry-run`,{description:`Show what would be edited; touch no files, run no git commands.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every git / gh invocation before running.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=n.appId??S.appId??readPackageJson(a).name;if(!C)throw Error(`[gjsify flatpak sync-flathub] no app id available — pass --app-id or set gjsify.flatpak.appId.`);let N=n.flathubRepo??S.flathubRepo??`flathub/${C}`,F=n.version??await resolveLatestTag$1(a,n.verbose);if(!F)throw Error(`[gjsify flatpak sync-flathub] no version resolved — pass --version vX.Y.Z or create a git tag locally.`);let I=n.commit??await resolveCommitForTag(a,F,n.verbose),H=n.branch??`update-to-${normaliseBranchSegment(F)}`;if(ke.log(`[gjsify flatpak sync-flathub] appId=${C}`),ke.log(`[gjsify flatpak sync-flathub] flathubRepo=${N}`),ke.log(`[gjsify flatpak sync-flathub] version=${F}`),ke.log(`[gjsify flatpak sync-flathub] commit=${I}`),ke.log(`[gjsify flatpak sync-flathub] branch=${H}`),n.dryRun){ke.log(`[gjsify flatpak sync-flathub] --dry-run set; not cloning / writing / pushing.`);return}let W=flathubCacheRoot(),K=ns(W,N.replace(`/`,`__`));mkdirSync(W,{recursive:!0}),await ensureClone(K,N,n.verbose);let q=ns(K,`${C}.json`);if(!existsSync(q))throw Error(`[gjsify flatpak sync-flathub] Flathub manifest not found at ${q} — wrong appId / wrong flathub-repo?`);let Y=readFileSync(q,`utf-8`),X=editManifest(Y,{tag:F,commit:I,sourceIndex:n.sourceIndex});if(X===Y){ke.log(`[gjsify flatpak sync-flathub] manifest already at ${F} — nothing to do.`);return}if(writeFileSync(q,X,`utf-8`),ke.log(`[gjsify flatpak sync-flathub] manifest patched at ${q}`),await gitInRepo(K,[`checkout`,`-B`,H],n.verbose),await gitInRepo(K,[`add`,`.`],n.verbose),await gitInRepo(K,[`commit`,`-m`,`Update to ${F}`],n.verbose),n.pr===!1){ke.log(`[gjsify flatpak sync-flathub] --no-pr set; branch ${H} committed locally in ${K}.`);return}await gitInRepo(K,[`push`,`-u`,`origin`,H,`--force-with-lease`],n.verbose),await ghCreate(K,N,H,F,`Auto-generated by \`gjsify flatpak sync-flathub\`.\n\n- Version: \`${F}\`\n- Commit: \`${I}\`\n`,n.verbose)}},__name$1(resolveLatestTag$1,`resolveLatestTag`),__name$1(detectIndent$1,`detectIndent`)});async function loadFlathubSource(n,a){let S;if(n.against){if(!existsSync(n.against))throw Error(`[gjsify flatpak diff] --against path ${n.against} does not exist`);S=readFileSync(n.against,`utf-8`)}else S=await fetchFlathubManifest(n.flathubRepo,n.appId,n.verbose);let C;try{C=JSON.parse(S)}catch(n){throw Error(`[gjsify flatpak diff] failed to parse Flathub manifest as JSON: ${n.message}`)}let N=(C.modules??[])[0]?.sources??[];if(N.length===0)return null;let F=a??N.findIndex(n=>n?.type===`git`);return F<0||F>=N.length?null:N[F]??null}async function fetchFlathubManifest(n,a,S){for(let C of[`master`,`main`]){let N=`https://raw.githubusercontent.com/${n}/${C}/${a}.json`;S&&ke.log(`[gjsify flatpak diff] fetch ${N}`);try{let n=await fetch(N);if(n.ok)return await n.text();S&&ke.log(`[gjsify flatpak diff] ${C} → HTTP ${n.status}`)}catch(n){S&&ke.log(`[gjsify flatpak diff] ${C} fetch error: ${n.message}`)}}throw Error(`[gjsify flatpak diff] could not fetch flathub manifest from ${n} on master or main`)}async function resolveLatestTag(n,a){try{let{stdout:S}=await iM(`git`,[`describe`,`--tags`,`--abbrev=0`],{cwd:n}),C=S.trim();return a&&ke.log(`[gjsify flatpak diff] local latest tag → ${C}`),C||null}catch{return null}}var iM,aM,oM=__esmMin(()=>{Ae(),Zc(),sC(),tc(),Fg(),Rj(),iM=promisify(execFile),aM={command:`diff`,description:`Compare the per-app Flathub tracking-repo manifest against the local git state and report version / commit drift.`,builder:n=>n.version(!1).option(`version`,{description:"Local version to compare against. Default: `git describe --tags --abbrev=0` in cwd.",type:`string`}).option(`app-id`,{description:"Reverse-DNS app id. Default: `gjsify.flatpak.appId`.",type:`string`}).option(`flathub-repo`,{description:"Flathub tracking-repo (owner/name). Default: `gjsify.flatpak.flathubRepo` or `flathub/<appId>`.",type:`string`}).option(`against`,{description:`Read the Flathub manifest from a local file instead of fetching it. Useful in CI or offline.`,type:`string`}).option(`detail`,{description:`Also print the full Flathub manifest source entry alongside the resolved local version.`,type:`boolean`,default:!1}).option(`source-index`,{description:`Index into modules[0].sources[] to inspect (when the manifest has multiple sources).`,type:`number`}).option(`verbose`,{description:`Echo fetch URL + resolved values.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=n.appId??S.appId??readPackageJson(a).name;if(!C)throw Error(`[gjsify flatpak diff] no app id available — pass --app-id or set gjsify.flatpak.appId.`);let N=n.flathubRepo??S.flathubRepo??`flathub/${C}`,F=n.version??await resolveLatestTag(a,n.verbose),I=await loadFlathubSource({appId:C,flathubRepo:N,against:n.against,verbose:n.verbose},n.sourceIndex),H=I?.tag,W=I?.commit;if(ke.log(`[gjsify flatpak diff] appId=${C}`),ke.log(`[gjsify flatpak diff] flathubRepo=${N}`),ke.log(`[gjsify flatpak diff] flathub: tag=${H??`(missing)`} commit=${W??`(missing)`}`),ke.log(`[gjsify flatpak diff] local: tag=${F??`(none)`}`),n.detail&&I&&(ke.log(`[gjsify flatpak diff] flathub manifest source:`),ke.log(JSON.stringify(I,null,2))),!F){ke.warn("[gjsify flatpak diff] no local git tag found — cut a release (`git tag vX.Y.Z`) or pass --version vX.Y.Z to compare against an explicit value.");return}if(H||(ke.warn("[gjsify flatpak diff] flathub manifest has no `tag` field on the inspected source."),process.exit(1)),H===F){ke.log(`✅ in sync (${F})`);return}ke.log(`❌ drift detected — flathub=${H} vs local=${F}`),ke.log(` run \`gjsify flatpak sync-flathub --version ${F}\` to update the Flathub manifest.`),process.exit(1)}}});function resolveCliEntry(){return $o($o(as(fileURLToPath(import.meta.url)),`..`,`..`),`index.js`)}async function runNode(n,a){await new Promise((S,C)=>{let N=spawn(`node`,n,{cwd:a,stdio:`inherit`});N.on(`error`,C),N.on(`exit`,a=>{a===0?S():C(Error(`sub-command exited with code ${a}: node ${n.join(` `)}`))})})}var sM,cM,lM=__esmMin(()=>{Ae(),sC(),tc(),mn(),ps(),sM=promisify(execFile),cM={command:`release <version>`,description:"Cut a release end-to-end: regenerate Flathub assets, run linters, create + push the git tag, then open the Flathub PR. Each step delegates to the equivalent `gjsify flatpak <sub>` command.",builder:n=>n.version(!1).positional(`version`,{description:"Release tag, e.g. `v0.6.6`.",type:`string`,demandOption:!0}).option(`skip-init`,{description:"Skip the `flatpak init --force` regen step.",type:`boolean`,default:!1}).option(`skip-check`,{description:"Skip the `flatpak check` linter step.",type:`boolean`,default:!1}).option(`skip-tag`,{description:"Skip the `git tag` + `git push --tags` step (use when the tag was already created out-of-band).",type:`boolean`,default:!1}).option(`push-tag`,{description:`Push the created tag after creating it. Default: true.`,type:`boolean`,default:!0}).option(`flathub-repo`,{description:`Flathub tracking-repo override forwarded to sync-flathub.`,type:`string`}).option(`dry-run`,{description:`Print each step that would run without executing any of them.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every sub-command invocation.`,type:`boolean`,default:!1}),handler:async n=>{let a=typeof n.version==`string`?n.version.trim():``;if(!a)throw Error(`[gjsify flatpak release] missing <version> positional`);let S=resolveCliEntry(),C=process.cwd(),N=[];n.skipInit||N.push({name:`init`,args:[S,`flatpak`,`init`,`--force`]}),n.skipCheck||N.push({name:`check`,args:[S,`flatpak`,`check`]});let F=[S,`flatpak`,`sync-flathub`,`--version`,a];if(n.flathubRepo&&F.push(`--flathub-repo`,n.flathubRepo),n.verbose&&F.push(`--verbose`),ke.log(`[gjsify flatpak release] starting release of ${a}`),n.dryRun){ke.log(`[gjsify flatpak release] --dry-run set; printing plan only:`);for(let n of N)ke.log(` · ${n.name}: node ${n.args.join(` `)}`);n.skipTag||ke.log(` · tag: git tag ${a}${n.pushTag===!1?``:` && git push origin `+a}`),ke.log(` · sync: node ${F.join(` `)}`);return}for(let a of N)n.verbose&&ke.log(`[gjsify flatpak release] step ${a.name}: node ${a.args.join(` `)}`),await runNode(a.args,C),ke.log(`[gjsify flatpak release] ${a.name} ✔`);if(!n.skipTag){n.verbose&&ke.log(`[gjsify flatpak release] git tag ${a}`);try{await sM(`git`,[`tag`,a],{cwd:C}),ke.log(`[gjsify flatpak release] tag ${a} created`)}catch(n){throw Error(`[gjsify flatpak release] git tag failed (${n.message}). If the tag already exists, re-run with --skip-tag.`)}n.pushTag!==!1&&(n.verbose&&ke.log(`[gjsify flatpak release] git push origin ${a}`),await sM(`git`,[`push`,`origin`,a],{cwd:C}),ke.log(`[gjsify flatpak release] tag pushed`))}n.verbose&&ke.log(`[gjsify flatpak release] sync: node ${F.join(` `)}`),await runNode(F,C),ke.log(`[gjsify flatpak release] ✅ release ${a} complete`)}}}),uM,dM=__esmMin(()=>{Uj(),Gj(),qj(),Xj(),Qj(),eM(),rM(),oM(),lM(),uM={command:`flatpak <subcommand>`,description:`Flatpak toolchain: init/build/deps/sources/ci/check/sync-flathub/diff/release subcommands for shipping GJS apps and CLIs as Flatpaks.`,builder:n=>n.command(Hj.command,Hj.description,Hj.builder,Hj.handler).command(Wj.command,Wj.description,Wj.builder,Wj.handler).command(Kj.command,Kj.description,Kj.builder,Kj.handler).command(Yj.command,Yj.description,Yj.builder,Yj.handler).command(Zj.command,Zj.description,Zj.builder,Zj.handler).command($j.command,$j.description,$j.builder,$j.handler).command(nM.command,nM.description,nM.builder,nM.handler).command(aM.command,aM.description,aM.builder,aM.handler).command(cM.command,cM.description,cM.builder,cM.handler).demandCommand(1).strict()}});function parseSpec$1(n){if(!n)throw Error(`dlx: empty package spec`);if(n.startsWith(`./`)||n.startsWith(`../`)||ts(n)||existsSync(n))return{kind:`local`,path:$o(n)};let a=n,S,C=n.lastIndexOf(`@`);if(C>0&&(a=n.slice(0,C),S=n.slice(C+1)),!fM.test(a))throw Error(`dlx: invalid package name "${a}"`);return{kind:`registry`,name:a,version:S,spec:n}}var fM,pM=__esmMin(()=>{Zc(),ps(),fM=/^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,__name$1(parseSpec$1,`parseSpec`)});function resolveGjsEntry(n,a){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`dlx: no package.json found at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=C.gjsify?.bin,F=C.gjsify?.main,I=C.main,H,W=null,K=!1;if(a!==null){if(!N||!N[a]){let S=N?Object.keys(N).join(`, `):`(none)`;throw Error(`dlx: package "${C.name??n}" has no GJS bin named "${a}" — known: ${S}`)}H=N[a],W=a}else if(N&&Object.keys(N).length===1){let n=Object.keys(N)[0];H=N[n],W=n}else F?H=F:I&&(H=I,K=!0);if(N&&Object.keys(N).length>1&&a===null){let a=Object.keys(N).join(`, `);throw Error(`dlx: package "${C.name??n}" defines multiple GJS bins — pass one of: ${a}`)}if(!H)throw Error(`dlx: package "${C.name??n}" has no GJS entry — set \`gjsify.main\` (or \`gjsify.bin\`) in its package.json`);let q=$o(n,H);if(!existsSync(q))throw Error(`dlx: GJS entry not found: ${q}`);return{bundlePath:q,binName:W,fromFallback:K}}var mM=__esmMin(()=>{Zc(),ps()});function lexCompare(n,a){return n<a?-1:+(n>a)}function createCacheKey(n){let a=[...n.packages].sort(lexCompare),S=Object.entries(n.registries??{}).sort(([n],[a])=>lexCompare(n,a)),C=JSON.stringify([a,S]);return createHash(`sha256`).update(C).digest(`hex`)}function dlxCacheRoot(){let n=process.env.XDG_CACHE_HOME,a=ns(n&&n.length>0?n:ns(homedir(),`.cache`),`gjsify`,`dlx`);return mkdirSync(a,{recursive:!0}),a}function cacheDirFor(n){let a=ns(dlxCacheRoot(),n);return mkdirSync(a,{recursive:!0}),a}function makePrepareDir(n){let a=ns(n,`${Date.now().toString(16)}-${process.pid.toString(16)}`);return mkdirSync(a,{recursive:!0}),a}function getValidCachedPkg(n,a=gM){let S=ns(n,`pkg`),C;try{C=lstatSync(S)}catch(n){if(n.code===`ENOENT`)return;throw n}if(!C.isSymbolicLink())return;let N;try{N=realpathSync(S)}catch{return}return Date.now()-C.mtime.getTime()<=a*hM?N:void 0}function symlinkSwap(n,a){let S=ns(n,`pkg`),C=ns(n,`pkg.tmp-${Date.now().toString(16)}-${process.pid.toString(16)}`);symlinkSync(a,C,`dir`);try{renameSync(C,S)}catch(n){let a=n.code;if(a===`EBUSY`||a===`EPERM`||a===`EEXIST`){try{rmSync(C)}catch{}return realpathSync(S)}throw n}return realpathSync(S)}function resolveInstalledPkgDir(n,a){return $o(n,`node_modules`,a)}var hM,gM,_M=__esmMin(()=>{ao(),Zc(),Wp(),ps(),hM=6e4,gM=1440*7});function makeProgressReporter(n={}){if(n.enabled===!1)return yM;let a=n.stream??process.stderr,S=!!a.isTTY;return n.enabled??!0?S?makeTtyReporter(a):makePlainReporter(a):yM}function makeTtyReporter(n){let a=0,S=``;function render(C,N=!1){let F=Date.now();!N&&F-a<33&&C===S||(a=F,S=C,n.write(`\r\x1B[2K`+C))}function clearLine(){n.write(`\r\x1B[2K`),S=``}return{beginPhase(a,S){render(formatBar(a,0,S,void 0,n.columns??80),!0)},update(a){render(formatBar(a.phase,a.current,a.total,a.name,n.columns??80))},endPhase(a){let S=vM[a];clearLine(),n.write(`gjsify install: ${S} done\n`)}}}function makePlainReporter(n){let a=0,S=0;return{beginPhase(C,N){a=Date.now(),S=0,n.write(`gjsify install: ${vM[C]} ${N} package(s)\n`)},update(C){let N=Date.now();if(N-a<bM||C.current<=S)return;a=N,S=C.current;let F=C.total>0?Math.round(C.current/C.total*100):0;n.write(`gjsify install: ${vM[C.phase]} ${C.current}/${C.total} (${F}%)\n`)},endPhase(a){n.write(`gjsify install: ${vM[a]} done\n`)}}}function formatBar(n,a,S,C,N){let F=vM[n],I=S>0?Math.min(1,a/S):0,H=`${a}/${S}`,W=`gjsify install: ${F} `,K=` ${H}`+(C?` ${C}`:``),q=Math.max(8,Math.min(40,N-W.length-K.length-4)),Y=Math.round(I*q),X=`█`.repeat(Y)+`░`.repeat(q-Y),te=`${W}[${X}]${K}`;if(te.length>N){let n=te.length-N+1,a=C&&C.length>n?C.slice(0,C.length-n-1)+`…`:``;te=`${W}[${X}] ${H}${a?` `+a:``}`}return te}var vM,yM,bM,xM=__esmMin(()=>{vM={resolve:`resolving`,download:`downloading`,extract:`extracting`,link:`linking bins`},yM={update(){},beginPhase(){},endPhase(){}},bM=5e3});function parse(n){try{return new SemVer(n)}catch{return null}}function compare(n,a){let S=n instanceof SemVer?n:new SemVer(n),C=a instanceof SemVer?a:new SemVer(a);return S.compare(C)}function satisfies(n,a){let S=a instanceof wM?a:new wM(a),C=n instanceof SemVer?n:parse(String(n));return C?S.test(C):!1}function maxSatisfying(n,a){let S=a instanceof wM?a:new wM(a),C=null;for(let a of n){let n=parse(a);!n||!S.test(n)||(C===null||n.compare(C)>0)&&(C=n)}return C?C.version:null}function testComparator(n,a){if(n.semver===null)return!0;let S=a.compare(n.semver);switch(n.operator){case``:case`=`:return S===0;case`<`:return S<0;case`<=`:return S<=0;case`>`:return S>0;case`>=`:return S>=0}}function formatComparator(n){return n.semver===null?`*`:`${n.operator}${n.semver.version}`}function parseRangePart(n){let a=n.trim();if(a===``||a===`*`||a.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=a.match(/^\s*(\S+)\s+-\s+(\S+)\s*$/);if(S)return hyphenRange(S[1],S[2]);let C=a.replace(/(<=|>=|<|>|=)\s+(?=\S)/g,`$1`).split(/\s+/),N=[];for(let n of C)N.push(...parseSimple(n));return N}function parseSimple(n){if(n===`*`||n===``||n.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];if(n.startsWith(`^`))return caretRange(n.slice(1));if(n.startsWith(`~`))return tildeRange(n.slice(1).replace(/^>/,``));let a=n.match(/^(<=|>=|<|>|=)\s*(.+)$/);if(a){let n=a[1];return primitiveRange(n,a[2])}return partialRange(n)}function parsePartial(n){let a=n.trim().replace(/^v/,``);if(a===``||a===`*`)return{major:null,minor:null,patch:null,pre:``,build:``};let S=``,C=``,N=a,F=N.indexOf(`+`);F>=0&&(C=N.slice(F+1),N=N.slice(0,F));let I=N.indexOf(`-`);I>=0&&(S=N.slice(I+1),N=N.slice(0,I));let H=N.split(`.`),xr=a=>{if(a===void 0||a===``||a===`x`||a===`X`||a===`*`)return null;if(!/^\d+$/.test(a))throw TypeError(`Invalid partial version: ${n}`);return Number(a)};return{major:xr(H[0]),minor:xr(H[1]),patch:xr(H[2]),pre:S,build:C}}function partialToVersion(n){return`${n.major??0}.${n.minor??0}.${n.patch??0}${n.pre?`-${n.pre}`:``}${n.build?`+${n.build}`:``}`}function partialRange(n){let a=parsePartial(n);return a.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:a.minor===null?[{operator:`>=`,semver:new SemVer(`${a.major}.0.0`)},{operator:`<`,semver:new SemVer(`${a.major+1}.0.0`)}]:a.patch===null?[{operator:`>=`,semver:new SemVer(`${a.major}.${a.minor}.0`)},{operator:`<`,semver:new SemVer(`${a.major}.${a.minor+1}.0`)}]:[{operator:`=`,semver:new SemVer(partialToVersion(a))}]}function caretRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C;return C=a.major>0||a.minor===null?`${a.major+1}.0.0`:a.minor>0||a.patch===null?`0.${a.minor+1}.0`:`0.0.${a.patch+1}`,[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function tildeRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C=a.minor===null?`${a.major+1}.0.0`:`${a.major}.${a.minor+1}.0`;return[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function primitiveRange(n,a){let S=parsePartial(a);return S.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:n===`=`||n===``?partialRange(a):n===`>`?S.minor===null?[{operator:`>=`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`>`,semver:new SemVer(partialToVersion(S))}]:n===`<`?S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor}.0`)}]:[{operator:`<`,semver:new SemVer(partialToVersion(S))}]:n===`>=`?[{operator:`>=`,semver:new SemVer(partialToVersion(S))}]:S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`<=`,semver:new SemVer(partialToVersion(S))}]}function hyphenRange(n,a){let S=parsePartial(n),C=parsePartial(a),N=S.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor??0}.${S.patch??0}${S.pre?`-${S.pre}`:``}`)},F;return F=C.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:C.minor===null?{operator:`<`,semver:new SemVer(`${C.major+1}.0.0`)}:C.patch===null?{operator:`<`,semver:new SemVer(`${C.major}.${C.minor+1}.0`)}:{operator:`<=`,semver:new SemVer(`${C.major}.${C.minor}.${C.patch}${C.pre?`-${C.pre}`:``}`)},[N,F]}var SM,CM,SemVer,wM,TM=__esmMin(()=>{SM=/^(0|[1-9]\d*)$/,CM=/^(\d+)\.(\d+)\.(\d+)(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,SemVer=class{major;minor;patch;prerelease;build;version;constructor(n){let a=String(n).trim().replace(/^v/,``),S=CM.exec(a);if(!S)throw TypeError(`Invalid Version: ${n}`);this.major=Number(S[1]),this.minor=Number(S[2]),this.patch=Number(S[3]),this.prerelease=S[4]?S[4].split(`.`).map(n=>SM.test(n)?Number(n):n):[],this.build=S[5]?S[5].split(`.`):[],this.version=`${this.major}.${this.minor}.${this.patch}`+(this.prerelease.length?`-${this.prerelease.join(`.`)}`:``)+(this.build.length?`+${this.build.join(`.`)}`:``)}compare(n){return this.major===n.major?this.minor===n.minor?this.patch===n.patch?this.comparePre(n):this.patch<n.patch?-1:1:this.minor<n.minor?-1:1:this.major<n.major?-1:1}comparePre(n){let a=this.prerelease,S=n.prerelease;if(a.length===0&&S.length===0)return 0;if(a.length===0)return 1;if(S.length===0)return-1;for(let n=0;;n++){let C=a[n],N=S[n];if(C===void 0&&N===void 0)return 0;if(N===void 0)return 1;if(C===void 0)return-1;if(C===N)continue;let F=typeof C==`number`,I=typeof N==`number`;return F&&!I?-1:!F&&I?1:C<N?-1:1}}toString(){return this.version}},wM=class Range{raw;set;constructor(n){if(n instanceof Range){this.raw=n.raw,this.set=n.set;return}this.raw=String(n).trim();let a=this.raw.split(/\s*\|\|\s*/),S=[];for(let n of a){let a=parseRangePart(n);if(a.length===0)throw TypeError(`Invalid range: ${this.raw}`);S.push(a)}if(S.length===0)throw TypeError(`Invalid range: ${this.raw}`);this.set=S}test(n){let a=n instanceof SemVer?n:parse(String(n));if(!a)return!1;for(let n of this.set)if(n.every(n=>testComparator(n,a))){if(a.prerelease.length>0&&!n.some(n=>n.semver!==null&&n.semver.prerelease.length>0&&n.semver.major===a.major&&n.semver.minor===a.minor&&n.semver.patch===a.patch))continue;return!0}return!1}format(){return this.set.map(n=>n.map(formatComparator).join(` `)).join(` || `)}toString(){return this.format()}}});function assertPackument(n,a){if(!a||typeof a!=`object`)throw TypeError(`registry: ${n} packument is not an object`);let S=a;if(typeof S.name!=`string`)throw TypeError(`registry: ${n} packument missing string name`);if(!S.versions||typeof S.versions!=`object`)throw TypeError(`registry: ${n} packument missing versions map`)}function registryFor(n,a){if(a&&n.startsWith(`@`)){let S=n.slice(0,n.indexOf(`/`)),C=a.scopes[S];if(C)return ensureTrailingSlash$1(C)}return a?.registry?ensureTrailingSlash$1(a.registry):EM}function packumentUrl(n,a){let S=ensureTrailingSlash$1(a);if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw TypeError(`Invalid scoped package name: ${n}`);let C=n.slice(0,a),N=n.slice(a+1);return`${S}${encodeURIComponent(C)}/${encodeURIComponent(N)}`}return`${S}${encodeURIComponent(n)}`}async function fetchPackumentConditional(n,a={}){let S=packumentUrl(n,a.registry??registryFor(n,a.npmrc)),C=buildHeaders(S,{...a,acceptEncoding:`gzip`});C.accept??=`application/vnd.npm.install-v1+json`,a.ifNoneMatch&&(C[`if-none-match`]=a.ifNoneMatch);let N=await fetchWithRetry(S,{headers:C,signal:a.signal},{fetch:a.fetch,retries:a.retries,retryDelayMs:a.retryDelayMs,timeoutMs:a.timeoutMs,onRetry:a.onRetry});if(N.status===304){try{await N.arrayBuffer()}catch{}return{status:`not-modified`,etag:a.ifNoneMatch}}if(!N.ok)throw N.status===404||N.status===406?new PackageNotFoundError(n,S):Error(`registry GET ${S} -> ${N.status} ${N.statusText}`);let F=N.headers.get(`etag`)??void 0,I=await decodeJsonBody(N);return assertPackument(n,I),{status:`fresh`,packument:I,etag:F}}async function decodeJsonBody(n){return n.json()}async function fetchPackument(n,a={}){let S=await fetchPackumentConditional(n,a);if(!S.packument)throw Error(`registry: ${n} returned 304 Not Modified to an unconditional request`);return S.packument}async function fetchTarball(n,a={}){let S=buildHeaders(n,{...a,acceptEncoding:`identity`});S.accept??=`application/octet-stream`;let C=await fetchWithRetry(n,{headers:S,signal:a.signal},{fetch:a.fetch,retries:a.retries,retryDelayMs:a.retryDelayMs,timeoutMs:a.timeoutMs,onRetry:a.onRetry,retryNotFound:a.retryNotFound??!0});if(!C.ok)throw Error(`tarball GET ${n} -> ${C.status} ${C.statusText}`);let N=new Uint8Array(await C.arrayBuffer());if(a.integrity&&!await verifyIntegrity(N,a.integrity))throw new IntegrityError(n,a.integrity);return N}async function fetchWithRetry(n,a,S){let C=S.fetch??globalThis.fetch;if(!C)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let N=Math.max(0,S.retries??3),F=Math.max(0,S.retryDelayMs??250),I=Math.max(0,S.timeoutMs??3e4),H=S.retryNotFound??!1,W=0,K,q=0;for(;;){if(a.signal?.aborted)throw signalAbortError(a.signal);let Y=I>0?new AbortController:null,X=Y===null?null:setTimeout(()=>Y.abort(Error(`@gjsify/npm-registry: per-request timeout ${I}ms`)),I),te=composeSignals(a.signal,Y?.signal);try{let S=await C(n,{...a,signal:te}),F=isRetryableStatus(S.status)||H&&S.status===404;if(S.ok||!F||W>=N)return S;try{await S.arrayBuffer()}catch{}K=Error(`HTTP ${S.status} ${S.statusText}`)}catch(S){let C=Y!==null&&Y.signal.aborted,F=a.signal?.aborted===!0;if(C&&!F){if(q++,W>=N)throw new RegistryTimeoutError(n,I,q);K=S}else if(F)throw signalAbortError(a.signal);else{if(!isRetryableError(S)||W>=N)throw S;K=S}}finally{X!==null&&clearTimeout(X)}let ne=Math.min(F*2**W,8e3);S.onRetry?.({attempt:W+1,error:K,delayMs:ne}),await delay(ne,a.signal),W++}}function composeSignals(n,a){return n?a?AbortSignal.any([n,a]):n:a}function isRetryableStatus(n){return n===408||n===425||n===429||n===500||n===502||n===503||n===504||n===521||n===522||n===524||n===525}function isRetryableError(n){if(n&&typeof n==`object`&&`name`in n&&n.name===`AbortError`)return!1;if(n instanceof TypeError)return!0;if(n&&typeof n==`object`&&`name`in n){let a=n.name;if(a===`FetchError`)return!0;if(a===`AbortError`)return!1}let a=n?.cause;if(a&&typeof a==`object`&&`code`in a){let n=a.code;if(typeof n==`string`)return n===`ECONNRESET`||n===`ECONNREFUSED`||n===`ENETUNREACH`||n===`ENOTFOUND`||n===`ETIMEDOUT`||n===`EAI_AGAIN`||n===`UND_ERR_SOCKET`||n===`UND_ERR_CONNECT_TIMEOUT`}return!1}function delay(n,a){return n<=0?Promise.resolve():new Promise((S,C)=>{let N=setTimeout(()=>{a?.removeEventListener?.(`abort`,onAbort),S()},n),onAbort=()=>{clearTimeout(N),C(signalAbortError(a))};if(a?.aborted){clearTimeout(N),C(signalAbortError(a));return}a?.addEventListener?.(`abort`,onAbort,{once:!0})})}function signalAbortError(n){let a=n&&`reason`in n?n.reason:void 0;if(a instanceof Error)return a;let S=Error(`Aborted`);return S.name=`AbortError`,S}async function verifyIntegrity(n,a){let S=a.trim().split(/\s+/);for(let a of S){let S=a.indexOf(`-`);if(S<0)continue;let C=a.slice(0,S).toLowerCase(),N=a.slice(S+1),F=globalThis.crypto?.subtle;if(!F)throw Error(`@gjsify/npm-registry: globalThis.crypto.subtle is missing`);let I=subriToWebCryptoAlgo(C);if(!I)continue;let H=await F.digest(I,dataAsArrayBuffer(n));if(bytesToBase64(new Uint8Array(H))===N)return!0}return!1}function subriToWebCryptoAlgo(n){switch(n){case`sha1`:return`SHA-1`;case`sha256`:return`SHA-256`;case`sha384`:return`SHA-384`;case`sha512`:return`SHA-512`;default:return null}}function dataAsArrayBuffer(n){if(n.byteOffset===0&&n.byteLength===n.buffer.byteLength)return n.buffer;let a=new Uint8Array(n.byteLength);return a.set(n),a.buffer}function bytesToBase64(n){let a=``;for(let S=0;S<n.length;S++)a+=String.fromCharCode(n[S]);return btoa(a)}function parseNpmrc(n){let a={registry:EM,scopes:{},authTokens:{},basicAuth:{}},S=n.split(/\r?\n/),C={};for(let n of S){let S=n.replace(/^\s+|\s+$/g,``);if(!S||S.startsWith(`#`)||S.startsWith(`;`))continue;let N=S.indexOf(`=`);if(N<0)continue;let F=S.slice(0,N).trim(),I=expandEnv(stripQuotes(S.slice(N+1).trim()));if(F===`registry`){a.registry=ensureTrailingSlash$1(I);continue}let H=F.match(/^(@[^:]+):registry$/);if(H){a.scopes[H[1]]=ensureTrailingSlash$1(I);continue}let W=F.match(/^\/\/(.+):_authToken$/);if(W){a.authTokens[normalizeAuthHost(W[1])]=I;continue}let K=F.match(/^\/\/(.+):username$/);if(K){(C[normalizeAuthHost(K[1])]??={}).user=I;continue}let q=F.match(/^\/\/(.+):_password$/);if(q){let n=base64Decode(I);(C[normalizeAuthHost(q[1])]??={}).pass=n;continue}}for(let[n,S]of Object.entries(C))S.user&&S.pass!==void 0&&(a.basicAuth[n]={username:S.user,password:S.pass});return a}function buildHeaders(n,a){let S={"user-agent":`gjsify-install/0.3.7`,"accept-encoding":a.acceptEncoding??`identity`};if(a.npmrc){let C=resolveAuthForUrl(n,a.npmrc);C&&(S.authorization=C)}if(a.headers)for(let[n,C]of Object.entries(a.headers))S[n.toLowerCase()]=C;return S}function resolveAuthForUrl(n,a){let S=pathPrefixes(new URL(n));for(let n of S){let S=a.authTokens[n];if(S)return`Bearer ${S}`;let C=a.basicAuth[n];if(C)return`Basic ${btoa(`${C.username}:${C.password}`)}`}return null}function pathPrefixes(n){let a=n.pathname.split(`/`).filter(Boolean),S=[];for(let C=a.length;C>=0;C--){let N=a.slice(0,C).join(`/`);S.push(N?`//${n.host}/${N}`:`//${n.host}`)}return S}function normalizeAuthHost(n){return`//${n.replace(/\/+$/,``)}`}function ensureTrailingSlash$1(n){return n.endsWith(`/`)?n:n+`/`}function stripQuotes(n){return n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`)?n.slice(1,-1):n}function expandEnv(n){return n.replace(/\$\{([A-Z0-9_]+)\}/gi,(n,a)=>globalThis.process?.env?.[a]??``)}function base64Decode(n){return atob(n)}async function whoami(n,a){let S=`${ensureTrailingSlash$1(n)}-/whoami`,C=buildHeaders(S,{npmrc:a});C.accept=`application/json`;let N=globalThis.fetch;if(!N)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let F=await N(S,{method:`GET`,headers:C});if(!F.ok)throw Error(`whoami GET ${S} -> ${F.status} ${F.statusText}`);let I=await F.json();if(I&&typeof I==`object`&&`username`in I){let n=I.username;if(typeof n==`string`&&n.length>0)return{username:n}}return{}}var EM,PackageNotFoundError,IntegrityError,RegistryTimeoutError,DM=__esmMin(()=>{EM=`https://registry.npmjs.org/`,__name$1(ensureTrailingSlash$1,`ensureTrailingSlash`),PackageNotFoundError=class extends Error{constructor(n,a){super(`Package not found in registry: ${n} (${a})`),this.name=n,this.url=a,this.name=`PackageNotFoundError`}},IntegrityError=class extends Error{constructor(n,a){super(`Tarball integrity mismatch for ${n} (expected ${a})`),this.url=n,this.integrity=a,this.name=`IntegrityError`}},RegistryTimeoutError=class extends Error{constructor(n,a,S){let C=Math.round(a/100)/10,N=Math.round(a*S/100)/10;super(`@gjsify/npm-registry: GET ${n} timed out after ${C}s × ${S} attempt(s) (total ~${N}s). This usually means the registry CDN is slow or unreachable.`),this.url=n,this.timeoutMs=a,this.attempts=S,this.name=`RegistryTimeoutError`}}});function parseTar(n){let a=[],S=null,C=null,N=null,F=0;for(;F+512<=n.length;){let I=n.subarray(F,F+512);if(allZeros(I)){let a=n.subarray(F+512,F+2*512);if(a.length===512&&allZeros(a))break;F+=512;continue}if(!validateChecksum(I))throw new TarParseError(`Bad header checksum at offset ${F} — file is not a valid tar archive`);let H=readString(I,0,100),W=parseOctal(I,100,8),K=parseOctal(I,124,12),q=parseOctal(I,136,12),Y=String.fromCharCode(I[156]||0),X=readString(I,157,100),te=readString(I,257,6),ne=readString(I,345,155),re=readString(I,265,32),ie=readString(I,297,32);F+=512;let ae=n.subarray(F,F+K);if(F+=alignToBlock(K),Y===`x`){S=parsePaxRecords(ae);continue}if(Y===`g`)continue;if(Y===`L`){C=bytesToString(ae).replace(/\0+$/,``);continue}if(Y===`K`){N=bytesToString(ae).replace(/\0+$/,``);continue}let oe=H;te===`ustar`&&ne!==``&&(oe=`${ne}/${H}`),C!==null&&(oe=C,C=null);let Z=X;if(N!==null&&(Z=N,N=null),S!==null){let C=S.get(`path`);C!==void 0&&(oe=C);let N=S.get(`linkpath`);N!==void 0&&(Z=N);let I=S.get(`size`);if(I!==void 0){let C=Number(I);if(Number.isFinite(C)){let N=F-alignToBlock(K),I=n.subarray(N,N+C);F=N+alignToBlock(C),S=null,a.push(buildEntry(oe,Z,Y,W,q,re,ie,I));continue}}S=null}a.push(buildEntry(oe,Z,Y,W,q,re,ie,ae))}return a}function buildEntry(n,a,S,C,N,F,I,H){return{name:n,linkname:a,type:typeflagToType(S,n),mode:C,mtime:N,body:H,uname:F,gname:I}}function typeflagToType(n,a){switch(n){case`0`:case`\0`:case``:return a.endsWith(`/`)?`directory`:`file`;case`1`:return`hardlink`;case`2`:return`symlink`;case`5`:return`directory`;case`x`:return`pax-header`;case`g`:return`pax-global`;case`L`:return`gnu-longname`;case`K`:return`gnu-longlink`;default:return`unknown`}}function parsePaxRecords(n){let a=new Map,S=0;for(;S<n.length;){let C=S;for(;C<n.length&&n[C]!==32;)C++;if(C>=n.length)break;let N=bytesToString(n.subarray(S,C)),F=Number(N);if(!Number.isFinite(F)||F<=0)break;let I=S+F;if(I>n.length)break;let H=bytesToString(n.subarray(C+1,I-1)),W=H.indexOf(`=`);if(W>0){let n=H.slice(0,W),S=H.slice(W+1);a.set(n,S)}S=I}return a}function readString(n,a,S){let C=a,N=a+S;for(;C<N&&n[C]!==0;)C++;return bytesToString(n.subarray(a,C))}function bytesToString(n){return new TextDecoder(`utf-8`,{fatal:!1}).decode(n)}function parseOctal(n,a,S){if(S>0&&n[a]&128){let C=n[a]&127;for(let N=1;N<S;N++)C=C*256+n[a+N];return C}let C=``;for(let N=0;N<S;N++){let S=n[a+N];S===0||S===32||(C+=String.fromCharCode(S))}return C===``?0:parseInt(C,8)}function alignToBlock(n){return Math.ceil(n/512)*512}function allZeros(n){for(let a=0;a<n.length;a++)if(n[a]!==0)return!1;return!0}function validateChecksum(n){let a=parseOctal(n,148,8),S=0,C=0;for(let a=0;a<512;a++){let N=a>=148&&a<156?32:n[a];S+=N,C+=N>127?N-256:N}return a===S||a===C}var TarParseError,OM=__esmMin(()=>{TarParseError=class extends Error{constructor(n){super(n),this.name=`TarParseError`}}});function createTarball(n){let a=[];for(let S of n){if(`directory`in S&&S.directory===!0){a.push(buildHeader(ensureTrailingSlash(S.name),0,`5`,S.mode??493,S.mtime??0));continue}let n=S,C=typeof n.body==`string`?new TextEncoder().encode(n.body):n.body,N=n.mode??defaultFileMode(C);a.push(buildHeader(n.name,C.byteLength,`0`,N,n.mtime??0)),a.push(C);let F=padTo512(C.byteLength);F>0&&a.push(new Uint8Array(F))}return a.push(new Uint8Array(512*2)),concatChunks(a)}function buildHeader(n,a,S,C,N){let{prefix:F,basename:I}=splitPathForUstar(n),H=new Uint8Array(512);writeAscii(H,I,0,100),writeOctal(H,C&4095,100,7),H[107]=0,writeOctal(H,0,108,7),H[115]=0,writeOctal(H,0,116,7),H[123]=0,writeOctal(H,a,124,11),H[135]=0,writeOctal(H,N,136,11),H[147]=0;for(let n=148;n<156;n++)H[n]=32;H[156]=S.charCodeAt(0),writeAscii(H,`ustar\0`,257,6),writeAscii(H,`00`,263,2),F&&writeAscii(H,F,345,155);let W=0;for(let n=0;n<512;n++)W+=H[n];return writeAscii(H,W.toString(8).padStart(6,`0`),148,6),H[154]=0,H[155]=32,H}function splitPathForUstar(n){if(n.length<=100)return{prefix:``,basename:n};if(n.length>255)throw Error(`createTarball: path too long (${n.length} > 255 chars): ${n}`);for(let a=Math.min(n.length-1,155);a>0;a--)if(n[a]===`/`&&n.length-a-1<=100)return{prefix:n.slice(0,a),basename:n.slice(a+1)};throw Error(`createTarball: cannot split path into ustar prefix+basename (basename slot is 100 chars): ${n}`)}function writeAscii(n,a,S,C){let N=new TextEncoder().encode(a);if(N.length>C)throw Error(`createTarball: field too long (${N.length} > ${C}): "${a}"`);n.set(N,S)}function writeOctal(n,a,S,C){writeAscii(n,a.toString(8).padStart(C,`0`),S,C)}function padTo512(n){let a=n%512;return a===0?0:512-a}function ensureTrailingSlash(n){return n.endsWith(`/`)?n:`${n}/`}function defaultFileMode(n){return n.length>=2&&n[0]===35&&n[1]===33?493:420}function concatChunks(n){let a=0;for(let S of n)a+=S.byteLength;let S=new Uint8Array(a),C=0;for(let a of n)S.set(a,C),C+=a.byteLength;return S}var kM=__esmMin(()=>{});async function extractTarball(n,a,S={}){let C=n instanceof Uint8Array?n:new Uint8Array(n),N=parseTar(S.gzip??(C.length>=2&&C[0]===31&&C[1]===139)?await gunzip(C):C);mkdirSync(a,{recursive:!0});let F=S.strip??1,I=S.preventEscape??!0,H={files:[],directories:[],symlinks:[],skipped:0};for(let n of N){let C=stripComponents(n.name,F);if(C===null||C===``){H.skipped++;continue}let N=$o(a,C);if(I&&!isInside(N,a))throw Error(`tar: refusing to extract ${n.name} outside ${a} (resolved=${N})`);if(S.filter&&!S.filter(n,N)){H.skipped++;continue}if(n.type===`directory`){mkdirSync(N,{recursive:!0}),H.directories.push(N);continue}if(n.type===`file`){mkdirSync(as(N),{recursive:!0}),writeFileSync(N,n.body);let a=S.chmod?.(n,N)??n.mode&511;if(a>0)try{chmodSync(N,a)}catch{}H.files.push(N);continue}if(n.type===`symlink`){mkdirSync(as(N),{recursive:!0});try{symlinkSync(n.linkname,N),H.symlinks.push(N)}catch{writeFileSync(N,n.linkname),H.files.push(N)}continue}H.skipped++}return H}async function gunzip(n){let a=globalThis.DecompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.DecompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function gzip(n){let a=globalThis.CompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.CompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function drainStream(n){let a=[],S=0,C=n.getReader();for(;;){let{value:n,done:N}=await C.read();if(N)break;let F=n instanceof Uint8Array?n:new Uint8Array(n);a.push(F),S+=F.length}let N=new Uint8Array(S),F=0;for(let n of a)N.set(n,F),F+=n.length;return N}function stripComponents(n,a){if(a<=0)return n;let S=n.split(`/`).filter(n=>n!==``);return S.length<=a?null:S.slice(a).join(`/`)}function isInside(n,a){let S=rs(a,n);return S!==``&&!S.startsWith(`..`)&&!ts(S)}var AM=__esmMin(()=>{OM(),Zc(),ps()}),jM=__exportAll$3({BLOCK_SIZE:()=>512,TarParseError:()=>TarParseError,createTarball:()=>createTarball,extractTarball:()=>extractTarball,gunzip:()=>gunzip,gzip:()=>gzip,parseTar:()=>parseTar}),MM=__esmMin(()=>{OM(),kM(),AM()});function gjsifyCacheRoot(n,a){let S=process.env.XDG_CACHE_HOME;return ns(S&&S.length>0?S:ns(homedir(),`.cache`),`gjsify`,n,a)}function atomicWrite(n,a){try{mkdirSync(ns(n,`..`),{recursive:!0});let S=`${n}.tmp.${process.pid}`;writeFileSync(S,a),renameSync(S,n)}catch{}}function readCacheFile(n){if(!existsSync(n))return null;try{let a=readFileSync(n);return a.length===0?null:a}catch{return null}}var NM=__esmMin(()=>{Zc(),Wp(),ps()});function cacheRoot$1(){return gjsifyCacheRoot(`tarballs`,PM)}function parseSri(n){if(!n)return null;let a=n.indexOf(`-`);if(a<=0||a===n.length-1)return null;let S=n.slice(0,a),C=n.slice(a+1).replace(/=+$/,``),N;try{N=Buffer.from(C,`base64`).toString(`hex`)}catch{return null}return N.length<4?null:{algorithm:S,hex:N}}function pathFor$1(n){let a=parseSri(n);if(!a)return null;let S=a.hex.slice(0,2);return ns(cacheRoot$1(),a.algorithm,S,`${a.hex}.tgz`)}function getCachedTarball(n){let a=pathFor$1(n);return a?readCacheFile(a):null}function putCachedTarball(n,a){let S=pathFor$1(n);S&&(existsSync(S)||atomicWrite(S,a))}function npmCacacheContentDir(){let n=process.env.GJSIFY_NPM_CACHE;if(n!==void 0){let a=n.trim();return a===``||a===`0`||a===`false`?null:ns(a.endsWith(`_cacache`)?a:ns(a,`_cacache`),`content-v2`)}let a=process.env.npm_config_cache;return ns(a&&a.length>0?a:ns(homedir(),`.npm`),`_cacache`,`content-v2`)}function npmCachePathFor(n){let a=npmCacacheContentDir();if(!a)return null;let S=parseSri(n);return S?ns(a,S.algorithm,S.hex.slice(0,2),S.hex.slice(2,4),S.hex.slice(4)):null}function getForeignCachedTarball(n){let a=npmCachePathFor(n);return a?readCacheFile(a):null}var PM,FM=__esmMin(()=>{Zc(),Wp(),ps(),NM(),PM=`v1`,__name$1(cacheRoot$1,`cacheRoot`),__name$1(pathFor$1,`pathFor`)});function isEnabled(){let n=process.env.GJSIFY_PACKUMENT_CACHE;if(n===void 0)return!0;let a=n.trim();return!(a===`0`||a===`false`||a===``)}function cacheRoot(){return gjsifyCacheRoot(`metadata`,IM)}function shardFor(n){let a=2166136261;for(let S=0;S<n.length;S++)a^=n.charCodeAt(S),a=Math.imul(a,16777619);return(a>>>0&255).toString(16).padStart(2,`0`)}function pathFor(n,a){if(!isEnabled())return null;let S=`${n}|${a}`,C=`${encodeURIComponent(n)}|${encodeURIComponent(a)}.json`;return ns(cacheRoot(),shardFor(S),C)}function getCachedPackument(n,a){let S=pathFor(n,a);if(!S)return null;let C=readCacheFile(S);if(!C)return null;try{let n=JSON.parse(C.toString(`utf-8`));return typeof n.etag!=`string`||!n.etag||!n.packument||typeof n.packument!=`object`?null:{etag:n.etag,packument:n.packument}}catch{return null}}function putCachedPackument(n,a,S,C){if(!S)return;let N=pathFor(n,a);N&&atomicWrite(N,JSON.stringify({etag:S,packument:C}))}var IM,LM=__esmMin(()=>{ps(),NM(),IM=`v1`}),RM=__exportAll$3({installPackagesNative:()=>installPackagesNative,parseSpec:()=>parseSpec,pickVersion:()=>pickVersion});async function installPackagesNative(n){if(n.specs.length===0)throw Error(`installPackagesNative: empty specs list`);mkdirSync(n.prefix,{recursive:!0});let a=await loadNpmrc$1(n),S=makeLogger(n.verbose??!1),C=n.progress,N=ns(n.prefix,BM),F=readLockfile(N),I;if(n.frozen){if(!F)throw Error(`install: --immutable requires ${BM} at ${n.prefix} — none found. Run \`gjsify install\` (without --immutable) to generate one and commit it.`);let a=describeLockfileDrift(F,n.specs);if(a)throw Error(`install: --immutable but ${N} is stale.\n${a}\nRe-run \`gjsify install\` (without --immutable) to refresh the lockfile.`);S(`install: --immutable, using lockfile (%d package(s))`,Object.keys(F.packages).length),I=lockfileToNodes(F)}else if(!n.refreshLockfile&&F&&lockfileMatchesRequest(F,n.specs))S(`install: using lockfile (%d package(s))`,Object.keys(F.packages).length),I=lockfileToNodes(F);else{let H=!n.refreshLockfile&&F?buildPreferredVersions(F):void 0;S(`install: resolving %d top-level spec(s) → %s%s`,n.specs.length,n.prefix,H?` (preserving ${H.size} locked name(s))`:``),I=await resolveDeps(n.specs,a,S,n.overrides,n.skipDeps,n.signal,C,H),n.lockfile&&(writeLockfile(N,n.specs,I),S(`install: wrote %s (%d entries)`,BM,I.length))}return S(`install: downloading %d tarball(s)`,I.length),await downloadAndExtractAll(I,n.prefix,a,S,n.signal,C),await linkBins(I,n.prefix,S),S(`install: done`),topLevelResolutions(n.specs,I)}function errMsg(n){return n instanceof Error?n.message:String(n)}function topLevelResolutions(n,a){let S=new Map;for(let n of a)n.installPath===`node_modules/${n.name}`&&S.set(n.name,n);let C=[];for(let a of n){let n=parseSpecName(a),N=S.get(n);N&&C.push({name:N.name,version:N.version})}return C}function parseSpecName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return n;let S=n.indexOf(`@`,a+1);return S===-1?n:n.slice(0,S)}let a=n.indexOf(`@`);return a===-1?n:n.slice(0,a)}async function resolveDeps(n,a,S,C,N,F,I,H){I?.beginPhase(`resolve`,n.length);let applyOverride=(n,a)=>{if(!C)return a;let N=C[n];return typeof N!=`string`||N.length===0||N===a?a:(S(`install: override %s %s → %s`,n,a,N),N)},W=new Map,fetchPkg=n=>{let C=W.get(n);if(C)return C;let N=fetchPackumentWithDiskCache(n,a,S,F);return W.set(n,N),N},K=new Map,q=new Map,Y=n.map(parseSpec).map(n=>({from:null,name:n.name,range:applyOverride(n.name,n.range),required:!0}));for(;Y.length>0;){let n=Y.splice(0,Y.length),a=[],C=new Set;for(let S of n)W.has(S.name)||C.has(S.name)||(C.add(S.name),a.push(S.name));await prefetchPackuments(a,fetchPkg,F);for(let a=0;a<n.length;a++){let C=n[a],F=findVisible(C.from,C.name,K);if(F&&satisfiesRange(F.version,C.range))continue;let W=null;try{let F=await fetchPkg(C.name),X=preferredVersionFor(H?.get(C.name),C.range);if(W=pickVersion(F,C.range,X),!W){if(!C.required)continue;throw Error(`No version of ${C.name} satisfies ${C.range}`)}let te=F.versions[W];if(!te)throw Error(`Packument for ${C.name} promised ${W} but no entry exists`);let ne=decidePlacement(C.from,C.name,W,q),re={name:C.name,version:W,tarballUrl:te.dist.tarball,integrity:te.dist.integrity,installPath:ne,dependencies:te.dependencies??{},optionalDependencies:te.optionalDependencies??{},bin:te.bin};if(K.set(ne,re),ne===`node_modules/${C.name}`&&q.set(C.name,re),S(`resolve: %s@%s ← %s (at %s)`,C.name,W,C.range,ne),I?.update({phase:`resolve`,current:K.size,total:K.size+(n.length-a-1)+Y.length,name:`${C.name}@${W}`}),!N){for(let[n,a]of Object.entries(re.dependencies))Y.push({from:ne,name:n,range:applyOverride(n,a),required:!0});for(let[n,a]of Object.entries(re.optionalDependencies))Y.push({from:ne,name:n,range:applyOverride(n,a),required:!1})}}catch(n){if(!C.required){S(`resolve: optional dep %s@%s skipped (%s)`,C.name,C.range,n.message);continue}throw n}}}return I?.endPhase(`resolve`),Array.from(K.values())}async function fetchPackumentWithDiskCache(n,a,S,C){let N=registryFor(n,a),F=getCachedPackument(N,n),onRetry=({attempt:a,error:C,delayMs:N})=>{S(`packument %s: retry %d after %dms (%s)`,n,a,N,errMsg(C))},I=await fetchPackumentConditional(n,{npmrc:a,signal:C,ifNoneMatch:F?.etag,onRetry});return I.status===`not-modified`&&F?(S(`packument-cache-hit: %s (304, etag %s)`,n,F.etag),F.packument):I.status===`fresh`&&I.packument?(I.etag&&putCachedPackument(N,n,I.etag,I.packument),I.packument):fetchPackument(n,{npmrc:a,signal:C,onRetry})}async function prefetchPackuments(n,a,S){if(n.length===0)return;let C=0,N=Math.max(1,Math.min(zM,n.length)),worker=async()=>{for(;C<n.length;){if(S?.aborted)return;let N=n[C++];try{await a(N)}catch{}}};await Promise.all(Array.from({length:N},()=>worker()))}function findVisible(n,a,S){let C=[];if(n!==null){C.push(`${n}/node_modules/${a}`);let S=n;for(;;){let n=S.lastIndexOf(`/node_modules/`);if(n<0||(S=S.slice(0,n),C.push(`${S}/node_modules/${a}`),S===``))break}}C.push(`node_modules/${a}`);for(let n of C){let a=S.get(n);if(a)return a}return null}function decidePlacement(n,a,S,C){let N=C.get(a);return!N||N.version===S||n===null?`node_modules/${a}`:`${n}/node_modules/${a}`}function satisfiesRange(n,a){try{return satisfies(n,new wM(a))}catch{return!1}}function readLockfile(n){if(!existsSync(n))return null;try{let a=JSON.parse(readFileSync(n,`utf-8`));return a.lockfileVersion!==VM||!a.packages||typeof a.packages!=`object`?null:a}catch{return null}}function writeLockfile(n,a,S){let C={},N=[...S].sort((n,a)=>n.installPath<a.installPath?-1:+(n.installPath>a.installPath));for(let n of N)C[n.installPath]={version:n.version,resolved:n.tarballUrl,integrity:n.integrity,dependencies:Object.keys(n.dependencies).length>0?n.dependencies:void 0,bin:n.bin};let F={lockfileVersion:VM,requested:[...a],packages:C};writeFileSync(n,JSON.stringify(F,null,2)+`
797
+ `:``)}function detectIndent$1(n){let a=n.match(/^\{\n( +)/);return a?a[1].length:2}var sM,cM,lM=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),cC(),tc(),Fg(),Wj(),sM=promisify(execFile),cM={command:`sync-flathub`,description:`Update the per-app Flathub tracking-repo manifest to a new git tag + commit. Clones, edits, commits, optionally opens a PR.`,builder:n=>n.version(!1).option(`version`,{description:"Git tag to sync to. Default: `git describe --tags --abbrev=0` in cwd.",type:`string`}).option(`app-id`,{description:"Reverse-DNS app id. Default: `gjsify.flatpak.appId`.",type:`string`}).option(`flathub-repo`,{description:"Flathub tracking-repo (owner/name). Default: `flathub/<appId>`.",type:`string`}).option(`commit`,{description:"Commit SHA to pin. Default: resolved via `git rev-list -n 1 <version>` in cwd.",type:`string`}).option(`branch`,{description:"Branch name in the flathub-repo. Default: `update-to-<version>`.",type:`string`}).option(`source-index`,{description:"Index into modules[0].sources[] to update (when manifest has multiple sources). Default: first `type: git` source.",type:`number`}).option(`pr`,{description:"After commit + push, open a PR via `gh pr create`. Pass `--no-pr` to skip and stop after push.",type:`boolean`,default:!0}).option(`dry-run`,{description:`Show what would be edited; touch no files, run no git commands.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every git / gh invocation before running.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=n.appId??S.appId??readPackageJson(a).name;if(!C)throw Error(`[gjsify flatpak sync-flathub] no app id available — pass --app-id or set gjsify.flatpak.appId.`);let N=n.flathubRepo??S.flathubRepo??`flathub/${C}`,F=n.version??await resolveLatestTag$1(a,n.verbose);if(!F)throw Error(`[gjsify flatpak sync-flathub] no version resolved — pass --version vX.Y.Z or create a git tag locally.`);let I=n.commit??await resolveCommitForTag(a,F,n.verbose),H=n.branch??`update-to-${normaliseBranchSegment(F)}`;if(ke.log(`[gjsify flatpak sync-flathub] appId=${C}`),ke.log(`[gjsify flatpak sync-flathub] flathubRepo=${N}`),ke.log(`[gjsify flatpak sync-flathub] version=${F}`),ke.log(`[gjsify flatpak sync-flathub] commit=${I}`),ke.log(`[gjsify flatpak sync-flathub] branch=${H}`),n.dryRun){ke.log(`[gjsify flatpak sync-flathub] --dry-run set; not cloning / writing / pushing.`);return}let W=flathubCacheRoot(),K=ns(W,N.replace(`/`,`__`));mkdirSync(W,{recursive:!0}),await ensureClone(K,N,n.verbose);let q=ns(K,`${C}.json`);if(!existsSync(q))throw Error(`[gjsify flatpak sync-flathub] Flathub manifest not found at ${q} — wrong appId / wrong flathub-repo?`);let Y=readFileSync(q,`utf-8`),X=editManifest(Y,{tag:F,commit:I,sourceIndex:n.sourceIndex});if(X===Y){ke.log(`[gjsify flatpak sync-flathub] manifest already at ${F} — nothing to do.`);return}if(writeFileSync(q,X,`utf-8`),ke.log(`[gjsify flatpak sync-flathub] manifest patched at ${q}`),await gitInRepo(K,[`checkout`,`-B`,H],n.verbose),await gitInRepo(K,[`add`,`.`],n.verbose),await gitInRepo(K,[`commit`,`-m`,`Update to ${F}`],n.verbose),n.pr===!1){ke.log(`[gjsify flatpak sync-flathub] --no-pr set; branch ${H} committed locally in ${K}.`);return}await gitInRepo(K,[`push`,`-u`,`origin`,H,`--force-with-lease`],n.verbose),await ghCreate(K,N,H,F,`Auto-generated by \`gjsify flatpak sync-flathub\`.\n\n- Version: \`${F}\`\n- Commit: \`${I}\`\n`,n.verbose)}},__name$1(resolveLatestTag$1,`resolveLatestTag`),__name$1(detectIndent$1,`detectIndent`)});async function loadFlathubSource(n,a){let S;if(n.against){if(!existsSync(n.against))throw Error(`[gjsify flatpak diff] --against path ${n.against} does not exist`);S=readFileSync(n.against,`utf-8`)}else S=await fetchFlathubManifest(n.flathubRepo,n.appId,n.verbose);let C;try{C=JSON.parse(S)}catch(n){throw Error(`[gjsify flatpak diff] failed to parse Flathub manifest as JSON: ${n.message}`)}let N=(C.modules??[])[0]?.sources??[];if(N.length===0)return null;let F=a??N.findIndex(n=>n?.type===`git`);return F<0||F>=N.length?null:N[F]??null}async function fetchFlathubManifest(n,a,S){for(let C of[`master`,`main`]){let N=`https://raw.githubusercontent.com/${n}/${C}/${a}.json`;S&&ke.log(`[gjsify flatpak diff] fetch ${N}`);try{let n=await fetch(N);if(n.ok)return await n.text();S&&ke.log(`[gjsify flatpak diff] ${C} → HTTP ${n.status}`)}catch(n){S&&ke.log(`[gjsify flatpak diff] ${C} fetch error: ${n.message}`)}}throw Error(`[gjsify flatpak diff] could not fetch flathub manifest from ${n} on master or main`)}async function resolveLatestTag(n,a){try{let{stdout:S}=await uM(`git`,[`describe`,`--tags`,`--abbrev=0`],{cwd:n}),C=S.trim();return a&&ke.log(`[gjsify flatpak diff] local latest tag → ${C}`),C||null}catch{return null}}var uM,dM,fM=__esmMin(()=>{Ae(),Zc(),cC(),tc(),Fg(),Wj(),uM=promisify(execFile),dM={command:`diff`,description:`Compare the per-app Flathub tracking-repo manifest against the local git state and report version / commit drift.`,builder:n=>n.version(!1).option(`version`,{description:"Local version to compare against. Default: `git describe --tags --abbrev=0` in cwd.",type:`string`}).option(`app-id`,{description:"Reverse-DNS app id. Default: `gjsify.flatpak.appId`.",type:`string`}).option(`flathub-repo`,{description:"Flathub tracking-repo (owner/name). Default: `gjsify.flatpak.flathubRepo` or `flathub/<appId>`.",type:`string`}).option(`against`,{description:`Read the Flathub manifest from a local file instead of fetching it. Useful in CI or offline.`,type:`string`}).option(`detail`,{description:`Also print the full Flathub manifest source entry alongside the resolved local version.`,type:`boolean`,default:!1}).option(`source-index`,{description:`Index into modules[0].sources[] to inspect (when the manifest has multiple sources).`,type:`number`}).option(`verbose`,{description:`Echo fetch URL + resolved values.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=(await new Config().forBuild({}).catch(()=>({}))).flatpak??{},C=n.appId??S.appId??readPackageJson(a).name;if(!C)throw Error(`[gjsify flatpak diff] no app id available — pass --app-id or set gjsify.flatpak.appId.`);let N=n.flathubRepo??S.flathubRepo??`flathub/${C}`,F=n.version??await resolveLatestTag(a,n.verbose),I=await loadFlathubSource({appId:C,flathubRepo:N,against:n.against,verbose:n.verbose},n.sourceIndex),H=I?.tag,W=I?.commit;if(ke.log(`[gjsify flatpak diff] appId=${C}`),ke.log(`[gjsify flatpak diff] flathubRepo=${N}`),ke.log(`[gjsify flatpak diff] flathub: tag=${H??`(missing)`} commit=${W??`(missing)`}`),ke.log(`[gjsify flatpak diff] local: tag=${F??`(none)`}`),n.detail&&I&&(ke.log(`[gjsify flatpak diff] flathub manifest source:`),ke.log(JSON.stringify(I,null,2))),!F){ke.warn("[gjsify flatpak diff] no local git tag found — cut a release (`git tag vX.Y.Z`) or pass --version vX.Y.Z to compare against an explicit value.");return}if(H||(ke.warn("[gjsify flatpak diff] flathub manifest has no `tag` field on the inspected source."),process.exit(1)),H===F){ke.log(`✅ in sync (${F})`);return}ke.log(`❌ drift detected — flathub=${H} vs local=${F}`),ke.log(` run \`gjsify flatpak sync-flathub --version ${F}\` to update the Flathub manifest.`),process.exit(1)}}});function resolveCliEntry(){return $o($o(as(fileURLToPath(import.meta.url)),`..`,`..`),`index.js`)}async function runNode(n,a){await new Promise((S,C)=>{let N=spawn(`node`,n,{cwd:a,stdio:`inherit`});N.on(`error`,C),N.on(`exit`,a=>{a===0?S():C(Error(`sub-command exited with code ${a}: node ${n.join(` `)}`))})})}var pM,mM,hM=__esmMin(()=>{Ae(),cC(),tc(),mn(),ps(),pM=promisify(execFile),mM={command:`release <version>`,description:"Cut a release end-to-end: regenerate Flathub assets, run linters, create + push the git tag, then open the Flathub PR. Each step delegates to the equivalent `gjsify flatpak <sub>` command.",builder:n=>n.version(!1).positional(`version`,{description:"Release tag, e.g. `v0.6.6`.",type:`string`,demandOption:!0}).option(`skip-init`,{description:"Skip the `flatpak init --force` regen step.",type:`boolean`,default:!1}).option(`skip-check`,{description:"Skip the `flatpak check` linter step.",type:`boolean`,default:!1}).option(`skip-tag`,{description:"Skip the `git tag` + `git push --tags` step (use when the tag was already created out-of-band).",type:`boolean`,default:!1}).option(`push-tag`,{description:`Push the created tag after creating it. Default: true.`,type:`boolean`,default:!0}).option(`flathub-repo`,{description:`Flathub tracking-repo override forwarded to sync-flathub.`,type:`string`}).option(`dry-run`,{description:`Print each step that would run without executing any of them.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every sub-command invocation.`,type:`boolean`,default:!1}),handler:async n=>{let a=typeof n.version==`string`?n.version.trim():``;if(!a)throw Error(`[gjsify flatpak release] missing <version> positional`);let S=resolveCliEntry(),C=process.cwd(),N=[];n.skipInit||N.push({name:`init`,args:[S,`flatpak`,`init`,`--force`]}),n.skipCheck||N.push({name:`check`,args:[S,`flatpak`,`check`]});let F=[S,`flatpak`,`sync-flathub`,`--version`,a];if(n.flathubRepo&&F.push(`--flathub-repo`,n.flathubRepo),n.verbose&&F.push(`--verbose`),ke.log(`[gjsify flatpak release] starting release of ${a}`),n.dryRun){ke.log(`[gjsify flatpak release] --dry-run set; printing plan only:`);for(let n of N)ke.log(` · ${n.name}: node ${n.args.join(` `)}`);n.skipTag||ke.log(` · tag: git tag ${a}${n.pushTag===!1?``:` && git push origin `+a}`),ke.log(` · sync: node ${F.join(` `)}`);return}for(let a of N)n.verbose&&ke.log(`[gjsify flatpak release] step ${a.name}: node ${a.args.join(` `)}`),await runNode(a.args,C),ke.log(`[gjsify flatpak release] ${a.name} ✔`);if(!n.skipTag){n.verbose&&ke.log(`[gjsify flatpak release] git tag ${a}`);try{await pM(`git`,[`tag`,a],{cwd:C}),ke.log(`[gjsify flatpak release] tag ${a} created`)}catch(n){throw Error(`[gjsify flatpak release] git tag failed (${n.message}). If the tag already exists, re-run with --skip-tag.`)}n.pushTag!==!1&&(n.verbose&&ke.log(`[gjsify flatpak release] git push origin ${a}`),await pM(`git`,[`push`,`origin`,a],{cwd:C}),ke.log(`[gjsify flatpak release] tag pushed`))}n.verbose&&ke.log(`[gjsify flatpak release] sync: node ${F.join(` `)}`),await runNode(F,C),ke.log(`[gjsify flatpak release] ✅ release ${a} complete`)}}}),gM,_M=__esmMin(()=>{Yj(),Zj(),$j(),nM(),iM(),oM(),lM(),fM(),hM(),gM={command:`flatpak <subcommand>`,description:`Flatpak toolchain: init/build/deps/sources/ci/check/sync-flathub/diff/release subcommands for shipping GJS apps and CLIs as Flatpaks.`,builder:n=>n.command(Jj.command,Jj.description,Jj.builder,Jj.handler).command(Xj.command,Xj.description,Xj.builder,Xj.handler).command(Qj.command,Qj.description,Qj.builder,Qj.handler).command(tM.command,tM.description,tM.builder,tM.handler).command(rM.command,rM.description,rM.builder,rM.handler).command(aM.command,aM.description,aM.builder,aM.handler).command(cM.command,cM.description,cM.builder,cM.handler).command(dM.command,dM.description,dM.builder,dM.handler).command(mM.command,mM.description,mM.builder,mM.handler).demandCommand(1).strict()}});function parseSpec$1(n){if(!n)throw Error(`dlx: empty package spec`);if(n.startsWith(`./`)||n.startsWith(`../`)||ts(n)||existsSync(n))return{kind:`local`,path:$o(n)};let a=n,S,C=n.lastIndexOf(`@`);if(C>0&&(a=n.slice(0,C),S=n.slice(C+1)),!vM.test(a))throw Error(`dlx: invalid package name "${a}"`);return{kind:`registry`,name:a,version:S,spec:n}}var vM,yM=__esmMin(()=>{Zc(),ps(),vM=/^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/,__name$1(parseSpec$1,`parseSpec`)});function resolveGjsEntry(n,a){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`dlx: no package.json found at ${n}`);let C=JSON.parse(readFileSync(S,`utf-8`)),N=C.gjsify?.bin,F=C.gjsify?.main,I=C.main,H,W=null,K=!1;if(a!==null){if(!N||!N[a]){let S=N?Object.keys(N).join(`, `):`(none)`;throw Error(`dlx: package "${C.name??n}" has no GJS bin named "${a}" — known: ${S}`)}H=N[a],W=a}else if(N&&Object.keys(N).length===1){let n=Object.keys(N)[0];H=N[n],W=n}else F?H=F:I&&(H=I,K=!0);if(N&&Object.keys(N).length>1&&a===null){let a=Object.keys(N).join(`, `);throw Error(`dlx: package "${C.name??n}" defines multiple GJS bins — pass one of: ${a}`)}if(!H)throw Error(`dlx: package "${C.name??n}" has no GJS entry — set \`gjsify.main\` (or \`gjsify.bin\`) in its package.json`);let q=$o(n,H);if(!existsSync(q))throw Error(`dlx: GJS entry not found: ${q}`);return{bundlePath:q,binName:W,fromFallback:K}}var bM=__esmMin(()=>{Zc(),ps()});function lexCompare(n,a){return n<a?-1:+(n>a)}function createCacheKey(n){let a=[...n.packages].sort(lexCompare),S=Object.entries(n.registries??{}).sort(([n],[a])=>lexCompare(n,a)),C=JSON.stringify([a,S]);return createHash(`sha256`).update(C).digest(`hex`)}function dlxCacheRoot(){let n=process.env.XDG_CACHE_HOME,a=ns(n&&n.length>0?n:ns(homedir(),`.cache`),`gjsify`,`dlx`);return mkdirSync(a,{recursive:!0}),a}function cacheDirFor(n){let a=ns(dlxCacheRoot(),n);return mkdirSync(a,{recursive:!0}),a}function makePrepareDir(n){let a=ns(n,`${Date.now().toString(16)}-${process.pid.toString(16)}`);return mkdirSync(a,{recursive:!0}),a}function getValidCachedPkg(n,a=SM){let S=ns(n,`pkg`),C;try{C=lstatSync(S)}catch(n){if(n.code===`ENOENT`)return;throw n}if(!C.isSymbolicLink())return;let N;try{N=realpathSync(S)}catch{return}return Date.now()-C.mtime.getTime()<=a*xM?N:void 0}function symlinkSwap(n,a){let S=ns(n,`pkg`),C=ns(n,`pkg.tmp-${Date.now().toString(16)}-${process.pid.toString(16)}`);symlinkSync(a,C,`dir`);try{renameSync(C,S)}catch(n){let a=n.code;if(a===`EBUSY`||a===`EPERM`||a===`EEXIST`){try{rmSync(C)}catch{}return realpathSync(S)}throw n}return realpathSync(S)}function resolveInstalledPkgDir(n,a){return $o(n,`node_modules`,a)}var xM,SM,CM=__esmMin(()=>{ao(),Zc(),Wp(),ps(),xM=6e4,SM=1440*7});function makeProgressReporter(n={}){if(n.enabled===!1)return TM;let a=n.stream??process.stderr,S=!!a.isTTY;return n.enabled??!0?S?makeTtyReporter(a):makePlainReporter(a):TM}function makeTtyReporter(n){let a=0,S=``;function render(C,N=!1){let F=Date.now();!N&&F-a<33&&C===S||(a=F,S=C,n.write(`\r\x1B[2K`+C))}function clearLine(){n.write(`\r\x1B[2K`),S=``}return{beginPhase(a,S){render(formatBar(a,0,S,void 0,n.columns??80),!0)},update(a){render(formatBar(a.phase,a.current,a.total,a.name,n.columns??80))},endPhase(a){let S=wM[a];clearLine(),n.write(`gjsify install: ${S} done\n`)}}}function makePlainReporter(n){let a=0,S=0;return{beginPhase(C,N){a=Date.now(),S=0,n.write(`gjsify install: ${wM[C]} ${N} package(s)\n`)},update(C){let N=Date.now();if(N-a<EM||C.current<=S)return;a=N,S=C.current;let F=C.total>0?Math.round(C.current/C.total*100):0;n.write(`gjsify install: ${wM[C.phase]} ${C.current}/${C.total} (${F}%)\n`)},endPhase(a){n.write(`gjsify install: ${wM[a]} done\n`)}}}function formatBar(n,a,S,C,N){let F=wM[n],I=S>0?Math.min(1,a/S):0,H=`${a}/${S}`,W=`gjsify install: ${F} `,K=` ${H}`+(C?` ${C}`:``),q=Math.max(8,Math.min(40,N-W.length-K.length-4)),Y=Math.round(I*q),X=`█`.repeat(Y)+`░`.repeat(q-Y),te=`${W}[${X}]${K}`;if(te.length>N){let n=te.length-N+1,a=C&&C.length>n?C.slice(0,C.length-n-1)+`…`:``;te=`${W}[${X}] ${H}${a?` `+a:``}`}return te}var wM,TM,EM,DM=__esmMin(()=>{wM={resolve:`resolving`,download:`downloading`,extract:`extracting`,link:`linking bins`},TM={update(){},beginPhase(){},endPhase(){}},EM=5e3});function parse(n){try{return new SemVer(n)}catch{return null}}function compare(n,a){let S=n instanceof SemVer?n:new SemVer(n),C=a instanceof SemVer?a:new SemVer(a);return S.compare(C)}function satisfies(n,a){let S=a instanceof AM?a:new AM(a),C=n instanceof SemVer?n:parse(String(n));return C?S.test(C):!1}function maxSatisfying(n,a){let S=a instanceof AM?a:new AM(a),C=null;for(let a of n){let n=parse(a);!n||!S.test(n)||(C===null||n.compare(C)>0)&&(C=n)}return C?C.version:null}function testComparator(n,a){if(n.semver===null)return!0;let S=a.compare(n.semver);switch(n.operator){case``:case`=`:return S===0;case`<`:return S<0;case`<=`:return S<=0;case`>`:return S>0;case`>=`:return S>=0}}function formatComparator(n){return n.semver===null?`*`:`${n.operator}${n.semver.version}`}function parseRangePart(n){let a=n.trim();if(a===``||a===`*`||a.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=a.match(/^\s*(\S+)\s+-\s+(\S+)\s*$/);if(S)return hyphenRange(S[1],S[2]);let C=a.replace(/(<=|>=|<|>|=)\s+(?=\S)/g,`$1`).split(/\s+/),N=[];for(let n of C)N.push(...parseSimple(n));return N}function parseSimple(n){if(n===`*`||n===``||n.toLowerCase()===`latest`)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];if(n.startsWith(`^`))return caretRange(n.slice(1));if(n.startsWith(`~`))return tildeRange(n.slice(1).replace(/^>/,``));let a=n.match(/^(<=|>=|<|>|=)\s*(.+)$/);if(a){let n=a[1];return primitiveRange(n,a[2])}return partialRange(n)}function parsePartial(n){let a=n.trim().replace(/^v/,``);if(a===``||a===`*`)return{major:null,minor:null,patch:null,pre:``,build:``};let S=``,C=``,N=a,F=N.indexOf(`+`);F>=0&&(C=N.slice(F+1),N=N.slice(0,F));let I=N.indexOf(`-`);I>=0&&(S=N.slice(I+1),N=N.slice(0,I));let H=N.split(`.`),xr=a=>{if(a===void 0||a===``||a===`x`||a===`X`||a===`*`)return null;if(!/^\d+$/.test(a))throw TypeError(`Invalid partial version: ${n}`);return Number(a)};return{major:xr(H[0]),minor:xr(H[1]),patch:xr(H[2]),pre:S,build:C}}function partialToVersion(n){return`${n.major??0}.${n.minor??0}.${n.patch??0}${n.pre?`-${n.pre}`:``}${n.build?`+${n.build}`:``}`}function partialRange(n){let a=parsePartial(n);return a.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:a.minor===null?[{operator:`>=`,semver:new SemVer(`${a.major}.0.0`)},{operator:`<`,semver:new SemVer(`${a.major+1}.0.0`)}]:a.patch===null?[{operator:`>=`,semver:new SemVer(`${a.major}.${a.minor}.0`)},{operator:`<`,semver:new SemVer(`${a.major}.${a.minor+1}.0`)}]:[{operator:`=`,semver:new SemVer(partialToVersion(a))}]}function caretRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C;return C=a.major>0||a.minor===null?`${a.major+1}.0.0`:a.minor>0||a.patch===null?`0.${a.minor+1}.0`:`0.0.${a.patch+1}`,[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function tildeRange(n){let a=parsePartial(n);if(a.major===null)return[{operator:`>=`,semver:new SemVer(`0.0.0`)}];let S=`${a.major}.${a.minor??0}.${a.patch??0}${a.pre?`-${a.pre}`:``}`,C=a.minor===null?`${a.major+1}.0.0`:`${a.major}.${a.minor+1}.0`;return[{operator:`>=`,semver:new SemVer(S)},{operator:`<`,semver:new SemVer(C)}]}function primitiveRange(n,a){let S=parsePartial(a);return S.major===null?[{operator:`>=`,semver:new SemVer(`0.0.0`)}]:n===`=`||n===``?partialRange(a):n===`>`?S.minor===null?[{operator:`>=`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`>`,semver:new SemVer(partialToVersion(S))}]:n===`<`?S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor}.0`)}]:[{operator:`<`,semver:new SemVer(partialToVersion(S))}]:n===`>=`?[{operator:`>=`,semver:new SemVer(partialToVersion(S))}]:S.minor===null?[{operator:`<`,semver:new SemVer(`${S.major+1}.0.0`)}]:S.patch===null?[{operator:`<`,semver:new SemVer(`${S.major}.${S.minor+1}.0`)}]:[{operator:`<=`,semver:new SemVer(partialToVersion(S))}]}function hyphenRange(n,a){let S=parsePartial(n),C=parsePartial(a),N=S.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:{operator:`>=`,semver:new SemVer(`${S.major}.${S.minor??0}.${S.patch??0}${S.pre?`-${S.pre}`:``}`)},F;return F=C.major===null?{operator:`>=`,semver:new SemVer(`0.0.0`)}:C.minor===null?{operator:`<`,semver:new SemVer(`${C.major+1}.0.0`)}:C.patch===null?{operator:`<`,semver:new SemVer(`${C.major}.${C.minor+1}.0`)}:{operator:`<=`,semver:new SemVer(`${C.major}.${C.minor}.${C.patch}${C.pre?`-${C.pre}`:``}`)},[N,F]}var OM,kM,SemVer,AM,jM=__esmMin(()=>{OM=/^(0|[1-9]\d*)$/,kM=/^(\d+)\.(\d+)\.(\d+)(?:-((?:[0-9A-Za-z-]+)(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/,SemVer=class{major;minor;patch;prerelease;build;version;constructor(n){let a=String(n).trim().replace(/^v/,``),S=kM.exec(a);if(!S)throw TypeError(`Invalid Version: ${n}`);this.major=Number(S[1]),this.minor=Number(S[2]),this.patch=Number(S[3]),this.prerelease=S[4]?S[4].split(`.`).map(n=>OM.test(n)?Number(n):n):[],this.build=S[5]?S[5].split(`.`):[],this.version=`${this.major}.${this.minor}.${this.patch}`+(this.prerelease.length?`-${this.prerelease.join(`.`)}`:``)+(this.build.length?`+${this.build.join(`.`)}`:``)}compare(n){return this.major===n.major?this.minor===n.minor?this.patch===n.patch?this.comparePre(n):this.patch<n.patch?-1:1:this.minor<n.minor?-1:1:this.major<n.major?-1:1}comparePre(n){let a=this.prerelease,S=n.prerelease;if(a.length===0&&S.length===0)return 0;if(a.length===0)return 1;if(S.length===0)return-1;for(let n=0;;n++){let C=a[n],N=S[n];if(C===void 0&&N===void 0)return 0;if(N===void 0)return 1;if(C===void 0)return-1;if(C===N)continue;let F=typeof C==`number`,I=typeof N==`number`;return F&&!I?-1:!F&&I?1:C<N?-1:1}}toString(){return this.version}},AM=class Range{raw;set;constructor(n){if(n instanceof Range){this.raw=n.raw,this.set=n.set;return}this.raw=String(n).trim();let a=this.raw.split(/\s*\|\|\s*/),S=[];for(let n of a){let a=parseRangePart(n);if(a.length===0)throw TypeError(`Invalid range: ${this.raw}`);S.push(a)}if(S.length===0)throw TypeError(`Invalid range: ${this.raw}`);this.set=S}test(n){let a=n instanceof SemVer?n:parse(String(n));if(!a)return!1;for(let n of this.set)if(n.every(n=>testComparator(n,a))){if(a.prerelease.length>0&&!n.some(n=>n.semver!==null&&n.semver.prerelease.length>0&&n.semver.major===a.major&&n.semver.minor===a.minor&&n.semver.patch===a.patch))continue;return!0}return!1}format(){return this.set.map(n=>n.map(formatComparator).join(` `)).join(` || `)}toString(){return this.format()}}});function assertPackument(n,a){if(!a||typeof a!=`object`)throw TypeError(`registry: ${n} packument is not an object`);let S=a;if(typeof S.name!=`string`)throw TypeError(`registry: ${n} packument missing string name`);if(!S.versions||typeof S.versions!=`object`)throw TypeError(`registry: ${n} packument missing versions map`)}function registryFor(n,a){if(a&&n.startsWith(`@`)){let S=n.slice(0,n.indexOf(`/`)),C=a.scopes[S];if(C)return ensureTrailingSlash$1(C)}return a?.registry?ensureTrailingSlash$1(a.registry):MM}function packumentUrl(n,a){let S=ensureTrailingSlash$1(a);if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw TypeError(`Invalid scoped package name: ${n}`);let C=n.slice(0,a),N=n.slice(a+1);return`${S}${encodeURIComponent(C)}/${encodeURIComponent(N)}`}return`${S}${encodeURIComponent(n)}`}async function fetchPackumentConditional(n,a={}){let S=packumentUrl(n,a.registry??registryFor(n,a.npmrc)),C=buildHeaders(S,{...a,acceptEncoding:`gzip`});C.accept??=`application/vnd.npm.install-v1+json`,a.ifNoneMatch&&(C[`if-none-match`]=a.ifNoneMatch);let N=await fetchWithRetry(S,{headers:C,signal:a.signal},{fetch:a.fetch,retries:a.retries,retryDelayMs:a.retryDelayMs,timeoutMs:a.timeoutMs,onRetry:a.onRetry});if(N.status===304){try{await N.arrayBuffer()}catch{}return{status:`not-modified`,etag:a.ifNoneMatch}}if(!N.ok)throw N.status===404||N.status===406?new PackageNotFoundError(n,S):Error(`registry GET ${S} -> ${N.status} ${N.statusText}`);let F=N.headers.get(`etag`)??void 0,I=await decodeJsonBody(N);return assertPackument(n,I),{status:`fresh`,packument:I,etag:F}}async function decodeJsonBody(n){return n.json()}async function fetchPackument(n,a={}){let S=await fetchPackumentConditional(n,a);if(!S.packument)throw Error(`registry: ${n} returned 304 Not Modified to an unconditional request`);return S.packument}async function fetchTarball(n,a={}){let S=buildHeaders(n,{...a,acceptEncoding:`identity`});S.accept??=`application/octet-stream`;let C=await fetchWithRetry(n,{headers:S,signal:a.signal},{fetch:a.fetch,retries:a.retries,retryDelayMs:a.retryDelayMs,timeoutMs:a.timeoutMs,onRetry:a.onRetry,retryNotFound:a.retryNotFound??!0});if(!C.ok)throw Error(`tarball GET ${n} -> ${C.status} ${C.statusText}`);let N=new Uint8Array(await C.arrayBuffer());if(a.integrity&&!await verifyIntegrity(N,a.integrity))throw new IntegrityError(n,a.integrity);return N}async function fetchWithRetry(n,a,S){let C=S.fetch??globalThis.fetch;if(!C)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let N=Math.max(0,S.retries??3),F=Math.max(0,S.retryDelayMs??250),I=Math.max(0,S.timeoutMs??3e4),H=S.retryNotFound??!1,W=0,K,q=0;for(;;){if(a.signal?.aborted)throw signalAbortError(a.signal);let Y=I>0?new AbortController:null,X=Y===null?null:setTimeout(()=>Y.abort(Error(`@gjsify/npm-registry: per-request timeout ${I}ms`)),I),te=composeSignals(a.signal,Y?.signal);try{let S=await C(n,{...a,signal:te}),F=isRetryableStatus(S.status)||H&&S.status===404;if(S.ok||!F||W>=N)return S;try{await S.arrayBuffer()}catch{}K=Error(`HTTP ${S.status} ${S.statusText}`)}catch(S){let C=Y!==null&&Y.signal.aborted,F=a.signal?.aborted===!0;if(C&&!F){if(q++,W>=N)throw new RegistryTimeoutError(n,I,q);K=S}else if(F)throw signalAbortError(a.signal);else{if(!isRetryableError(S)||W>=N)throw S;K=S}}finally{X!==null&&clearTimeout(X)}let ne=Math.min(F*2**W,8e3);S.onRetry?.({attempt:W+1,error:K,delayMs:ne}),await delay(ne,a.signal),W++}}function composeSignals(n,a){return n?a?AbortSignal.any([n,a]):n:a}function isRetryableStatus(n){return n===408||n===425||n===429||n===500||n===502||n===503||n===504||n===521||n===522||n===524||n===525}function isRetryableError(n){if(n&&typeof n==`object`&&`name`in n&&n.name===`AbortError`)return!1;if(n instanceof TypeError)return!0;if(n&&typeof n==`object`&&`name`in n){let a=n.name;if(a===`FetchError`)return!0;if(a===`AbortError`)return!1}let a=n?.cause;if(a&&typeof a==`object`&&`code`in a){let n=a.code;if(typeof n==`string`)return n===`ECONNRESET`||n===`ECONNREFUSED`||n===`ENETUNREACH`||n===`ENOTFOUND`||n===`ETIMEDOUT`||n===`EAI_AGAIN`||n===`UND_ERR_SOCKET`||n===`UND_ERR_CONNECT_TIMEOUT`}return!1}function delay(n,a){return n<=0?Promise.resolve():new Promise((S,C)=>{let N=setTimeout(()=>{a?.removeEventListener?.(`abort`,onAbort),S()},n),onAbort=()=>{clearTimeout(N),C(signalAbortError(a))};if(a?.aborted){clearTimeout(N),C(signalAbortError(a));return}a?.addEventListener?.(`abort`,onAbort,{once:!0})})}function signalAbortError(n){let a=n&&`reason`in n?n.reason:void 0;if(a instanceof Error)return a;let S=Error(`Aborted`);return S.name=`AbortError`,S}async function verifyIntegrity(n,a){let S=a.trim().split(/\s+/);for(let a of S){let S=a.indexOf(`-`);if(S<0)continue;let C=a.slice(0,S).toLowerCase(),N=a.slice(S+1),F=globalThis.crypto?.subtle;if(!F)throw Error(`@gjsify/npm-registry: globalThis.crypto.subtle is missing`);let I=subriToWebCryptoAlgo(C);if(!I)continue;let H=await F.digest(I,dataAsArrayBuffer(n));if(bytesToBase64(new Uint8Array(H))===N)return!0}return!1}function subriToWebCryptoAlgo(n){switch(n){case`sha1`:return`SHA-1`;case`sha256`:return`SHA-256`;case`sha384`:return`SHA-384`;case`sha512`:return`SHA-512`;default:return null}}function dataAsArrayBuffer(n){if(n.byteOffset===0&&n.byteLength===n.buffer.byteLength)return n.buffer;let a=new Uint8Array(n.byteLength);return a.set(n),a.buffer}function bytesToBase64(n){let a=``;for(let S=0;S<n.length;S++)a+=String.fromCharCode(n[S]);return btoa(a)}function parseNpmrc(n){let a={registry:MM,scopes:{},authTokens:{},basicAuth:{}},S=n.split(/\r?\n/),C={};for(let n of S){let S=n.replace(/^\s+|\s+$/g,``);if(!S||S.startsWith(`#`)||S.startsWith(`;`))continue;let N=S.indexOf(`=`);if(N<0)continue;let F=S.slice(0,N).trim(),I=expandEnv(stripQuotes(S.slice(N+1).trim()));if(F===`registry`){a.registry=ensureTrailingSlash$1(I);continue}let H=F.match(/^(@[^:]+):registry$/);if(H){a.scopes[H[1]]=ensureTrailingSlash$1(I);continue}let W=F.match(/^\/\/(.+):_authToken$/);if(W){a.authTokens[normalizeAuthHost(W[1])]=I;continue}let K=F.match(/^\/\/(.+):username$/);if(K){(C[normalizeAuthHost(K[1])]??={}).user=I;continue}let q=F.match(/^\/\/(.+):_password$/);if(q){let n=base64Decode(I);(C[normalizeAuthHost(q[1])]??={}).pass=n;continue}}for(let[n,S]of Object.entries(C))S.user&&S.pass!==void 0&&(a.basicAuth[n]={username:S.user,password:S.pass});return a}function buildHeaders(n,a){let S={"user-agent":`gjsify-install/0.3.7`,"accept-encoding":a.acceptEncoding??`identity`};if(a.npmrc){let C=resolveAuthForUrl(n,a.npmrc);C&&(S.authorization=C)}if(a.headers)for(let[n,C]of Object.entries(a.headers))S[n.toLowerCase()]=C;return S}function resolveAuthForUrl(n,a){let S=pathPrefixes(new URL(n));for(let n of S){let S=a.authTokens[n];if(S)return`Bearer ${S}`;let C=a.basicAuth[n];if(C)return`Basic ${btoa(`${C.username}:${C.password}`)}`}return null}function pathPrefixes(n){let a=n.pathname.split(`/`).filter(Boolean),S=[];for(let C=a.length;C>=0;C--){let N=a.slice(0,C).join(`/`);S.push(N?`//${n.host}/${N}`:`//${n.host}`)}return S}function normalizeAuthHost(n){return`//${n.replace(/\/+$/,``)}`}function ensureTrailingSlash$1(n){return n.endsWith(`/`)?n:n+`/`}function stripQuotes(n){return n.startsWith(`"`)&&n.endsWith(`"`)||n.startsWith(`'`)&&n.endsWith(`'`)?n.slice(1,-1):n}function expandEnv(n){return n.replace(/\$\{([A-Z0-9_]+)\}/gi,(n,a)=>globalThis.process?.env?.[a]??``)}function base64Decode(n){return atob(n)}async function whoami(n,a){let S=`${ensureTrailingSlash$1(n)}-/whoami`,C=buildHeaders(S,{npmrc:a});C.accept=`application/json`;let N=globalThis.fetch;if(!N)throw Error(`@gjsify/npm-registry: globalThis.fetch is missing`);let F=await N(S,{method:`GET`,headers:C});if(!F.ok)throw Error(`whoami GET ${S} -> ${F.status} ${F.statusText}`);let I=await F.json();if(I&&typeof I==`object`&&`username`in I){let n=I.username;if(typeof n==`string`&&n.length>0)return{username:n}}return{}}var MM,PackageNotFoundError,IntegrityError,RegistryTimeoutError,NM=__esmMin(()=>{MM=`https://registry.npmjs.org/`,__name$1(ensureTrailingSlash$1,`ensureTrailingSlash`),PackageNotFoundError=class extends Error{constructor(n,a){super(`Package not found in registry: ${n} (${a})`),this.name=n,this.url=a,this.name=`PackageNotFoundError`}},IntegrityError=class extends Error{constructor(n,a){super(`Tarball integrity mismatch for ${n} (expected ${a})`),this.url=n,this.integrity=a,this.name=`IntegrityError`}},RegistryTimeoutError=class extends Error{constructor(n,a,S){let C=Math.round(a/100)/10,N=Math.round(a*S/100)/10;super(`@gjsify/npm-registry: GET ${n} timed out after ${C}s × ${S} attempt(s) (total ~${N}s). This usually means the registry CDN is slow or unreachable.`),this.url=n,this.timeoutMs=a,this.attempts=S,this.name=`RegistryTimeoutError`}}});function parseTar(n){let a=[],S=null,C=null,N=null,F=0;for(;F+512<=n.length;){let I=n.subarray(F,F+512);if(allZeros(I)){let a=n.subarray(F+512,F+2*512);if(a.length===512&&allZeros(a))break;F+=512;continue}if(!validateChecksum(I))throw new TarParseError(`Bad header checksum at offset ${F} — file is not a valid tar archive`);let H=readString(I,0,100),W=parseOctal(I,100,8),K=parseOctal(I,124,12),q=parseOctal(I,136,12),Y=String.fromCharCode(I[156]||0),X=readString(I,157,100),te=readString(I,257,6),ne=readString(I,345,155),re=readString(I,265,32),ie=readString(I,297,32);F+=512;let ae=n.subarray(F,F+K);if(F+=alignToBlock(K),Y===`x`){S=parsePaxRecords(ae);continue}if(Y===`g`)continue;if(Y===`L`){C=bytesToString(ae).replace(/\0+$/,``);continue}if(Y===`K`){N=bytesToString(ae).replace(/\0+$/,``);continue}let oe=H;te===`ustar`&&ne!==``&&(oe=`${ne}/${H}`),C!==null&&(oe=C,C=null);let Z=X;if(N!==null&&(Z=N,N=null),S!==null){let C=S.get(`path`);C!==void 0&&(oe=C);let N=S.get(`linkpath`);N!==void 0&&(Z=N);let I=S.get(`size`);if(I!==void 0){let C=Number(I);if(Number.isFinite(C)){let N=F-alignToBlock(K),I=n.subarray(N,N+C);F=N+alignToBlock(C),S=null,a.push(buildEntry(oe,Z,Y,W,q,re,ie,I));continue}}S=null}a.push(buildEntry(oe,Z,Y,W,q,re,ie,ae))}return a}function buildEntry(n,a,S,C,N,F,I,H){return{name:n,linkname:a,type:typeflagToType(S,n),mode:C,mtime:N,body:H,uname:F,gname:I}}function typeflagToType(n,a){switch(n){case`0`:case`\0`:case``:return a.endsWith(`/`)?`directory`:`file`;case`1`:return`hardlink`;case`2`:return`symlink`;case`5`:return`directory`;case`x`:return`pax-header`;case`g`:return`pax-global`;case`L`:return`gnu-longname`;case`K`:return`gnu-longlink`;default:return`unknown`}}function parsePaxRecords(n){let a=new Map,S=0;for(;S<n.length;){let C=S;for(;C<n.length&&n[C]!==32;)C++;if(C>=n.length)break;let N=bytesToString(n.subarray(S,C)),F=Number(N);if(!Number.isFinite(F)||F<=0)break;let I=S+F;if(I>n.length)break;let H=bytesToString(n.subarray(C+1,I-1)),W=H.indexOf(`=`);if(W>0){let n=H.slice(0,W),S=H.slice(W+1);a.set(n,S)}S=I}return a}function readString(n,a,S){let C=a,N=a+S;for(;C<N&&n[C]!==0;)C++;return bytesToString(n.subarray(a,C))}function bytesToString(n){return new TextDecoder(`utf-8`,{fatal:!1}).decode(n)}function parseOctal(n,a,S){if(S>0&&n[a]&128){let C=n[a]&127;for(let N=1;N<S;N++)C=C*256+n[a+N];return C}let C=``;for(let N=0;N<S;N++){let S=n[a+N];S===0||S===32||(C+=String.fromCharCode(S))}return C===``?0:parseInt(C,8)}function alignToBlock(n){return Math.ceil(n/512)*512}function allZeros(n){for(let a=0;a<n.length;a++)if(n[a]!==0)return!1;return!0}function validateChecksum(n){let a=parseOctal(n,148,8),S=0,C=0;for(let a=0;a<512;a++){let N=a>=148&&a<156?32:n[a];S+=N,C+=N>127?N-256:N}return a===S||a===C}var TarParseError,PM=__esmMin(()=>{TarParseError=class extends Error{constructor(n){super(n),this.name=`TarParseError`}}});function createTarball(n){let a=[];for(let S of n){if(`directory`in S&&S.directory===!0){a.push(buildHeader(ensureTrailingSlash(S.name),0,`5`,S.mode??493,S.mtime??0));continue}let n=S,C=typeof n.body==`string`?new TextEncoder().encode(n.body):n.body,N=n.mode??defaultFileMode(C);a.push(buildHeader(n.name,C.byteLength,`0`,N,n.mtime??0)),a.push(C);let F=padTo512(C.byteLength);F>0&&a.push(new Uint8Array(F))}return a.push(new Uint8Array(512*2)),concatChunks(a)}function buildHeader(n,a,S,C,N){let{prefix:F,basename:I}=splitPathForUstar(n),H=new Uint8Array(512);writeAscii(H,I,0,100),writeOctal(H,C&4095,100,7),H[107]=0,writeOctal(H,0,108,7),H[115]=0,writeOctal(H,0,116,7),H[123]=0,writeOctal(H,a,124,11),H[135]=0,writeOctal(H,N,136,11),H[147]=0;for(let n=148;n<156;n++)H[n]=32;H[156]=S.charCodeAt(0),writeAscii(H,`ustar\0`,257,6),writeAscii(H,`00`,263,2),F&&writeAscii(H,F,345,155);let W=0;for(let n=0;n<512;n++)W+=H[n];return writeAscii(H,W.toString(8).padStart(6,`0`),148,6),H[154]=0,H[155]=32,H}function splitPathForUstar(n){if(n.length<=100)return{prefix:``,basename:n};if(n.length>255)throw Error(`createTarball: path too long (${n.length} > 255 chars): ${n}`);for(let a=Math.min(n.length-1,155);a>0;a--)if(n[a]===`/`&&n.length-a-1<=100)return{prefix:n.slice(0,a),basename:n.slice(a+1)};throw Error(`createTarball: cannot split path into ustar prefix+basename (basename slot is 100 chars): ${n}`)}function writeAscii(n,a,S,C){let N=new TextEncoder().encode(a);if(N.length>C)throw Error(`createTarball: field too long (${N.length} > ${C}): "${a}"`);n.set(N,S)}function writeOctal(n,a,S,C){writeAscii(n,a.toString(8).padStart(C,`0`),S,C)}function padTo512(n){let a=n%512;return a===0?0:512-a}function ensureTrailingSlash(n){return n.endsWith(`/`)?n:`${n}/`}function defaultFileMode(n){return n.length>=2&&n[0]===35&&n[1]===33?493:420}function concatChunks(n){let a=0;for(let S of n)a+=S.byteLength;let S=new Uint8Array(a),C=0;for(let a of n)S.set(a,C),C+=a.byteLength;return S}var FM=__esmMin(()=>{});async function extractTarball(n,a,S={}){let C=n instanceof Uint8Array?n:new Uint8Array(n),N=parseTar(S.gzip??(C.length>=2&&C[0]===31&&C[1]===139)?await gunzip(C):C);mkdirSync(a,{recursive:!0});let F=S.strip??1,I=S.preventEscape??!0,H={files:[],directories:[],symlinks:[],skipped:0};for(let n of N){let C=stripComponents(n.name,F);if(C===null||C===``){H.skipped++;continue}let N=$o(a,C);if(I&&!isInside(N,a))throw Error(`tar: refusing to extract ${n.name} outside ${a} (resolved=${N})`);if(S.filter&&!S.filter(n,N)){H.skipped++;continue}if(n.type===`directory`){mkdirSync(N,{recursive:!0}),H.directories.push(N);continue}if(n.type===`file`){mkdirSync(as(N),{recursive:!0}),writeFileSync(N,n.body);let a=S.chmod?.(n,N)??n.mode&511;if(a>0)try{chmodSync(N,a)}catch{}H.files.push(N);continue}if(n.type===`symlink`){mkdirSync(as(N),{recursive:!0});try{symlinkSync(n.linkname,N),H.symlinks.push(N)}catch{writeFileSync(N,n.linkname),H.files.push(N)}continue}H.skipped++}return H}async function gunzip(n){let a=globalThis.DecompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.DecompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function gzip(n){let a=globalThis.CompressionStream;if(typeof a!=`function`)throw Error(`@gjsify/tar: globalThis.CompressionStream is not available — import '@gjsify/compression-streams/register' on GJS to register it`);return drainStream(new Blob([new Uint8Array(n)]).stream().pipeThrough(new a(`gzip`)))}async function drainStream(n){let a=[],S=0,C=n.getReader();for(;;){let{value:n,done:N}=await C.read();if(N)break;let F=n instanceof Uint8Array?n:new Uint8Array(n);a.push(F),S+=F.length}let N=new Uint8Array(S),F=0;for(let n of a)N.set(n,F),F+=n.length;return N}function stripComponents(n,a){if(a<=0)return n;let S=n.split(`/`).filter(n=>n!==``);return S.length<=a?null:S.slice(a).join(`/`)}function isInside(n,a){let S=rs(a,n);return S!==``&&!S.startsWith(`..`)&&!ts(S)}var IM=__esmMin(()=>{PM(),Zc(),ps()}),LM=__exportAll$3({BLOCK_SIZE:()=>512,TarParseError:()=>TarParseError,createTarball:()=>createTarball,extractTarball:()=>extractTarball,gunzip:()=>gunzip,gzip:()=>gzip,parseTar:()=>parseTar}),RM=__esmMin(()=>{PM(),FM(),IM()});function gjsifyCacheRoot(n,a){let S=process.env.XDG_CACHE_HOME;return ns(S&&S.length>0?S:ns(homedir(),`.cache`),`gjsify`,n,a)}function atomicWrite(n,a){try{mkdirSync(ns(n,`..`),{recursive:!0});let S=`${n}.tmp.${process.pid}`;writeFileSync(S,a),renameSync(S,n)}catch{}}function readCacheFile(n){if(!existsSync(n))return null;try{let a=readFileSync(n);return a.length===0?null:a}catch{return null}}var zM=__esmMin(()=>{Zc(),Wp(),ps()});function cacheRoot$1(){return gjsifyCacheRoot(`tarballs`,BM)}function parseSri(n){if(!n)return null;let a=n.indexOf(`-`);if(a<=0||a===n.length-1)return null;let S=n.slice(0,a),C=n.slice(a+1).replace(/=+$/,``),N;try{N=Buffer.from(C,`base64`).toString(`hex`)}catch{return null}return N.length<4?null:{algorithm:S,hex:N}}function pathFor$1(n){let a=parseSri(n);if(!a)return null;let S=a.hex.slice(0,2);return ns(cacheRoot$1(),a.algorithm,S,`${a.hex}.tgz`)}function getCachedTarball(n){let a=pathFor$1(n);return a?readCacheFile(a):null}function putCachedTarball(n,a){let S=pathFor$1(n);S&&(existsSync(S)||atomicWrite(S,a))}function npmCacacheContentDir(){let n=process.env.GJSIFY_NPM_CACHE;if(n!==void 0){let a=n.trim();return a===``||a===`0`||a===`false`?null:ns(a.endsWith(`_cacache`)?a:ns(a,`_cacache`),`content-v2`)}let a=process.env.npm_config_cache;return ns(a&&a.length>0?a:ns(homedir(),`.npm`),`_cacache`,`content-v2`)}function npmCachePathFor(n){let a=npmCacacheContentDir();if(!a)return null;let S=parseSri(n);return S?ns(a,S.algorithm,S.hex.slice(0,2),S.hex.slice(2,4),S.hex.slice(4)):null}function getForeignCachedTarball(n){let a=npmCachePathFor(n);return a?readCacheFile(a):null}var BM,VM=__esmMin(()=>{Zc(),Wp(),ps(),zM(),BM=`v1`,__name$1(cacheRoot$1,`cacheRoot`),__name$1(pathFor$1,`pathFor`)});function isEnabled(){let n=process.env.GJSIFY_PACKUMENT_CACHE;if(n===void 0)return!0;let a=n.trim();return!(a===`0`||a===`false`||a===``)}function cacheRoot(){return gjsifyCacheRoot(`metadata`,HM)}function shardFor(n){let a=2166136261;for(let S=0;S<n.length;S++)a^=n.charCodeAt(S),a=Math.imul(a,16777619);return(a>>>0&255).toString(16).padStart(2,`0`)}function pathFor(n,a){if(!isEnabled())return null;let S=`${n}|${a}`,C=`${encodeURIComponent(n)}|${encodeURIComponent(a)}.json`;return ns(cacheRoot(),shardFor(S),C)}function getCachedPackument(n,a){let S=pathFor(n,a);if(!S)return null;let C=readCacheFile(S);if(!C)return null;try{let n=JSON.parse(C.toString(`utf-8`));return typeof n.etag!=`string`||!n.etag||!n.packument||typeof n.packument!=`object`?null:{etag:n.etag,packument:n.packument}}catch{return null}}function putCachedPackument(n,a,S,C){if(!S)return;let N=pathFor(n,a);N&&atomicWrite(N,JSON.stringify({etag:S,packument:C}))}var HM,UM=__esmMin(()=>{ps(),zM(),HM=`v1`});function parseNodeMajor(n){return Number.parseInt(String(n).split(`.`,1)[0]??``,10)}function nativeBackendNodeError(n,a){if(!a)return null;let S=parseNodeMajor(n);return!Number.isFinite(S)||S>=24?null:`gjsify install (native backend) requires Node ≥ 24, but this is Node ${n}. Its prebuilt native modules are ABI-locked to Node 24 and crash on older majors. Use Node 24 (nvm/asdf locally, actions/setup-node in CI), or run with --backend npm.`}function onRealNode(){return globalThis.imports?.system?.version===void 0?isNode():!1}function assertNativeBackendNodeVersion(){let n=nativeBackendNodeError(process.versions.node,onRealNode());if(n)throw Error(n)}var WM=__esmMin(()=>{zg()}),GM=__exportAll$3({installPackagesNative:()=>installPackagesNative,parseSpec:()=>parseSpec,pickVersion:()=>pickVersion});async function installPackagesNative(n){if(assertNativeBackendNodeVersion(),n.specs.length===0)throw Error(`installPackagesNative: empty specs list`);mkdirSync(n.prefix,{recursive:!0});let a=await loadNpmrc$1(n),S=makeLogger(n.verbose??!1),C=n.progress,N=ns(n.prefix,qM),F=readLockfile(N),I;if(n.frozen){if(!F)throw Error(`install: --immutable requires ${qM} at ${n.prefix} — none found. Run \`gjsify install\` (without --immutable) to generate one and commit it.`);let a=describeLockfileDrift(F,n.specs);if(a)throw Error(`install: --immutable but ${N} is stale.\n${a}\nRe-run \`gjsify install\` (without --immutable) to refresh the lockfile.`);S(`install: --immutable, using lockfile (%d package(s))`,Object.keys(F.packages).length),I=lockfileToNodes(F)}else if(!n.refreshLockfile&&F&&lockfileMatchesRequest(F,n.specs))S(`install: using lockfile (%d package(s))`,Object.keys(F.packages).length),I=lockfileToNodes(F);else{let H=!n.refreshLockfile&&F?buildPreferredVersions(F):void 0;S(`install: resolving %d top-level spec(s) → %s%s`,n.specs.length,n.prefix,H?` (preserving ${H.size} locked name(s))`:``),I=await resolveDeps(n.specs,a,S,n.overrides,n.skipDeps,n.signal,C,H,n.workspaceNames),n.lockfile&&(writeLockfile(N,n.specs,I),S(`install: wrote %s (%d entries)`,qM,I.length))}if(n.workspaceNames&&n.workspaceNames.size>0){let a=I.length;I=I.filter(a=>!n.workspaceNames.has(a.name));let C=a-I.length;C>0&&S(`install: %d workspace-provided package(s) symlinked, not fetched`,C)}return S(`install: downloading %d tarball(s)`,I.length),await downloadAndExtractAll(I,n.prefix,a,S,n.signal,C),await linkBins(I,n.prefix,S),S(`install: done`),topLevelResolutions(n.specs,I)}function errMsg(n){return n instanceof Error?n.message:String(n)}function topLevelResolutions(n,a){let S=new Map;for(let n of a)n.installPath===`node_modules/${n.name}`&&S.set(n.name,n);let C=[];for(let a of n){let n=parseSpecName(a),N=S.get(n);N&&C.push({name:N.name,version:N.version})}return C}function parseSpecName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a===-1)return n;let S=n.indexOf(`@`,a+1);return S===-1?n:n.slice(0,S)}let a=n.indexOf(`@`);return a===-1?n:n.slice(0,a)}async function resolveDeps(n,a,S,C,N,F,I,H,W){I?.beginPhase(`resolve`,n.length);let applyOverride=(n,a)=>{if(!C)return a;let N=C[n];return typeof N!=`string`||N.length===0||N===a?a:(S(`install: override %s %s → %s`,n,a,N),N)},K=new Map,fetchPkg=n=>{let C=K.get(n);if(C)return C;let N=fetchPackumentWithDiskCache(n,a,S,F);return K.set(n,N),N},q=new Map,Y=new Map,X=n.map(parseSpec).map(n=>({from:null,name:n.name,range:applyOverride(n.name,n.range),required:!0}));for(;X.length>0;){let n=X.splice(0,X.length),a=[],C=new Set;for(let S of n)K.has(S.name)||C.has(S.name)||(C.add(S.name),a.push(S.name));await prefetchPackuments(a,fetchPkg,F);for(let a=0;a<n.length;a++){let C=n[a];if(W?.has(C.name))continue;let F=findVisible(C.from,C.name,q);if(F&&satisfiesRange(F.version,C.range))continue;let K=null;try{let F=await fetchPkg(C.name),W=preferredVersionFor(H?.get(C.name),C.range);if(K=pickVersion(F,C.range,W),!K){if(!C.required)continue;throw Error(`No version of ${C.name} satisfies ${C.range}`)}let te=F.versions[K];if(!te)throw Error(`Packument for ${C.name} promised ${K} but no entry exists`);let ne=decidePlacement(C.from,C.name,K,Y),re={name:C.name,version:K,tarballUrl:te.dist.tarball,integrity:te.dist.integrity,installPath:ne,dependencies:te.dependencies??{},optionalDependencies:te.optionalDependencies??{},bin:te.bin};if(q.set(ne,re),ne===`node_modules/${C.name}`&&Y.set(C.name,re),S(`resolve: %s@%s ← %s (at %s)`,C.name,K,C.range,ne),I?.update({phase:`resolve`,current:q.size,total:q.size+(n.length-a-1)+X.length,name:`${C.name}@${K}`}),!N){for(let[n,a]of Object.entries(re.dependencies))X.push({from:ne,name:n,range:applyOverride(n,a),required:!0});for(let[n,a]of Object.entries(re.optionalDependencies))X.push({from:ne,name:n,range:applyOverride(n,a),required:!1})}}catch(n){if(!C.required){S(`resolve: optional dep %s@%s skipped (%s)`,C.name,C.range,n.message);continue}throw n}}}return I?.endPhase(`resolve`),Array.from(q.values())}async function fetchPackumentWithDiskCache(n,a,S,C){let N=registryFor(n,a),F=getCachedPackument(N,n),onRetry=({attempt:a,error:C,delayMs:N})=>{S(`packument %s: retry %d after %dms (%s)`,n,a,N,errMsg(C))},I=await fetchPackumentConditional(n,{npmrc:a,signal:C,ifNoneMatch:F?.etag,onRetry});return I.status===`not-modified`&&F?(S(`packument-cache-hit: %s (304, etag %s)`,n,F.etag),F.packument):I.status===`fresh`&&I.packument?(I.etag&&putCachedPackument(N,n,I.etag,I.packument),I.packument):fetchPackument(n,{npmrc:a,signal:C,onRetry})}async function prefetchPackuments(n,a,S){if(n.length===0)return;let C=0,N=Math.max(1,Math.min(KM,n.length)),worker=async()=>{for(;C<n.length;){if(S?.aborted)return;let N=n[C++];try{await a(N)}catch{}}};await Promise.all(Array.from({length:N},()=>worker()))}function findVisible(n,a,S){let C=[];if(n!==null){C.push(`${n}/node_modules/${a}`);let S=n;for(;;){let n=S.lastIndexOf(`/node_modules/`);if(n<0||(S=S.slice(0,n),C.push(`${S}/node_modules/${a}`),S===``))break}}C.push(`node_modules/${a}`);for(let n of C){let a=S.get(n);if(a)return a}return null}function decidePlacement(n,a,S,C){let N=C.get(a);return!N||N.version===S||n===null?`node_modules/${a}`:`${n}/node_modules/${a}`}function satisfiesRange(n,a){try{return satisfies(n,new AM(a))}catch{return!1}}function readLockfile(n){if(!existsSync(n))return null;try{let a=JSON.parse(readFileSync(n,`utf-8`));return a.lockfileVersion!==JM||!a.packages||typeof a.packages!=`object`?null:a}catch{return null}}function writeLockfile(n,a,S){let C={},N=[...S].sort((n,a)=>n.installPath<a.installPath?-1:+(n.installPath>a.installPath));for(let n of N)C[n.installPath]={version:n.version,resolved:n.tarballUrl,integrity:n.integrity,dependencies:Object.keys(n.dependencies).length>0?n.dependencies:void 0,bin:n.bin};let F={lockfileVersion:JM,requested:[...a],packages:C};writeFileSync(n,JSON.stringify(F,null,2)+`
793
798
  `)}function buildPreferredVersions(n){let a=new Map;for(let[S,C]of Object.entries(n.packages)){let n=nameFromInstallPath(S),N=a.get(n);N||(N=new Set,a.set(n,N)),N.add(C.version)}return a}function preferredVersionFor(n,a){if(!n||n.size===0)return;let S;for(let C of n)satisfiesRange(C,a)&&(S===void 0||new SemVer(C).compare(new SemVer(S))>0)&&(S=C);return S}function lockfileToNodes(n){return Object.entries(n.packages).map(([n,a])=>({name:nameFromInstallPath(n),version:a.version,tarballUrl:a.resolved,integrity:a.integrity,installPath:n,dependencies:a.dependencies??{},optionalDependencies:{},bin:a.bin}))}function nameFromInstallPath(n){let a=n.lastIndexOf(`/node_modules/`);return a<0?n.replace(/^node_modules\//,``):n.slice(a+14)}function lockfileMatchesRequest(n,a){if(n.requested.length!==a.length)return!1;let S=[...n.requested].sort(),C=[...a].sort();return S.every((n,a)=>n===C[a])}function describeLockfileDrift(n,a){let S=new Set(n.requested),C=new Set(a),N=[],F=[];for(let n of C)S.has(n)||N.push(n);for(let n of S)C.has(n)||F.push(n);if(N.length===0&&F.length===0)return null;let I=[];return N.length>0&&I.push(` + ${N.sort().join(`
794
799
  + `)}`),F.length>0&&I.push(` - ${F.sort().join(`
795
800
  - `)}`),I.join(`
796
- `)}function parseSpec(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw Error(`Invalid spec (scoped name without slash): ${n}`);let S=n.indexOf(`@`,a);return S<0?{name:n,range:`latest`}:{name:n.slice(0,S),range:n.slice(S+1)||`latest`}}let a=n.indexOf(`@`);return a<0?{name:n,range:`latest`}:{name:n.slice(0,a),range:n.slice(a+1)||`latest`}}function pickVersion(n,a,S){if(S&&n.versions[S]&&satisfiesRange(S,a))return S;if(n[`dist-tags`][a])return n[`dist-tags`][a];let C;try{C=new wM(a)}catch{throw Error(`Invalid version range for ${n.name}: ${a}`)}return maxSatisfying(Object.keys(n.versions).filter(n=>{try{return new SemVer(n),!0}catch{return!1}}),C)}async function downloadAndExtractAll(n,a,S,C,N,F){let I=[...n].sort((n,a)=>depth(n.installPath)-depth(a.installPath)||(n.installPath<a.installPath?-1:1)),H=[],W=Math.max(1,Math.min(zM,I.length));F?.beginPhase(`download`,I.length);let K=0,q=0,tickProgress=(n,a)=>{K++,a&&q++,F?.update({phase:`download`,current:K,total:I.length,name:`${n.name}@${n.version}`})},Y=0,X=I.findIndex(n=>depth(n.installPath)>1),te=X<0?I.length:X;for(;Y<te;){if(N?.aborted)throw abortError(N);let n=I[Y++];if(!n)break;tickProgress(n,await extractOne(n,a,S,C,N))}for(let n=0;n<W;n++)H.push((async()=>{for(;;){if(N?.aborted)throw abortError(N);let n=Y++;if(n>=I.length)return;let F=I[n];if(!F)return;tickProgress(F,await extractOne(F,a,S,C,N))}})());await Promise.all(H),F?.endPhase(`download`),q>0&&C(`install: %d/%d package(s) already up to date — extracted %d`,q,I.length,I.length-q)}function isAlreadyExtracted(n,a){let S=ns(n,`package.json`),C;try{C=readFileSync(S,`utf-8`)}catch{return!1}try{let n=JSON.parse(C);return!(n.version!==a.version||typeof n.name==`string`&&n.name!==a.name)}catch{return!1}}async function extractOne(n,a,S,C,N){let F=ns(a,n.installPath);if(assertNodeModulesDest(F,n),process.env.GJSIFY_INSTALL_FORCE_EXTRACT!==`1`&&isAlreadyExtracted(F,n))return C(`up-to-date: %s@%s (already extracted at %s)`,n.name,n.version,n.installPath),!0;let I=getCachedTarball(n.integrity);return I?C(`cache-hit: %s@%s ← %s`,n.name,n.version,n.integrity):(I=getForeignCachedTarball(n.integrity))?(C(`npm-cache-hit: %s@%s ← %s`,n.name,n.version,n.integrity),putCachedTarball(n.integrity,I)):(C(`fetch: %s@%s ← %s (→ %s)`,n.name,n.version,n.tarballUrl,n.installPath),I=await fetchTarball(n.tarballUrl,{npmrc:S,signal:N,integrity:n.integrity,onRetry:({attempt:a,error:S,delayMs:N})=>{C(`tarball %s@%s: retry %d after %dms (%s)`,n.name,n.version,a,N,errMsg(S))}}),putCachedTarball(n.integrity,I)),rmSync(F,{recursive:!0,force:!0}),mkdirSync(F,{recursive:!0}),await extractTarball(I,F),!1}function abortError(n){let a=n&&`reason`in n?n.reason:void 0;if(a instanceof Error)return a;let S=Error(`Aborted`);return S.name=`AbortError`,S}function assertNodeModulesDest(n,a){if(!n.split(us).includes(`node_modules`))throw Error(`gjsify install: refusing to extract ${a.name}@${a.version} into ${n} — target is not inside a node_modules/ directory. This would overwrite working-tree files. A workspace package likely leaked into the fetch queue (it must be symlinked, not fetched).`);let S;try{S=realpathSync(n)}catch{return}if(!S.split(us).includes(`node_modules`))throw Error(`gjsify install: refusing to extract ${a.name}@${a.version} — ${n} resolves to ${S}, which is outside any node_modules/ directory (likely a symlink to a workspace source tree). Extracting here would delete working-tree source files.`)}function depth(n){return n.split(`/node_modules/`).length}async function linkBins(n,a,S){let C=ns(a,`node_modules`,`.bin`),N=0;for(let S of n){if(!S.bin||depth(S.installPath)!==1)continue;let n=normalizeBin$1(S.name,S.bin);if(n.size!==0){mkdirSync(C,{recursive:!0});for(let[F,I]of n){let n=ns(a,S.installPath,I);if(!existsSync(n))continue;try{chmodSync(n,493)}catch{}let H=ns(C,F);rmSync(H,{force:!0});let W=rs(C,n);try{symlinkSync(W,H),N++}catch{copyFileSync(n,H),chmodSync(H,493),N++}}}}N>0&&S(`bin: linked %d entry(ies) under .bin/`,N)}function normalizeBin$1(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}async function loadNpmrc$1(n){let a=homedir(),S={registry:n.registry??EM,scopes:{},authTokens:{},basicAuth:{}};for(let C of[ns(a,`.npmrc`),ns(n.prefix,`.npmrc`)])if(existsSync(C))try{let n=parseNpmrc(readFileSync(C,`utf-8`));S={...S,...n,scopes:{...S.scopes,...n.scopes}}}catch(n){ke.warn(`gjsify install: ignoring malformed ${C}: ${n.message}`)}let C=process.env.npm_config_registry;return C&&(S.registry=C),n.registry&&(S.registry=n.registry),S}function makeLogger(n){return n?(n,...a)=>{let S=n.replace(/%s|%d/g,()=>String(a.shift()));process.stderr.write(`gjsify install: ${S}\n`)}:()=>{}}var zM,BM,VM,HM=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),TM(),DM(),MM(),FM(),LM(),zM=Number(process.env.GJSIFY_INSTALL_CONCURRENCY??`16`)||16,BM=`gjsify-lock.json`,VM=2,__name$1(normalizeBin$1,`normalizeBin`),__name$1(loadNpmrc$1,`loadNpmrc`)}),UM=__exportAll$3({installPackages:()=>installPackages,makeProgressReporter:()=>makeProgressReporter});async function installPackages(n){if(WM===`npm`)return await installViaNpm(n),{installed:[]};let{installPackagesNative:a}=await Promise.resolve().then(()=>(HM(),RM));return{installed:await a(n)}}async function installViaNpm({prefix:n,specs:a,verbose:S,registry:C}){if(a.length===0)throw Error(`installPackages: empty specs list`);writeFileSync(ns(n,`package.json`),JSON.stringify({name:`gjsify-dlx-cache`,version:`0.0.0`,private:!0},null,2)),C&&writeFileSync(ns(n,`.npmrc`),`registry=${C}\n`);let N=[`install`,`--no-package-lock`,`--no-audit`,`--no-fund`,`--prefix`,n,...S?[`--loglevel`,`verbose`]:[`--loglevel`,`warn`],...a];await new Promise((n,a)=>{let S=spawn(`npm`,N,{stdio:`inherit`});S.on(`close`,S=>{S===0?n():a(Error(`npm install exited with code ${S}`))}),S.on(`error`,n=>{let S=n.code===`ENOENT`?`npm not found on PATH — install Node.js or set GJSIFY_INSTALL_BACKEND=native (not yet supported)`:`npm install failed: ${n.message}`;a(Error(S))})})}var WM,GM=__esmMin(()=>{sC(),Zc(),ps(),xM(),WM=process.env.GJSIFY_INSTALL_BACKEND??`native`});async function ensurePkgDir(n,a){if(n.kind===`local`)return{pkgDir:n.path,cachedPkgName:null};let S=cacheDirFor(createCacheKey({packages:[n.spec]})),C=a.cacheMaxAge>0?getValidCachedPkg(S,a.cacheMaxAge):void 0;if(C)return{pkgDir:resolveInstalledPkgDir(C,n.name),cachedPkgName:n.name};let N=makePrepareDir(S),F=makeProgressReporter({enabled:!a.verbose});return await installPackages({prefix:N,specs:[n.spec],verbose:a.verbose,registry:a.registry,lockfile:!0,frozen:a.frozen,progress:F}),{pkgDir:resolveInstalledPkgDir(symlinkSwap(S,N),n.name),cachedPkgName:n.name}}function splitBinAndArgs(n,a,S){if(!a)return{binName:null,extraArgs:S};let C=ns(n,`package.json`);if(existsSync(C))try{let n=JSON.parse(readFileSync(C,`utf-8`)).gjsify?.bin;if(n&&Object.prototype.hasOwnProperty.call(n,a))return{binName:a,extraArgs:S}}catch{}return{binName:null,extraArgs:[a,...S]}}var KM,qM=__esmMin(()=>{Ae(),ZA(),pM(),mM(),_M(),GM(),Zc(),ps(),KM={command:`dlx <spec> [binOrArg] [extraArgs..]`,description:`Run the GJS bundle of an npm-published package without installing it locally.`,builder:n=>n.parserConfiguration({"populate--":!0}).positional(`spec`,{description:"Package spec (`name`, `name@version`, `@scope/name@spec`, or local path).",type:`string`,demandOption:!0}).positional(`binOrArg`,{description:"Optional bin name when the package defines `gjsify.bin` with multiple entries; otherwise treated as the first argument forwarded to the bundle. To pass a flag here (e.g. `--help`) use the `--` separator: `gjsify dlx <pkg> -- --help`.",type:`string`}).positional(`extraArgs`,{description:"Extra args forwarded to `gjs -m <bundle>`. Use `--` before flags to bypass gjsify-level parsing (`gjsify dlx <pkg> -- --help --verbose`).",type:`string`,array:!0}).option(`cache-max-age`,{description:`Cache TTL in minutes. Defaults to 7 days. Use 0 to bypass cache.`,type:`number`,default:1440*7}).option(`reinstall`,{description:`Bypass the cache for this run (alias for --cache-max-age=0).`,type:`boolean`,default:!1}).option(`frozen`,{description:`Use the project-local gjsify-lock.json verbatim — fail if missing or stale (no resolver pass).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging (passes --loglevel verbose to npm).`,type:`boolean`,default:!1}).option(`registry`,{description:`Registry URL override.`,type:`string`}),handler:async n=>{let a=parseSpec$1(n.spec),S=n.reinstall?0:n[`cache-max-age`],{pkgDir:C,cachedPkgName:N}=await ensurePkgDir(a,{verbose:n.verbose,registry:n.registry,cacheMaxAge:S,frozen:n.frozen}),F=(n[`--`]??[]).map(n=>String(n)),I=[...n.extraArgs??[],...F],{binName:H,extraArgs:W}=splitBinAndArgs(C,n.binOrArg,I),K=resolveGjsEntry(C,H);K.fromFallback&&ke.warn(`[gjsify dlx] package "${N??a.kind}" has no \`gjsify\` field — falling back to package.json#main. Add \`gjsify.main\` to silence.`),await runGjsBundle(K.bundlePath,W,{exitOnSuccess:!0})}}});function defaultGlobalLayout(){let n=process.env.GJSIFY_GLOBAL_PREFIX,a=process.env.GJSIFY_GLOBAL_BIN_DIR,S=homedir(),C=process.env.XDG_DATA_HOME??ns(S,`.local`,`share`);return{prefix:n??ns(C,`gjsify`,`global`),binDir:a??ns(S,`.local`,`bin`)}}function hasBundlerEngineInstalled(n){return existsSync(ns(n,`node_modules`,`@gjsify/rolldown-native`,`package.json`))}async function installGjsEnginePackages(n,a,S={}){let C=S.verbose??!1,N=S.installFn??(async a=>{let{installPackages:S}=await Promise.resolve().then(()=>(GM(),UM));await S({prefix:n,specs:[a],verbose:C})});for(let n of JM){let S=a?`${n}@${a}`:n;try{await N(S)}catch(S){let N=S instanceof Error?S.message:String(S);n===`@gjsify/rolldown-native`?ke.warn(`\nWarning: could not install the GJS bundler engine ${n}@${a} — ${N}\n \`gjsify build\` (and storybook / flatpak) will fail under GJS until it is present.\n This usually means no prebuild is published for this platform (${process.platform}/${process.arch}).`):C&&ke.warn(`gjsify install: optional GJS engine ${n}@${a} not installed — ${N}`)}}}function linkGlobalBins(n,a){mkdirSync(a.binDir,{recursive:!0});let S=[],C=buildLauncherEnvPreamble(detectNativePackages(a.prefix).map(n=>n.prebuildsDir));for(let N of n){let n=ns(a.prefix,`node_modules`,N),F=ns(n,`package.json`);if(!existsSync(F))continue;let I=pickBinMap(N,readJson(F));if(!(!I||I.size===0))for(let[N,F]of I){let I=ns(n,F);if(!existsSync(I))continue;try{chmodSync(I,493)}catch{}let H=ns(a.binDir,N);rmSync(H,{force:!0}),writeFileSync(H,I.endsWith(`.gjs.mjs`)||I.endsWith(`.mjs`)?`#!/bin/sh\n${C}exec gjs -m ${shQuote(I)} "$@"\n`:`#!/bin/sh\nexec ${shQuote(I)} "$@"\n`),chmodSync(H,493),S.push({name:N,target:I,link:H})}}return S}function shQuote(n){return`'${n.replace(/'/g,`'\\''`)}'`}function buildLauncherEnvPreamble(n){if(n.length===0)return``;let a=shQuote(n.join(`:`));return`GI_TYPELIB_PATH=${a}\${GI_TYPELIB_PATH:+":$GI_TYPELIB_PATH"}\nLD_LIBRARY_PATH=${a}\${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}\nexport GI_TYPELIB_PATH LD_LIBRARY_PATH\n`}function pickBinMap(n,a){let S=a.gjsify;if(S?.bin!==void 0)return normalizeBin(n,S.bin);let C=a.bin;return C===void 0?null:normalizeBin(n,C)}function normalizeBin(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}function readJson(n){return JSON.parse(readFileSync(n,`utf-8`))}function binDirOnPath(n){let a=process.env.PATH??``,S=process.platform===`win32`?`;`:`:`,C=$o(n);return a.split(S).some(n=>n&&$o(n)===C)}function specToPackageName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)return n;let S=n.indexOf(`@`,a);return S<0?n:n.slice(0,S)}let a=n.indexOf(`@`);return a<0?n:n.slice(0,a)}var JM,YM=__esmMin(()=>{Ae(),Zc(),Wp(),ps(),YA(),JM=[`@gjsify/rolldown-native`,`@gjsify/lightningcss-native`,`@gjsify/oxfmt-native`]});function isAbortedFromOverallTimeout(n){if(!n||typeof n!=`object`)return!1;let a=n.name;if(a===`AbortError`)return!0;let S=n.message;return!!(typeof S==`string`&&S.includes(`install-overall-timeout`)||a===`RegistryTimeoutError`)}function isWorkspaceRoot(n){let a=readPackageJson$2(ns(n,`package.json`));return a?a.workspaces!==void 0:!1}function depKindFromArgs(n){return n[`save-dev`]?`devDependencies`:n[`save-peer`]?`peerDependencies`:n[`save-optional`]?`optionalDependencies`:`dependencies`}async function projectInstallNative(n,a){let S=process.cwd(),C=ns(S,`package.json`),N=[`.pnp.cjs`,`.pnp.loader.mjs`].filter(n=>existsSync(ns(S,n)));if(N.length>0)throw Error(`gjsify install uses the node_modules linker and cannot run in a Yarn PnP project (found ${N.join(`, `)} in ${S}).\n\n• If this project uses \`gjsify install\` to manage dependencies, these PnP files are stale residue from an earlier \`yarn install\` — remove them and re-run:\n rm -f .pnp.cjs .pnp.loader.mjs && rm -rf .yarn/cache .yarn/unplugged\n gjsify install\n\n• If instead you want Yarn to manage dependencies, set \`nodeLinker: node-modules\` in .yarnrc.yml and run \`yarn install\` (not \`gjsify install\`).`);if((!n.packages||n.packages.length===0)&&isWorkspaceRoot(S)){await workspaceInstall(S,n,a);return}let F,I=readPackageJson$2(C),H=I?projectSpecsFromPackageJson(I):[];if(n.packages&&n.packages.length>0){let a=new Set(n.packages.map(n=>parseSpec$2(n).name));F=[...H.filter(n=>!a.has(parseSpec$2(n).name)),...n.packages]}else{if(!I)throw Error(`gjsify install: no package.json in ${S}`);if(F=H,F.length===0){ke.log(`gjsify install: no dependencies declared in package.json — nothing to do.`);return}}mkdirSync(S,{recursive:!0});let W=makeProgressReporter({enabled:!n.verbose&&!n.quiet&&n.progress!==!1}),K=await installPackages({prefix:S,specs:F,verbose:n.verbose,lockfile:!n.immutable,frozen:n.immutable,refreshLockfile:n[`refresh-lockfile`],signal:a,progress:W});if(n.packages&&n.packages.length>0&&I){let a=depKindFromArgs(n);for(let S of n.packages){let{name:n,range:C}=parseSpec$2(S),N=K.installed.find(a=>a.name===n);addDependencyEntry(I,n,C??(N?defaultRangeFromVersion(N.version):`latest`),a)}writePackageJson(C,I),n.immutable||syncLockfileRequested(S,projectSpecsFromPackageJson(I))}}function syncLockfileRequested(n,a){let S=ns(n,`gjsify-lock.json`);if(existsSync(S))try{let n=JSON.parse(readFileSync(S,`utf-8`)),C=[...a].sort(),N=[...n.requested??[]].sort();if(C.length===N.length&&C.every((n,a)=>n===N[a]))return;n.requested=a,writeFileSync(S,JSON.stringify(n,null,2)+`
797
- `)}catch{}}async function workspaceInstall(n,a,S){let C=discoverWorkspaces(n,{includeRoot:!0});if(C.length===0)throw Error(`gjsify install: ${n} has a "workspaces" field but no workspaces were discovered`);let N=new Map(C.map(n=>[n.name,n])),F=new Set,I=[];for(let n of C){let a=n.manifest;for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a[S];if(C)for(let[a,S]of Object.entries(C)){if(typeof S!=`string`)continue;let C=N.get(a);if(C&&!/^(link|file|portal|git\+|https?):/.test(S)){I.push({fromWorkspaceName:n.name,depName:a,targetLocation:C.location});continue}if(S.startsWith(`workspace:`))throw Error(`gjsify install: ${n.name} declares "${a}: ${S}" but no workspace with that name exists`);/^(link|file|portal|git\+|https?):/.test(S)||F.add(`${a}@${S}`)}}}ke.log(`gjsify install: ${C.length} workspace(s), ${F.size} external dep spec(s), ${I.length} workspace symlink(s)`),writeWorkspaceBinShims(n,C);let wireWorkspaceSymlinks=async()=>{if(I.length>0){let n=await Promise.resolve().then(()=>(kc(),Ec)),a=new Set,S=[];for(let n of I){let C=N.get(n.fromWorkspaceName);if(!C)continue;let F=ns(C.location,`node_modules`,n.depName);a.add(as(F));let I=rs(as(F),n.targetLocation);S.push({linkPath:F,relTarget:I})}await Promise.all([...a].map(a=>n.mkdir(a,{recursive:!0})));let C=0,F=[],wireOne=async(a,S)=>{try{await n.rm(a,{recursive:!0,force:!0})}catch{}await n.symlink(S,a)};for(let n=0;n<Math.min(32,S.length);n++)F.push((async()=>{for(;;){let n=C++;if(n>=S.length)return;let a=S[n];if(!a)return;await wireOne(a.linkPath,a.relTarget)}})());await Promise.all(F),ke.log(`gjsify install: wired ${I.length} workspace symlink(s)`)}let a=ns(n,`node_modules`),S=0;for(let N of C){if(N.location===n||!N.name)continue;let C=ns(a,N.name),F=!1;try{lstatSync(C),F=!0}catch{}F||(mkdirSync(as(C),{recursive:!0}),symlinkSync(rs(as(C),N.location),C),S++)}S>0&&ke.log(`gjsify install: hoisted ${S} workspace(s) to root node_modules/`)};await wireWorkspaceSymlinks();let H=C.find(a=>a.location===n)?.manifest,W=extractOverrides(H),K=W?.global,q=new Map,Y=new Set;if(W&&W.scoped.size>0){for(let n of C){let a=n.manifest;for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a[S];if(C)for(let[a,S]of Object.entries(C)){let C=scopedOverrideFor(n,a,W);if(!C)continue;let N=C,F=n.location,I=q.get(F);I||(I=new Set,q.set(F,I)),I.add(`${a}@${N}`),Y.add(`${a}@${S}`)}}}let n=new Set;for(let a of C)for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a.manifest[S];if(C)for(let[S,N]of Object.entries(C))scopedOverrideFor(a,S,W)||n.add(`${S}@${N}`)}for(let a of Y)n.has(a)||F.delete(a);q.size>0&&ke.log(`gjsify install: ${q.size} workspace(s) have scoped overrides — they will install their overridden deps locally after the root install`)}if(F.size>0){let C=makeProgressReporter({enabled:!a.verbose&&!a.quiet&&a.progress!==!1});await installPackages({prefix:n,specs:[...F],verbose:a.verbose,lockfile:!a.immutable,frozen:a.immutable,refreshLockfile:a[`refresh-lockfile`],overrides:K,signal:S,progress:C})}else a.verbose&&ke.log(`gjsify install: no external deps to fetch`);for(let[n,N]of q){if(N.size===0)continue;let F=C.find(a=>a.location===n)?.name??n;a.verbose&&ke.log(`gjsify install: ${F} — installing ${N.size} scoped-override spec(s) into ${n}/node_modules/`),await installPackages({prefix:n,specs:[...N],verbose:a.verbose,lockfile:!a.immutable,frozen:a.immutable,signal:S})}await wireWorkspaceSymlinks();let X=writeWorkspaceBinShims(n,C);X>0&&ke.log(`gjsify install: linked ${X} workspace bin(s) into node_modules/.bin/`)}function writeWorkspaceBinShims(n,a){let S=ns(n,`node_modules`,`.bin`),C=detectNativePackages(n).map(n=>n.prebuildsDir),N=0;for(let n of a){let a=n.manifest,F=a.gjsify?.bin,I=a.bin,H=mergeWorkspaceBins(n.name,F,I);if(H.size!==0){mkdirSync(S,{recursive:!0});for(let[a,{nodeTarget:F,gjsTarget:I}]of H){let H=ns(S,a);try{rmSync(H,{force:!0})}catch{}writeFileSync(H,buildBinShim(n.location,F,I,C),{mode:493}),chmodSync(H,493),N++}}}return N}function extractOverrides(n){if(!n)return;let a={},S=new Map,merge=(n,C)=>{if(n){for(let[N,F]of Object.entries(n))if(!N.startsWith(`_`)){if(typeof F==`string`){let n=N,S=N.startsWith(`@`)?N.indexOf(`@`,1):N.indexOf(`@`);S>0&&(n=N.slice(0,S)),a[n]=F;continue}if(F&&typeof F==`object`&&!Array.isArray(F)){let n={};for(let[a,S]of Object.entries(F)){if(a.startsWith(`_`))continue;if(typeof S!=`string`){ke.warn(`gjsify install: ${C}["${N}"]["${a}"] is not a string — only one level of nesting is supported, skipping`);continue}let F=a,I=a.startsWith(`@`)?a.indexOf(`@`,1):a.indexOf(`@`);I>0&&(F=a.slice(0,I)),n[F]=S}if(Object.keys(n).length>0){let a=S.get(N)??{};S.set(N,{...a,...n})}continue}ke.warn(`gjsify install: ${C}["${N}"] is not a string or object — skipping`)}}};if(merge(n.overrides,`overrides`),merge(n.resolutions,`resolutions`),!(Object.keys(a).length===0&&S.size===0))return{global:a,scoped:S}}function scopedOverrideFor(n,a,S){if(!S||S.scoped.size===0)return;let C=[n.name,n.relativeLocation];for(let n of C){let C=S.scoped.get(n);if(C?.[a])return C[a]}}function buildBinShim(n,a,S,C=[]){let N=a?ns(n,a):null,F=S?ns(n,S):null,I=C.length===0?``:(()=>{let n=`'${C.join(`:`).replace(/'/g,`'\\''`)}'`;return`GI_TYPELIB_PATH=${n}\${GI_TYPELIB_PATH:+":$GI_TYPELIB_PATH"}\nLD_LIBRARY_PATH=${n}\${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}\nexport GI_TYPELIB_PATH LD_LIBRARY_PATH\n`})();if(N&&F)return`#!/bin/sh\nif command -v gjs >/dev/null 2>&1 && [ -f "${F}" ]; then\n${I}exec gjs -m "${F}" "$@"\nfi\nexec node "${N}" "$@"\n`;if(N)return`#!/bin/sh\nexec node "${N}" "$@"\n`;if(F)return`#!/bin/sh\n${I}exec gjs -m "${F}" "$@"\n`;throw Error(`buildBinShim: either nodeTarget or gjsTarget must be provided`)}function mergeWorkspaceBins(n,a,S){let C=new Map,N=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n,get=n=>{let a=C.get(n);return a||(a={},C.set(n,a)),a};if(typeof S==`string`)get(N).nodeTarget=S;else if(S&&typeof S==`object`)for(let[n,a]of Object.entries(S))typeof a==`string`&&a.length>0&&(get(n).nodeTarget=a);if(typeof a==`string`)get(N).gjsTarget=a;else if(a&&typeof a==`object`)for(let[n,S]of Object.entries(a))typeof S==`string`&&S.length>0&&(get(n).gjsTarget=S);return C}async function projectInstallViaNpm(n){let a=[`install`];n[`save-dev`]&&a.push(`--save-dev`),n[`save-peer`]&&a.push(`--save-peer`),n[`save-optional`]&&a.push(`--save-optional`),n.verbose&&a.push(`--loglevel`,`verbose`),n.packages&&n.packages.length>0&&a.push(...n.packages),await spawnNpm(a)}async function spawnNpm(n){return new Promise((a,S)=>{let C=spawn(`npm`,n,{stdio:`inherit`});C.on(`close`,n=>{n===0?a():S(Error(`npm install exited with code ${n}`))}),C.on(`error`,n=>{let a=n.code===`ENOENT`?`npm not found on PATH — install Node.js first.`:`npm install failed: ${n.message}`;S(Error(a))})}).catch(n=>{ke.error(n.message),process.exit(1)})}async function installGlobalAndLink(n,a){let S=defaultGlobalLayout();mkdirSync(S.prefix,{recursive:!0}),ke.log(`gjsify install --global → ${S.prefix}`),ke.log(` bins → ${S.binDir}`);let C=await installPackages({prefix:S.prefix,specs:n,verbose:a.verbose}),N=n.map(specToPackageName);if(N.includes(`@gjsify/cli`)){let n=C.installed.find(n=>n.name===`@gjsify/cli`)?.version??`latest`;await installGjsEnginePackages(S.prefix,n,{verbose:a.verbose})}let F=linkGlobalBins(N,S);if(F.length===0)ke.warn("\nNo bins declared (neither `gjsify.bin` nor `bin` in package.json) — nothing was symlinked.");else{ke.log(`\nLinked ${F.length} bin(s):`);for(let n of F)ke.log(` • ${n.link} → ${n.target}`)}F.length>0&&!binDirOnPath(S.binDir)&&ke.warn(`\nNote: ${S.binDir} is not on your PATH.\nAdd it to your shell rc file:\n export PATH="${S.binDir}:$PATH"`)}async function runPostInstallChecks(){ke.log(`
801
+ `)}function parseSpec(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)throw Error(`Invalid spec (scoped name without slash): ${n}`);let S=n.indexOf(`@`,a);return S<0?{name:n,range:`latest`}:{name:n.slice(0,S),range:n.slice(S+1)||`latest`}}let a=n.indexOf(`@`);return a<0?{name:n,range:`latest`}:{name:n.slice(0,a),range:n.slice(a+1)||`latest`}}function pickVersion(n,a,S){if(S&&n.versions[S]&&satisfiesRange(S,a))return S;if(n[`dist-tags`][a])return n[`dist-tags`][a];let C;try{C=new AM(a)}catch{throw Error(`Invalid version range for ${n.name}: ${a}`)}return maxSatisfying(Object.keys(n.versions).filter(n=>{try{return new SemVer(n),!0}catch{return!1}}),C)}async function downloadAndExtractAll(n,a,S,C,N,F){let I=[...n].sort((n,a)=>depth(n.installPath)-depth(a.installPath)||(n.installPath<a.installPath?-1:1)),H=[],W=Math.max(1,Math.min(KM,I.length));F?.beginPhase(`download`,I.length);let K=0,q=0,tickProgress=(n,a)=>{K++,a&&q++,F?.update({phase:`download`,current:K,total:I.length,name:`${n.name}@${n.version}`})},Y=0,X=I.findIndex(n=>depth(n.installPath)>1),te=X<0?I.length:X;for(;Y<te;){if(N?.aborted)throw abortError(N);let n=I[Y++];if(!n)break;tickProgress(n,await extractOne(n,a,S,C,N))}for(let n=0;n<W;n++)H.push((async()=>{for(;;){if(N?.aborted)throw abortError(N);let n=Y++;if(n>=I.length)return;let F=I[n];if(!F)return;tickProgress(F,await extractOne(F,a,S,C,N))}})());await Promise.all(H),F?.endPhase(`download`),q>0&&C(`install: %d/%d package(s) already up to date — extracted %d`,q,I.length,I.length-q)}function isAlreadyExtracted(n,a){let S=ns(n,`package.json`),C;try{C=readFileSync(S,`utf-8`)}catch{return!1}try{let n=JSON.parse(C);return!(n.version!==a.version||typeof n.name==`string`&&n.name!==a.name)}catch{return!1}}async function extractOne(n,a,S,C,N){let F=ns(a,n.installPath);if(assertNodeModulesDest(F,n),process.env.GJSIFY_INSTALL_FORCE_EXTRACT!==`1`&&isAlreadyExtracted(F,n))return C(`up-to-date: %s@%s (already extracted at %s)`,n.name,n.version,n.installPath),!0;let I=getCachedTarball(n.integrity);return I?C(`cache-hit: %s@%s ← %s`,n.name,n.version,n.integrity):(I=getForeignCachedTarball(n.integrity))?(C(`npm-cache-hit: %s@%s ← %s`,n.name,n.version,n.integrity),putCachedTarball(n.integrity,I)):(C(`fetch: %s@%s ← %s (→ %s)`,n.name,n.version,n.tarballUrl,n.installPath),I=await fetchTarball(n.tarballUrl,{npmrc:S,signal:N,integrity:n.integrity,onRetry:({attempt:a,error:S,delayMs:N})=>{C(`tarball %s@%s: retry %d after %dms (%s)`,n.name,n.version,a,N,errMsg(S))}}),putCachedTarball(n.integrity,I)),rmSync(F,{recursive:!0,force:!0}),mkdirSync(F,{recursive:!0}),await extractTarball(I,F),!1}function abortError(n){let a=n&&`reason`in n?n.reason:void 0;if(a instanceof Error)return a;let S=Error(`Aborted`);return S.name=`AbortError`,S}function assertNodeModulesDest(n,a){if(!n.split(us).includes(`node_modules`))throw Error(`gjsify install: refusing to extract ${a.name}@${a.version} into ${n} — target is not inside a node_modules/ directory. This would overwrite working-tree files. A workspace package likely leaked into the fetch queue (it must be symlinked, not fetched).`);let S;try{S=realpathSync(n)}catch{return}if(!S.split(us).includes(`node_modules`))throw Error(`gjsify install: refusing to extract ${a.name}@${a.version} — ${n} resolves to ${S}, which is outside any node_modules/ directory (likely a symlink to a workspace source tree). Extracting here would delete working-tree source files.`)}function depth(n){return n.split(`/node_modules/`).length}async function linkBins(n,a,S){let C=ns(a,`node_modules`,`.bin`),N=0;for(let S of n){if(!S.bin||depth(S.installPath)!==1)continue;let n=normalizeBin$1(S.name,S.bin);if(n.size!==0){mkdirSync(C,{recursive:!0});for(let[F,I]of n){let n=ns(a,S.installPath,I);if(!existsSync(n))continue;try{chmodSync(n,493)}catch{}let H=ns(C,F);rmSync(H,{force:!0});let W=rs(C,n);try{symlinkSync(W,H),N++}catch{copyFileSync(n,H),chmodSync(H,493),N++}}}}N>0&&S(`bin: linked %d entry(ies) under .bin/`,N)}function normalizeBin$1(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}async function loadNpmrc$1(n){let a=homedir(),S={registry:n.registry??MM,scopes:{},authTokens:{},basicAuth:{}};for(let C of[ns(a,`.npmrc`),ns(n.prefix,`.npmrc`)])if(existsSync(C))try{let n=parseNpmrc(readFileSync(C,`utf-8`));S={...S,...n,scopes:{...S.scopes,...n.scopes}}}catch(n){ke.warn(`gjsify install: ignoring malformed ${C}: ${n.message}`)}let C=process.env.npm_config_registry;return C&&(S.registry=C),n.registry&&(S.registry=n.registry),S}function makeLogger(n){return n?(n,...a)=>{let S=n.replace(/%s|%d/g,()=>String(a.shift()));process.stderr.write(`gjsify install: ${S}\n`)}:()=>{}}var KM,qM,JM,YM=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),jM(),NM(),RM(),VM(),UM(),WM(),KM=Number(process.env.GJSIFY_INSTALL_CONCURRENCY??`16`)||16,qM=`gjsify-lock.json`,JM=2,__name$1(normalizeBin$1,`normalizeBin`),__name$1(loadNpmrc$1,`loadNpmrc`)}),XM=__exportAll$3({installPackages:()=>installPackages,makeProgressReporter:()=>makeProgressReporter});async function installPackages(n){if(ZM===`npm`)return await installViaNpm(n),{installed:[]};let{installPackagesNative:a}=await Promise.resolve().then(()=>(YM(),GM));return{installed:await a(n)}}async function installViaNpm({prefix:n,specs:a,verbose:S,registry:C}){if(a.length===0)throw Error(`installPackages: empty specs list`);writeFileSync(ns(n,`package.json`),JSON.stringify({name:`gjsify-dlx-cache`,version:`0.0.0`,private:!0},null,2)),C&&writeFileSync(ns(n,`.npmrc`),`registry=${C}\n`);let N=[`install`,`--no-package-lock`,`--no-audit`,`--no-fund`,`--prefix`,n,...S?[`--loglevel`,`verbose`]:[`--loglevel`,`warn`],...a];await new Promise((n,a)=>{let S=spawn(`npm`,N,{stdio:`inherit`});S.on(`close`,S=>{S===0?n():a(Error(`npm install exited with code ${S}`))}),S.on(`error`,n=>{let S=n.code===`ENOENT`?`npm not found on PATH — install Node.js or set GJSIFY_INSTALL_BACKEND=native (not yet supported)`:`npm install failed: ${n.message}`;a(Error(S))})})}var ZM,QM=__esmMin(()=>{cC(),Zc(),ps(),DM(),ZM=process.env.GJSIFY_INSTALL_BACKEND??`native`});async function ensurePkgDir(n,a){if(n.kind===`local`)return{pkgDir:n.path,cachedPkgName:null};let S=cacheDirFor(createCacheKey({packages:[n.spec]})),C=a.cacheMaxAge>0?getValidCachedPkg(S,a.cacheMaxAge):void 0;if(C)return{pkgDir:resolveInstalledPkgDir(C,n.name),cachedPkgName:n.name};let N=makePrepareDir(S),F=makeProgressReporter({enabled:!a.verbose});return await installPackages({prefix:N,specs:[n.spec],verbose:a.verbose,registry:a.registry,lockfile:!0,frozen:a.frozen,progress:F}),{pkgDir:resolveInstalledPkgDir(symlinkSwap(S,N),n.name),cachedPkgName:n.name}}function splitBinAndArgs(n,a,S){if(!a)return{binName:null,extraArgs:S};let C=ns(n,`package.json`);if(existsSync(C))try{let n=JSON.parse(readFileSync(C,`utf-8`)).gjsify?.bin;if(n&&Object.prototype.hasOwnProperty.call(n,a))return{binName:a,extraArgs:S}}catch{}return{binName:null,extraArgs:[a,...S]}}var $M,eN=__esmMin(()=>{Ae(),rj(),yM(),bM(),CM(),QM(),Zc(),ps(),$M={command:`dlx <spec> [binOrArg] [extraArgs..]`,description:`Run the GJS bundle of an npm-published package without installing it locally.`,builder:n=>n.parserConfiguration({"populate--":!0}).positional(`spec`,{description:"Package spec (`name`, `name@version`, `@scope/name@spec`, or local path).",type:`string`,demandOption:!0}).positional(`binOrArg`,{description:"Optional bin name when the package defines `gjsify.bin` with multiple entries; otherwise treated as the first argument forwarded to the bundle. To pass a flag here (e.g. `--help`) use the `--` separator: `gjsify dlx <pkg> -- --help`.",type:`string`}).positional(`extraArgs`,{description:"Extra args forwarded to `gjs -m <bundle>`. Use `--` before flags to bypass gjsify-level parsing (`gjsify dlx <pkg> -- --help --verbose`).",type:`string`,array:!0}).option(`cache-max-age`,{description:`Cache TTL in minutes. Defaults to 7 days. Use 0 to bypass cache.`,type:`number`,default:1440*7}).option(`reinstall`,{description:`Bypass the cache for this run (alias for --cache-max-age=0).`,type:`boolean`,default:!1}).option(`frozen`,{description:`Use the project-local gjsify-lock.json verbatim — fail if missing or stale (no resolver pass).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging (passes --loglevel verbose to npm).`,type:`boolean`,default:!1}).option(`registry`,{description:`Registry URL override.`,type:`string`}),handler:async n=>{let a=parseSpec$1(n.spec),S=n.reinstall?0:n[`cache-max-age`],{pkgDir:C,cachedPkgName:N}=await ensurePkgDir(a,{verbose:n.verbose,registry:n.registry,cacheMaxAge:S,frozen:n.frozen}),F=(n[`--`]??[]).map(n=>String(n)),I=[...n.extraArgs??[],...F],{binName:H,extraArgs:W}=splitBinAndArgs(C,n.binOrArg,I),K=resolveGjsEntry(C,H);K.fromFallback&&ke.warn(`[gjsify dlx] package "${N??a.kind}" has no \`gjsify\` field — falling back to package.json#main. Add \`gjsify.main\` to silence.`),await runGjsBundle(K.bundlePath,W,{exitOnSuccess:!0})}}});function defaultGlobalLayout(){let n=process.env.GJSIFY_GLOBAL_PREFIX,a=process.env.GJSIFY_GLOBAL_BIN_DIR,S=homedir(),C=process.env.XDG_DATA_HOME??ns(S,`.local`,`share`);return{prefix:n??ns(C,`gjsify`,`global`),binDir:a??ns(S,`.local`,`bin`)}}function hasBundlerEngineInstalled(n){return existsSync(ns(n,`node_modules`,`@gjsify/rolldown-native`,`package.json`))}async function installGjsEnginePackages(n,a,S={}){let C=S.verbose??!1,N=S.installFn??(async a=>{let{installPackages:S}=await Promise.resolve().then(()=>(QM(),XM));await S({prefix:n,specs:[a],verbose:C})});for(let n of tN){let S=a?`${n}@${a}`:n;try{await N(S)}catch(S){let N=S instanceof Error?S.message:String(S);n===`@gjsify/rolldown-native`?ke.warn(`\nWarning: could not install the GJS bundler engine ${n}@${a} — ${N}\n \`gjsify build\` (and storybook / flatpak) will fail under GJS until it is present.\n This usually means no prebuild is published for this platform (${process.platform}/${process.arch}).`):C&&ke.warn(`gjsify install: optional GJS engine ${n}@${a} not installed — ${N}`)}}}function linkGlobalBins(n,a){mkdirSync(a.binDir,{recursive:!0});let S=[],C=buildLauncherEnvPreamble(detectNativePackages(a.prefix).map(n=>n.prebuildsDir));for(let N of n){let n=ns(a.prefix,`node_modules`,N),F=ns(n,`package.json`);if(!existsSync(F))continue;let I=pickBinMap(N,readJson(F));if(!(!I||I.size===0))for(let[N,F]of I){let I=ns(n,F);if(!existsSync(I))continue;try{chmodSync(I,493)}catch{}let H=ns(a.binDir,N);rmSync(H,{force:!0}),writeFileSync(H,I.endsWith(`.gjs.mjs`)||I.endsWith(`.mjs`)?`#!/bin/sh\n${C}exec gjs -m ${shQuote(I)} "$@"\n`:`#!/bin/sh\nexec ${shQuote(I)} "$@"\n`),chmodSync(H,493),S.push({name:N,target:I,link:H})}}return S}function shQuote(n){return`'${n.replace(/'/g,`'\\''`)}'`}function buildLauncherEnvPreamble(n){if(n.length===0)return``;let a=shQuote(n.join(`:`));return`GI_TYPELIB_PATH=${a}\${GI_TYPELIB_PATH:+":$GI_TYPELIB_PATH"}\nLD_LIBRARY_PATH=${a}\${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}\nexport GI_TYPELIB_PATH LD_LIBRARY_PATH\n`}function pickBinMap(n,a){let S=a.gjsify;if(S?.bin!==void 0)return normalizeBin(n,S.bin);let C=a.bin;return C===void 0?null:normalizeBin(n,C)}function normalizeBin(n,a){let S=new Map;if(typeof a==`string`){let C=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n;return S.set(C,a),S}for(let[n,C]of Object.entries(a))S.set(n,C);return S}function readJson(n){return JSON.parse(readFileSync(n,`utf-8`))}function binDirOnPath(n){let a=process.env.PATH??``,S=process.platform===`win32`?`;`:`:`,C=$o(n);return a.split(S).some(n=>n&&$o(n)===C)}function specToPackageName(n){if(n.startsWith(`@`)){let a=n.indexOf(`/`);if(a<0)return n;let S=n.indexOf(`@`,a);return S<0?n:n.slice(0,S)}let a=n.indexOf(`@`);return a<0?n:n.slice(0,a)}var tN,nN=__esmMin(()=>{Ae(),Zc(),Wp(),ps(),tj(),tN=[`@gjsify/rolldown-native`,`@gjsify/lightningcss-native`,`@gjsify/oxfmt-native`]});function isAbortedFromOverallTimeout(n){if(!n||typeof n!=`object`)return!1;let a=n.name;if(a===`AbortError`)return!0;let S=n.message;return!!(typeof S==`string`&&S.includes(`install-overall-timeout`)||a===`RegistryTimeoutError`)}function isWorkspaceRoot(n){let a=readPackageJson$2(ns(n,`package.json`));return a?a.workspaces!==void 0:!1}function depKindFromArgs(n){return n[`save-dev`]?`devDependencies`:n[`save-peer`]?`peerDependencies`:n[`save-optional`]?`optionalDependencies`:`dependencies`}async function projectInstallNative(n,a){let S=process.cwd(),C=ns(S,`package.json`),N=[`.pnp.cjs`,`.pnp.loader.mjs`].filter(n=>existsSync(ns(S,n)));if(N.length>0)throw Error(`gjsify install uses the node_modules linker and cannot run in a Yarn PnP project (found ${N.join(`, `)} in ${S}).\n\n• If this project uses \`gjsify install\` to manage dependencies, these PnP files are stale residue from an earlier \`yarn install\` — remove them and re-run:\n rm -f .pnp.cjs .pnp.loader.mjs && rm -rf .yarn/cache .yarn/unplugged\n gjsify install\n\n• If instead you want Yarn to manage dependencies, set \`nodeLinker: node-modules\` in .yarnrc.yml and run \`yarn install\` (not \`gjsify install\`).`);if((!n.packages||n.packages.length===0)&&isWorkspaceRoot(S)){await workspaceInstall(S,n,a);return}let F,I=readPackageJson$2(C),H=I?projectSpecsFromPackageJson(I):[];if(n.packages&&n.packages.length>0){let a=new Set(n.packages.map(n=>parseSpec$2(n).name));F=[...H.filter(n=>!a.has(parseSpec$2(n).name)),...n.packages]}else{if(!I)throw Error(`gjsify install: no package.json in ${S}`);if(F=H,F.length===0){ke.log(`gjsify install: no dependencies declared in package.json — nothing to do.`);return}}mkdirSync(S,{recursive:!0});let W=makeProgressReporter({enabled:!n.verbose&&!n.quiet&&n.progress!==!1}),K=await installPackages({prefix:S,specs:F,verbose:n.verbose,lockfile:!n.immutable,frozen:n.immutable,refreshLockfile:n[`refresh-lockfile`],signal:a,progress:W});if(n.packages&&n.packages.length>0&&I){let a=depKindFromArgs(n);for(let S of n.packages){let{name:n,range:C}=parseSpec$2(S),N=K.installed.find(a=>a.name===n);addDependencyEntry(I,n,C??(N?defaultRangeFromVersion(N.version):`latest`),a)}writePackageJson(C,I),n.immutable||syncLockfileRequested(S,projectSpecsFromPackageJson(I))}}function syncLockfileRequested(n,a){let S=ns(n,`gjsify-lock.json`);if(existsSync(S))try{let n=JSON.parse(readFileSync(S,`utf-8`)),C=[...a].sort(),N=[...n.requested??[]].sort();if(C.length===N.length&&C.every((n,a)=>n===N[a]))return;n.requested=a,writeFileSync(S,JSON.stringify(n,null,2)+`
802
+ `)}catch{}}async function workspaceInstall(n,a,S){let C=discoverWorkspaces(n,{includeRoot:!0});if(C.length===0)throw Error(`gjsify install: ${n} has a "workspaces" field but no workspaces were discovered`);let N=new Map(C.map(n=>[n.name,n])),F=new Set,I=[];for(let n of C){let a=n.manifest;for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a[S];if(C)for(let[a,S]of Object.entries(C)){if(typeof S!=`string`)continue;let C=N.get(a);if(C&&!/^(link|file|portal|git\+|https?):/.test(S)){I.push({fromWorkspaceName:n.name,depName:a,targetLocation:C.location});continue}if(S.startsWith(`workspace:`))throw Error(`gjsify install: ${n.name} declares "${a}: ${S}" but no workspace with that name exists`);/^(link|file|portal|git\+|https?):/.test(S)||F.add(`${a}@${S}`)}}}ke.log(`gjsify install: ${C.length} workspace(s), ${F.size} external dep spec(s), ${I.length} workspace symlink(s)`),writeWorkspaceBinShims(n,C);let wireWorkspaceSymlinks=async()=>{if(I.length>0){let n=await Promise.resolve().then(()=>(kc(),Ec)),a=new Set,S=[];for(let n of I){let C=N.get(n.fromWorkspaceName);if(!C)continue;let F=ns(C.location,`node_modules`,n.depName);a.add(as(F));let I=rs(as(F),n.targetLocation);S.push({linkPath:F,relTarget:I})}await Promise.all([...a].map(a=>n.mkdir(a,{recursive:!0})));let C=0,F=[],wireOne=async(a,S)=>{try{await n.rm(a,{recursive:!0,force:!0})}catch{}await n.symlink(S,a)};for(let n=0;n<Math.min(32,S.length);n++)F.push((async()=>{for(;;){let n=C++;if(n>=S.length)return;let a=S[n];if(!a)return;await wireOne(a.linkPath,a.relTarget)}})());await Promise.all(F),ke.log(`gjsify install: wired ${I.length} workspace symlink(s)`)}let a=ns(n,`node_modules`),S=0;for(let N of C){if(N.location===n||!N.name)continue;let C=ns(a,N.name),F=!1;try{lstatSync(C),F=!0}catch{}F||(mkdirSync(as(C),{recursive:!0}),symlinkSync(rs(as(C),N.location),C),S++)}S>0&&ke.log(`gjsify install: hoisted ${S} workspace(s) to root node_modules/`)};await wireWorkspaceSymlinks();let H=C.find(a=>a.location===n)?.manifest,W=extractOverrides(H),K=W?.global,q=new Map,Y=new Set;if(W&&W.scoped.size>0){for(let n of C){let a=n.manifest;for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a[S];if(C)for(let[a,S]of Object.entries(C)){let C=scopedOverrideFor(n,a,W);if(!C)continue;let N=C,F=n.location,I=q.get(F);I||(I=new Set,q.set(F,I)),I.add(`${a}@${N}`),Y.add(`${a}@${S}`)}}}let n=new Set;for(let a of C)for(let S of[`dependencies`,`devDependencies`,`optionalDependencies`]){let C=a.manifest[S];if(C)for(let[S,N]of Object.entries(C))scopedOverrideFor(a,S,W)||n.add(`${S}@${N}`)}for(let a of Y)n.has(a)||F.delete(a);q.size>0&&ke.log(`gjsify install: ${q.size} workspace(s) have scoped overrides — they will install their overridden deps locally after the root install`)}if(F.size>0){let C=makeProgressReporter({enabled:!a.verbose&&!a.quiet&&a.progress!==!1});await installPackages({prefix:n,specs:[...F],verbose:a.verbose,lockfile:!a.immutable,frozen:a.immutable,refreshLockfile:a[`refresh-lockfile`],overrides:K,signal:S,progress:C,workspaceNames:new Set(N.keys())})}else a.verbose&&ke.log(`gjsify install: no external deps to fetch`);for(let[n,F]of q){if(F.size===0)continue;let I=C.find(a=>a.location===n)?.name??n;a.verbose&&ke.log(`gjsify install: ${I} — installing ${F.size} scoped-override spec(s) into ${n}/node_modules/`),await installPackages({prefix:n,specs:[...F],verbose:a.verbose,lockfile:!a.immutable,frozen:a.immutable,signal:S,workspaceNames:new Set(N.keys())})}await wireWorkspaceSymlinks();let X=writeWorkspaceBinShims(n,C);X>0&&ke.log(`gjsify install: linked ${X} workspace bin(s) into node_modules/.bin/`)}function writeWorkspaceBinShims(n,a){let S=ns(n,`node_modules`,`.bin`),C=detectNativePackages(n).map(n=>n.prebuildsDir),N=0;for(let n of a){let a=n.manifest,F=a.gjsify?.bin,I=a.bin,H=mergeWorkspaceBins(n.name,F,I);if(H.size!==0){mkdirSync(S,{recursive:!0});for(let[a,{nodeTarget:F,gjsTarget:I}]of H){let H=ns(S,a);try{rmSync(H,{force:!0})}catch{}writeFileSync(H,buildBinShim(n.location,F,I,C),{mode:493}),chmodSync(H,493),N++}}}return N}function extractOverrides(n){if(!n)return;let a={},S=new Map,merge=(n,C)=>{if(n){for(let[N,F]of Object.entries(n))if(!N.startsWith(`_`)){if(typeof F==`string`){let n=N,S=N.startsWith(`@`)?N.indexOf(`@`,1):N.indexOf(`@`);S>0&&(n=N.slice(0,S)),a[n]=F;continue}if(F&&typeof F==`object`&&!Array.isArray(F)){let n={};for(let[a,S]of Object.entries(F)){if(a.startsWith(`_`))continue;if(typeof S!=`string`){ke.warn(`gjsify install: ${C}["${N}"]["${a}"] is not a string — only one level of nesting is supported, skipping`);continue}let F=a,I=a.startsWith(`@`)?a.indexOf(`@`,1):a.indexOf(`@`);I>0&&(F=a.slice(0,I)),n[F]=S}if(Object.keys(n).length>0){let a=S.get(N)??{};S.set(N,{...a,...n})}continue}ke.warn(`gjsify install: ${C}["${N}"] is not a string or object — skipping`)}}};if(merge(n.overrides,`overrides`),merge(n.resolutions,`resolutions`),!(Object.keys(a).length===0&&S.size===0))return{global:a,scoped:S}}function scopedOverrideFor(n,a,S){if(!S||S.scoped.size===0)return;let C=[n.name,n.relativeLocation];for(let n of C){let C=S.scoped.get(n);if(C?.[a])return C[a]}}function buildBinShim(n,a,S,C=[]){let N=a?ns(n,a):null,F=S?ns(n,S):null,I=C.length===0?``:(()=>{let n=`'${C.join(`:`).replace(/'/g,`'\\''`)}'`;return`GI_TYPELIB_PATH=${n}\${GI_TYPELIB_PATH:+":$GI_TYPELIB_PATH"}\nLD_LIBRARY_PATH=${n}\${LD_LIBRARY_PATH:+":$LD_LIBRARY_PATH"}\nexport GI_TYPELIB_PATH LD_LIBRARY_PATH\n`})();if(N&&F)return`#!/bin/sh\nif command -v gjs >/dev/null 2>&1 && [ -f "${F}" ]; then\n${I}exec gjs -m "${F}" "$@"\nfi\nexec node "${N}" "$@"\n`;if(N)return`#!/bin/sh\nexec node "${N}" "$@"\n`;if(F)return`#!/bin/sh\n${I}exec gjs -m "${F}" "$@"\n`;throw Error(`buildBinShim: either nodeTarget or gjsTarget must be provided`)}function mergeWorkspaceBins(n,a,S){let C=new Map,N=n.startsWith(`@`)?n.slice(n.indexOf(`/`)+1):n,get=n=>{let a=C.get(n);return a||(a={},C.set(n,a)),a};if(typeof S==`string`)get(N).nodeTarget=S;else if(S&&typeof S==`object`)for(let[n,a]of Object.entries(S))typeof a==`string`&&a.length>0&&(get(n).nodeTarget=a);if(typeof a==`string`)get(N).gjsTarget=a;else if(a&&typeof a==`object`)for(let[n,S]of Object.entries(a))typeof S==`string`&&S.length>0&&(get(n).gjsTarget=S);return C}async function projectInstallViaNpm(n){let a=[`install`];n[`save-dev`]&&a.push(`--save-dev`),n[`save-peer`]&&a.push(`--save-peer`),n[`save-optional`]&&a.push(`--save-optional`),n.verbose&&a.push(`--loglevel`,`verbose`),n.packages&&n.packages.length>0&&a.push(...n.packages),await spawnNpm(a)}async function spawnNpm(n){return new Promise((a,S)=>{let C=spawn(`npm`,n,{stdio:`inherit`});C.on(`close`,n=>{n===0?a():S(Error(`npm install exited with code ${n}`))}),C.on(`error`,n=>{let a=n.code===`ENOENT`?`npm not found on PATH — install Node.js first.`:`npm install failed: ${n.message}`;S(Error(a))})}).catch(n=>{ke.error(n.message),process.exit(1)})}async function installGlobalAndLink(n,a){let S=defaultGlobalLayout();mkdirSync(S.prefix,{recursive:!0}),ke.log(`gjsify install --global → ${S.prefix}`),ke.log(` bins → ${S.binDir}`);let C=await installPackages({prefix:S.prefix,specs:n,verbose:a.verbose}),N=n.map(specToPackageName);if(N.includes(`@gjsify/cli`)){let n=C.installed.find(n=>n.name===`@gjsify/cli`)?.version??`latest`;await installGjsEnginePackages(S.prefix,n,{verbose:a.verbose})}let F=linkGlobalBins(N,S);if(F.length===0)ke.warn("\nNo bins declared (neither `gjsify.bin` nor `bin` in package.json) — nothing was symlinked.");else{ke.log(`\nLinked ${F.length} bin(s):`);for(let n of F)ke.log(` • ${n.link} → ${n.target}`)}F.length>0&&!binDirOnPath(S.binDir)&&ke.warn(`\nNote: ${S.binDir} is not on your PATH.\nAdd it to your shell rc file:\n export PATH="${S.binDir}:$PATH"`)}async function runPostInstallChecks(){ke.log(`
798
803
  --- gjsify post-install checks ---`);let n=runMinimalChecks().filter(n=>!n.found&&n.severity===`required`);if(n.length>0){ke.warn(`Missing required system dependencies:
799
- `);for(let a of n)ke.warn(` ✗ ${a.name}`);let a=buildInstallCommand(detectPackageManager$2(),n);a&&ke.warn(`\nInstall with:\n ${a}`)}else ke.log(`System dependencies OK.`);let a=detectNativePackages(process.cwd());if(a.length>0){ke.log(`\nDetected ${a.length} @gjsify/* package(s) with native prebuilds:`);for(let n of a)ke.log(` • ${n.name}`);ke.log("\nUse `gjsify run <bundle>` to launch with LD_LIBRARY_PATH/GI_TYPELIB_PATH set.")}maybeInstallGitHooks()}function maybeInstallGitHooks(){let n=process.cwd(),a=ns(n,`scripts`,`install-git-hooks.mjs`);if(existsSync(a)&&existsSync(ns(n,`.git`)))try{let S=spawnSync(process.execPath,[a,`--quiet`],{cwd:n,stdio:`inherit`,env:process.env});S.status!==0&&ke.warn(`[gjsify install] scripts/install-git-hooks.mjs exited ${S.status} — git hooks may not be active.`)}catch(n){ke.warn(`[gjsify install] git hook installation skipped: ${n instanceof Error?n.message:String(n)}`)}}var XM,ZM,QM=__esmMin(()=>{Ae(),Zc(),ps(),sC(),Ig(),lj(),YA(),GM(),YM(),ej(),XM=18e5,ZM={command:`install [packages..]`,description:`Install npm dependencies in the current project (or globally with -g), then run gjsify-aware post-checks.`,builder:n=>n.positional(`packages`,{description:`Optional package specs. With none, runs a full project install.`,type:`string`,array:!0}).option(`global`,{description:`Install into the user-global XDG location and symlink bins into ~/.local/bin.`,type:`boolean`,alias:`g`,default:!1}).option(`save-dev`,{type:`boolean`,alias:`D`}).option(`save-peer`,{type:`boolean`}).option(`save-optional`,{type:`boolean`,alias:`O`}).option(`immutable`,{description:`CI mode: install strictly from gjsify-lock.json, fail if the lockfile is missing or stale. Equivalent to yarn --immutable / npm ci --frozen-lockfile.`,type:`boolean`,default:!1}).option(`refresh-lockfile`,{description:`Re-resolve every dependency to the newest version satisfying its range and rewrite the lockfile (bumps in-range transitive deps). Without it, a resolve preserves versions already pinned in the lockfile and only resolves new/changed deps — the npm/yarn/pnpm default. Mirrors yarn install --mode=update-lockfile.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose install logging.`,type:`boolean`,default:!1}).option(`quiet`,{description:`Silence the progress bar.`,type:`boolean`,default:!1}).option(`progress`,{description:`Show a TTY-aware progress bar for resolve / download / extract phases. Auto-enabled when stderr is a TTY (override with --no-progress). Implicitly off under --verbose (per-package log lines replace the bar) or --quiet.`,type:`boolean`,default:!0}).option(`backend`,{description:"Install backend. `native` (default) routes through `@gjsify/{semver,npm-registry,tar}` — no Node/npm at runtime. `npm` shells out to `npm install` as an escape hatch for cases the native backend does not yet model (Yarn PnP repos, lifecycle scripts). Overrides `GJSIFY_INSTALL_BACKEND` if both are set.",type:`string`,choices:[`native`,`npm`]}).option(`timeout`,{description:`Overall install wall-clock timeout in ms (default 1800000 = 30 min). On timeout, all in-flight registry fetches are aborted and the install exits non-zero with a clear "install timed out — likely a registry slowdown" message. Per-request timeouts in @gjsify/npm-registry (default 30s) still apply within this budget. Set to 0 to disable the overall budget.`,type:`number`,default:XM}),handler:async n=>{if(n.immutable&&(n.packages&&n.packages.length>0&&(ke.error(`gjsify install --immutable does not accept package arguments. Remove the package names or drop --immutable.`),process.exit(1)),n.global&&(ke.error(`gjsify install --immutable is incompatible with --global.`),process.exit(1)),n[`refresh-lockfile`]&&(ke.error(`gjsify install --immutable is incompatible with --refresh-lockfile (--immutable forbids rewriting the lockfile). Drop one.`),process.exit(1))),n.global){(!n.packages||n.packages.length===0)&&(ke.error(`gjsify install --global requires at least one <pkg> argument.`),process.exit(1));for(let a of[`save-dev`,`save-peer`,`save-optional`])n[a]&&ke.warn(`gjsify install --global ignores --${a}: global installs do not modify a project package.json.`);await installGlobalAndLink(n.packages,{verbose:n.verbose});return}if((n.backend??process.env.GJSIFY_INSTALL_BACKEND??`native`)===`npm`){await projectInstallViaNpm(n),await runPostInstallChecks();return}let a=n.timeout>0?n.timeout:0,S=a>0?new AbortController:null,C=S===null?null:setTimeout(()=>S.abort(Error(`install-overall-timeout`)),a);try{await projectInstallNative(n,S?.signal),await runPostInstallChecks()}catch(n){if(S!==null&&S.signal.aborted&&isAbortedFromOverallTimeout(n)){let n=Math.round(a/100)/10;ke.error(`gjsify install: timed out after ${n}s — likely a registry slowdown.\nRe-run, or override with --timeout <ms> (set --timeout 0 to disable the overall budget).`),process.exit(1)}throw n}finally{C!==null&&clearTimeout(C)}}}});function readDirectChildren(n){let a;try{a=readdirSync(`/proc/${n}/task`)}catch{return null}let S=[],C=!1;for(let N of a)try{let a=readFileSync(`/proc/${n}/task/${N}/children`,`utf-8`);C=!0;for(let n of a.trim().split(/\s+/)){let a=Number(n);Number.isInteger(a)&&a>0&&S.push(a)}}catch{}return C?S:null}function buildPpidMap(){let n=new Map,a=[];try{a=readdirSync(`/proc`)}catch{return n}for(let S of a){let a=Number(S);if(!(!Number.isInteger(a)||a<=0))try{let S=readFileSync(`/proc/${a}/stat`,`utf-8`),C=S.slice(S.lastIndexOf(`)`)+2).split(` `),N=Number(C[1]);if(!Number.isInteger(N)||N<=0)continue;let F=n.get(N);F?F.push(a):n.set(N,[a])}catch{}}return n}function collectDescendants(n){let a=[],S=new Set([n]),C=[n],N=null;for(;C.length>0;){let n=C.shift(),F=readDirectChildren(n);F===null&&(N??=buildPpidMap(),F=N.get(n)??[]);for(let n of F)S.has(n)||(S.add(n),a.push(n),C.push(n))}return a}function signalTree(n,a,S){for(let n=a.length-1;n>=0;n--)try{process.kill(a[n],S)}catch{}try{n.kill(S)}catch{}}function killActiveChildren(){let n=new Map;for(let a of $M){let S=a.pid?collectDescendants(a.pid):[];n.set(a,S),signalTree(a,S,`SIGTERM`)}setTimeout(()=>{for(let a of $M){let S=new Set(a.pid?collectDescendants(a.pid):[]);for(let C of n.get(a)??[])S.add(C);signalTree(a,[...S],`SIGKILL`)}},eN).unref?.()}async function runSequential(n,a,S,C,N){for(let F of n)await runOne$1(F,a,S,!1,C,N)}async function runParallel(n,a,S,C,N,F){let I=0,H=[];for(let W=0;W<C;W++)H.push((async()=>{for(;I<n.length;)await runOne$1(n[I++],a,S,!0,N,F)})());await Promise.all(H)}async function runTopologicalParallel(n,a,S,C,N,F,I){let H=new Set(n.map(n=>n.name)),W=new Map;for(let a of n){let n=new Set,S=a.manifest;for(let a of[S.dependencies,F?S.devDependencies:void 0,S.optionalDependencies])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&H.has(S)&&n.add(S);W.set(a.name,n)}let K=new Map(n.map(n=>[n.name,n])),q=n.length,Y=new Set,X=0,te=!process.stdout.isTTY||N,ne=new Map,re=Number(process.env.GJSIFY_FOREACH_STALL_MINUTES??`20`),ie=(Number.isFinite(re)&&re>0?re:20)*6e4;return new Promise((n,F)=>{let H=null,re=Date.now(),describeInflight=()=>[...ne.entries()].map(([n,a])=>`${n} (${Math.round((Date.now()-a)/1e3)}s)`).join(`, `),failFast=n=>{H||(H=n,killActiveChildren(),setTimeout(()=>settle(),tN).unref?.())},ae=setInterval(()=>{let n=Date.now()-re;n<3e5||ne.size===0||(ke.error(`[gjsify foreach] WARNING: no workspace completed for ${Math.round(n/6e4)}min — in-flight: ${describeInflight()}`),n>=ie&&failFast(Error(`gjsify foreach: stalled — no workspace completed for ${Math.round(n/6e4)}min (override via GJSIFY_FOREACH_STALL_MINUTES); killed in-flight: ${describeInflight()}`)))},6e4);ae.unref?.();let settle=()=>{clearInterval(ae),H?F(H):n()},pump=()=>{if(!H){for(;X<C;){let n=[...W.entries()].filter(([,n])=>[...n].every(n=>Y.has(n))).map(([n])=>n);if(n.length===0)break;let C=n.sort()[0];W.delete(C),X++,ne.set(C,Date.now()),te&&ke.error(`[gjsify foreach] start ${C} (${Y.size}/${q} done, ${X} in flight)`),runOne$1(K.get(C),a,S,!0,N,I).then(()=>{Y.add(C)}).catch(n=>{failFast(n instanceof Error?n:Error(String(n)))}).finally(()=>{X--,ne.delete(C),re=Date.now(),H?X===0&&settle():W.size===0&&X===0?settle():pump()})}W.size>0&&X===0&&!H&&(clearInterval(ae),F(Error(`gjsify foreach --topological: stuck — workspaces ${[...W.keys()].join(`, `)} have unsatisfied deps in the selected set`)))}};pump()})}async function runOne$1(n,a,S,C,N,F){if(F){N&&ke.error(`[${n.name}] $ ${a} ${S.join(` `)}`),await spawnPrefixed(a,S,n.location,C?`[${n.name}] `:null);return}let I=detectPackageManager$1(),H=I===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ke.error(`[${n.name}] $ ${I} ${H.join(` `)}`),await spawnPrefixed(I,H,n.location,C?`[${n.name}] `:null)}function detectPackageManager$1(){if(isGjs())return`gjsify`;let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}function spawnPrefixed(n,a,S,C){let N=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`};return new Promise((F,I)=>{let H=spawn(n,a,{cwd:S,stdio:C?[`ignore`,`pipe`,`pipe`]:`inherit`,env:{...process.env,...N}});$M.add(H);let W=!process.stdout.isTTY,K=[];C&&H.stdout&&H.stderr&&(K.push(prefixLines(H.stdout,process.stdout,C,W)),K.push(prefixLines(H.stderr,process.stderr,C,W))),H.on(`close`,S=>{$M.delete(H);for(let n of K)n();S===0?F():I(Error(`${n} ${a.join(` `)} exited with code ${S}`))}),H.on(`error`,n=>{$M.delete(H),I(n)})})}var $M,eN,tN,nN,rN=__esmMin(()=>{Ae(),sC(),Zc(),Wp(),Ig(),Lg(),fj(),zg(),$M=new Set,eN=5e3,tN=15e3,nN={command:`foreach [script] [args..]`,description:"Run a workspace script across all (or filtered) workspaces. Drop-in for `yarn workspaces foreach`: -A/--all, -p/--parallel, -t/--topological, --include, --exclude, --no-private. Pass --exec to run an arbitrary command instead of a script.",builder:n=>n.positional(`script`,{description:"Script name to run in each workspace (`run <name>`-equivalent). With --exec, the command to run instead.",type:`string`}).positional(`args`,{description:`Extra arguments forwarded to each child invocation.`,type:`string`,array:!0}).option(`all`,{description:"Include workspaces declared as `private: true`.",type:`boolean`,alias:`A`,default:!1}).option(`parallel`,{description:`Run workspaces in parallel (capped by --jobs).`,type:`boolean`,alias:`p`,default:!1}).option(`topological`,{description:`Wait for each workspace's deps to finish before starting it (production deps only).`,type:`boolean`,alias:`t`,default:!1}).option(`topological-dev`,{description:`Like --topological but also respects devDependencies (often cyclic — use sparingly).`,type:`boolean`,default:!1}).option(`include`,{description:`Glob pattern to include workspaces by name (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Glob pattern to exclude workspaces by name (repeatable).`,type:`string`,array:!0}).option(`private`,{description:`Include private workspaces (default true). Pass --no-private to skip them.`,type:`boolean`,default:!0}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}).option(`jobs`,{description:`Maximum concurrent workspaces in --parallel mode (default: cpu count).`,type:`number`,alias:`j`}).option(`exec`,{description:"Treat <script> [args..] as an arbitrary command (yarn `workspaces foreach exec`-equivalent) instead of a package.json script lookup. Workspace filtering by script presence is skipped. Use `-- <cmd> <args...>` to pass flags to the command without yargs intercepting them.",type:`boolean`,default:!1}).option(`shard`,{description:`Run only a deterministic slice "<index>/<total>" (1-based) of the matched workspaces, e.g. --shard 2/4. For fanning a long run across parallel CI jobs. Partitions by sorted name (round-robin) so the shards are disjoint and their union is the full set; order-independent, so safe for tests but NOT for ordered builds.`,type:`string`}).parserConfiguration({"populate--":!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=n.exec===!0,C=n.script,N=n.args??[];if(!S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(N=[...N,...a])}if(S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(C?N=[...N,...a]:(C=a[0],N=[...N,...a.slice(1)])),C||(ke.error("gjsify foreach --exec: missing command. Pass it after `--`, e.g. `gjsify foreach --exec -- npm publish --tag latest`."),process.exit(1))}let F=filterWorkspaces(a,{include:n.include,exclude:n.exclude,noPrivate:n.private===!1});if(!S){C||(ke.error(`gjsify foreach: missing <script> positional. Pass --exec to run an arbitrary command instead.`),process.exit(1));let n=C;F=F.filter(a=>typeof(a.manifest.scripts??{})[n]==`string`)}if(typeof n.shard==`string`&&n.shard.length>0){let a=/^\s*(\d+)\s*\/\s*(\d+)\s*$/.exec(n.shard);a||(ke.error(`gjsify foreach: invalid --shard "${n.shard}" — expected "<index>/<total>" (1-based), e.g. 2/4.`),process.exit(1));let S=Number(a[1]),C=Number(a[2]);if((C<1||S<1||S>C)&&(ke.error(`gjsify foreach: invalid --shard "${n.shard}" — need 1 <= index <= total and total >= 1.`),process.exit(1)),C>1){let n=[...F].sort((n,a)=>n.name<a.name?-1:+(n.name>a.name));F=n.filter((n,a)=>a%C===S-1),ke.log(`gjsify foreach: shard ${S}/${C} → ${F.length} of ${n.length} workspace(s)`)}}if(F.length===0){ke.log(`gjsify foreach: no workspaces match (${S?`exec`:`script`}="${C}", include=${JSON.stringify(n.include??[])}, exclude=${JSON.stringify(n.exclude??[])})`);return}(n.topological||n[`topological-dev`])&&(F=topologicalSort(buildDependencyGraph(F,{includeDev:n[`topological-dev`]===!0})));let I=n.verbose===!0,H=C;try{if(n.parallel&&!n.topological&&!n[`topological-dev`]){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runParallel(F,H,N,a,I,S)}else if(n.parallel){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runTopologicalParallel(F,H,N,a,I,n[`topological-dev`]===!0,S)}else await runSequential(F,H,N,I,S)}catch(n){killActiveChildren(),ke.error(n.message),process.exit(1)}process.exit(0)}},__name$1(runOne$1,`runOne`),__name$1(detectPackageManager$1,`detectPackageManager`)});function collectTransitiveClosure(n,a,S){let C=new Map;for(let n of a)C.set(n.name,n);let N=new Set,F=[],I=[n];for(;I.length>0;){let n=I.pop();if(N.has(n.name))continue;N.add(n.name),F.push(n);let a=n.manifest,H=[a.dependencies,S?a.devDependencies:void 0,a.optionalDependencies];for(let n of H)if(n)for(let[a,S]of Object.entries(n)){if(typeof S!=`string`||!S.startsWith(`workspace:`))continue;let n=C.get(a);n&&(N.has(n.name)||I.push(n))}}return F}async function runOne(n,a,S,C,N){let F=C===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ke.error(`[${n.name}] $ ${C} ${F.join(` `)}`);let I=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`};await new Promise((a,S)=>{let N=spawn(C,F,{cwd:n.location,stdio:`inherit`,env:{...process.env,...I}});N.on(`close`,n=>{n===0?a():S(Error(`${C} ${F.join(` `)} exited with code ${n}`))}),N.on(`error`,S)})}function detectPackageManager(){if(isGjs())return`gjsify`;let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}var iN,aN=__esmMin(()=>{Ae(),sC(),Ig(),Lg(),zg(),iN={command:`workspace <name> <script> [args..]`,description:"Run a workspace script (`yarn workspace <name> run <script>` equivalent).",builder:n=>n.positional(`name`,{description:"Workspace name (matches package.json `name` field).",type:`string`,demandOption:!0}).positional(`script`,{description:`Script name to run inside that workspace.`,type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments forwarded to the script.`,type:`string`,array:!0}).option(`with-dependencies`,{description:"Pre-build the target workspace's transitive workspace dependencies in topological order before running the script in the target. Deps that don't declare the script are skipped (--if-present behaviour). Replaces manual `gjsify workspace A build && gjsify workspace B build && …` chains.",type:`boolean`,alias:[`d`,`t`,`topological`],default:!1}).option(`include-dev`,{description:"When --with-dependencies is set, also walk devDependencies (production deps only by default — matches `gjsify foreach -t`).",type:`boolean`,default:!1}).option(`continue-on-error`,{description:`When --with-dependencies is set, keep running remaining deps after one fails (default: stop on first failure).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=a.find(a=>a.name===n.name);S||(ke.error(`gjsify workspace: no workspace named "${n.name}" — discovered ${a.length} workspace(s)`),process.exit(1));let C=detectPackageManager(),N=n.verbose===!0,F=n[`with-dependencies`]===!0,I=n[`continue-on-error`]===!0;typeof(S.manifest.scripts??{})[n.script]!=`string`&&(ke.error(`gjsify workspace: workspace "${n.name}" has no script "${n.script}"`),process.exit(1));let H;H=F?topologicalSort(buildDependencyGraph(collectTransitiveClosure(S,a,n[`include-dev`]===!0),{includeDev:n[`include-dev`]===!0})):[S];let W=[];for(let a of H){if(typeof(a.manifest.scripts??{})[n.script]!=`string`){N&&ke.error(`[${a.name}] (no "${n.script}" script — skipping)`);continue}try{await runOne(a,n.script,n.args??[],C,N)}catch(n){let S=n instanceof Error?n:Error(String(n));ke.error(`[${a.name}] ${S.message}`),I||process.exit(1),W.push({workspace:a.name,error:S})}}W.length>0&&(ke.error(`gjsify workspace: ${W.length} workspace(s) failed: ${W.map(n=>n.workspace).join(`, `)}`),process.exit(1)),process.exit(0)}}});async function runLifecycleScript(n,a,S,C={}){let N=(a.scripts??{})[S];if(typeof N!=`string`){if(C.optional!==!1)return!1;throw Error(`gjsify lifecycle-script: no "${S}" in ${n}/package.json`)}let F=findWorkspaceRoot(n),I=[ns(n,`node_modules`,`.bin`)];F&&F!==n&&I.push(ns(F,`node_modules`,`.bin`));let H=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`},W={...process.env,...H,PATH:[...I,process.env.PATH??``].filter(Boolean).join(ds),npm_lifecycle_event:S,npm_package_name:a.name??``,npm_package_version:a.version??``,...C.env},K=C.stdio===`inherit-stderr`?[`inherit`,2,2]:C.stdio??`inherit`;return await new Promise((a,C)=>{let F=spawn(N,[],{cwd:n,env:W,stdio:K,shell:!0});F.on(`close`,N=>{N===0?a():C(Error(`gjsify lifecycle-script: "${S}" in ${n} exited with code ${N}`))}),F.on(`error`,C)}),!0}var oN=__esmMin(()=>{sC(),ps(),Lg()});async function packWorkspace(n,a={}){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`gjsify pack: no package.json at ${n}`);let C=readFileSync(S,`utf-8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:``,I=typeof N.version==`string`?N.version:`0.0.0`;if(!F)throw Error(`gjsify pack: package.json at ${n} has no "name"`);let H=a.lifecycleScripts??[`prepack`];for(let S of H)await runLifecycleScript(n,N,S,{optional:!0,stdio:a.lifecycleStdio});let W=readFileSync(S,`utf-8`),K=W===C?N:JSON.parse(W),q=a.skipWorkspaceRewrite?K:rewriteWorkspaceDeps(K,n),Y=JSON.stringify(q,null,indentOf(W))+`
800
- `,X=collectFiles(n,K),te=[{name:`package/`,directory:!0,mode:493}],ne=[],re=0;for(let a of X){let S;S=a===`package.json`?new TextEncoder().encode(Y):new Uint8Array(readFileSync(ns(n,a)));let C=statSync(ns(n,a)).mode&511;te.push({name:`package/${a}`,body:S,mode:C,mtime:0}),ne.push({path:a,size:S.byteLength,mode:C}),re+=S.byteLength}let ie=await gzip(createTarball(te)),ae=`${F.startsWith(`@`)?F.slice(1).replace(`/`,`-`):F}-${I}.tgz`,oe=createHash(`sha1`).update(ie).digest(`hex`),Z=`sha512-${createHash(`sha512`).update(ie).digest(`base64`)}`,se=a.destination?$o(a.destination):n,ce=ns(se,ae);return a.dryRun||(mkdirSync(se,{recursive:!0}),writeFileSync(ce,ie)),{filename:ae,name:F,version:I,size:ie.byteLength,unpackedSize:re,shasum:oe,integrity:Z,entryCount:ne.length,files:ne,absolutePath:a.dryRun?null:ce}}function collectFiles(n,a){let S=forceIncluded(a),C=Array.isArray(a.files)?a.files.filter(n=>typeof n==`string`):null,N;N=C?expandFilesPatterns(n,C):walkAll(n);let F=loadIgnore(n),I=new Set;for(let n of N)F(n)||I.add(n);for(let a of S)existsSync(ns(n,a))&&I.add(a);return[...I].sort()}function forceIncluded(n){let a=new Set;a.add(`package.json`);for(let n of[`README`,`README.md`,`LICENSE`,`LICENSE.md`,`NOTICE`,`NOTICE.md`])a.add(n);let S=typeof n.main==`string`?n.main:null;S&&a.add(S.replace(/^\.\//,``));let C=n.bin;if(typeof C==`string`)a.add(C.replace(/^\.\//,``));else if(C&&typeof C==`object`)for(let n of Object.values(C))typeof n==`string`&&a.add(n.replace(/^\.\//,``));return[...a]}function walkAll(n,a=``){let S=[],C=a?ns(n,a):n,N;try{N=readdirSync(C,{withFileTypes:!0})}catch{return S}for(let C of N){if(cN.has(C.name)||C.name.startsWith(`.tsbuildinfo`))continue;let N=a?`${a}/${C.name}`:C.name;C.isDirectory()?S.push(...walkAll(n,N)):C.isFile()&&S.push(N)}return S}function expandFilesPatterns(n,a){let S=new Set,C=null;for(let N of a){let a=N.replace(/^\.\//,``).replace(/\/$/,``);if(!a)continue;if(!/[*?[\]]/.test(a)){let C=ns(n,a);if(!existsSync(C))continue;let N=statSync(C);if(N.isDirectory())for(let C of walkAll(n,a))S.add(C);else N.isFile()&&S.add(a);continue}C??=walkAll(n);let F=filesGlobToRegExp(a),I=filesGlobToRegExp(`${a}/**`);for(let n of C)(F.test(n)||I.test(n))&&S.add(n)}return[...S]}function filesGlobToRegExp(n){let a=`^`;for(let S=0;S<n.length;S++){let C=n[S];if(C===`*`)n[S+1]===`*`?(a+=`.*`,S++,n[S+1]===`/`&&S++):a+=`[^/]*`;else if(C===`?`)a+=`[^/]`;else if(C===`[`){let C=S+1,N=`[`;for(n[C]===`!`&&(N+=`^`,C++);C<n.length&&n[C]!==`]`;C++)N+=n[C];C<n.length?(a+=`${N}]`,S=C):a+=`\\[`}else ".+^${}()|\\]".includes(C)?a+=`\\${C}`:a+=C}return RegExp(`${a}$`)}function loadIgnore(n){let a=ns(n,`.npmignore`),S=ns(n,`.gitignore`),C=[],N=existsSync(a)?a:existsSync(S)?S:null;if(N){let n=readFileSync(N,`utf-8`).split(`
801
- `);for(let a of n){let n=a.trim();!n||n.startsWith(`#`)||n.startsWith(`!`)||C.push(globToRegex(n))}}return n=>{for(let a of C)if(a.test(n))return!0;return!1}}function globToRegex(n){let a=n.replace(/^\//,``);return a=a.replace(/[.+^${}()|[\]\\]/g,`\\$&`),a=a.replace(/\*\*/g,`__DOUBLESTAR__`).replace(/\*/g,`[^/]*`).replace(/__DOUBLESTAR__/g,`.*`),a=a.replace(/\?/g,`[^/]`),RegExp(`^${a}($|/)`)}function rewriteWorkspaceDeps(n,a){let S=findWorkspaceRoot(a);if(!S)return n;let C=new Map;for(let n of discoverWorkspaces(S))n.name&&n.version&&C.set(n.name,n.version);let N=JSON.parse(JSON.stringify(n));for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let a=N[n];if(a)for(let[n,F]of Object.entries(a)){if(typeof F!=`string`||!F.startsWith(`workspace:`))continue;let I=C.get(n);if(!I)throw Error(`gjsify pack: ${N.name} declares workspace:^ on ${n} but no sibling workspace with that name exists in the monorepo at ${S}`);let H=F.slice(10);H===`*`||H===``?a[n]=I:H===`^`||H===`~`?a[n]=`${H}${I}`:a[n]=H}}return N}function indentOf(n){let a=n.match(/\n([ \t]+)"/);return a?a[1]:` `}var sN,cN,lN=__esmMin(()=>{Zc(),ao(),ps(),MM(),Ig(),Lg(),oN(),sN={command:`pack [path]`,description:`Produce an npm-compatible .tgz tarball for the workspace at <path> (default: cwd). Rewrites workspace:^/~/* deps to resolved versions.`,builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`pack-destination`,{description:`Directory to write the tarball into. Default: workspace cwd.`,type:`string`}).option(`json`,{description:"Emit pack metadata as JSON on stdout (mirrors `npm pack --json`).",type:`boolean`,default:!1}).option(`dry-run`,{description:`Compute everything but do not write the .tgz.`,type:`boolean`,default:!1}).option(`ignore-scripts`,{description:"Skip the `prepack` lifecycle script before packing. Mirrors `npm pack --ignore-scripts`. Use when scripts are already run by the outer workflow.",type:`boolean`,default:!1}),handler:async n=>{let a=await packWorkspace($o(n.path??process.cwd()),{destination:n[`pack-destination`],dryRun:n[`dry-run`]===!0,lifecycleScripts:n[`ignore-scripts`]?[]:[`prepack`],lifecycleStdio:n.json?`inherit-stderr`:`inherit`});n.json?process.stdout.write(`${JSON.stringify([a],null,2)}\n`):process.stdout.write(`${a.filename}\n`)}},cN=new Set([`.git`,`.svn`,`.hg`,`.gitignore`,`.gitattributes`,`.npmrc`,`CVS`,`.DS_Store`,`node_modules`,`.npmignore`,`package-lock.json`,`gjsify-lock.json`,`yarn.lock`,`yarn-error.log`,`.yarn`,`.pnp.cjs`,`.pnp.loader.mjs`,`tsconfig.tsbuildinfo`])});function escapePackageName(n){return n.replace(`/`,`%2f`)}function buildPublishHeaders(n,a){let S=buildHeaders(n,{npmrc:a.npmrc});return S[`content-type`]=`application/json`,S[`npm-command`]=`publish`,S[`npm-auth-type`]=a.otp?`legacy`:`web`,S[`user-agent`]=a.userAgent??defaultUserAgent(),a.otp&&(S[`npm-otp`]=a.otp),a.authorization&&(S.authorization=a.authorization),S}function defaultUserAgent(){let n=globalThis.process,a=n?.arch??`x64`;return`gjsify-publish/0.5.0 (${n?.platform??`linux`} ${a})`}var uN=__esmMin(()=>{DM()});function decodeJwtPayload(n){let a=n.split(`.`);if(a.length!==3)return null;try{let n=a[1].replace(/-/g,`+`).replace(/_/g,`/`),S=typeof atob==`function`?atob(n):Buffer.from(n,`base64`).toString(`binary`);return JSON.parse(S)}catch{return null}}function hasGithubOidcEnv(){return!!(process.env.ACTIONS_ID_TOKEN_REQUEST_URL&&process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN)}async function fetchGithubOidcToken(n,a){let S=process.env.ACTIONS_ID_TOKEN_REQUEST_URL,C=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!S||!C)throw new OidcUnavailableError("GitHub Actions OIDC env vars (ACTIONS_ID_TOKEN_REQUEST_{URL,TOKEN}) not set. The calling workflow needs `permissions: id-token: write`.",`no-env`);let N=`${S}${S.includes(`?`)?`&`:`?`}audience=${encodeURIComponent(n)}`;a?.(`gjsify oidc: GET ${N.replace(C,`<bearer>`)}`);let F=await fetch(N,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${C}`}});if(!F.ok){let n=await F.text().catch(()=>`<no body>`);throw new OidcUnavailableError(`Failed to fetch GitHub OIDC id_token: ${F.status} ${F.statusText} — ${n.slice(0,200)}`,`fetch-id-token`)}let I=await F.json().catch(()=>({}));if(!I.value)throw new OidcUnavailableError("GitHub OIDC response missing `value` field",`no-id-token`);return I.value}async function exchangeOidcForNpmToken(n){let{packageName:a,registry:S,idToken:C,log:N}=n,F=`${S.endsWith(`/`)?S.slice(0,-1):S}/-/npm/v1/oidc/token/exchange/package/${a.startsWith(`@`)?(()=>{let n=a.indexOf(`/`),S=a.slice(1,n),C=a.slice(n+1);return`@${encodeURIComponent(S)}%2f${encodeURIComponent(C)}`})():encodeURIComponent(a)}`;N?.(`gjsify oidc: POST ${F}`);let I=n.maxRetries??3,H=n.retryBaseMs??1e3;for(let n=0;;n++){let S;try{S=await fetch(F,{method:`POST`,headers:{Authorization:`Bearer ${C}`,"Content-Type":`application/json`,Accept:`application/json`},body:`{}`})}catch(S){if(n<I){let S=Math.min(H*2**n,8e3);N?.(`gjsify oidc: network error for ${a} (attempt ${n+1}/${I+1}), retrying in ${S}ms`),await sleep(S);continue}throw new OidcExchangeError(`npm OIDC token exchange network error for ${a} after ${n+1} attempt(s): ${S instanceof Error?S.message:String(S)}`,0,``,a,decodeJwtPayload(C)??void 0)}let W=await S.text().catch(()=>``);if(!S.ok){if(dN.has(S.status)&&n<I){let C=Math.min(H*2**n,8e3);N?.(`gjsify oidc: transient ${S.status} ${S.statusText} for ${a} (attempt ${n+1}/${I+1}), retrying in ${C}ms`),await sleep(C);continue}throw new OidcExchangeError(`npm OIDC token exchange failed for ${a}: ${S.status} ${S.statusText} — ${W.slice(0,300)}`,S.status,W,a,decodeJwtPayload(C)??void 0)}let K;try{K=JSON.parse(W)}catch{throw new OidcExchangeError(`npm OIDC token exchange returned non-JSON body for ${a}: ${W.slice(0,200)}`,S.status,W,a)}if(!K.token)throw new OidcExchangeError(`npm OIDC token exchange returned no \`token\` field for ${a}`,S.status,W,a);return K.token}}async function getNpmTrustedToken(n){let a=`npm:${new URL(n.registry).hostname}`,S=await fetchGithubOidcToken(a,n.log);return{token:await exchangeOidcForNpmToken({...n,idToken:S}),audience:a}}var dN,sleep,OidcUnavailableError,OidcExchangeError,fN=__esmMin(()=>{dN=new Set([408,425,429,500,502,503,504]),sleep=n=>new Promise(a=>setTimeout(a,n)),OidcUnavailableError=class extends Error{reason;constructor(n,a){super(n),this.reason=a,this.name=`OidcUnavailableError`}},OidcExchangeError=class extends Error{status;body;packageName;claims;constructor(n,a,S,C,N){super(n),this.status=a,this.body=S,this.packageName=C,this.claims=N,this.name=`OidcExchangeError`}}});async function diagnose404(n){let{packageName:a,version:S,registry:C,npmrc:N}=n,F={};try{F=await whoami(C,N)}catch{return{reason:`unknown`,message:formatUnknown(a,S)}}return F.username&&F.username.length>0?{reason:`live-token-404`,username:F.username,message:formatLiveToken404(a,S,F.username)}:{reason:`dead-token`,message:formatDeadToken(a,S)}}function formatDeadToken(n,a){return[`gjsify publish: ${n}@${a} — 404 Not Found`,``,`The npm token in ~/.npmrc appears to be revoked or expired (the /-/whoami probe`,`returned {} instead of {"username": "..."}). The 404 is npm's response to a PUT`,`authenticated with an invalid bearer token.`,``,`To refresh:`,` npm login`,` # or, future: gjsify login (tracked as project_gjsify_login_goal)`,``,`Then verify before publishing:`,` curl -s -H "Authorization: Bearer $(grep registry.npmjs.org ~/.npmrc | sed 's|.*=||')" \\`,` https://registry.npmjs.org/-/whoami`,` # Healthy: {"username":"<you>"}`,` # Dead: {}`].join(`
804
+ `);for(let a of n)ke.warn(` ✗ ${a.name}`);let a=buildInstallCommand(detectPackageManager$2(),n);a&&ke.warn(`\nInstall with:\n ${a}`)}else ke.log(`System dependencies OK.`);let a=detectNativePackages(process.cwd());if(a.length>0){ke.log(`\nDetected ${a.length} @gjsify/* package(s) with native prebuilds:`);for(let n of a)ke.log(` • ${n.name}`);ke.log("\nUse `gjsify run <bundle>` to launch with LD_LIBRARY_PATH/GI_TYPELIB_PATH set.")}maybeInstallGitHooks()}function maybeInstallGitHooks(){let n=process.cwd(),a=ns(n,`scripts`,`install-git-hooks.mjs`);if(existsSync(a)&&existsSync(ns(n,`.git`)))try{let S=spawnSync(process.execPath,[a,`--quiet`],{cwd:n,stdio:`inherit`,env:process.env});S.status!==0&&ke.warn(`[gjsify install] scripts/install-git-hooks.mjs exited ${S.status} — git hooks may not be active.`)}catch(n){ke.warn(`[gjsify install] git hook installation skipped: ${n instanceof Error?n.message:String(n)}`)}}var rN,iN,aN=__esmMin(()=>{Ae(),Zc(),ps(),cC(),Ig(),hj(),tj(),QM(),nN(),oj(),rN=18e5,iN={command:`install [packages..]`,description:`Install npm dependencies in the current project (or globally with -g), then run gjsify-aware post-checks.`,builder:n=>n.positional(`packages`,{description:`Optional package specs. With none, runs a full project install.`,type:`string`,array:!0}).option(`global`,{description:`Install into the user-global XDG location and symlink bins into ~/.local/bin.`,type:`boolean`,alias:`g`,default:!1}).option(`save-dev`,{type:`boolean`,alias:`D`}).option(`save-peer`,{type:`boolean`}).option(`save-optional`,{type:`boolean`,alias:`O`}).option(`immutable`,{description:`CI mode: install strictly from gjsify-lock.json, fail if the lockfile is missing or stale. Equivalent to yarn --immutable / npm ci --frozen-lockfile.`,type:`boolean`,default:!1}).option(`refresh-lockfile`,{description:`Re-resolve every dependency to the newest version satisfying its range and rewrite the lockfile (bumps in-range transitive deps). Without it, a resolve preserves versions already pinned in the lockfile and only resolves new/changed deps — the npm/yarn/pnpm default. Mirrors yarn install --mode=update-lockfile.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose install logging.`,type:`boolean`,default:!1}).option(`quiet`,{description:`Silence the progress bar.`,type:`boolean`,default:!1}).option(`progress`,{description:`Show a TTY-aware progress bar for resolve / download / extract phases. Auto-enabled when stderr is a TTY (override with --no-progress). Implicitly off under --verbose (per-package log lines replace the bar) or --quiet.`,type:`boolean`,default:!0}).option(`backend`,{description:"Install backend. `native` (default) routes through `@gjsify/{semver,npm-registry,tar}` — no Node/npm at runtime. `npm` shells out to `npm install` as an escape hatch for cases the native backend does not yet model (Yarn PnP repos, lifecycle scripts). Overrides `GJSIFY_INSTALL_BACKEND` if both are set.",type:`string`,choices:[`native`,`npm`]}).option(`timeout`,{description:`Overall install wall-clock timeout in ms (default 1800000 = 30 min). On timeout, all in-flight registry fetches are aborted and the install exits non-zero with a clear "install timed out — likely a registry slowdown" message. Per-request timeouts in @gjsify/npm-registry (default 30s) still apply within this budget. Set to 0 to disable the overall budget.`,type:`number`,default:rN}),handler:async n=>{if(n.immutable&&(n.packages&&n.packages.length>0&&(ke.error(`gjsify install --immutable does not accept package arguments. Remove the package names or drop --immutable.`),process.exit(1)),n.global&&(ke.error(`gjsify install --immutable is incompatible with --global.`),process.exit(1)),n[`refresh-lockfile`]&&(ke.error(`gjsify install --immutable is incompatible with --refresh-lockfile (--immutable forbids rewriting the lockfile). Drop one.`),process.exit(1))),n.global){(!n.packages||n.packages.length===0)&&(ke.error(`gjsify install --global requires at least one <pkg> argument.`),process.exit(1));for(let a of[`save-dev`,`save-peer`,`save-optional`])n[a]&&ke.warn(`gjsify install --global ignores --${a}: global installs do not modify a project package.json.`);await installGlobalAndLink(n.packages,{verbose:n.verbose});return}if((n.backend??process.env.GJSIFY_INSTALL_BACKEND??`native`)===`npm`){await projectInstallViaNpm(n),await runPostInstallChecks();return}let a=n.timeout>0?n.timeout:0,S=a>0?new AbortController:null,C=S===null?null:setTimeout(()=>S.abort(Error(`install-overall-timeout`)),a);try{await projectInstallNative(n,S?.signal),await runPostInstallChecks()}catch(n){if(S!==null&&S.signal.aborted&&isAbortedFromOverallTimeout(n)){let n=Math.round(a/100)/10;ke.error(`gjsify install: timed out after ${n}s — likely a registry slowdown.\nRe-run, or override with --timeout <ms> (set --timeout 0 to disable the overall budget).`),process.exit(1)}throw n}finally{C!==null&&clearTimeout(C)}}}});function readDirectChildren(n){let a;try{a=readdirSync(`/proc/${n}/task`)}catch{return null}let S=[],C=!1;for(let N of a)try{let a=readFileSync(`/proc/${n}/task/${N}/children`,`utf-8`);C=!0;for(let n of a.trim().split(/\s+/)){let a=Number(n);Number.isInteger(a)&&a>0&&S.push(a)}}catch{}return C?S:null}function buildPpidMap(){let n=new Map,a=[];try{a=readdirSync(`/proc`)}catch{return n}for(let S of a){let a=Number(S);if(!(!Number.isInteger(a)||a<=0))try{let S=readFileSync(`/proc/${a}/stat`,`utf-8`),C=S.slice(S.lastIndexOf(`)`)+2).split(` `),N=Number(C[1]);if(!Number.isInteger(N)||N<=0)continue;let F=n.get(N);F?F.push(a):n.set(N,[a])}catch{}}return n}function collectDescendants(n){let a=[],S=new Set([n]),C=[n],N=null;for(;C.length>0;){let n=C.shift(),F=readDirectChildren(n);F===null&&(N??=buildPpidMap(),F=N.get(n)??[]);for(let n of F)S.has(n)||(S.add(n),a.push(n),C.push(n))}return a}function signalTree(n,a,S){for(let n=a.length-1;n>=0;n--)try{process.kill(a[n],S)}catch{}try{n.kill(S)}catch{}}function killActiveChildren(){let n=new Map;for(let a of oN){let S=a.pid?collectDescendants(a.pid):[];n.set(a,S),signalTree(a,S,`SIGTERM`)}setTimeout(()=>{for(let a of oN){let S=new Set(a.pid?collectDescendants(a.pid):[]);for(let C of n.get(a)??[])S.add(C);signalTree(a,[...S],`SIGKILL`)}},sN).unref?.()}async function runSequential(n,a,S,C,N){for(let F of n)await runOne$1(F,a,S,!1,C,N)}async function runParallel(n,a,S,C,N,F){let I=0,H=[];for(let W=0;W<C;W++)H.push((async()=>{for(;I<n.length;)await runOne$1(n[I++],a,S,!0,N,F)})());await Promise.all(H)}async function runTopologicalParallel(n,a,S,C,N,F,I){let H=new Set(n.map(n=>n.name)),W=new Map;for(let a of n){let n=new Set,S=a.manifest;for(let a of[S.dependencies,F?S.devDependencies:void 0,S.optionalDependencies])if(a)for(let[S,C]of Object.entries(a))typeof C==`string`&&C.startsWith(`workspace:`)&&H.has(S)&&n.add(S);W.set(a.name,n)}let K=new Map(n.map(n=>[n.name,n])),q=n.length,Y=new Set,X=0,te=!process.stdout.isTTY||N,ne=new Map,re=Number(process.env.GJSIFY_FOREACH_STALL_MINUTES??`20`),ie=(Number.isFinite(re)&&re>0?re:20)*6e4;return new Promise((n,F)=>{let H=null,re=Date.now(),describeInflight=()=>[...ne.entries()].map(([n,a])=>`${n} (${Math.round((Date.now()-a)/1e3)}s)`).join(`, `),failFast=n=>{H||(H=n,killActiveChildren(),setTimeout(()=>settle(),cN).unref?.())},ae=setInterval(()=>{let n=Date.now()-re;n<3e5||ne.size===0||(ke.error(`[gjsify foreach] WARNING: no workspace completed for ${Math.round(n/6e4)}min — in-flight: ${describeInflight()}`),n>=ie&&failFast(Error(`gjsify foreach: stalled — no workspace completed for ${Math.round(n/6e4)}min (override via GJSIFY_FOREACH_STALL_MINUTES); killed in-flight: ${describeInflight()}`)))},6e4);ae.unref?.();let settle=()=>{clearInterval(ae),H?F(H):n()},pump=()=>{if(!H){for(;X<C;){let n=[...W.entries()].filter(([,n])=>[...n].every(n=>Y.has(n))).map(([n])=>n);if(n.length===0)break;let C=n.sort()[0];W.delete(C),X++,ne.set(C,Date.now()),te&&ke.error(`[gjsify foreach] start ${C} (${Y.size}/${q} done, ${X} in flight)`),runOne$1(K.get(C),a,S,!0,N,I).then(()=>{Y.add(C)}).catch(n=>{failFast(n instanceof Error?n:Error(String(n)))}).finally(()=>{X--,ne.delete(C),re=Date.now(),H?X===0&&settle():W.size===0&&X===0?settle():pump()})}W.size>0&&X===0&&!H&&(clearInterval(ae),F(Error(`gjsify foreach --topological: stuck — workspaces ${[...W.keys()].join(`, `)} have unsatisfied deps in the selected set`)))}};pump()})}async function runOne$1(n,a,S,C,N,F){if(F){N&&ke.error(`[${n.name}] $ ${a} ${S.join(` `)}`),await spawnPrefixed(a,S,n.location,C?`[${n.name}] `:null);return}let I=detectPackageManager$1(),H=I===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ke.error(`[${n.name}] $ ${I} ${H.join(` `)}`),await spawnPrefixed(I,H,n.location,C?`[${n.name}] `:null)}function detectPackageManager$1(){if(isGjs())return`gjsify`;let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}function spawnPrefixed(n,a,S,C){let N=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`};return new Promise((F,I)=>{let H=spawn(n,a,{cwd:S,stdio:C?[`ignore`,`pipe`,`pipe`]:`inherit`,env:{...process.env,...N}});oN.add(H);let W=!process.stdout.isTTY,K=[];C&&H.stdout&&H.stderr&&(K.push(prefixLines(H.stdout,process.stdout,C,W)),K.push(prefixLines(H.stderr,process.stderr,C,W))),H.on(`close`,S=>{oN.delete(H);for(let n of K)n();S===0?F():I(Error(`${n} ${a.join(` `)} exited with code ${S}`))}),H.on(`error`,n=>{oN.delete(H),I(n)})})}var oN,sN,cN,lN,uN=__esmMin(()=>{Ae(),cC(),Zc(),Wp(),Ig(),Lg(),vj(),zg(),oN=new Set,sN=5e3,cN=15e3,lN={command:`foreach [script] [args..]`,description:"Run a workspace script across all (or filtered) workspaces. Drop-in for `yarn workspaces foreach`: -A/--all, -p/--parallel, -t/--topological, --include, --exclude, --no-private. Pass --exec to run an arbitrary command instead of a script.",builder:n=>n.positional(`script`,{description:"Script name to run in each workspace (`run <name>`-equivalent). With --exec, the command to run instead.",type:`string`}).positional(`args`,{description:`Extra arguments forwarded to each child invocation.`,type:`string`,array:!0}).option(`all`,{description:"Include workspaces declared as `private: true`.",type:`boolean`,alias:`A`,default:!1}).option(`parallel`,{description:`Run workspaces in parallel (capped by --jobs).`,type:`boolean`,alias:`p`,default:!1}).option(`topological`,{description:`Wait for each workspace's deps to finish before starting it (production deps only).`,type:`boolean`,alias:`t`,default:!1}).option(`topological-dev`,{description:`Like --topological but also respects devDependencies (often cyclic — use sparingly).`,type:`boolean`,default:!1}).option(`include`,{description:`Glob pattern to include workspaces by name (repeatable).`,type:`string`,array:!0}).option(`exclude`,{description:`Glob pattern to exclude workspaces by name (repeatable).`,type:`string`,array:!0}).option(`private`,{description:`Include private workspaces (default true). Pass --no-private to skip them.`,type:`boolean`,default:!0}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}).option(`jobs`,{description:`Maximum concurrent workspaces in --parallel mode (default: cpu count).`,type:`number`,alias:`j`}).option(`exec`,{description:"Treat <script> [args..] as an arbitrary command (yarn `workspaces foreach exec`-equivalent) instead of a package.json script lookup. Workspace filtering by script presence is skipped. Use `-- <cmd> <args...>` to pass flags to the command without yargs intercepting them.",type:`boolean`,default:!1}).option(`shard`,{description:`Run only a deterministic slice "<index>/<total>" (1-based) of the matched workspaces, e.g. --shard 2/4. For fanning a long run across parallel CI jobs. Partitions by sorted name (round-robin) so the shards are disjoint and their union is the full set; order-independent, so safe for tests but NOT for ordered builds.`,type:`string`}).parserConfiguration({"populate--":!0}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=n.exec===!0,C=n.script,N=n.args??[];if(!S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(N=[...N,...a])}if(S){let a=(n[`--`]??[]).filter(n=>typeof n==`string`);a.length>0&&(C?N=[...N,...a]:(C=a[0],N=[...N,...a.slice(1)])),C||(ke.error("gjsify foreach --exec: missing command. Pass it after `--`, e.g. `gjsify foreach --exec -- npm publish --tag latest`."),process.exit(1))}let F=filterWorkspaces(a,{include:n.include,exclude:n.exclude,noPrivate:n.private===!1});if(!S){C||(ke.error(`gjsify foreach: missing <script> positional. Pass --exec to run an arbitrary command instead.`),process.exit(1));let n=C;F=F.filter(a=>typeof(a.manifest.scripts??{})[n]==`string`)}if(typeof n.shard==`string`&&n.shard.length>0){let a=/^\s*(\d+)\s*\/\s*(\d+)\s*$/.exec(n.shard);a||(ke.error(`gjsify foreach: invalid --shard "${n.shard}" — expected "<index>/<total>" (1-based), e.g. 2/4.`),process.exit(1));let S=Number(a[1]),C=Number(a[2]);if((C<1||S<1||S>C)&&(ke.error(`gjsify foreach: invalid --shard "${n.shard}" — need 1 <= index <= total and total >= 1.`),process.exit(1)),C>1){let n=[...F].sort((n,a)=>n.name<a.name?-1:+(n.name>a.name));F=n.filter((n,a)=>a%C===S-1),ke.log(`gjsify foreach: shard ${S}/${C} → ${F.length} of ${n.length} workspace(s)`)}}if(F.length===0){ke.log(`gjsify foreach: no workspaces match (${S?`exec`:`script`}="${C}", include=${JSON.stringify(n.include??[])}, exclude=${JSON.stringify(n.exclude??[])})`);return}(n.topological||n[`topological-dev`])&&(F=topologicalSort(buildDependencyGraph(F,{includeDev:n[`topological-dev`]===!0})));let I=n.verbose===!0,H=C;try{if(n.parallel&&!n.topological&&!n[`topological-dev`]){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runParallel(F,H,N,a,I,S)}else if(n.parallel){let a=n.jobs&&n.jobs>0?n.jobs:cpus().length;await runTopologicalParallel(F,H,N,a,I,n[`topological-dev`]===!0,S)}else await runSequential(F,H,N,I,S)}catch(n){killActiveChildren(),ke.error(n.message),process.exit(1)}process.exit(0)}},__name$1(runOne$1,`runOne`),__name$1(detectPackageManager$1,`detectPackageManager`)});function collectTransitiveClosure(n,a,S){let C=new Map;for(let n of a)C.set(n.name,n);let N=new Set,F=[],I=[n];for(;I.length>0;){let n=I.pop();if(N.has(n.name))continue;N.add(n.name),F.push(n);let a=n.manifest,H=[a.dependencies,S?a.devDependencies:void 0,a.optionalDependencies];for(let n of H)if(n)for(let[a,S]of Object.entries(n)){if(typeof S!=`string`||!S.startsWith(`workspace:`))continue;let n=C.get(a);n&&(N.has(n.name)||I.push(n))}}return F}async function runOne(n,a,S,C,N){let F=C===`gjsify`?[`run`,a,...S]:[`run`,a,...S.length>0?[`--`,...S]:[]];N&&ke.error(`[${n.name}] $ ${C} ${F.join(` `)}`);let I=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`};await new Promise((a,S)=>{let N=spawn(C,F,{cwd:n.location,stdio:`inherit`,env:{...process.env,...I}});N.on(`close`,n=>{n===0?a():S(Error(`${C} ${F.join(` `)} exited with code ${n}`))}),N.on(`error`,S)})}function detectPackageManager(){if(isGjs())return`gjsify`;let n=process.env.npm_config_user_agent??``;return n.startsWith(`yarn/`)?`yarn`:n.startsWith(`gjsify/`)?`gjsify`:`npm`}var dN,fN=__esmMin(()=>{Ae(),cC(),Ig(),Lg(),zg(),dN={command:`workspace <name> <script> [args..]`,description:"Run a workspace script (`yarn workspace <name> run <script>` equivalent).",builder:n=>n.positional(`name`,{description:"Workspace name (matches package.json `name` field).",type:`string`,demandOption:!0}).positional(`script`,{description:`Script name to run inside that workspace.`,type:`string`,demandOption:!0}).positional(`args`,{description:`Extra arguments forwarded to the script.`,type:`string`,array:!0}).option(`with-dependencies`,{description:"Pre-build the target workspace's transitive workspace dependencies in topological order before running the script in the target. Deps that don't declare the script are skipped (--if-present behaviour). Replaces manual `gjsify workspace A build && gjsify workspace B build && …` chains.",type:`boolean`,alias:[`d`,`t`,`topological`],default:!1}).option(`include-dev`,{description:"When --with-dependencies is set, also walk devDependencies (production deps only by default — matches `gjsify foreach -t`).",type:`boolean`,default:!1}).option(`continue-on-error`,{description:`When --with-dependencies is set, keep running remaining deps after one fails (default: stop on first failure).`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo every spawned command before running it.`,type:`boolean`,alias:`v`,default:!1}),handler:async n=>{let a=discoverWorkspaces(findWorkspaceRoot(process.cwd())??process.cwd()),S=a.find(a=>a.name===n.name);S||(ke.error(`gjsify workspace: no workspace named "${n.name}" — discovered ${a.length} workspace(s)`),process.exit(1));let C=detectPackageManager(),N=n.verbose===!0,F=n[`with-dependencies`]===!0,I=n[`continue-on-error`]===!0;typeof(S.manifest.scripts??{})[n.script]!=`string`&&(ke.error(`gjsify workspace: workspace "${n.name}" has no script "${n.script}"`),process.exit(1));let H;H=F?topologicalSort(buildDependencyGraph(collectTransitiveClosure(S,a,n[`include-dev`]===!0),{includeDev:n[`include-dev`]===!0})):[S];let W=[];for(let a of H){if(typeof(a.manifest.scripts??{})[n.script]!=`string`){N&&ke.error(`[${a.name}] (no "${n.script}" script — skipping)`);continue}try{await runOne(a,n.script,n.args??[],C,N)}catch(n){let S=n instanceof Error?n:Error(String(n));ke.error(`[${a.name}] ${S.message}`),I||process.exit(1),W.push({workspace:a.name,error:S})}}W.length>0&&(ke.error(`gjsify workspace: ${W.length} workspace(s) failed: ${W.map(n=>n.workspace).join(`, `)}`),process.exit(1)),process.exit(0)}}});async function runLifecycleScript(n,a,S,C={}){let N=(a.scripts??{})[S];if(typeof N!=`string`){if(C.optional!==!1)return!1;throw Error(`gjsify lifecycle-script: no "${S}" in ${n}/package.json`)}let F=findWorkspaceRoot(n),I=[ns(n,`node_modules`,`.bin`)];F&&F!==n&&I.push(ns(F,`node_modules`,`.bin`));let H=process.env.FORCE_COLOR!==void 0||process.env.NO_COLOR!==void 0?{}:{FORCE_COLOR:`1`},W={...process.env,...H,PATH:[...I,process.env.PATH??``].filter(Boolean).join(ds),npm_lifecycle_event:S,npm_package_name:a.name??``,npm_package_version:a.version??``,...C.env},K=C.stdio===`inherit-stderr`?[`inherit`,2,2]:C.stdio??`inherit`;return await new Promise((a,C)=>{let F=spawn(N,[],{cwd:n,env:W,stdio:K,shell:!0});F.on(`close`,N=>{N===0?a():C(Error(`gjsify lifecycle-script: "${S}" in ${n} exited with code ${N}`))}),F.on(`error`,C)}),!0}var pN=__esmMin(()=>{cC(),ps(),Lg()});async function packWorkspace(n,a={}){let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`gjsify pack: no package.json at ${n}`);let C=readFileSync(S,`utf-8`),N=JSON.parse(C),F=typeof N.name==`string`?N.name:``,I=typeof N.version==`string`?N.version:`0.0.0`;if(!F)throw Error(`gjsify pack: package.json at ${n} has no "name"`);let H=a.lifecycleScripts??[`prepack`];for(let S of H)await runLifecycleScript(n,N,S,{optional:!0,stdio:a.lifecycleStdio});let W=readFileSync(S,`utf-8`),K=W===C?N:JSON.parse(W),q=a.skipWorkspaceRewrite?K:rewriteWorkspaceDeps(K,n),Y=JSON.stringify(q,null,indentOf(W))+`
805
+ `,X=collectFiles(n,K),te=[{name:`package/`,directory:!0,mode:493}],ne=[],re=0;for(let a of X){let S;S=a===`package.json`?new TextEncoder().encode(Y):new Uint8Array(readFileSync(ns(n,a)));let C=statSync(ns(n,a)).mode&511;te.push({name:`package/${a}`,body:S,mode:C,mtime:0}),ne.push({path:a,size:S.byteLength,mode:C}),re+=S.byteLength}let ie=await gzip(createTarball(te)),ae=`${F.startsWith(`@`)?F.slice(1).replace(`/`,`-`):F}-${I}.tgz`,oe=createHash(`sha1`).update(ie).digest(`hex`),Z=`sha512-${createHash(`sha512`).update(ie).digest(`base64`)}`,se=a.destination?$o(a.destination):n,ce=ns(se,ae);return a.dryRun||(mkdirSync(se,{recursive:!0}),writeFileSync(ce,ie)),{filename:ae,name:F,version:I,size:ie.byteLength,unpackedSize:re,shasum:oe,integrity:Z,entryCount:ne.length,files:ne,absolutePath:a.dryRun?null:ce}}function collectFiles(n,a){let S=forceIncluded(a),C=Array.isArray(a.files)?a.files.filter(n=>typeof n==`string`):null,N;N=C?expandFilesPatterns(n,C):walkAll(n);let F=loadIgnore(n),I=new Set;for(let n of N)F(n)||I.add(n);for(let a of S)existsSync(ns(n,a))&&I.add(a);return[...I].sort()}function forceIncluded(n){let a=new Set;a.add(`package.json`);for(let n of[`README`,`README.md`,`LICENSE`,`LICENSE.md`,`NOTICE`,`NOTICE.md`])a.add(n);let S=typeof n.main==`string`?n.main:null;S&&a.add(S.replace(/^\.\//,``));let C=n.bin;if(typeof C==`string`)a.add(C.replace(/^\.\//,``));else if(C&&typeof C==`object`)for(let n of Object.values(C))typeof n==`string`&&a.add(n.replace(/^\.\//,``));return[...a]}function walkAll(n,a=``){let S=[],C=a?ns(n,a):n,N;try{N=readdirSync(C,{withFileTypes:!0})}catch{return S}for(let C of N){if(hN.has(C.name)||C.name.startsWith(`.tsbuildinfo`))continue;let N=a?`${a}/${C.name}`:C.name;C.isDirectory()?S.push(...walkAll(n,N)):C.isFile()&&S.push(N)}return S}function expandFilesPatterns(n,a){let S=new Set,C=null;for(let N of a){let a=N.replace(/^\.\//,``).replace(/\/$/,``);if(!a)continue;if(!/[*?[\]]/.test(a)){let C=ns(n,a);if(!existsSync(C))continue;let N=statSync(C);if(N.isDirectory())for(let C of walkAll(n,a))S.add(C);else N.isFile()&&S.add(a);continue}C??=walkAll(n);let F=filesGlobToRegExp(a),I=filesGlobToRegExp(`${a}/**`);for(let n of C)(F.test(n)||I.test(n))&&S.add(n)}return[...S]}function filesGlobToRegExp(n){let a=`^`;for(let S=0;S<n.length;S++){let C=n[S];if(C===`*`)n[S+1]===`*`?(a+=`.*`,S++,n[S+1]===`/`&&S++):a+=`[^/]*`;else if(C===`?`)a+=`[^/]`;else if(C===`[`){let C=S+1,N=`[`;for(n[C]===`!`&&(N+=`^`,C++);C<n.length&&n[C]!==`]`;C++)N+=n[C];C<n.length?(a+=`${N}]`,S=C):a+=`\\[`}else ".+^${}()|\\]".includes(C)?a+=`\\${C}`:a+=C}return RegExp(`${a}$`)}function loadIgnore(n){let a=ns(n,`.npmignore`),S=ns(n,`.gitignore`),C=[],N=existsSync(a)?a:existsSync(S)?S:null;if(N){let n=readFileSync(N,`utf-8`).split(`
806
+ `);for(let a of n){let n=a.trim();!n||n.startsWith(`#`)||n.startsWith(`!`)||C.push(globToRegex(n))}}return n=>{for(let a of C)if(a.test(n))return!0;return!1}}function globToRegex(n){let a=n.replace(/^\//,``);return a=a.replace(/[.+^${}()|[\]\\]/g,`\\$&`),a=a.replace(/\*\*/g,`__DOUBLESTAR__`).replace(/\*/g,`[^/]*`).replace(/__DOUBLESTAR__/g,`.*`),a=a.replace(/\?/g,`[^/]`),RegExp(`^${a}($|/)`)}function rewriteWorkspaceDeps(n,a){let S=findWorkspaceRoot(a);if(!S)return n;let C=new Map;for(let n of discoverWorkspaces(S))n.name&&n.version&&C.set(n.name,n.version);let N=JSON.parse(JSON.stringify(n));for(let n of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let a=N[n];if(a)for(let[n,F]of Object.entries(a)){if(typeof F!=`string`||!F.startsWith(`workspace:`))continue;let I=C.get(n);if(!I)throw Error(`gjsify pack: ${N.name} declares workspace:^ on ${n} but no sibling workspace with that name exists in the monorepo at ${S}`);let H=F.slice(10);H===`*`||H===``?a[n]=I:H===`^`||H===`~`?a[n]=`${H}${I}`:a[n]=H}}return N}function indentOf(n){let a=n.match(/\n([ \t]+)"/);return a?a[1]:` `}var mN,hN,gN=__esmMin(()=>{Zc(),ao(),ps(),RM(),Ig(),Lg(),pN(),mN={command:`pack [path]`,description:`Produce an npm-compatible .tgz tarball for the workspace at <path> (default: cwd). Rewrites workspace:^/~/* deps to resolved versions.`,builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`pack-destination`,{description:`Directory to write the tarball into. Default: workspace cwd.`,type:`string`}).option(`json`,{description:"Emit pack metadata as JSON on stdout (mirrors `npm pack --json`).",type:`boolean`,default:!1}).option(`dry-run`,{description:`Compute everything but do not write the .tgz.`,type:`boolean`,default:!1}).option(`ignore-scripts`,{description:"Skip the `prepack` lifecycle script before packing. Mirrors `npm pack --ignore-scripts`. Use when scripts are already run by the outer workflow.",type:`boolean`,default:!1}),handler:async n=>{let a=await packWorkspace($o(n.path??process.cwd()),{destination:n[`pack-destination`],dryRun:n[`dry-run`]===!0,lifecycleScripts:n[`ignore-scripts`]?[]:[`prepack`],lifecycleStdio:n.json?`inherit-stderr`:`inherit`});n.json?process.stdout.write(`${JSON.stringify([a],null,2)}\n`):process.stdout.write(`${a.filename}\n`)}},hN=new Set([`.git`,`.svn`,`.hg`,`.gitignore`,`.gitattributes`,`.npmrc`,`CVS`,`.DS_Store`,`node_modules`,`.npmignore`,`package-lock.json`,`gjsify-lock.json`,`yarn.lock`,`yarn-error.log`,`.yarn`,`.pnp.cjs`,`.pnp.loader.mjs`,`tsconfig.tsbuildinfo`])});function escapePackageName(n){return n.replace(`/`,`%2f`)}function buildPublishHeaders(n,a){let S=buildHeaders(n,{npmrc:a.npmrc});return S[`content-type`]=`application/json`,S[`npm-command`]=`publish`,S[`npm-auth-type`]=a.otp?`legacy`:`web`,S[`user-agent`]=a.userAgent??defaultUserAgent(),a.otp&&(S[`npm-otp`]=a.otp),a.authorization&&(S.authorization=a.authorization),S}function defaultUserAgent(){let n=globalThis.process,a=n?.arch??`x64`;return`gjsify-publish/0.5.0 (${n?.platform??`linux`} ${a})`}var _N=__esmMin(()=>{NM()});function decodeJwtPayload(n){let a=n.split(`.`);if(a.length!==3)return null;try{let n=a[1].replace(/-/g,`+`).replace(/_/g,`/`),S=typeof atob==`function`?atob(n):Buffer.from(n,`base64`).toString(`binary`);return JSON.parse(S)}catch{return null}}function hasGithubOidcEnv(){return!!(process.env.ACTIONS_ID_TOKEN_REQUEST_URL&&process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN)}async function fetchGithubOidcToken(n,a){let S=process.env.ACTIONS_ID_TOKEN_REQUEST_URL,C=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!S||!C)throw new OidcUnavailableError("GitHub Actions OIDC env vars (ACTIONS_ID_TOKEN_REQUEST_{URL,TOKEN}) not set. The calling workflow needs `permissions: id-token: write`.",`no-env`);let N=`${S}${S.includes(`?`)?`&`:`?`}audience=${encodeURIComponent(n)}`;a?.(`gjsify oidc: GET ${N.replace(C,`<bearer>`)}`);let F=await fetch(N,{method:`GET`,headers:{Accept:`application/json`,Authorization:`Bearer ${C}`}});if(!F.ok){let n=await F.text().catch(()=>`<no body>`);throw new OidcUnavailableError(`Failed to fetch GitHub OIDC id_token: ${F.status} ${F.statusText} — ${n.slice(0,200)}`,`fetch-id-token`)}let I=await F.json().catch(()=>({}));if(!I.value)throw new OidcUnavailableError("GitHub OIDC response missing `value` field",`no-id-token`);return I.value}async function exchangeOidcForNpmToken(n){let{packageName:a,registry:S,idToken:C,log:N}=n,F=`${S.endsWith(`/`)?S.slice(0,-1):S}/-/npm/v1/oidc/token/exchange/package/${a.startsWith(`@`)?(()=>{let n=a.indexOf(`/`),S=a.slice(1,n),C=a.slice(n+1);return`@${encodeURIComponent(S)}%2f${encodeURIComponent(C)}`})():encodeURIComponent(a)}`;N?.(`gjsify oidc: POST ${F}`);let I=n.maxRetries??3,H=n.retryBaseMs??1e3;for(let n=0;;n++){let S;try{S=await fetch(F,{method:`POST`,headers:{Authorization:`Bearer ${C}`,"Content-Type":`application/json`,Accept:`application/json`},body:`{}`})}catch(S){if(n<I){let S=Math.min(H*2**n,8e3);N?.(`gjsify oidc: network error for ${a} (attempt ${n+1}/${I+1}), retrying in ${S}ms`),await sleep(S);continue}throw new OidcExchangeError(`npm OIDC token exchange network error for ${a} after ${n+1} attempt(s): ${S instanceof Error?S.message:String(S)}`,0,``,a,decodeJwtPayload(C)??void 0)}let W=await S.text().catch(()=>``);if(!S.ok){if(vN.has(S.status)&&n<I){let C=Math.min(H*2**n,8e3);N?.(`gjsify oidc: transient ${S.status} ${S.statusText} for ${a} (attempt ${n+1}/${I+1}), retrying in ${C}ms`),await sleep(C);continue}throw new OidcExchangeError(`npm OIDC token exchange failed for ${a}: ${S.status} ${S.statusText} — ${W.slice(0,300)}`,S.status,W,a,decodeJwtPayload(C)??void 0)}let K;try{K=JSON.parse(W)}catch{throw new OidcExchangeError(`npm OIDC token exchange returned non-JSON body for ${a}: ${W.slice(0,200)}`,S.status,W,a)}if(!K.token)throw new OidcExchangeError(`npm OIDC token exchange returned no \`token\` field for ${a}`,S.status,W,a);return K.token}}async function getNpmTrustedToken(n){let a=`npm:${new URL(n.registry).hostname}`,S=await fetchGithubOidcToken(a,n.log);return{token:await exchangeOidcForNpmToken({...n,idToken:S}),audience:a}}var vN,sleep,OidcUnavailableError,OidcExchangeError,yN=__esmMin(()=>{vN=new Set([408,425,429,500,502,503,504]),sleep=n=>new Promise(a=>setTimeout(a,n)),OidcUnavailableError=class extends Error{reason;constructor(n,a){super(n),this.reason=a,this.name=`OidcUnavailableError`}},OidcExchangeError=class extends Error{status;body;packageName;claims;constructor(n,a,S,C,N){super(n),this.status=a,this.body=S,this.packageName=C,this.claims=N,this.name=`OidcExchangeError`}}});async function diagnose404(n){let{packageName:a,version:S,registry:C,npmrc:N}=n,F={};try{F=await whoami(C,N)}catch{return{reason:`unknown`,message:formatUnknown(a,S)}}return F.username&&F.username.length>0?{reason:`live-token-404`,username:F.username,message:formatLiveToken404(a,S,F.username)}:{reason:`dead-token`,message:formatDeadToken(a,S)}}function formatDeadToken(n,a){return[`gjsify publish: ${n}@${a} — 404 Not Found`,``,`The npm token in ~/.npmrc appears to be revoked or expired (the /-/whoami probe`,`returned {} instead of {"username": "..."}). The 404 is npm's response to a PUT`,`authenticated with an invalid bearer token.`,``,`To refresh:`,` npm login`,` # or, future: gjsify login (tracked as project_gjsify_login_goal)`,``,`Then verify before publishing:`,` curl -s -H "Authorization: Bearer $(grep registry.npmjs.org ~/.npmrc | sed 's|.*=||')" \\`,` https://registry.npmjs.org/-/whoami`,` # Healthy: {"username":"<you>"}`,` # Dead: {}`].join(`
802
807
  `)}function formatLiveToken404(n,a,S){return[`gjsify publish: ${n}@${a} — 404 Not Found`,``,`Authenticated as: ${S}`,``,`Your token authenticates, so this is NOT a dead-token problem. The package`,`${n} is not (yet) on npmjs.com. Two cases:`,``,` 1. First publish of a brand-new scoped package — do the one-time bootstrap`,` (see AGENTS.md > "New @gjsify/* package: first-publish + Trusted`,` Publisher bootstrap"). The npm registry can also 404 *transiently*`,` while provisioning a brand-new package: simply re-run, or do the very`," first publish with `npm publish` (then configure the Trusted Publisher)."," 2. You lack publish access to the scope — verify with `npm access ls-packages`."].join(`
803
- `)}function formatUnknown(n,a){return`gjsify publish: ${n}@${a} — 404 Not Found`}function is404DiagnosticCandidate(n){let a=n.trim();return!!(a.length===0||/^not found$/i.test(a)||/"error"\s*:\s*"Not Found"/i.test(a))}var pN=__esmMin(()=>{DM()});async function loadNpmrc(n){let a=[],S=ns(n,`.npmrc`);existsSync(S)&&a.push(readFileSync(S,`utf-8`));let C=process.env.NPM_CONFIG_USERCONFIG;if(C&&existsSync(C))a.push(readFileSync(C,`utf-8`));else{let n=ns(homedir(),`.npmrc`);existsSync(n)&&a.push(readFileSync(n,`utf-8`))}return parseNpmrc(a.join(`
804
- `).replace(/\$\{([A-Z_][A-Z0-9_]*)\}/gi,(n,a)=>process.env[a]??``))}function hasAnyAuthToken(n){return Object.keys(n.authTokens).length>0}function hasAnyCredential(n){return hasAnyAuthToken(n)||Object.keys(n.basicAuth).length>0}var mN=__esmMin(()=>{Zc(),Wp(),ps(),DM()});async function packWorkspaceToBytes(n){let a=`/tmp/gjsify-publish-${process.pid}-${Date.now()}`,S=await packWorkspace(n,{destination:a,dryRun:!1,lifecycleScripts:[]});if(!S.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let C=new Uint8Array(readFileSync(S.absolutePath));try{(await Promise.resolve().then(()=>(Zc(),Jc))).rmSync(S.absolutePath)}catch{}try{(await Promise.resolve().then(()=>(Zc(),Jc))).rmdirSync(a)}catch{}return C}async function loadRewrittenManifest(n,a){let S=`/tmp/gjsify-publish-manifest-${process.pid}-${Date.now()}.tgz`,C=await packWorkspace(n,{destination:S.substring(0,S.lastIndexOf(`/`)),dryRun:!1}),{rmSync:N}=await Promise.resolve().then(()=>(Zc(),Jc));if(!C.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let{gunzip:F,parseTar:I}=await Promise.resolve().then(()=>(MM(),jM)),H=new Uint8Array(readFileSync(C.absolutePath));N(C.absolutePath);let W=await F(H);for(let n of I(W))if(n.name===`package/package.json`&&n.body)return JSON.parse(new TextDecoder().decode(n.body));return a}function buildPublishPayload(n){let{pkg:a,tag:S,access:C,tarballBytes:N,tarballUrl:F,packed:I,provenance:H}=n,W={...a,_id:`${I.name}@${I.version}`,dist:{integrity:I.integrity,shasum:I.shasum,tarball:F}};H&&(W._hasShrinkwrap=!1);let K={_id:I.name,name:I.name,description:typeof a.description==`string`?a.description:``,"dist-tags":{[S]:I.version},versions:{[I.version]:W},readme:``,_attachments:{[I.wireFilename]:{content_type:`application/octet-stream`,data:base64Encode(N),length:N.byteLength}}};return C&&(K.access=C),K}function base64Encode(n){let a=``,S=32768;for(let C=0;C<n.length;C+=S)a+=String.fromCharCode(...n.subarray(C,C+S));return btoa(a)}async function readLineFromStdin(){return new Promise(n=>{let a=``,onData=S=>{a+=typeof S==`string`?S:S.toString(`utf-8`);let C=a.indexOf(`
805
- `);C>=0&&(cleanup(),n(a.slice(0,C).trim()))},onEnd=()=>{cleanup(),n(a.trim())},onError=()=>{cleanup(),n(``)},cleanup=()=>{process.stdin.removeListener(`data`,onData),process.stdin.removeListener(`end`,onEnd),process.stdin.removeListener(`error`,onError),typeof process.stdin.unref==`function`&&process.stdin.unref?.()};process.stdin.setEncoding(`utf-8`),process.stdin.isPaused()&&process.stdin.resume(),process.stdin.once(`data`,onData),process.stdin.once(`end`,onEnd),process.stdin.once(`error`,onError)})}function handleOidcFailure(n,a,S){if(n instanceof OidcUnavailableError){let C=`gjsify publish: OIDC not available — ${n.message}`;S?process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`oidc-unavailable`,reason:n.reason,message:n.message})}\n`):process.stderr.write(`${C}\n`);return}if(n instanceof OidcExchangeError){let C=n.status===401||n.status===403?`npm rejected the OIDC exchange (${n.status}) — check that ${a} has a Trusted Publisher configured at https://www.npmjs.com/package/${encodeURIComponent(a)}/access pointing at this workflow.`:n.message;if(S)process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`oidc-exchange`,status:n.status,body:n.body,claims:n.claims,message:n.message})}\n`);else if(process.stderr.write(`✗ ${a}: ${C}\n`),n.body&&process.stderr.write(` ↳ npm said: ${n.body.slice(0,300)}\n`),n.claims){let a=n.claims,S=[`aud`,`iss`,`repository`,`repository_owner`,`workflow_ref`,`job_workflow_ref`,`ref`,`environment`,`sub`].filter(n=>a[n]!==void 0).map(n=>`${n}=${JSON.stringify(a[n])}`).join(`, `);S&&process.stderr.write(` ↳ JWT claims npm received: ${S}\n`)}return}let C=n instanceof Error?n.message:String(n);S?process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`unknown`,message:C})}\n`):process.stderr.write(`✗ ${a}: ${C}\n`)}var hN,gN=__esmMin(()=>{Ae(),Zc(),ps(),DM(),uN(),lN(),fN(),pN(),mN(),hN={command:`publish [path]`,description:"Pack + upload the workspace at <path> (default: cwd) to its npm registry. Drop-in for `npm publish` with workspace:^ rewrite handled automatically.",builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`tag`,{description:`Dist-tag to publish under. Default: latest.`,type:`string`,default:`latest`}).option(`access`,{description:"Package access — `public` or `restricted` (required for first publish of scoped packages on the public registry).",type:`string`}).option(`otp`,{description:"npm 2FA one-time code; sent as the `npm-otp` header. Required for manual publishes from a 2FA-enabled account.",type:`string`}).option(`tolerate-republish`,{description:'Treat "version already published" as success — covers both classic 409 Conflict and the npm OIDC-path 403 Forbidden + `"previously published"` body shape. Matches yarn `--tolerate-republish`.',type:`boolean`,default:!1}).option(`tolerate-untrusted-new`,{description:'Skip (exit 0) when OIDC token exchange returns `package not found` AND no fallback token is configured — i.e. a never-before-published `@scope/<name>` whose Trusted Publisher entry hasn\'t been set up on npmjs.com yet. Without this flag, one un-bootstrapped new package breaks the entire serialized `gjsify foreach publish` loop. Pair with `--tolerate-republish` in CI release workflows so a fresh-merged package gracefully skips its first CI publish, leaving the manual-bootstrap step to a maintainer (see AGENTS.md "New @gjsify/* package: first-publish + Trusted Publisher bootstrap").',type:`boolean`,default:!1}).option(`provenance`,{description:`Pass-through flag — recorded in the payload but no signing happens (gjsify doesn't ship a sigstore signer yet).`,type:`boolean`,default:!1}).option(`dry-run`,{description:`Pack only, do not PUT.`,type:`boolean`,default:!1}).option(`json`,{description:`Emit publish metadata as JSON on stdout.`,type:`boolean`,default:!1}).option(`trusted`,{description:"Authenticate via npm Trusted Publishing (OIDC): exchange the GitHub Actions id-token for a short-lived npm token. Pass `--trusted` to force this mode (errors if env vars missing). Omit to auto-detect: OIDC is used iff `ACTIONS_ID_TOKEN_REQUEST_URL`+`_TOKEN` are set AND no `_authToken` is present in the resolved npmrc; otherwise the long-lived token path is used. Requires the calling workflow to declare `permissions: id-token: write` AND the target package to have a Trusted Publisher configured on npmjs.com.",type:`boolean`,default:void 0}).option(`check-trusted`,{description:"Diagnostic mode: perform the OIDC id-token request + npm token exchange, report success/failure, then exit WITHOUT publishing. Useful as a bulk-verifier (e.g. via `gjsify foreach publish --check-trusted`) to confirm Trusted Publisher config across many packages.",type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.path??process.cwd()),S=n.tag??`latest`,C=n.access,N=n.otp,F=n[`tolerate-republish`]===!0,I=n[`tolerate-untrusted-new`]===!0,H=n.provenance===!0,W=n[`dry-run`]===!0,K=n[`check-trusted`]===!0,q=n.trusted,Y=!!process.env.GJSIFY_PUBLISH_DEBUG;if(H&&ke.warn(`gjsify publish: --provenance recorded but not signed (no sigstore integration yet).`),K){let S=ns(a,`package.json`),C=JSON.parse(readFileSync(S,`utf-8`));if(typeof C.name!=`string`&&(process.stderr.write(`gjsify publish --check-trusted: ${S} has no \`name\` field\n`),process.exit(2)),C.private===!0){let a={ok:!0,action:`check-trusted`,name:C.name,skipped:`private`};n.json?process.stdout.write(`${JSON.stringify(a)}\n`):process.stdout.write(`- ${C.name}: skipped (private package)\n`);return}let N=await loadNpmrc(a),F=process.env.npm_config_registry??registryFor(C.name,N)??EM;try{await getNpmTrustedToken({packageName:C.name,registry:F,log:Y?n=>ke.error(n):void 0});let a={ok:!0,action:`check-trusted`,name:C.name,registry:F};n.json?process.stdout.write(`${JSON.stringify(a)}\n`):process.stdout.write(`✓ ${C.name}: trusted publisher OK\n`);return}catch(a){handleOidcFailure(a,C.name,n.json===!0);return}}let X=await packWorkspace(a,{dryRun:!0,lifecycleScripts:[`prepublishOnly`,`prepack`],lifecycleStdio:n.json?`inherit-stderr`:`inherit`}),te=await packWorkspaceToBytes(a),ne=readFileSync(ns(a,`package.json`),`utf-8`),re=await loadRewrittenManifest(a,JSON.parse(ne));if(W){let a={ok:!0,action:`dry-run`,name:X.name,version:X.version,filename:X.filename,size:X.size,shasum:X.shasum,integrity:X.integrity};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${X.name}@${X.version} (dry-run, ${X.size} bytes, ${X.entryCount} files)\n`);return}let ie=await loadNpmrc(a),ae=process.env.npm_config_registry??registryFor(X.name,ie)??EM,oe=ae.endsWith(`/`)?ae.slice(0,-1):ae,Z=`${oe}/${escapePackageName(X.name)}`,se=`${X.name.includes(`/`)?X.name.slice(X.name.indexOf(`/`)+1):X.name}-${X.version}.tgz`,ce=buildPublishPayload({pkg:re,tag:S,access:C,tarballBytes:te,tarballUrl:`${oe}/${X.name}/-/${se}`,packed:{...X,wireFilename:se},provenance:H}),le=buildPublishHeaders(Z,{npmrc:ie,otp:N}),ue=q===!0||q===void 0&&hasGithubOidcEnv()&&!process.env.NODE_AUTH_TOKEN,de=`token`;if(ue)try{let{token:n,audience:a}=await getNpmTrustedToken({packageName:X.name,registry:ae,log:Y?n=>ke.error(n):void 0});le.authorization=`Bearer ${n}`,de=`oidc`,Y&&ke.error(`gjsify publish: OIDC token obtained (audience=${a})`)}catch(a){if(a instanceof OidcExchangeError&&a.status===404&&/package not found/i.test(a.body)&&I){let a=`${X.name}@${X.version} (skipped — no Trusted Publisher on npm, see AGENTS.md "New @gjsify/* package: first-publish + Trusted Publisher bootstrap")`;n.json?process.stdout.write(`${JSON.stringify({ok:!0,action:`skipped-untrusted-new`,name:X.name,version:X.version,reason:`no-trusted-publisher`},null,2)}\n`):process.stdout.write(`~ ${a}\n`);return}if(q===!0&&(handleOidcFailure(a,X.name,n.json===!0),process.exit(1)),!le.authorization){let S=a instanceof Error?a.message:String(a);ke.error(`gjsify publish: OIDC token exchange failed for ${X.name} (${S}) and no fallback npm token is configured — refusing to publish without credentials.`),n.json&&process.stdout.write(`${JSON.stringify({ok:!1,name:X.name,version:X.version,error:`oidc-failed-no-token`},null,2)}\n`),process.exit(1)}if(Y){let n=a instanceof Error?a.message:String(a);ke.error(`gjsify publish: OIDC auto-detect failed (${n}) — falling back to token auth`)}}Y&&(ke.error(`gjsify publish: PUT ${Z} (${X.name}@${X.version})`),ke.error(` auth-mode: ${de}`),ke.error(` authorization: ${le.authorization?`(set)`:`(none)`}`),ke.error(` otp: ${le[`npm-otp`]?`(set)`:`(none)`}`),ke.error(` payload size: ${JSON.stringify(ce).length} bytes`));let fe=JSON.stringify(ce);async function doPut(n){return fetch(Z,{method:`PUT`,headers:n,body:fe})}let pe=await doPut(le);if(!N&&pe.status===401){let n=pe.headers.get(`www-authenticate`)??``,a=await pe.text().catch(()=>``);if(n.toLowerCase().split(/,\s*/).includes(`otp`)||/one-time pass/i.test(a))if(process.stdin.isTTY&&process.stdout.isTTY){process.stdout.write(`This operation requires a one-time password.
806
- Enter OTP: `);let n=await readLineFromStdin();n?pe=await doPut({...le,"npm-otp":n}):(ke.error("gjsify publish: no OTP entered — re-run with `--otp <code>`"),process.exit(1))}else ke.error("gjsify publish: npm requires a 2FA one-time code — re-run with `--otp <code>`"),process.exit(1)}if(pe.ok){let a={ok:!0,name:X.name,version:X.version,filename:X.filename,size:X.size,integrity:X.integrity,tag:S,registry:oe};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${X.name}@${X.version}\n`);return}let me=await pe.text().catch(()=>`<no body>`);if((pe.status===409||pe.status===403&&/previously published/i.test(me))&&F){let a={ok:!0,action:`republish-tolerated`,name:X.name,version:X.version,status:pe.status};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`= ${X.name}@${X.version} (already published, tolerated)\n`);return}if(pe.status===404&&de===`token`&&is404DiagnosticCandidate(me)){let a=await diagnose404({packageName:X.name,version:X.version,registry:oe,npmrc:ie});a.reason!==`unknown`&&(n.json?process.stdout.write(`${JSON.stringify({ok:!1,name:X.name,version:X.version,status:404,diagnostic:a.reason,username:a.username},null,2)}\n`):process.stderr.write(`${a.message}\n`),process.exit(1))}ke.error(`gjsify publish: ${X.name}@${X.version} — ${pe.status} ${pe.statusText}`),ke.error(me),process.exit(1)}}}),_N,vN=__esmMin(()=>{DM(),mN(),_N={command:`whoami`,description:`Print the npm-registry username for the current ~/.npmrc token. Clear failure message when the token is dead, missing, or the registry is unreachable.`,builder:n=>n.option(`registry`,{description:`Registry URL to probe. Default: scope-aware lookup from .npmrc (falls back to ${EM}).`,type:`string`}).option(`json`,{description:"Emit `{username, registry}` (or `{error, registry}`) as a single-line JSON object.",type:`boolean`,default:!1}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??a.registry??EM,C=S.endsWith(`/`)?S.slice(0,-1):S,N=n.json===!0;hasAnyCredential(a)||(N?process.stdout.write(`${JSON.stringify({error:`no-token-configured`,registry:C})}\n`):process.stderr.write([`gjsify whoami: no npm token configured.`,``,`No \`_authToken\` found in ~/.npmrc / $NPM_CONFIG_USERCONFIG / .npmrc for ${C}.`,``,`Add one via: npm login`,`Then verify: gjsify whoami`].join(`
808
+ `)}function formatUnknown(n,a){return`gjsify publish: ${n}@${a} — 404 Not Found`}function is404DiagnosticCandidate(n){let a=n.trim();return!!(a.length===0||/^not found$/i.test(a)||/"error"\s*:\s*"Not Found"/i.test(a))}var bN=__esmMin(()=>{NM()});async function loadNpmrc(n){let a=[],S=ns(n,`.npmrc`);existsSync(S)&&a.push(readFileSync(S,`utf-8`));let C=process.env.NPM_CONFIG_USERCONFIG;if(C&&existsSync(C))a.push(readFileSync(C,`utf-8`));else{let n=ns(homedir(),`.npmrc`);existsSync(n)&&a.push(readFileSync(n,`utf-8`))}return parseNpmrc(a.join(`
809
+ `).replace(/\$\{([A-Z_][A-Z0-9_]*)\}/gi,(n,a)=>process.env[a]??``))}function hasAnyAuthToken(n){return Object.keys(n.authTokens).length>0}function hasAnyCredential(n){return hasAnyAuthToken(n)||Object.keys(n.basicAuth).length>0}var xN=__esmMin(()=>{Zc(),Wp(),ps(),NM()});async function packWorkspaceToBytes(n){let a=`/tmp/gjsify-publish-${process.pid}-${Date.now()}`,S=await packWorkspace(n,{destination:a,dryRun:!1,lifecycleScripts:[]});if(!S.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let C=new Uint8Array(readFileSync(S.absolutePath));try{(await Promise.resolve().then(()=>(Zc(),Jc))).rmSync(S.absolutePath)}catch{}try{(await Promise.resolve().then(()=>(Zc(),Jc))).rmdirSync(a)}catch{}return C}async function loadRewrittenManifest(n,a){let S=`/tmp/gjsify-publish-manifest-${process.pid}-${Date.now()}.tgz`,C=await packWorkspace(n,{destination:S.substring(0,S.lastIndexOf(`/`)),dryRun:!1}),{rmSync:N}=await Promise.resolve().then(()=>(Zc(),Jc));if(!C.absolutePath)throw Error(`gjsify publish: pack did not produce a file`);let{gunzip:F,parseTar:I}=await Promise.resolve().then(()=>(RM(),LM)),H=new Uint8Array(readFileSync(C.absolutePath));N(C.absolutePath);let W=await F(H);for(let n of I(W))if(n.name===`package/package.json`&&n.body)return JSON.parse(new TextDecoder().decode(n.body));return a}function buildPublishPayload(n){let{pkg:a,tag:S,access:C,tarballBytes:N,tarballUrl:F,packed:I,provenance:H}=n,W={...a,_id:`${I.name}@${I.version}`,dist:{integrity:I.integrity,shasum:I.shasum,tarball:F}};H&&(W._hasShrinkwrap=!1);let K={_id:I.name,name:I.name,description:typeof a.description==`string`?a.description:``,"dist-tags":{[S]:I.version},versions:{[I.version]:W},readme:``,_attachments:{[I.wireFilename]:{content_type:`application/octet-stream`,data:base64Encode(N),length:N.byteLength}}};return C&&(K.access=C),K}function base64Encode(n){let a=``,S=32768;for(let C=0;C<n.length;C+=S)a+=String.fromCharCode(...n.subarray(C,C+S));return btoa(a)}async function readLineFromStdin(){return new Promise(n=>{let a=``,onData=S=>{a+=typeof S==`string`?S:S.toString(`utf-8`);let C=a.indexOf(`
810
+ `);C>=0&&(cleanup(),n(a.slice(0,C).trim()))},onEnd=()=>{cleanup(),n(a.trim())},onError=()=>{cleanup(),n(``)},cleanup=()=>{process.stdin.removeListener(`data`,onData),process.stdin.removeListener(`end`,onEnd),process.stdin.removeListener(`error`,onError),typeof process.stdin.unref==`function`&&process.stdin.unref?.()};process.stdin.setEncoding(`utf-8`),process.stdin.isPaused()&&process.stdin.resume(),process.stdin.once(`data`,onData),process.stdin.once(`end`,onEnd),process.stdin.once(`error`,onError)})}function handleOidcFailure(n,a,S){if(n instanceof OidcUnavailableError){let C=`gjsify publish: OIDC not available — ${n.message}`;S?process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`oidc-unavailable`,reason:n.reason,message:n.message})}\n`):process.stderr.write(`${C}\n`);return}if(n instanceof OidcExchangeError){let C=n.status===401||n.status===403?`npm rejected the OIDC exchange (${n.status}) — check that ${a} has a Trusted Publisher configured at https://www.npmjs.com/package/${encodeURIComponent(a)}/access pointing at this workflow.`:n.message;if(S)process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`oidc-exchange`,status:n.status,body:n.body,claims:n.claims,message:n.message})}\n`);else if(process.stderr.write(`✗ ${a}: ${C}\n`),n.body&&process.stderr.write(` ↳ npm said: ${n.body.slice(0,300)}\n`),n.claims){let a=n.claims,S=[`aud`,`iss`,`repository`,`repository_owner`,`workflow_ref`,`job_workflow_ref`,`ref`,`environment`,`sub`].filter(n=>a[n]!==void 0).map(n=>`${n}=${JSON.stringify(a[n])}`).join(`, `);S&&process.stderr.write(` ↳ JWT claims npm received: ${S}\n`)}return}let C=n instanceof Error?n.message:String(n);S?process.stdout.write(`${JSON.stringify({ok:!1,name:a,error:`unknown`,message:C})}\n`):process.stderr.write(`✗ ${a}: ${C}\n`)}var SN,CN=__esmMin(()=>{Ae(),Zc(),ps(),NM(),_N(),gN(),yN(),bN(),xN(),SN={command:`publish [path]`,description:"Pack + upload the workspace at <path> (default: cwd) to its npm registry. Drop-in for `npm publish` with workspace:^ rewrite handled automatically.",builder:n=>n.positional(`path`,{description:`Workspace path (default: cwd).`,type:`string`}).option(`tag`,{description:`Dist-tag to publish under. Default: latest.`,type:`string`,default:`latest`}).option(`access`,{description:"Package access — `public` or `restricted` (required for first publish of scoped packages on the public registry).",type:`string`}).option(`otp`,{description:"npm 2FA one-time code; sent as the `npm-otp` header. Required for manual publishes from a 2FA-enabled account.",type:`string`}).option(`tolerate-republish`,{description:'Treat "version already published" as success — covers both classic 409 Conflict and the npm OIDC-path 403 Forbidden + `"previously published"` body shape. Matches yarn `--tolerate-republish`.',type:`boolean`,default:!1}).option(`tolerate-untrusted-new`,{description:'Skip (exit 0) when OIDC token exchange returns `package not found` AND no fallback token is configured — i.e. a never-before-published `@scope/<name>` whose Trusted Publisher entry hasn\'t been set up on npmjs.com yet. Without this flag, one un-bootstrapped new package breaks the entire serialized `gjsify foreach publish` loop. Pair with `--tolerate-republish` in CI release workflows so a fresh-merged package gracefully skips its first CI publish, leaving the manual-bootstrap step to a maintainer (see AGENTS.md "New @gjsify/* package: first-publish + Trusted Publisher bootstrap").',type:`boolean`,default:!1}).option(`provenance`,{description:`Pass-through flag — recorded in the payload but no signing happens (gjsify doesn't ship a sigstore signer yet).`,type:`boolean`,default:!1}).option(`dry-run`,{description:`Pack only, do not PUT.`,type:`boolean`,default:!1}).option(`json`,{description:`Emit publish metadata as JSON on stdout.`,type:`boolean`,default:!1}).option(`trusted`,{description:"Authenticate via npm Trusted Publishing (OIDC): exchange the GitHub Actions id-token for a short-lived npm token. Pass `--trusted` to force this mode (errors if env vars missing). Omit to auto-detect: OIDC is used iff `ACTIONS_ID_TOKEN_REQUEST_URL`+`_TOKEN` are set AND no `_authToken` is present in the resolved npmrc; otherwise the long-lived token path is used. Requires the calling workflow to declare `permissions: id-token: write` AND the target package to have a Trusted Publisher configured on npmjs.com.",type:`boolean`,default:void 0}).option(`check-trusted`,{description:"Diagnostic mode: perform the OIDC id-token request + npm token exchange, report success/failure, then exit WITHOUT publishing. Useful as a bulk-verifier (e.g. via `gjsify foreach publish --check-trusted`) to confirm Trusted Publisher config across many packages.",type:`boolean`,default:!1}),handler:async n=>{let a=$o(n.path??process.cwd()),S=n.tag??`latest`,C=n.access,N=n.otp,F=n[`tolerate-republish`]===!0,I=n[`tolerate-untrusted-new`]===!0,H=n.provenance===!0,W=n[`dry-run`]===!0,K=n[`check-trusted`]===!0,q=n.trusted,Y=!!process.env.GJSIFY_PUBLISH_DEBUG;if(H&&ke.warn(`gjsify publish: --provenance recorded but not signed (no sigstore integration yet).`),K){let S=ns(a,`package.json`),C=JSON.parse(readFileSync(S,`utf-8`));if(typeof C.name!=`string`&&(process.stderr.write(`gjsify publish --check-trusted: ${S} has no \`name\` field\n`),process.exit(2)),C.private===!0){let a={ok:!0,action:`check-trusted`,name:C.name,skipped:`private`};n.json?process.stdout.write(`${JSON.stringify(a)}\n`):process.stdout.write(`- ${C.name}: skipped (private package)\n`);return}let N=await loadNpmrc(a),F=process.env.npm_config_registry??registryFor(C.name,N)??MM;try{await getNpmTrustedToken({packageName:C.name,registry:F,log:Y?n=>ke.error(n):void 0});let a={ok:!0,action:`check-trusted`,name:C.name,registry:F};n.json?process.stdout.write(`${JSON.stringify(a)}\n`):process.stdout.write(`✓ ${C.name}: trusted publisher OK\n`);return}catch(a){handleOidcFailure(a,C.name,n.json===!0);return}}let X=await packWorkspace(a,{dryRun:!0,lifecycleScripts:[`prepublishOnly`,`prepack`],lifecycleStdio:n.json?`inherit-stderr`:`inherit`}),te=await packWorkspaceToBytes(a),ne=readFileSync(ns(a,`package.json`),`utf-8`),re=await loadRewrittenManifest(a,JSON.parse(ne));if(W){let a={ok:!0,action:`dry-run`,name:X.name,version:X.version,filename:X.filename,size:X.size,shasum:X.shasum,integrity:X.integrity};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${X.name}@${X.version} (dry-run, ${X.size} bytes, ${X.entryCount} files)\n`);return}let ie=await loadNpmrc(a),ae=process.env.npm_config_registry??registryFor(X.name,ie)??MM,oe=ae.endsWith(`/`)?ae.slice(0,-1):ae,Z=`${oe}/${escapePackageName(X.name)}`,se=`${X.name.includes(`/`)?X.name.slice(X.name.indexOf(`/`)+1):X.name}-${X.version}.tgz`,ce=buildPublishPayload({pkg:re,tag:S,access:C,tarballBytes:te,tarballUrl:`${oe}/${X.name}/-/${se}`,packed:{...X,wireFilename:se},provenance:H}),le=buildPublishHeaders(Z,{npmrc:ie,otp:N}),ue=q===!0||q===void 0&&hasGithubOidcEnv()&&!process.env.NODE_AUTH_TOKEN,de=`token`;if(ue)try{let{token:n,audience:a}=await getNpmTrustedToken({packageName:X.name,registry:ae,log:Y?n=>ke.error(n):void 0});le.authorization=`Bearer ${n}`,de=`oidc`,Y&&ke.error(`gjsify publish: OIDC token obtained (audience=${a})`)}catch(a){if(a instanceof OidcExchangeError&&a.status===404&&/package not found/i.test(a.body)&&I){let a=`${X.name}@${X.version} (skipped — no Trusted Publisher on npm, see AGENTS.md "New @gjsify/* package: first-publish + Trusted Publisher bootstrap")`;n.json?process.stdout.write(`${JSON.stringify({ok:!0,action:`skipped-untrusted-new`,name:X.name,version:X.version,reason:`no-trusted-publisher`},null,2)}\n`):process.stdout.write(`~ ${a}\n`);return}if(q===!0&&(handleOidcFailure(a,X.name,n.json===!0),process.exit(1)),!le.authorization){let S=a instanceof Error?a.message:String(a);ke.error(`gjsify publish: OIDC token exchange failed for ${X.name} (${S}) and no fallback npm token is configured — refusing to publish without credentials.`),n.json&&process.stdout.write(`${JSON.stringify({ok:!1,name:X.name,version:X.version,error:`oidc-failed-no-token`},null,2)}\n`),process.exit(1)}if(Y){let n=a instanceof Error?a.message:String(a);ke.error(`gjsify publish: OIDC auto-detect failed (${n}) — falling back to token auth`)}}Y&&(ke.error(`gjsify publish: PUT ${Z} (${X.name}@${X.version})`),ke.error(` auth-mode: ${de}`),ke.error(` authorization: ${le.authorization?`(set)`:`(none)`}`),ke.error(` otp: ${le[`npm-otp`]?`(set)`:`(none)`}`),ke.error(` payload size: ${JSON.stringify(ce).length} bytes`));let fe=JSON.stringify(ce);async function doPut(n){return fetch(Z,{method:`PUT`,headers:n,body:fe})}let pe=await doPut(le);if(!N&&pe.status===401){let n=pe.headers.get(`www-authenticate`)??``,a=await pe.text().catch(()=>``);if(n.toLowerCase().split(/,\s*/).includes(`otp`)||/one-time pass/i.test(a))if(process.stdin.isTTY&&process.stdout.isTTY){process.stdout.write(`This operation requires a one-time password.
811
+ Enter OTP: `);let n=await readLineFromStdin();n?pe=await doPut({...le,"npm-otp":n}):(ke.error("gjsify publish: no OTP entered — re-run with `--otp <code>`"),process.exit(1))}else ke.error("gjsify publish: npm requires a 2FA one-time code — re-run with `--otp <code>`"),process.exit(1)}if(pe.ok){let a={ok:!0,name:X.name,version:X.version,filename:X.filename,size:X.size,integrity:X.integrity,tag:S,registry:oe};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`+ ${X.name}@${X.version}\n`);return}let me=await pe.text().catch(()=>`<no body>`);if((pe.status===409||pe.status===403&&/previously published/i.test(me))&&F){let a={ok:!0,action:`republish-tolerated`,name:X.name,version:X.version,status:pe.status};n.json?process.stdout.write(`${JSON.stringify(a,null,2)}\n`):process.stdout.write(`= ${X.name}@${X.version} (already published, tolerated)\n`);return}if(pe.status===404&&de===`token`&&is404DiagnosticCandidate(me)){let a=await diagnose404({packageName:X.name,version:X.version,registry:oe,npmrc:ie});a.reason!==`unknown`&&(n.json?process.stdout.write(`${JSON.stringify({ok:!1,name:X.name,version:X.version,status:404,diagnostic:a.reason,username:a.username},null,2)}\n`):process.stderr.write(`${a.message}\n`),process.exit(1))}ke.error(`gjsify publish: ${X.name}@${X.version} — ${pe.status} ${pe.statusText}`),ke.error(me),process.exit(1)}}}),wN,TN=__esmMin(()=>{NM(),xN(),wN={command:`whoami`,description:`Print the npm-registry username for the current ~/.npmrc token. Clear failure message when the token is dead, missing, or the registry is unreachable.`,builder:n=>n.option(`registry`,{description:`Registry URL to probe. Default: scope-aware lookup from .npmrc (falls back to ${MM}).`,type:`string`}).option(`json`,{description:"Emit `{username, registry}` (or `{error, registry}`) as a single-line JSON object.",type:`boolean`,default:!1}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??a.registry??MM,C=S.endsWith(`/`)?S.slice(0,-1):S,N=n.json===!0;hasAnyCredential(a)||(N?process.stdout.write(`${JSON.stringify({error:`no-token-configured`,registry:C})}\n`):process.stderr.write([`gjsify whoami: no npm token configured.`,``,`No \`_authToken\` found in ~/.npmrc / $NPM_CONFIG_USERCONFIG / .npmrc for ${C}.`,``,`Add one via: npm login`,`Then verify: gjsify whoami`].join(`
807
812
  `)+`
808
813
  `),process.exit(1));let F;try{F=await whoami(S,a)}catch(n){let a=n instanceof Error?n.message:String(n);N?process.stdout.write(`${JSON.stringify({error:a,registry:C})}\n`):(process.stderr.write(`gjsify whoami: ${a}\n`),process.stderr.write(`Registry: ${C}\n`)),process.exit(1);return}if(F.username&&F.username.length>0){N?process.stdout.write(`${JSON.stringify({username:F.username,registry:C})}\n`):(process.stdout.write(`Logged in as: ${F.username}\n`),process.stdout.write(`Registry: ${C}\n`));return}N?process.stdout.write(`${JSON.stringify({error:`dead-token`,registry:C})}\n`):process.stderr.write([`gjsify whoami: token appears dead or revoked (registry returned an empty whoami response).`,``,`Refresh via: npm login`,`Then verify: gjsify whoami`,``,`For the @gjsify scope, see AGENTS.md > "New @gjsify/* package: first-publish + Trusted Publisher bootstrap".`].join(`
809
814
  `)+`
@@ -812,26 +817,26 @@ Enter OTP: `);let n=await readLineFromStdin();n?pe=await doPut({...le,"npm-otp":
812
817
  `)+`
813
818
  `),S}function removeAuthToken(n){let a=userconfigNpmrcPath(),S=authTokenKey(n),C=readUserconfig(a);if(!C)return{path:a,removed:!1};let N=C.split(`
814
819
  `),F=N.filter(n=>!n.replace(/\s+/g,``).startsWith(`${S}=`)),I=F.length!==N.length;return I&&writeUserconfig(a,F.join(`
815
- `)),{path:a,removed:I}}var yN=__esmMin(()=>{Zc(),Wp(),ps()});function isTtyStdin(){let n=process.stdin;return!!n.isTTY&&typeof n.setRawMode==`function`}function applyKey(n,a,S){return a===`\r`||a===`
820
+ `)),{path:a,removed:I}}var EN=__esmMin(()=>{Zc(),Wp(),ps()});function isTtyStdin(){let n=process.stdin;return!!n.isTTY&&typeof n.setRawMode==`function`}function applyKey(n,a,S){return a===`\r`||a===`
816
821
  `?{buf:n,echo:`
817
- `,done:!0,interrupt:!1}:a===bN?{buf:n,echo:`
818
- `,done:!1,interrupt:!0}:a===xN||a===SN?n.length>0?{buf:n.slice(0,-1),echo:`\b \b`,done:!1,interrupt:!1}:{buf:n,echo:``,done:!1,interrupt:!1}:a>=` `?{buf:n+a,echo:S?`*`:a,done:!1,interrupt:!1}:{buf:n,echo:``,done:!1,interrupt:!1}}async function runRawSession(n){let a=process.stdin,S=process.stdout,C=null,cleanup=()=>{a.removeListener(`data`,onData);try{a.setRawMode(!1)}catch{}typeof a.pause==`function`&&a.pause()},onData=n=>{let a=typeof n==`string`?n:n.toString(`utf-8`);for(let n of a){if(!C)continue;let a=applyKey(C.buf,n,C.mask);if(C.buf=a.buf,a.echo&&S.write(a.echo),a.interrupt&&(cleanup(),process.exit(130)),a.done){let{resolve:n}=C;C=null,n(a.buf)}}};a.setRawMode(!0),typeof a.resume==`function`&&a.resume(),a.setEncoding(`utf-8`),a.on(`data`,onData);let read=(n,a)=>new Promise(N=>{S.write(n),C={mask:a,buf:``,resolve:N}});try{return await n(read)}finally{cleanup()}}function readLine(){return new Promise(n=>{let a=``,onData=S=>{a+=typeof S==`string`?S:S.toString(`utf-8`);let C=a.search(/[\r\n]/);C>=0&&(cleanup(),n(a.slice(0,C)))},onEnd=()=>{cleanup(),n(a.replace(/\r$/,``).trim())},cleanup=()=>{process.stdin.removeListener(`data`,onData),process.stdin.removeListener(`end`,onEnd)};process.stdin.setEncoding(`utf-8`),typeof process.stdin.isPaused==`function`&&process.stdin.isPaused()&&process.stdin.resume(),process.stdin.on(`data`,onData),process.stdin.once(`end`,onEnd)})}async function promptLine(n){return isTtyStdin()?runRawSession(a=>a(n,!1)):(process.stdout.write(n),readLine())}async function promptCredentials(n){if(!isTtyStdin()){let a=n;a||=(process.stdout.write(`Username: `),await readLine()),process.stdout.write(`Password: `);let S=await readLine();return{username:a,password:S}}return runRawSession(async a=>({username:n??await a(`Username: `,!1),password:await a(`Password: `,!0)}))}var bN,xN,SN,CN=__esmMin(()=>{bN=``,xN=``,SN=`\b`}),wN,TN=__esmMin(()=>{Ae(),DM(),mN(),yN(),CN(),wN={command:`login`,description:"Log in to an npm registry (Node-free `npm login`). Prompts for username + password (hidden) and writes the token to ~/.npmrc. Use --otp for 2FA. Web-OAuth flow is not supported — this is npm's legacy credentials flow.",builder:n=>n.option(`registry`,{description:`Registry URL to log in to. Default: ${EM} (or a --scope's registry).`,type:`string`}).option(`scope`,{description:`Associate the login with a scope (e.g. @gjsify) — resolves that scope's registry from .npmrc.`,type:`string`}).option(`username`,{description:`Username (prompted if omitted).`,type:`string`}).option(`otp`,{description:`npm 2FA one-time code (prompted on demand if omitted).`,type:`string`}).option(`json`,{description:"Emit `{username, registry}` JSON on success.",type:`boolean`}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??(n.scope?registryFor(n.scope.startsWith(`@`)?`${n.scope}/_`:`@${n.scope}/_`,a):void 0)??EM,C=S.endsWith(`/`)?S:`${S}/`,{username:N,password:F}=await promptCredentials(n.username);N||(ke.error(`gjsify login: a username is required.`),process.exit(1)),F||(ke.error(`gjsify login: a password is required.`),process.exit(1));let I=`Basic ${btoa(`${N}:${F}`)}`,H=`${C}-/user/org.couchdb.user:${encodeURIComponent(N)}`,W={_id:`org.couchdb.user:${N}`,name:N,password:F,type:`user`,roles:[],date:void 0};function authHeaders(n){let a={authorization:I,"content-type":`application/json`,accept:`*/*`};return n&&(a[`npm-otp`]=n),a}async function putUser(n,a){return fetch(`${H}${n}`,{method:`PUT`,headers:authHeaders(a),body:JSON.stringify(W)})}let K=n.otp,q=await putUser(``,K);if(q.status===401&&!K){let n=(q.headers.get(`www-authenticate`)??``).toLowerCase(),a=await q.clone().text().catch(()=>``);(n.includes(`otp`)||/one-time pass/i.test(a))&&(K=await promptLine(`This operation requires a one-time password.
819
- Enter OTP: `),K||(ke.error(`gjsify login: no OTP entered.`),process.exit(1)),q=await putUser(``,K))}if(q.status===409){let n=await fetch(`${H}?write=true`,{headers:authHeaders(K)});if(n.ok){let a=await n.json().catch(()=>({}));for(let n of Object.keys(a))(!W[n]||n===`roles`)&&(W[n]=a[n]);W._rev&&(q=await putUser(`/-rev/${W._rev}`,K))}}if(q.status===400&&(ke.error(`gjsify login: there is no user with the username "${N}" on ${C}.`),process.exit(1)),!q.ok){let n=await q.text().catch(()=>`<no body>`);ke.error(`gjsify login: ${q.status} ${q.statusText} from ${C}\n${n.slice(0,400)}`),process.exit(1)}let Y=await q.json().catch(()=>({}));Y.token||(ke.error("gjsify login: the registry accepted the login but returned no token (unexpected response shape). Your registry may require the web-OAuth flow — use `npm login`."),process.exit(1));let X=writeAuthToken(C,Y.token),te=(await whoami(C,await loadNpmrc(process.cwd()))).username??N;n.json?process.stdout.write(`${JSON.stringify({username:te,registry:C})}\n`):process.stdout.write(`Logged in as ${te} on ${C}\n(token written to ${X})\n`)}}}),EN,DN=__esmMin(()=>{DM(),mN(),yN(),EN={command:`logout`,description:"Log out of an npm registry (Node-free `npm logout`). Revokes the token on the registry (best-effort) and removes it from ~/.npmrc.",builder:n=>n.option(`registry`,{description:`Registry URL to log out of. Default: ${EM} (or a --scope's registry).`,type:`string`}).option(`scope`,{description:`Log out of a scope's registry (e.g. @gjsify) — resolved from .npmrc.`,type:`string`}).option(`json`,{description:"Emit `{registry, revoked, removed}` JSON.",type:`boolean`}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??(n.scope?registryFor(n.scope.startsWith(`@`)?`${n.scope}/_`:`@${n.scope}/_`,a):void 0)??EM,C=S.endsWith(`/`)?S:`${S}/`,N=resolveAuthForUrl(`${C}-/whoami`,a),F=!1;if(N?.startsWith(`Bearer `)){let n=N.slice(7);try{F=(await fetch(`${C}-/user/token/${encodeURIComponent(n)}`,{method:`DELETE`,headers:{authorization:N,accept:`*/*`}})).ok}catch{}}let{path:I,removed:H}=removeAuthToken(C);n.json?process.stdout.write(`${JSON.stringify({registry:C,revoked:F,removed:H})}\n`):H?process.stdout.write(`Logged out of ${C}${F?` (token revoked)`:``}\n(removed from ${I})\n`):process.stdout.write(`No token for ${C} found in ${I} — nothing to remove.\n`)}}});function trustUrl(n,a){return`${n.endsWith(`/`)?n.slice(0,-1):n}/-/package/${escapePackageName(a)}/trust`}function githubTrustBody(n){let a={repository:n.repository,workflow_ref:{file:normalizeWorkflowFile(n.workflow)}};return n.environment&&(a.environment=n.environment),[{type:`github`,claims:a,permissions:n.permissions&&n.permissions.length>0?n.permissions:[ON]}]}function normalizeWorkflowFile(n){return n.split(`/`).pop()??n}function validateRepository(n){let a=n.split(`/`);return a.length===2&&a[0].length>0&&a[1].length>0}function matchesGithubTrust(n,a){if(n.type!==`github`)return!1;let S=n.claims?.repository,C=n.claims?.workflow_ref?.file;return S===a.repository&&C===normalizeWorkflowFile(a.workflow)}function classifyTrustList(n,a,S){return n===404?`unpublished`:n===401?`auth-required`:n>=200&&n<300?(Array.isArray(a)?a:[]).some(n=>matchesGithubTrust(n,S))?`trusted`:`untrusted`:`error`}function parseRepoFromGitRemote(n){let a=n.trim();if(!a)return null;a=a.replace(/\.git$/,``);let S=a.match(/^[^/@]+@[^:]+:(.+)$/);if(S)return twoSegments(S[1]);let C=a.match(/^[a-z]+:\/\/[^/]+\/(.+)$/i);return C?twoSegments(C[1]):null}function twoSegments(n){let a=n.split(`/`).filter(n=>n.length>0);return a.length<2?null:`${a[a.length-2]}/${a[a.length-1]}`}var ON,kN=__esmMin(()=>{uN(),ON=`createPackage`});async function isOtpChallenge(n){if(n.status!==401)return!1;if((n.headers.get(`www-authenticate`)??``).toLowerCase().includes(`otp`))return!0;let a=await n.clone().text().catch(()=>``);return/one-time pass/i.test(a)||/\bEOTP\b/.test(a)}function firstLine(n){return n.split(`
820
- `)[0].slice(0,200)}var AN,jN=__esmMin(()=>{Ae(),sC(),Zc(),ps(),DM(),Ig(),mN(),CN(),kN(),AN={command:`trust [packages..]`,description:"Configure npm Trusted Publishers (OIDC/GitHub Actions) for publishable workspace packages so release.yml can publish without a token. Native — no `npm` needed. Incremental: skips already-configured packages.",builder:n=>n.positional(`packages`,{description:`Optional package-name globs to limit the sweep (default: all publishable workspaces).`,type:`string`,array:!0}).option(`repository`,{description:"GitHub repo as `owner/repo`. Default: inferred from the `origin` git remote.",type:`string`}).option(`workflow`,{description:`Workflow filename allowed to publish (basename only).`,type:`string`,default:`release.yml`}).option(`environment`,{description:`Optional GitHub Actions environment the workflow must run in.`,type:`string`}).option(`registry`,{description:`Registry override. Default: scope-aware lookup from .npmrc (falls back to ${EM}).`,type:`string`}).option(`otp`,{description:"npm 2FA one-time code; sent as `npm-otp`. Prompted on demand if omitted.",type:`string`}).option(`dry-run`,{description:`List what would be configured without writing anything.`,type:`boolean`,default:!1}).option(`force`,{description:`Re-POST the config even for packages already trusted for this repo+workflow.`,type:`boolean`,default:!1}).option(`list`,{description:`Only report each package’s current trust state; configure nothing.`,type:`boolean`,default:!1}).option(`private`,{description:`Include private workspaces (default false — private packages are not publishable).`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=await loadNpmrc(a);hasAnyCredential(S)||(ke.error("gjsify trust: no npm token configured. Run `gjsify login` first."),process.exit(1));let C=n.registry??process.env.npm_config_registry??S.registry??EM;if(n[`dry-run`]!==!0){let n;try{n=await whoami(C,S)}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`gjsify trust: npm auth check failed (${a}).\nYour ~/.npmrc token is dead or revoked — refresh it with \`npm login\`, then re-run.
822
+ `,done:!0,interrupt:!1}:a===DN?{buf:n,echo:`
823
+ `,done:!1,interrupt:!0}:a===ON||a===kN?n.length>0?{buf:n.slice(0,-1),echo:`\b \b`,done:!1,interrupt:!1}:{buf:n,echo:``,done:!1,interrupt:!1}:a>=` `?{buf:n+a,echo:S?`*`:a,done:!1,interrupt:!1}:{buf:n,echo:``,done:!1,interrupt:!1}}async function runRawSession(n){let a=process.stdin,S=process.stdout,C=null,cleanup=()=>{a.removeListener(`data`,onData);try{a.setRawMode(!1)}catch{}typeof a.pause==`function`&&a.pause()},onData=n=>{let a=typeof n==`string`?n:n.toString(`utf-8`);for(let n of a){if(!C)continue;let a=applyKey(C.buf,n,C.mask);if(C.buf=a.buf,a.echo&&S.write(a.echo),a.interrupt&&(cleanup(),process.exit(130)),a.done){let{resolve:n}=C;C=null,n(a.buf)}}};a.setRawMode(!0),typeof a.resume==`function`&&a.resume(),a.setEncoding(`utf-8`),a.on(`data`,onData);let read=(n,a)=>new Promise(N=>{S.write(n),C={mask:a,buf:``,resolve:N}});try{return await n(read)}finally{cleanup()}}function readLine(){return new Promise(n=>{let a=``,onData=S=>{a+=typeof S==`string`?S:S.toString(`utf-8`);let C=a.search(/[\r\n]/);C>=0&&(cleanup(),n(a.slice(0,C)))},onEnd=()=>{cleanup(),n(a.replace(/\r$/,``).trim())},cleanup=()=>{process.stdin.removeListener(`data`,onData),process.stdin.removeListener(`end`,onEnd)};process.stdin.setEncoding(`utf-8`),typeof process.stdin.isPaused==`function`&&process.stdin.isPaused()&&process.stdin.resume(),process.stdin.on(`data`,onData),process.stdin.once(`end`,onEnd)})}async function promptLine(n){return isTtyStdin()?runRawSession(a=>a(n,!1)):(process.stdout.write(n),readLine())}async function promptCredentials(n){if(!isTtyStdin()){let a=n;a||=(process.stdout.write(`Username: `),await readLine()),process.stdout.write(`Password: `);let S=await readLine();return{username:a,password:S}}return runRawSession(async a=>({username:n??await a(`Username: `,!1),password:await a(`Password: `,!0)}))}var DN,ON,kN,AN=__esmMin(()=>{DN=``,ON=``,kN=`\b`}),jN,MN=__esmMin(()=>{Ae(),NM(),xN(),EN(),AN(),jN={command:`login`,description:"Log in to an npm registry (Node-free `npm login`). Prompts for username + password (hidden) and writes the token to ~/.npmrc. Use --otp for 2FA. Web-OAuth flow is not supported — this is npm's legacy credentials flow.",builder:n=>n.option(`registry`,{description:`Registry URL to log in to. Default: ${MM} (or a --scope's registry).`,type:`string`}).option(`scope`,{description:`Associate the login with a scope (e.g. @gjsify) — resolves that scope's registry from .npmrc.`,type:`string`}).option(`username`,{description:`Username (prompted if omitted).`,type:`string`}).option(`otp`,{description:`npm 2FA one-time code (prompted on demand if omitted).`,type:`string`}).option(`json`,{description:"Emit `{username, registry}` JSON on success.",type:`boolean`}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??(n.scope?registryFor(n.scope.startsWith(`@`)?`${n.scope}/_`:`@${n.scope}/_`,a):void 0)??MM,C=S.endsWith(`/`)?S:`${S}/`,{username:N,password:F}=await promptCredentials(n.username);N||(ke.error(`gjsify login: a username is required.`),process.exit(1)),F||(ke.error(`gjsify login: a password is required.`),process.exit(1));let I=`Basic ${btoa(`${N}:${F}`)}`,H=`${C}-/user/org.couchdb.user:${encodeURIComponent(N)}`,W={_id:`org.couchdb.user:${N}`,name:N,password:F,type:`user`,roles:[],date:void 0};function authHeaders(n){let a={authorization:I,"content-type":`application/json`,accept:`*/*`};return n&&(a[`npm-otp`]=n),a}async function putUser(n,a){return fetch(`${H}${n}`,{method:`PUT`,headers:authHeaders(a),body:JSON.stringify(W)})}let K=n.otp,q=await putUser(``,K);if(q.status===401&&!K){let n=(q.headers.get(`www-authenticate`)??``).toLowerCase(),a=await q.clone().text().catch(()=>``);(n.includes(`otp`)||/one-time pass/i.test(a))&&(K=await promptLine(`This operation requires a one-time password.
824
+ Enter OTP: `),K||(ke.error(`gjsify login: no OTP entered.`),process.exit(1)),q=await putUser(``,K))}if(q.status===409){let n=await fetch(`${H}?write=true`,{headers:authHeaders(K)});if(n.ok){let a=await n.json().catch(()=>({}));for(let n of Object.keys(a))(!W[n]||n===`roles`)&&(W[n]=a[n]);W._rev&&(q=await putUser(`/-rev/${W._rev}`,K))}}if(q.status===400&&(ke.error(`gjsify login: there is no user with the username "${N}" on ${C}.`),process.exit(1)),!q.ok){let n=await q.text().catch(()=>`<no body>`);ke.error(`gjsify login: ${q.status} ${q.statusText} from ${C}\n${n.slice(0,400)}`),process.exit(1)}let Y=await q.json().catch(()=>({}));Y.token||(ke.error("gjsify login: the registry accepted the login but returned no token (unexpected response shape). Your registry may require the web-OAuth flow — use `npm login`."),process.exit(1));let X=writeAuthToken(C,Y.token),te=(await whoami(C,await loadNpmrc(process.cwd()))).username??N;n.json?process.stdout.write(`${JSON.stringify({username:te,registry:C})}\n`):process.stdout.write(`Logged in as ${te} on ${C}\n(token written to ${X})\n`)}}}),NN,PN=__esmMin(()=>{NM(),xN(),EN(),NN={command:`logout`,description:"Log out of an npm registry (Node-free `npm logout`). Revokes the token on the registry (best-effort) and removes it from ~/.npmrc.",builder:n=>n.option(`registry`,{description:`Registry URL to log out of. Default: ${MM} (or a --scope's registry).`,type:`string`}).option(`scope`,{description:`Log out of a scope's registry (e.g. @gjsify) — resolved from .npmrc.`,type:`string`}).option(`json`,{description:"Emit `{registry, revoked, removed}` JSON.",type:`boolean`}),handler:async n=>{let a=await loadNpmrc(process.cwd()),S=n.registry??process.env.npm_config_registry??(n.scope?registryFor(n.scope.startsWith(`@`)?`${n.scope}/_`:`@${n.scope}/_`,a):void 0)??MM,C=S.endsWith(`/`)?S:`${S}/`,N=resolveAuthForUrl(`${C}-/whoami`,a),F=!1;if(N?.startsWith(`Bearer `)){let n=N.slice(7);try{F=(await fetch(`${C}-/user/token/${encodeURIComponent(n)}`,{method:`DELETE`,headers:{authorization:N,accept:`*/*`}})).ok}catch{}}let{path:I,removed:H}=removeAuthToken(C);n.json?process.stdout.write(`${JSON.stringify({registry:C,revoked:F,removed:H})}\n`):H?process.stdout.write(`Logged out of ${C}${F?` (token revoked)`:``}\n(removed from ${I})\n`):process.stdout.write(`No token for ${C} found in ${I} — nothing to remove.\n`)}}});function trustUrl(n,a){return`${n.endsWith(`/`)?n.slice(0,-1):n}/-/package/${escapePackageName(a)}/trust`}function githubTrustBody(n){let a={repository:n.repository,workflow_ref:{file:normalizeWorkflowFile(n.workflow)}};return n.environment&&(a.environment=n.environment),[{type:`github`,claims:a,permissions:n.permissions&&n.permissions.length>0?n.permissions:[FN]}]}function normalizeWorkflowFile(n){return n.split(`/`).pop()??n}function validateRepository(n){let a=n.split(`/`);return a.length===2&&a[0].length>0&&a[1].length>0}function matchesGithubTrust(n,a){if(n.type!==`github`)return!1;let S=n.claims?.repository,C=n.claims?.workflow_ref?.file;return S===a.repository&&C===normalizeWorkflowFile(a.workflow)}function classifyTrustList(n,a,S){return n===404?`unpublished`:n===401?`auth-required`:n>=200&&n<300?(Array.isArray(a)?a:[]).some(n=>matchesGithubTrust(n,S))?`trusted`:`untrusted`:`error`}function parseRepoFromGitRemote(n){let a=n.trim();if(!a)return null;a=a.replace(/\.git$/,``);let S=a.match(/^[^/@]+@[^:]+:(.+)$/);if(S)return twoSegments(S[1]);let C=a.match(/^[a-z]+:\/\/[^/]+\/(.+)$/i);return C?twoSegments(C[1]):null}function twoSegments(n){let a=n.split(`/`).filter(n=>n.length>0);return a.length<2?null:`${a[a.length-2]}/${a[a.length-1]}`}var FN,IN=__esmMin(()=>{_N(),FN=`createPackage`});async function isOtpChallenge(n){if(n.status!==401)return!1;if((n.headers.get(`www-authenticate`)??``).toLowerCase().includes(`otp`))return!0;let a=await n.clone().text().catch(()=>``);return/one-time pass/i.test(a)||/\bEOTP\b/.test(a)}function firstLine(n){return n.split(`
825
+ `)[0].slice(0,200)}var LN,RN=__esmMin(()=>{Ae(),cC(),Zc(),ps(),NM(),Ig(),xN(),AN(),IN(),LN={command:`trust [packages..]`,description:"Configure npm Trusted Publishers (OIDC/GitHub Actions) for publishable workspace packages so release.yml can publish without a token. Native — no `npm` needed. Incremental: skips already-configured packages.",builder:n=>n.positional(`packages`,{description:`Optional package-name globs to limit the sweep (default: all publishable workspaces).`,type:`string`,array:!0}).option(`repository`,{description:"GitHub repo as `owner/repo`. Default: inferred from the `origin` git remote.",type:`string`}).option(`workflow`,{description:`Workflow filename allowed to publish (basename only).`,type:`string`,default:`release.yml`}).option(`environment`,{description:`Optional GitHub Actions environment the workflow must run in.`,type:`string`}).option(`registry`,{description:`Registry override. Default: scope-aware lookup from .npmrc (falls back to ${MM}).`,type:`string`}).option(`otp`,{description:"npm 2FA one-time code; sent as `npm-otp`. Prompted on demand if omitted.",type:`string`}).option(`dry-run`,{description:`List what would be configured without writing anything.`,type:`boolean`,default:!1}).option(`force`,{description:`Re-POST the config even for packages already trusted for this repo+workflow.`,type:`boolean`,default:!1}).option(`list`,{description:`Only report each package’s current trust state; configure nothing.`,type:`boolean`,default:!1}).option(`private`,{description:`Include private workspaces (default false — private packages are not publishable).`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=await loadNpmrc(a);hasAnyCredential(S)||(ke.error("gjsify trust: no npm token configured. Run `gjsify login` first."),process.exit(1));let C=n.registry??process.env.npm_config_registry??S.registry??MM;if(n[`dry-run`]!==!0){let n;try{n=await whoami(C,S)}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`gjsify trust: npm auth check failed (${a}).\nYour ~/.npmrc token is dead or revoked — refresh it with \`npm login\`, then re-run.
821
826
  (\`gjsify trust\` uses the ~/.npmrc bearer token directly — unlike \`npm trust\`, which logs in via the browser.)`),process.exit(1);return}n.username||(ke.error("gjsify trust: your npm token appears dead or revoked (registry returned an empty whoami).\nRefresh it with `npm login`, then re-run."),process.exit(1)),ke.log(`gjsify trust: authenticated as ${n.username}`)}let N=n.repository;if(!N){let n=spawnSync(`git`,[`remote`,`get-url`,`origin`],{cwd:a,encoding:`utf8`});n.status===0&&(N=parseRepoFromGitRemote(n.stdout)??void 0)}N||(ke.error("gjsify trust: could not determine the GitHub repository.\nPass --repository owner/repo (no `origin` remote to infer from)."),process.exit(1)),validateRepository(N)||(ke.error(`gjsify trust: --repository must be "owner/repo", got "${N}".`),process.exit(1));let F=normalizeWorkflowFile(n.workflow),I=n.environment,H=n.list===!0,W=n[`dry-run`]===!0,K=n.force===!0,q=ns(a,`.github`,`workflows`,F);existsSync(q)||ke.warn(`gjsify trust: note — ${q} not found; configuring trust for "${F}" anyway.`);let Y=filterWorkspaces(discoverWorkspaces(a,{includeRoot:!0}),{noPrivate:n.private!==!0,include:n.packages&&n.packages.length>0?n.packages:void 0}).filter(n=>n.name);Y.length===0&&(ke.error(`gjsify trust: no publishable workspace packages matched.`),process.exit(1)),ke.log(`gjsify trust: ${Y.length} package(s) | repo=${N} workflow=${F}`),W&&ke.log(`(dry-run — nothing will be written)`),ke.log();let X=n.otp,request=async(n,a,C)=>{let doFetch=async N=>{let F=buildHeaders(a,{npmrc:S});return F.accept=`application/json`,C!==void 0&&(F[`content-type`]=`application/json`),N&&(F[`npm-otp`]=N),fetch(a,{method:n,headers:F,body:C===void 0?void 0:JSON.stringify(C)})},N=await doFetch();if(await isOtpChallenge(N)){let n=X;if(X=void 0,n||=await promptLine(`This operation requires a one-time password.
822
- Enter OTP: `),n||(ke.error(`gjsify trust: no OTP entered.`),process.exit(1)),N=await doFetch(n),await isOtpChallenge(N)){let n=await promptLine(`OTP rejected (expired?) — enter a fresh code: `);n||(ke.error(`gjsify trust: no OTP entered.`),process.exit(1)),N=await doFetch(n)}}let F=await N.text().catch(()=>``),I;try{I=F?JSON.parse(F):void 0}catch{}return{status:N.status,json:I,text:F}},te=0,ne=0,re=0,ie=0,ae=[],oe=[];for(let a of Y){let C=a.name,q=trustUrl(n.registry??registryFor(C,S)??EM,C);process.stdout.write(`→ ${C.padEnd(42)} `);let Y=await request(`GET`,q),X=classifyTrustList(Y.status,Y.json,{repository:N,workflow:F});if(H){X===`trusted`?ke.log(`trusted`):X===`unpublished`?ke.log(`unpublished`):X===`auth-required`?ke.log(`auth-required (could not read)`):X===`untrusted`?ke.log(`not trusted`):ke.log(`error (HTTP ${Y.status})`);continue}if(X===`trusted`&&!K){ke.log(`already configured — skip`),ne++;continue}if(X===`unpublished`){ke.log(`not on npm yet — needs first-publish, skip`),re++,ae.push(C);continue}if(W){ke.log(`would configure`),te++;continue}let Z=await request(`POST`,q,githubTrustBody({repository:N,workflow:F,environment:I}));Z.status>=200&&Z.status<300?(ke.log(`configured`),te++):Z.status===409?(ke.log(`already configured (409) — done`),ne++):Z.status===404?(ke.log(`not on npm yet — needs first-publish, skip`),re++,ae.push(C)):(ke.log(`FAILED (HTTP ${Z.status})`),ie++,oe.push(`${C} — HTTP ${Z.status}${Z.text?`: ${firstLine(Z.text)}`:``}`))}if(!H){if(ke.log(),ke.log(`Done: ${te} ${W?`would-configure`:`configured`}, ${ne} already-configured, ${re} unpublished, ${ie} failed.`),ae.length>0){ke.log("Need a first publish before they can be trust-configured (then re-run `gjsify trust`):");for(let n of ae)ke.log(` ${n}`)}if(oe.length>0){ke.log("Failed (re-run `gjsify trust` — it is incremental; usually a lapsed 2FA window or rate-limit):");for(let n of oe)ke.log(` ${n}`);process.exit(1)}}}}});function readCurrentVersion(){try{let n=process.env.GJSIFY_CLI_PACKAGE_JSON;if(n){let a=JSON.parse(readFileSync(n,`utf-8`));return a.name===MN&&typeof a.version==`string`?a.version:null}let a=as($o(fileURLToPath(import.meta.url)));for(let n=0;n<8&&a!==as(a);n++){let n=ns(a,`package.json`);if(existsSync(n)){let a=JSON.parse(readFileSync(n,`utf-8`));if(a.name===MN&&typeof a.version==`string`)return a.version}a=as(a)}}catch{}return null}function resolveTag(n,a){let S=n[`dist-tags`]??{};return S[a]?S[a]:n.versions&&typeof n.versions==`object`&&n.versions[a]?a:null}var MN,NN,PN=__esmMin(()=>{Ae(),Zc(),ps(),mn(),DM(),GM(),YM(),MN=`@gjsify/cli`,NN={command:`self-update`,description:`Update the installed ${MN} to the latest release (or pinned --tag).`,builder:n=>n.option(`check`,{description:`Only check whether a newer version is available; do not install.`,type:`boolean`,default:!1}).option(`force`,{description:`Reinstall even when the current version already matches the target tag.`,type:`boolean`,default:!1}).option(`tag`,{description:"npm dist-tag or pinned version to install (e.g. `latest`, `next`, `0.5.0`).",type:`string`,default:`latest`}).option(`skip-deps`,{description:`Update only the @gjsify/cli bundle itself; do not pull its runtime dependencies (rolldown, lightningcss, @gjsify/tsc, the native gi:// bridges, …). Faster, but can leave the on-disk runtime deps stale relative to the new bundle.`,type:`boolean`,default:!1}),handler:async n=>{let a=defaultGlobalLayout(),S=ns(ns(a.prefix,`node_modules`,MN),`package.json`),C=readCurrentVersion(),N=existsSync(S);ke.log(`Current ${MN}: v${C??`(unknown)`}`),N||ke.warn(`\nWarning: no @gjsify/cli install found under ${a.prefix}.\nself-update only manages installs created by install.mjs or \`gjsify install -g\`.\nIf you installed via \`npm install -g\`, remove that and use:\n curl -fsSL https://github.com/gjsify/gjsify/releases/latest/download/install.mjs -o /tmp/g.mjs && gjs -m /tmp/g.mjs && rm /tmp/g.mjs`),ke.log(`Fetching dist-tags for ${MN}@${n.tag} ...`);let F;try{F=await fetchPackument(MN)}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`Failed to fetch packument: ${a}`),process.exit(1);return}let I=resolveTag(F,n.tag);if(!I){ke.error(`Unknown dist-tag '${n.tag}' on ${MN}. Known tags: ${Object.keys(F[`dist-tags`]??{}).join(`, `)||`(none)`}`),process.exit(1);return}ke.log(`Latest matching --tag ${n.tag}: v${I}`);let H=N&&!hasBundlerEngineInstalled(a.prefix),W=H&&!n.skipDeps&&!n.check;if(C===I&&!n.force&&!W){ke.log(`Already up to date (v${I}).`),H&&n.skipDeps&&ke.log("Note: the GJS bundler engine @gjsify/rolldown-native is not installed — re-run without --skip-deps to repair it (`gjsify build` needs it under GJS)."),n.check||ke.log(`Run with --force to reinstall anyway.`);return}if(W&&C===I&&!n.force&&ke.log(`@gjsify/cli is at v${I} but the GJS bundler engine @gjsify/rolldown-native is missing — repairing.`),n.check){ke.log(C?`Update available: v${C} → v${I}`:`Install required: → v${I}`),process.exit(1);return}let K=!n.skipDeps,q=K?` + runtime dependencies`:` (bundle only)`;ke.log(`Installing ${MN}@${I}${q} ...`);let Y=makeProgressReporter();try{await installPackages({prefix:a.prefix,specs:[`${MN}@${I}`],verbose:!1,skipDeps:!K,progress:Y})}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`self-update: install failed — ${a}`),ke.error("Re-run `gjsify self-update` to retry."),process.exit(1);return}K&&await installGjsEnginePackages(a.prefix,I,{verbose:!1});let X=linkGlobalBins([MN],a);if(X.length===0)ke.warn("self-update: install completed but no bins were linked — package.json may be missing a `bin` field.");else for(let n of X)ke.log(` • ${n.link} → ${n.target}`);ke.log(`\nUpdated ${MN} to v${I}.`),K?ke.log(`Runtime dependencies were resolved alongside the bundle.`):ke.log(`Bundle-only update (--skip-deps): on-disk runtime dependencies were left unchanged.`)}}});function loadInstallerTemplate(){return readFileSync(new URL(`../templates/install.mjs.tmpl`,import.meta.url),`utf-8`)}function pickDefaultBinName(n,a){let S=n?.gjsify?.bin;if(S&&typeof S==`object`){let n=Object.keys(S)[0];if(n)return n}let C=n?.bin;if(C&&typeof C==`object`){let n=Object.keys(C)[0];if(n)return n}return a.startsWith(`@`)?a.slice(a.indexOf(`/`)+1):a}var FN,IN,LN=__esmMin(()=>{Ae(),Zc(),ps(),FN=`https://github.com/gjsify/gjsify/releases/latest/download/cli.gjs.mjs`,IN={command:`generate-installer [target]`,description:`Scaffold an install.mjs in the current directory for a GJS-runnable npm package.`,builder:n=>n.positional(`target`,{description:`Npm package name to install (default: current package.json name).`,type:`string`}).option(`bin-name`,{description:"Bin name produced by the installer (default: first key of `gjsify.bin` or `bin`).",type:`string`}).option(`bootstrap-url`,{description:`Override the cli.gjs.mjs bootstrap bundle URL (default: gjsify GitHub releases/latest).`,type:`string`}).option(`output`,{description:`Where to write the generated installer.`,type:`string`,default:`install.mjs`}).option(`force`,{description:`Overwrite an existing output file.`,type:`boolean`,default:!1}),handler:n=>{let a=$o(process.cwd(),n.output);if(existsSync(a)&&!n.force){ke.error(`${n.output} already exists. Re-run with --force to overwrite.`),process.exit(1);return}let S=$o(process.cwd(),`package.json`),C=null;if(existsSync(S))try{C=JSON.parse(readFileSync(S,`utf-8`))}catch{}let N=n.target??C?.name;if(!N){ke.error("No target package: pass `gjsify generate-installer <pkg>` or run inside a directory with a package.json."),process.exit(1);return}let F=n[`bin-name`]??pickDefaultBinName(C,N),I=n[`bootstrap-url`]??FN;writeFileSync(a,loadInstallerTemplate().replace(/const DEFAULT_TARGET = '[^']+';/,`const DEFAULT_TARGET = ${JSON.stringify(N)};`).replace(/const DEFAULT_BIN_NAME = '[^']+';/,`const DEFAULT_BIN_NAME = ${JSON.stringify(F)};`).replace(/const DEFAULT_BOOTSTRAP_URL =\s*'[^']+';/,`const DEFAULT_BOOTSTRAP_URL = ${JSON.stringify(I)};`),{mode:493}),ke.log(`Wrote ${n.output} (target=${N}, bin=${F}).`),ke.log(``),ke.log(`Install one-liner for your README:`),ke.log(` curl -fsSL https://github.com/<you>/<repo>/raw/main/${n.output} -o /tmp/i.mjs \\`),ke.log(` && gjs -m /tmp/i.mjs && rm /tmp/i.mjs`)}}});function findBinShimsForPackage(n,a,S){if(!existsSync(n))return[];let C=[],N;try{N=readdirSync(n)}catch{return[]}for(let F of N){let N=ns(n,F);try{if(!statSync(N).isFile())continue;let n=readFileSync(N,`utf-8`);if(!n.startsWith(`#!/bin/sh`))continue;let S=n.split(`
823
- `).find(n=>/^exec (?:gjs -m )?'/.test(n));if(!S)continue;let F=S.match(/'([^']+)'/);if(!F)continue;let I=F[1];(I.startsWith(a+`/`)||I===a)&&C.push(N)}catch(n){S&&ke.warn(` ? could not inspect ${N}: ${n.message}`)}}return C}var RN,zN=__esmMin(()=>{Ae(),Zc(),ps(),YM(),RN={command:`uninstall <packages..>`,description:"Uninstall a previously installed package. Currently only `--global` mode is supported.",builder:n=>n.positional(`packages`,{description:`Package(s) to uninstall (npm names, optionally with version).`,type:`string`,array:!0,demandOption:!0}).option(`global`,{description:`Uninstall from the user-global XDG location (the install -g target).`,type:`boolean`,alias:`g`,default:!1}).option(`dry-run`,{description:`Show what would be removed without touching the filesystem.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging.`,type:`boolean`,default:!1}),handler:n=>{if(!n.global){ke.error("gjsify uninstall currently only supports --global. For project-local removal, edit package.json + re-run `gjsify install`."),process.exit(1);return}let a=defaultGlobalLayout(),S=n[`dry-run`]??!1,C=n.verbose??!1,N=`gjsify uninstall${S?` (dry-run)`:``} --global`;ke.log(`${N} ← ${a.prefix}`),ke.log(`${` `.repeat(N.length)} bins ← ${a.binDir}`);let F=!1;for(let N of n.packages){let n=specToPackageName(N),I=ns(a.prefix,`node_modules`,n);if(!existsSync(I)){ke.warn(` ✗ ${n} — not installed at ${I}`);continue}let H=findBinShimsForPackage(a.binDir,I,C);if(S){ke.log(` • would remove ${I}`);for(let n of H)ke.log(` • would remove ${n}`)}else{rmSync(I,{recursive:!0,force:!0}),ke.log(` • removed ${I}`);for(let n of H)unlinkSync(n),ke.log(` • removed ${n}`)}F=!0}F||(ke.error(`
824
- No packages removed.`),process.exit(1))}}});function handleInit({cwd:n,force:a}){let writeOne=(S,C)=>{let N=$o(n,S);if(existsSync(N)&&!a){ke.log(`[gjsify format] ${S} exists at ${N} — pass --force to overwrite.`);return}writeFileSync(N,C,`utf-8`),ke.log(`[gjsify format] wrote ${N}`)};writeOne(`.oxlintrc.json`,loadOxlintTemplate()),writeOne(`.oxfmtrc.json`,loadOxfmtTemplate()),ke.log("[gjsify format] Run `gjsify format --write .` to apply the formatter to the project.")}var BN,VN=__esmMin(()=>{Ae(),Zc(),ps(),Vj(),BN={command:`format [paths..]`,description:`Format JS/TS source files via oxfmt (CSS/JSON formatting is not supported).`,builder:n=>n.positional(`paths`,{description:"Files or directories to format. Default: `.`",type:`string`,array:!0}).option(`write`,{description:`Modify files in place (default: report drift without writing).`,type:`boolean`,default:!1}).option(`check`,{description:`Report formatting drift without modifying files; exit non-zero if any file is unformatted. Useful for CI.`,type:`boolean`,default:!1}).option(`config-path`,{description:`Path to an .oxfmtrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`init`,{description:`Write recommended .oxlintrc.json + .oxfmtrc.json into cwd (skips existing files unless --force).`,type:`boolean`,default:!1}).option(`force`,{description:`Overwrite existing .oxlintrc.json / .oxfmtrc.json with --init.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo the resolved oxfmt launcher + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd();if(n.init){handleInit({cwd:a,force:n.force??!1});return}let S=n.paths?.length?n.paths:[`.`],C=[];n.check?C.push(`--check`):n.write?C.push(`--write`):C.push(`--list-different`);let N=n.configPath??findOxfmtConfig(a)??void 0;N&&C.push(`--config`,$o(N)),C.push(...S);try{setOxcExitCode(await runOxfmt(C,{cwd:a,verbose:n.verbose}))}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}}),HN,UN=__esmMin(()=>{ps(),Vj(),HN={command:`lint [paths..]`,description:`Run oxlint diagnostics (spawned via its Node launcher to support JS plugins).`,builder:n=>n.positional(`paths`,{description:"Files or directories to lint. Default: `.`",type:`string`,array:!0}).option(`fix`,{description:`Apply safe lint fixes in place.`,type:`boolean`,default:!1}).option(`config-path`,{description:`Path to an .oxlintrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`verbose`,{description:`Echo the resolved oxlint launcher + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.paths?.length?n.paths:[`.`],C=[];n.fix&&C.push(`--fix`);let N=n.configPath??findOxlintConfig(a)??void 0;N&&C.push(`--config`,$o(N)),C.push(...S);try{setOxcExitCode(await runOxlint(C,{cwd:a,verbose:n.verbose}))}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}}),WN,GN=__esmMin(()=>{ps(),Vj(),WN={command:`fix [paths..]`,description:`Run oxfmt --write then oxlint --fix — format + safe lint fixes in one pass.`,builder:n=>n.positional(`paths`,{description:"Files or directories to fix. Default: `.`",type:`string`,array:!0}).option(`write`,{description:`Apply fixes in place (default: true). Pass --no-write to report only.`,type:`boolean`,default:!0}).option(`config-path`,{description:`Path to an .oxlintrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`verbose`,{description:`Echo the resolved oxc launchers + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.paths?.length?n.paths:[`.`],C=n.verbose??!1,N=n.write!==!1;try{let F=[N?`--write`:`--list-different`],I=n.configPath??findOxfmtConfig(a)??void 0;I&&F.push(`--config`,$o(I)),F.push(...S);let H=await runOxfmt(F,{cwd:a,verbose:C}),W=[];N&&W.push(`--fix`);let K=n.configPath??findOxlintConfig(a)??void 0;K&&W.push(`--config`,$o(K)),W.push(...S);let q=await runOxlint(W,{cwd:a,verbose:C});setOxcExitCode(H||q)}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}});function createInterface(n,a){return typeof n==`object`&&n&&!(`read`in n&&typeof n.read==`function`)?new Interface(n):new Interface({input:n,output:a})}var Interface,KN=__esmMin(()=>{zc(),Interface=class extends Interface$1{question(n,a){return new Promise(a=>{super.question(n,a)})}}});function semverGt(n,a){try{return compare(n,a)===1}catch{return!1}}function groupByDependency(n){let a=new Map;for(let S of n){let n=a.get(S.name);n||(n={name:S.name,occurrences:[],declaredRanges:new Set,dominantRange:S.currentRange,highestVersion:S.currentVersion},a.set(S.name,n)),n.occurrences.push(S),n.declaredRanges.add(S.currentRange),S.currentVersion&&(!n.highestVersion||semverGt(S.currentVersion,n.highestVersion))&&(n.highestVersion=S.currentVersion)}for(let n of a.values()){let a=new Map;for(let S of n.occurrences)a.set(S.currentRange,(a.get(S.currentRange)??0)+1);let S=n.occurrences[0].currentRange,C=-1,N=null;for(let[n,F]of a.entries()){let a=parse(n.replace(/^[\^~>=<]+/,``))?.version??null;(F>C||F===C&&a&&N&&semverGt(a,N)||F===C&&n<S)&&(S=n,C=F,N=a)}n.dominantRange=S}return[...a.values()].sort((n,a)=>n.name.localeCompare(a.name))}function isInconsistent(n){return n.declaredRanges.size>1}function findInconsistencies(n){return n.filter(isInconsistent)}var qN=__esmMin(()=>{TM()});function discoverContext(n){let a=findWorkspaceRoot(n);if(a)return{root:a,workspaces:discoverWorkspaces(a,{includeRoot:!0}),isMonorepo:!0};let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`[gjsify upgrade] no package.json at ${S}`);let C=JSON.parse(readFileSync(S,`utf-8`));return{root:n,workspaces:[{name:C.name??`<root>`,location:n,relativeLocation:`.`,version:C.version??`0.0.0`,manifest:C,private:C.private===!0}],isMonorepo:!1}}function applyWorkspaceFilter(n,a,S){let C=a?.split(`,`).map(n=>n.trim()).filter(Boolean),N=S?.split(`,`).map(n=>n.trim()).filter(Boolean);return(!C||C.length===0)&&(!N||N.length===0)?n:filterWorkspaces(n,{include:C,exclude:N})}function parseFilterList(n){return n?n.split(`,`).map(n=>n.trim().toLowerCase()).filter(Boolean):[]}function collectAllDeclarations(n,a){let S=[];for(let C of n)for(let n of collectFromWorkspace(C,a))S.push(n);return S}function collectFromWorkspace(n,a){let S=[],C=n.manifest;for(let N of YN){let F=C[N];if(!(!F||typeof F!=`object`))for(let[C,I]of Object.entries(F)){if(typeof I!=`string`||a.length&&!a.some(n=>C.toLowerCase().includes(n))||I.startsWith(`workspace:`)||I.startsWith(`file:`)||I.startsWith(`link:`)||I.startsWith(`git+`)||I.startsWith(`git:`)||I.startsWith(`http:`)||I.startsWith(`https:`)||I.startsWith(`npm:`)||I.startsWith(`portal:`))continue;let{prefix:F,version:H}=splitRange(I);S.push({workspace:n.name,workspaceLocation:n.location,name:C,field:N,currentRange:I,currentVersion:H,prefix:F})}}return S}function splitRange(n){let a=n.match(/^(\^|~|>=|<=|>|<|=)?\s*([0-9].*)$/);if(!a)return{prefix:``,version:null};let S=a[1]??``,C=a[2]?.split(/\s|[|&,]/)[0]??null;return{prefix:S,version:(C?parse(C):null)?.version??null}}function runCheckMode(n){let a=findInconsistencies(n);if(a.length===0){ke.log(`gjsify upgrade --check: OK. ${n.length} dep(s) consistently declared across workspaces.`);return}ke.error(`gjsify upgrade --check: FAIL. ${a.length} dep(s) declared at inconsistent ranges:\n`);for(let n of a){let a=new Map;for(let S of n.occurrences){let n=a.get(S.currentRange)??[];n.push(S.workspace),a.set(S.currentRange,n)}ke.error(` ${XN.bold}${n.name}${XN.reset}`);for(let[n,S]of a.entries())ke.error(` ${n.padEnd(16)} — ${S.join(`, `)}`)}ke.error("\nFix: run `gjsify upgrade --align` (offline; aligns each dep to its highest declared range)."),process.exit(1)}function runAlignMode(n,a){let S=findInconsistencies(n);if(S.length===0){ke.log(`gjsify upgrade --align: nothing to do. ${n.length} dep(s) already consistent.`);return}let C=[];for(let n of S){if(!n.highestVersion)continue;let a=n.occurrences.find(a=>a.currentRange===n.dominantRange)?.prefix||`^`;C.push({...n,latestVersion:n.highestVersion,diff:`none`,occurrences:n.occurrences.map(n=>({...n,prefix:a}))})}if(C.length===0){ke.log(`gjsify upgrade --align: inconsistencies present but no parseable target version. No-op.`);return}ke.log(`gjsify upgrade --align: aligning ${C.length} inconsistent dep(s) to their highest declared version:\n`);for(let n of C){let a=n.occurrences[0]?.prefix??`^`;ke.log(` ${n.name.padEnd(28)} ranges: ${[...n.declaredRanges].join(`, `)} → ${a}${n.latestVersion}`)}if(a.dryRun){ke.log(`
825
- [gjsify upgrade --align] --dry-run: no files changed.`);return}let N=applyToFiles(C);ke.log(`\n✏️ updated ${C.length} dep(s) across ${N} package.json file(s).`)}async function resolveCandidateGroups(n,a,S,C){let N=[],F=0;async function worker(){for(;;){let I=F++;if(I>=n.length)return;let H=n[I];try{let n=(await fetchPackument(H.name,{npmrc:a}))[`dist-tags`]?.latest;if(!n){S&&ke.warn(` ${H.name}: no dist-tags.latest, skipping`);continue}let F=H.highestVersion;if(!F){S&&ke.warn(` ${H.name}: unable to parse any current range`);continue}let I=classifyDiff(F,n);if(I===`none`||C===`minor`&&I===`major`||C===`patch`&&(I===`major`||I===`minor`))continue;N.push({...H,latestVersion:n,diff:I})}catch(n){S&&ke.warn(` ${H.name}: fetch failed (${n.message})`)}}}return await Promise.all(Array.from({length:8},()=>worker())),N.sort((n,a)=>n.name.localeCompare(a.name)),N}function classifyDiff(n,a){let S=parse(n),C=parse(a);return!S||!C?`none`:S.major===C.major?S.minor===C.minor?S.patch===C.patch?(S.prerelease??[]).join(`.`)===(C.prerelease??[]).join(`.`)?`none`:`prerelease`:C.patch>S.patch?`patch`:`none`:C.minor>S.minor?`minor`:`none`:C.major>S.major?`major`:`none`}function colorForDiff(n){switch(n){case`major`:return XN.red;case`minor`:return XN.yellow;case`patch`:return XN.green;case`prerelease`:return XN.cyan;default:return``}}function printTable(n){let a=Math.max(...n.map(n=>n.name.length),4),S=Math.max(...n.map(n=>`${n.occurrences.length}`.length+2),3),C=Math.max(...n.map(n=>declaredCellWidth(n)),7),N=Math.max(...n.map(n=>n.latestVersion.length),6),F=String(n.length).length+2,I=` `.repeat(F+2)+XN.bold+`name`.padEnd(a)+` `+`fan`.padEnd(S)+` `+`declared`.padEnd(C)+` `+`latest`.padEnd(N)+` kind`+XN.reset;ke.log(I),ke.log(` `.repeat(F+2)+XN.dim+`─`.repeat(a+S+C+N+16)+XN.reset);for(let I=0;I<n.length;I++){let H=n[I],W=`${I+1}.`.padEnd(F),K=H.declaredRanges.size>1?`${XN.magenta}⚠ ${XN.reset}`:` `,q=colorForDiff(H.diff);ke.log(W+K+H.name.padEnd(a)+` `+XN.dim+`${H.occurrences.length}`.padEnd(S)+XN.reset+` `+XN.dim+renderDeclaredCell(H).padEnd(C)+XN.reset+` `+q+H.latestVersion.padEnd(N)+XN.reset+` `+q+H.diff+XN.reset)}let H=n.filter(n=>n.declaredRanges.size>1).length;H>0&&ke.log(`\n${XN.magenta}⚠${XN.reset} ${H} dep(s) declared at inconsistent ranges across workspaces.`)}function declaredCellWidth(n){return renderDeclaredCell(n).length}function renderDeclaredCell(n){if(n.declaredRanges.size===1)return[...n.declaredRanges][0];let a=[...n.declaredRanges].sort().join(`, `);return a.length<=32?a:a.slice(0,29)+`…`}function printChangePlan(n){for(let a of n)for(let n of a.occurrences)ke.log(` ${n.workspace.padEnd(38)} ${a.name.padEnd(28)} ${n.currentRange.padEnd(12)} → ${n.prefix}${a.latestVersion}`)}async function promptSelection(n){if(!process.stdin.isTTY)return ke.log(`[gjsify upgrade] non-TTY stdin: pass --latest / --minor / --patch (or --yes for interactive-all) to upgrade non-interactively.`),[];let a=createInterface({input:process.stdin,output:process.stdout});try{ke.log(`
826
- Select upgrades: comma- or space-separated indices, `+XN.bold+`a`+XN.reset+` for all, ranges like `+XN.bold+`1-3`+XN.reset+`, or `+XN.bold+`ENTER`+XN.reset+` to skip:`);let S=(await a.question(`> `)).trim();if(!S)return[];if(S.toLowerCase()===`a`||S.toLowerCase()===`all`)return[...n];let C=new Set;for(let n of S.split(/[\s,]+/).filter(Boolean)){let a=n.match(/^(\d+)-(\d+)$/);if(a){let n=Number(a[1]),S=Number(a[2]);for(let a=Math.min(n,S);a<=Math.max(n,S);a++)C.add(a-1)}else /^\d+$/.test(n)&&C.add(Number(n)-1)}return[...C].filter(a=>a>=0&&a<n.length).map(a=>n[a])}finally{a.close()}}function applyToFiles(n){let a=new Map;for(let S of n)for(let n of S.occurrences){let C=a.get(n.workspaceLocation)??[];C.push({...S,occurrences:[n]}),a.set(n.workspaceLocation,C)}let S=0;for(let[n,C]of a.entries()){let a=ns(n,`package.json`),N=readFileSync(a,`utf-8`),F=JSON.parse(N),I=!1;for(let n of C){let a=n.occurrences[0],S=F[a.field];if(!S)continue;let C=`${a.prefix}${n.latestVersion}`;S[n.name]!==C&&(S[n.name]=C,I=!0)}if(I){let n=detectIndent(N);writeFileSync(a,JSON.stringify(F,null,n)+(N.endsWith(`
827
+ Enter OTP: `),n||(ke.error(`gjsify trust: no OTP entered.`),process.exit(1)),N=await doFetch(n),await isOtpChallenge(N)){let n=await promptLine(`OTP rejected (expired?) — enter a fresh code: `);n||(ke.error(`gjsify trust: no OTP entered.`),process.exit(1)),N=await doFetch(n)}}let F=await N.text().catch(()=>``),I;try{I=F?JSON.parse(F):void 0}catch{}return{status:N.status,json:I,text:F}},te=0,ne=0,re=0,ie=0,ae=[],oe=[];for(let a of Y){let C=a.name,q=trustUrl(n.registry??registryFor(C,S)??MM,C);process.stdout.write(`→ ${C.padEnd(42)} `);let Y=await request(`GET`,q),X=classifyTrustList(Y.status,Y.json,{repository:N,workflow:F});if(H){X===`trusted`?ke.log(`trusted`):X===`unpublished`?ke.log(`unpublished`):X===`auth-required`?ke.log(`auth-required (could not read)`):X===`untrusted`?ke.log(`not trusted`):ke.log(`error (HTTP ${Y.status})`);continue}if(X===`trusted`&&!K){ke.log(`already configured — skip`),ne++;continue}if(X===`unpublished`){ke.log(`not on npm yet — needs first-publish, skip`),re++,ae.push(C);continue}if(W){ke.log(`would configure`),te++;continue}let Z=await request(`POST`,q,githubTrustBody({repository:N,workflow:F,environment:I}));Z.status>=200&&Z.status<300?(ke.log(`configured`),te++):Z.status===409?(ke.log(`already configured (409) — done`),ne++):Z.status===404?(ke.log(`not on npm yet — needs first-publish, skip`),re++,ae.push(C)):(ke.log(`FAILED (HTTP ${Z.status})`),ie++,oe.push(`${C} — HTTP ${Z.status}${Z.text?`: ${firstLine(Z.text)}`:``}`))}if(!H){if(ke.log(),ke.log(`Done: ${te} ${W?`would-configure`:`configured`}, ${ne} already-configured, ${re} unpublished, ${ie} failed.`),ae.length>0){ke.log("Need a first publish before they can be trust-configured (then re-run `gjsify trust`):");for(let n of ae)ke.log(` ${n}`)}if(oe.length>0){ke.log("Failed (re-run `gjsify trust` — it is incremental; usually a lapsed 2FA window or rate-limit):");for(let n of oe)ke.log(` ${n}`);process.exit(1)}}}}});function readCurrentVersion(){try{let n=process.env.GJSIFY_CLI_PACKAGE_JSON;if(n){let a=JSON.parse(readFileSync(n,`utf-8`));return a.name===zN&&typeof a.version==`string`?a.version:null}let a=as($o(fileURLToPath(import.meta.url)));for(let n=0;n<8&&a!==as(a);n++){let n=ns(a,`package.json`);if(existsSync(n)){let a=JSON.parse(readFileSync(n,`utf-8`));if(a.name===zN&&typeof a.version==`string`)return a.version}a=as(a)}}catch{}return null}function resolveTag(n,a){let S=n[`dist-tags`]??{};return S[a]?S[a]:n.versions&&typeof n.versions==`object`&&n.versions[a]?a:null}var zN,BN,VN=__esmMin(()=>{Ae(),Zc(),ps(),mn(),NM(),QM(),nN(),zN=`@gjsify/cli`,BN={command:`self-update`,description:`Update the installed ${zN} to the latest release (or pinned --tag).`,builder:n=>n.option(`check`,{description:`Only check whether a newer version is available; do not install.`,type:`boolean`,default:!1}).option(`force`,{description:`Reinstall even when the current version already matches the target tag.`,type:`boolean`,default:!1}).option(`tag`,{description:"npm dist-tag or pinned version to install (e.g. `latest`, `next`, `0.5.0`).",type:`string`,default:`latest`}).option(`skip-deps`,{description:`Update only the @gjsify/cli bundle itself; do not pull its runtime dependencies (rolldown, lightningcss, @gjsify/tsc, the native gi:// bridges, …). Faster, but can leave the on-disk runtime deps stale relative to the new bundle.`,type:`boolean`,default:!1}),handler:async n=>{let a=defaultGlobalLayout(),S=ns(ns(a.prefix,`node_modules`,zN),`package.json`),C=readCurrentVersion(),N=existsSync(S);ke.log(`Current ${zN}: v${C??`(unknown)`}`),N||ke.warn(`\nWarning: no @gjsify/cli install found under ${a.prefix}.\nself-update only manages installs created by install.mjs or \`gjsify install -g\`.\nIf you installed via \`npm install -g\`, remove that and use:\n curl -fsSL https://github.com/gjsify/gjsify/releases/latest/download/install.mjs -o /tmp/g.mjs && gjs -m /tmp/g.mjs && rm /tmp/g.mjs`),ke.log(`Fetching dist-tags for ${zN}@${n.tag} ...`);let F;try{F=await fetchPackument(zN)}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`Failed to fetch packument: ${a}`),process.exit(1);return}let I=resolveTag(F,n.tag);if(!I){ke.error(`Unknown dist-tag '${n.tag}' on ${zN}. Known tags: ${Object.keys(F[`dist-tags`]??{}).join(`, `)||`(none)`}`),process.exit(1);return}ke.log(`Latest matching --tag ${n.tag}: v${I}`);let H=N&&!hasBundlerEngineInstalled(a.prefix),W=H&&!n.skipDeps&&!n.check;if(C===I&&!n.force&&!W){ke.log(`Already up to date (v${I}).`),H&&n.skipDeps&&ke.log("Note: the GJS bundler engine @gjsify/rolldown-native is not installed — re-run without --skip-deps to repair it (`gjsify build` needs it under GJS)."),n.check||ke.log(`Run with --force to reinstall anyway.`);return}if(W&&C===I&&!n.force&&ke.log(`@gjsify/cli is at v${I} but the GJS bundler engine @gjsify/rolldown-native is missing — repairing.`),n.check){ke.log(C?`Update available: v${C} → v${I}`:`Install required: → v${I}`),process.exit(1);return}let K=!n.skipDeps,q=K?` + runtime dependencies`:` (bundle only)`;ke.log(`Installing ${zN}@${I}${q} ...`);let Y=makeProgressReporter();try{await installPackages({prefix:a.prefix,specs:[`${zN}@${I}`],verbose:!1,skipDeps:!K,progress:Y})}catch(n){let a=n instanceof Error?n.message:String(n);ke.error(`self-update: install failed — ${a}`),ke.error("Re-run `gjsify self-update` to retry."),process.exit(1);return}K&&await installGjsEnginePackages(a.prefix,I,{verbose:!1});let X=linkGlobalBins([zN],a);if(X.length===0)ke.warn("self-update: install completed but no bins were linked — package.json may be missing a `bin` field.");else for(let n of X)ke.log(` • ${n.link} → ${n.target}`);ke.log(`\nUpdated ${zN} to v${I}.`),K?ke.log(`Runtime dependencies were resolved alongside the bundle.`):ke.log(`Bundle-only update (--skip-deps): on-disk runtime dependencies were left unchanged.`)}}});function loadInstallerTemplate(){return readFileSync(new URL(`../templates/install.mjs.tmpl`,import.meta.url),`utf-8`)}function pickDefaultBinName(n,a){let S=n?.gjsify?.bin;if(S&&typeof S==`object`){let n=Object.keys(S)[0];if(n)return n}let C=n?.bin;if(C&&typeof C==`object`){let n=Object.keys(C)[0];if(n)return n}return a.startsWith(`@`)?a.slice(a.indexOf(`/`)+1):a}var HN,UN,WN=__esmMin(()=>{Ae(),Zc(),ps(),HN=`https://github.com/gjsify/gjsify/releases/latest/download/cli.gjs.mjs`,UN={command:`generate-installer [target]`,description:`Scaffold an install.mjs in the current directory for a GJS-runnable npm package.`,builder:n=>n.positional(`target`,{description:`Npm package name to install (default: current package.json name).`,type:`string`}).option(`bin-name`,{description:"Bin name produced by the installer (default: first key of `gjsify.bin` or `bin`).",type:`string`}).option(`bootstrap-url`,{description:`Override the cli.gjs.mjs bootstrap bundle URL (default: gjsify GitHub releases/latest).`,type:`string`}).option(`output`,{description:`Where to write the generated installer.`,type:`string`,default:`install.mjs`}).option(`force`,{description:`Overwrite an existing output file.`,type:`boolean`,default:!1}),handler:n=>{let a=$o(process.cwd(),n.output);if(existsSync(a)&&!n.force){ke.error(`${n.output} already exists. Re-run with --force to overwrite.`),process.exit(1);return}let S=$o(process.cwd(),`package.json`),C=null;if(existsSync(S))try{C=JSON.parse(readFileSync(S,`utf-8`))}catch{}let N=n.target??C?.name;if(!N){ke.error("No target package: pass `gjsify generate-installer <pkg>` or run inside a directory with a package.json."),process.exit(1);return}let F=n[`bin-name`]??pickDefaultBinName(C,N),I=n[`bootstrap-url`]??HN;writeFileSync(a,loadInstallerTemplate().replace(/const DEFAULT_TARGET = '[^']+';/,`const DEFAULT_TARGET = ${JSON.stringify(N)};`).replace(/const DEFAULT_BIN_NAME = '[^']+';/,`const DEFAULT_BIN_NAME = ${JSON.stringify(F)};`).replace(/const DEFAULT_BOOTSTRAP_URL =\s*'[^']+';/,`const DEFAULT_BOOTSTRAP_URL = ${JSON.stringify(I)};`),{mode:493}),ke.log(`Wrote ${n.output} (target=${N}, bin=${F}).`),ke.log(``),ke.log(`Install one-liner for your README:`),ke.log(` curl -fsSL https://github.com/<you>/<repo>/raw/main/${n.output} -o /tmp/i.mjs \\`),ke.log(` && gjs -m /tmp/i.mjs && rm /tmp/i.mjs`)}}});function findBinShimsForPackage(n,a,S){if(!existsSync(n))return[];let C=[],N;try{N=readdirSync(n)}catch{return[]}for(let F of N){let N=ns(n,F);try{if(!statSync(N).isFile())continue;let n=readFileSync(N,`utf-8`);if(!n.startsWith(`#!/bin/sh`))continue;let S=n.split(`
828
+ `).find(n=>/^exec (?:gjs -m )?'/.test(n));if(!S)continue;let F=S.match(/'([^']+)'/);if(!F)continue;let I=F[1];(I.startsWith(a+`/`)||I===a)&&C.push(N)}catch(n){S&&ke.warn(` ? could not inspect ${N}: ${n.message}`)}}return C}var GN,KN=__esmMin(()=>{Ae(),Zc(),ps(),nN(),GN={command:`uninstall <packages..>`,description:"Uninstall a previously installed package. Currently only `--global` mode is supported.",builder:n=>n.positional(`packages`,{description:`Package(s) to uninstall (npm names, optionally with version).`,type:`string`,array:!0,demandOption:!0}).option(`global`,{description:`Uninstall from the user-global XDG location (the install -g target).`,type:`boolean`,alias:`g`,default:!1}).option(`dry-run`,{description:`Show what would be removed without touching the filesystem.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Verbose logging.`,type:`boolean`,default:!1}),handler:n=>{if(!n.global){ke.error("gjsify uninstall currently only supports --global. For project-local removal, edit package.json + re-run `gjsify install`."),process.exit(1);return}let a=defaultGlobalLayout(),S=n[`dry-run`]??!1,C=n.verbose??!1,N=`gjsify uninstall${S?` (dry-run)`:``} --global`;ke.log(`${N} ← ${a.prefix}`),ke.log(`${` `.repeat(N.length)} bins ← ${a.binDir}`);let F=!1;for(let N of n.packages){let n=specToPackageName(N),I=ns(a.prefix,`node_modules`,n);if(!existsSync(I)){ke.warn(` ✗ ${n} — not installed at ${I}`);continue}let H=findBinShimsForPackage(a.binDir,I,C);if(S){ke.log(` • would remove ${I}`);for(let n of H)ke.log(` • would remove ${n}`)}else{rmSync(I,{recursive:!0,force:!0}),ke.log(` • removed ${I}`);for(let n of H)unlinkSync(n),ke.log(` • removed ${n}`)}F=!0}F||(ke.error(`
829
+ No packages removed.`),process.exit(1))}}});function handleInit({cwd:n,force:a}){let writeOne=(S,C)=>{let N=$o(n,S);if(existsSync(N)&&!a){ke.log(`[gjsify format] ${S} exists at ${N} — pass --force to overwrite.`);return}writeFileSync(N,C,`utf-8`),ke.log(`[gjsify format] wrote ${N}`)};writeOne(`.oxlintrc.json`,loadOxlintTemplate()),writeOne(`.oxfmtrc.json`,loadOxfmtTemplate()),ke.log("[gjsify format] Run `gjsify format --write .` to apply the formatter to the project.")}var qN,JN=__esmMin(()=>{Ae(),Zc(),ps(),qj(),qN={command:`format [paths..]`,description:`Format JS/TS source files via oxfmt (CSS/JSON formatting is not supported).`,builder:n=>n.positional(`paths`,{description:"Files or directories to format. Default: `.`",type:`string`,array:!0}).option(`write`,{description:`Modify files in place (default: report drift without writing).`,type:`boolean`,default:!1}).option(`check`,{description:`Report formatting drift without modifying files; exit non-zero if any file is unformatted. Useful for CI.`,type:`boolean`,default:!1}).option(`config-path`,{description:`Path to an .oxfmtrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`init`,{description:`Write recommended .oxlintrc.json + .oxfmtrc.json into cwd (skips existing files unless --force).`,type:`boolean`,default:!1}).option(`force`,{description:`Overwrite existing .oxlintrc.json / .oxfmtrc.json with --init.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Echo the resolved oxfmt launcher + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd();if(n.init){handleInit({cwd:a,force:n.force??!1});return}let S=n.paths?.length?n.paths:[`.`],C=[];n.check?C.push(`--check`):n.write?C.push(`--write`):C.push(`--list-different`);let N=n.configPath??findOxfmtConfig(a)??void 0;N&&C.push(`--config`,$o(N)),C.push(...S);try{setOxcExitCode(await runOxfmt(C,{cwd:a,verbose:n.verbose}))}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}}),YN,XN=__esmMin(()=>{ps(),qj(),YN={command:`lint [paths..]`,description:`Run oxlint diagnostics (spawned via its Node launcher to support JS plugins).`,builder:n=>n.positional(`paths`,{description:"Files or directories to lint. Default: `.`",type:`string`,array:!0}).option(`fix`,{description:`Apply safe lint fixes in place.`,type:`boolean`,default:!1}).option(`config-path`,{description:`Path to an .oxlintrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`verbose`,{description:`Echo the resolved oxlint launcher + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.paths?.length?n.paths:[`.`],C=[];n.fix&&C.push(`--fix`);let N=n.configPath??findOxlintConfig(a)??void 0;N&&C.push(`--config`,$o(N)),C.push(...S);try{setOxcExitCode(await runOxlint(C,{cwd:a,verbose:n.verbose}))}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}}),ZN,QN=__esmMin(()=>{ps(),qj(),ZN={command:`fix [paths..]`,description:`Run oxfmt --write then oxlint --fix — format + safe lint fixes in one pass.`,builder:n=>n.positional(`paths`,{description:"Files or directories to fix. Default: `.`",type:`string`,array:!0}).option(`write`,{description:`Apply fixes in place (default: true). Pass --no-write to report only.`,type:`boolean`,default:!0}).option(`config-path`,{description:`Path to an .oxlintrc.json. Default: walks up from cwd to find one.`,type:`string`,normalize:!0}).option(`verbose`,{description:`Echo the resolved oxc launchers + args before spawning.`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=n.paths?.length?n.paths:[`.`],C=n.verbose??!1,N=n.write!==!1;try{let F=[N?`--write`:`--list-different`],I=n.configPath??findOxfmtConfig(a)??void 0;I&&F.push(`--config`,$o(I)),F.push(...S);let H=await runOxfmt(F,{cwd:a,verbose:C}),W=[];N&&W.push(`--fix`);let K=n.configPath??findOxlintConfig(a)??void 0;K&&W.push(`--config`,$o(K)),W.push(...S);let q=await runOxlint(W,{cwd:a,verbose:C});setOxcExitCode(H||q)}catch(n){if(n instanceof OxcNotFoundError){printOxcNotFound(n),setOxcExitCode(1);return}throw n}}}});function createInterface(n,a){return typeof n==`object`&&n&&!(`read`in n&&typeof n.read==`function`)?new Interface(n):new Interface({input:n,output:a})}var Interface,$N=__esmMin(()=>{zc(),Interface=class extends Interface$1{question(n,a){return new Promise(a=>{super.question(n,a)})}}});function semverGt(n,a){try{return compare(n,a)===1}catch{return!1}}function groupByDependency(n){let a=new Map;for(let S of n){let n=a.get(S.name);n||(n={name:S.name,occurrences:[],declaredRanges:new Set,dominantRange:S.currentRange,highestVersion:S.currentVersion},a.set(S.name,n)),n.occurrences.push(S),n.declaredRanges.add(S.currentRange),S.currentVersion&&(!n.highestVersion||semverGt(S.currentVersion,n.highestVersion))&&(n.highestVersion=S.currentVersion)}for(let n of a.values()){let a=new Map;for(let S of n.occurrences)a.set(S.currentRange,(a.get(S.currentRange)??0)+1);let S=n.occurrences[0].currentRange,C=-1,N=null;for(let[n,F]of a.entries()){let a=parse(n.replace(/^[\^~>=<]+/,``))?.version??null;(F>C||F===C&&a&&N&&semverGt(a,N)||F===C&&n<S)&&(S=n,C=F,N=a)}n.dominantRange=S}return[...a.values()].sort((n,a)=>n.name.localeCompare(a.name))}function isInconsistent(n){return n.declaredRanges.size>1}function findInconsistencies(n){return n.filter(isInconsistent)}var eP=__esmMin(()=>{jM()});function discoverContext(n){let a=findWorkspaceRoot(n);if(a)return{root:a,workspaces:discoverWorkspaces(a,{includeRoot:!0}),isMonorepo:!0};let S=ns(n,`package.json`);if(!existsSync(S))throw Error(`[gjsify upgrade] no package.json at ${S}`);let C=JSON.parse(readFileSync(S,`utf-8`));return{root:n,workspaces:[{name:C.name??`<root>`,location:n,relativeLocation:`.`,version:C.version??`0.0.0`,manifest:C,private:C.private===!0}],isMonorepo:!1}}function applyWorkspaceFilter(n,a,S){let C=a?.split(`,`).map(n=>n.trim()).filter(Boolean),N=S?.split(`,`).map(n=>n.trim()).filter(Boolean);return(!C||C.length===0)&&(!N||N.length===0)?n:filterWorkspaces(n,{include:C,exclude:N})}function parseFilterList(n){return n?n.split(`,`).map(n=>n.trim().toLowerCase()).filter(Boolean):[]}function collectAllDeclarations(n,a){let S=[];for(let C of n)for(let n of collectFromWorkspace(C,a))S.push(n);return S}function collectFromWorkspace(n,a){let S=[],C=n.manifest;for(let N of nP){let F=C[N];if(!(!F||typeof F!=`object`))for(let[C,I]of Object.entries(F)){if(typeof I!=`string`||a.length&&!a.some(n=>C.toLowerCase().includes(n))||I.startsWith(`workspace:`)||I.startsWith(`file:`)||I.startsWith(`link:`)||I.startsWith(`git+`)||I.startsWith(`git:`)||I.startsWith(`http:`)||I.startsWith(`https:`)||I.startsWith(`npm:`)||I.startsWith(`portal:`))continue;let{prefix:F,version:H}=splitRange(I);S.push({workspace:n.name,workspaceLocation:n.location,name:C,field:N,currentRange:I,currentVersion:H,prefix:F})}}return S}function splitRange(n){let a=n.match(/^(\^|~|>=|<=|>|<|=)?\s*([0-9].*)$/);if(!a)return{prefix:``,version:null};let S=a[1]??``,C=a[2]?.split(/\s|[|&,]/)[0]??null;return{prefix:S,version:(C?parse(C):null)?.version??null}}function runCheckMode(n){let a=findInconsistencies(n);if(a.length===0){ke.log(`gjsify upgrade --check: OK. ${n.length} dep(s) consistently declared across workspaces.`);return}ke.error(`gjsify upgrade --check: FAIL. ${a.length} dep(s) declared at inconsistent ranges:\n`);for(let n of a){let a=new Map;for(let S of n.occurrences){let n=a.get(S.currentRange)??[];n.push(S.workspace),a.set(S.currentRange,n)}ke.error(` ${rP.bold}${n.name}${rP.reset}`);for(let[n,S]of a.entries())ke.error(` ${n.padEnd(16)} — ${S.join(`, `)}`)}ke.error("\nFix: run `gjsify upgrade --align` (offline; aligns each dep to its highest declared range)."),process.exit(1)}function runAlignMode(n,a){let S=findInconsistencies(n);if(S.length===0){ke.log(`gjsify upgrade --align: nothing to do. ${n.length} dep(s) already consistent.`);return}let C=[];for(let n of S){if(!n.highestVersion)continue;let a=n.occurrences.find(a=>a.currentRange===n.dominantRange)?.prefix||`^`;C.push({...n,latestVersion:n.highestVersion,diff:`none`,occurrences:n.occurrences.map(n=>({...n,prefix:a}))})}if(C.length===0){ke.log(`gjsify upgrade --align: inconsistencies present but no parseable target version. No-op.`);return}ke.log(`gjsify upgrade --align: aligning ${C.length} inconsistent dep(s) to their highest declared version:\n`);for(let n of C){let a=n.occurrences[0]?.prefix??`^`;ke.log(` ${n.name.padEnd(28)} ranges: ${[...n.declaredRanges].join(`, `)} → ${a}${n.latestVersion}`)}if(a.dryRun){ke.log(`
830
+ [gjsify upgrade --align] --dry-run: no files changed.`);return}let N=applyToFiles(C);ke.log(`\n✏️ updated ${C.length} dep(s) across ${N} package.json file(s).`)}async function resolveCandidateGroups(n,a,S,C){let N=[],F=0;async function worker(){for(;;){let I=F++;if(I>=n.length)return;let H=n[I];try{let n=(await fetchPackument(H.name,{npmrc:a}))[`dist-tags`]?.latest;if(!n){S&&ke.warn(` ${H.name}: no dist-tags.latest, skipping`);continue}let F=H.highestVersion;if(!F){S&&ke.warn(` ${H.name}: unable to parse any current range`);continue}let I=classifyDiff(F,n);if(I===`none`||C===`minor`&&I===`major`||C===`patch`&&(I===`major`||I===`minor`))continue;N.push({...H,latestVersion:n,diff:I})}catch(n){S&&ke.warn(` ${H.name}: fetch failed (${n.message})`)}}}return await Promise.all(Array.from({length:8},()=>worker())),N.sort((n,a)=>n.name.localeCompare(a.name)),N}function classifyDiff(n,a){let S=parse(n),C=parse(a);return!S||!C?`none`:S.major===C.major?S.minor===C.minor?S.patch===C.patch?(S.prerelease??[]).join(`.`)===(C.prerelease??[]).join(`.`)?`none`:`prerelease`:C.patch>S.patch?`patch`:`none`:C.minor>S.minor?`minor`:`none`:C.major>S.major?`major`:`none`}function colorForDiff(n){switch(n){case`major`:return rP.red;case`minor`:return rP.yellow;case`patch`:return rP.green;case`prerelease`:return rP.cyan;default:return``}}function printTable(n){let a=Math.max(...n.map(n=>n.name.length),4),S=Math.max(...n.map(n=>`${n.occurrences.length}`.length+2),3),C=Math.max(...n.map(n=>declaredCellWidth(n)),7),N=Math.max(...n.map(n=>n.latestVersion.length),6),F=String(n.length).length+2,I=` `.repeat(F+2)+rP.bold+`name`.padEnd(a)+` `+`fan`.padEnd(S)+` `+`declared`.padEnd(C)+` `+`latest`.padEnd(N)+` kind`+rP.reset;ke.log(I),ke.log(` `.repeat(F+2)+rP.dim+`─`.repeat(a+S+C+N+16)+rP.reset);for(let I=0;I<n.length;I++){let H=n[I],W=`${I+1}.`.padEnd(F),K=H.declaredRanges.size>1?`${rP.magenta}⚠ ${rP.reset}`:` `,q=colorForDiff(H.diff);ke.log(W+K+H.name.padEnd(a)+` `+rP.dim+`${H.occurrences.length}`.padEnd(S)+rP.reset+` `+rP.dim+renderDeclaredCell(H).padEnd(C)+rP.reset+` `+q+H.latestVersion.padEnd(N)+rP.reset+` `+q+H.diff+rP.reset)}let H=n.filter(n=>n.declaredRanges.size>1).length;H>0&&ke.log(`\n${rP.magenta}⚠${rP.reset} ${H} dep(s) declared at inconsistent ranges across workspaces.`)}function declaredCellWidth(n){return renderDeclaredCell(n).length}function renderDeclaredCell(n){if(n.declaredRanges.size===1)return[...n.declaredRanges][0];let a=[...n.declaredRanges].sort().join(`, `);return a.length<=32?a:a.slice(0,29)+`…`}function printChangePlan(n){for(let a of n)for(let n of a.occurrences)ke.log(` ${n.workspace.padEnd(38)} ${a.name.padEnd(28)} ${n.currentRange.padEnd(12)} → ${n.prefix}${a.latestVersion}`)}async function promptSelection(n){if(!process.stdin.isTTY)return ke.log(`[gjsify upgrade] non-TTY stdin: pass --latest / --minor / --patch (or --yes for interactive-all) to upgrade non-interactively.`),[];let a=createInterface({input:process.stdin,output:process.stdout});try{ke.log(`
831
+ Select upgrades: comma- or space-separated indices, `+rP.bold+`a`+rP.reset+` for all, ranges like `+rP.bold+`1-3`+rP.reset+`, or `+rP.bold+`ENTER`+rP.reset+` to skip:`);let S=(await a.question(`> `)).trim();if(!S)return[];if(S.toLowerCase()===`a`||S.toLowerCase()===`all`)return[...n];let C=new Set;for(let n of S.split(/[\s,]+/).filter(Boolean)){let a=n.match(/^(\d+)-(\d+)$/);if(a){let n=Number(a[1]),S=Number(a[2]);for(let a=Math.min(n,S);a<=Math.max(n,S);a++)C.add(a-1)}else /^\d+$/.test(n)&&C.add(Number(n)-1)}return[...C].filter(a=>a>=0&&a<n.length).map(a=>n[a])}finally{a.close()}}function applyToFiles(n){let a=new Map;for(let S of n)for(let n of S.occurrences){let C=a.get(n.workspaceLocation)??[];C.push({...S,occurrences:[n]}),a.set(n.workspaceLocation,C)}let S=0;for(let[n,C]of a.entries()){let a=ns(n,`package.json`),N=readFileSync(a,`utf-8`),F=JSON.parse(N),I=!1;for(let n of C){let a=n.occurrences[0],S=F[a.field];if(!S)continue;let C=`${a.prefix}${n.latestVersion}`;S[n.name]!==C&&(S[n.name]=C,I=!0)}if(I){let n=detectIndent(N);writeFileSync(a,JSON.stringify(F,null,n)+(N.endsWith(`
827
832
  `)?`
828
- `:``),`utf-8`),S++}}return S}function uniqueLocations(n){let a=new Set;for(let S of n)for(let n of S.occurrences)a.add(n.workspaceLocation);return[...a]}function detectIndent(n){let a=n.match(/^\{\n( +)/);return a?a[1].length:2}async function loadNpmrcLight(n){let a={registry:EM,scopes:{},authTokens:{},basicAuth:{}};for(let S of[ns(homedir(),`.npmrc`),ns(n,`.npmrc`)])if(existsSync(S))try{let n=parseNpmrc(readFileSync(S,`utf-8`));a={...a,...n,scopes:{...a.scopes,...n.scopes}}}catch{}return process.env.npm_config_registry&&(a.registry=process.env.npm_config_registry),a}var JN,YN,XN,ZN=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),KN(),TM(),DM(),Ig(),Lg(),qN(),JN={command:`upgrade`,description:"Workspace-aware dependency upgrades. Walks every package.json in the monorepo, groups by dep, flags inconsistencies. `--latest` / `--minor` / `--patch` for bulk-mode, `--align` for offline consistency-only mode, `--check` for CI drift detection.",builder:n=>n.option(`latest`,{description:`Non-interactive: bump every dependency to its latest version (allows major).`,type:`boolean`,default:!1}).option(`minor`,{description:`Non-interactive: bump every dependency to the latest within the same major (semver-minor + semver-patch).`,type:`boolean`,default:!1}).option(`patch`,{description:`Non-interactive: bump every dependency to the latest within the same minor (semver-patch only).`,type:`boolean`,default:!1}).option(`filter`,{description:`Only consider deps whose name matches this substring (case-insensitive). Repeatable; comma-separated values are split.`,type:`string`}).option(`workspace`,{alias:`p`,description:`Restrict to a subset of workspaces. Patterns are matched against the workspace package name AND its directory path (substring + glob). Repeatable; comma-separated values are split.`,type:`string`}).option(`exclude-workspace`,{description:`Skip workspaces matching this pattern (glob-shaped; matched against workspace package name AND directory path). Repeatable; comma-separated values are split. Use for workspaces with intentional dependency drift — e.g. integration tests pinned to specific upstream versions.`,type:`string`}).option(`align`,{description:`Offline consistency mode: find deps declared at multiple ranges across the workspace and align them to the highest. No registry calls.`,type:`boolean`,default:!1}).option(`check`,{description:"CI gate: exit non-zero when any dep is declared inconsistently across workspaces. Implies offline (no registry calls). Pairs with `--align` as the fix.",type:`boolean`,default:!1}).option(`dry-run`,{description:`Print the upgrade plan without writing package.json files.`,type:`boolean`,default:!1}).option(`cwd`,{description:`Project directory. Default: process.cwd(). When inside a workspace, walks up to the monorepo root.`,type:`string`}).option(`yes`,{alias:`y`,description:`Interactive mode: select all without prompting.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print extra resolution details.`,type:`boolean`,default:!1}),handler:async n=>{let a=discoverContext($o(n.cwd??process.cwd())),S=applyWorkspaceFilter(a.workspaces,n.workspace,n.excludeWorkspace);if(S.length===0){ke.log(`[gjsify upgrade] no matching workspaces.`);return}let C=collectAllDeclarations(S,parseFilterList(n.filter));if(C.length===0){ke.log(`[gjsify upgrade] no external npm dependencies to check.`);return}let N=groupByDependency(C);if(n.check)return runCheckMode(N);if(n.align)return runAlignMode(N,n);let F=await loadNpmrcLight(a.root),I=n.latest?`latest`:n.minor?`minor`:n.patch?`patch`:`interactive`;ke.log(`[gjsify upgrade] checking ${N.length} unique deps across ${S.length} workspace(s) against ${F.registry}…`);let H=await resolveCandidateGroups(N,F,n.verbose??!1,I);if(H.length===0){ke.log(`✅ all dependencies are up to date`);let n=findInconsistencies(N);n.length>0&&ke.log(`\n⚠ ${n.length} dep(s) declared at inconsistent ranges across workspaces. Run \`gjsify upgrade --align\` to fix.`);return}printTable(H);let W;if(I===`interactive`&&!n.yes?W=await promptSelection(H):(n.yes&&I===`interactive`&&ke.log(`[gjsify upgrade] -y / --yes: selecting all`),W=H),W.length===0){ke.log(`[gjsify upgrade] nothing selected; no files changed.`);return}if(n.dryRun){let n=uniqueLocations(W).length;ke.log(`[gjsify upgrade] --dry-run: would update ${W.length} deps across ${n} package.json file(s).`),printChangePlan(W);return}let K=applyToFiles(W);ke.log(`✏️ updated ${W.length} dep(s) across ${K} package.json file(s). Run \`gjsify install\` to apply.`)}},YN=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`],XN={reset:`\x1B[0m`,bold:`\x1B[1m`,dim:`\x1B[2m`,red:`\x1B[31m`,yellow:`\x1B[33m`,green:`\x1B[32m`,cyan:`\x1B[36m`,magenta:`\x1B[35m`}});async function generateBarrels(n){let a=n.singleQuotes?`'`:`"`,S=n.noSemicolon?``:`;`,C=n.extension===`none`?``:`.${n.extension}`,N=0;for(let F of n.paths){let I=$o(n.baseDir,F),H=os(I)===`types`,W;try{W=(await readdir$1(I,{withFileTypes:!0})).filter(n=>n.isFile()).filter(n=>$N.test(n.name)).filter(n=>n.name!==`index.ts`).filter(a=>!n.exclude.some(n=>n.test(a.name))).sort((n,a)=>n.name.localeCompare(a.name))}catch(a){n.verbose&&ke.error(`[gjsify barrels] skip ${I}: ${a.message}`);continue}let K=W.map(n=>{let N=os(n.name,ss(n.name));return`${H?`export type *`:`export *`} from ${a}./${N}${C}${a}${S}`}),q=K.length?`${K.join(`
833
+ `:``),`utf-8`),S++}}return S}function uniqueLocations(n){let a=new Set;for(let S of n)for(let n of S.occurrences)a.add(n.workspaceLocation);return[...a]}function detectIndent(n){let a=n.match(/^\{\n( +)/);return a?a[1].length:2}async function loadNpmrcLight(n){let a={registry:MM,scopes:{},authTokens:{},basicAuth:{}};for(let S of[ns(homedir(),`.npmrc`),ns(n,`.npmrc`)])if(existsSync(S))try{let n=parseNpmrc(readFileSync(S,`utf-8`));a={...a,...n,scopes:{...a.scopes,...n.scopes}}}catch{}return process.env.npm_config_registry&&(a.registry=process.env.npm_config_registry),a}var tP,nP,rP,iP=__esmMin(()=>{Ae(),Zc(),ps(),Wp(),$N(),jM(),NM(),Ig(),Lg(),eP(),tP={command:`upgrade`,description:"Workspace-aware dependency upgrades. Walks every package.json in the monorepo, groups by dep, flags inconsistencies. `--latest` / `--minor` / `--patch` for bulk-mode, `--align` for offline consistency-only mode, `--check` for CI drift detection.",builder:n=>n.option(`latest`,{description:`Non-interactive: bump every dependency to its latest version (allows major).`,type:`boolean`,default:!1}).option(`minor`,{description:`Non-interactive: bump every dependency to the latest within the same major (semver-minor + semver-patch).`,type:`boolean`,default:!1}).option(`patch`,{description:`Non-interactive: bump every dependency to the latest within the same minor (semver-patch only).`,type:`boolean`,default:!1}).option(`filter`,{description:`Only consider deps whose name matches this substring (case-insensitive). Repeatable; comma-separated values are split.`,type:`string`}).option(`workspace`,{alias:`p`,description:`Restrict to a subset of workspaces. Patterns are matched against the workspace package name AND its directory path (substring + glob). Repeatable; comma-separated values are split.`,type:`string`}).option(`exclude-workspace`,{description:`Skip workspaces matching this pattern (glob-shaped; matched against workspace package name AND directory path). Repeatable; comma-separated values are split. Use for workspaces with intentional dependency drift — e.g. integration tests pinned to specific upstream versions.`,type:`string`}).option(`align`,{description:`Offline consistency mode: find deps declared at multiple ranges across the workspace and align them to the highest. No registry calls.`,type:`boolean`,default:!1}).option(`check`,{description:"CI gate: exit non-zero when any dep is declared inconsistently across workspaces. Implies offline (no registry calls). Pairs with `--align` as the fix.",type:`boolean`,default:!1}).option(`dry-run`,{description:`Print the upgrade plan without writing package.json files.`,type:`boolean`,default:!1}).option(`cwd`,{description:`Project directory. Default: process.cwd(). When inside a workspace, walks up to the monorepo root.`,type:`string`}).option(`yes`,{alias:`y`,description:`Interactive mode: select all without prompting.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Print extra resolution details.`,type:`boolean`,default:!1}),handler:async n=>{let a=discoverContext($o(n.cwd??process.cwd())),S=applyWorkspaceFilter(a.workspaces,n.workspace,n.excludeWorkspace);if(S.length===0){ke.log(`[gjsify upgrade] no matching workspaces.`);return}let C=collectAllDeclarations(S,parseFilterList(n.filter));if(C.length===0){ke.log(`[gjsify upgrade] no external npm dependencies to check.`);return}let N=groupByDependency(C);if(n.check)return runCheckMode(N);if(n.align)return runAlignMode(N,n);let F=await loadNpmrcLight(a.root),I=n.latest?`latest`:n.minor?`minor`:n.patch?`patch`:`interactive`;ke.log(`[gjsify upgrade] checking ${N.length} unique deps across ${S.length} workspace(s) against ${F.registry}…`);let H=await resolveCandidateGroups(N,F,n.verbose??!1,I);if(H.length===0){ke.log(`✅ all dependencies are up to date`);let n=findInconsistencies(N);n.length>0&&ke.log(`\n⚠ ${n.length} dep(s) declared at inconsistent ranges across workspaces. Run \`gjsify upgrade --align\` to fix.`);return}printTable(H);let W;if(I===`interactive`&&!n.yes?W=await promptSelection(H):(n.yes&&I===`interactive`&&ke.log(`[gjsify upgrade] -y / --yes: selecting all`),W=H),W.length===0){ke.log(`[gjsify upgrade] nothing selected; no files changed.`);return}if(n.dryRun){let n=uniqueLocations(W).length;ke.log(`[gjsify upgrade] --dry-run: would update ${W.length} deps across ${n} package.json file(s).`),printChangePlan(W);return}let K=applyToFiles(W);ke.log(`✏️ updated ${W.length} dep(s) across ${K} package.json file(s). Run \`gjsify install\` to apply.`)}},nP=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`],rP={reset:`\x1B[0m`,bold:`\x1B[1m`,dim:`\x1B[2m`,red:`\x1B[31m`,yellow:`\x1B[33m`,green:`\x1B[32m`,cyan:`\x1B[36m`,magenta:`\x1B[35m`}});async function generateBarrels(n){let a=n.singleQuotes?`'`:`"`,S=n.noSemicolon?``:`;`,C=n.extension===`none`?``:`.${n.extension}`,N=0;for(let F of n.paths){let I=$o(n.baseDir,F),H=os(I)===`types`,W;try{W=(await readdir$1(I,{withFileTypes:!0})).filter(n=>n.isFile()).filter(n=>oP.test(n.name)).filter(n=>n.name!==`index.ts`).filter(a=>!n.exclude.some(n=>n.test(a.name))).sort((n,a)=>n.name.localeCompare(a.name))}catch(a){n.verbose&&ke.error(`[gjsify barrels] skip ${I}: ${a.message}`);continue}let K=W.map(n=>{let N=os(n.name,ss(n.name));return`${H?`export type *`:`export *`} from ${a}./${N}${C}${a}${S}`}),q=K.length?`${K.join(`
829
834
  `)}\n`:`export {};
830
- `,Y=`${n.header}\n\n${q}`,X=ns(I,`index.ts`);if(await readFile$1(X,`utf-8`).catch(()=>``)===Y){n.verbose&&ke.log(`[gjsify barrels] up-to-date: ${X}`);continue}n.check?(ke.error(`[gjsify barrels] drift: ${X}`),N++):(await writeFile$1(X,Y,`utf-8`),n.verbose&&ke.log(`[gjsify barrels] wrote: ${X}`))}return N}var QN,$N,eP=__esmMin(()=>{Ae(),kc(),ps(),QN=[`\\.test\\.`,`\\.spec\\.`,`\\.test-data\\.`],$N=/\.(ts|tsx|mts|cts)$/}),tP,nP=__esmMin(()=>{Ae(),eP(),tP={command:`barrels [paths..]`,description:"Regenerate `index.ts` barrel files for the given directories. Drop-in replacement for `barrelsby`.",builder:n=>n.positional(`paths`,{description:"Directories whose `index.ts` to (re)generate. May also be passed via `--paths`.",type:`string`,array:!0}).option(`paths`,{alias:`p`,description:`Alternative to positional — repeatable list of directories.`,type:`string`,array:!0}).option(`ext`,{description:"Import-specifier extension. Default: `none` (bundler-mode resolution).",type:`string`,choices:[`js`,`ts`,`none`],default:`none`}).option(`base-dir`,{alias:`b`,description:"Resolve `paths` against this directory. Default: cwd.",type:`string`}).option(`exclude`,{description:"Regex(es) of file names to skip. Repeatable. Defaults: `\\.test\\.`, `\\.spec\\.`, `\\.test-data\\.`.",type:`string`,array:!0}).option(`header`,{description:`Header comment prepended to every generated file.`,type:`string`}).option(`semicolon`,{description:"Emit trailing `;` on each export line. Negate with `--no-semicolon`. Default: omitted.",type:`boolean`,default:!1}).option(`single-quotes`,{description:"Use `'` for import specifiers. Default: true. Pass `--no-single-quotes` for `\"`.",type:`boolean`,default:!0}).option(`check`,{description:`Report drift without modifying files; exit non-zero if any barrel is stale.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Log each file scanned + written.`,type:`boolean`,default:!1}),handler:async n=>{let a=Array.from(new Set((n.paths??[]).filter(Boolean)));if(a.length===0){ke.error(`[gjsify barrels] no paths provided. Pass directories as positional arguments or via --paths.`),process.exitCode=1;return}let S=n.exclude?.length?n.exclude:[...QN],C=await generateBarrels({paths:a,extension:n.ext??`none`,baseDir:n.baseDir??process.cwd(),exclude:S.map(n=>new RegExp(n)),header:n.header??"// Auto-generated by `gjsify barrels` — do not edit by hand.",noSemicolon:n.semicolon===!1||n.semicolon===void 0,singleQuotes:n.singleQuotes!==!1,check:n.check??!1,verbose:n.verbose??!1});n.check&&C>0&&(ke.error(`[gjsify barrels] ${C} barrel file(s) drifted. Run without --check to fix.`),process.exitCode=1)}}}),rP,iP=__esmMin(()=>{Ae(),sC(),Uo(),ps(),mn(),YA(),Lg(),rP={command:`tsc [tscArgs..]`,description:"Run TypeScript compiler (tsc) under GJS via the @gjsify/tsc bundle. All arguments are passed through to tsc. Equivalent to `gjsify-tsc <args>` from the @gjsify/tsc bin.",builder:n=>n.parserConfiguration({"unknown-options-as-args":!0}).version(!1).help(!1).positional(`tscArgs`,{description:"Arguments forwarded verbatim to tsc (e.g. `--version`, `-p tsconfig.json`).",type:`string`,array:!0,default:[]}),handler:async n=>{let a=(n._??[]).slice(1).map(String),S=n.tscArgs??[],C=a.length>0?a:S,N=process.cwd(),F=[pathToFileURL(`${findWorkspaceRoot(N)??N}/__gjsify_tsc__.js`).href,import.meta.url],I;for(let n of F)try{I=createRequire(n).resolve(`@gjsify/tsc/bundle`);break}catch{}let H;for(let n of F)try{H=ns(as(createRequire(n).resolve(`typescript/package.json`)),`lib`,`tsc.js`);break}catch{}!I&&!H&&(ke.error("gjsify tsc: neither @gjsify/tsc (GJS bundle) nor npm `typescript` (Node) is installed."),ke.error(" Install with: gjsify install --save-dev @gjsify/tsc (or add `typescript`)."),process.exit(1));let W=buildNativeEnv(detectNativePackages(N)),K={...process.env,...W},runNodeTsc=()=>{let n=spawn(process.execPath,[H,...C],{env:K,stdio:`inherit`});n.on(`close`,n=>process.exit(n??1)),n.on(`error`,n=>{ke.error(`gjsify tsc (node typescript): ${n.message}`),process.exit(1)})};if(I){let n=!1,a=spawn(`gjs`,[`-m`,I,...C],{env:K,stdio:`inherit`});await new Promise(S=>{a.on(`close`,a=>{n||process.exit(a??1)}),a.on(`error`,a=>{n=!0,a.code===`ENOENT`&&H?runNodeTsc():a.code===`ENOENT`?(ke.error("gjsify tsc: `gjs` not found on PATH and no npm `typescript` fallback."),ke.error(" Install GJS (e.g. `dnf install gjs`), or add `typescript` to the project."),process.exit(1)):(ke.error(`gjsify tsc: ${a.message}`),process.exit(1))})})}else runNodeTsc()}}});function classifyAndExpand(n,a,S){let C=S.map(n=>n.replace(/\\/g,`/`)).filter(n=>n.length>0);if(C.length===0)return{global:!1,reason:`empty-diff`,workspaces:[],runE2E:!1,runIntegration:!1,skipAll:!0};let N=[];for(let n of C)sP.some(a=>a.test(n))||N.push(n);if(N.length===0)return{global:!1,reason:`ignored-only`,workspaces:[],runE2E:!1,runIntegration:!1,skipAll:!0};for(let a of N)for(let S of oP)if(S.test(a))return{global:!0,reason:`global-trigger ${S.source} matched ${a}`,workspaces:n.map(n=>n.name),runE2E:!0,runIntegration:!0,skipAll:!1};let{matched:F,unmatched:I}=workspacesForChangedFiles(n,a,N);if(I.length>0)return{global:!0,reason:`unmatched files (${I.length}): ${I.slice(0,3).join(`, `)}${I.length>3?`…`:``}`,workspaces:n.map(n=>n.name),runE2E:!0,runIntegration:!0,skipAll:!1};if(N.every(n=>cP.some(a=>a.test(n)))&&F.size===1){let n=[...F][0],a=N.some(n=>n.startsWith(`tests/e2e/`)),S=N.some(n=>n.startsWith(`tests/integration/`));return{global:!1,reason:`test-only (${N.length} file(s) in ${n})`,workspaces:[n],runE2E:a,runIntegration:S||isIntegrationWorkspace(n),skipAll:!1}}let H=affectedClosure(buildReverseDependencyGraph(n,{includeDev:!1}),[...F]),W=buildDependencyGraph(n,{includeDev:!0}),K=!1;for(let[n,a]of W.edges)if(isIntegrationWorkspace(n)){for(let S of a)if(H.has(S)){H.add(n),K=!0;break}}let q=N.some(n=>n.startsWith(`tests/e2e/`));return{global:!1,reason:`closure (${H.size} ws from ${F.size} seed(s))`,workspaces:[...H].sort(),runE2E:q,runIntegration:K,skipAll:!1}}function isIntegrationWorkspace(n){return n.startsWith(`@gjsify/integration-`)}function runGitDiff(n,a,S){let C=spawnSync(`git`,[`diff`,`--name-only`,`${a}...${S}`],{cwd:n,encoding:`utf8`});return C.status!==0&&(process.stderr.write(`gjsify affected: git diff failed (${C.status}): ${C.stderr.trim()}\n`),process.exit(2)),C.stdout.split(`
835
+ `,Y=`${n.header}\n\n${q}`,X=ns(I,`index.ts`);if(await readFile$1(X,`utf-8`).catch(()=>``)===Y){n.verbose&&ke.log(`[gjsify barrels] up-to-date: ${X}`);continue}n.check?(ke.error(`[gjsify barrels] drift: ${X}`),N++):(await writeFile$1(X,Y,`utf-8`),n.verbose&&ke.log(`[gjsify barrels] wrote: ${X}`))}return N}var aP,oP,sP=__esmMin(()=>{Ae(),kc(),ps(),aP=[`\\.test\\.`,`\\.spec\\.`,`\\.test-data\\.`],oP=/\.(ts|tsx|mts|cts)$/}),cP,lP=__esmMin(()=>{Ae(),sP(),cP={command:`barrels [paths..]`,description:"Regenerate `index.ts` barrel files for the given directories. Drop-in replacement for `barrelsby`.",builder:n=>n.positional(`paths`,{description:"Directories whose `index.ts` to (re)generate. May also be passed via `--paths`.",type:`string`,array:!0}).option(`paths`,{alias:`p`,description:`Alternative to positional — repeatable list of directories.`,type:`string`,array:!0}).option(`ext`,{description:"Import-specifier extension. Default: `none` (bundler-mode resolution).",type:`string`,choices:[`js`,`ts`,`none`],default:`none`}).option(`base-dir`,{alias:`b`,description:"Resolve `paths` against this directory. Default: cwd.",type:`string`}).option(`exclude`,{description:"Regex(es) of file names to skip. Repeatable. Defaults: `\\.test\\.`, `\\.spec\\.`, `\\.test-data\\.`.",type:`string`,array:!0}).option(`header`,{description:`Header comment prepended to every generated file.`,type:`string`}).option(`semicolon`,{description:"Emit trailing `;` on each export line. Negate with `--no-semicolon`. Default: omitted.",type:`boolean`,default:!1}).option(`single-quotes`,{description:"Use `'` for import specifiers. Default: true. Pass `--no-single-quotes` for `\"`.",type:`boolean`,default:!0}).option(`check`,{description:`Report drift without modifying files; exit non-zero if any barrel is stale.`,type:`boolean`,default:!1}).option(`verbose`,{description:`Log each file scanned + written.`,type:`boolean`,default:!1}),handler:async n=>{let a=Array.from(new Set((n.paths??[]).filter(Boolean)));if(a.length===0){ke.error(`[gjsify barrels] no paths provided. Pass directories as positional arguments or via --paths.`),process.exitCode=1;return}let S=n.exclude?.length?n.exclude:[...aP],C=await generateBarrels({paths:a,extension:n.ext??`none`,baseDir:n.baseDir??process.cwd(),exclude:S.map(n=>new RegExp(n)),header:n.header??"// Auto-generated by `gjsify barrels` — do not edit by hand.",noSemicolon:n.semicolon===!1||n.semicolon===void 0,singleQuotes:n.singleQuotes!==!1,check:n.check??!1,verbose:n.verbose??!1});n.check&&C>0&&(ke.error(`[gjsify barrels] ${C} barrel file(s) drifted. Run without --check to fix.`),process.exitCode=1)}}}),uP,dP=__esmMin(()=>{Ae(),cC(),Uo(),ps(),mn(),tj(),Lg(),uP={command:`tsc [tscArgs..]`,description:"Run TypeScript compiler (tsc) under GJS via the @gjsify/tsc bundle. All arguments are passed through to tsc. Equivalent to `gjsify-tsc <args>` from the @gjsify/tsc bin.",builder:n=>n.parserConfiguration({"unknown-options-as-args":!0}).version(!1).help(!1).positional(`tscArgs`,{description:"Arguments forwarded verbatim to tsc (e.g. `--version`, `-p tsconfig.json`).",type:`string`,array:!0,default:[]}),handler:async n=>{let a=(n._??[]).slice(1).map(String),S=n.tscArgs??[],C=a.length>0?a:S,N=process.cwd(),F=[pathToFileURL(`${findWorkspaceRoot(N)??N}/__gjsify_tsc__.js`).href,import.meta.url],I;for(let n of F)try{I=createRequire(n).resolve(`@gjsify/tsc/bundle`);break}catch{}let H;for(let n of F)try{H=ns(as(createRequire(n).resolve(`typescript/package.json`)),`lib`,`tsc.js`);break}catch{}!I&&!H&&(ke.error("gjsify tsc: neither @gjsify/tsc (GJS bundle) nor npm `typescript` (Node) is installed."),ke.error(" Install with: gjsify install --save-dev @gjsify/tsc (or add `typescript`)."),process.exit(1));let W=buildNativeEnv(detectNativePackages(N)),K={...process.env,...W},runNodeTsc=()=>{let n=spawn(process.execPath,[H,...C],{env:K,stdio:`inherit`});n.on(`close`,n=>process.exit(n??1)),n.on(`error`,n=>{ke.error(`gjsify tsc (node typescript): ${n.message}`),process.exit(1)})};if(I){let n=!1,a=spawn(`gjs`,[`-m`,I,...C],{env:K,stdio:`inherit`});await new Promise(S=>{a.on(`close`,a=>{n||process.exit(a??1)}),a.on(`error`,a=>{n=!0,a.code===`ENOENT`&&H?runNodeTsc():a.code===`ENOENT`?(ke.error("gjsify tsc: `gjs` not found on PATH and no npm `typescript` fallback."),ke.error(" Install GJS (e.g. `dnf install gjs`), or add `typescript` to the project."),process.exit(1)):(ke.error(`gjsify tsc: ${a.message}`),process.exit(1))})})}else runNodeTsc()}}});function classifyAndExpand(n,a,S){let C=S.map(n=>n.replace(/\\/g,`/`)).filter(n=>n.length>0);if(C.length===0)return{global:!1,reason:`empty-diff`,workspaces:[],runE2E:!1,runIntegration:!1,skipAll:!0};let N=[];for(let n of C)mP.some(a=>a.test(n))||N.push(n);if(N.length===0)return{global:!1,reason:`ignored-only`,workspaces:[],runE2E:!1,runIntegration:!1,skipAll:!0};for(let a of N)for(let S of pP)if(S.test(a))return{global:!0,reason:`global-trigger ${S.source} matched ${a}`,workspaces:n.map(n=>n.name),runE2E:!0,runIntegration:!0,skipAll:!1};let{matched:F,unmatched:I}=workspacesForChangedFiles(n,a,N);if(I.length>0)return{global:!0,reason:`unmatched files (${I.length}): ${I.slice(0,3).join(`, `)}${I.length>3?`…`:``}`,workspaces:n.map(n=>n.name),runE2E:!0,runIntegration:!0,skipAll:!1};if(N.every(n=>hP.some(a=>a.test(n)))&&F.size===1){let n=[...F][0],a=N.some(n=>n.startsWith(`tests/e2e/`)),S=N.some(n=>n.startsWith(`tests/integration/`));return{global:!1,reason:`test-only (${N.length} file(s) in ${n})`,workspaces:[n],runE2E:a,runIntegration:S||isIntegrationWorkspace(n),skipAll:!1}}let H=affectedClosure(buildReverseDependencyGraph(n,{includeDev:!1}),[...F]),W=buildDependencyGraph(n,{includeDev:!0}),K=!1;for(let[n,a]of W.edges)if(isIntegrationWorkspace(n)){for(let S of a)if(H.has(S)){H.add(n),K=!0;break}}let q=N.some(n=>n.startsWith(`tests/e2e/`));return{global:!1,reason:`closure (${H.size} ws from ${F.size} seed(s))`,workspaces:[...H].sort(),runE2E:q,runIntegration:K,skipAll:!1}}function isIntegrationWorkspace(n){return n.startsWith(`@gjsify/integration-`)}function runGitDiff(n,a,S){let C=spawnSync(`git`,[`diff`,`--name-only`,`${a}...${S}`],{cwd:n,encoding:`utf8`});return C.status!==0&&(process.stderr.write(`gjsify affected: git diff failed (${C.status}): ${C.stderr.trim()}\n`),process.exit(2)),C.stdout.split(`
831
836
  `).filter(Boolean)}function readStdinLines(){return readFileSync(0,`utf8`).split(`
832
837
  `).map(n=>n.trim()).filter(Boolean)}function emit(n,a){if(n===`json`){process.stdout.write(JSON.stringify(a)+`
833
838
  `);return}if(n===`globs`){for(let n of a.workspaces)process.stdout.write(`${n}\n`);return}if(n===`github-actions`){let n=a.global?``:a.workspaces.map(n=>`--include '${escSingleQuote(n)}'`).join(` `),S=process.env.GITHUB_OUTPUT,C=[`skip-all=${a.skipAll}`,`global=${a.global}`,`include-args=${n}`,`run-integration=${a.runIntegration}`,`run-e2e=${a.runE2E}`,`reason=${a.reason}`];if(S){let{appendFileSync:n}=(Zc(),__toCommonJS(Jc));for(let a of C)n(S,`${a}\n`)}else for(let n of C)process.stdout.write(`${n}\n`);return}process.stdout.write(`affected:
834
- `),process.stdout.write(` reason: ${a.reason}\n`),process.stdout.write(` global: ${a.global}\n`),process.stdout.write(` skip-all: ${a.skipAll}\n`),process.stdout.write(` run-integration: ${a.runIntegration}\n`),process.stdout.write(` run-e2e: ${a.runE2E}\n`),process.stdout.write(` workspaces (${a.workspaces.length}):\n`);for(let n of a.workspaces)process.stdout.write(` - ${n}\n`)}function escSingleQuote(n){return n.replace(/'/g,`'\\''`)}var aP,oP,sP,cP,lP=__esmMin(()=>{sC(),Zc(),Ig(),Lg(),aP={command:`affected`,description:"Classify changed files against the workspace tree and print the set of workspaces affected (seeds + transitive dependents). Designed for CI to gate `gjsify foreach test --include …` so unrelated workspaces are not re-tested on every PR.",builder:n=>n.option(`base`,{description:"Diff base. Default: `origin/main`. Resolved via `git rev-parse`. On a PR set this to `${{ github.event.pull_request.base.sha }}`.",type:`string`}).option(`head`,{description:"Diff head. Default: `HEAD`.",type:`string`,default:`HEAD`}).option(`format`,{description:`Output shape.`,choices:[`text`,`json`,`globs`,`github-actions`],default:`text`}).option(`changed-from-stdin`,{description:"Skip `git diff`. Read a newline-separated list of repo-relative paths from stdin instead. Lets callers — tests, ad-hoc scripts — control the input exactly.",type:`boolean`,default:!1}).option(`cwd`,{description:"Workspace root. Default: discovered from `process.cwd()`.",type:`string`}),handler:async n=>{let a=n.cwd??findWorkspaceRoot(process.cwd())??process.cwd(),S=classifyAndExpand(discoverWorkspaces(a,{includeRoot:!0}),a,n[`changed-from-stdin`]?readStdinLines():runGitDiff(a,n.base??`origin/main`,n.head??`HEAD`));emit(n.format,S)}},oP=[/^packages\/infra\/workspace\//,/^packages\/infra\/cli\//,/^packages\/infra\/rolldown-plugin-gjsify\//,/^packages\/infra\/resolve-npm\//,/^packages\/gjs\/unit\//,/^gjsify-lock\.json$/,/^package\.json$/,/^tsconfig[^/]*\.json$/,/^\.github\/workflows\/main\.yml$/,/^scripts\/audit-runtimes\.mjs$/],sP=[/\.md$/i,/^refs\//,/^website\//,/^docs\//,/^\.github\/workflows\/(deploy-docs|commitlint|release|audit-runtimes|prebuilds)\.yml$/,/^\.githooks\//,/^flatpak\//,/^LICENSE/,/^\.gitignore$/,/^\.gjsify-[^/]*\.md$/,/^STATUS\.md$/,/^CHANGELOG\.md$/,/^AGENTS\.md$/,/^CLAUDE\.md$/,/^README\.md$/],cP=[/\.spec\.[mc]?[tj]sx?$/,/^tests\/(e2e|integration)\//]});function readPackage$2(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveAppId(n){return n?`org.gjsify.storybook.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Storybook`}function findStoryFiles(n){let a=[];if(!existsSync(n))return a;for(let S of readdirSync(n,{withFileTypes:!0})){if(S.name===`node_modules`||S.name.startsWith(`.`))continue;let C=ns(n,S.name);S.isDirectory()?a.push(...findStoryFiles(C)):/\.story\.(ts|js|mts|mjs)$/.test(S.name)&&a.push(C)}return a}function generateEntry$2(n,a,S){let C=n.map((n,a)=>`import * as m${a} from ${JSON.stringify(n)};`).join(`
839
+ `),process.stdout.write(` reason: ${a.reason}\n`),process.stdout.write(` global: ${a.global}\n`),process.stdout.write(` skip-all: ${a.skipAll}\n`),process.stdout.write(` run-integration: ${a.runIntegration}\n`),process.stdout.write(` run-e2e: ${a.runE2E}\n`),process.stdout.write(` workspaces (${a.workspaces.length}):\n`);for(let n of a.workspaces)process.stdout.write(` - ${n}\n`)}function escSingleQuote(n){return n.replace(/'/g,`'\\''`)}var fP,pP,mP,hP,gP=__esmMin(()=>{cC(),Zc(),Ig(),Lg(),fP={command:`affected`,description:"Classify changed files against the workspace tree and print the set of workspaces affected (seeds + transitive dependents). Designed for CI to gate `gjsify foreach test --include …` so unrelated workspaces are not re-tested on every PR.",builder:n=>n.option(`base`,{description:"Diff base. Default: `origin/main`. Resolved via `git rev-parse`. On a PR set this to `${{ github.event.pull_request.base.sha }}`.",type:`string`}).option(`head`,{description:"Diff head. Default: `HEAD`.",type:`string`,default:`HEAD`}).option(`format`,{description:`Output shape.`,choices:[`text`,`json`,`globs`,`github-actions`],default:`text`}).option(`changed-from-stdin`,{description:"Skip `git diff`. Read a newline-separated list of repo-relative paths from stdin instead. Lets callers — tests, ad-hoc scripts — control the input exactly.",type:`boolean`,default:!1}).option(`cwd`,{description:"Workspace root. Default: discovered from `process.cwd()`.",type:`string`}),handler:async n=>{let a=n.cwd??findWorkspaceRoot(process.cwd())??process.cwd(),S=classifyAndExpand(discoverWorkspaces(a,{includeRoot:!0}),a,n[`changed-from-stdin`]?readStdinLines():runGitDiff(a,n.base??`origin/main`,n.head??`HEAD`));emit(n.format,S)}},pP=[/^packages\/infra\/workspace\//,/^packages\/infra\/cli\//,/^packages\/infra\/rolldown-plugin-gjsify\//,/^packages\/infra\/resolve-npm\//,/^packages\/gjs\/unit\//,/^gjsify-lock\.json$/,/^package\.json$/,/^tsconfig[^/]*\.json$/,/^\.github\/workflows\/main\.yml$/,/^scripts\/audit-runtimes\.mjs$/],mP=[/\.md$/i,/^refs\//,/^website\//,/^docs\//,/^\.github\/workflows\/(deploy-docs|commitlint|release|audit-runtimes|prebuilds|node-gi)\.yml$/,/^\.githooks\//,/^packages\/node-gi\//,/^flatpak\//,/^LICENSE/,/^\.gitignore$/,/^\.gjsify-[^/]*\.md$/,/^STATUS\.md$/,/^CHANGELOG\.md$/,/^AGENTS\.md$/,/^CLAUDE\.md$/,/^README\.md$/],hP=[/\.spec\.[mc]?[tj]sx?$/,/^tests\/(e2e|integration)\//]});function readPackage$2(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveAppId(n){return n?`org.gjsify.storybook.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Storybook`}function findStoryFiles(n){let a=[];if(!existsSync(n))return a;for(let S of readdirSync(n,{withFileTypes:!0})){if(S.name===`node_modules`||S.name.startsWith(`.`))continue;let C=ns(n,S.name);S.isDirectory()?a.push(...findStoryFiles(C)):/\.story\.(ts|js|mts|mjs)$/.test(S.name)&&a.push(C)}return a}function generateEntry$2(n,a,S){let C=n.map((n,a)=>`import * as m${a} from ${JSON.stringify(n)};`).join(`
835
840
  `),N=n.map((n,a)=>`m${a}`).join(`, `),F=S?`\n title: ${JSON.stringify(S)},`:``;return`// Auto-generated by \`gjsify storybook\` — do not edit by hand.
836
841
  import { collectStoryModules, runStorybook } from '@gjsify/storybook';
837
842
  ${C}
@@ -840,7 +845,7 @@ await runStorybook({
840
845
  applicationId: ${JSON.stringify(a)},${F}
841
846
  stories: collectStoryModules([${N}]),
842
847
  });
843
- `}var uP,dP=__esmMin(()=>{Ae(),sC(),Zc(),ps(),__name$1(readPackage$2,`readPackage`),__name$1(generateEntry$2,`generateEntry`),uP={command:`storybook`,description:`Discover *.story.ts in this project and launch the GTK storybook browser.`,builder:n=>n.option(`stories`,{description:`Directory scanned recursively for *.story.ts (default: src, or gjsify.storybook.stories)`,type:`string`}).option(`app-id`,{description:`GApplication id (default: gjsify.storybook.applicationId or derived from the package name)`,type:`string`}).option(`title`,{description:`Window title`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto; use auto,dom for canvas/DOM stories)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-storybook)`,type:`string`}).option(`watch`,{description:`Rebuild and relaunch when a story file changes`,type:`boolean`,default:!1}).option(`build-only`,{description:`Build the bundle but do not launch it`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage$2(a),C=S.gjsify?.storybook??{},N=$o(a,n.stories??C.stories??`src`),F=n.appId??C.applicationId??deriveAppId(S.name),I=n.title??C.title,H=n.globals??C.globals??`auto`,W=ns(a,`node_modules`,`.cache`,`gjsify-storybook`);mkdirSync(W,{recursive:!0});let K=ns(W,`entry.ts`),q=n.out?$o(a,n.out):ns(W,`storybook.gjs.mjs`),writeEntry=()=>{let n=findStoryFiles(N).sort();return writeFileSync(K,generateEntry$2(n,F,I)),n.length},Y=writeEntry();Y===0&&(ke.error(`No *.story.ts files found under ${rs(a,N)||N}`),process.exit(1)),ke.log(`Found ${Y} story file(s) under ${rs(a,N)||`.`}`);let{runCli:X}=await Promise.resolve().then(()=>(bP(),yP)),buildBundle=()=>X([`build`,K,`--app`,`gjs`,`--globals`,H,`--outfile`,q]);if(!n.watch){if(await buildBundle(),n.buildOnly)return;let{runGjsBundle:a}=await Promise.resolve().then(()=>(ZA(),XA));await a(q,[],{exitOnSuccess:!0});return}let{watch:te}=await Promise.resolve().then(()=>(Zc(),Jc)),ne=null,re=!1,ie=!1,rebuild=async()=>{if(re){ie=!0;return}re=!0;try{writeEntry(),ne&&=(ne.kill(),null),await buildBundle(),n.buildOnly||(ne=spawn(`gjs`,[`-m`,q],{stdio:`inherit`}))}catch(n){ke.error(`[storybook] rebuild failed: ${n.message}`)}finally{re=!1,ie&&(ie=!1,rebuild())}};await rebuild();let ae=null;te(N,{recursive:!0},()=>{ae&&clearTimeout(ae),ae=setTimeout(()=>void rebuild(),200)}),ke.log(`[storybook] watching ${rs(a,N)||`.`} — press Ctrl+C to stop`)}}});function readPackage$1(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveStorybookAppId(n){return n?`org.gjsify.storybook.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Storybook`}function deriveBrowserAppId$1(n){return n?`org.gjsify.browser.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Browser`}function hasDep(n,a){return!!(n.dependencies?.[a]||n.devDependencies?.[a])}function generateEntry$1(n,a,S,C){return n===`storybook`?`// Auto-generated by \`gjsify debug\` — do not edit by hand.
848
+ `}var _P,vP=__esmMin(()=>{Ae(),cC(),Zc(),ps(),__name$1(readPackage$2,`readPackage`),__name$1(generateEntry$2,`generateEntry`),_P={command:`storybook`,description:`Discover *.story.ts in this project and launch the GTK storybook browser.`,builder:n=>n.option(`stories`,{description:`Directory scanned recursively for *.story.ts (default: src, or gjsify.storybook.stories)`,type:`string`}).option(`app-id`,{description:`GApplication id (default: gjsify.storybook.applicationId or derived from the package name)`,type:`string`}).option(`title`,{description:`Window title`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto; use auto,dom for canvas/DOM stories)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-storybook)`,type:`string`}).option(`watch`,{description:`Rebuild and relaunch when a story file changes`,type:`boolean`,default:!1}).option(`build-only`,{description:`Build the bundle but do not launch it`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage$2(a),C=S.gjsify?.storybook??{},N=$o(a,n.stories??C.stories??`src`),F=n.appId??C.applicationId??deriveAppId(S.name),I=n.title??C.title,H=n.globals??C.globals??`auto`,W=ns(a,`node_modules`,`.cache`,`gjsify-storybook`);mkdirSync(W,{recursive:!0});let K=ns(W,`entry.ts`),q=n.out?$o(a,n.out):ns(W,`storybook.gjs.mjs`),writeEntry=()=>{let n=findStoryFiles(N).sort();return writeFileSync(K,generateEntry$2(n,F,I)),n.length},Y=writeEntry();Y===0&&(ke.error(`No *.story.ts files found under ${rs(a,N)||N}`),process.exit(1)),ke.log(`Found ${Y} story file(s) under ${rs(a,N)||`.`}`);let{runCli:X}=await Promise.resolve().then(()=>(DP(),EP)),buildBundle=()=>X([`build`,K,`--app`,`gjs`,`--globals`,H,`--outfile`,q]);if(!n.watch){if(await buildBundle(),n.buildOnly)return;let{runGjsBundle:a}=await Promise.resolve().then(()=>(rj(),nj));await a(q,[],{exitOnSuccess:!0});return}let{watch:te}=await Promise.resolve().then(()=>(Zc(),Jc)),ne=null,re=!1,ie=!1,rebuild=async()=>{if(re){ie=!0;return}re=!0;try{writeEntry(),ne&&=(ne.kill(),null),await buildBundle(),n.buildOnly||(ne=spawn(`gjs`,[`-m`,q],{stdio:`inherit`}))}catch(n){ke.error(`[storybook] rebuild failed: ${n.message}`)}finally{re=!1,ie&&(ie=!1,rebuild())}};await rebuild();let ae=null;te(N,{recursive:!0},()=>{ae&&clearTimeout(ae),ae=setTimeout(()=>void rebuild(),200)}),ke.log(`[storybook] watching ${rs(a,N)||`.`} — press Ctrl+C to stop`)}}});function readPackage$1(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveStorybookAppId(n){return n?`org.gjsify.storybook.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Storybook`}function deriveBrowserAppId$1(n){return n?`org.gjsify.browser.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Browser`}function hasDep(n,a){return!!(n.dependencies?.[a]||n.devDependencies?.[a])}function generateEntry$1(n,a,S,C){return n===`storybook`?`// Auto-generated by \`gjsify debug\` — do not edit by hand.
844
849
  import { runDevtoolsMcp, storybookProfile } from '@gjsify/devtools-mcp';
845
850
 
846
851
  await runDevtoolsMcp(storybookProfile(${JSON.stringify(a)}));
@@ -860,10 +865,10 @@ await runDevtoolsMcp({
860
865
  version: ${JSON.stringify(C)},
861
866
  busNameBase: ${JSON.stringify(a)},
862
867
  });
863
- `}var fP,pP=__esmMin(()=>{Ae(),Zc(),ps(),__name$1(readPackage$1,`readPackage`),__name$1(deriveBrowserAppId$1,`deriveBrowserAppId`),__name$1(generateEntry$1,`generateEntry`),fP={command:`debug`,description:`Launch an MCP bridge for a devtools-enabled gjsify app (org.gjsify.Devtools).`,builder:n=>n.option(`bus-name`,{description:`App DBus base name (default: gjsify.devtools.busNameBase, or the storybook app-id)`,type:`string`}).option(`profile`,{description:`Tool profile: generic | storybook | browser | cdp (default: auto — storybook if @gjsify/storybook is a dep, browser if @gjsify/devtools-browser is, cdp if @gjsify/devtools-cdp is, else generic)`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-debug)`,type:`string`}).option(`build-only`,{description:`Build the bridge bundle but do not launch it (for a .mcp.json command pointing at the bundle)`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage$1(a),C=S.gjsify?.devtools??{},N=n.profile??C.profile??(hasDep(S,`@gjsify/storybook`)?`storybook`:hasDep(S,`@gjsify/devtools-browser`)?`browser`:hasDep(S,`@gjsify/devtools-cdp`)?`cdp`:`generic`),F=n.busName??C.busNameBase??(N===`storybook`?S.gjsify?.storybook?.applicationId??deriveStorybookAppId(S.name):N===`browser`||N===`cdp`?S.gjsify?.browse?.applicationId??deriveBrowserAppId$1(S.name):void 0);F||(ke.error(`gjsify debug: no bus name — set package.json#gjsify.devtools.busNameBase or pass --bus-name <org.example.App>`),process.exit(1));let I=n.globals??C.globals??`auto`,H=S.name?`${S.name}-devtools`:`gjsify-devtools`,W=ns(a,`node_modules`,`.cache`,`gjsify-debug`);mkdirSync(W,{recursive:!0});let K=ns(W,`entry.ts`),q=n.out?$o(a,n.out):ns(W,`bridge.gjs.mjs`);writeFileSync(K,generateEntry$1(N,F,H,`0.8.0`)),ke.error(`[gjsify debug] profile=${N} bus=${F}`);let{runCli:Y}=await Promise.resolve().then(()=>(bP(),yP));if(await Y([`build`,K,`--app`,`gjs`,`--shebang`,`--globals`,I,`--outfile`,q]),n.buildOnly){ke.error(`[gjsify debug] built ${q}`);return}let{runGjsBundle:X}=await Promise.resolve().then(()=>(ZA(),XA));await X(q,[],{exitOnSuccess:!0})}}});function readPackage(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveBrowserAppId(n){return n?`org.gjsify.browser.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Browser`}function generateEntry(n,a,S,C,N){let F=S?`\n title: ${JSON.stringify(S)},`:``,I=a?`\n homeUrl: ${JSON.stringify(a)},`:``,H=C===void 0?``:`\n inspectorPort: ${C},`,W=N?`\n screenshot: ${JSON.stringify(N)},`:``;return`// Auto-generated by \`gjsify browse\` — do not edit by hand.
868
+ `}var yP,bP=__esmMin(()=>{Ae(),Zc(),ps(),__name$1(readPackage$1,`readPackage`),__name$1(deriveBrowserAppId$1,`deriveBrowserAppId`),__name$1(generateEntry$1,`generateEntry`),yP={command:`debug`,description:`Launch an MCP bridge for a devtools-enabled gjsify app (org.gjsify.Devtools).`,builder:n=>n.option(`bus-name`,{description:`App DBus base name (default: gjsify.devtools.busNameBase, or the storybook app-id)`,type:`string`}).option(`profile`,{description:`Tool profile: generic | storybook | browser | cdp (default: auto — storybook if @gjsify/storybook is a dep, browser if @gjsify/devtools-browser is, cdp if @gjsify/devtools-cdp is, else generic)`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-debug)`,type:`string`}).option(`build-only`,{description:`Build the bridge bundle but do not launch it (for a .mcp.json command pointing at the bundle)`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage$1(a),C=S.gjsify?.devtools??{},N=n.profile??C.profile??(hasDep(S,`@gjsify/storybook`)?`storybook`:hasDep(S,`@gjsify/devtools-browser`)?`browser`:hasDep(S,`@gjsify/devtools-cdp`)?`cdp`:`generic`),F=n.busName??C.busNameBase??(N===`storybook`?S.gjsify?.storybook?.applicationId??deriveStorybookAppId(S.name):N===`browser`||N===`cdp`?S.gjsify?.browse?.applicationId??deriveBrowserAppId$1(S.name):void 0);F||(ke.error(`gjsify debug: no bus name — set package.json#gjsify.devtools.busNameBase or pass --bus-name <org.example.App>`),process.exit(1));let I=n.globals??C.globals??`auto`,H=S.name?`${S.name}-devtools`:`gjsify-devtools`,W=ns(a,`node_modules`,`.cache`,`gjsify-debug`);mkdirSync(W,{recursive:!0});let K=ns(W,`entry.ts`),q=n.out?$o(a,n.out):ns(W,`bridge.gjs.mjs`);writeFileSync(K,generateEntry$1(N,F,H,`0.8.0`)),ke.error(`[gjsify debug] profile=${N} bus=${F}`);let{runCli:Y}=await Promise.resolve().then(()=>(DP(),EP));if(await Y([`build`,K,`--app`,`gjs`,`--shebang`,`--globals`,I,`--outfile`,q]),n.buildOnly){ke.error(`[gjsify debug] built ${q}`);return}let{runGjsBundle:X}=await Promise.resolve().then(()=>(rj(),nj));await X(q,[],{exitOnSuccess:!0})}}});function readPackage(n){try{return JSON.parse(readFileSync(ns(n,`package.json`),`utf8`))}catch{return{}}}function deriveBrowserAppId(n){return n?`org.gjsify.browser.${n.replace(/^@/,``).replace(/[^a-zA-Z0-9]+/g,`.`).replace(/^\.+|\.+$/g,``)}`:`org.gjsify.Browser`}function generateEntry(n,a,S,C,N){let F=S?`\n title: ${JSON.stringify(S)},`:``,I=a?`\n homeUrl: ${JSON.stringify(a)},`:``,H=C===void 0?``:`\n inspectorPort: ${C},`,W=N?`\n screenshot: ${JSON.stringify(N)},`:``;return`// Auto-generated by \`gjsify browse\` — do not edit by hand.
864
869
  import { runBrowserDevtools } from '@gjsify/devtools-browser';
865
870
 
866
871
  await runBrowserDevtools({
867
872
  applicationId: ${JSON.stringify(n)},${F}${I}${H}${W}
868
873
  });
869
- `}var mP,hP=__esmMin(()=>{Ae(),Zc(),ps(),mP={command:`browse [url]`,description:`Launch the Adwaita web browser, optionally pointed at a URL.`,builder:n=>n.positional(`url`,{description:`Initial URL to load (default: page:welcome)`,type:`string`}).option(`app-id`,{description:`GApplication id (default: gjsify.browse.applicationId or derived from the package name)`,type:`string`}).option(`title`,{description:`Window title`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto,dom — WebKit/iframe need DOM globals)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-browse)`,type:`string`}).option(`devtools`,{description:`Enable the MCP devtools control plane (sets GJSIFY_DEVTOOLS=1)`,type:`boolean`,default:!1}).option(`inspector-port`,{description:`Enable WebKit's remote inspector protocol on this port + the Cdp* methods (implies --devtools)`,type:`number`}).option(`screenshot`,{description:`One-shot: load the URL, capture a WebKit screenshot to this path, and exit (CI / quick captures).`,type:`string`}).option(`build-only`,{description:`Build the bundle but do not launch it`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage(a),C=S.gjsify?.browse??{},N=n.appId??C.applicationId??deriveBrowserAppId(S.name),F=n.title??C.title,I=n.globals??C.globals??`auto,dom`,H=n.url,W=n.inspectorPort??C.inspectorPort,K=n.devtools||W!==void 0,q=ns(a,`node_modules`,`.cache`,`gjsify-browse`);mkdirSync(q,{recursive:!0});let Y=ns(q,`entry.ts`),X=n.out?$o(a,n.out):ns(q,`browse.gjs.mjs`);writeFileSync(Y,generateEntry(N,H,F,W,n.screenshot?$o(a,n.screenshot):void 0)),ke.log(`[gjsify browse] app=${N}${H?` url=${H}`:``}${K?` devtools=1`:``}${W===void 0?``:` inspector-port=${W}`}`);let{runCli:te}=await Promise.resolve().then(()=>(bP(),yP));if(await te([`build`,Y,`--app`,`gjs`,`--globals`,I,`--outfile`,X]),n.buildOnly){ke.log(`[gjsify browse] built ${X}`);return}K&&(process.env.GJSIFY_DEVTOOLS=`1`),W!==void 0&&(process.env.WEBKIT_INSPECTOR_HTTP_SERVER=`127.0.0.1:${W}`);let{runGjsBundle:ne}=await Promise.resolve().then(()=>(ZA(),XA));await ne(X,[],{exitOnSuccess:!0})}}}),gP=__esmMin(()=>{JA(),$A(),nj(),ij(),dj(),mj(),_j(),Ej(),kj(),Mj(),Fj(),dM(),qM(),QM(),rN(),aN(),lN(),gN(),vN(),TN(),DN(),jN(),PN(),LN(),zN(),VN(),UN(),GN(),ZN(),nP(),iP(),lP(),dP(),pP(),hP()});function ensureGjsifyShimOnPath(){if(_P||!isGjs())return;_P=!0;let n=process.env.GJSIFY_SHIM_DIR;if(n&&existsSync(ns(n,`gjsify`))){(process.env.PATH??``).split(ds).includes(n)||(process.env.PATH=n+ds+(process.env.PATH??``));return}let a=fileURLToPath(import.meta.url),S=process.env.GJS_CONSOLE||`gjs`,C=mkdtempSync(ns(tmpdir(),`gjsify-shim-`)),N=ns(C,`gjsify`);writeFileSync(N,`#!/bin/sh\nexec "${S}" -m "${a}" "$@"\n`,{mode:493}),chmodSync(N,493),process.env.GJSIFY_SHIM_DIR=C,process.env.PATH=C+ds+(process.env.PATH??``)}var _P,vP=__esmMin(()=>{Zc(),Wp(),ps(),mn(),zg(),_P=!1}),yP=__exportAll$3({runCli:()=>runCli});function runtimeLabel(){try{let n=globalThis.imports?.system;if(n?.version!==void 0){let a=Number(n.version);return`GJS ${Math.floor(a/1e4)}.${Math.floor(a%1e4/100)}.${a%100} (SpiderMonkey)`}}catch{}return isNode()?`Node.js ${process.version}`:`unknown runtime`}function readBundleVersion(){try{let n=as(fileURLToPath(import.meta.url)),a=JSON.parse(readFileSync(ns(n,`..`,`package.json`),`utf8`));return typeof a.version==`string`?a.version:`unknown`}catch{return`unknown`}}async function runCli(n){ensureGjsifyShimOnPath();let a=Zd(n);await a.scriptName($d).version(readBundleVersion()).strict().wrap(a.terminalWidth()).command(Tj.command,Tj.description,Tj.builder,Tj.handler).command(ZM.command,ZM.description,ZM.builder,ZM.handler).command(qA.command,qA.description,qA.builder,qA.handler).command(QA.command,QA.description,QA.builder,QA.handler).command(tj.command,tj.description,tj.builder,tj.handler).command(KM.command,KM.description,KM.builder,KM.handler).command(rj.command,rj.description,rj.builder,rj.handler).command(uj.command,uj.description,uj.builder,uj.handler).command(pj.command,pj.description,pj.builder,pj.handler).command(gj.command,gj.description,gj.builder,gj.handler).command(Oj.command,Oj.description,Oj.builder,Oj.handler).command(jj.command,jj.description,jj.builder,jj.handler).command(Pj.command,Pj.description,Pj.builder,Pj.handler).command(uM.command,uM.description,uM.builder,uM.handler).command(nN.command,nN.description,nN.builder,nN.handler).command(iN.command,iN.description,iN.builder,iN.handler).command(sN.command,sN.description,sN.builder,sN.handler).command(hN.command,hN.description,hN.builder,hN.handler).command(_N.command,_N.description,_N.builder,_N.handler).command(wN.command,wN.description,wN.builder,wN.handler).command(EN.command,EN.description,EN.builder,EN.handler).command(AN.command,AN.description,AN.builder,AN.handler).command(NN.command,NN.description,NN.builder,NN.handler).command(IN.command,IN.description,IN.builder,IN.handler).command(RN.command,RN.description,RN.builder,RN.handler).command(JN.command,JN.description,JN.builder,JN.handler).command(BN.command,BN.description,BN.builder,BN.handler).command(HN.command,HN.description,HN.builder,HN.handler).command(WN.command,WN.description,WN.builder,WN.handler).command(tP.command,tP.description,tP.builder,tP.handler).command(rP.command,rP.description,rP.builder,rP.handler).command(aP.command,aP.description,aP.builder,aP.handler).command(uP.command,uP.description,uP.builder,uP.handler).command(fP.command,fP.description,fP.builder,fP.handler).command(mP.command,mP.description,mP.builder,mP.handler).demandCommand(1).epilogue(`Running on ${runtimeLabel()}`).help().parseAsync()}var bP=__esmMin(()=>{Zc(),ps(),mn(),Qd(),gP(),ef(),zg(),vP()});Ae(),bP();try{await runCli(hideBin(process.argv))}catch(n){ke.error(n instanceof Error?n.message:String(n)),process.env.GJSIFY_DEBUG&&n instanceof Error&&n.stack&&ke.error(n.stack),process.exitCode=1,globalThis.imports?.system?.exit?.(1)}
874
+ `}var xP,SP=__esmMin(()=>{Ae(),Zc(),ps(),xP={command:`browse [url]`,description:`Launch the Adwaita web browser, optionally pointed at a URL.`,builder:n=>n.positional(`url`,{description:`Initial URL to load (default: page:welcome)`,type:`string`}).option(`app-id`,{description:`GApplication id (default: gjsify.browse.applicationId or derived from the package name)`,type:`string`}).option(`title`,{description:`Window title`,type:`string`}).option(`globals`,{description:"Value for `gjsify build --globals` (default: auto,dom — WebKit/iframe need DOM globals)",type:`string`}).option(`out`,{description:`Output bundle path (default: node_modules/.cache/gjsify-browse)`,type:`string`}).option(`devtools`,{description:`Enable the MCP devtools control plane (sets GJSIFY_DEVTOOLS=1)`,type:`boolean`,default:!1}).option(`inspector-port`,{description:`Enable WebKit's remote inspector protocol on this port + the Cdp* methods (implies --devtools)`,type:`number`}).option(`screenshot`,{description:`One-shot: load the URL, capture a WebKit screenshot to this path, and exit (CI / quick captures).`,type:`string`}).option(`build-only`,{description:`Build the bundle but do not launch it`,type:`boolean`,default:!1}),handler:async n=>{let a=process.cwd(),S=readPackage(a),C=S.gjsify?.browse??{},N=n.appId??C.applicationId??deriveBrowserAppId(S.name),F=n.title??C.title,I=n.globals??C.globals??`auto,dom`,H=n.url,W=n.inspectorPort??C.inspectorPort,K=n.devtools||W!==void 0,q=ns(a,`node_modules`,`.cache`,`gjsify-browse`);mkdirSync(q,{recursive:!0});let Y=ns(q,`entry.ts`),X=n.out?$o(a,n.out):ns(q,`browse.gjs.mjs`);writeFileSync(Y,generateEntry(N,H,F,W,n.screenshot?$o(a,n.screenshot):void 0)),ke.log(`[gjsify browse] app=${N}${H?` url=${H}`:``}${K?` devtools=1`:``}${W===void 0?``:` inspector-port=${W}`}`);let{runCli:te}=await Promise.resolve().then(()=>(DP(),EP));if(await te([`build`,Y,`--app`,`gjs`,`--globals`,I,`--outfile`,X]),n.buildOnly){ke.log(`[gjsify browse] built ${X}`);return}K&&(process.env.GJSIFY_DEVTOOLS=`1`),W!==void 0&&(process.env.WEBKIT_INSPECTOR_HTTP_SERVER=`127.0.0.1:${W}`);let{runGjsBundle:ne}=await Promise.resolve().then(()=>(rj(),nj));await ne(X,[],{exitOnSuccess:!0})}}}),CP=__esmMin(()=>{ej(),aj(),cj(),uj(),_j(),bj(),Cj(),Mj(),Fj(),Rj(),Vj(),_M(),eN(),aN(),uN(),fN(),gN(),CN(),TN(),MN(),PN(),RN(),VN(),WN(),KN(),JN(),XN(),QN(),iP(),lP(),dP(),gP(),vP(),bP(),SP()});function ensureGjsifyShimOnPath(){if(wP||!isGjs())return;wP=!0;let n=process.env.GJSIFY_SHIM_DIR;if(n&&existsSync(ns(n,`gjsify`))){(process.env.PATH??``).split(ds).includes(n)||(process.env.PATH=n+ds+(process.env.PATH??``));return}let a=fileURLToPath(import.meta.url),S=process.env.GJS_CONSOLE||`gjs`,C=mkdtempSync(ns(tmpdir(),`gjsify-shim-`)),N=ns(C,`gjsify`);writeFileSync(N,`#!/bin/sh\nexec "${S}" -m "${a}" "$@"\n`,{mode:493}),chmodSync(N,493),process.env.GJSIFY_SHIM_DIR=C,process.env.PATH=C+ds+(process.env.PATH??``)}var wP,TP=__esmMin(()=>{Zc(),Wp(),ps(),mn(),zg(),wP=!1}),EP=__exportAll$3({runCli:()=>runCli});function runtimeLabel(){try{let n=globalThis.imports?.system;if(n?.version!==void 0){let a=Number(n.version);return`GJS ${Math.floor(a/1e4)}.${Math.floor(a%1e4/100)}.${a%100} (SpiderMonkey)`}}catch{}return isNode()?`Node.js ${process.version}`:`unknown runtime`}function readBundleVersion(){try{let n=as(fileURLToPath(import.meta.url)),a=JSON.parse(readFileSync(ns(n,`..`,`package.json`),`utf8`));return typeof a.version==`string`?a.version:`unknown`}catch{return`unknown`}}async function runCli(n){ensureGjsifyShimOnPath();let a=Zd(n);await a.scriptName($d).version(readBundleVersion()).strict().wrap(a.terminalWidth()).command(jj.command,jj.description,jj.builder,jj.handler).command(iN.command,iN.description,iN.builder,iN.handler).command($A.command,$A.description,$A.builder,$A.handler).command(ij.command,ij.description,ij.builder,ij.handler).command(sj.command,sj.description,sj.builder,sj.handler).command($M.command,$M.description,$M.builder,$M.handler).command(lj.command,lj.description,lj.builder,lj.handler).command(gj.command,gj.description,gj.builder,gj.handler).command(yj.command,yj.description,yj.builder,yj.handler).command(Sj.command,Sj.description,Sj.builder,Sj.handler).command(Pj.command,Pj.description,Pj.builder,Pj.handler).command(Lj.command,Lj.description,Lj.builder,Lj.handler).command(Bj.command,Bj.description,Bj.builder,Bj.handler).command(gM.command,gM.description,gM.builder,gM.handler).command(lN.command,lN.description,lN.builder,lN.handler).command(dN.command,dN.description,dN.builder,dN.handler).command(mN.command,mN.description,mN.builder,mN.handler).command(SN.command,SN.description,SN.builder,SN.handler).command(wN.command,wN.description,wN.builder,wN.handler).command(jN.command,jN.description,jN.builder,jN.handler).command(NN.command,NN.description,NN.builder,NN.handler).command(LN.command,LN.description,LN.builder,LN.handler).command(BN.command,BN.description,BN.builder,BN.handler).command(UN.command,UN.description,UN.builder,UN.handler).command(GN.command,GN.description,GN.builder,GN.handler).command(tP.command,tP.description,tP.builder,tP.handler).command(qN.command,qN.description,qN.builder,qN.handler).command(YN.command,YN.description,YN.builder,YN.handler).command(ZN.command,ZN.description,ZN.builder,ZN.handler).command(cP.command,cP.description,cP.builder,cP.handler).command(uP.command,uP.description,uP.builder,uP.handler).command(fP.command,fP.description,fP.builder,fP.handler).command(_P.command,_P.description,_P.builder,_P.handler).command(yP.command,yP.description,yP.builder,yP.handler).command(xP.command,xP.description,xP.builder,xP.handler).demandCommand(1).epilogue(`Running on ${runtimeLabel()}`).help().parseAsync()}var DP=__esmMin(()=>{Zc(),ps(),mn(),Qd(),CP(),ef(),zg(),TP()});Ae(),DP();try{await runCli(hideBin(process.argv))}catch(n){ke.error(n instanceof Error?n.message:String(n)),process.env.GJSIFY_DEBUG&&n instanceof Error&&n.stack&&ke.error(n.stack),process.exitCode=1,globalThis.imports?.system?.exit?.(1)}