ezllm 0.0.31 → 0.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/cli.js +27 -31
  2. package/dist/daemon.js +15 -19
  3. package/dist/server.js +94 -82
  4. package/dist/web-ui/assets/{DashboardView-upcGoFpc.js → DashboardView-G5UgfzzO.js} +1 -1
  5. package/dist/web-ui/assets/{LayoutView-CruZSfjc.css → LayoutView-BLjO8ed9.css} +1 -1
  6. package/dist/web-ui/assets/{LayoutView-DtXN7Xi_.js → LayoutView-CwDRqFye.js} +1 -1
  7. package/dist/web-ui/assets/{LoginView-CUe0fqRV.js → LoginView-CdCs2Ukh.js} +1 -1
  8. package/dist/web-ui/assets/LogsView-CAszK0sY.js +5 -0
  9. package/dist/web-ui/assets/LogsView-D7FTeaYQ.css +1 -0
  10. package/dist/web-ui/assets/{ManagedServicesView-BEoMqaxE.js → ManagedServicesView-C7L56_Tq.js} +4 -4
  11. package/dist/web-ui/assets/{ManagedServicesView-Bi180Qjf.css → ManagedServicesView-D29NyvP6.css} +1 -1
  12. package/dist/web-ui/assets/{ProvidersView-5-nXXTf1.css → ProvidersView-DIlimMSR.css} +1 -1
  13. package/dist/web-ui/assets/{ProvidersView-BaddfTOz.js → ProvidersView-Du8ZqQ7C.js} +3 -3
  14. package/dist/web-ui/assets/{ServiceStatusView-RjFNR9tF.js → ServiceStatusView-BTa1U_mq.js} +1 -1
  15. package/dist/web-ui/assets/{SettingsView-CQ7lvwL9.js → SettingsView-C-lQq_Fn.js} +1 -1
  16. package/dist/web-ui/assets/SetupView-BLl-ZFOA.css +1 -0
  17. package/dist/web-ui/assets/SetupView-Oop8FC0p.js +1 -0
  18. package/dist/web-ui/assets/{config-MgmZ-7E2.js → config-a3WGd94V.js} +1 -1
  19. package/dist/web-ui/assets/format-BwEbbkjl.js +1 -0
  20. package/dist/web-ui/assets/index-DPq2QylL.js +49 -0
  21. package/dist/web-ui/assets/message-C5ZFfxcO.js +2 -0
  22. package/dist/web-ui/assets/{providers-D_WDYn62.js → providers-CmBRlVkF.js} +1 -1
  23. package/dist/web-ui/assets/router-DvvoEPD-.js +6 -0
  24. package/dist/web-ui/assets/{useCopyToast-CO6fr7kf.js → useCopyToast-BNDnj8jd.js} +1 -1
  25. package/dist/web-ui/assets/{useManagerApi-CCQ0LO2A.js → useManagerApi-CqT4wuBt.js} +1 -1
  26. package/dist/web-ui/assets/{useQuickRangeFilter-DOA0bSoV.js → useQuickRangeFilter-DPujpXE5.js} +1 -1
  27. package/dist/web-ui/assets/useToast-DeKoozwQ.js +1 -0
  28. package/dist/web-ui/index.html +3 -3
  29. package/package.json +2 -2
  30. package/dist/web-ui/assets/LogsView-CHp-pVu3.css +0 -1
  31. package/dist/web-ui/assets/LogsView-D31Tc6MJ.js +0 -5
  32. package/dist/web-ui/assets/SetupView-BDyHouba.css +0 -1
  33. package/dist/web-ui/assets/SetupView-Cm7iSrjI.js +0 -1
  34. package/dist/web-ui/assets/format-lzQY461O.js +0 -1
  35. package/dist/web-ui/assets/index-BCZqYZB7.js +0 -49
  36. package/dist/web-ui/assets/message-B4CpctQv.js +0 -2
  37. package/dist/web-ui/assets/router-B8DYHNvS.js +0 -6
  38. package/dist/web-ui/assets/useToast-C7Ey6ket.js +0 -1
package/dist/cli.js CHANGED
@@ -1,42 +1,38 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as e}from"node:module";import{EventEmitter as t}from"events";import{chmodSync as n,copyFileSync as r,cpSync as i,createWriteStream as a,existsSync as o,mkdirSync as s,mkdtempSync as c,openSync as l,readFileSync as u,readdirSync as d,renameSync as f,rmSync as p,statSync as m,writeFileSync as h}from"node:fs";import{homedir as g,platform as _,tmpdir as v}from"node:os";import{basename as y,delimiter as b,dirname as x,join as S,parse as C,resolve as w,win32 as T}from"node:path";import{cwd as E}from"node:process";import{fileURLToPath as D}from"node:url";import{createHash as O,randomBytes as k}from"node:crypto";import{execFileSync as A,spawn as j,spawnSync as M}from"node:child_process";import{pipeline as N}from"node:stream/promises";import{connect as P,createServer as F}from"node:net";var I=Object.create,L=Object.defineProperty,R=Object.getOwnPropertyDescriptor,z=Object.getOwnPropertyNames,B=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty,H=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),ee=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=z(t),a=0,o=i.length,s;a<o;a++)s=i[a],!V.call(e,s)&&s!==n&&L(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=R(t,s))||r.enumerable});return e},te=(e,t,n)=>(n=e==null?{}:I(B(e)),ee(t||!e||!e.__esModule||!V.call(e,`default`)?L(n,`default`,{value:e,enumerable:!0}):n,e)),U=e(import.meta.url);function ne(e){return e==null?[]:Array.isArray(e)?e:[e]}function re(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function ie(e,t){e||=[],t||={};var n,r,i,a,o,s={_:[]},c=0,l=0,u=0,d=e.length;let f=t.alias!==void 0,p=t.unknown!==void 0,m=t.default!==void 0;if(t.alias=t.alias||{},t.string=ne(t.string),t.boolean=ne(t.boolean),f)for(n in t.alias)for(r=t.alias[n]=ne(t.alias[n]),c=0;c<r.length;c++)(t.alias[r[c]]=r.concat(n)).splice(c,1);for(c=t.boolean.length;c-->0;)for(r=t.alias[t.boolean[c]]||[],l=r.length;l-->0;)t.boolean.push(r[l]);for(c=t.string.length;c-->0;)for(r=t.alias[t.string[c]]||[],l=r.length;l-->0;)t.string.push(r[l]);if(m){for(n in t.default)if(a=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],t[a]!==void 0)for(t[a].push(n),c=0;c<r.length;c++)t[a].push(r[c])}let h=p?Object.keys(t.alias):[];for(c=0;c<d;c++){if(i=e[c],i===`--`){s._=s._.concat(e.slice(++c));break}for(l=0;l<i.length&&i.charCodeAt(l)===45;l++);if(l===0)s._.push(i);else if(i.substring(l,l+3)===`no-`){if(a=i.substring(l+3),p&&!~h.indexOf(a))return t.unknown(i);s[a]=!1}else{for(u=l+1;u<i.length&&i.charCodeAt(u)!==61;u++);for(a=i.substring(l,u),o=i.substring(++u)||c+1===d||(``+e[c+1]).charCodeAt(0)===45||e[++c],r=l===2?[a]:a,u=0;u<r.length;u++){if(a=r[u],p&&!~h.indexOf(a))return t.unknown(`-`.repeat(l)+a);re(s,a,u+1<r.length||o,t)}}}if(m)for(n in t.default)s[n]===void 0&&(s[n]=t.default[n]);if(f)for(n in s)for(r=t.alias[n]||[];r.length>0;)s[r.shift()]=s[n];return s}var ae=e=>e.replace(/[<[].+/,``).trim(),oe=e=>{let t=/<([^>]+)>/g,n=/\[([^\]]+)\]/g,r=[],i=e=>{let t=!1,n=e[1];return n.startsWith(`...`)&&(n=n.slice(3),t=!0),{required:e[0].startsWith(`<`),value:n,variadic:t}},a;for(;a=t.exec(e);)r.push(i(a));let o;for(;o=n.exec(e);)r.push(i(o));return r},se=e=>{let t={alias:{},boolean:[]};for(let[n,r]of e.entries())r.names.length>1&&(t.alias[r.names[0]]=r.names.slice(1)),r.isBoolean&&(r.negated&&e.some((e,t)=>t!==n&&e.names.some(e=>r.names.includes(e))&&typeof e.required==`boolean`)||t.boolean.push(r.names[0]));return t},ce=e=>e.sort((e,t)=>e.length>t.length?-1:1)[0],le=(e,t)=>e.length>=t?e:`${e}${` `.repeat(t-e.length)}`,W=e=>e.replace(/([a-z])-([a-z])/g,(e,t,n)=>t+n.toUpperCase()),ue=(e,t,n)=>{let r=0,i=t.length,a=e,o;for(;r<i;++r)o=a[t[r]],a=a[t[r]]=r===i-1?n:o??(~t[r+1].indexOf(`.`)||!(+t[r+1]>-1)?{}:[])},de=(e,t)=>{for(let n of Object.keys(t)){let r=t[n];r.shouldTransform&&(e[n]=Array.prototype.concat.call([],e[n]),typeof r.transformFunction==`function`&&(e[n]=e[n].map(r.transformFunction)))}},fe=e=>{let t=/([^\\\/]+)$/.exec(e);return t?t[1]:``},pe=e=>e.split(`.`).map((e,t)=>t===0?W(e):e).join(`.`),me=class extends Error{constructor(e){super(e),this.name=this.constructor.name,typeof Error.captureStackTrace==`function`?Error.captureStackTrace(this,this.constructor):this.stack=Error(e).stack}},he=class{constructor(e,t,n){this.rawName=e,this.description=t,this.config=Object.assign({},n),e=e.replace(/\.\*/g,``),this.negated=!1,this.names=ae(e).split(`,`).map(e=>{let t=e.trim().replace(/^-{1,2}/,``);return t.startsWith(`no-`)&&(this.negated=!0,t=t.replace(/^no-/,``)),pe(t)}).sort((e,t)=>e.length>t.length?1:-1),this.name=this.names[this.names.length-1],this.negated&&this.config.default==null&&(this.config.default=!0),e.includes(`<`)?this.required=!0:e.includes(`[`)?this.required=!1:this.isBoolean=!0}},ge=process.argv,_e=`${process.platform}-${process.arch} node-${process.version}`,ve=class{constructor(e,t,n={},r){this.rawName=e,this.description=t,this.config=n,this.cli=r,this.options=[],this.aliasNames=[],this.name=ae(e),this.args=oe(e),this.examples=[]}usage(e){return this.usageText=e,this}allowUnknownOptions(){return this.config.allowUnknownOptions=!0,this}ignoreOptionDefaultValue(){return this.config.ignoreOptionDefaultValue=!0,this}version(e,t=`-v, --version`){return this.versionNumber=e,this.option(t,`Display version number`),this}example(e){return this.examples.push(e),this}option(e,t,n){let r=new he(e,t,n);return this.options.push(r),this}alias(e){return this.aliasNames.push(e),this}action(e){return this.commandAction=e,this}isMatched(e){return this.name===e||this.aliasNames.includes(e)}get isDefaultCommand(){return this.name===``||this.aliasNames.includes(`!`)}get isGlobalCommand(){return this instanceof ye}hasOption(e){return e=e.split(`.`)[0],this.options.find(t=>t.names.includes(e))}outputHelp(){let{name:e,commands:t}=this.cli,{versionNumber:n,options:r,helpCallback:i}=this.cli.globalCommand,a=[{body:`${e}${n?`/${n}`:``}`}];if(a.push({title:`Usage`,body:` $ ${e} ${this.usageText||this.rawName}`}),(this.isGlobalCommand||this.isDefaultCommand)&&t.length>0){let n=ce(t.map(e=>e.rawName));a.push({title:`Commands`,body:t.map(e=>` ${le(e.rawName,n.length)} ${e.description}`).join(`
2
+ import{createRequire as e}from"node:module";import{EventEmitter as t}from"events";import{chmodSync as n,copyFileSync as r,cpSync as i,createWriteStream as a,existsSync as o,mkdirSync as s,mkdtempSync as c,openSync as l,readFileSync as u,readdirSync as d,renameSync as f,rmSync as p,statSync as m,writeFileSync as h}from"node:fs";import{homedir as g,platform as _,tmpdir as v}from"node:os";import{basename as y,delimiter as b,dirname as x,join as S,parse as C,resolve as w,sep as T,win32 as E}from"node:path";import{cwd as D}from"node:process";import{fileURLToPath as O}from"node:url";import{createHash as k,randomBytes as A}from"node:crypto";import{execFileSync as j,spawn as M,spawnSync as N}from"node:child_process";import{pipeline as P}from"node:stream/promises";import{connect as F,createServer as I}from"node:net";function L(e){return e==null?[]:Array.isArray(e)?e:[e]}function R(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function z(e,t){e||=[],t||={};var n,r,i,a,o,s={_:[]},c=0,l=0,u=0,d=e.length;let f=t.alias!==void 0,p=t.unknown!==void 0,m=t.default!==void 0;if(t.alias=t.alias||{},t.string=L(t.string),t.boolean=L(t.boolean),f)for(n in t.alias)for(r=t.alias[n]=L(t.alias[n]),c=0;c<r.length;c++)(t.alias[r[c]]=r.concat(n)).splice(c,1);for(c=t.boolean.length;c-->0;)for(r=t.alias[t.boolean[c]]||[],l=r.length;l-->0;)t.boolean.push(r[l]);for(c=t.string.length;c-->0;)for(r=t.alias[t.string[c]]||[],l=r.length;l-->0;)t.string.push(r[l]);if(m){for(n in t.default)if(a=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],t[a]!==void 0)for(t[a].push(n),c=0;c<r.length;c++)t[a].push(r[c])}let h=p?Object.keys(t.alias):[];for(c=0;c<d;c++){if(i=e[c],i===`--`){s._=s._.concat(e.slice(++c));break}for(l=0;l<i.length&&i.charCodeAt(l)===45;l++);if(l===0)s._.push(i);else if(i.substring(l,l+3)===`no-`){if(a=i.substring(l+3),p&&!~h.indexOf(a))return t.unknown(i);s[a]=!1}else{for(u=l+1;u<i.length&&i.charCodeAt(u)!==61;u++);for(a=i.substring(l,u),o=i.substring(++u)||c+1===d||(``+e[c+1]).charCodeAt(0)===45||e[++c],r=l===2?[a]:a,u=0;u<r.length;u++){if(a=r[u],p&&!~h.indexOf(a))return t.unknown(`-`.repeat(l)+a);R(s,a,u+1<r.length||o,t)}}}if(m)for(n in t.default)s[n]===void 0&&(s[n]=t.default[n]);if(f)for(n in s)for(r=t.alias[n]||[];r.length>0;)s[r.shift()]=s[n];return s}var B=e=>e.replace(/[<[].+/,``).trim(),V=e=>{let t=/<([^>]+)>/g,n=/\[([^\]]+)\]/g,r=[],i=e=>{let t=!1,n=e[1];return n.startsWith(`...`)&&(n=n.slice(3),t=!0),{required:e[0].startsWith(`<`),value:n,variadic:t}},a;for(;a=t.exec(e);)r.push(i(a));let o;for(;o=n.exec(e);)r.push(i(o));return r},H=e=>{let t={alias:{},boolean:[]};for(let[n,r]of e.entries())r.names.length>1&&(t.alias[r.names[0]]=r.names.slice(1)),r.isBoolean&&(r.negated&&e.some((e,t)=>t!==n&&e.names.some(e=>r.names.includes(e))&&typeof e.required==`boolean`)||t.boolean.push(r.names[0]));return t},ee=e=>e.sort((e,t)=>e.length>t.length?-1:1)[0],te=(e,t)=>e.length>=t?e:`${e}${` `.repeat(t-e.length)}`,ne=e=>e.replace(/([a-z])-([a-z])/g,(e,t,n)=>t+n.toUpperCase()),re=(e,t,n)=>{let r=0,i=t.length,a=e,o;for(;r<i;++r)o=a[t[r]],a=a[t[r]]=r===i-1?n:o??(~t[r+1].indexOf(`.`)||!(+t[r+1]>-1)?{}:[])},ie=(e,t)=>{for(let n of Object.keys(t)){let r=t[n];r.shouldTransform&&(e[n]=Array.prototype.concat.call([],e[n]),typeof r.transformFunction==`function`&&(e[n]=e[n].map(r.transformFunction)))}},ae=e=>{let t=/([^\\\/]+)$/.exec(e);return t?t[1]:``},oe=e=>e.split(`.`).map((e,t)=>t===0?ne(e):e).join(`.`),se=class extends Error{constructor(e){super(e),this.name=this.constructor.name,typeof Error.captureStackTrace==`function`?Error.captureStackTrace(this,this.constructor):this.stack=Error(e).stack}},ce=class{constructor(e,t,n){this.rawName=e,this.description=t,this.config=Object.assign({},n),e=e.replace(/\.\*/g,``),this.negated=!1,this.names=B(e).split(`,`).map(e=>{let t=e.trim().replace(/^-{1,2}/,``);return t.startsWith(`no-`)&&(this.negated=!0,t=t.replace(/^no-/,``)),oe(t)}).sort((e,t)=>e.length>t.length?1:-1),this.name=this.names[this.names.length-1],this.negated&&this.config.default==null&&(this.config.default=!0),e.includes(`<`)?this.required=!0:e.includes(`[`)?this.required=!1:this.isBoolean=!0}},le=process.argv,U=`${process.platform}-${process.arch} node-${process.version}`,ue=class{constructor(e,t,n={},r){this.rawName=e,this.description=t,this.config=n,this.cli=r,this.options=[],this.aliasNames=[],this.name=B(e),this.args=V(e),this.examples=[]}usage(e){return this.usageText=e,this}allowUnknownOptions(){return this.config.allowUnknownOptions=!0,this}ignoreOptionDefaultValue(){return this.config.ignoreOptionDefaultValue=!0,this}version(e,t=`-v, --version`){return this.versionNumber=e,this.option(t,`Display version number`),this}example(e){return this.examples.push(e),this}option(e,t,n){let r=new ce(e,t,n);return this.options.push(r),this}alias(e){return this.aliasNames.push(e),this}action(e){return this.commandAction=e,this}isMatched(e){return this.name===e||this.aliasNames.includes(e)}get isDefaultCommand(){return this.name===``||this.aliasNames.includes(`!`)}get isGlobalCommand(){return this instanceof de}hasOption(e){return e=e.split(`.`)[0],this.options.find(t=>t.names.includes(e))}outputHelp(){let{name:e,commands:t}=this.cli,{versionNumber:n,options:r,helpCallback:i}=this.cli.globalCommand,a=[{body:`${e}${n?`/${n}`:``}`}];if(a.push({title:`Usage`,body:` $ ${e} ${this.usageText||this.rawName}`}),(this.isGlobalCommand||this.isDefaultCommand)&&t.length>0){let n=ee(t.map(e=>e.rawName));a.push({title:`Commands`,body:t.map(e=>` ${te(e.rawName,n.length)} ${e.description}`).join(`
3
3
  `)}),a.push({title:"For more info, run any command with the `--help` flag",body:t.map(t=>` $ ${e}${t.name===``?``:` ${t.name}`} --help`).join(`
4
- `)})}let o=this.isGlobalCommand?r:[...this.options,...r||[]];if(!this.isGlobalCommand&&!this.isDefaultCommand&&(o=o.filter(e=>e.name!==`version`)),o.length>0){let e=ce(o.map(e=>e.rawName));a.push({title:`Options`,body:o.map(t=>` ${le(t.rawName,e.length)} ${t.description} ${t.config.default===void 0?``:`(default: ${t.config.default})`}`).join(`
4
+ `)})}let o=this.isGlobalCommand?r:[...this.options,...r||[]];if(!this.isGlobalCommand&&!this.isDefaultCommand&&(o=o.filter(e=>e.name!==`version`)),o.length>0){let e=ee(o.map(e=>e.rawName));a.push({title:`Options`,body:o.map(t=>` ${te(t.rawName,e.length)} ${t.description} ${t.config.default===void 0?``:`(default: ${t.config.default})`}`).join(`
5
5
  `)})}this.examples.length>0&&a.push({title:`Examples`,body:this.examples.map(t=>typeof t==`function`?t(e):t).join(`
6
6
  `)}),i&&(a=i(a)||a),console.log(a.map(e=>e.title?`${e.title}:
7
7
  ${e.body}`:e.body).join(`
8
8
 
9
- `))}outputVersion(){let{name:e}=this.cli,{versionNumber:t}=this.cli.globalCommand;t&&console.log(`${e}/${t} ${_e}`)}checkRequiredArgs(){let e=this.args.filter(e=>e.required).length;if(this.cli.args.length<e)throw new me(`missing required args for command \`${this.rawName}\``)}checkUnknownOptions(){let{options:e,globalCommand:t}=this.cli;if(!this.config.allowUnknownOptions){for(let n of Object.keys(e))if(n!==`--`&&!this.hasOption(n)&&!t.hasOption(n))throw new me(`Unknown option \`${n.length>1?`--${n}`:`-${n}`}\``)}}checkOptionValue(){let{options:e,globalCommand:t}=this.cli,n=[...t.options,...this.options];for(let t of n){let r=e[t.name.split(`.`)[0]];if(t.required){let e=n.some(e=>e.negated&&e.names.includes(t.name));if(r===!0||r===!1&&!e)throw new me(`option \`${t.rawName}\` value is missing`)}}}},ye=class extends ve{constructor(e){super(`@@global@@`,``,{},e)}},be=Object.assign,xe=class extends t{constructor(e=``){super(),this.name=e,this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.globalCommand=new ye(this),this.globalCommand.usage(`<command> [options]`)}usage(e){return this.globalCommand.usage(e),this}command(e,t,n){let r=new ve(e,t||``,n,this);return r.globalCommand=this.globalCommand,this.commands.push(r),r}option(e,t,n){return this.globalCommand.option(e,t,n),this}help(e){return this.globalCommand.option(`-h, --help`,`Display this message`),this.globalCommand.helpCallback=e,this.showHelpOnExit=!0,this}version(e,t=`-v, --version`){return this.globalCommand.version(e,t),this.showVersionOnExit=!0,this}example(e){return this.globalCommand.example(e),this}outputHelp(){this.matchedCommand?this.matchedCommand.outputHelp():this.globalCommand.outputHelp()}outputVersion(){this.globalCommand.outputVersion()}setParsedInfo({args:e,options:t},n,r){return this.args=e,this.options=t,n&&(this.matchedCommand=n),r&&(this.matchedCommandName=r),this}unsetMatchedCommand(){this.matchedCommand=void 0,this.matchedCommandName=void 0}parse(e=ge,{run:t=!0}={}){this.rawArgs=e,this.name||=e[1]?fe(e[1]):`cli`;let n=!0;for(let t of this.commands){let r=this.mri(e.slice(2),t),i=r.args[0];if(t.isMatched(i)){n=!1;let e=be(be({},r),{args:r.args.slice(1)});this.setParsedInfo(e,t,i),this.emit(`command:${i}`,t)}}if(n){for(let t of this.commands)if(t.name===``){n=!1;let r=this.mri(e.slice(2),t);this.setParsedInfo(r,t),this.emit(`command:!`,t)}}if(n){let t=this.mri(e.slice(2));this.setParsedInfo(t)}this.options.help&&this.showHelpOnExit&&(this.outputHelp(),t=!1,this.unsetMatchedCommand()),this.options.version&&this.showVersionOnExit&&this.matchedCommandName==null&&(this.outputVersion(),t=!1,this.unsetMatchedCommand());let r={args:this.args,options:this.options};return t&&this.runMatchedCommand(),!this.matchedCommand&&this.args[0]&&this.emit(`command:*`),r}mri(e,t){let n=[...this.globalCommand.options,...t?t.options:[]],r=se(n),i=[],a=e.indexOf(`--`);a>-1&&(i=e.slice(a+1),e=e.slice(0,a));let o=ie(e,r);o=Object.keys(o).reduce((e,t)=>be(be({},e),{[pe(t)]:o[t]}),{_:[]});let s=o._,c={"--":i},l=t&&t.config.ignoreOptionDefaultValue?t.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,u=Object.create(null);for(let e of n){if(!l&&e.config.default!==void 0)for(let t of e.names)c[t]=e.config.default;Array.isArray(e.config.type)&&u[e.name]===void 0&&(u[e.name]=Object.create(null),u[e.name].shouldTransform=!0,u[e.name].transformFunction=e.config.type[0])}for(let e of Object.keys(o))e!==`_`&&(ue(c,e.split(`.`),o[e]),de(c,u));return{args:s,options:c}}runMatchedCommand(){let{args:e,options:t,matchedCommand:n}=this;if(!n||!n.commandAction)return;n.checkUnknownOptions(),n.checkOptionValue(),n.checkRequiredArgs();let r=[];return n.args.forEach((t,n)=>{t.variadic?r.push(e.slice(n)):r.push(e[n])}),r.push(t),n.commandAction.apply(this,r)}},Se=(e=``)=>new xe(e);function G(e,...t){console.log(e,...t)}function Ce(e,...t){console.warn(e,...t)}function we(e,...t){console.error(e,...t)}function Te(e){process.stdout.write(e)}function Ee(e){if(e===void 0)return;let t=e.trim();return t===``?void 0:t}function De(e){return Ee(process.env[e])}function Oe(e){let t=Ee(e);if(t===void 0)return;let n=Number(t);return Number.isInteger(n)&&n>0?n:void 0}var ke={APP_DIR:De(`ELLM_APP_DIR`),PORT:Oe(De(`ELLM_PORT`))},Ae=x(D(import.meta.url)),je;function Me(){return S(g(),`.ezllm`)}function K(){return je===void 0&&(je=w(E(),ke.APP_DIR??Me())),je}function Ne(){return w(K(),`data`)}function Pe(){return w(K(),`ezllm.config.json`)}function Fe(){return w(Ne(),`updater.json`)}function Ie(){return w(K(),`autostart.opt-out`)}function Le(){return w(K(),`services.json`)}var Re=[`hook.cjs`,`hook.mjs`,`hook.js`];function q(){return w(K(),`node`)}function ze(){return w(K(),`bin`)}function Be(e){return e.find(e=>o(e))}function Ve(){let e=q(),t=[S(e,`node_modules`,`ezllm`),S(e,`lib`,`node_modules`,`ezllm`)];return Be(t)??t[0]}function He(e){try{return JSON.parse(u(S(e,`package.json`),`utf-8`))}catch{return null}}function Ue(e,t){let n=Ae;for(let r=0;r<t;r++){if(He(n)?.name===e)return n;n=x(n)}return null}var We=Ue(`ezllm`,5)??w(Ae,`..`),Ge=Ue(`ellm`,6);function Ke(){let e=He(We);return e?.name===`ezllm`?e.version??`0.0.0`:`0.0.0`}function qe(){let e=Ne();o(e)||s(e,{recursive:!0})}function Je(e){return Be([w(Ve(),`dist`,e),S(We,`dist`,e),...Ge?[S(Ge,`app`,`cli`,`dist`,e)]:[]])??S(We,`dist`,e)}function Ye(){return Je(`daemon.js`)}function Xe(){let e=Pe();if(o(e))return e;let t=[S(We,`ezllm.config.example.json`),...Ge?[S(Ge,`app`,`server`,`ezllm.config.example.json`)]:[]],n=Be(t);if(!n)throw Error(`缺少示例配置 ${String(t[0])},无法自动创建配置文件`);return s(K(),{recursive:!0}),r(n,e),G(`已创建配置文件: ${e}`),G(`可直接编辑该文件(填入供应商 apiKey),或经管理台在线修改(实时热更新)。`),e}function Ze(e,t){let n=`${e}.${`${process.pid}.${k(6).toString(`hex`)}`}.tmp`;try{h(n,JSON.stringify(t,null,2)+`
10
- `,`utf-8`),f(n,e)}finally{try{p(n,{force:!0})}catch{}}}function Qe(){try{let e=JSON.parse(u(Fe(),`utf-8`));return typeof e!=`object`||!e||Array.isArray(e)?{}:e}catch{return{}}}function $e(e){try{qe(),Ze(Fe(),{...Qe(),...e})}catch{}}function et(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:null}function tt(e,t){return et(typeof e==`function`?e():e)??t}function nt(e){return typeof e==`object`&&!!e&&typeof e.then==`function`}function rt(e){let t=e.now??Date.now,n=e.log??G,r=e.maxArmMs??6e4,i=e.onError??((e,t,r)=>{n(`[scheduler] 作业 ${e.name} 失败(${String(Math.round(r/6e4))} 分钟后重试):${t.message}`)}),a=e.jobs.map(e=>({job:e,nextAt:t()+(e.firstDelayMs??tt(e.everyMs,r)),running:!1})),o=null,s=!1;function c(){if(s||o!==null)return;let e=t(),n=1/0;for(let t of a){if(t.running)continue;let r=Math.max(0,t.nextAt-e);r<n&&(n=r)}Number.isFinite(n)&&(o=setTimeout(l,Math.min(n,r)),o.unref())}function l(){if(o=null,s)return;let e=t();for(let t of a)!t.running&&e>=t.nextAt&&d(t);c()}function u(e,n,a){e.running=!1;let o=tt(e.job.retryMs??e.job.everyMs,r),s=n??tt(e.job.everyMs,r);e.nextAt=t()+(a===null?s:o),a!==null&&i(e.job,a,o),c()}function d(e){e.running=!0;let t;try{t=e.job.run({log:n})}catch(t){u(e,null,t instanceof Error?t:Error(String(t)));return}if(!nt(t)){u(e,et(t),null);return}t.then(t=>{u(e,et(t),null)},t=>{u(e,null,t instanceof Error?t:Error(String(t)))})}return c(),{stop(){s=!0,o!==null&&(clearTimeout(o),o=null)}}}var J={rocket:`🚀`,pending:`⏳`,success:`✅`,warn:`❗`,skip:`⏭️`,running:`🟢`,stopped:`🛑`,idle:`💤`,error:`❌`,gateway:`🌐`,webui:`💻`,folder:`📂`,status:`📋`,question:`❓`};function Y(e,t){G(t?`${t} ${e}`:e)}function it(e){we(`${J.error} ${e}`)}function at(e){Te(`${J.pending} ${e}`)}function ot(){Te(` ✓
11
- `)}function st(){Te(` ✗
12
- `)}function ct(e,t,n){G(` ${e} ${t} ${n}`)}var lt=`server`,ut=`ezllm`;`${ut}`,`${ut}`;function X(e){try{return process.kill(e,0),!0}catch(e){return e?.code===`EPERM`}}var dt={out:`out.log`,err:`err.log`};function ft(e,t=dt){let n=S(e,`logs`);return s(n,{recursive:!0}),{out:l(S(n,t.out),`a`),err:l(S(n,t.err),`a`)}}function pt(e){let{out:t,err:n}=ft(e.appDir,e.logFiles),r=j(e.interpreter??process.execPath,[e.entryJs,...e.args??[]],{detached:!0,stdio:[`ignore`,t,n],env:{...process.env,...e.env},windowsHide:!0});return r.on(`error`,t=>{we(`[ezllm] 拉起进程失败(解释器 ${e.interpreter??process.execPath},脚本 ${e.entryJs}):${t.message}`)}),r.unref(),r.pid??0}function mt(e){let{out:t,err:n}=ft(e.appDir,e.logFiles);return j(e.interpreter??process.execPath,[e.entryJs,...e.args??[]],{stdio:[`ignore`,t,n,`ipc`],env:{...process.env,...e.env},windowsHide:!0})}var ht=/\.(?:com|exe)$/i,gt=/node_modules[\\/]\.bin[\\/][^\\/]+\.cmd$/i,_t=/([()\][%!^"`<>&|;, *?])/g;function vt(e,t){let n=e.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`);return n=n.replace(/(?=(\\+?)?)\1$/,`$1$1`),n=`"${n}"`,n=n.replace(_t,`^$1`),t&&(n=n.replace(_t,`^$1`)),n}function yt(e,t,n=_()){if(n!==`win32`||ht.test(e))return{command:e,args:[...t],windowsVerbatimArguments:!1};let r=T.normalize(e),i=r.replace(_t,`^$1`),a=gt.test(r),o=t.map(e=>vt(e,a));return{command:process.env.comspec??`cmd.exe`,args:[`/d`,`/s`,`/c`,`"${[i,...o].join(` `)}"`],windowsVerbatimArguments:!0}}function bt(e){let{out:t,err:n}=ft(e.appDir,e.logFiles),r=yt(e.command,e.args??[]);return j(r.command,r.args,{...e.cwd===void 0?{}:{cwd:e.cwd},stdio:[`ignore`,t,n,`ipc`],env:{...process.env,...e.env},windowsHide:!0,windowsVerbatimArguments:r.windowsVerbatimArguments})}async function xt(e){if(!X(e))return!0;if(_()===`win32`)j(`taskkill`,[`/PID`,String(e),`/T`,`/F`],{stdio:`ignore`,windowsHide:!0}).on(`error`,t=>{Ce(`[ezllm] taskkill 执行失败(pid ${String(e)}):${t.message}`)});else try{process.kill(-e,`SIGTERM`)}catch{try{process.kill(e,`SIGTERM`)}catch{}}let t=Date.now()+5e3;for(;Date.now()<t;){if(!X(e))return!0;await new Promise(e=>setTimeout(e,100))}return!X(e)}var St=`ezllm-autostart.vbs`,Ct=`ezllm-autostart.cmd`,wt=`com.ezllm.autostart`,Tt=`ezllm.service`,Et=`autostart.opt-out`,Dt=`ezllm-v2`,Ot=`Auto-generated by "ezllm autostart on" (${Dt}). Disable with "ezllm autostart off".`,kt=`ELLM_`,At=new Set([`WEBUI_USERNAME`,`WEBUI_PASSWORD`,`HOST`]);function jt(e=process.env){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(n.startsWith(kt)||At.has(n))&&(t[n]=r);return t}function Mt(e){return S(e,Et)}function Nt(){let e=process.env.APPDATA;if(!e)throw Error(`无法定位启动文件夹(APPDATA 环境变量未设置)。`);return S(e,`Microsoft`,`Windows`,`Start Menu`,`Programs`,`Startup`)}function Pt(){return S(Nt(),St)}function Ft(){return S(g(),`Library`,`LaunchAgents`,`${wt}.plist`)}function It(){return S(g(),`.config`,`systemd`,`user`,Tt)}function Z(e,t){return new Promise(n=>{let r=j(e,t,{stdio:`ignore`,shell:!1});r.on(`error`,()=>n(127)),r.on(`exit`,e=>n(e??1))})}var Lt={win32:{itemPath:Pt,on:Xt,off:$t},darwin:{itemPath:Ft,on:Zt,off:en},linux:{itemPath:It,on:Qt,off:tn}};function Rt(e){return Lt[e]??null}function zt(e){let t=Rt(e);if(!t)throw Error(`暂不支持的平台: ${e}。`);return t}function Bt(){return Rt(_())?.itemPath()??null}function Vt(e,t){return[e,t.entryJs,...t.args??[]]}function Ht(e){return S(e,`logs`,`autostart.log`)}function Ut(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Wt(e,t){let n=/["%\r\n]/;if(n.test(e)||n.test(t))throw Error(`环境变量 ${e} 的键/值含 cmd 无法安全转义的字符(" % 或换行),已拒绝写入自启项;请调整该变量后重试 ezllm autostart on`)}function Gt(e,t){let n=Ht(t.appDir);return[`@echo off`,`chcp 65001 >nul`,`rem ${Ot}`,...Object.entries(t.env).map(([e,t])=>(Wt(e,t),`set "${e}=${t}"`)),`>> "${n}" echo [%date% %time%] autostart launching.`,`${Vt(e,t).map(e=>`"${e}"`).join(` `)} >> "${n}" 2>&1`,``].join(`\r
13
- `)}function Kt(e){return[`' ${Ot}`,`CreateObject("WScript.Shell").Run """${e}""", 0, False`,``].join(`\r
14
- `)}function qt(e,t){let n=Ht(t.appDir),r=Object.entries(t.env).map(([e,t])=>` <string>${Ut(e)}</string>\n <string>${Ut(t)}</string>`).join(`
15
- `),i=Vt(e,t).map(e=>` <string>${Ut(e)}</string>`).join(`
16
- `);return[`<?xml version="1.0" encoding="UTF-8"?>`,`<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">`,`<!-- ${Dt}: launch daemon -->`,`<plist version="1.0">`,`<dict>`,` <key>Label</key><string>${Ut(wt)}</string>`,` <key>ProgramArguments</key>`,` <array>`,i,` </array>`,` <key>EnvironmentVariables</key>`,` <dict>`,r,` </dict>`,` <key>RunAtLoad</key><true/>`,` <key>StandardOutPath</key><string>${Ut(n)}</string>`,` <key>StandardErrorPath</key><string>${Ut(n)}</string>`,`</dict>`,`</plist>`,``].join(`
17
- `)}function Jt(e,t){let n=Object.entries(t.env).map(([e,t])=>`Environment="${e}=${t.replace(/"/g,`\\"`)}"`).join(`
18
- `),r=Vt(e,t).map(e=>`"${e.replace(/"/g,`\\"`)}"`).join(` `);return[`[Unit]`,`Description=ezllm autostart (${Dt}, launch daemon)`,`After=default.target`,``,`[Service]`,`Type=simple`,`ExecStart=${r}`,n,`Restart=on-failure`,`RestartSec=3`,``,`[Install]`,`WantedBy=default.target`,``].join(`
19
- `)}async function Yt(e,t,n=Z){try{h(e,t,`utf16le`);return}catch(r){if(await n(`powershell`,[`-NoProfile`,`-Command`,`$bytes=[Convert]::FromBase64String('${Buffer.from(t,`utf16le`).toString(`base64`)}');[IO.File]::WriteAllBytes('${e.replace(/'/g,`''`)}', $bytes)`])!==0)throw r}}async function Xt(e,t){let n=Pt(),r=S(t.appDir,Ct);return h(r,Gt(e,t),`utf-8`),await Yt(n,`\uFEFF${Kt(r)}`),n}async function Zt(e,t){let n=Ft();h(n,qt(e,t),`utf-8`),await Z(`launchctl`,[`unload`,n]);let r=await Z(`launchctl`,[`load`,n]);if(r!==0)throw Error(`launchctl load 失败(退出码 ${String(r)})。请手动执行: launchctl load "${n}"`);return n}async function Qt(e,t){let n=It();s(x(n),{recursive:!0}),h(n,Jt(e,t),`utf-8`);let r=await Z(`systemctl`,[`--user`,`daemon-reload`]);if(r!==0)throw Error(`systemctl --user daemon-reload 失败(退出码 ${String(r)})。当前环境可能无 systemd(WSL/容器),请手动启用或删除: ${n}`);let i=await Z(`systemctl`,[`--user`,`enable`,Tt]);if(i!==0)throw Error(`systemctl --user enable 失败(退出码 ${String(i)})。请手动执行: systemctl --user enable ${Tt}`);return n}async function $t(e){let t=Pt(),n=o(t);return p(t,{force:!0}),p(S(e,Ct),{force:!0}),n}async function en(){let e=Ft();return o(e)?(await Z(`launchctl`,[`unload`,e]),p(e,{force:!0}),!0):!1}async function tn(){let e=It();return o(e)?(await Z(`systemctl`,[`--user`,`disable`,Tt]),p(e,{force:!0}),await Z(`systemctl`,[`--user`,`daemon-reload`]),!0):!1}function nn(e){let t=u(e);return t.length>=2&&t[0]===255&&t[1]===254?t.toString(`utf16le`).slice(1):t.toString(`utf-8`)}function rn(e){let t=Bt(),n=!1;if(t&&o(t))try{n=nn(t).includes(Dt)}catch{}return{platform:_(),enabled:n,itemPath:t,optOut:o(Mt(e))}}async function an(e){let t=zt(_());s(S(e.appDir,`logs`),{recursive:!0});let n=await t.on(e.nodePath,e);return p(Mt(e.appDir),{force:!0}),{itemPath:n}}async function on(e){let t=await zt(_()).off(e.appDir);return s(e.appDir,{recursive:!0}),h(Mt(e.appDir),new Date().toISOString(),`utf-8`),{removed:t}}var sn=`HKCU\\Environment\\Path`,cn=`ezllm.cmd`,ln=`ezllm`,un=`# >>> ellm-proxy path >>>`,dn=`# <<< ellm-proxy path <<<`,fn=`码`;function pn(e,t,n){return A(e,t,{encoding:`utf-8`,windowsHide:!0,...n?{env:{...process.env,...n}}:{}})}function mn(e){let t=e.platform??process.platform;if(t!==`win32`&&t!==`darwin`&&t!==`linux`)throw Error(`暂不支持的平台: ${t}(PATH 注册仅支持 Windows/macOS/Linux)。`);return t}function hn(e,t){return[`@ECHO off`,`"${e}" "${t}" %*`,``].join(`\r
20
- `)}function gn(e,t){return[`#!/bin/sh`,`exec "${_n(e)}" "${_n(t)}" "$@"`,``].join(`
21
- `)}function _n(e){return e.replace(/\\/g,`/`)}function vn(e){let t=q();return e===`win32`?S(t,`node.exe`):S(t,`bin`,`node`)}function yn(){return S(Ve(),`bin`,`ezllm.js`)}function bn(){return[`$ErrorActionPreference = 'Stop'`,`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8`,`$k = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $false)`,`$kind = 'Missing'`,`$cur = ''`,`if ($null -ne $k) {`,` try { $kind = [string]$k.GetValueKind('Path') } catch { }`,` $cur = [string]$k.GetValue('Path', '', 'DoNotExpandEnvironmentNames')`,`}`,`[pscustomobject]@{ magic = '${fn}'; kind = $kind; value = $cur } | ConvertTo-Json -Compress`].join(`
22
- `)}function xn(){return[`$ErrorActionPreference = 'Stop'`,`$k = [Microsoft.Win32.Registry]::CurrentUser.CreateSubKey('Environment')`,`$kind = [Microsoft.Win32.RegistryValueKind]::ExpandString`,`if ($env:ELLM_PATH_KIND -eq 'String') { $kind = [Microsoft.Win32.RegistryValueKind]::String }`,`$k.SetValue('Path', [string]$env:ELLM_PATH_VALUE, $kind)`,`$k.Close()`,`$notified = '1'`,`try {`,` $sig = '[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern IntPtr SendMessageTimeout(IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);'`,` Add-Type -Namespace EllmProxyPath -Name NativeMethods -MemberDefinition $sig`,` $r = [UIntPtr]::Zero`,` [EllmProxyPath.NativeMethods]::SendMessageTimeout([IntPtr]0xffff, 0x1a, [UIntPtr]::Zero, 'Environment', 2, 5000, [ref]$r) | Out-Null`,`} catch { $notified = '2' }`,`$notified`].join(`
23
- `)}function Sn(e){let t=e(`powershell`,[`-NoProfile`,`-Command`,bn()]).replace(/^\uFEFF/,``).trim(),n;try{n=JSON.parse(t)}catch(e){throw Error(`读取用户级 PATH 失败:PowerShell 输出不是合法 JSON(${e.message})。`)}if(n?.magic!==fn)throw Error(`读取用户级 PATH 失败:PowerShell 输出编码异常(哨兵不匹配),已中止以免写坏 PATH。`);let r=String(n.kind??`Missing`);if(r!==`String`&&r!==`ExpandString`&&r!==`Missing`)throw Error(`用户级 PATH 的注册表类型是 ${r}(既非 REG_SZ 也非 REG_EXPAND_SZ),拒绝自动改写;请先手工修正 ${sn} 的类型。`);return{kind:r,value:typeof n.value==`string`?n.value:``}}function Cn(e,t,n){return e(`powershell`,[`-NoProfile`,`-Command`,xn()],{ELLM_PATH_VALUE:t,ELLM_PATH_KIND:n}).trim()!==`2`||(Ce(`[ezllm] 用户级 PATH 已更新,但 WM_SETTINGCHANGE 广播失败:新开的终端需重新登录后才会看到 ezllm 命令。`),!1)}function wn(e){return e===`String`?`String`:`ExpandString`}function Tn(e){return e.trim().replace(/\\+$/,``).toLowerCase()}function En(e){return e.split(`;`).filter(e=>e.trim()!==``)}function Dn(e,t){let n=Tn(t);return En(e).some(e=>Tn(e)===n)}function On(e,t){let n=Tn(t),r=[t,...En(e).filter(e=>Tn(e)!==n)].join(`;`);return{value:r,changed:r!==e}}function kn(e,t){let n=Tn(t),r=En(e),i=r.filter(e=>Tn(e)!==n);return i.length===r.length?{value:e,changed:!1}:{value:i.join(`;`),changed:!0}}function An(e,t){return t||(e===`darwin`?S(g(),`.zprofile`):S(g(),`.profile`))}function jn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/`/g,"\\`").replace(/\$/g,`\\$`)}function Mn(){return`${jn(ze())}:$PATH`}function Nn(){return[un,`export PATH="${Mn()}"`,dn,``].join(`
24
- `)}function Pn(){return RegExp(`${un}[\\s\\S]*?${dn}\\n?`)}function Fn(e){return o(e)?u(e,`utf-8`):null}function In(e){let t=Fn(e);return t!==null&&!!t.match(Pn())?.[0].includes(`"${Mn()}"`)}function Ln(e){let t=Fn(e)??``,n=Pn(),r=n.test(t)?t.replace(n,Nn()):!t||t.endsWith(`
25
- `)?t+Nn():`${t}\n${Nn()}`;r!==t&&(s(x(e),{recursive:!0}),h(e,r,`utf-8`))}function Rn(e){let t=Fn(e);if(t===null)return!1;let n=Pn();if(!n.test(t))return!1;let r=t.replace(n,``);return r!==t&&(h(e,r,`utf-8`),!0)}function zn(e={}){let t=mn(e),n=ze();if(t===`win32`)return{platform:t,binDir:n,onPath:Dn(Sn(e.run??pn).value,n),itemPath:sn};let r=An(t,e.loginFile);return{platform:t,binDir:n,onPath:In(r),itemPath:r}}function Bn(e={}){let t=mn(e),r=ze();s(r,{recursive:!0});let i=S(r,t===`win32`?cn:ln);return h(i,t===`win32`?hn(vn(t),yn()):gn(vn(t),yn()),`utf-8`),t!==`win32`&&n(i,493),{shimPath:i}}async function Vn(e={}){let t=mn(e),n=ze();if(Bn(e),t===`win32`){let t=e.run??pn,r=Sn(t),i=On(r.value,n);return i.changed&&Cn(t,i.value,wn(r.kind)),{itemPath:sn}}let r=An(t,e.loginFile);return Ln(r),{itemPath:r}}async function Hn(e={}){let t=mn(e),n=ze();if(t===`win32`){let t=e.run??pn,r=Sn(t),i=kn(r.value,n);return i.changed&&Cn(t,i.value,wn(r.kind)),{removed:i.changed,itemPath:sn}}let r=An(t,e.loginFile);return{removed:Rn(r),itemPath:r}}var Q=H(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});var n=[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`];function r(e){return n.includes(e)}var i=[`Function`,`Generator`,`AsyncGenerator`,`GeneratorFunction`,`AsyncGeneratorFunction`,`AsyncFunction`,`Observable`,`Array`,`Buffer`,`Blob`,`Object`,`RegExp`,`Date`,`Error`,`Map`,`Set`,`WeakMap`,`WeakSet`,`ArrayBuffer`,`SharedArrayBuffer`,`DataView`,`Promise`,`URL`,`FormData`,`URLSearchParams`,`HTMLElement`,...n];function a(e){return i.includes(e)}var o=[`null`,`undefined`,`string`,`number`,`bigint`,`boolean`,`symbol`];function s(e){return o.includes(e)}function c(e){return t=>typeof t===e}var{toString:l}=Object.prototype,u=e=>{let t=l.call(e).slice(8,-1);if(/HTML\w+Element/.test(t)&&f.domElement(e))return`HTMLElement`;if(a(t))return t},d=e=>t=>u(t)===e;function f(e){if(e===null)return`null`;switch(typeof e){case`undefined`:return`undefined`;case`string`:return`string`;case`number`:return`number`;case`boolean`:return`boolean`;case`function`:return`Function`;case`bigint`:return`bigint`;case`symbol`:return`symbol`}if(f.observable(e))return`Observable`;if(f.array(e))return`Array`;if(f.buffer(e))return`Buffer`;let t=u(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw TypeError(`Please don't use object wrappers for primitive types`);return`Object`}f.undefined=c(`undefined`),f.string=c(`string`);var p=c(`number`);f.number=e=>p(e)&&!f.nan(e),f.bigint=c(`bigint`),f.function_=c(`function`),f.null_=e=>e===null,f.class_=e=>f.function_(e)&&e.toString().startsWith(`class `),f.boolean=e=>e===!0||e===!1,f.symbol=c(`symbol`),f.numericString=e=>f.string(e)&&!f.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e)),f.array=(e,t)=>Array.isArray(e)?!f.function_(t)||e.every(t):!1,f.buffer=e=>{var t;return((t=e?.constructor)?.isBuffer)?.call(t,e)??!1},f.blob=e=>d(`Blob`)(e),f.nullOrUndefined=e=>f.null_(e)||f.undefined(e),f.object=e=>!f.null_(e)&&(typeof e==`object`||f.function_(e)),f.iterable=e=>f.function_(e?.[Symbol.iterator]),f.asyncIterable=e=>f.function_(e?.[Symbol.asyncIterator]),f.generator=e=>f.iterable(e)&&f.function_(e?.next)&&f.function_(e?.throw),f.asyncGenerator=e=>f.asyncIterable(e)&&f.function_(e.next)&&f.function_(e.throw),f.nativePromise=e=>d(`Promise`)(e);var m=e=>f.function_(e?.then)&&f.function_(e?.catch);f.promise=e=>f.nativePromise(e)||m(e),f.generatorFunction=d(`GeneratorFunction`),f.asyncGeneratorFunction=e=>u(e)===`AsyncGeneratorFunction`,f.asyncFunction=e=>u(e)===`AsyncFunction`,f.boundFunction=e=>f.function_(e)&&!e.hasOwnProperty(`prototype`),f.regExp=d(`RegExp`),f.date=d(`Date`),f.error=d(`Error`),f.map=e=>d(`Map`)(e),f.set=e=>d(`Set`)(e),f.weakMap=e=>d(`WeakMap`)(e),f.weakSet=e=>d(`WeakSet`)(e),f.int8Array=d(`Int8Array`),f.uint8Array=d(`Uint8Array`),f.uint8ClampedArray=d(`Uint8ClampedArray`),f.int16Array=d(`Int16Array`),f.uint16Array=d(`Uint16Array`),f.int32Array=d(`Int32Array`),f.uint32Array=d(`Uint32Array`),f.float32Array=d(`Float32Array`),f.float64Array=d(`Float64Array`),f.bigInt64Array=d(`BigInt64Array`),f.bigUint64Array=d(`BigUint64Array`),f.arrayBuffer=d(`ArrayBuffer`),f.sharedArrayBuffer=d(`SharedArrayBuffer`),f.dataView=d(`DataView`),f.enumCase=(e,t)=>Object.values(t).includes(e),f.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,f.urlInstance=e=>d(`URL`)(e),f.urlString=e=>{if(!f.string(e))return!1;try{return new URL(e),!0}catch{return!1}},f.truthy=e=>!!e,f.falsy=e=>!e,f.nan=e=>Number.isNaN(e),f.primitive=e=>f.null_(e)||s(typeof e),f.integer=e=>Number.isInteger(e),f.safeInteger=e=>Number.isSafeInteger(e),f.plainObject=e=>{if(l.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.getPrototypeOf({})},f.typedArray=e=>r(u(e));var h=e=>f.safeInteger(e)&&e>=0;f.arrayLike=e=>!f.nullOrUndefined(e)&&!f.function_(e)&&h(e.length),f.inRange=(e,t)=>{if(f.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(f.array(t)&&t.length===2)return e>=Math.min(...t)&&e<=Math.max(...t);throw TypeError(`Invalid range: ${JSON.stringify(t)}`)};var g=1,_=[`innerHTML`,`ownerDocument`,`style`,`attributes`,`nodeValue`];f.domElement=e=>f.object(e)&&e.nodeType===g&&f.string(e.nodeName)&&!f.plainObject(e)&&_.every(t=>t in e),f.observable=e=>{var t,n;return e?e===(t=e)[Symbol.observable]?.call(t)||e===(n=e)[`@@observable`]?.call(n):!1},f.nodeStream=e=>f.object(e)&&f.function_(e.pipe)&&!f.observable(e),f.infinite=e=>e===1/0||e===-1/0;var v=e=>t=>f.integer(t)&&Math.abs(t%2)===e;f.evenInteger=v(0),f.oddInteger=v(1),f.emptyArray=e=>f.array(e)&&e.length===0,f.nonEmptyArray=e=>f.array(e)&&e.length>0,f.emptyString=e=>f.string(e)&&e.length===0;var y=e=>f.string(e)&&!/\S/.test(e);f.emptyStringOrWhitespace=e=>f.emptyString(e)||y(e),f.nonEmptyString=e=>f.string(e)&&e.length>0,f.nonEmptyStringAndNotWhitespace=e=>f.string(e)&&!f.emptyStringOrWhitespace(e),f.emptyObject=e=>f.object(e)&&!f.map(e)&&!f.set(e)&&Object.keys(e).length===0,f.nonEmptyObject=e=>f.object(e)&&!f.map(e)&&!f.set(e)&&Object.keys(e).length>0,f.emptySet=e=>f.set(e)&&e.size===0,f.nonEmptySet=e=>f.set(e)&&e.size>0,f.emptyMap=e=>f.map(e)&&e.size===0,f.nonEmptyMap=e=>f.map(e)&&e.size>0,f.propertyKey=e=>f.any([f.string,f.number,f.symbol],e),f.formData=e=>d(`FormData`)(e),f.urlSearchParams=e=>d(`URLSearchParams`)(e);var b=(e,t,n)=>{if(!f.function_(t))throw TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(n.length===0)throw TypeError(`Invalid number of values`);return e.call(n,t)};f.any=(e,...t)=>(f.array(e)?e:[e]).some(e=>b(Array.prototype.some,e,t)),f.all=(e,...t)=>b(Array.prototype.every,e,t);var x=(e,t,n,r={})=>{if(!e){let{multipleValues:e}=r,i=e?`received values of types ${[...new Set(n.map(e=>`\`${f(e)}\``))].join(`, `)}`:`received value of type \`${f(n)}\``;throw TypeError(`Expected value which is \`${t}\`, ${i}.`)}};e.assert={undefined:e=>x(f.undefined(e),`undefined`,e),string:e=>x(f.string(e),`string`,e),number:e=>x(f.number(e),`number`,e),bigint:e=>x(f.bigint(e),`bigint`,e),function_:e=>x(f.function_(e),`Function`,e),null_:e=>x(f.null_(e),`null`,e),class_:e=>x(f.class_(e),`Class`,e),boolean:e=>x(f.boolean(e),`boolean`,e),symbol:e=>x(f.symbol(e),`symbol`,e),numericString:e=>x(f.numericString(e),`string with a number`,e),array:(e,t)=>{x(f.array(e),`Array`,e),t&&e.forEach(t)},buffer:e=>x(f.buffer(e),`Buffer`,e),blob:e=>x(f.blob(e),`Blob`,e),nullOrUndefined:e=>x(f.nullOrUndefined(e),`null or undefined`,e),object:e=>x(f.object(e),`Object`,e),iterable:e=>x(f.iterable(e),`Iterable`,e),asyncIterable:e=>x(f.asyncIterable(e),`AsyncIterable`,e),generator:e=>x(f.generator(e),`Generator`,e),asyncGenerator:e=>x(f.asyncGenerator(e),`AsyncGenerator`,e),nativePromise:e=>x(f.nativePromise(e),`native Promise`,e),promise:e=>x(f.promise(e),`Promise`,e),generatorFunction:e=>x(f.generatorFunction(e),`GeneratorFunction`,e),asyncGeneratorFunction:e=>x(f.asyncGeneratorFunction(e),`AsyncGeneratorFunction`,e),asyncFunction:e=>x(f.asyncFunction(e),`AsyncFunction`,e),boundFunction:e=>x(f.boundFunction(e),`Function`,e),regExp:e=>x(f.regExp(e),`RegExp`,e),date:e=>x(f.date(e),`Date`,e),error:e=>x(f.error(e),`Error`,e),map:e=>x(f.map(e),`Map`,e),set:e=>x(f.set(e),`Set`,e),weakMap:e=>x(f.weakMap(e),`WeakMap`,e),weakSet:e=>x(f.weakSet(e),`WeakSet`,e),int8Array:e=>x(f.int8Array(e),`Int8Array`,e),uint8Array:e=>x(f.uint8Array(e),`Uint8Array`,e),uint8ClampedArray:e=>x(f.uint8ClampedArray(e),`Uint8ClampedArray`,e),int16Array:e=>x(f.int16Array(e),`Int16Array`,e),uint16Array:e=>x(f.uint16Array(e),`Uint16Array`,e),int32Array:e=>x(f.int32Array(e),`Int32Array`,e),uint32Array:e=>x(f.uint32Array(e),`Uint32Array`,e),float32Array:e=>x(f.float32Array(e),`Float32Array`,e),float64Array:e=>x(f.float64Array(e),`Float64Array`,e),bigInt64Array:e=>x(f.bigInt64Array(e),`BigInt64Array`,e),bigUint64Array:e=>x(f.bigUint64Array(e),`BigUint64Array`,e),arrayBuffer:e=>x(f.arrayBuffer(e),`ArrayBuffer`,e),sharedArrayBuffer:e=>x(f.sharedArrayBuffer(e),`SharedArrayBuffer`,e),dataView:e=>x(f.dataView(e),`DataView`,e),enumCase:(e,t)=>x(f.enumCase(e,t),`EnumCase`,e),urlInstance:e=>x(f.urlInstance(e),`URL`,e),urlString:e=>x(f.urlString(e),`string with a URL`,e),truthy:e=>x(f.truthy(e),`truthy`,e),falsy:e=>x(f.falsy(e),`falsy`,e),nan:e=>x(f.nan(e),`NaN`,e),primitive:e=>x(f.primitive(e),`primitive`,e),integer:e=>x(f.integer(e),`integer`,e),safeInteger:e=>x(f.safeInteger(e),`integer`,e),plainObject:e=>x(f.plainObject(e),`plain object`,e),typedArray:e=>x(f.typedArray(e),`TypedArray`,e),arrayLike:e=>x(f.arrayLike(e),`array-like`,e),domElement:e=>x(f.domElement(e),`HTMLElement`,e),observable:e=>x(f.observable(e),`Observable`,e),nodeStream:e=>x(f.nodeStream(e),`Node.js Stream`,e),infinite:e=>x(f.infinite(e),`infinite number`,e),emptyArray:e=>x(f.emptyArray(e),`empty array`,e),nonEmptyArray:e=>x(f.nonEmptyArray(e),`non-empty array`,e),emptyString:e=>x(f.emptyString(e),`empty string`,e),emptyStringOrWhitespace:e=>x(f.emptyStringOrWhitespace(e),`empty string or whitespace`,e),nonEmptyString:e=>x(f.nonEmptyString(e),`non-empty string`,e),nonEmptyStringAndNotWhitespace:e=>x(f.nonEmptyStringAndNotWhitespace(e),`non-empty string and not whitespace`,e),emptyObject:e=>x(f.emptyObject(e),`empty object`,e),nonEmptyObject:e=>x(f.nonEmptyObject(e),`non-empty object`,e),emptySet:e=>x(f.emptySet(e),`empty set`,e),nonEmptySet:e=>x(f.nonEmptySet(e),`non-empty set`,e),emptyMap:e=>x(f.emptyMap(e),`empty map`,e),nonEmptyMap:e=>x(f.nonEmptyMap(e),`non-empty map`,e),propertyKey:e=>x(f.propertyKey(e),`PropertyKey`,e),formData:e=>x(f.formData(e),`FormData`,e),urlSearchParams:e=>x(f.urlSearchParams(e),`URLSearchParams`,e),evenInteger:e=>x(f.evenInteger(e),`even integer`,e),oddInteger:e=>x(f.oddInteger(e),`odd integer`,e),directInstanceOf:(e,t)=>x(f.directInstanceOf(e,t),`T`,e),inRange:(e,t)=>x(f.inRange(e,t),`in range`,e),any:(e,...t)=>x(f.any(e,...t),`predicate returns truthy for any value`,t,{multipleValues:!0}),all:(e,...t)=>x(f.all(e,...t),`predicate returns truthy for all values`,t,{multipleValues:!0})},Object.defineProperties(f,{class:{value:f.class_},function:{value:f.function_},null:{value:f.null_}}),Object.defineProperties(e.assert,{class:{value:e.assert.class_},function:{value:e.assert.function_},null:{value:e.assert.null_}}),e.default=f,t.exports=f,t.exports.default=f,t.exports.assert=e.assert})),Un=H(((e,t)=>{var n=class extends Error{constructor(e){super(e||`Promise was canceled`),this.name=`CancelError`}get isCanceled(){return!0}},r=class e{static fn(t){return(...n)=>new e((e,r,i)=>{n.push(i),t(...n).then(e,r)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,n)=>{this._reject=n;let r=e=>{(!this._isCanceled||!a.shouldReject)&&(this._isPending=!1,t(e))},i=e=>{this._isPending=!1,n(e)},a=e=>{if(!this._isPending)throw Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)};return Object.defineProperties(a,{shouldReject:{get:()=>this._rejectOnCancel,set:e=>{this._rejectOnCancel=e}}}),e(r,i,a)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(this._isPending&&!this._isCanceled){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let e of this._cancelHandlers)e()}catch(e){this._reject(e);return}this._rejectOnCancel&&this._reject(new n(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(r.prototype,Promise.prototype),t.exports=r,t.exports.CancelError=n})),Wn=H(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});function n(e){return e.encrypted}var r=(e,t)=>{let r;r=typeof t==`function`?{connect:t}:t;let i=typeof r.connect==`function`,a=typeof r.secureConnect==`function`,o=typeof r.close==`function`,s=()=>{i&&r.connect(),n(e)&&a&&(e.authorized?r.secureConnect():e.authorizationError||e.once(`secureConnect`,r.secureConnect)),o&&e.once(`close`,r.close)};e.writable&&!e.connecting?s():e.connecting?e.once(`connect`,s):e.destroyed&&o&&r.close(e._hadError)};e.default=r,t.exports=r,t.exports.default=r})),Gn=H(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});var n=Wn(),r=U(`util`),i=Number(process.versions.node.split(`.`)[0]),a=e=>{if(e.timings)return e.timings;let t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;let a=e=>{let n=e.emit.bind(e);e.emit=(r,...i)=>(r===`error`&&(t.error=Date.now(),t.phases.total=t.error-t.start,e.emit=n),n(r,...i))};a(e);let o=()=>{t.abort=Date.now(),(!t.response||i>=13)&&(t.phases.total=Date.now()-t.start)};e.prependOnceListener(`abort`,o);let s=e=>{if(t.socket=Date.now(),t.phases.wait=t.socket-t.start,r.types.isProxy(e))return;let i=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};e.prependOnceListener(`lookup`,i),n.default(e,{connect:()=>{t.connect=Date.now(),t.lookup===void 0&&(e.removeListener(`lookup`,i),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?s(e.socket):e.prependOnceListener(`socket`,s);let c=()=>{t.upload=Date.now(),t.phases.request=t.upload-(t.secureConnect??t.connect)};return(typeof e.writableFinished==`boolean`?e.writableFinished:e.finished&&e.outputSize===0&&(!e.socket||e.socket.writableLength===0))?c():e.prependOnceListener(`finish`,c),e.prependOnceListener(`response`,e=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,e.timings=t,a(e),e.prependOnceListener(`end`,()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start}),e.prependOnceListener(`aborted`,o)}),t};e.default=a,t.exports=a,t.exports.default=a})),Kn=H(((e,t)=>{var{V4MAPPED:n,ADDRCONFIG:r,ALL:i,promises:{Resolver:a},lookup:o}=U(`dns`),{promisify:s}=U(`util`),c=U(`os`),l=Symbol(`cacheableLookupCreateConnection`),u=Symbol(`cacheableLookupInstance`),d=Symbol(`expires`),f=typeof i==`number`,p=e=>{if(!(e&&typeof e.createConnection==`function`))throw Error(`Expected an Agent instance as the first argument`)},m=e=>{for(let t of e)t.family!==6&&(t.address=`::ffff:${t.address}`,t.family=6)},h=()=>{let e=!1,t=!1;for(let n of Object.values(c.networkInterfaces()))for(let r of n)if(!r.internal&&(r.family===`IPv6`?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},g=e=>Symbol.iterator in e,_={ttl:!0},v={all:!0},y=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:n=3600,errorTtl:r=.15,resolver:i=new a,lookup:c=o}={}){if(this.maxTtl=t,this.errorTtl=r,this._cache=e,this._resolver=i,this._dnsLookup=s(c),this._resolver instanceof a?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=s(this._resolver.resolve4.bind(this._resolver)),this._resolve6=s(this._resolver.resolve6.bind(this._resolver))),this._iface=h(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,n<1)this._fallback=!1;else{this._fallback=!0;let e=setInterval(()=>{this._hostnamesToFallback.clear()},n*1e3);e.unref&&e.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,n){if(typeof t==`function`?(n=t,t={}):typeof t==`number`&&(t={family:t}),!n)throw Error(`Callback must be a function.`);this.lookupAsync(e,t).then(e=>{t.all?n(null,e):n(null,e.address,e.family,e.expires,e.ttl)},n)}async lookupAsync(e,t={}){typeof t==`number`&&(t={family:t});let a=await this.query(e);if(t.family===6){let e=a.filter(e=>e.family===6);t.hints&n&&(f&&t.hints&i||e.length===0)?m(a):a=e}else t.family===4&&(a=a.filter(e=>e.family===4));if(t.hints&r){let{_iface:e}=this;a=a.filter(t=>t.family===6?e.has6:e.has4)}if(a.length===0){let t=Error(`cacheableLookup ENOTFOUND ${e}`);throw t.code=`ENOTFOUND`,t.hostname=e,t}return t.all?a:a[0]}async query(e){let t=await this._cache.get(e);if(!t){let n=this._pending[e];if(n)t=await n;else{let n=this.queryAndCache(e);this._pending[e]=n;try{t=await n}finally{delete this._pending[e]}}}return t=t.map(e=>({...e})),t}async _resolve(e){let t=async e=>{try{return await e}catch(e){if(e.code===`ENODATA`||e.code===`ENOTFOUND`)return[];throw e}},[n,r]=await Promise.all([this._resolve4(e,_),this._resolve6(e,_)].map(e=>t(e))),i=0,a=0,o=0,s=Date.now();for(let e of n)e.family=4,e.expires=s+e.ttl*1e3,i=Math.max(i,e.ttl);for(let e of r)e.family=6,e.expires=s+e.ttl*1e3,a=Math.max(a,e.ttl);return o=n.length>0?r.length>0?Math.min(i,a):i:a,{entries:[...n,...r],cacheTtl:o}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,n){if(this.maxTtl>0&&n>0){n=Math.min(n,this.maxTtl)*1e3,t[d]=Date.now()+n;try{await this._cache.set(e,t,n)}catch(e){this.lookupAsync=async()=>{let t=Error(`Cache Error. Please recreate the CacheableLookup instance.`);throw t.cause=e,t}}g(this._cache)&&this._tick(n)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,v);let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let n=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,n),t.entries}_tick(e){let t=this._nextRemovalTime;(!t||e<t)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let e=1/0,t=Date.now();for(let[n,r]of this._cache){let i=r[d];t>=i?this._cache.delete(n):i<e&&(e=i)}e!==1/0&&this._tick(e-t)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(p(e),l in e)throw Error(`CacheableLookup has been already installed`);e[l]=e.createConnection,e[u]=this,e.createConnection=(t,n)=>(`lookup`in t||(t.lookup=this.lookup),e[l](t,n))}uninstall(e){if(p(e),e[l]){if(e[u]!==this)throw Error(`The agent is not owned by this CacheableLookup instance`);e.createConnection=e[l],delete e[l],delete e[u]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=h(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};t.exports=y,t.exports.default=y})),qn=H(((e,t)=>{var n=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),r=(e,{stripHash:t})=>{let n=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:i,hash:a}=n.groups,o=r.split(`;`);a=t?``:a;let s=!1;o[o.length-1]===`base64`&&(o.pop(),s=!0);let c=(o.shift()||``).toLowerCase(),l=[...o.map(e=>{let[t,n=``]=e.split(`=`).map(e=>e.trim());return t===`charset`&&(n=n.toLowerCase(),n===`us-ascii`)?``:`${t}${n?`=${n}`:``}`}).filter(Boolean)];return s&&l.push(`base64`),(l.length!==0||c&&c!==`text/plain`)&&l.unshift(c),`data:${l.join(`;`)},${s?i.trim():i}${a?`#${a}`:``}`};t.exports=(e,t)=>{if(t={defaultProtocol:`http:`,normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return r(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let i=e.startsWith(`//`);(i||!/^\.*\//.test(e))&&(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol===`https:`&&(a.protocol=`http:`),t.forceHttps&&a.protocol===`http:`&&(a.protocol=`https:`),t.stripAuthentication&&(a.username=``,a.password=``),t.stripHash?a.hash=``:t.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,``)),a.pathname&&=a.pathname.replace(/(?<!\b(?:[a-z][a-z\d+\-.]{1,50}:))\/{2,}/g,`/`),a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=a.pathname.split(`/`),r=e[e.length-1];n(r,t.removeDirectoryIndex)&&(e=e.slice(0,e.length-1),a.pathname=e.slice(1).join(`/`)+`/`)}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,``),t.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,``))),Array.isArray(t.removeQueryParameters))for(let e of[...a.searchParams.keys()])n(e,t.removeQueryParameters)&&a.searchParams.delete(e);t.removeQueryParameters===!0&&(a.search=``),t.sortQueryParameters&&a.searchParams.sort(),t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,``));let o=e;return e=a.toString(),!t.removeSingleSlash&&a.pathname===`/`&&!o.endsWith(`/`)&&a.hash===``&&(e=e.replace(/\/$/,``)),(t.removeTrailingSlash||a.pathname===`/`)&&a.hash===``&&t.removeSingleSlash&&(e=e.replace(/\/$/,``)),i&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,`//`)),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,``)),e}})),Jn=H(((e,t)=>{t.exports=n;function n(e,t){if(e&&t)return n(e)(t);if(typeof e!=`function`)throw TypeError(`need wrapper function`);return Object.keys(e).forEach(function(t){r[t]=e[t]}),r;function r(){for(var t=Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];var r=e.apply(this,t),i=t[t.length-1];return typeof r==`function`&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}}})),Yn=H(((e,t)=>{var n=Jn();t.exports=n(r),t.exports.strict=n(i),r.proto=r(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return r(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i(this)},configurable:!0})});function r(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function i(e){var t=function(){if(t.called)throw Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)};return t.onceError=(e.name||"Function wrapped with `once`")+` shouldn't be called more than once`,t.called=!1,t}})),Xn=H(((e,t)=>{var n=Yn(),r=function(){},i=global.Bare?queueMicrotask:process.nextTick.bind(process),a=function(e){return e.setHeader&&typeof e.abort==`function`},o=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3},s=function(e,t,c){if(typeof t==`function`)return s(e,null,t);t||={},c=n(c||r);var l=e._writableState,u=e._readableState,d=t.readable||t.readable!==!1&&e.readable,f=t.writable||t.writable!==!1&&e.writable,p=!1,m=function(){e.writable||h()},h=function(){f=!1,d||c.call(e)},g=function(){d=!1,f||c.call(e)},_=function(t){c.call(e,t?Error(`exited with error code: `+t):null)},v=function(t){c.call(e,t)},y=function(){i(b)},b=function(){if(!p&&(d&&!(u&&u.ended&&!u.destroyed)||f&&!(l&&l.ended&&!l.destroyed)))return c.call(e,Error(`premature close`))},x=function(){e.req.on(`finish`,h)};return a(e)?(e.on(`complete`,h),e.on(`abort`,y),e.req?x():e.on(`request`,x)):f&&!l&&(e.on(`end`,m),e.on(`close`,m)),o(e)&&e.on(`exit`,_),e.on(`end`,g),e.on(`finish`,h),t.error!==!1&&e.on(`error`,v),e.on(`close`,y),function(){p=!0,e.removeListener(`complete`,h),e.removeListener(`abort`,y),e.removeListener(`request`,x),e.req&&e.req.removeListener(`finish`,h),e.removeListener(`end`,m),e.removeListener(`close`,m),e.removeListener(`finish`,h),e.removeListener(`exit`,_),e.removeListener(`end`,g),e.removeListener(`error`,v),e.removeListener(`close`,y)}};t.exports=s})),Zn=H(((e,t)=>{var n=Yn(),r=Xn(),i;try{i=U(`fs`)}catch{}var a=function(){},o=typeof process>`u`?!1:/^v?\.0/.test(process.version),s=function(e){return typeof e==`function`},c=function(e){return!o||!i?!1:(e instanceof(i.ReadStream||a)||e instanceof(i.WriteStream||a))&&s(e.close)},l=function(e){return e.setHeader&&s(e.abort)},u=function(e,t,i,o){o=n(o);var u=!1;e.on(`close`,function(){u=!0}),r(e,{readable:t,writable:i},function(e){if(e)return o(e);u=!0,o()});var d=!1;return function(t){if(!u&&!d){if(d=!0,c(e))return e.close(a);if(l(e))return e.abort();if(s(e.destroy))return e.destroy();o(t||Error(`stream was destroyed`))}}},d=function(e){e()},f=function(e,t){return e.pipe(t)};t.exports=function(){var e=Array.prototype.slice.call(arguments),t=s(e[e.length-1]||a)&&e.pop()||a;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw Error(`pump requires two streams per minimum`);var n,r=e.map(function(i,a){var o=a<e.length-1;return u(i,o,a>0,function(e){n||=e,e&&r.forEach(d),!o&&(r.forEach(d),t(n))})});return e.reduce(f)}})),Qn=H(((e,t)=>{var{PassThrough:n}=U(`stream`);t.exports=e=>{e={...e};let{array:t}=e,{encoding:r}=e,i=r===`buffer`,a=!1;t?a=!(r||i):r||=`utf8`,i&&(r=null);let o=new n({objectMode:a});r&&o.setEncoding(r);let s=0,c=[];return o.on(`data`,e=>{c.push(e),a?s=c.length:s+=e.length}),o.getBufferedValue=()=>t?c:i?Buffer.concat(c,s):c.join(``),o.getBufferedLength=()=>s,o}})),$n=H(((e,t)=>{var{constants:n}=U(`buffer`),r=Zn(),i=Qn(),a=class extends Error{constructor(){super(`maxBuffer exceeded`),this.name=`MaxBufferError`}};async function o(e,t){if(!e)return Promise.reject(Error(`Expected a stream`));t={maxBuffer:1/0,...t};let{maxBuffer:o}=t,s;return await new Promise((c,l)=>{let u=e=>{e&&s.getBufferedLength()<=n.MAX_LENGTH&&(e.bufferedData=s.getBufferedValue()),l(e)};s=r(e,i(t),e=>{if(e){u(e);return}c()}),s.on(`data`,()=>{s.getBufferedLength()>o&&u(new a)})}),s.getBufferedValue()}t.exports=o,t.exports.default=o,t.exports.buffer=(e,t)=>o(e,{...t,encoding:`buffer`}),t.exports.array=(e,t)=>o(e,{...t,array:!0}),t.exports.MaxBufferError=a})),er=H(((e,t)=>{var n=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),r=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),i=new Set([500,502,503,504]),a={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},o={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function s(e){let t=parseInt(e,10);return isFinite(t)?t:0}function c(e){return!e||i.has(e.status)}function l(e){let t={};if(!e)return t;let n=e.trim().split(/,/);for(let e of n){let[n,r]=e.split(/=/,2);t[n.trim()]=r===void 0||r.trim().replace(/^"|"$/g,``)}return t}function u(e){let t=[];for(let n in e){let r=e[n];t.push(r===!0?n:n+`=`+r)}if(t.length)return t.join(`, `)}t.exports=class{constructor(e,t,{shared:n,cacheHeuristic:r,immutableMinTimeToLive:i,ignoreCargoCult:a,_fromObject:o}={}){if(o){this._fromObject(o);return}if(!t||!t.headers)throw Error(`Response headers missing`);this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=n!==!1,this._ignoreCargoCult=!!a,this._cacheHeuristic=r===void 0?.1:r,this._immutableMinTtl=i===void 0?864e5:i,this._status=`status`in t?t.status:200,this._resHeaders=t.headers,this._rescc=l(t.headers[`cache-control`]),this._method=`method`in e?e.method:`GET`,this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=l(e.headers[`cache-control`]),this._ignoreCargoCult&&`pre-check`in this._rescc&&`post-check`in this._rescc&&(delete this._rescc[`pre-check`],delete this._rescc[`post-check`],delete this._rescc[`no-cache`],delete this._rescc[`no-store`],delete this._rescc[`must-revalidate`],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":u(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers[`cache-control`]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc[`no-cache`]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc[`no-store`]&&(this._method===`GET`||this._method===`HEAD`||this._method===`POST`&&this._hasExplicitExpiration())&&r.has(this._status)&&!this._rescc[`no-store`]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc[`max-age`]||this._isShared&&this._rescc[`s-maxage`]||this._rescc.public||n.has(this._status)))}_hasExplicitExpiration(){return!!(this._isShared&&this._rescc[`s-maxage`]||this._rescc[`max-age`]||this._resHeaders.expires)}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error(`Request headers missing`)}satisfiesWithoutRevalidation(e){return!this.evaluateRequest(e).revalidation}_evaluateRequestHitResult(e){return{response:{headers:this.responseHeaders()},revalidation:e}}_evaluateRequestRevalidation(e,t){return{synchronous:t,headers:this.revalidationHeaders(e)}}_evaluateRequestMissResult(e){return{response:void 0,revalidation:this._evaluateRequestRevalidation(e,!0)}}evaluateRequest(e){if(this._assertRequestHasHeaders(e),this._rescc[`must-revalidate`]||!this._requestMatches(e,!1))return this._evaluateRequestMissResult(e);let t=l(e.headers[`cache-control`]);return t[`no-cache`]||/no-cache/.test(e.headers.pragma)||t[`max-age`]&&this.age()>s(t[`max-age`])||t[`min-fresh`]&&this.maxAge()-this.age()<s(t[`min-fresh`])?this._evaluateRequestMissResult(e):this.stale()?`max-stale`in t&&(!0===t[`max-stale`]||t[`max-stale`]>this.age()-this.maxAge())?this._evaluateRequestHitResult(void 0):this.useStaleWhileRevalidate()?this._evaluateRequestHitResult(this._evaluateRequestRevalidation(e,!1)):this._evaluateRequestMissResult(e):this._evaluateRequestHitResult(void 0)}_requestMatches(e,t){return!(this._url&&this._url!==e.url||this._host!==e.headers.host||e.method&&this._method!==e.method&&(!t||e.method!==`HEAD`)||!this._varyMatches(e))}_allowsStoringAuthenticated(){return!!(this._rescc[`must-revalidate`]||this._rescc.public||this._rescc[`s-maxage`])}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary===`*`)return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let n of t)if(e.headers[n]!==this._reqHeaders[n])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let n in e)a[n]||(t[n]=e[n]);if(e.connection){let n=e.connection.trim().split(/\s*,\s*/);for(let e of n)delete t[e]}if(t.warning){let e=t.warning.split(/,/).filter(e=>!/^\s*1[0-9][0-9]/.test(e));e.length?t.warning=e.join(`,`).trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>86400&&!this._hasExplicitExpiration()&&this.maxAge()>86400&&(e.warning=(e.warning?`${e.warning}, `:``)+`113 - "rfc7234 5.5.4"`),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){return this._ageValue()+(this.now()-this._responseTime)/1e3}_ageValue(){return s(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc[`no-cache`]||this._isShared&&this._resHeaders[`set-cookie`]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary===`*`)return 0;if(this._isShared){if(this._rescc[`proxy-revalidate`])return 0;if(this._rescc[`s-maxage`])return s(this._rescc[`s-maxage`])}if(this._rescc[`max-age`])return s(this._rescc[`max-age`]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let n=Date.parse(this._resHeaders.expires);return Number.isNaN(n)||n<t?0:Math.max(e,(n-t)/1e3)}if(this._resHeaders[`last-modified`]){let n=Date.parse(this._resHeaders[`last-modified`]);if(isFinite(n)&&t>n)return Math.max(e,(t-n)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+s(this._rescc[`stale-if-error`]),n=e+s(this._rescc[`stale-while-revalidate`]);return Math.round(Math.max(0,e,t,n)*1e3)}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+s(this._rescc[`stale-if-error`])>this.age()}useStaleWhileRevalidate(){let e=s(this._rescc[`stale-while-revalidate`]);return e>0&&this.maxAge()+e>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error(`Reinitialized`);if(!e||e.v!==1)throw Error(`Invalid serialization`);this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm===void 0?864e5:e.imm,this._ignoreCargoCult=!!e.icc,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,icc:this._ignoreCargoCult,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t[`if-range`],!this._requestMatches(e,!0)||!this.storable())return delete t[`if-none-match`],delete t[`if-modified-since`],t;if(this._resHeaders.etag&&(t[`if-none-match`]=t[`if-none-match`]?`${t[`if-none-match`]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t[`accept-ranges`]||t[`if-match`]||t[`if-unmodified-since`]||this._method&&this._method!=`GET`){if(delete t[`if-modified-since`],t[`if-none-match`]){let e=t[`if-none-match`].split(/,/).filter(e=>!/^\s*W\//.test(e));e.length?t[`if-none-match`]=e.join(`,`).trim():delete t[`if-none-match`]}}else this._resHeaders[`last-modified`]&&!t[`if-modified-since`]&&(t[`if-modified-since`]=this._resHeaders[`last-modified`]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&c(t))return{policy:this,modified:!1,matches:!0};if(!t||!t.headers)throw Error(`Response headers missing`);let n=!1;t.status!==void 0&&t.status!=304?n=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?n=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,``)===t.headers.etag:this._resHeaders.etag&&t.headers.etag?n=this._resHeaders.etag.replace(/^\s*W\//,``)===t.headers.etag.replace(/^\s*W\//,``):this._resHeaders[`last-modified`]?n=this._resHeaders[`last-modified`]===t.headers[`last-modified`]:!this._resHeaders.etag&&!this._resHeaders[`last-modified`]&&!t.headers.etag&&!t.headers[`last-modified`]&&(n=!0);let r={shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,ignoreCargoCult:this._ignoreCargoCult};if(!n)return{policy:new this.constructor(e,t,r),modified:t.status!=304,matches:!1};let i={};for(let e in this._resHeaders)i[e]=e in t.headers&&!o[e]?t.headers[e]:this._resHeaders[e];let a=Object.assign({},t,{status:this._status,method:this._method,headers:i});return{policy:new this.constructor(e,a,r),modified:!1,matches:!0}}}})),tr=H(((e,t)=>{t.exports=e=>{let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}})),nr=H(((e,t)=>{var n=U(`stream`).Readable,r=tr();t.exports=class extends n{constructor(e,t,n,i){if(typeof e!=`number`)throw TypeError("Argument `statusCode` should be a number");if(typeof t!=`object`)throw TypeError("Argument `headers` should be an object");if(!(n instanceof Buffer))throw TypeError("Argument `body` should be a buffer");if(typeof i!=`string`)throw TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=r(t),this.body=n,this.url=i}_read(){this.push(this.body),this.push(null)}}})),rr=H(((e,t)=>{var n=[`destroy`,`setTimeout`,`socket`,`headers`,`trailers`,`rawHeaders`,`statusCode`,`httpVersion`,`httpVersionMinor`,`httpVersionMajor`,`rawTrailers`,`statusMessage`];t.exports=(e,t)=>{let r=new Set(Object.keys(e).concat(n));for(let n of r)n in t||(t[n]=typeof e[n]==`function`?e[n].bind(e):e[n])}})),ir=H(((e,t)=>{var n=U(`stream`).PassThrough,r=rr();t.exports=e=>{if(!(e&&e.pipe))throw TypeError("Parameter `response` must be a response stream.");let t=new n;return r(e,t),e.pipe(t)}})),ar=H((e=>{e.stringify=function e(t){if(t===void 0)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(`:base64:`+t.toString(`base64`));if(t&&t.toJSON&&(t=t.toJSON()),t&&typeof t==`object`){var n=``,r=Array.isArray(t);n=r?`[`:`{`;var i=!0;for(var a in t){var o=typeof t[a]==`function`||!r&&t[a]===void 0;Object.hasOwnProperty.call(t,a)&&!o&&(i||(n+=`,`),i=!1,r?t[a]==null?n+=`null`:n+=e(t[a]):t[a]!==void 0&&(n+=e(a)+`:`+e(t[a])))}return n+=r?`]`:`}`,n}return typeof t==`string`?JSON.stringify(/^:/.test(t)?`:`+t:t):t===void 0?`null`:JSON.stringify(t)},e.parse=function(e){return JSON.parse(e,function(e,t){return typeof t==`string`?/^:base64:/.test(t)?Buffer.from(t.substring(8),`base64`):/^:/.test(t)?t.substring(1):t:t})}})),or=H(((e,t)=>{var n=U(`events`),r=ar(),i=e=>e.adapter||e.uri?new(U({redis:`@keyv/redis`,rediss:`@keyv/redis`,mongodb:`@keyv/mongo`,mongo:`@keyv/mongo`,sqlite:`@keyv/sqlite`,postgresql:`@keyv/postgres`,postgres:`@keyv/postgres`,mysql:`@keyv/mysql`,etcd:`@keyv/etcd`,offline:`@keyv/offline`,tiered:`@keyv/tiered`}[e.adapter||/^[^:+]*/.exec(e.uri)[0]]))(e):new Map,a=[`sqlite`,`postgres`,`mysql`,`mongo`,`redis`,`tiered`];t.exports=class extends n{constructor(e,{emitErrors:t=!0,...n}={}){if(super(),this.opts={namespace:`keyv`,serialize:r.stringify,deserialize:r.parse,...typeof e==`string`?{uri:e}:e,...n},!this.opts.store){let e={...this.opts};this.opts.store=i(e)}if(this.opts.compression){let e=this.opts.compression;this.opts.serialize=e.serialize.bind(e),this.opts.deserialize=e.deserialize.bind(e)}typeof this.opts.store.on==`function`&&t&&this.opts.store.on(`error`,e=>this.emit(`error`,e)),this.opts.store.namespace=this.opts.namespace;let a=e=>async function*(){for await(let[t,n]of typeof e==`function`?e(this.opts.store.namespace):e){let e=await this.opts.deserialize(n);if(!this.opts.store.namespace||t.includes(this.opts.store.namespace)){if(typeof e.expires==`number`&&Date.now()>e.expires){this.delete(t);continue}yield[this._getKeyUnprefix(t),e.value]}}};typeof this.opts.store[Symbol.iterator]==`function`&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator==`function`&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return a.includes(this.opts.store.opts.dialect)||a.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(e=>`${this.opts.namespace}:${e}`)}_getKeyUnprefix(e){return e.split(`:`).splice(1).join(`:`)}get(e,t){let{store:n}=this.opts,r=Array.isArray(e),i=r?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(r&&n.getMany===void 0){let e=[];for(let r of i)e.push(Promise.resolve().then(()=>n.get(r)).then(e=>typeof e==`string`||this.opts.compression?this.opts.deserialize(e):e).then(e=>{if(e!=null)return typeof e.expires==`number`&&Date.now()>e.expires?this.delete(r).then(()=>void 0):t&&t.raw?e:e.value}));return Promise.allSettled(e).then(e=>{let t=[];for(let n of e)t.push(n.value);return t})}return Promise.resolve().then(()=>r?n.getMany(i):n.get(i)).then(e=>typeof e==`string`||this.opts.compression?this.opts.deserialize(e):e).then(n=>{if(n!=null)return r?n.map((n,r)=>{if(typeof n==`string`&&(n=this.opts.deserialize(n)),n!=null){if(typeof n.expires==`number`&&Date.now()>n.expires){this.delete(e[r]).then(()=>void 0);return}return t&&t.raw?n:n.value}}):typeof n.expires==`number`&&Date.now()>n.expires?this.delete(e).then(()=>void 0):t&&t.raw?n:n.value})}set(e,t,n){let r=this._getKeyPrefix(e);n===void 0&&(n=this.opts.ttl),n===0&&(n=void 0);let{store:i}=this.opts;return Promise.resolve().then(()=>{let e=typeof n==`number`?Date.now()+n:null;return typeof t==`symbol`&&this.emit(`error`,`symbol cannot be serialized`),t={value:t,expires:e},this.opts.serialize(t)}).then(e=>i.set(r,e,n)).then(()=>!0)}delete(e){let{store:t}=this.opts;if(Array.isArray(e)){let n=this._getKeyPrefixArray(e);if(t.deleteMany===void 0){let e=[];for(let r of n)e.push(t.delete(r));return Promise.allSettled(e).then(e=>e.every(e=>e.value===!0))}return Promise.resolve().then(()=>t.deleteMany(n))}let n=this._getKeyPrefix(e);return Promise.resolve().then(()=>t.delete(n))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let t=this._getKeyPrefix(e),{store:n}=this.opts;return Promise.resolve().then(async()=>typeof n.has==`function`?n.has(t):await n.get(t)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect==`function`)return e.disconnect()}}})),sr=H(((e,t)=>{var n=U(`events`),r=U(`url`),i=qn(),a=$n(),o=er(),s=nr(),c=tr(),l=ir(),u=or(),d=class e{constructor(e,t){if(typeof e!=`function`)throw TypeError("Parameter `request` must be a function");return this.cache=new u({uri:typeof t==`string`&&t,store:typeof t!=`string`&&t,namespace:`cacheable-request`}),this.createCacheableRequest(e)}createCacheableRequest(t){return(u,d)=>{let m;if(typeof u==`string`)m=p(r.parse(u)),u={};else if(u instanceof r.URL)m=p(r.parse(u.toString())),u={};else{let[e,...t]=(u.path||``).split(`?`),n=t.length>0?`?${t.join(`?`)}`:``;m=p({...u,pathname:e,search:n})}u={headers:{},method:`GET`,cache:!0,strictTtl:!1,automaticFailover:!1,...u,...f(m)},u.headers=c(u.headers);let h=new n,g=i(r.format(m),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),_=`${u.method}:${g}`,v=!1,y=!1,b=n=>{y=!0;let r=!1,i,c=new Promise(e=>{i=()=>{r||(r=!0,e())}}),u=t=>{if(v&&!n.forceRefresh){t.status=t.statusCode;let e=o.fromObject(v.cachePolicy).revalidatedPolicy(n,t);if(!e.modified){let n=e.policy.responseHeaders();t=new s(v.statusCode,n,v.body,v.url),t.cachePolicy=e.policy,t.fromCache=!0}}t.fromCache||(t.cachePolicy=new o(n,t,n),t.fromCache=!1);let i;n.cache&&t.cachePolicy.storable()?(i=l(t),(async()=>{try{let e=a.buffer(t);if(await Promise.race([c,new Promise(e=>t.once(`end`,e))]),r)return;let i=await e,o={cachePolicy:t.cachePolicy.toObject(),url:t.url,statusCode:t.fromCache?v.statusCode:t.statusCode,body:i},s=n.strictTtl?t.cachePolicy.timeToLive():void 0;n.maxTtl&&(s=s?Math.min(s,n.maxTtl):n.maxTtl),await this.cache.set(_,o,s)}catch(t){h.emit(`error`,new e.CacheError(t))}})()):n.cache&&v&&(async()=>{try{await this.cache.delete(_)}catch(t){h.emit(`error`,new e.CacheError(t))}})(),h.emit(`response`,i||t),typeof d==`function`&&d(i||t)};try{let e=t(n,u);e.once(`error`,i),e.once(`abort`,i),h.emit(`request`,e)}catch(t){h.emit(`error`,new e.RequestError(t))}};return(async()=>{let t=async e=>{await Promise.resolve();let t=e.cache?await this.cache.get(_):void 0;if(t===void 0)return b(e);let n=o.fromObject(t.cachePolicy);if(n.satisfiesWithoutRevalidation(e)&&!e.forceRefresh){let e=n.responseHeaders(),r=new s(t.statusCode,e,t.body,t.url);r.cachePolicy=n,r.fromCache=!0,h.emit(`response`,r),typeof d==`function`&&d(r)}else v=t,e.headers=n.revalidationHeaders(e),b(e)},n=t=>h.emit(`error`,new e.CacheError(t));this.cache.once(`error`,n),h.on(`response`,()=>this.cache.removeListener(`error`,n));try{await t(u)}catch(t){u.automaticFailover&&!y&&b(u),h.emit(`error`,new e.CacheError(t))}})(),h}}};function f(e){let t={...e};return t.path=`${e.pathname||`/`}${e.search||``}`,delete t.pathname,delete t.search,t}function p(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||`localhost`,port:e.port,pathname:e.pathname,search:e.search}}d.RequestError=class extends Error{constructor(e){super(e.message),this.name=`RequestError`,Object.assign(this,e)}},d.CacheError=class extends Error{constructor(e){super(e.message),this.name=`CacheError`,Object.assign(this,e)}},t.exports=d})),cr=H(((e,t)=>{var n=[`aborted`,`complete`,`headers`,`httpVersion`,`httpVersionMinor`,`httpVersionMajor`,`method`,`rawHeaders`,`rawTrailers`,`setTimeout`,`socket`,`statusCode`,`statusMessage`,`trailers`,`url`];t.exports=(e,t)=>{if(t._readableState.autoDestroy)throw Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(e).concat(n)),i={};for(let n of r)n in t||(i[n]={get(){let t=e[n];return typeof t==`function`?t.bind(e):t},set(t){e[n]=t},enumerable:!0,configurable:!1});return Object.defineProperties(t,i),e.once(`aborted`,()=>{t.destroy(),t.emit(`aborted`)}),e.once(`close`,()=>{e.complete&&t.readable?t.once(`end`,()=>{t.emit(`close`)}):t.emit(`close`)}),t}})),lr=H(((e,t)=>{var{Transform:n,PassThrough:r}=U(`stream`),i=U(`zlib`),a=cr();t.exports=e=>{let t=(e.headers[`content-encoding`]||``).toLowerCase();if(![`gzip`,`deflate`,`br`].includes(t))return e;let o=t===`br`;if(o&&typeof i.createBrotliDecompress!=`function`)return e.destroy(Error(`Brotli is not supported on Node.js < 12`)),e;let s=!0,c=new n({transform(e,t,n){s=!1,n(null,e)},flush(e){e()}}),l=new r({autoDestroy:!1,destroy(t,n){e.destroy(),n(t)}}),u=o?i.createBrotliDecompress():i.createUnzip();return u.once(`error`,t=>{if(s&&!e.readable){l.end();return}l.destroy(t)}),a(e,l),e.pipe(c).pipe(u).pipe(l),l}})),ur=H(((e,t)=>{t.exports=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction==`function`)for(let[e,t]of this.oldCache.entries())this.onEviction(e,t);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}}})),dr=H(((e,t)=>{var n=U(`events`),r=U(`tls`),i=U(`http2`),a=ur(),o=Symbol(`currentStreamsCount`),s=Symbol(`request`),c=Symbol(`cachedOriginSet`),l=Symbol(`gracefullyClosing`),u=`maxDeflateDynamicTableSize.maxSessionMemory.maxHeaderListPairs.maxOutstandingPings.maxReservedRemoteStreams.maxSendHeaderBlockLength.paddingStrategy.localAddress.path.rejectUnauthorized.minDHSize.ca.cert.clientCertEngine.ciphers.key.pfx.servername.minVersion.maxVersion.secureProtocol.crl.honorCipherOrder.ecdhCurve.dhparam.secureOptions.sessionIdContext`.split(`.`),d=(e,t,n)=>{let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;n(e[a],t)?r=a+1:i=a}return r},f=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,p=(e,t)=>{for(let n of e)n[c].length<t[c].length&&n[c].every(e=>t[c].includes(e))&&n[o]+t[o]<=t.remoteSettings.maxConcurrentStreams&&g(n)},m=(e,t)=>{for(let n of e)t[c].length<n[c].length&&t[c].every(e=>n[c].includes(e))&&t[o]+n[o]<=n.remoteSettings.maxConcurrentStreams&&g(t)},h=({agent:e,isFree:t})=>{let n={};for(let r in e.sessions){let i=e.sessions[r].filter(e=>{let n=e[_.kCurrentStreamsCount]<e.remoteSettings.maxConcurrentStreams;return t?n:!n});i.length!==0&&(n[r]=i)}return n},g=e=>{e[l]=!0,e[o]===0&&e.close()},_=class e extends n{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:n=10,maxCachedTlsSessions:r=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=n,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new a({maxSize:r})}static normalizeOrigin(e,t){return typeof e==`string`&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t=``;if(e)for(let n of u)e[n]&&(t+=`:${e[n]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let n=this.queue[e][t];this._sessionsCount<this.maxSessions&&!n.completed&&(n.completed=!0,n())}getSession(t,n,r){return new Promise((a,u)=>{Array.isArray(r)?(r=[...r],a()):r=[{resolve:a,reject:u}];let h=this.normalizeOptions(n),g=e.normalizeOrigin(t,n&&n.servername);if(g===void 0){for(let{reject:e}of r)e(TypeError("The `origin` argument needs to be a string or an URL object"));return}if(h in this.sessions){let e=this.sessions[h],t=-1,n=-1,i;for(let r of e){let e=r.remoteSettings.maxConcurrentStreams;if(e<t)break;if(r[c].includes(g)){let a=r[o];if(a>=e||r[l]||r.destroyed)continue;i||(t=e),a>n&&(i=r,n=a)}}if(i){if(r.length!==1){for(let{reject:e}of r)e(Error(`Expected the length of listeners to be 1, got ${r.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`));return}r[0].resolve(i);return}}if(h in this.queue){if(g in this.queue[h]){this.queue[h][g].listeners.push(...r),this._tryToCreateNewSession(h,g);return}}else this.queue[h]={};let _=()=>{h in this.queue&&this.queue[h][g]===v&&(delete this.queue[h][g],Object.keys(this.queue[h]).length===0&&delete this.queue[h])},v=()=>{let e=`${g}:${h}`,a=!1;try{let u=i.connect(t,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(e),...n});u[o]=0,u[l]=!1;let y=()=>u[o]<u.remoteSettings.maxConcurrentStreams,b=!0;u.socket.once(`session`,t=>{this.tlsSessionCache.set(e,t)}),u.once(`error`,t=>{for(let{reject:e}of r)e(t);this.tlsSessionCache.delete(e)}),u.setTimeout(this.timeout,()=>{u.destroy()}),u.once(`close`,()=>{if(a){b&&this._freeSessionsCount--,this._sessionsCount--;let e=this.sessions[h];e.splice(e.indexOf(u),1),e.length===0&&delete this.sessions[h]}else{let e=Error(`Session closed without receiving a SETTINGS frame`);e.code=`HTTP2WRAPPER_NOSETTINGS`;for(let{reject:t}of r)t(e);_()}this._tryToCreateNewSession(h,g)});let x=()=>{if(h in this.queue&&y()){for(let e of u[c])if(e in this.queue[h]){let{listeners:t}=this.queue[h][e];for(;t.length!==0&&y();)t.shift().resolve(u);let n=this.queue[h];if(n[e].listeners.length===0&&(delete n[e],Object.keys(n).length===0)){delete this.queue[h];break}if(!y())break}}};u.on(`origin`,()=>{u[c]=u.originSet,y()&&(x(),p(this.sessions[h],u))}),u.once(`remoteSettings`,()=>{if(u.ref(),u.unref(),this._sessionsCount++,v.destroyed){let e=Error(`Agent has been destroyed`);for(let t of r)t.reject(e);u.destroy();return}u[c]=u.originSet;{let e=this.sessions;if(h in e){let t=e[h];t.splice(d(t,u,f),0,u)}else e[h]=[u]}this._freeSessionsCount+=1,a=!0,this.emit(`session`,u),x(),_(),u[o]===0&&this._freeSessionsCount>this.maxFreeSessions&&u.close(),r.length!==0&&(this.getSession(g,n,r),r.length=0),u.on(`remoteSettings`,()=>{x(),p(this.sessions[h],u)})}),u[s]=u.request,u.request=(e,t)=>{if(u[l])throw Error(`The session is gracefully closing. No new streams are allowed.`);let n=u[s](e,t);return u.ref(),++u[o],u[o]===u.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,n.once(`close`,()=>{if(b=y(),--u[o],!u.destroyed&&!u.closed&&(m(this.sessions[h],u),y()&&!u.closed)){b||=(this._freeSessionsCount++,!0);let e=u[o]===0;e&&u.unref(),e&&(this._freeSessionsCount>this.maxFreeSessions||u[l])?u.close():(p(this.sessions[h],u),x())}}),n}}catch(e){for(let t of r)t.reject(e);_()}};v.listeners=r,v.completed=!1,v.destroyed=!1,this.queue[h][g]=v,this._tryToCreateNewSession(h,g)})}request(e,t,n,r){return new Promise((i,a)=>{this.getSession(e,t,[{reject:a,resolve:e=>{try{i(e.request(n,r))}catch(e){a(e)}}}])})}createConnection(t,n){return e.connect(t,n)}static connect(e,t){t.ALPNProtocols=[`h2`];let n=e.port||443,i=e.hostname||e.host;return t.servername===void 0&&(t.servername=i),r.connect(n,i,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[o]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let n of t)n.destroy(e);for(let e of Object.values(this.queue))for(let t of Object.values(e))t.destroyed=!0;this.queue={}}get freeSessions(){return h({agent:this,isFree:!0})}get busySessions(){return h({agent:this,isFree:!1})}};_.kCurrentStreamsCount=o,_.kGracefullyClosing=l,t.exports={Agent:_,globalAgent:new _}})),fr=H(((e,t)=>{var{Readable:n}=U(`stream`);t.exports=class extends n{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage=``,this.httpVersion=`2.0`,this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners(`data`),this.resume())}_read(){this.req&&this.req._request.resume()}}})),pr=H(((e,t)=>{t.exports=e=>{let t={protocol:e.protocol,hostname:typeof e.hostname==`string`&&e.hostname.startsWith(`[`)?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||``}${e.search||``}`};return typeof e.port==`string`&&e.port.length!==0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||``}:${e.password||``}`),t}})),mr=H(((e,t)=>{t.exports=(e,t,n)=>{for(let r of n)e.on(r,(...e)=>t.emit(r,...e))}})),hr=H(((e,t)=>{t.exports=e=>{switch(e){case`:method`:case`:scheme`:case`:authority`:case`:path`:return!0;default:return!1}}})),gr=H(((e,t)=>{var n=(e,n,r)=>{t.exports[n]=class extends e{constructor(...e){super(typeof r==`string`?r:r(e)),this.name=`${super.name} [${n}]`,this.code=n}}};n(TypeError,`ERR_INVALID_ARG_TYPE`,e=>{let t=e[0].includes(`.`)?`property`:`argument`,n=e[1],r=Array.isArray(n);return r&&(n=`${n.slice(0,-1).join(`, `)} or ${n.slice(-1)}`),`The "${e[0]}" ${t} must be ${r?`one of`:`of`} type ${n}. Received ${typeof e[2]}`}),n(TypeError,`ERR_INVALID_PROTOCOL`,e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`),n(Error,`ERR_HTTP_HEADERS_SENT`,e=>`Cannot ${e[0]} headers after they are sent to the client`),n(TypeError,`ERR_INVALID_HTTP_TOKEN`,e=>`${e[0]} must be a valid HTTP token [${e[1]}]`),n(TypeError,`ERR_HTTP_INVALID_HEADER_VALUE`,e=>`Invalid value "${e[0]} for header "${e[1]}"`),n(TypeError,`ERR_INVALID_CHAR`,e=>`Invalid character in ${e[0]} [${e[1]}]`)})),_r=H(((e,t)=>{var n=U(`http2`),{Writable:r}=U(`stream`),{Agent:i,globalAgent:a}=dr(),o=fr(),s=pr(),c=mr(),l=hr(),{ERR_INVALID_ARG_TYPE:u,ERR_INVALID_PROTOCOL:d,ERR_HTTP_HEADERS_SENT:f,ERR_INVALID_HTTP_TOKEN:p,ERR_HTTP_INVALID_HEADER_VALUE:m,ERR_INVALID_CHAR:h}=gr(),{HTTP2_HEADER_STATUS:g,HTTP2_HEADER_METHOD:_,HTTP2_HEADER_PATH:v,HTTP2_METHOD_CONNECT:y}=n.constants,b=Symbol(`headers`),x=Symbol(`origin`),S=Symbol(`session`),C=Symbol(`options`),w=Symbol(`flushedHeaders`),T=Symbol(`jobs`),E=/^[\^`\-\w!#$%&*+.|~]+$/,D=/[^\t\u0020-\u007E\u0080-\u00FF]/;t.exports=class extends r{constructor(e,t,n){super({autoDestroy:!1});let r=typeof e==`string`||e instanceof URL;if(r&&(e=s(e instanceof URL?e:new URL(e))),typeof t==`function`||t===void 0?(n=t,t=r?e:{...e}):t={...e,...t},t.h2session)this[S]=t.h2session;else if(t.agent===!1)this.agent=new i({maxFreeSessions:0});else if(t.agent===void 0||t.agent===null)typeof t.createConnection==`function`?(this.agent=new i({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=a;else if(typeof t.agent.request==`function`)this.agent=t.agent;else throw new u(`options.agent`,[`Agent-like Object`,`undefined`,`false`],t.agent);if(t.protocol&&t.protocol!==`https:`)throw new d(t.protocol,`https:`);let o=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,c=t.hostname||t.host||`localhost`;delete t.hostname,delete t.host,delete t.port;let{timeout:l}=t;if(t.timeout=void 0,this[b]=Object.create(null),this[T]=[],this.socket=null,this.connection=null,this.method=t.method||`GET`,this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[e,n]of Object.entries(t.headers))this.setHeader(e,n);t.auth&&!(`authorization`in this[b])&&(this[b].authorization=`Basic `+Buffer.from(t.auth).toString(`base64`)),t.session=t.tlsSession,t.path=t.socketPath,this[C]=t,o===443?(this[x]=`https://${c}`,`:authority`in this[b]||(this[b][`:authority`]=c)):(this[x]=`https://${c}:${o}`,`:authority`in this[b]||(this[b][`:authority`]=`${c}:${o}`)),l&&this.setTimeout(l),n&&this.once(`response`,n),this[w]=!1}get method(){return this[b][_]}set method(e){e&&(this[b][_]=e.toUpperCase())}get path(){return this[b][v]}set path(e){e&&(this[b][v]=e)}get _mustNotHaveABody(){return this.method===`GET`||this.method===`HEAD`||this.method===`DELETE`}_write(e,t,n){if(this._mustNotHaveABody){n(Error(`The GET, HEAD and DELETE methods must NOT have a body`));return}this.flushHeaders();let r=()=>this._request.write(e,t,n);this._request?r():this[T].push(r)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?t():this[T].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit(`abort`)),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[w]||this.destroyed)return;this[w]=!0;let e=this.method===y,t=t=>{if(this._request=t,this.destroyed){t.destroy();return}e||c(t,this,[`timeout`,`continue`,`close`,`error`]);let n=e=>(...t)=>{!this.writable&&!this.destroyed?e(...t):this.once(`finish`,()=>{e(...t)})};t.once(`response`,n((n,r,i)=>{let a=new o(this.socket,t.readableHighWaterMark);this.res=a,a.req=this,a.statusCode=n[g],a.headers=n,a.rawHeaders=i,a.once(`end`,()=>{this.aborted?(a.aborted=!0,a.emit(`aborted`)):(a.complete=!0,a.socket=null,a.connection=null)}),e?(a.upgrade=!0,this.emit(`connect`,a,t,Buffer.alloc(0))?this.emit(`close`):t.destroy()):(t.on(`data`,e=>{!a._dumped&&!a.push(e)&&t.pause()}),t.once(`end`,()=>{a.push(null)}),this.emit(`response`,a)||a._dump())})),t.once(`headers`,n(e=>this.emit(`information`,{statusCode:e[g]}))),t.once(`trailers`,n((e,t,n)=>{let{res:r}=this;r.trailers=e,r.rawTrailers=n}));let{socket:r}=t.session;this.socket=r,this.connection=r;for(let e of this[T])e();this.emit(`socket`,this.socket)};if(this[S])try{t(this[S].request(this[b]))}catch(e){this.emit(`error`,e)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[x],this[C],this[b]))}catch(e){this.emit(`error`,e)}}}getHeader(e){if(typeof e!=`string`)throw new u(`name`,`string`,e);return this[b][e.toLowerCase()]}get headersSent(){return this[w]}removeHeader(e){if(typeof e!=`string`)throw new u(`name`,`string`,e);if(this.headersSent)throw new f(`remove`);delete this[b][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new f(`set`);if(typeof e!=`string`||!E.test(e)&&!l(e))throw new p(`Header name`,e);if(t===void 0)throw new m(t,e);if(D.test(t))throw new h(`header content`,e);this[b][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let n=()=>this._request.setTimeout(e,t);return this._request?n():this[T].push(n),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}}})),vr=H(((e,t)=>{var n=U(`tls`);t.exports=(e={},t=n.connect)=>new Promise((n,r)=>{let i=!1,a,o=async()=>{await c,a.off(`timeout`,s),a.off(`error`,r),e.resolveSocket?(n({alpnProtocol:a.alpnProtocol,socket:a,timeout:i}),i&&(await Promise.resolve(),a.emit(`timeout`))):(a.destroy(),n({alpnProtocol:a.alpnProtocol,timeout:i}))},s=async()=>{i=!0,o()},c=(async()=>{try{a=await t(e,o),a.on(`error`,r),a.once(`timeout`,s)}catch(e){r(e)}})()})})),yr=H(((e,t)=>{var n=U(`net`);t.exports=e=>{let t=e.host,r=e.headers&&e.headers.host;return r&&(t=r.startsWith(`[`)?r.indexOf(`]`)===-1?r:r.slice(1,-1):r.split(`:`,1)[0]),n.isIP(t)?``:t}})),br=H(((e,t)=>{var n=U(`http`),r=U(`https`),i=vr(),a=ur(),o=_r(),s=yr(),c=pr(),l=new a({maxSize:100}),u=new Map,d=(e,t,n)=>{t._httpMessage={shouldKeepAlive:!0};let r=()=>{e.emit(`free`,t,n)};t.on(`free`,r);let i=()=>{e.removeSocket(t,n)};t.on(`close`,i);let a=()=>{e.removeSocket(t,n),t.off(`close`,i),t.off(`free`,r),t.off(`agentRemove`,a)};t.on(`agentRemove`,a),e.emit(`free`,t,n)},f=async e=>{let t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!l.has(t)){if(u.has(t))return(await u.get(t)).alpnProtocol;let{path:n,agent:a}=e;e.path=e.socketPath;let o=i(e);u.set(t,o);try{let{socket:i,alpnProtocol:s}=await o;if(l.set(t,s),e.path=n,s===`h2`)i.destroy();else{let{globalAgent:t}=r,n=r.Agent.prototype.createConnection;a?a.createConnection===n?d(a,i,e):i.destroy():t.createConnection===n?d(t,i,e):i.destroy()}return u.delete(t),s}catch(e){throw u.delete(t),e}}return l.get(t)};t.exports=async(e,t,i)=>{if((typeof e==`string`||e instanceof URL)&&(e=c(new URL(e))),typeof t==`function`&&(i=t,t=void 0),t={ALPNProtocols:[`h2`,`http/1.1`],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||t.ALPNProtocols.length===0)throw Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||`https:`;let a=t.protocol===`https:`;t.host=t.hostname||t.host||`localhost`,t.session=t.tlsSession,t.servername=t.servername||s(t),t.port=t.port||(a?443:80),t._defaultAgent=a?r.globalAgent:n.globalAgent;let l=t.agent;if(l){if(l.addRequest)throw Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=l[a?`https`:`http`]}return a&&await f(t)===`h2`?(l&&(t.agent=l.http2),new o(t,i)):n.request(t,i)},t.exports.protocolCache=l})),xr=H(((e,t)=>{var n=U(`http2`),r=dr(),i=_r(),a=fr(),o=br(),s=(e,t,n)=>new i(e,t,n),c=(e,t,n)=>{let r=new i(e,t,n);return r.end(),r};t.exports={...n,ClientRequest:i,IncomingMessage:a,...r,request:s,get:c,auto:o}})),Sr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q();e.default=e=>t.default.nodeStream(e)&&t.default.function_(e.getBoundary)})),Cr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=U(`fs`),n=U(`util`),r=Q(),i=Sr(),a=n.promisify(t.stat);e.default=async(e,o)=>{if(o&&`content-length`in o)return Number(o[`content-length`]);if(!e)return 0;if(r.default.string(e))return Buffer.byteLength(e);if(r.default.buffer(e))return e.length;if(i.default(e))return n.promisify(e.getLength.bind(e))();if(e instanceof t.ReadStream){let{size:t}=await a(e.path);return t===0?void 0:t}}})),wr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e,t,n){let r={};for(let i of n)r[i]=(...e)=>{t.emit(i,...e)},e.on(i,r[i]);return()=>{for(let t of n)e.off(t,r[t])}}e.default=t})),Tr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=()=>{let e=[];return{once(t,n,r){t.once(n,r),e.push({origin:t,event:n,fn:r})},unhandleAll(){for(let t of e){let{origin:e,event:n,fn:r}=t;e.removeListener(n,r)}e.length=0}}}})),Er=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TimeoutError=void 0;var t=U(`net`),n=Tr(),r=Symbol(`reentry`),i=()=>{},a=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name=`TimeoutError`,this.code=`ETIMEDOUT`}};e.TimeoutError=a,e.default=(e,o,s)=>{if(r in e)return i;e[r]=!0;let c=[],{once:l,unhandleAll:u}=n.default(),d=(e,t,n)=>{var r;let i=setTimeout(t,e,e,n);(r=i.unref)==null||r.call(i);let a=()=>{clearTimeout(i)};return c.push(a),a},{host:f,hostname:p}=s,m=(t,n)=>{e.destroy(new a(t,n))},h=()=>{for(let e of c)e();u()};if(e.once(`error`,t=>{if(h(),e.listenerCount(`error`)===0)throw t}),e.once(`close`,h),l(e,`response`,e=>{l(e,`end`,h)}),o.request!==void 0&&d(o.request,m,`request`),o.socket!==void 0){let t=()=>{m(o.socket,`socket`)};e.setTimeout(o.socket,t),c.push(()=>{e.removeListener(`timeout`,t)})}return l(e,`socket`,n=>{let{socketPath:r}=e;if(n.connecting){let e=!!(r??t.isIP(p??f??``)!==0);if(o.lookup!==void 0&&!e&&n.address().address===void 0){let e=d(o.lookup,m,`lookup`);l(n,`lookup`,e)}if(o.connect!==void 0){let t=()=>d(o.connect,m,`connect`);e?l(n,`connect`,t()):l(n,`lookup`,e=>{e===null&&l(n,`connect`,t())})}o.secureConnect!==void 0&&s.protocol===`https:`&&l(n,`connect`,()=>{let e=d(o.secureConnect,m,`secureConnect`);l(n,`secureConnect`,e)})}if(o.send!==void 0){let t=()=>d(o.send,m,`send`);n.connecting?l(n,`connect`,()=>{l(e,`upload-complete`,t())}):l(e,`upload-complete`,t())}}),o.response!==void 0&&l(e,`upload-complete`,()=>{let t=d(o.response,m,`response`);l(e,`response`,t)}),h}})),Dr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q();e.default=e=>{e=e;let n={protocol:e.protocol,hostname:t.default.string(e.hostname)&&e.hostname.startsWith(`[`)?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||``}${e.search||``}`};return t.default.string(e.port)&&e.port.length>0&&(n.port=Number(e.port)),(e.username||e.password)&&(n.auth=`${e.username||``}:${e.password||``}`),n}})),Or=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=U(`url`),n=[`protocol`,`host`,`hostname`,`port`,`pathname`,`search`];e.default=(e,r)=>{if(r.path){if(r.pathname)throw TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(r.search)throw TypeError("Parameters `path` and `search` are mutually exclusive.");if(r.searchParams)throw TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(r.search&&r.searchParams)throw TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!r.protocol)throw TypeError(`No URL protocol specified`);e=`${r.protocol}//${r.hostname??r.host??``}`}let i=new t.URL(e);if(r.path){let e=r.path.indexOf(`?`);e===-1?r.pathname=r.path:(r.pathname=r.path.slice(0,e),r.search=r.path.slice(e+1)),delete r.path}for(let e of n)r[e]&&(i[e]=r[e].toString());return i}})),kr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e==`object`?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e==`object`?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e==`object`?this.weakMap.has(e):this.map.has(e)}}})),Ar=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=async e=>{let t=[],n=0;for await(let r of e)t.push(r),n+=Buffer.byteLength(r);return Buffer.isBuffer(t[0])?Buffer.concat(t,n):Buffer.from(t.join(``))}})),jr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.dnsLookupIpVersionToFamily=e.isDnsLookupIpVersion=void 0;var t={auto:0,ipv4:4,ipv6:6};e.isDnsLookupIpVersion=e=>e in t,e.dnsLookupIpVersionToFamily=n=>{if(e.isDnsLookupIpVersion(n))return t[n];throw Error(`Invalid DNS lookup IP version`)}})),Mr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isResponseOk=void 0,e.isResponseOk=e=>{let{statusCode:t}=e,n=e.request.options.followRedirect?299:399;return t>=200&&t<=n||t===304}})),Nr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=new Set;e.default=e=>{t.has(e)||(t.add(e),process.emitWarning(`Got: ${e}`,{type:`DeprecationWarning`}))}})),Pr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q();e.default=(e,n)=>{if(t.default.null_(e.encoding))throw TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");t.assert.any([t.default.string,t.default.undefined],e.encoding),t.assert.any([t.default.boolean,t.default.undefined],e.resolveBodyOnly),t.assert.any([t.default.boolean,t.default.undefined],e.methodRewriting),t.assert.any([t.default.boolean,t.default.undefined],e.isStream),t.assert.any([t.default.string,t.default.undefined],e.responseType),e.responseType===void 0&&(e.responseType=`text`);let{retry:r}=e;if(e.retry=n?{...n.retry}:{calculateDelay:e=>e.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},t.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(e=>e.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):t.default.number(r)&&(e.retry.limit=r),t.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(t.default.number))),t.default.object(e.pagination)){n&&(e.pagination={...n.pagination,...e.pagination});let{pagination:r}=e;if(!t.default.function_(r.transform))throw Error("`options.pagination.transform` must be implemented");if(!t.default.function_(r.shouldContinue))throw Error("`options.pagination.shouldContinue` must be implemented");if(!t.default.function_(r.filter))throw TypeError("`options.pagination.filter` must be implemented");if(!t.default.function_(r.paginate))throw Error("`options.pagination.paginate` must be implemented")}return e.responseType===`json`&&e.headers.accept===void 0&&(e.headers.accept=`application/json`),e}})),Fr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.retryAfterStatusCodes=void 0,e.retryAfterStatusCodes=new Set([413,429,503]),e.default=({attemptCount:e,retryOptions:t,error:n,retryAfter:r})=>{if(e>t.limit)return 0;let i=t.methods.includes(n.options.method),a=t.errorCodes.includes(n.code),o=n.response&&t.statusCodes.includes(n.response.statusCode);if(!i||!a&&!o)return 0;if(n.response){if(r)return t.maxRetryAfter===void 0||r>t.maxRetryAfter?0:r;if(n.response.statusCode===413)return 0}let s=Math.random()*100;return 2**(e-1)*1e3+s}})),Ir=H((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UnsupportedProtocolError=e.ReadError=e.TimeoutError=e.UploadError=e.CacheError=e.HTTPError=e.MaxRedirectsError=e.RequestError=e.setNonEnumerableProperties=e.knownHookEvents=e.withoutBody=e.kIsNormalizedAlready=void 0;var t=U(`util`),n=U(`stream`),r=U(`fs`),i=U(`url`),a=U(`http`),o=U(`http`),s=U(`https`),c=Gn(),l=Kn(),u=sr(),d=lr(),f=xr(),p=tr(),m=Q(),h=Cr(),g=Sr(),_=wr(),v=Er(),y=Dr(),b=Or(),x=kr(),S=Ar(),C=jr(),w=Mr(),T=Nr(),E=Pr(),D=Fr(),O,k=Symbol(`request`),A=Symbol(`response`),j=Symbol(`responseSize`),M=Symbol(`downloadedSize`),N=Symbol(`bodySize`),P=Symbol(`uploadedSize`),F=Symbol(`serverResponsesPiped`),I=Symbol(`unproxyEvents`),L=Symbol(`isFromCache`),R=Symbol(`cancelTimeouts`),z=Symbol(`startedReading`),B=Symbol(`stopReading`),V=Symbol(`triggerRead`),H=Symbol(`body`),ee=Symbol(`jobs`),te=Symbol(`originalResponse`),ne=Symbol(`retryTimeout`);e.kIsNormalizedAlready=Symbol(`isNormalizedAlready`);var re=m.default.string(process.versions.brotli);e.withoutBody=new Set([`GET`,`HEAD`]),e.knownHookEvents=[`init`,`beforeRequest`,`beforeRedirect`,`beforeError`,`beforeRetry`,`afterResponse`];function ie(e){for(let t in e){let n=e[t];if(!m.default.string(n)&&!m.default.number(n)&&!m.default.boolean(n)&&!m.default.null_(n)&&!m.default.undefined(n))throw TypeError(`The \`searchParams\` value '${String(n)}' must be a string, number, boolean or null`)}}function ae(e){return m.default.object(e)&&!(`statusCode`in e)}var oe=new x.default,se=async e=>new Promise((t,n)=>{let r=e=>{n(e)};e.pending||t(),e.once(`error`,r),e.once(`ready`,()=>{e.off(`error`,r),t()})}),ce=new Set([300,301,302,303,304,307,308]),le=[`context`,`body`,`json`,`form`];e.setNonEnumerableProperties=(e,t)=>{let n={};for(let t of e)if(t)for(let e of le)e in t&&(n[e]={writable:!0,configurable:!0,enumerable:!1,value:t[e]});Object.defineProperties(t,n)};var W=class extends Error{constructor(e,t,n){if(super(e),Error.captureStackTrace(this,this.constructor),this.name=`RequestError`,this.code=t.code??`ERR_GOT_REQUEST_ERROR`,n instanceof ve?(Object.defineProperty(this,"request",{enumerable:!1,value:n}),Object.defineProperty(this,"response",{enumerable:!1,value:n[A]}),Object.defineProperty(this,"options",{enumerable:!1,value:n.options})):Object.defineProperty(this,"options",{enumerable:!1,value:n}),this.timings=this.request?.timings,m.default.string(t.stack)&&m.default.string(this.stack)){let e=this.stack.indexOf(this.message)+this.message.length,n=this.stack.slice(e).split(`
9
+ `))}outputVersion(){let{name:e}=this.cli,{versionNumber:t}=this.cli.globalCommand;t&&console.log(`${e}/${t} ${U}`)}checkRequiredArgs(){let e=this.args.filter(e=>e.required).length;if(this.cli.args.length<e)throw new se(`missing required args for command \`${this.rawName}\``)}checkUnknownOptions(){let{options:e,globalCommand:t}=this.cli;if(!this.config.allowUnknownOptions){for(let n of Object.keys(e))if(n!==`--`&&!this.hasOption(n)&&!t.hasOption(n))throw new se(`Unknown option \`${n.length>1?`--${n}`:`-${n}`}\``)}}checkOptionValue(){let{options:e,globalCommand:t}=this.cli,n=[...t.options,...this.options];for(let t of n){let r=e[t.name.split(`.`)[0]];if(t.required){let e=n.some(e=>e.negated&&e.names.includes(t.name));if(r===!0||r===!1&&!e)throw new se(`option \`${t.rawName}\` value is missing`)}}}},de=class extends ue{constructor(e){super(`@@global@@`,``,{},e)}},fe=Object.assign,pe=class extends t{constructor(e=``){super(),this.name=e,this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.globalCommand=new de(this),this.globalCommand.usage(`<command> [options]`)}usage(e){return this.globalCommand.usage(e),this}command(e,t,n){let r=new ue(e,t||``,n,this);return r.globalCommand=this.globalCommand,this.commands.push(r),r}option(e,t,n){return this.globalCommand.option(e,t,n),this}help(e){return this.globalCommand.option(`-h, --help`,`Display this message`),this.globalCommand.helpCallback=e,this.showHelpOnExit=!0,this}version(e,t=`-v, --version`){return this.globalCommand.version(e,t),this.showVersionOnExit=!0,this}example(e){return this.globalCommand.example(e),this}outputHelp(){this.matchedCommand?this.matchedCommand.outputHelp():this.globalCommand.outputHelp()}outputVersion(){this.globalCommand.outputVersion()}setParsedInfo({args:e,options:t},n,r){return this.args=e,this.options=t,n&&(this.matchedCommand=n),r&&(this.matchedCommandName=r),this}unsetMatchedCommand(){this.matchedCommand=void 0,this.matchedCommandName=void 0}parse(e=le,{run:t=!0}={}){this.rawArgs=e,this.name||=e[1]?ae(e[1]):`cli`;let n=!0;for(let t of this.commands){let r=this.mri(e.slice(2),t),i=r.args[0];if(t.isMatched(i)){n=!1;let e=fe(fe({},r),{args:r.args.slice(1)});this.setParsedInfo(e,t,i),this.emit(`command:${i}`,t)}}if(n){for(let t of this.commands)if(t.name===``){n=!1;let r=this.mri(e.slice(2),t);this.setParsedInfo(r,t),this.emit(`command:!`,t)}}if(n){let t=this.mri(e.slice(2));this.setParsedInfo(t)}this.options.help&&this.showHelpOnExit&&(this.outputHelp(),t=!1,this.unsetMatchedCommand()),this.options.version&&this.showVersionOnExit&&this.matchedCommandName==null&&(this.outputVersion(),t=!1,this.unsetMatchedCommand());let r={args:this.args,options:this.options};return t&&this.runMatchedCommand(),!this.matchedCommand&&this.args[0]&&this.emit(`command:*`),r}mri(e,t){let n=[...this.globalCommand.options,...t?t.options:[]],r=H(n),i=[],a=e.indexOf(`--`);a>-1&&(i=e.slice(a+1),e=e.slice(0,a));let o=z(e,r);o=Object.keys(o).reduce((e,t)=>fe(fe({},e),{[oe(t)]:o[t]}),{_:[]});let s=o._,c={"--":i},l=t&&t.config.ignoreOptionDefaultValue?t.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,u=Object.create(null);for(let e of n){if(!l&&e.config.default!==void 0)for(let t of e.names)c[t]=e.config.default;Array.isArray(e.config.type)&&u[e.name]===void 0&&(u[e.name]=Object.create(null),u[e.name].shouldTransform=!0,u[e.name].transformFunction=e.config.type[0])}for(let e of Object.keys(o))e!==`_`&&(re(c,e.split(`.`),o[e]),ie(c,u));return{args:s,options:c}}runMatchedCommand(){let{args:e,options:t,matchedCommand:n}=this;if(!n||!n.commandAction)return;n.checkUnknownOptions(),n.checkOptionValue(),n.checkRequiredArgs();let r=[];return n.args.forEach((t,n)=>{t.variadic?r.push(e.slice(n)):r.push(e[n])}),r.push(t),n.commandAction.apply(this,r)}},me=(e=``)=>new pe(e);function W(e,...t){console.log(e,...t)}function he(e,...t){console.warn(e,...t)}function ge(e,...t){console.error(e,...t)}function _e(e){process.stdout.write(e)}function ve(e){if(e===void 0)return;let t=e.trim();return t===``?void 0:t}function ye(e){return ve(process.env[e])}function be(e){let t=ve(e);if(t===void 0)return;let n=Number(t);return Number.isInteger(n)&&n>0?n:void 0}var xe={APP_DIR:ye(`ELLM_APP_DIR`),PORT:be(ye(`ELLM_PORT`)),NODE_MIRROR:ye(`ELLM_NODE_MIRROR`),NODE_BIN:ye(`ELLM_NODE_BIN`)},Se=x(O(import.meta.url)),Ce;function G(){return Ce===void 0&&(Ce=w(D(),xe.APP_DIR??S(g(),`.ezllm`))),Ce}function we(){return w(G(),`data`)}function Te(){return w(G(),`ezllm.config.json`)}function Ee(){return w(we(),`updater.json`)}function De(){return w(G(),`autostart.opt-out`)}function Oe(){return w(G(),`services.json`)}var ke=[`hook.cjs`,`hook.mjs`,`hook.js`];function K(){return w(G(),`node`)}function Ae(){return w(G(),`bin`)}function je(e){return e.find(e=>o(e))}function Me(){let e=K(),t=[S(e,`node_modules`,`ezllm`),S(e,`lib`,`node_modules`,`ezllm`)];return je(t)??t[0]}function Ne(e){try{return JSON.parse(u(S(e,`package.json`),`utf-8`))}catch{return null}}function Pe(e,t){let n=Se;for(let r=0;r<t;r++){if(Ne(n)?.name===e)return n;n=x(n)}return null}var Fe=Pe(`ezllm`,5)??w(Se,`..`),Ie=Pe(`ellm`,6);function Le(){let e=Ne(Fe);return e?.name===`ezllm`?e.version??`0.0.0`:`0.0.0`}function Re(){let e=we();o(e)||s(e,{recursive:!0})}function ze(e){return je([w(Me(),`dist`,e),S(Fe,`dist`,e),...Ie?[S(Ie,`app`,`cli`,`dist`,e)]:[]])??S(Fe,`dist`,e)}function Be(){return ze(`daemon.js`)}function Ve(){let e=Te();if(o(e))return e;let t=[S(Fe,`ezllm.config.example.json`),...Ie?[S(Ie,`app`,`server`,`ezllm.config.example.json`)]:[]],n=je(t);if(!n)throw Error(`缺少示例配置 ${String(t[0])},无法自动创建配置文件`);return s(G(),{recursive:!0}),r(n,e),W(`已创建配置文件: ${e}`),W(`可直接编辑该文件(填入供应商 apiKey),或经管理台在线修改(实时热更新)。`),e}function He(e,t){let n=`${e}.${`${process.pid}.${A(6).toString(`hex`)}`}.tmp`;try{h(n,JSON.stringify(t,null,2)+`
10
+ `,`utf-8`),f(n,e)}finally{try{p(n,{force:!0})}catch{}}}function Ue(){try{let e=JSON.parse(u(Ee(),`utf-8`));return typeof e!=`object`||!e||Array.isArray(e)?{}:e}catch{return{}}}function We(e){try{Re(),He(Ee(),{...Ue(),...e})}catch{}}function Ge(e){let t=e.now??Date.now,n=e.log??W,r=e.maxArmMs??6e4,i=e.onError??((e,t,r)=>{n(`[scheduler] 作业 ${e.name} 失败(${String(Math.round(r/6e4))} 分钟后重试):${t.message}`)}),a=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?e:null,o=(e,t)=>a(typeof e==`function`?e():e)??t,s=e=>typeof e==`object`&&!!e&&typeof e.then==`function`,c=e.jobs.map(e=>({job:e,nextAt:t()+(e.firstDelayMs??o(e.everyMs,r)),running:!1})),l=null,u=!1;function d(){if(u||l!==null)return;let e=t(),n=1/0;for(let t of c){if(t.running)continue;let r=Math.max(0,t.nextAt-e);r<n&&(n=r)}Number.isFinite(n)&&(l=setTimeout(f,Math.min(n,r)),l.unref())}function f(){if(l=null,u)return;let e=t();for(let t of c)!t.running&&e>=t.nextAt&&m(t);d()}function p(e,n,a){e.running=!1;let s=o(e.job.retryMs??e.job.everyMs,r),c=n??o(e.job.everyMs,r);e.nextAt=t()+(a===null?c:s),a!==null&&i(e.job,a,s),d()}function m(e){e.running=!0;let t;try{t=e.job.run({log:n})}catch(t){p(e,null,t instanceof Error?t:Error(String(t)));return}if(!s(t)){p(e,a(t),null);return}t.then(t=>{p(e,a(t),null)},t=>{p(e,null,t instanceof Error?t:Error(String(t)))})}return d(),{stop(){u=!0,l!==null&&(clearTimeout(l),l=null)}}}var q={rocket:`🚀`,pending:`⏳`,success:`✅`,warn:`❗`,skip:`⏭️`,running:`🟢`,stopped:`🛑`,idle:`💤`,error:`❌`,gateway:`🌐`,webui:`💻`,folder:`📂`,status:`📋`,question:`❓`};function J(e,t){W(t?`${t} ${e}`:e)}function Ke(e){ge(`${q.error} ${e}`)}function qe(e){_e(`${q.pending} ${e}`)}function Je(){_e(` ✓
11
+ `)}function Ye(){_e(` ✗
12
+ `)}function Xe(e,t,n){W(` ${e} ${t} ${n}`)}var Ze=`server`,Qe=`ezllm`;`${Qe}`,`${Qe}`;function Y(e){try{return process.kill(e,0),!0}catch(e){return e?.code===`EPERM`}}var $e={out:`out.log`,err:`err.log`};function et(e,t=$e){let n=S(e,`logs`);return s(n,{recursive:!0}),{out:l(S(n,t.out),`a`),err:l(S(n,t.err),`a`)}}function tt(e){let{out:t,err:n}=et(e.appDir,e.logFiles),r=M(e.interpreter??process.execPath,[e.entryJs,...e.args??[]],{detached:!0,stdio:[`ignore`,t,n],env:{...process.env,...e.env},windowsHide:!0});return r.on(`error`,t=>{ge(`[ezllm] 拉起进程失败(解释器 ${e.interpreter??process.execPath},脚本 ${e.entryJs}):${t.message}`)}),r.unref(),r.pid??0}function nt(e){let{out:t,err:n}=et(e.appDir,e.logFiles);return M(e.interpreter??process.execPath,[e.entryJs,...e.args??[]],{stdio:[`ignore`,t,n,`ipc`],env:{...process.env,...e.env},windowsHide:!0})}var rt=/\.(?:com|exe)$/i,it=/node_modules[\\/]\.bin[\\/][^\\/]+\.cmd$/i,at=/([()\][%!^"`<>&|;, *?])/g;function ot(e,t,n=_()){let r=(e,t)=>{let n=e.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`);return n=n.replace(/(?=(\\+?)?)\1$/,`$1$1`),n=`"${n}"`,n=n.replace(at,`^$1`),t&&(n=n.replace(at,`^$1`)),n};if(n!==`win32`||rt.test(e))return{command:e,args:[...t],windowsVerbatimArguments:!1};let i=E.normalize(e),a=i.replace(at,`^$1`),o=it.test(i),s=t.map(e=>r(e,o));return{command:process.env.comspec??`cmd.exe`,args:[`/d`,`/s`,`/c`,`"${[a,...s].join(` `)}"`],windowsVerbatimArguments:!0}}function st(e){let{out:t,err:n}=et(e.appDir,e.logFiles),r=ot(e.command,e.args??[]);return M(r.command,r.args,{...e.cwd===void 0?{}:{cwd:e.cwd},stdio:[`ignore`,t,n,`ipc`],env:{...process.env,...e.env},windowsHide:!0,windowsVerbatimArguments:r.windowsVerbatimArguments})}async function ct(e){if(!Y(e))return!0;if(_()===`win32`)M(`taskkill`,[`/PID`,String(e),`/T`,`/F`],{stdio:`ignore`,windowsHide:!0}).on(`error`,t=>{he(`[ezllm] taskkill 执行失败(pid ${String(e)}):${t.message}`)});else try{process.kill(-e,`SIGTERM`)}catch{try{process.kill(e,`SIGTERM`)}catch{}}let t=Date.now()+5e3;for(;Date.now()<t;){if(!Y(e))return!0;await new Promise(e=>setTimeout(e,100))}return!Y(e)}var lt=`ezllm-autostart.vbs`,ut=`ezllm-autostart.cmd`,dt=`com.ezllm.autostart`,ft=`ezllm.service`,pt=`autostart.opt-out`,mt=`ezllm-v2`,ht=`Auto-generated by "ezllm autostart on" (${mt}). Disable with "ezllm autostart off".`,gt=`ELLM_`,_t=new Set([`WEBUI_USERNAME`,`WEBUI_PASSWORD`,`HOST`]);function vt(e=process.env){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(n.startsWith(gt)||_t.has(n))&&(t[n]=r);return t}function yt(e){return S(e,pt)}function bt(){return S((()=>{let e=process.env.APPDATA;if(!e)throw Error(`无法定位启动文件夹(APPDATA 环境变量未设置)。`);return S(e,`Microsoft`,`Windows`,`Start Menu`,`Programs`,`Startup`)})(),lt)}function xt(){return S(g(),`Library`,`LaunchAgents`,`${dt}.plist`)}function St(){return S(g(),`.config`,`systemd`,`user`,ft)}function X(e,t){return new Promise(n=>{let r=M(e,t,{stdio:`ignore`,shell:!1});r.on(`error`,()=>n(127)),r.on(`exit`,e=>n(e??1))})}var Ct={win32:{itemPath:bt,on:kt,off:Mt},darwin:{itemPath:xt,on:At,off:Nt},linux:{itemPath:St,on:jt,off:Pt}};function wt(e){return Ct[e]??null}function Tt(e){let t=wt(e);if(!t)throw Error(`暂不支持的平台: ${e}。`);return t}function Et(e,t){return[e,t.entryJs,...t.args??[]]}function Dt(e){return S(e,`logs`,`autostart.log`)}async function Ot(e,t,n=X){try{h(e,t,`utf16le`);return}catch(r){if(await n(`powershell`,[`-NoProfile`,`-Command`,`$bytes=[Convert]::FromBase64String('${Buffer.from(t,`utf16le`).toString(`base64`)}');[IO.File]::WriteAllBytes('${e.replace(/'/g,`''`)}', $bytes)`])!==0)throw r}}async function kt(e,t){let n=(e,t)=>{let n=/["%\r\n]/;if(n.test(e)||n.test(t))throw Error(`环境变量 ${e} 的键/值含 cmd 无法安全转义的字符(" % 或换行),已拒绝写入自启项;请调整该变量后重试 ezllm autostart on`)},r=(e,t)=>{let r=Dt(t.appDir);return[`@echo off`,`chcp 65001 >nul`,`rem ${ht}`,...Object.entries(t.env).map(([e,t])=>(n(e,t),`set "${e}=${t}"`)),`>> "${r}" echo [%date% %time%] autostart launching.`,`${Et(e,t).map(e=>`"${e}"`).join(` `)} >> "${r}" 2>&1`,``].join(`\r
13
+ `)},i=e=>[`' ${ht}`,`CreateObject("WScript.Shell").Run """${e}""", 0, False`,``].join(`\r
14
+ `),a=bt(),o=S(t.appDir,ut);return h(o,r(e,t),`utf-8`),await Ot(a,`\uFEFF${i(o)}`),a}async function At(e,t){let n=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),r=(e,t)=>{let r=Dt(t.appDir),i=Object.entries(t.env).map(([e,t])=>` <string>${n(e)}</string>\n <string>${n(t)}</string>`).join(`
15
+ `),a=Et(e,t).map(e=>` <string>${n(e)}</string>`).join(`
16
+ `);return[`<?xml version="1.0" encoding="UTF-8"?>`,`<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">`,`<!-- ${mt}: launch daemon -->`,`<plist version="1.0">`,`<dict>`,` <key>Label</key><string>${n(dt)}</string>`,` <key>ProgramArguments</key>`,` <array>`,a,` </array>`,` <key>EnvironmentVariables</key>`,` <dict>`,i,` </dict>`,` <key>RunAtLoad</key><true/>`,` <key>StandardOutPath</key><string>${n(r)}</string>`,` <key>StandardErrorPath</key><string>${n(r)}</string>`,`</dict>`,`</plist>`,``].join(`
17
+ `)},i=xt();h(i,r(e,t),`utf-8`),await X(`launchctl`,[`unload`,i]);let a=await X(`launchctl`,[`load`,i]);if(a!==0)throw Error(`launchctl load 失败(退出码 ${String(a)})。请手动执行: launchctl load "${i}"`);return i}async function jt(e,t){let n=(e,t)=>{let n=Object.entries(t.env).map(([e,t])=>`Environment="${e}=${t.replace(/"/g,`\\"`)}"`).join(`
18
+ `),r=Et(e,t).map(e=>`"${e.replace(/"/g,`\\"`)}"`).join(` `);return[`[Unit]`,`Description=ezllm autostart (${mt}, launch daemon)`,`After=default.target`,``,`[Service]`,`Type=simple`,`ExecStart=${r}`,n,`Restart=on-failure`,`RestartSec=3`,``,`[Install]`,`WantedBy=default.target`,``].join(`
19
+ `)},r=St();s(x(r),{recursive:!0}),h(r,n(e,t),`utf-8`);let i=await X(`systemctl`,[`--user`,`daemon-reload`]);if(i!==0)throw Error(`systemctl --user daemon-reload 失败(退出码 ${String(i)})。当前环境可能无 systemd(WSL/容器),请手动启用或删除: ${r}`);let a=await X(`systemctl`,[`--user`,`enable`,ft]);if(a!==0)throw Error(`systemctl --user enable 失败(退出码 ${String(a)})。请手动执行: systemctl --user enable ${ft}`);return r}async function Mt(e){let t=bt(),n=o(t);return p(t,{force:!0}),p(S(e,ut),{force:!0}),n}async function Nt(){let e=xt();return o(e)?(await X(`launchctl`,[`unload`,e]),p(e,{force:!0}),!0):!1}async function Pt(){let e=St();return o(e)?(await X(`systemctl`,[`--user`,`disable`,ft]),p(e,{force:!0}),await X(`systemctl`,[`--user`,`daemon-reload`]),!0):!1}function Ft(e){let t=()=>wt(_())?.itemPath()??null,n=e=>{let t=u(e);return t.length>=2&&t[0]===255&&t[1]===254?t.toString(`utf16le`).slice(1):t.toString(`utf-8`)},r=t(),i=!1;if(r&&o(r))try{i=n(r).includes(mt)}catch{}return{platform:_(),enabled:i,itemPath:r,optOut:o(yt(e))}}async function It(e){let t=Tt(_());s(S(e.appDir,`logs`),{recursive:!0});let n=await t.on(e.nodePath,e);return p(yt(e.appDir),{force:!0}),{itemPath:n}}async function Lt(e){let t=await Tt(_()).off(e.appDir);return s(e.appDir,{recursive:!0}),h(yt(e.appDir),new Date().toISOString(),`utf-8`),{removed:t}}var Rt=`HKCU\\Environment\\Path`,zt=`ezllm.cmd`,Bt=`ezllm`,Vt=`# >>> ellm-proxy path >>>`,Ht=`# <<< ellm-proxy path <<<`,Ut=`码`;function Wt(e,t,n){return j(e,t,{encoding:`utf-8`,windowsHide:!0,...n?{env:{...process.env,...n}}:{}})}function Gt(e){let t=e.platform??process.platform;if(t!==`win32`&&t!==`darwin`&&t!==`linux`)throw Error(`暂不支持的平台: ${t}(PATH 注册仅支持 Windows/macOS/Linux)。`);return t}function Kt(e){let t=e(`powershell`,[`-NoProfile`,`-Command`,[`$ErrorActionPreference = 'Stop'`,`[Console]::OutputEncoding = [System.Text.Encoding]::UTF8`,`$k = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $false)`,`$kind = 'Missing'`,`$cur = ''`,`if ($null -ne $k) {`,` try { $kind = [string]$k.GetValueKind('Path') } catch { }`,` $cur = [string]$k.GetValue('Path', '', 'DoNotExpandEnvironmentNames')`,`}`,`[pscustomobject]@{ magic = '${Ut}'; kind = $kind; value = $cur } | ConvertTo-Json -Compress`].join(`
20
+ `)]).replace(/^\uFEFF/,``).trim(),n;try{n=JSON.parse(t)}catch(e){throw Error(`读取用户级 PATH 失败:PowerShell 输出不是合法 JSON(${e.message})。`)}if(n?.magic!==Ut)throw Error(`读取用户级 PATH 失败:PowerShell 输出编码异常(哨兵不匹配),已中止以免写坏 PATH。`);let r=String(n.kind??`Missing`);if(r!==`String`&&r!==`ExpandString`&&r!==`Missing`)throw Error(`用户级 PATH 的注册表类型是 ${r}(既非 REG_SZ 也非 REG_EXPAND_SZ),拒绝自动改写;请先手工修正 ${Rt} 的类型。`);return{kind:r,value:typeof n.value==`string`?n.value:``}}function qt(e,t,n){return e(`powershell`,[`-NoProfile`,`-Command`,[`$ErrorActionPreference = 'Stop'`,`$k = [Microsoft.Win32.Registry]::CurrentUser.CreateSubKey('Environment')`,`$kind = [Microsoft.Win32.RegistryValueKind]::ExpandString`,`if ($env:ELLM_PATH_KIND -eq 'String') { $kind = [Microsoft.Win32.RegistryValueKind]::String }`,`$k.SetValue('Path', [string]$env:ELLM_PATH_VALUE, $kind)`,`$k.Close()`,`$notified = '1'`,`try {`,` $sig = '[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern IntPtr SendMessageTimeout(IntPtr hWnd, uint Msg, UIntPtr wParam, string lParam, uint fuFlags, uint uTimeout, out UIntPtr lpdwResult);'`,` Add-Type -Namespace EllmProxyPath -Name NativeMethods -MemberDefinition $sig`,` $r = [UIntPtr]::Zero`,` [EllmProxyPath.NativeMethods]::SendMessageTimeout([IntPtr]0xffff, 0x1a, [UIntPtr]::Zero, 'Environment', 2, 5000, [ref]$r) | Out-Null`,`} catch { $notified = '2' }`,`$notified`].join(`
21
+ `)],{ELLM_PATH_VALUE:t,ELLM_PATH_KIND:n}).trim()!==`2`||(he(`[ezllm] 用户级 PATH 已更新,但 WM_SETTINGCHANGE 广播失败:新开的终端需重新登录后才会看到 ezllm 命令。`),!1)}function Jt(e){return e===`String`?`String`:`ExpandString`}function Yt(e){return e.trim().replace(/\\+$/,``).toLowerCase()}function Xt(e){return e.split(`;`).filter(e=>e.trim()!==``)}function Zt(e,t){let n=Yt(t);return Xt(e).some(e=>Yt(e)===n)}function Qt(e,t){let n=Yt(t),r=[t,...Xt(e).filter(e=>Yt(e)!==n)].join(`;`);return{value:r,changed:r!==e}}function $t(e,t){let n=Yt(t),r=Xt(e),i=r.filter(e=>Yt(e)!==n);return i.length===r.length?{value:e,changed:!1}:{value:i.join(`;`),changed:!0}}function en(e,t){return t||(e===`darwin`?S(g(),`.zprofile`):S(g(),`.profile`))}function tn(){return`${(e=>e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/`/g,"\\`").replace(/\$/g,`\\$`))(Ae())}:$PATH`}function nn(){return RegExp(`${Vt}[\\s\\S]*?${Ht}\\n?`)}function rn(e){return o(e)?u(e,`utf-8`):null}function an(e={}){let t=e=>{let t=rn(e);return t!==null&&!!t.match(nn())?.[0].includes(`"${tn()}"`)},n=Gt(e),r=Ae();if(n===`win32`)return{platform:n,binDir:r,onPath:Zt(Kt(e.run??Wt).value,r),itemPath:Rt};let i=en(n,e.loginFile);return{platform:n,binDir:r,onPath:t(i),itemPath:i}}function on(e={}){let t=(e,t)=>[`@ECHO off`,`"${e}" "${t}" %*`,``].join(`\r
22
+ `),r=(e,t)=>[`#!/bin/sh`,`exec "${i(e)}" "${i(t)}" "$@"`,``].join(`
23
+ `),i=e=>e.replace(/\\/g,`/`),a=e=>{let t=K();return e===`win32`?S(t,`node.exe`):S(t,`bin`,`node`)},o=()=>S(Me(),`bin`,`ezllm.js`),c=Gt(e),l=Ae();s(l,{recursive:!0});let u=S(l,c===`win32`?zt:Bt);return h(u,c===`win32`?t(a(c),o()):r(a(c),o()),`utf-8`),c!==`win32`&&n(u,493),{shimPath:u}}async function sn(e={}){let t=()=>[Vt,`export PATH="${tn()}"`,Ht,``].join(`
24
+ `),n=e=>{let n=rn(e)??``,r=nn(),i=r.test(n)?n.replace(r,t()):!n||n.endsWith(`
25
+ `)?n+t():`${n}\n${t()}`;i!==n&&(s(x(e),{recursive:!0}),h(e,i,`utf-8`))},r=Gt(e),i=Ae();if(on(e),r===`win32`){let t=e.run??Wt,n=Kt(t),r=Qt(n.value,i);return r.changed&&qt(t,r.value,Jt(n.kind)),{itemPath:Rt}}let a=en(r,e.loginFile);return n(a),{itemPath:a}}async function cn(e={}){let t=e=>{let t=rn(e);if(t===null)return!1;let n=nn();if(!n.test(t))return!1;let r=t.replace(n,``);return r!==t&&(h(e,r,`utf-8`),!0)},n=Gt(e),r=Ae();if(n===`win32`){let t=e.run??Wt,n=Kt(t),i=$t(n.value,r);return i.changed&&qt(t,i.value,Jt(n.kind)),{removed:i.changed,itemPath:Rt}}let i=en(n,e.loginFile);return{removed:t(i),itemPath:i}}var ln=Object.create,un=Object.defineProperty,dn=Object.getOwnPropertyDescriptor,fn=Object.getOwnPropertyNames,pn=Object.getPrototypeOf,mn=Object.prototype.hasOwnProperty,Z=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),hn=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=fn(t),a=0,o=i.length,s;a<o;a++)s=i[a],!mn.call(e,s)&&s!==n&&un(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=dn(t,s))||r.enumerable});return e},gn=(e,t,n)=>(n=e==null?{}:ln(pn(e)),hn(t||!e||!e.__esModule||!mn.call(e,`default`)?un(n,`default`,{value:e,enumerable:!0}):n,e)),Q=e(import.meta.url),_n=Z(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});var n=[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`];function r(e){return n.includes(e)}var i=[`Function`,`Generator`,`AsyncGenerator`,`GeneratorFunction`,`AsyncGeneratorFunction`,`AsyncFunction`,`Observable`,`Array`,`Buffer`,`Blob`,`Object`,`RegExp`,`Date`,`Error`,`Map`,`Set`,`WeakMap`,`WeakSet`,`ArrayBuffer`,`SharedArrayBuffer`,`DataView`,`Promise`,`URL`,`FormData`,`URLSearchParams`,`HTMLElement`,...n];function a(e){return i.includes(e)}var o=[`null`,`undefined`,`string`,`number`,`bigint`,`boolean`,`symbol`];function s(e){return o.includes(e)}function c(e){return t=>typeof t===e}var{toString:l}=Object.prototype,u=e=>{let t=l.call(e).slice(8,-1);if(/HTML\w+Element/.test(t)&&f.domElement(e))return`HTMLElement`;if(a(t))return t},d=e=>t=>u(t)===e;function f(e){if(e===null)return`null`;switch(typeof e){case`undefined`:return`undefined`;case`string`:return`string`;case`number`:return`number`;case`boolean`:return`boolean`;case`function`:return`Function`;case`bigint`:return`bigint`;case`symbol`:return`symbol`}if(f.observable(e))return`Observable`;if(f.array(e))return`Array`;if(f.buffer(e))return`Buffer`;let t=u(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw TypeError(`Please don't use object wrappers for primitive types`);return`Object`}f.undefined=c(`undefined`),f.string=c(`string`);var p=c(`number`);f.number=e=>p(e)&&!f.nan(e),f.bigint=c(`bigint`),f.function_=c(`function`),f.null_=e=>e===null,f.class_=e=>f.function_(e)&&e.toString().startsWith(`class `),f.boolean=e=>e===!0||e===!1,f.symbol=c(`symbol`),f.numericString=e=>f.string(e)&&!f.emptyStringOrWhitespace(e)&&!Number.isNaN(Number(e)),f.array=(e,t)=>Array.isArray(e)?!f.function_(t)||e.every(t):!1,f.buffer=e=>{var t;return((t=e?.constructor)?.isBuffer)?.call(t,e)??!1},f.blob=e=>d(`Blob`)(e),f.nullOrUndefined=e=>f.null_(e)||f.undefined(e),f.object=e=>!f.null_(e)&&(typeof e==`object`||f.function_(e)),f.iterable=e=>f.function_(e?.[Symbol.iterator]),f.asyncIterable=e=>f.function_(e?.[Symbol.asyncIterator]),f.generator=e=>f.iterable(e)&&f.function_(e?.next)&&f.function_(e?.throw),f.asyncGenerator=e=>f.asyncIterable(e)&&f.function_(e.next)&&f.function_(e.throw),f.nativePromise=e=>d(`Promise`)(e);var m=e=>f.function_(e?.then)&&f.function_(e?.catch);f.promise=e=>f.nativePromise(e)||m(e),f.generatorFunction=d(`GeneratorFunction`),f.asyncGeneratorFunction=e=>u(e)===`AsyncGeneratorFunction`,f.asyncFunction=e=>u(e)===`AsyncFunction`,f.boundFunction=e=>f.function_(e)&&!e.hasOwnProperty(`prototype`),f.regExp=d(`RegExp`),f.date=d(`Date`),f.error=d(`Error`),f.map=e=>d(`Map`)(e),f.set=e=>d(`Set`)(e),f.weakMap=e=>d(`WeakMap`)(e),f.weakSet=e=>d(`WeakSet`)(e),f.int8Array=d(`Int8Array`),f.uint8Array=d(`Uint8Array`),f.uint8ClampedArray=d(`Uint8ClampedArray`),f.int16Array=d(`Int16Array`),f.uint16Array=d(`Uint16Array`),f.int32Array=d(`Int32Array`),f.uint32Array=d(`Uint32Array`),f.float32Array=d(`Float32Array`),f.float64Array=d(`Float64Array`),f.bigInt64Array=d(`BigInt64Array`),f.bigUint64Array=d(`BigUint64Array`),f.arrayBuffer=d(`ArrayBuffer`),f.sharedArrayBuffer=d(`SharedArrayBuffer`),f.dataView=d(`DataView`),f.enumCase=(e,t)=>Object.values(t).includes(e),f.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,f.urlInstance=e=>d(`URL`)(e),f.urlString=e=>{if(!f.string(e))return!1;try{return new URL(e),!0}catch{return!1}},f.truthy=e=>!!e,f.falsy=e=>!e,f.nan=e=>Number.isNaN(e),f.primitive=e=>f.null_(e)||s(typeof e),f.integer=e=>Number.isInteger(e),f.safeInteger=e=>Number.isSafeInteger(e),f.plainObject=e=>{if(l.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.getPrototypeOf({})},f.typedArray=e=>r(u(e));var h=e=>f.safeInteger(e)&&e>=0;f.arrayLike=e=>!f.nullOrUndefined(e)&&!f.function_(e)&&h(e.length),f.inRange=(e,t)=>{if(f.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(f.array(t)&&t.length===2)return e>=Math.min(...t)&&e<=Math.max(...t);throw TypeError(`Invalid range: ${JSON.stringify(t)}`)};var g=1,_=[`innerHTML`,`ownerDocument`,`style`,`attributes`,`nodeValue`];f.domElement=e=>f.object(e)&&e.nodeType===g&&f.string(e.nodeName)&&!f.plainObject(e)&&_.every(t=>t in e),f.observable=e=>{var t,n;return e?e===(t=e)[Symbol.observable]?.call(t)||e===(n=e)[`@@observable`]?.call(n):!1},f.nodeStream=e=>f.object(e)&&f.function_(e.pipe)&&!f.observable(e),f.infinite=e=>e===1/0||e===-1/0;var v=e=>t=>f.integer(t)&&Math.abs(t%2)===e;f.evenInteger=v(0),f.oddInteger=v(1),f.emptyArray=e=>f.array(e)&&e.length===0,f.nonEmptyArray=e=>f.array(e)&&e.length>0,f.emptyString=e=>f.string(e)&&e.length===0;var y=e=>f.string(e)&&!/\S/.test(e);f.emptyStringOrWhitespace=e=>f.emptyString(e)||y(e),f.nonEmptyString=e=>f.string(e)&&e.length>0,f.nonEmptyStringAndNotWhitespace=e=>f.string(e)&&!f.emptyStringOrWhitespace(e),f.emptyObject=e=>f.object(e)&&!f.map(e)&&!f.set(e)&&Object.keys(e).length===0,f.nonEmptyObject=e=>f.object(e)&&!f.map(e)&&!f.set(e)&&Object.keys(e).length>0,f.emptySet=e=>f.set(e)&&e.size===0,f.nonEmptySet=e=>f.set(e)&&e.size>0,f.emptyMap=e=>f.map(e)&&e.size===0,f.nonEmptyMap=e=>f.map(e)&&e.size>0,f.propertyKey=e=>f.any([f.string,f.number,f.symbol],e),f.formData=e=>d(`FormData`)(e),f.urlSearchParams=e=>d(`URLSearchParams`)(e);var b=(e,t,n)=>{if(!f.function_(t))throw TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(n.length===0)throw TypeError(`Invalid number of values`);return e.call(n,t)};f.any=(e,...t)=>(f.array(e)?e:[e]).some(e=>b(Array.prototype.some,e,t)),f.all=(e,...t)=>b(Array.prototype.every,e,t);var x=(e,t,n,r={})=>{if(!e){let{multipleValues:e}=r,i=e?`received values of types ${[...new Set(n.map(e=>`\`${f(e)}\``))].join(`, `)}`:`received value of type \`${f(n)}\``;throw TypeError(`Expected value which is \`${t}\`, ${i}.`)}};e.assert={undefined:e=>x(f.undefined(e),`undefined`,e),string:e=>x(f.string(e),`string`,e),number:e=>x(f.number(e),`number`,e),bigint:e=>x(f.bigint(e),`bigint`,e),function_:e=>x(f.function_(e),`Function`,e),null_:e=>x(f.null_(e),`null`,e),class_:e=>x(f.class_(e),`Class`,e),boolean:e=>x(f.boolean(e),`boolean`,e),symbol:e=>x(f.symbol(e),`symbol`,e),numericString:e=>x(f.numericString(e),`string with a number`,e),array:(e,t)=>{x(f.array(e),`Array`,e),t&&e.forEach(t)},buffer:e=>x(f.buffer(e),`Buffer`,e),blob:e=>x(f.blob(e),`Blob`,e),nullOrUndefined:e=>x(f.nullOrUndefined(e),`null or undefined`,e),object:e=>x(f.object(e),`Object`,e),iterable:e=>x(f.iterable(e),`Iterable`,e),asyncIterable:e=>x(f.asyncIterable(e),`AsyncIterable`,e),generator:e=>x(f.generator(e),`Generator`,e),asyncGenerator:e=>x(f.asyncGenerator(e),`AsyncGenerator`,e),nativePromise:e=>x(f.nativePromise(e),`native Promise`,e),promise:e=>x(f.promise(e),`Promise`,e),generatorFunction:e=>x(f.generatorFunction(e),`GeneratorFunction`,e),asyncGeneratorFunction:e=>x(f.asyncGeneratorFunction(e),`AsyncGeneratorFunction`,e),asyncFunction:e=>x(f.asyncFunction(e),`AsyncFunction`,e),boundFunction:e=>x(f.boundFunction(e),`Function`,e),regExp:e=>x(f.regExp(e),`RegExp`,e),date:e=>x(f.date(e),`Date`,e),error:e=>x(f.error(e),`Error`,e),map:e=>x(f.map(e),`Map`,e),set:e=>x(f.set(e),`Set`,e),weakMap:e=>x(f.weakMap(e),`WeakMap`,e),weakSet:e=>x(f.weakSet(e),`WeakSet`,e),int8Array:e=>x(f.int8Array(e),`Int8Array`,e),uint8Array:e=>x(f.uint8Array(e),`Uint8Array`,e),uint8ClampedArray:e=>x(f.uint8ClampedArray(e),`Uint8ClampedArray`,e),int16Array:e=>x(f.int16Array(e),`Int16Array`,e),uint16Array:e=>x(f.uint16Array(e),`Uint16Array`,e),int32Array:e=>x(f.int32Array(e),`Int32Array`,e),uint32Array:e=>x(f.uint32Array(e),`Uint32Array`,e),float32Array:e=>x(f.float32Array(e),`Float32Array`,e),float64Array:e=>x(f.float64Array(e),`Float64Array`,e),bigInt64Array:e=>x(f.bigInt64Array(e),`BigInt64Array`,e),bigUint64Array:e=>x(f.bigUint64Array(e),`BigUint64Array`,e),arrayBuffer:e=>x(f.arrayBuffer(e),`ArrayBuffer`,e),sharedArrayBuffer:e=>x(f.sharedArrayBuffer(e),`SharedArrayBuffer`,e),dataView:e=>x(f.dataView(e),`DataView`,e),enumCase:(e,t)=>x(f.enumCase(e,t),`EnumCase`,e),urlInstance:e=>x(f.urlInstance(e),`URL`,e),urlString:e=>x(f.urlString(e),`string with a URL`,e),truthy:e=>x(f.truthy(e),`truthy`,e),falsy:e=>x(f.falsy(e),`falsy`,e),nan:e=>x(f.nan(e),`NaN`,e),primitive:e=>x(f.primitive(e),`primitive`,e),integer:e=>x(f.integer(e),`integer`,e),safeInteger:e=>x(f.safeInteger(e),`integer`,e),plainObject:e=>x(f.plainObject(e),`plain object`,e),typedArray:e=>x(f.typedArray(e),`TypedArray`,e),arrayLike:e=>x(f.arrayLike(e),`array-like`,e),domElement:e=>x(f.domElement(e),`HTMLElement`,e),observable:e=>x(f.observable(e),`Observable`,e),nodeStream:e=>x(f.nodeStream(e),`Node.js Stream`,e),infinite:e=>x(f.infinite(e),`infinite number`,e),emptyArray:e=>x(f.emptyArray(e),`empty array`,e),nonEmptyArray:e=>x(f.nonEmptyArray(e),`non-empty array`,e),emptyString:e=>x(f.emptyString(e),`empty string`,e),emptyStringOrWhitespace:e=>x(f.emptyStringOrWhitespace(e),`empty string or whitespace`,e),nonEmptyString:e=>x(f.nonEmptyString(e),`non-empty string`,e),nonEmptyStringAndNotWhitespace:e=>x(f.nonEmptyStringAndNotWhitespace(e),`non-empty string and not whitespace`,e),emptyObject:e=>x(f.emptyObject(e),`empty object`,e),nonEmptyObject:e=>x(f.nonEmptyObject(e),`non-empty object`,e),emptySet:e=>x(f.emptySet(e),`empty set`,e),nonEmptySet:e=>x(f.nonEmptySet(e),`non-empty set`,e),emptyMap:e=>x(f.emptyMap(e),`empty map`,e),nonEmptyMap:e=>x(f.nonEmptyMap(e),`non-empty map`,e),propertyKey:e=>x(f.propertyKey(e),`PropertyKey`,e),formData:e=>x(f.formData(e),`FormData`,e),urlSearchParams:e=>x(f.urlSearchParams(e),`URLSearchParams`,e),evenInteger:e=>x(f.evenInteger(e),`even integer`,e),oddInteger:e=>x(f.oddInteger(e),`odd integer`,e),directInstanceOf:(e,t)=>x(f.directInstanceOf(e,t),`T`,e),inRange:(e,t)=>x(f.inRange(e,t),`in range`,e),any:(e,...t)=>x(f.any(e,...t),`predicate returns truthy for any value`,t,{multipleValues:!0}),all:(e,...t)=>x(f.all(e,...t),`predicate returns truthy for all values`,t,{multipleValues:!0})},Object.defineProperties(f,{class:{value:f.class_},function:{value:f.function_},null:{value:f.null_}}),Object.defineProperties(e.assert,{class:{value:e.assert.class_},function:{value:e.assert.function_},null:{value:e.assert.null_}}),e.default=f,t.exports=f,t.exports.default=f,t.exports.assert=e.assert})),vn=Z(((e,t)=>{var n=class extends Error{constructor(e){super(e||`Promise was canceled`),this.name=`CancelError`}get isCanceled(){return!0}},r=class e{static fn(t){return(...n)=>new e((e,r,i)=>{n.push(i),t(...n).then(e,r)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,n)=>{this._reject=n;let r=e=>{(!this._isCanceled||!a.shouldReject)&&(this._isPending=!1,t(e))},i=e=>{this._isPending=!1,n(e)},a=e=>{if(!this._isPending)throw Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)};return Object.defineProperties(a,{shouldReject:{get:()=>this._rejectOnCancel,set:e=>{this._rejectOnCancel=e}}}),e(r,i,a)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(this._isPending&&!this._isCanceled){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let e of this._cancelHandlers)e()}catch(e){this._reject(e);return}this._rejectOnCancel&&this._reject(new n(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(r.prototype,Promise.prototype),t.exports=r,t.exports.CancelError=n})),yn=Z(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});function n(e){return e.encrypted}var r=(e,t)=>{let r;r=typeof t==`function`?{connect:t}:t;let i=typeof r.connect==`function`,a=typeof r.secureConnect==`function`,o=typeof r.close==`function`,s=()=>{i&&r.connect(),n(e)&&a&&(e.authorized?r.secureConnect():e.authorizationError||e.once(`secureConnect`,r.secureConnect)),o&&e.once(`close`,r.close)};e.writable&&!e.connecting?s():e.connecting?e.once(`connect`,s):e.destroyed&&o&&r.close(e._hadError)};e.default=r,t.exports=r,t.exports.default=r})),bn=Z(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});var n=yn(),r=Q(`util`),i=Number(process.versions.node.split(`.`)[0]),a=e=>{if(e.timings)return e.timings;let t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;let a=e=>{let n=e.emit.bind(e);e.emit=(r,...i)=>(r===`error`&&(t.error=Date.now(),t.phases.total=t.error-t.start,e.emit=n),n(r,...i))};a(e);let o=()=>{t.abort=Date.now(),(!t.response||i>=13)&&(t.phases.total=Date.now()-t.start)};e.prependOnceListener(`abort`,o);let s=e=>{if(t.socket=Date.now(),t.phases.wait=t.socket-t.start,r.types.isProxy(e))return;let i=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};e.prependOnceListener(`lookup`,i),n.default(e,{connect:()=>{t.connect=Date.now(),t.lookup===void 0&&(e.removeListener(`lookup`,i),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?s(e.socket):e.prependOnceListener(`socket`,s);let c=()=>{t.upload=Date.now(),t.phases.request=t.upload-(t.secureConnect??t.connect)};return(typeof e.writableFinished==`boolean`?e.writableFinished:e.finished&&e.outputSize===0&&(!e.socket||e.socket.writableLength===0))?c():e.prependOnceListener(`finish`,c),e.prependOnceListener(`response`,e=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,e.timings=t,a(e),e.prependOnceListener(`end`,()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start}),e.prependOnceListener(`aborted`,o)}),t};e.default=a,t.exports=a,t.exports.default=a})),xn=Z(((e,t)=>{var{V4MAPPED:n,ADDRCONFIG:r,ALL:i,promises:{Resolver:a},lookup:o}=Q(`dns`),{promisify:s}=Q(`util`),c=Q(`os`),l=Symbol(`cacheableLookupCreateConnection`),u=Symbol(`cacheableLookupInstance`),d=Symbol(`expires`),f=typeof i==`number`,p=e=>{if(!(e&&typeof e.createConnection==`function`))throw Error(`Expected an Agent instance as the first argument`)},m=e=>{for(let t of e)t.family!==6&&(t.address=`::ffff:${t.address}`,t.family=6)},h=()=>{let e=!1,t=!1;for(let n of Object.values(c.networkInterfaces()))for(let r of n)if(!r.internal&&(r.family===`IPv6`?t=!0:e=!0,e&&t))return{has4:e,has6:t};return{has4:e,has6:t}},g=e=>Symbol.iterator in e,_={ttl:!0},v={all:!0},y=class{constructor({cache:e=new Map,maxTtl:t=1/0,fallbackDuration:n=3600,errorTtl:r=.15,resolver:i=new a,lookup:c=o}={}){if(this.maxTtl=t,this.errorTtl=r,this._cache=e,this._resolver=i,this._dnsLookup=s(c),this._resolver instanceof a?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=s(this._resolver.resolve4.bind(this._resolver)),this._resolve6=s(this._resolver.resolve6.bind(this._resolver))),this._iface=h(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,n<1)this._fallback=!1;else{this._fallback=!0;let e=setInterval(()=>{this._hostnamesToFallback.clear()},n*1e3);e.unref&&e.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,n){if(typeof t==`function`?(n=t,t={}):typeof t==`number`&&(t={family:t}),!n)throw Error(`Callback must be a function.`);this.lookupAsync(e,t).then(e=>{t.all?n(null,e):n(null,e.address,e.family,e.expires,e.ttl)},n)}async lookupAsync(e,t={}){typeof t==`number`&&(t={family:t});let a=await this.query(e);if(t.family===6){let e=a.filter(e=>e.family===6);t.hints&n&&(f&&t.hints&i||e.length===0)?m(a):a=e}else t.family===4&&(a=a.filter(e=>e.family===4));if(t.hints&r){let{_iface:e}=this;a=a.filter(t=>t.family===6?e.has6:e.has4)}if(a.length===0){let t=Error(`cacheableLookup ENOTFOUND ${e}`);throw t.code=`ENOTFOUND`,t.hostname=e,t}return t.all?a:a[0]}async query(e){let t=await this._cache.get(e);if(!t){let n=this._pending[e];if(n)t=await n;else{let n=this.queryAndCache(e);this._pending[e]=n;try{t=await n}finally{delete this._pending[e]}}}return t=t.map(e=>({...e})),t}async _resolve(e){let t=async e=>{try{return await e}catch(e){if(e.code===`ENODATA`||e.code===`ENOTFOUND`)return[];throw e}},[n,r]=await Promise.all([this._resolve4(e,_),this._resolve6(e,_)].map(e=>t(e))),i=0,a=0,o=0,s=Date.now();for(let e of n)e.family=4,e.expires=s+e.ttl*1e3,i=Math.max(i,e.ttl);for(let e of r)e.family=6,e.expires=s+e.ttl*1e3,a=Math.max(a,e.ttl);return o=n.length>0?r.length>0?Math.min(i,a):i:a,{entries:[...n,...r],cacheTtl:o}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,t,n){if(this.maxTtl>0&&n>0){n=Math.min(n,this.maxTtl)*1e3,t[d]=Date.now()+n;try{await this._cache.set(e,t,n)}catch(e){this.lookupAsync=async()=>{let t=Error(`Cache Error. Please recreate the CacheableLookup instance.`);throw t.cause=e,t}}g(this._cache)&&this._tick(n)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,v);let t=await this._resolve(e);t.entries.length===0&&this._fallback&&(t=await this._lookup(e),t.entries.length!==0&&this._hostnamesToFallback.add(e));let n=t.entries.length===0?this.errorTtl:t.cacheTtl;return await this._set(e,t.entries,n),t.entries}_tick(e){let t=this._nextRemovalTime;(!t||e<t)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=e,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let e=1/0,t=Date.now();for(let[n,r]of this._cache){let i=r[d];t>=i?this._cache.delete(n):i<e&&(e=i)}e!==1/0&&this._tick(e-t)},e),this._removalTimeout.unref&&this._removalTimeout.unref())}install(e){if(p(e),l in e)throw Error(`CacheableLookup has been already installed`);e[l]=e.createConnection,e[u]=this,e.createConnection=(t,n)=>(`lookup`in t||(t.lookup=this.lookup),e[l](t,n))}uninstall(e){if(p(e),e[l]){if(e[u]!==this)throw Error(`The agent is not owned by this CacheableLookup instance`);e.createConnection=e[l],delete e[l],delete e[u]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=h(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){e?this._cache.delete(e):this._cache.clear()}};t.exports=y,t.exports.default=y})),Sn=Z(((e,t)=>{var n=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),r=(e,{stripHash:t})=>{let n=/^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(e);if(!n)throw Error(`Invalid URL: ${e}`);let{type:r,data:i,hash:a}=n.groups,o=r.split(`;`);a=t?``:a;let s=!1;o[o.length-1]===`base64`&&(o.pop(),s=!0);let c=(o.shift()||``).toLowerCase(),l=[...o.map(e=>{let[t,n=``]=e.split(`=`).map(e=>e.trim());return t===`charset`&&(n=n.toLowerCase(),n===`us-ascii`)?``:`${t}${n?`=${n}`:``}`}).filter(Boolean)];return s&&l.push(`base64`),(l.length!==0||c&&c!==`text/plain`)&&l.unshift(c),`data:${l.join(`;`)},${s?i.trim():i}${a?`#${a}`:``}`};t.exports=(e,t)=>{if(t={defaultProtocol:`http:`,normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return r(e,t);if(/^view-source:/i.test(e))throw Error("`view-source:` is not supported as it is a non-standard protocol");let i=e.startsWith(`//`);(i||!/^\.*\//.test(e))&&(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let a=new URL(e);if(t.forceHttp&&t.forceHttps)throw Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&a.protocol===`https:`&&(a.protocol=`http:`),t.forceHttps&&a.protocol===`http:`&&(a.protocol=`https:`),t.stripAuthentication&&(a.username=``,a.password=``),t.stripHash?a.hash=``:t.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,``)),a.pathname&&=a.pathname.replace(/(?<!\b(?:[a-z][a-z\d+\-.]{1,50}:))\/{2,}/g,`/`),a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=a.pathname.split(`/`),r=e[e.length-1];n(r,t.removeDirectoryIndex)&&(e=e.slice(0,e.length-1),a.pathname=e.slice(1).join(`/`)+`/`)}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,``),t.stripWWW&&/^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,``))),Array.isArray(t.removeQueryParameters))for(let e of[...a.searchParams.keys()])n(e,t.removeQueryParameters)&&a.searchParams.delete(e);t.removeQueryParameters===!0&&(a.search=``),t.sortQueryParameters&&a.searchParams.sort(),t.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,``));let o=e;return e=a.toString(),!t.removeSingleSlash&&a.pathname===`/`&&!o.endsWith(`/`)&&a.hash===``&&(e=e.replace(/\/$/,``)),(t.removeTrailingSlash||a.pathname===`/`)&&a.hash===``&&t.removeSingleSlash&&(e=e.replace(/\/$/,``)),i&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,`//`)),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,``)),e}})),Cn=Z(((e,t)=>{t.exports=n;function n(e,t){if(e&&t)return n(e)(t);if(typeof e!=`function`)throw TypeError(`need wrapper function`);return Object.keys(e).forEach(function(t){r[t]=e[t]}),r;function r(){for(var t=Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];var r=e.apply(this,t),i=t[t.length-1];return typeof r==`function`&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}}})),wn=Z(((e,t)=>{var n=Cn();t.exports=n(r),t.exports.strict=n(i),r.proto=r(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return r(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i(this)},configurable:!0})});function r(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function i(e){var t=function(){if(t.called)throw Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)};return t.onceError=(e.name||"Function wrapped with `once`")+` shouldn't be called more than once`,t.called=!1,t}})),Tn=Z(((e,t)=>{var n=wn(),r=function(){},i=global.Bare?queueMicrotask:process.nextTick.bind(process),a=function(e){return e.setHeader&&typeof e.abort==`function`},o=function(e){return e.stdio&&Array.isArray(e.stdio)&&e.stdio.length===3},s=function(e,t,c){if(typeof t==`function`)return s(e,null,t);t||={},c=n(c||r);var l=e._writableState,u=e._readableState,d=t.readable||t.readable!==!1&&e.readable,f=t.writable||t.writable!==!1&&e.writable,p=!1,m=function(){e.writable||h()},h=function(){f=!1,d||c.call(e)},g=function(){d=!1,f||c.call(e)},_=function(t){c.call(e,t?Error(`exited with error code: `+t):null)},v=function(t){c.call(e,t)},y=function(){i(b)},b=function(){if(!p&&(d&&!(u&&u.ended&&!u.destroyed)||f&&!(l&&l.ended&&!l.destroyed)))return c.call(e,Error(`premature close`))},x=function(){e.req.on(`finish`,h)};return a(e)?(e.on(`complete`,h),e.on(`abort`,y),e.req?x():e.on(`request`,x)):f&&!l&&(e.on(`end`,m),e.on(`close`,m)),o(e)&&e.on(`exit`,_),e.on(`end`,g),e.on(`finish`,h),t.error!==!1&&e.on(`error`,v),e.on(`close`,y),function(){p=!0,e.removeListener(`complete`,h),e.removeListener(`abort`,y),e.removeListener(`request`,x),e.req&&e.req.removeListener(`finish`,h),e.removeListener(`end`,m),e.removeListener(`close`,m),e.removeListener(`finish`,h),e.removeListener(`exit`,_),e.removeListener(`end`,g),e.removeListener(`error`,v),e.removeListener(`close`,y)}};t.exports=s})),En=Z(((e,t)=>{var n=wn(),r=Tn(),i;try{i=Q(`fs`)}catch{}var a=function(){},o=typeof process>`u`?!1:/^v?\.0/.test(process.version),s=function(e){return typeof e==`function`},c=function(e){return!o||!i?!1:(e instanceof(i.ReadStream||a)||e instanceof(i.WriteStream||a))&&s(e.close)},l=function(e){return e.setHeader&&s(e.abort)},u=function(e,t,i,o){o=n(o);var u=!1;e.on(`close`,function(){u=!0}),r(e,{readable:t,writable:i},function(e){if(e)return o(e);u=!0,o()});var d=!1;return function(t){if(!u&&!d){if(d=!0,c(e))return e.close(a);if(l(e))return e.abort();if(s(e.destroy))return e.destroy();o(t||Error(`stream was destroyed`))}}},d=function(e){e()},f=function(e,t){return e.pipe(t)};t.exports=function(){var e=Array.prototype.slice.call(arguments),t=s(e[e.length-1]||a)&&e.pop()||a;if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw Error(`pump requires two streams per minimum`);var n,r=e.map(function(i,a){var o=a<e.length-1;return u(i,o,a>0,function(e){n||=e,e&&r.forEach(d),!o&&(r.forEach(d),t(n))})});return e.reduce(f)}})),Dn=Z(((e,t)=>{var{PassThrough:n}=Q(`stream`);t.exports=e=>{e={...e};let{array:t}=e,{encoding:r}=e,i=r===`buffer`,a=!1;t?a=!(r||i):r||=`utf8`,i&&(r=null);let o=new n({objectMode:a});r&&o.setEncoding(r);let s=0,c=[];return o.on(`data`,e=>{c.push(e),a?s=c.length:s+=e.length}),o.getBufferedValue=()=>t?c:i?Buffer.concat(c,s):c.join(``),o.getBufferedLength=()=>s,o}})),On=Z(((e,t)=>{var{constants:n}=Q(`buffer`),r=En(),i=Dn(),a=class extends Error{constructor(){super(`maxBuffer exceeded`),this.name=`MaxBufferError`}};async function o(e,t){if(!e)return Promise.reject(Error(`Expected a stream`));t={maxBuffer:1/0,...t};let{maxBuffer:o}=t,s;return await new Promise((c,l)=>{let u=e=>{e&&s.getBufferedLength()<=n.MAX_LENGTH&&(e.bufferedData=s.getBufferedValue()),l(e)};s=r(e,i(t),e=>{e?u(e):c()}),s.on(`data`,()=>{s.getBufferedLength()>o&&u(new a)})}),s.getBufferedValue()}t.exports=o,t.exports.default=o,t.exports.buffer=(e,t)=>o(e,{...t,encoding:`buffer`}),t.exports.array=(e,t)=>o(e,{...t,array:!0}),t.exports.MaxBufferError=a})),kn=Z(((e,t)=>{var n=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),r=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),i=new Set([500,502,503,504]),a={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},o={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function s(e){let t=parseInt(e,10);return isFinite(t)?t:0}function c(e){return!e||i.has(e.status)}function l(e){let t={};if(!e)return t;let n=e.trim().split(/,/);for(let e of n){let[n,r]=e.split(/=/,2);t[n.trim()]=r===void 0||r.trim().replace(/^"|"$/g,``)}return t}function u(e){let t=[];for(let n in e){let r=e[n];t.push(r===!0?n:n+`=`+r)}if(t.length)return t.join(`, `)}t.exports=class{constructor(e,t,{shared:n,cacheHeuristic:r,immutableMinTimeToLive:i,ignoreCargoCult:a,_fromObject:o}={}){if(o)this._fromObject(o);else{if(!t||!t.headers)throw Error(`Response headers missing`);this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=n!==!1,this._ignoreCargoCult=!!a,this._cacheHeuristic=r===void 0?.1:r,this._immutableMinTtl=i===void 0?864e5:i,this._status=`status`in t?t.status:200,this._resHeaders=t.headers,this._rescc=l(t.headers[`cache-control`]),this._method=`method`in e?e.method:`GET`,this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=l(e.headers[`cache-control`]),this._ignoreCargoCult&&`pre-check`in this._rescc&&`post-check`in this._rescc&&(delete this._rescc[`pre-check`],delete this._rescc[`post-check`],delete this._rescc[`no-cache`],delete this._rescc[`no-store`],delete this._rescc[`must-revalidate`],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":u(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),t.headers[`cache-control`]==null&&/no-cache/.test(t.headers.pragma)&&(this._rescc[`no-cache`]=!0)}}now(){return Date.now()}storable(){return!!(!this._reqcc[`no-store`]&&(this._method===`GET`||this._method===`HEAD`||this._method===`POST`&&this._hasExplicitExpiration())&&r.has(this._status)&&!this._rescc[`no-store`]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc[`max-age`]||this._isShared&&this._rescc[`s-maxage`]||this._rescc.public||n.has(this._status)))}_hasExplicitExpiration(){return!!(this._isShared&&this._rescc[`s-maxage`]||this._rescc[`max-age`]||this._resHeaders.expires)}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error(`Request headers missing`)}satisfiesWithoutRevalidation(e){return!this.evaluateRequest(e).revalidation}_evaluateRequestHitResult(e){return{response:{headers:this.responseHeaders()},revalidation:e}}_evaluateRequestRevalidation(e,t){return{synchronous:t,headers:this.revalidationHeaders(e)}}_evaluateRequestMissResult(e){return{response:void 0,revalidation:this._evaluateRequestRevalidation(e,!0)}}evaluateRequest(e){if(this._assertRequestHasHeaders(e),this._rescc[`must-revalidate`]||!this._requestMatches(e,!1))return this._evaluateRequestMissResult(e);let t=l(e.headers[`cache-control`]);return t[`no-cache`]||/no-cache/.test(e.headers.pragma)||t[`max-age`]&&this.age()>s(t[`max-age`])||t[`min-fresh`]&&this.maxAge()-this.age()<s(t[`min-fresh`])?this._evaluateRequestMissResult(e):this.stale()?`max-stale`in t&&(!0===t[`max-stale`]||t[`max-stale`]>this.age()-this.maxAge())?this._evaluateRequestHitResult(void 0):this.useStaleWhileRevalidate()?this._evaluateRequestHitResult(this._evaluateRequestRevalidation(e,!1)):this._evaluateRequestMissResult(e):this._evaluateRequestHitResult(void 0)}_requestMatches(e,t){return!(this._url&&this._url!==e.url||this._host!==e.headers.host||e.method&&this._method!==e.method&&(!t||e.method!==`HEAD`)||!this._varyMatches(e))}_allowsStoringAuthenticated(){return!!(this._rescc[`must-revalidate`]||this._rescc.public||this._rescc[`s-maxage`])}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary===`*`)return!1;let t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let n of t)if(e.headers[n]!==this._reqHeaders[n])return!1;return!0}_copyWithoutHopByHopHeaders(e){let t={};for(let n in e)a[n]||(t[n]=e[n]);if(e.connection){let n=e.connection.trim().split(/\s*,\s*/);for(let e of n)delete t[e]}if(t.warning){let e=t.warning.split(/,/).filter(e=>!/^\s*1[0-9][0-9]/.test(e));e.length?t.warning=e.join(`,`).trim():delete t.warning}return t}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>86400&&!this._hasExplicitExpiration()&&this.maxAge()>86400&&(e.warning=(e.warning?`${e.warning}, `:``)+`113 - "rfc7234 5.5.4"`),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){return this._ageValue()+(this.now()-this._responseTime)/1e3}_ageValue(){return s(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc[`no-cache`]||this._isShared&&this._resHeaders[`set-cookie`]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary===`*`)return 0;if(this._isShared){if(this._rescc[`proxy-revalidate`])return 0;if(this._rescc[`s-maxage`])return s(this._rescc[`s-maxage`])}if(this._rescc[`max-age`])return s(this._rescc[`max-age`]);let e=this._rescc.immutable?this._immutableMinTtl:0,t=this.date();if(this._resHeaders.expires){let n=Date.parse(this._resHeaders.expires);return Number.isNaN(n)||n<t?0:Math.max(e,(n-t)/1e3)}if(this._resHeaders[`last-modified`]){let n=Date.parse(this._resHeaders[`last-modified`]);if(isFinite(n)&&t>n)return Math.max(e,(t-n)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),t=e+s(this._rescc[`stale-if-error`]),n=e+s(this._rescc[`stale-while-revalidate`]);return Math.round(Math.max(0,e,t,n)*1e3)}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+s(this._rescc[`stale-if-error`])>this.age()}useStaleWhileRevalidate(){let e=s(this._rescc[`stale-while-revalidate`]);return e>0&&this.maxAge()+e>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error(`Reinitialized`);if(!e||e.v!==1)throw Error(`Invalid serialization`);this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm===void 0?864e5:e.imm,this._ignoreCargoCult=!!e.icc,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,icc:this._ignoreCargoCult,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t[`if-range`],!this._requestMatches(e,!0)||!this.storable())return delete t[`if-none-match`],delete t[`if-modified-since`],t;if(this._resHeaders.etag&&(t[`if-none-match`]=t[`if-none-match`]?`${t[`if-none-match`]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t[`accept-ranges`]||t[`if-match`]||t[`if-unmodified-since`]||this._method&&this._method!=`GET`){if(delete t[`if-modified-since`],t[`if-none-match`]){let e=t[`if-none-match`].split(/,/).filter(e=>!/^\s*W\//.test(e));e.length?t[`if-none-match`]=e.join(`,`).trim():delete t[`if-none-match`]}}else this._resHeaders[`last-modified`]&&!t[`if-modified-since`]&&(t[`if-modified-since`]=this._resHeaders[`last-modified`]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&c(t))return{policy:this,modified:!1,matches:!0};if(!t||!t.headers)throw Error(`Response headers missing`);let n=!1;t.status!==void 0&&t.status!=304?n=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?n=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,``)===t.headers.etag:this._resHeaders.etag&&t.headers.etag?n=this._resHeaders.etag.replace(/^\s*W\//,``)===t.headers.etag.replace(/^\s*W\//,``):this._resHeaders[`last-modified`]?n=this._resHeaders[`last-modified`]===t.headers[`last-modified`]:!this._resHeaders.etag&&!this._resHeaders[`last-modified`]&&!t.headers.etag&&!t.headers[`last-modified`]&&(n=!0);let r={shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,ignoreCargoCult:this._ignoreCargoCult};if(!n)return{policy:new this.constructor(e,t,r),modified:t.status!=304,matches:!1};let i={};for(let e in this._resHeaders)i[e]=e in t.headers&&!o[e]?t.headers[e]:this._resHeaders[e];let a=Object.assign({},t,{status:this._status,method:this._method,headers:i});return{policy:new this.constructor(e,a,r),modified:!1,matches:!0}}}})),An=Z(((e,t)=>{t.exports=e=>{let t={};for(let[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}})),jn=Z(((e,t)=>{var n=Q(`stream`).Readable,r=An();t.exports=class extends n{constructor(e,t,n,i){if(typeof e!=`number`)throw TypeError("Argument `statusCode` should be a number");if(typeof t!=`object`)throw TypeError("Argument `headers` should be an object");if(!(n instanceof Buffer))throw TypeError("Argument `body` should be a buffer");if(typeof i!=`string`)throw TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=r(t),this.body=n,this.url=i}_read(){this.push(this.body),this.push(null)}}})),Mn=Z(((e,t)=>{var n=[`destroy`,`setTimeout`,`socket`,`headers`,`trailers`,`rawHeaders`,`statusCode`,`httpVersion`,`httpVersionMinor`,`httpVersionMajor`,`rawTrailers`,`statusMessage`];t.exports=(e,t)=>{let r=new Set(Object.keys(e).concat(n));for(let n of r)n in t||(t[n]=typeof e[n]==`function`?e[n].bind(e):e[n])}})),Nn=Z(((e,t)=>{var n=Q(`stream`).PassThrough,r=Mn();t.exports=e=>{if(!(e&&e.pipe))throw TypeError("Parameter `response` must be a response stream.");let t=new n;return r(e,t),e.pipe(t)}})),Pn=Z((e=>{e.stringify=function e(t){if(t===void 0)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(`:base64:`+t.toString(`base64`));if(t&&t.toJSON&&(t=t.toJSON()),t&&typeof t==`object`){var n=``,r=Array.isArray(t);n=r?`[`:`{`;var i=!0;for(var a in t){var o=typeof t[a]==`function`||!r&&t[a]===void 0;Object.hasOwnProperty.call(t,a)&&!o&&(i||(n+=`,`),i=!1,r?t[a]==null?n+=`null`:n+=e(t[a]):t[a]!==void 0&&(n+=e(a)+`:`+e(t[a])))}return n+=r?`]`:`}`,n}return typeof t==`string`?JSON.stringify(/^:/.test(t)?`:`+t:t):t===void 0?`null`:JSON.stringify(t)},e.parse=function(e){return JSON.parse(e,function(e,t){return typeof t==`string`?/^:base64:/.test(t)?Buffer.from(t.substring(8),`base64`):/^:/.test(t)?t.substring(1):t:t})}})),Fn=Z(((e,t)=>{var n=Q(`events`),r=Pn(),i=e=>e.adapter||e.uri?new(Q({redis:`@keyv/redis`,rediss:`@keyv/redis`,mongodb:`@keyv/mongo`,mongo:`@keyv/mongo`,sqlite:`@keyv/sqlite`,postgresql:`@keyv/postgres`,postgres:`@keyv/postgres`,mysql:`@keyv/mysql`,etcd:`@keyv/etcd`,offline:`@keyv/offline`,tiered:`@keyv/tiered`}[e.adapter||/^[^:+]*/.exec(e.uri)[0]]))(e):new Map,a=[`sqlite`,`postgres`,`mysql`,`mongo`,`redis`,`tiered`];t.exports=class extends n{constructor(e,{emitErrors:t=!0,...n}={}){if(super(),this.opts={namespace:`keyv`,serialize:r.stringify,deserialize:r.parse,...typeof e==`string`?{uri:e}:e,...n},!this.opts.store){let e={...this.opts};this.opts.store=i(e)}if(this.opts.compression){let e=this.opts.compression;this.opts.serialize=e.serialize.bind(e),this.opts.deserialize=e.deserialize.bind(e)}typeof this.opts.store.on==`function`&&t&&this.opts.store.on(`error`,e=>this.emit(`error`,e)),this.opts.store.namespace=this.opts.namespace;let a=e=>async function*(){for await(let[t,n]of typeof e==`function`?e(this.opts.store.namespace):e){let e=await this.opts.deserialize(n);(!this.opts.store.namespace||t.includes(this.opts.store.namespace))&&(typeof e.expires==`number`&&Date.now()>e.expires?this.delete(t):yield[this._getKeyUnprefix(t),e.value])}};typeof this.opts.store[Symbol.iterator]==`function`&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator==`function`&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return a.includes(this.opts.store.opts.dialect)||a.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(e=>`${this.opts.namespace}:${e}`)}_getKeyUnprefix(e){return e.split(`:`).splice(1).join(`:`)}get(e,t){let{store:n}=this.opts,r=Array.isArray(e),i=r?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(r&&n.getMany===void 0){let e=[];for(let r of i)e.push(Promise.resolve().then(()=>n.get(r)).then(e=>typeof e==`string`||this.opts.compression?this.opts.deserialize(e):e).then(e=>{if(e!=null)return typeof e.expires==`number`&&Date.now()>e.expires?this.delete(r).then(()=>void 0):t&&t.raw?e:e.value}));return Promise.allSettled(e).then(e=>{let t=[];for(let n of e)t.push(n.value);return t})}return Promise.resolve().then(()=>r?n.getMany(i):n.get(i)).then(e=>typeof e==`string`||this.opts.compression?this.opts.deserialize(e):e).then(n=>{if(n!=null)return r?n.map((n,r)=>{if(typeof n==`string`&&(n=this.opts.deserialize(n)),n!=null){if(typeof n.expires==`number`&&Date.now()>n.expires)this.delete(e[r]).then(()=>void 0);else return t&&t.raw?n:n.value}}):typeof n.expires==`number`&&Date.now()>n.expires?this.delete(e).then(()=>void 0):t&&t.raw?n:n.value})}set(e,t,n){let r=this._getKeyPrefix(e);n===void 0&&(n=this.opts.ttl),n===0&&(n=void 0);let{store:i}=this.opts;return Promise.resolve().then(()=>{let e=typeof n==`number`?Date.now()+n:null;return typeof t==`symbol`&&this.emit(`error`,`symbol cannot be serialized`),t={value:t,expires:e},this.opts.serialize(t)}).then(e=>i.set(r,e,n)).then(()=>!0)}delete(e){let{store:t}=this.opts;if(Array.isArray(e)){let n=this._getKeyPrefixArray(e);if(t.deleteMany===void 0){let e=[];for(let r of n)e.push(t.delete(r));return Promise.allSettled(e).then(e=>e.every(e=>e.value===!0))}return Promise.resolve().then(()=>t.deleteMany(n))}let n=this._getKeyPrefix(e);return Promise.resolve().then(()=>t.delete(n))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let t=this._getKeyPrefix(e),{store:n}=this.opts;return Promise.resolve().then(async()=>typeof n.has==`function`?n.has(t):await n.get(t)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect==`function`)return e.disconnect()}}})),In=Z(((e,t)=>{var n=Q(`events`),r=Q(`url`),i=Sn(),a=On(),o=kn(),s=jn(),c=An(),l=Nn(),u=Fn(),d=class e{constructor(e,t){if(typeof e!=`function`)throw TypeError("Parameter `request` must be a function");return this.cache=new u({uri:typeof t==`string`&&t,store:typeof t!=`string`&&t,namespace:`cacheable-request`}),this.createCacheableRequest(e)}createCacheableRequest(t){return(u,d)=>{let m;if(typeof u==`string`)m=p(r.parse(u)),u={};else if(u instanceof r.URL)m=p(r.parse(u.toString())),u={};else{let[e,...t]=(u.path||``).split(`?`),n=t.length>0?`?${t.join(`?`)}`:``;m=p({...u,pathname:e,search:n})}u={headers:{},method:`GET`,cache:!0,strictTtl:!1,automaticFailover:!1,...u,...f(m)},u.headers=c(u.headers);let h=new n,g=i(r.format(m),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),_=`${u.method}:${g}`,v=!1,y=!1,b=n=>{y=!0;let r=!1,i,c=new Promise(e=>{i=()=>{r||(r=!0,e())}}),u=t=>{if(v&&!n.forceRefresh){t.status=t.statusCode;let e=o.fromObject(v.cachePolicy).revalidatedPolicy(n,t);if(!e.modified){let n=e.policy.responseHeaders();t=new s(v.statusCode,n,v.body,v.url),t.cachePolicy=e.policy,t.fromCache=!0}}t.fromCache||(t.cachePolicy=new o(n,t,n),t.fromCache=!1);let i;n.cache&&t.cachePolicy.storable()?(i=l(t),(async()=>{try{let e=a.buffer(t);if(await Promise.race([c,new Promise(e=>t.once(`end`,e))]),r)return;let i=await e,o={cachePolicy:t.cachePolicy.toObject(),url:t.url,statusCode:t.fromCache?v.statusCode:t.statusCode,body:i},s=n.strictTtl?t.cachePolicy.timeToLive():void 0;n.maxTtl&&(s=s?Math.min(s,n.maxTtl):n.maxTtl),await this.cache.set(_,o,s)}catch(t){h.emit(`error`,new e.CacheError(t))}})()):n.cache&&v&&(async()=>{try{await this.cache.delete(_)}catch(t){h.emit(`error`,new e.CacheError(t))}})(),h.emit(`response`,i||t),typeof d==`function`&&d(i||t)};try{let e=t(n,u);e.once(`error`,i),e.once(`abort`,i),h.emit(`request`,e)}catch(t){h.emit(`error`,new e.RequestError(t))}};return(async()=>{let t=async e=>{await Promise.resolve();let t=e.cache?await this.cache.get(_):void 0;if(t===void 0)return b(e);let n=o.fromObject(t.cachePolicy);if(n.satisfiesWithoutRevalidation(e)&&!e.forceRefresh){let e=n.responseHeaders(),r=new s(t.statusCode,e,t.body,t.url);r.cachePolicy=n,r.fromCache=!0,h.emit(`response`,r),typeof d==`function`&&d(r)}else v=t,e.headers=n.revalidationHeaders(e),b(e)},n=t=>h.emit(`error`,new e.CacheError(t));this.cache.once(`error`,n),h.on(`response`,()=>this.cache.removeListener(`error`,n));try{await t(u)}catch(t){u.automaticFailover&&!y&&b(u),h.emit(`error`,new e.CacheError(t))}})(),h}}};function f(e){let t={...e};return t.path=`${e.pathname||`/`}${e.search||``}`,delete t.pathname,delete t.search,t}function p(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||`localhost`,port:e.port,pathname:e.pathname,search:e.search}}d.RequestError=class extends Error{constructor(e){super(e.message),this.name=`RequestError`,Object.assign(this,e)}},d.CacheError=class extends Error{constructor(e){super(e.message),this.name=`CacheError`,Object.assign(this,e)}},t.exports=d})),Ln=Z(((e,t)=>{var n=[`aborted`,`complete`,`headers`,`httpVersion`,`httpVersionMinor`,`httpVersionMajor`,`method`,`rawHeaders`,`rawTrailers`,`setTimeout`,`socket`,`statusCode`,`statusMessage`,`trailers`,`url`];t.exports=(e,t)=>{if(t._readableState.autoDestroy)throw Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(e).concat(n)),i={};for(let n of r)n in t||(i[n]={get(){let t=e[n];return typeof t==`function`?t.bind(e):t},set(t){e[n]=t},enumerable:!0,configurable:!1});return Object.defineProperties(t,i),e.once(`aborted`,()=>{t.destroy(),t.emit(`aborted`)}),e.once(`close`,()=>{e.complete&&t.readable?t.once(`end`,()=>{t.emit(`close`)}):t.emit(`close`)}),t}})),Rn=Z(((e,t)=>{var{Transform:n,PassThrough:r}=Q(`stream`),i=Q(`zlib`),a=Ln();t.exports=e=>{let t=(e.headers[`content-encoding`]||``).toLowerCase();if(![`gzip`,`deflate`,`br`].includes(t))return e;let o=t===`br`;if(o&&typeof i.createBrotliDecompress!=`function`)return e.destroy(Error(`Brotli is not supported on Node.js < 12`)),e;let s=!0,c=new n({transform(e,t,n){s=!1,n(null,e)},flush(e){e()}}),l=new r({autoDestroy:!1,destroy(t,n){e.destroy(),n(t)}}),u=o?i.createBrotliDecompress():i.createUnzip();return u.once(`error`,t=>{s&&!e.readable?l.end():l.destroy(t)}),a(e,l),e.pipe(c).pipe(u).pipe(l),l}})),zn=Z(((e,t)=>{t.exports=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction==`function`)for(let[e,t]of this.oldCache.entries())this.onEviction(e,t);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}}})),Bn=Z(((e,t)=>{var n=Q(`events`),r=Q(`tls`),i=Q(`http2`),a=zn(),o=Symbol(`currentStreamsCount`),s=Symbol(`request`),c=Symbol(`cachedOriginSet`),l=Symbol(`gracefullyClosing`),u=`maxDeflateDynamicTableSize.maxSessionMemory.maxHeaderListPairs.maxOutstandingPings.maxReservedRemoteStreams.maxSendHeaderBlockLength.paddingStrategy.localAddress.path.rejectUnauthorized.minDHSize.ca.cert.clientCertEngine.ciphers.key.pfx.servername.minVersion.maxVersion.secureProtocol.crl.honorCipherOrder.ecdhCurve.dhparam.secureOptions.sessionIdContext`.split(`.`),d=(e,t,n)=>{let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;n(e[a],t)?r=a+1:i=a}return r},f=(e,t)=>e.remoteSettings.maxConcurrentStreams>t.remoteSettings.maxConcurrentStreams,p=(e,t)=>{for(let n of e)n[c].length<t[c].length&&n[c].every(e=>t[c].includes(e))&&n[o]+t[o]<=t.remoteSettings.maxConcurrentStreams&&g(n)},m=(e,t)=>{for(let n of e)t[c].length<n[c].length&&t[c].every(e=>n[c].includes(e))&&t[o]+n[o]<=n.remoteSettings.maxConcurrentStreams&&g(t)},h=({agent:e,isFree:t})=>{let n={};for(let r in e.sessions){let i=e.sessions[r].filter(e=>{let n=e[_.kCurrentStreamsCount]<e.remoteSettings.maxConcurrentStreams;return t?n:!n});i.length!==0&&(n[r]=i)}return n},g=e=>{e[l]=!0,e[o]===0&&e.close()},_=class e extends n{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:n=10,maxCachedTlsSessions:r=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=n,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new a({maxSize:r})}static normalizeOrigin(e,t){return typeof e==`string`&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t=``;if(e)for(let n of u)e[n]&&(t+=`:${e[n]}`);return t}_tryToCreateNewSession(e,t){if(!(e in this.queue)||!(t in this.queue[e]))return;let n=this.queue[e][t];this._sessionsCount<this.maxSessions&&!n.completed&&(n.completed=!0,n())}getSession(t,n,r){return new Promise((a,u)=>{Array.isArray(r)?(r=[...r],a()):r=[{resolve:a,reject:u}];let h=this.normalizeOptions(n),g=e.normalizeOrigin(t,n&&n.servername);if(g===void 0){for(let{reject:e}of r)e(TypeError("The `origin` argument needs to be a string or an URL object"));return}if(h in this.sessions){let e=this.sessions[h],t=-1,n=-1,i;for(let r of e){let e=r.remoteSettings.maxConcurrentStreams;if(e<t)break;if(r[c].includes(g)){let a=r[o];if(a>=e||r[l]||r.destroyed)continue;i||(t=e),a>n&&(i=r,n=a)}}if(i){if(r.length!==1){for(let{reject:e}of r)e(Error(`Expected the length of listeners to be 1, got ${r.length}.\nPlease report this to https://github.com/szmarczak/http2-wrapper/`));return}r[0].resolve(i);return}}if(h in this.queue){if(g in this.queue[h]){this.queue[h][g].listeners.push(...r),this._tryToCreateNewSession(h,g);return}}else this.queue[h]={};let _=()=>{h in this.queue&&this.queue[h][g]===v&&(delete this.queue[h][g],Object.keys(this.queue[h]).length===0&&delete this.queue[h])},v=()=>{let e=`${g}:${h}`,a=!1;try{let u=i.connect(t,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(e),...n});u[o]=0,u[l]=!1;let y=()=>u[o]<u.remoteSettings.maxConcurrentStreams,b=!0;u.socket.once(`session`,t=>{this.tlsSessionCache.set(e,t)}),u.once(`error`,t=>{for(let{reject:e}of r)e(t);this.tlsSessionCache.delete(e)}),u.setTimeout(this.timeout,()=>{u.destroy()}),u.once(`close`,()=>{if(a){b&&this._freeSessionsCount--,this._sessionsCount--;let e=this.sessions[h];e.splice(e.indexOf(u),1),e.length===0&&delete this.sessions[h]}else{let e=Error(`Session closed without receiving a SETTINGS frame`);e.code=`HTTP2WRAPPER_NOSETTINGS`;for(let{reject:t}of r)t(e);_()}this._tryToCreateNewSession(h,g)});let x=()=>{if(h in this.queue&&y()){for(let e of u[c])if(e in this.queue[h]){let{listeners:t}=this.queue[h][e];for(;t.length!==0&&y();)t.shift().resolve(u);let n=this.queue[h];if(n[e].listeners.length===0&&(delete n[e],Object.keys(n).length===0)){delete this.queue[h];break}if(!y())break}}};u.on(`origin`,()=>{u[c]=u.originSet,y()&&(x(),p(this.sessions[h],u))}),u.once(`remoteSettings`,()=>{if(u.ref(),u.unref(),this._sessionsCount++,v.destroyed){let e=Error(`Agent has been destroyed`);for(let t of r)t.reject(e);u.destroy()}else{u[c]=u.originSet;{let e=this.sessions;if(h in e){let t=e[h];t.splice(d(t,u,f),0,u)}else e[h]=[u]}this._freeSessionsCount+=1,a=!0,this.emit(`session`,u),x(),_(),u[o]===0&&this._freeSessionsCount>this.maxFreeSessions&&u.close(),r.length!==0&&(this.getSession(g,n,r),r.length=0),u.on(`remoteSettings`,()=>{x(),p(this.sessions[h],u)})}}),u[s]=u.request,u.request=(e,t)=>{if(u[l])throw Error(`The session is gracefully closing. No new streams are allowed.`);let n=u[s](e,t);return u.ref(),++u[o],u[o]===u.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,n.once(`close`,()=>{if(b=y(),--u[o],!u.destroyed&&!u.closed&&(m(this.sessions[h],u),y()&&!u.closed)){b||=(this._freeSessionsCount++,!0);let e=u[o]===0;e&&u.unref(),e&&(this._freeSessionsCount>this.maxFreeSessions||u[l])?u.close():(p(this.sessions[h],u),x())}}),n}}catch(e){for(let t of r)t.reject(e);_()}};v.listeners=r,v.completed=!1,v.destroyed=!1,this.queue[h][g]=v,this._tryToCreateNewSession(h,g)})}request(e,t,n,r){return new Promise((i,a)=>{this.getSession(e,t,[{reject:a,resolve:e=>{try{i(e.request(n,r))}catch(e){a(e)}}}])})}createConnection(t,n){return e.connect(t,n)}static connect(e,t){t.ALPNProtocols=[`h2`];let n=e.port||443,i=e.hostname||e.host;return t.servername===void 0&&(t.servername=i),r.connect(n,i,t)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let t of e)t[o]===0&&t.close()}destroy(e){for(let t of Object.values(this.sessions))for(let n of t)n.destroy(e);for(let e of Object.values(this.queue))for(let t of Object.values(e))t.destroyed=!0;this.queue={}}get freeSessions(){return h({agent:this,isFree:!0})}get busySessions(){return h({agent:this,isFree:!1})}};_.kCurrentStreamsCount=o,_.kGracefullyClosing=l,t.exports={Agent:_,globalAgent:new _}})),Vn=Z(((e,t)=>{var{Readable:n}=Q(`stream`);t.exports=class extends n{constructor(e,t){super({highWaterMark:t,autoDestroy:!1}),this.statusCode=null,this.statusMessage=``,this.httpVersion=`2.0`,this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners(`data`),this.resume())}_read(){this.req&&this.req._request.resume()}}})),Hn=Z(((e,t)=>{t.exports=e=>{let t={protocol:e.protocol,hostname:typeof e.hostname==`string`&&e.hostname.startsWith(`[`)?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||``}${e.search||``}`};return typeof e.port==`string`&&e.port.length!==0&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||``}:${e.password||``}`),t}})),Un=Z(((e,t)=>{t.exports=(e,t,n)=>{for(let r of n)e.on(r,(...e)=>t.emit(r,...e))}})),Wn=Z(((e,t)=>{t.exports=e=>{switch(e){case`:method`:case`:scheme`:case`:authority`:case`:path`:return!0;default:return!1}}})),Gn=Z(((e,t)=>{var n=(e,n,r)=>{t.exports[n]=class extends e{constructor(...e){super(typeof r==`string`?r:r(e)),this.name=`${super.name} [${n}]`,this.code=n}}};n(TypeError,`ERR_INVALID_ARG_TYPE`,e=>{let t=e[0].includes(`.`)?`property`:`argument`,n=e[1],r=Array.isArray(n);return r&&(n=`${n.slice(0,-1).join(`, `)} or ${n.slice(-1)}`),`The "${e[0]}" ${t} must be ${r?`one of`:`of`} type ${n}. Received ${typeof e[2]}`}),n(TypeError,`ERR_INVALID_PROTOCOL`,e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`),n(Error,`ERR_HTTP_HEADERS_SENT`,e=>`Cannot ${e[0]} headers after they are sent to the client`),n(TypeError,`ERR_INVALID_HTTP_TOKEN`,e=>`${e[0]} must be a valid HTTP token [${e[1]}]`),n(TypeError,`ERR_HTTP_INVALID_HEADER_VALUE`,e=>`Invalid value "${e[0]} for header "${e[1]}"`),n(TypeError,`ERR_INVALID_CHAR`,e=>`Invalid character in ${e[0]} [${e[1]}]`)})),Kn=Z(((e,t)=>{var n=Q(`http2`),{Writable:r}=Q(`stream`),{Agent:i,globalAgent:a}=Bn(),o=Vn(),s=Hn(),c=Un(),l=Wn(),{ERR_INVALID_ARG_TYPE:u,ERR_INVALID_PROTOCOL:d,ERR_HTTP_HEADERS_SENT:f,ERR_INVALID_HTTP_TOKEN:p,ERR_HTTP_INVALID_HEADER_VALUE:m,ERR_INVALID_CHAR:h}=Gn(),{HTTP2_HEADER_STATUS:g,HTTP2_HEADER_METHOD:_,HTTP2_HEADER_PATH:v,HTTP2_METHOD_CONNECT:y}=n.constants,b=Symbol(`headers`),x=Symbol(`origin`),S=Symbol(`session`),C=Symbol(`options`),w=Symbol(`flushedHeaders`),T=Symbol(`jobs`),E=/^[\^`\-\w!#$%&*+.|~]+$/,D=/[^\t\u0020-\u007E\u0080-\u00FF]/;t.exports=class extends r{constructor(e,t,n){super({autoDestroy:!1});let r=typeof e==`string`||e instanceof URL;if(r&&(e=s(e instanceof URL?e:new URL(e))),typeof t==`function`||t===void 0?(n=t,t=r?e:{...e}):t={...e,...t},t.h2session)this[S]=t.h2session;else if(t.agent===!1)this.agent=new i({maxFreeSessions:0});else if(t.agent===void 0||t.agent===null)typeof t.createConnection==`function`?(this.agent=new i({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=a;else if(typeof t.agent.request==`function`)this.agent=t.agent;else throw new u(`options.agent`,[`Agent-like Object`,`undefined`,`false`],t.agent);if(t.protocol&&t.protocol!==`https:`)throw new d(t.protocol,`https:`);let o=t.port||t.defaultPort||this.agent&&this.agent.defaultPort||443,c=t.hostname||t.host||`localhost`;delete t.hostname,delete t.host,delete t.port;let{timeout:l}=t;if(t.timeout=void 0,this[b]=Object.create(null),this[T]=[],this.socket=null,this.connection=null,this.method=t.method||`GET`,this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(let[e,n]of Object.entries(t.headers))this.setHeader(e,n);t.auth&&!(`authorization`in this[b])&&(this[b].authorization=`Basic `+Buffer.from(t.auth).toString(`base64`)),t.session=t.tlsSession,t.path=t.socketPath,this[C]=t,o===443?(this[x]=`https://${c}`,`:authority`in this[b]||(this[b][`:authority`]=c)):(this[x]=`https://${c}:${o}`,`:authority`in this[b]||(this[b][`:authority`]=`${c}:${o}`)),l&&this.setTimeout(l),n&&this.once(`response`,n),this[w]=!1}get method(){return this[b][_]}set method(e){e&&(this[b][_]=e.toUpperCase())}get path(){return this[b][v]}set path(e){e&&(this[b][v]=e)}get _mustNotHaveABody(){return this.method===`GET`||this.method===`HEAD`||this.method===`DELETE`}_write(e,t,n){if(this._mustNotHaveABody){n(Error(`The GET, HEAD and DELETE methods must NOT have a body`));return}this.flushHeaders();let r=()=>this._request.write(e,t,n);this._request?r():this[T].push(r)}_final(e){if(this.destroyed)return;this.flushHeaders();let t=()=>{this._mustNotHaveABody?e():this._request.end(e)};this._request?t():this[T].push(t)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit(`abort`)),this.aborted=!0,this.destroy())}_destroy(e,t){this.res&&this.res._dump(),this._request&&this._request.destroy(),t(e)}async flushHeaders(){if(this[w]||this.destroyed)return;this[w]=!0;let e=this.method===y,t=t=>{if(this._request=t,this.destroyed){t.destroy();return}e||c(t,this,[`timeout`,`continue`,`close`,`error`]);let n=e=>(...t)=>{!this.writable&&!this.destroyed?e(...t):this.once(`finish`,()=>{e(...t)})};t.once(`response`,n((n,r,i)=>{let a=new o(this.socket,t.readableHighWaterMark);this.res=a,a.req=this,a.statusCode=n[g],a.headers=n,a.rawHeaders=i,a.once(`end`,()=>{this.aborted?(a.aborted=!0,a.emit(`aborted`)):(a.complete=!0,a.socket=null,a.connection=null)}),e?(a.upgrade=!0,this.emit(`connect`,a,t,Buffer.alloc(0))?this.emit(`close`):t.destroy()):(t.on(`data`,e=>{!a._dumped&&!a.push(e)&&t.pause()}),t.once(`end`,()=>{a.push(null)}),this.emit(`response`,a)||a._dump())})),t.once(`headers`,n(e=>this.emit(`information`,{statusCode:e[g]}))),t.once(`trailers`,n((e,t,n)=>{let{res:r}=this;r.trailers=e,r.rawTrailers=n}));let{socket:r}=t.session;this.socket=r,this.connection=r;for(let e of this[T])e();this.emit(`socket`,this.socket)};if(this[S])try{t(this[S].request(this[b]))}catch(e){this.emit(`error`,e)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[x],this[C],this[b]))}catch(e){this.emit(`error`,e)}}}getHeader(e){if(typeof e!=`string`)throw new u(`name`,`string`,e);return this[b][e.toLowerCase()]}get headersSent(){return this[w]}removeHeader(e){if(typeof e!=`string`)throw new u(`name`,`string`,e);if(this.headersSent)throw new f(`remove`);delete this[b][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new f(`set`);if(typeof e!=`string`||!E.test(e)&&!l(e))throw new p(`Header name`,e);if(t===void 0)throw new m(t,e);if(D.test(t))throw new h(`header content`,e);this[b][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){let n=()=>this._request.setTimeout(e,t);return this._request?n():this[T].push(n),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}}})),qn=Z(((e,t)=>{var n=Q(`tls`);t.exports=(e={},t=n.connect)=>new Promise((n,r)=>{let i=!1,a,o=async()=>{await c,a.off(`timeout`,s),a.off(`error`,r),e.resolveSocket?(n({alpnProtocol:a.alpnProtocol,socket:a,timeout:i}),i&&(await Promise.resolve(),a.emit(`timeout`))):(a.destroy(),n({alpnProtocol:a.alpnProtocol,timeout:i}))},s=async()=>{i=!0,o()},c=(async()=>{try{a=await t(e,o),a.on(`error`,r),a.once(`timeout`,s)}catch(e){r(e)}})()})})),Jn=Z(((e,t)=>{var n=Q(`net`);t.exports=e=>{let t=e.host,r=e.headers&&e.headers.host;return r&&(t=r.startsWith(`[`)?r.indexOf(`]`)===-1?r:r.slice(1,-1):r.split(`:`,1)[0]),n.isIP(t)?``:t}})),Yn=Z(((e,t)=>{var n=Q(`http`),r=Q(`https`),i=qn(),a=zn(),o=Kn(),s=Jn(),c=Hn(),l=new a({maxSize:100}),u=new Map,d=(e,t,n)=>{t._httpMessage={shouldKeepAlive:!0};let r=()=>{e.emit(`free`,t,n)};t.on(`free`,r);let i=()=>{e.removeSocket(t,n)};t.on(`close`,i);let a=()=>{e.removeSocket(t,n),t.off(`close`,i),t.off(`free`,r),t.off(`agentRemove`,a)};t.on(`agentRemove`,a),e.emit(`free`,t,n)},f=async e=>{let t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!l.has(t)){if(u.has(t))return(await u.get(t)).alpnProtocol;let{path:n,agent:a}=e;e.path=e.socketPath;let o=i(e);u.set(t,o);try{let{socket:i,alpnProtocol:s}=await o;if(l.set(t,s),e.path=n,s===`h2`)i.destroy();else{let{globalAgent:t}=r,n=r.Agent.prototype.createConnection;a?a.createConnection===n?d(a,i,e):i.destroy():t.createConnection===n?d(t,i,e):i.destroy()}return u.delete(t),s}catch(e){throw u.delete(t),e}}return l.get(t)};t.exports=async(e,t,i)=>{if((typeof e==`string`||e instanceof URL)&&(e=c(new URL(e))),typeof t==`function`&&(i=t,t=void 0),t={ALPNProtocols:[`h2`,`http/1.1`],...e,...t,resolveSocket:!0},!Array.isArray(t.ALPNProtocols)||t.ALPNProtocols.length===0)throw Error("The `ALPNProtocols` option must be an Array with at least one entry");t.protocol=t.protocol||`https:`;let a=t.protocol===`https:`;t.host=t.hostname||t.host||`localhost`,t.session=t.tlsSession,t.servername=t.servername||s(t),t.port=t.port||(a?443:80),t._defaultAgent=a?r.globalAgent:n.globalAgent;let l=t.agent;if(l){if(l.addRequest)throw Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=l[a?`https`:`http`]}return a&&await f(t)===`h2`?(l&&(t.agent=l.http2),new o(t,i)):n.request(t,i)},t.exports.protocolCache=l})),Xn=Z(((e,t)=>{var n=Q(`http2`),r=Bn(),i=Kn(),a=Vn(),o=Yn(),s=(e,t,n)=>new i(e,t,n),c=(e,t,n)=>{let r=new i(e,t,n);return r.end(),r};t.exports={...n,ClientRequest:i,IncomingMessage:a,...r,request:s,get:c,auto:o}})),Zn=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=_n();e.default=e=>t.default.nodeStream(e)&&t.default.function_(e.getBoundary)})),Qn=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q(`fs`),n=Q(`util`),r=_n(),i=Zn(),a=n.promisify(t.stat);e.default=async(e,o)=>{if(o&&`content-length`in o)return Number(o[`content-length`]);if(!e)return 0;if(r.default.string(e))return Buffer.byteLength(e);if(r.default.buffer(e))return e.length;if(i.default(e))return n.promisify(e.getLength.bind(e))();if(e instanceof t.ReadStream){let{size:t}=await a(e.path);return t===0?void 0:t}}})),$n=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e,t,n){let r={};for(let i of n)r[i]=(...e)=>{t.emit(i,...e)},e.on(i,r[i]);return()=>{for(let t of n)e.off(t,r[t])}}e.default=t})),er=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=()=>{let e=[];return{once(t,n,r){t.once(n,r),e.push({origin:t,event:n,fn:r})},unhandleAll(){for(let t of e){let{origin:e,event:n,fn:r}=t;e.removeListener(n,r)}e.length=0}}}})),tr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TimeoutError=void 0;var t=Q(`net`),n=er(),r=Symbol(`reentry`),i=()=>{},a=class extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name=`TimeoutError`,this.code=`ETIMEDOUT`}};e.TimeoutError=a,e.default=(e,o,s)=>{if(r in e)return i;e[r]=!0;let c=[],{once:l,unhandleAll:u}=n.default(),d=(e,t,n)=>{var r;let i=setTimeout(t,e,e,n);(r=i.unref)==null||r.call(i);let a=()=>{clearTimeout(i)};return c.push(a),a},{host:f,hostname:p}=s,m=(t,n)=>{e.destroy(new a(t,n))},h=()=>{for(let e of c)e();u()};if(e.once(`error`,t=>{if(h(),e.listenerCount(`error`)===0)throw t}),e.once(`close`,h),l(e,`response`,e=>{l(e,`end`,h)}),o.request!==void 0&&d(o.request,m,`request`),o.socket!==void 0){let t=()=>{m(o.socket,`socket`)};e.setTimeout(o.socket,t),c.push(()=>{e.removeListener(`timeout`,t)})}return l(e,`socket`,n=>{let{socketPath:r}=e;if(n.connecting){let e=!!(r??t.isIP(p??f??``)!==0);if(o.lookup!==void 0&&!e&&n.address().address===void 0){let e=d(o.lookup,m,`lookup`);l(n,`lookup`,e)}if(o.connect!==void 0){let t=()=>d(o.connect,m,`connect`);e?l(n,`connect`,t()):l(n,`lookup`,e=>{e===null&&l(n,`connect`,t())})}o.secureConnect!==void 0&&s.protocol===`https:`&&l(n,`connect`,()=>{let e=d(o.secureConnect,m,`secureConnect`);l(n,`secureConnect`,e)})}if(o.send!==void 0){let t=()=>d(o.send,m,`send`);n.connecting?l(n,`connect`,()=>{l(e,`upload-complete`,t())}):l(e,`upload-complete`,t())}}),o.response!==void 0&&l(e,`upload-complete`,()=>{let t=d(o.response,m,`response`);l(e,`response`,t)}),h}})),nr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=_n();e.default=e=>{e=e;let n={protocol:e.protocol,hostname:t.default.string(e.hostname)&&e.hostname.startsWith(`[`)?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||``}${e.search||``}`};return t.default.string(e.port)&&e.port.length>0&&(n.port=Number(e.port)),(e.username||e.password)&&(n.auth=`${e.username||``}:${e.password||``}`),n}})),rr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q(`url`),n=[`protocol`,`host`,`hostname`,`port`,`pathname`,`search`];e.default=(e,r)=>{if(r.path){if(r.pathname)throw TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(r.search)throw TypeError("Parameters `path` and `search` are mutually exclusive.");if(r.searchParams)throw TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(r.search&&r.searchParams)throw TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!r.protocol)throw TypeError(`No URL protocol specified`);e=`${r.protocol}//${r.hostname??r.host??``}`}let i=new t.URL(e);if(r.path){let e=r.path.indexOf(`?`);e===-1?r.pathname=r.path:(r.pathname=r.path.slice(0,e),r.search=r.path.slice(e+1)),delete r.path}for(let e of n)r[e]&&(i[e]=r[e].toString());return i}})),ir=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,t){typeof e==`object`?this.weakMap.set(e,t):this.map.set(e,t)}get(e){return typeof e==`object`?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e==`object`?this.weakMap.has(e):this.map.has(e)}}})),ar=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=async e=>{let t=[],n=0;for await(let r of e)t.push(r),n+=Buffer.byteLength(r);return Buffer.isBuffer(t[0])?Buffer.concat(t,n):Buffer.from(t.join(``))}})),or=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.dnsLookupIpVersionToFamily=e.isDnsLookupIpVersion=void 0;var t={auto:0,ipv4:4,ipv6:6};e.isDnsLookupIpVersion=e=>e in t,e.dnsLookupIpVersionToFamily=n=>{if(e.isDnsLookupIpVersion(n))return t[n];throw Error(`Invalid DNS lookup IP version`)}})),sr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isResponseOk=void 0,e.isResponseOk=e=>{let{statusCode:t}=e,n=e.request.options.followRedirect?299:399;return t>=200&&t<=n||t===304}})),cr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=new Set;e.default=e=>{t.has(e)||(t.add(e),process.emitWarning(`Got: ${e}`,{type:`DeprecationWarning`}))}})),lr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=_n();e.default=(e,n)=>{if(t.default.null_(e.encoding))throw TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");t.assert.any([t.default.string,t.default.undefined],e.encoding),t.assert.any([t.default.boolean,t.default.undefined],e.resolveBodyOnly),t.assert.any([t.default.boolean,t.default.undefined],e.methodRewriting),t.assert.any([t.default.boolean,t.default.undefined],e.isStream),t.assert.any([t.default.string,t.default.undefined],e.responseType),e.responseType===void 0&&(e.responseType=`text`);let{retry:r}=e;if(e.retry=n?{...n.retry}:{calculateDelay:e=>e.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},t.default.object(r)?(e.retry={...e.retry,...r},e.retry.methods=[...new Set(e.retry.methods.map(e=>e.toUpperCase()))],e.retry.statusCodes=[...new Set(e.retry.statusCodes)],e.retry.errorCodes=[...new Set(e.retry.errorCodes)]):t.default.number(r)&&(e.retry.limit=r),t.default.undefined(e.retry.maxRetryAfter)&&(e.retry.maxRetryAfter=Math.min(...[e.timeout.request,e.timeout.connect].filter(t.default.number))),t.default.object(e.pagination)){n&&(e.pagination={...n.pagination,...e.pagination});let{pagination:r}=e;if(!t.default.function_(r.transform))throw Error("`options.pagination.transform` must be implemented");if(!t.default.function_(r.shouldContinue))throw Error("`options.pagination.shouldContinue` must be implemented");if(!t.default.function_(r.filter))throw TypeError("`options.pagination.filter` must be implemented");if(!t.default.function_(r.paginate))throw Error("`options.pagination.paginate` must be implemented")}return e.responseType===`json`&&e.headers.accept===void 0&&(e.headers.accept=`application/json`),e}})),ur=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.retryAfterStatusCodes=void 0,e.retryAfterStatusCodes=new Set([413,429,503]),e.default=({attemptCount:e,retryOptions:t,error:n,retryAfter:r})=>{if(e>t.limit)return 0;let i=t.methods.includes(n.options.method),a=t.errorCodes.includes(n.code),o=n.response&&t.statusCodes.includes(n.response.statusCode);if(!i||!a&&!o)return 0;if(n.response){if(r)return t.maxRetryAfter===void 0||r>t.maxRetryAfter?0:r;if(n.response.statusCode===413)return 0}let s=Math.random()*100;return 2**(e-1)*1e3+s}})),dr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.UnsupportedProtocolError=e.ReadError=e.TimeoutError=e.UploadError=e.CacheError=e.HTTPError=e.MaxRedirectsError=e.RequestError=e.setNonEnumerableProperties=e.knownHookEvents=e.withoutBody=e.kIsNormalizedAlready=void 0;var t=Q(`util`),n=Q(`stream`),r=Q(`fs`),i=Q(`url`),a=Q(`http`),o=Q(`http`),s=Q(`https`),c=bn(),l=xn(),u=In(),d=Rn(),f=Xn(),p=An(),m=_n(),h=Qn(),g=Zn(),_=$n(),v=tr(),y=nr(),b=rr(),x=ir(),S=ar(),C=or(),w=sr(),T=cr(),E=lr(),D=ur(),O,k=Symbol(`request`),A=Symbol(`response`),j=Symbol(`responseSize`),M=Symbol(`downloadedSize`),N=Symbol(`bodySize`),P=Symbol(`uploadedSize`),F=Symbol(`serverResponsesPiped`),I=Symbol(`unproxyEvents`),L=Symbol(`isFromCache`),R=Symbol(`cancelTimeouts`),z=Symbol(`startedReading`),B=Symbol(`stopReading`),V=Symbol(`triggerRead`),H=Symbol(`body`),ee=Symbol(`jobs`),te=Symbol(`originalResponse`),ne=Symbol(`retryTimeout`);e.kIsNormalizedAlready=Symbol(`isNormalizedAlready`);var re=m.default.string(process.versions.brotli);e.withoutBody=new Set([`GET`,`HEAD`]),e.knownHookEvents=[`init`,`beforeRequest`,`beforeRedirect`,`beforeError`,`beforeRetry`,`afterResponse`];function ie(e){for(let t in e){let n=e[t];if(!m.default.string(n)&&!m.default.number(n)&&!m.default.boolean(n)&&!m.default.null_(n)&&!m.default.undefined(n))throw TypeError(`The \`searchParams\` value '${String(n)}' must be a string, number, boolean or null`)}}function ae(e){return m.default.object(e)&&!(`statusCode`in e)}var oe=new x.default,se=async e=>new Promise((t,n)=>{let r=e=>{n(e)};e.pending||t(),e.once(`error`,r),e.once(`ready`,()=>{e.off(`error`,r),t()})}),ce=new Set([300,301,302,303,304,307,308]),le=[`context`,`body`,`json`,`form`];e.setNonEnumerableProperties=(e,t)=>{let n={};for(let t of e)if(t)for(let e of le)e in t&&(n[e]={writable:!0,configurable:!0,enumerable:!1,value:t[e]});Object.defineProperties(t,n)};var U=class extends Error{constructor(e,t,n){if(super(e),Error.captureStackTrace(this,this.constructor),this.name=`RequestError`,this.code=t.code??`ERR_GOT_REQUEST_ERROR`,n instanceof _e?(Object.defineProperty(this,"request",{enumerable:!1,value:n}),Object.defineProperty(this,"response",{enumerable:!1,value:n[A]}),Object.defineProperty(this,"options",{enumerable:!1,value:n.options})):Object.defineProperty(this,"options",{enumerable:!1,value:n}),this.timings=this.request?.timings,m.default.string(t.stack)&&m.default.string(this.stack)){let e=this.stack.indexOf(this.message)+this.message.length,n=this.stack.slice(e).split(`
26
26
  `).reverse(),r=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`
27
27
  `).reverse();for(;r.length!==0&&r[0]===n[0];)n.shift();this.stack=`${this.stack.slice(0,e)}${n.reverse().join(`
28
28
  `)}${r.reverse().join(`
29
- `)}`}}};e.RequestError=W;var ue=class extends W{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=`MaxRedirectsError`,this.code=`ERR_TOO_MANY_REDIRECTS`}};e.MaxRedirectsError=ue;var de=class extends W{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=`HTTPError`,this.code=`ERR_NON_2XX_3XX_RESPONSE`}};e.HTTPError=de;var fe=class extends W{constructor(e,t){super(e.message,e,t),this.name=`CacheError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_CACHE_ACCESS`:this.code}};e.CacheError=fe;var pe=class extends W{constructor(e,t){super(e.message,e,t),this.name=`UploadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_UPLOAD`:this.code}};e.UploadError=pe;var me=class extends W{constructor(e,t,n){super(e.message,e,n),this.name=`TimeoutError`,this.event=e.event,this.timings=t}};e.TimeoutError=me;var he=class extends W{constructor(e,t){super(e.message,e,t),this.name=`ReadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_READING_RESPONSE_STREAM`:this.code}};e.ReadError=he;var ge=class extends W{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name=`UnsupportedProtocolError`,this.code=`ERR_UNSUPPORTED_PROTOCOL`}};e.UnsupportedProtocolError=ge;var _e=[`socket`,`connect`,`continue`,`information`,`upgrade`,`timeout`],ve=class extends n.Duplex{constructor(t,n={},i){super({autoDestroy:!1,highWaterMark:0}),this[M]=0,this[P]=0,this.requestInitialized=!1,this[F]=new Set,this.redirects=[],this[B]=!1,this[V]=!1,this[ee]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(`pipe`,e=>{e.prependListener(`data`,a),e.on(`data`,s),e.prependListener(`end`,a),e.on(`end`,s)}),this.on(`unpipe`,e=>{e.off(`data`,a),e.off(`data`,s),e.off(`end`,a),e.off(`end`,s)}),this.on(`pipe`,e=>{e instanceof o.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});let{json:c,body:l,form:u}=n;if((c||l||u)&&this._lockWrite(),e.kIsNormalizedAlready in n)this.options=n;else try{this.options=this.constructor.normalizeArguments(t,n,i)}catch(e){m.default.nodeStream(n.body)&&n.body.destroy(),this.destroy(e);return}(async()=>{var e;try{this.options.body instanceof r.ReadStream&&await se(this.options.body);let{url:t}=this.options;if(!t)throw TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(e=this[k])==null||e.destroy();return}for(let e of this[ee])e();this[ee].length=0,this.requestInitialized=!0}catch(e){if(e instanceof W){this._beforeError(e);return}this.destroyed||this.destroy(e)}})()}static normalizeArguments(n,r,a){var o;let s=r;if(m.default.object(n)&&!m.default.urlInstance(n))r={...a,...n,...r};else{if(n&&r&&r.url!==void 0)throw TypeError("The `url` option is mutually exclusive with the `input` argument");r={...a,...r},n!==void 0&&(r.url=n),m.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),m.assert.any([m.default.string,m.default.undefined],r.method),m.assert.any([m.default.object,m.default.undefined],r.headers),m.assert.any([m.default.string,m.default.urlInstance,m.default.undefined],r.prefixUrl),m.assert.any([m.default.object,m.default.undefined],r.cookieJar),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.searchParams),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.cache),m.assert.any([m.default.object,m.default.number,m.default.undefined],r.timeout),m.assert.any([m.default.object,m.default.undefined],r.context),m.assert.any([m.default.object,m.default.undefined],r.hooks),m.assert.any([m.default.boolean,m.default.undefined],r.decompress),m.assert.any([m.default.boolean,m.default.undefined],r.ignoreInvalidCookies),m.assert.any([m.default.boolean,m.default.undefined],r.followRedirect),m.assert.any([m.default.number,m.default.undefined],r.maxRedirects),m.assert.any([m.default.boolean,m.default.undefined],r.throwHttpErrors),m.assert.any([m.default.boolean,m.default.undefined],r.http2),m.assert.any([m.default.boolean,m.default.undefined],r.allowGetBody),m.assert.any([m.default.string,m.default.undefined],r.localAddress),m.assert.any([C.isDnsLookupIpVersion,m.default.undefined],r.dnsLookupIpVersion),m.assert.any([m.default.object,m.default.undefined],r.https),m.assert.any([m.default.boolean,m.default.undefined],r.rejectUnauthorized),r.https&&(m.assert.any([m.default.boolean,m.default.undefined],r.https.rejectUnauthorized),m.assert.any([m.default.function_,m.default.undefined],r.https.checkServerIdentity),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificateAuthority),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.key),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificate),m.assert.any([m.default.string,m.default.undefined],r.https.passphrase),m.assert.any([m.default.string,m.default.buffer,m.default.array,m.default.undefined],r.https.pfx)),m.assert.any([m.default.object,m.default.undefined],r.cacheOptions),m.default.string(r.method)?r.method=r.method.toUpperCase():r.method=`GET`,r.headers===a?.headers?r.headers={...r.headers}:r.headers=p({...a?.headers,...r.headers}),`slashes`in r)throw TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if(`auth`in r)throw TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if(`searchParams`in r&&r.searchParams&&r.searchParams!==a?.searchParams){let e;if(m.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else{ie(r.searchParams),e=new i.URLSearchParams;for(let t in r.searchParams){let n=r.searchParams[t];n===null?e.append(t,``):n!==void 0&&e.append(t,n)}}(o=a?.searchParams)==null||o.forEach((t,n)=>{e.has(n)||e.append(n,t)}),r.searchParams=e}if(r.username=r.username??``,r.password=r.password??``,m.default.undefined(r.prefixUrl)?r.prefixUrl=a?.prefixUrl??``:(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==``&&!r.prefixUrl.endsWith(`/`)&&(r.prefixUrl+=`/`)),m.default.string(r.url)){if(r.url.startsWith(`/`))throw Error("`input` must not start with a slash when using `prefixUrl`");r.url=b.default(r.prefixUrl+r.url,r)}else(m.default.undefined(r.url)&&r.prefixUrl!==``||r.protocol)&&(r.url=b.default(r.prefixUrl,r));if(r.url){`port`in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,"prefixUrl",{set:t=>{let n=r.url;if(!n.href.startsWith(t))throw Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${n.href}`);r.url=new i.URL(t+n.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if(t===`unix:`&&(t=`http:`,r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),t!==`http:`&&t!==`https:`)throw new ge(r);r.username===``?r.username=r.url.username:r.url.username=r.username,r.password===``?r.password=r.url.password:r.url.password=r.password}let{cookieJar:c}=r;if(c){let{setCookie:e,getCookieString:n}=c;m.assert.function_(e),m.assert.function_(n),e.length===4&&n.length===0&&(e=t.promisify(e.bind(r.cookieJar)),n=t.promisify(n.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:n})}let{cache:d}=r;if(d&&(oe.has(d)||oe.set(d,new u(((e,t)=>{let n=e[k](e,t);return m.default.promise(n)&&(n.once=(e,t)=>{if(e===`error`)n.catch(t);else if(e===`abort`)(async()=>{try{(await n).once(`abort`,t)}catch{}})();else throw Error(`Unknown HTTP2 promise event: ${e}`);return n}),n}),d))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)O||=new l.default,r.dnsCache=O;else if(!m.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${m.default(r.dnsCache)}`);m.default.number(r.timeout)?r.timeout={request:r.timeout}:a&&r.timeout!==a.timeout?r.timeout={...a.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let f=r.hooks===a?.hooks;r.hooks={...r.hooks};for(let t of e.knownHookEvents)if(t in r.hooks){if(m.default.array(r.hooks[t]))r.hooks[t]=[...r.hooks[t]];else throw TypeError(`Parameter \`${t}\` must be an Array, got ${m.default(r.hooks[t])}`)}else r.hooks[t]=[];if(a&&!f)for(let t of e.knownHookEvents)a.hooks[t].length>0&&(r.hooks[t]=[...a.hooks[t],...r.hooks[t]]);if(`family`in r&&T.default(`"options.family" was never documented, please use "options.dnsLookupIpVersion"`),a?.https&&(r.https={...a.https,...r.https}),`rejectUnauthorized`in r&&T.default(`"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"`),`checkServerIdentity`in r&&T.default(`"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"`),`ca`in r&&T.default(`"options.ca" was never documented, please use "options.https.certificateAuthority"`),`key`in r&&T.default(`"options.key" was never documented, please use "options.https.key"`),`cert`in r&&T.default(`"options.cert" was never documented, please use "options.https.certificate"`),`passphrase`in r&&T.default(`"options.passphrase" was never documented, please use "options.https.passphrase"`),`pfx`in r&&T.default(`"options.pfx" was never documented, please use "options.https.pfx"`),`followRedirects`in r)throw TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let e in r.agent)if(e!==`http`&&e!==`https`&&e!==`http2`)throw TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``)}return r.maxRedirects=r.maxRedirects??0,e.setNonEnumerableProperties([a,s],r),E.default(r,a)}_lockWrite(){let e=()=>{throw TypeError(`The payload has been already provided`)};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,a=!m.default.undefined(t.form),o=!m.default.undefined(t.json),s=!m.default.undefined(t.body),c=a||o||s,l=e.withoutBody.has(t.method)&&!(t.method===`GET`&&t.allowGetBody);if(this._cannotHaveBody=l,c){if(l)throw TypeError(`The \`${t.method}\` method cannot be used with a body`);if([s,a,o].filter(e=>e).length>1)throw TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(t.body instanceof n.Readable)&&!m.default.string(t.body)&&!m.default.buffer(t.body)&&!g.default(t.body))throw TypeError("The `body` option must be a stream.Readable, string or Buffer");if(a&&!m.default.object(t.form))throw TypeError("The `form` option must be an Object");{let e=!m.default.string(r[`content-type`]);s?(g.default(t.body)&&e&&(r[`content-type`]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[H]=t.body):a?(e&&(r[`content-type`]=`application/x-www-form-urlencoded`),this[H]=new i.URLSearchParams(t.form).toString()):(e&&(r[`content-type`]=`application/json`),this[H]=t.stringifyJson(t.json));let n=await h.default(this[H],t.headers);m.default.undefined(r[`content-length`])&&m.default.undefined(r[`transfer-encoding`])&&!l&&!m.default.undefined(n)&&(r[`content-length`]=String(n))}}else l?this._lockWrite():this._unlockWrite();this[N]=Number(r[`content-length`])||void 0}async _onResponseBase(e){let{options:t}=this,{url:n}=t;this[te]=e,t.decompress&&(e=d(e));let r=e.statusCode,o=e;o.statusMessage=o.statusMessage?o.statusMessage:a.STATUS_CODES[r],o.url=t.url.toString(),o.requestUrl=this.requestUrl,o.redirectUrls=this.redirects,o.request=this,o.isFromCache=e.fromCache||!1,o.ip=this.ip,o.retryCount=this.retryCount,this[L]=o.isFromCache,this[j]=Number(e.headers[`content-length`])||void 0,this[A]=e,e.once(`end`,()=>{this[j]=this[M],this.emit(`downloadProgress`,this.downloadProgress)}),e.once(`error`,t=>{e.destroy(),this._beforeError(new he(t,this))}),e.once(`aborted`,()=>{this._beforeError(new he({name:`Error`,message:`The server aborted pending request`,code:`ECONNRESET`},this))}),this.emit(`downloadProgress`,this.downloadProgress);let s=e.headers[`set-cookie`];if(m.default.object(t.cookieJar)&&s){let e=s.map(async e=>t.cookieJar.setCookie(e,n.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){this._beforeError(e);return}}if(t.followRedirect&&e.headers.location&&ce.has(r)){if(e.resume(),this[k]&&(this[R](),delete this[k],this[I]()),(r===303&&t.method!==`GET`&&t.method!==`HEAD`||!t.methodRewriting)&&(t.method=`GET`,`body`in t&&delete t.body,`json`in t&&delete t.json,`form`in t&&delete t.form,this[H]=void 0,delete t.headers[`content-length`]),this.redirects.length>=t.maxRedirects){this._beforeError(new ue(this));return}try{let r=Buffer.from(e.headers.location,`binary`).toString(),a=new i.URL(r,n),s=a.toString();function c(e){return e.protocol===`unix:`||e.hostname===`unix`}if(!c(n)&&c(a)){this._beforeError(new W(`Cannot redirect to UNIX socket`,{},this));return}a.hostname!==n.hostname||a.port!==n.port?(`host`in t.headers&&delete t.headers.host,`cookie`in t.headers&&delete t.headers.cookie,`authorization`in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=``,t.password=``)):(a.username=t.username,a.password=t.password),this.redirects.push(s),t.url=a;for(let e of t.hooks.beforeRedirect)await e(t,o);this.emit(`redirect`,o,t),await this._makeRequest()}catch(e){this._beforeError(e);return}return}if(t.isStream&&t.throwHttpErrors&&!w.isResponseOk(o)){this._beforeError(new de(o));return}e.on(`readable`,()=>{this[V]&&this._read()}),this.on(`resume`,()=>{e.resume()}),this.on(`pause`,()=>{e.pause()}),e.once(`end`,()=>{this.push(null)}),this.emit(`response`,e);for(let n of this[F])if(!n.headersSent){for(let r in e.headers){let i=!t.decompress||r!==`content-encoding`,a=e.headers[r];i&&n.setHeader(r,a)}n.statusCode=r}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){let{options:t}=this,{timeout:n,url:r}=t;c.default(e),this[R]=v.default(e,n,r);let i=t.cache?`cacheableResponse`:`response`;e.once(i,e=>{this._onResponse(e)}),e.once(`error`,t=>{var n;e.destroy(),(n=e.res)==null||n.removeAllListeners(`end`),t=t instanceof v.TimeoutError?new me(t,this.timings,this):new W(t.message,t,this),this._beforeError(t)}),this[I]=_.default(e,this,_e),this[k]=e,this.emit(`uploadProgress`,this.uploadProgress);let a=this[H],o=this.redirects.length===0?this:e;m.default.nodeStream(a)?(a.pipe(o),a.once(`error`,e=>{this._beforeError(new pe(e,this))})):(this._unlockWrite(),m.default.undefined(a)?(this._cannotHaveBody||this._noPipe)&&(o.end(),this._lockWrite()):(this._writeRequest(a,void 0,()=>{}),o.end(),this._lockWrite())),this.emit(`request`,e)}async _createCacheableRequest(e,t){return new Promise((n,r)=>{Object.assign(t,y.default(e)),delete t.url;let i,a=oe.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,i&&(await i).emit(`cacheableResponse`,e),n(e)});t.url=e,a.once(`error`,r),a.once(`request`,async e=>{i=e,n(i)})})}async _makeRequest(){let{options:e}=this,{headers:t}=e;for(let e in t)if(m.default.undefined(t[e]))delete t[e];else if(m.default.null_(t[e]))throw TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(e.decompress&&m.default.undefined(t[`accept-encoding`])&&(t[`accept-encoding`]=re?`gzip, deflate, br`:`gzip, deflate`),e.cookieJar){let t=await e.cookieJar.getCookieString(e.url.toString());m.default.nonEmptyString(t)&&(e.headers.cookie=t)}for(let t of e.hooks.beforeRequest){let n=await t(e);if(!m.default.undefined(n)){e.request=()=>n;break}}e.body&&this[H]!==e.body&&(this[H]=e.body);let{agent:n,request:r,timeout:i,url:o}=e;if(e.dnsCache&&!(`lookup`in e)&&(e.lookup=e.dnsCache.lookup),o.hostname===`unix`){let t=/(?<socketPath>.+?):(?<path>.+)/.exec(`${o.pathname}${o.search}`);if(t?.groups){let{socketPath:n,path:r}=t.groups;Object.assign(e,{socketPath:n,path:r,host:``})}}let c=o.protocol===`https:`,l;l=e.http2?f.auto:c?s.request:a.request;let d=e.request??l,p=e.cache?this._createCacheableRequest:d;n&&!e.http2&&(e.agent=n[c?`https`:`http`]),e[k]=d,delete e.request,delete e.timeout;let h=e;if(h.shared=e.cacheOptions?.shared,h.cacheHeuristic=e.cacheOptions?.cacheHeuristic,h.immutableMinTimeToLive=e.cacheOptions?.immutableMinTimeToLive,h.ignoreCargoCult=e.cacheOptions?.ignoreCargoCult,e.dnsLookupIpVersion!==void 0)try{h.family=C.dnsLookupIpVersionToFamily(e.dnsLookupIpVersion)}catch{throw Error("Invalid `dnsLookupIpVersion` option value")}e.https&&(`rejectUnauthorized`in e.https&&(h.rejectUnauthorized=e.https.rejectUnauthorized),e.https.checkServerIdentity&&(h.checkServerIdentity=e.https.checkServerIdentity),e.https.certificateAuthority&&(h.ca=e.https.certificateAuthority),e.https.certificate&&(h.cert=e.https.certificate),e.https.key&&(h.key=e.https.key),e.https.passphrase&&(h.passphrase=e.https.passphrase),e.https.pfx&&(h.pfx=e.https.pfx));try{let t=await p(o,h);m.default.undefined(t)&&(t=l(o,h)),e.request=r,e.timeout=i,e.agent=n,e.https&&(`rejectUnauthorized`in e.https&&delete h.rejectUnauthorized,e.https.checkServerIdentity&&delete h.checkServerIdentity,e.https.certificateAuthority&&delete h.ca,e.https.certificate&&delete h.cert,e.https.key&&delete h.key,e.https.passphrase&&delete h.passphrase,e.https.pfx&&delete h.pfx),ae(t)?this._onRequest(t):this.writable?(this.once(`finish`,()=>{this._onResponse(t)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(t)}catch(e){throw e instanceof u.CacheError?new fe(e,this):new W(e.message,e,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new W(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[B])return;let{options:t}=this,n=this.retryCount+1;this[B]=!0,e instanceof W||(e=new W(e.message,e,this));let r=e,{response:i}=r;(async()=>{if(i&&!i.body){i.setEncoding(this._readableState.encoding);try{i.rawBody=await S.default(i),i.body=i.rawBody.toString()}catch{}}if(this.listenerCount(`retry`)!==0){let a;try{let e;i&&`retry-after`in i.headers&&(e=Number(i.headers[`retry-after`]),Number.isNaN(e)?(e=Date.parse(i.headers[`retry-after`])-Date.now(),e<=0&&(e=1)):e*=1e3),a=await t.retry.calculateDelay({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:D.default({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:0})})}catch(e){this._error(new W(e.message,e,this));return}if(a){let t=async()=>{try{for(let e of this.options.hooks.beforeRetry)await e(this.options,r,n)}catch(t){this._error(new W(t.message,e,this));return}this.destroyed||(this.destroy(),this.emit(`retry`,n,e))};this[ne]=setTimeout(t,a);return}}this._error(r)})()}_read(){this[V]=!0;let e=this[A];if(e&&!this[B]){e.readableLength&&(this[V]=!1);let t;for(;(t=e.read())!==null;){this[M]+=t.length,this[z]=!0;let e=this.downloadProgress;e.percent<1&&this.emit(`downloadProgress`,e),this.push(t)}}}_write(e,t,n){let r=()=>{this._writeRequest(e,t,n)};this.requestInitialized?r():this[ee].push(r)}_writeRequest(e,t,n){this[k].destroyed||(this._progressCallbacks.push(()=>{this[P]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(`uploadProgress`,n)}),this[k].write(e,t,e=>{!e&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),n(e)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(k in this)){e();return}if(this[k].destroyed){e();return}this[k].end(t=>{t||(this[N]=this[P],this.emit(`uploadProgress`,this.uploadProgress),this[k].emit(`upload-complete`)),e(t)})};this.requestInitialized?t():this[ee].push(t)}_destroy(e,t){this[B]=!0,clearTimeout(this[ne]),k in this&&(this[R](),this[A]?.complete||this[k].destroy()),e!==null&&!m.default.undefined(e)&&!(e instanceof W)&&(e=new W(e.message,e,this)),t(e)}get _isAboutToError(){return this[B]}get ip(){return this.socket?.remoteAddress}get aborted(){return(this[k]?.destroyed??this.destroyed)&&!this[te]?.complete}get socket(){return this[k]?.socket??void 0}get downloadProgress(){let e;return e=this[j]?this[M]/this[j]:+(this[j]===this[M]),{percent:e,transferred:this[M],total:this[j]}}get uploadProgress(){let e;return e=this[N]?this[P]/this[N]:+(this[N]===this[P]),{percent:e,transferred:this[P],total:this[N]}}get timings(){return this[k]?.timings}get isFromCache(){return this[L]}pipe(e,t){if(this[z])throw Error(`Failed to pipe. The response has been emitted already.`);return e instanceof o.ServerResponse&&this[F].add(e),super.pipe(e,t)}unpipe(e){return e instanceof o.ServerResponse&&this[F].delete(e),super.unpipe(e),this}};e.default=ve})),Lr=H((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.CancelError=e.ParseError=void 0;var r=Ir();e.ParseError=class extends r.RequestError{constructor(e,t){let{options:n}=t.request;super(`${e.message} in "${n.url.toString()}"`,e,t.request),this.name=`ParseError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_BODY_PARSE_FAILURE`:this.code}},e.CancelError=class extends r.RequestError{constructor(e){super(`Promise was canceled`,{},e),this.name=`CancelError`,this.code=`ERR_CANCELED`}get isCanceled(){return!0}},n(Ir(),e)})),Rr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Lr();e.default=(e,n,r,i)=>{let{rawBody:a}=e;try{if(n===`text`)return a.toString(i);if(n===`json`)return a.length===0?``:r(a.toString());if(n===`buffer`)return a;throw new t.ParseError({message:`Unknown body type '${n}'`,name:`Error`},e)}catch(n){throw new t.ParseError(n,e)}}})),zr=H((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0});var r=U(`events`),i=Q(),a=Un(),o=Lr(),s=Rr(),c=Ir(),l=wr(),u=Ar(),d=Mr(),f=[`request`,`response`,`redirect`,`uploadProgress`,`downloadProgress`];function p(e){let t,n,m=new r.EventEmitter,h=new a((r,a,g)=>{let _=v=>{let y=new c.default(void 0,e);y.retryCount=v,y._noPipe=!0,g(()=>y.destroy()),g.shouldReject=!1,g(()=>a(new o.CancelError(y))),t=y,y.once(`response`,async e=>{if(e.retryCount=v,e.request.aborted)return;let t;try{t=await u.default(y),e.rawBody=t}catch{return}if(y._isAboutToError)return;let i=(e.headers[`content-encoding`]??``).toLowerCase(),a=[`gzip`,`deflate`,`br`].includes(i),{options:l}=y;if(a&&!l.decompress)e.body=t;else try{e.body=s.default(e,l.responseType,l.parseJson,l.encoding)}catch(n){if(e.body=t.toString(),d.isResponseOk(e)){y._beforeError(n);return}}try{for(let[t,n]of l.hooks.afterResponse.entries())e=await n(e,async e=>{let n=c.default.normalizeArguments(void 0,{...e,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},l);n.hooks.afterResponse=n.hooks.afterResponse.slice(0,t);for(let e of n.hooks.beforeRetry)await e(n);let r=p(n);return g(()=>{r.catch(()=>{}),r.cancel()}),r})}catch(e){y._beforeError(new o.RequestError(e.message,e,y));return}if(n=e,!d.isResponseOk(e)){y._beforeError(new o.HTTPError(e));return}y.destroy(),r(y.options.resolveBodyOnly?e.body:e)});let b=e=>{if(h.isCanceled)return;let{options:t}=y;if(e instanceof o.HTTPError&&!t.throwHttpErrors){let{response:t}=e;r(y.options.resolveBodyOnly?t.body:t);return}a(e)};y.once(`error`,b);let x=y.options.body;y.once(`retry`,(e,t)=>{if(x===t.request?.options.body&&i.default.nodeStream(t.request?.options.body)){b(t);return}_(e)}),l.default(y,m,f)};_(0)});h.on=(e,t)=>(m.on(e,t),h);let g=e=>{let t=(async()=>{await h;let{options:t}=n.request;return s.default(n,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(h)),t};return h.json=()=>{let{headers:e}=t.options;return!t.writableFinished&&e.accept===void 0&&(e.accept=`application/json`),g(`json`)},h.buffer=()=>g(`buffer`),h.text=()=>g(`text`),h}e.default=p,n(Lr(),e)})),Br=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Lr();function n(e,...n){let r=(async()=>{if(e instanceof t.RequestError)try{for(let t of n)if(t)for(let n of t)e=await n(e)}catch(t){e=t}throw e})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}e.default=n})),Vr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Q();function n(e){for(let r of Object.values(e))(t.default.plainObject(r)||t.default.array(r))&&n(r);return Object.freeze(e)}e.default=n})),Hr=H((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),Ur=H((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.defaultHandler=void 0;var r=Q(),i=zr(),a=Br(),o=Ir(),s=Vr(),c={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=o.default,d=(...e)=>{let t;for(let n of e)t=u(void 0,n,t);return t},f=e=>e.isStream?new o.default(void 0,e):i.default(e),p=e=>`defaults`in e&&`options`in e.defaults,m=[`get`,`post`,`put`,`patch`,`head`,`delete`];e.defaultHandler=(e,t)=>t(e);var h=(e,t)=>{if(e)for(let n of e)n(t)},g=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(e=>((t,n)=>{let r,i=e(t,e=>(r=n(e),r));if(i!==r&&!t.isStream&&r){let e=i,{then:t,catch:n,finally:a}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(r)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)),e.then=t,e.catch=n,e.finally=a}return i}));let n=((e,n={},s)=>{let c=0,l=e=>t.handlers[c++](e,c===t.handlers.length?f:l);if(r.default.plainObject(e)){let t={...e,...n};o.setNonEnumerableProperties([e,n],t),n=t,e=void 0}try{let r;try{h(t.options.hooks.init,n),h(n.hooks?.init,n)}catch(e){r=e}let a=u(e,n,s??t.options);if(a[o.kIsNormalizedAlready]=!0,r)throw new i.RequestError(r.message,r,a);return l(a)}catch(e){if(n.isStream)throw e;return a.default(e,t.options.hooks.beforeError,n.hooks?.beforeError)}});n.extend=(...n)=>{let r=[t.options],i=[...t._rawHandlers],a;for(let e of n)p(e)?(r.push(e.defaults.options),i.push(...e.defaults._rawHandlers),a=e.defaults.mutableDefaults):(r.push(e),`handlers`in e&&i.push(...e.handlers),a=e.mutableDefaults);return i=i.filter(t=>t!==e.defaultHandler),i.length===0&&i.push(e.defaultHandler),g({options:d(...r),handlers:i,mutableDefaults:!!a})};let _=(async function*(e,i){let a=u(e,i,t.options);a.resolveBodyOnly=!1;let o=a.pagination;if(!r.default.object(o))throw TypeError("`options.pagination` must be implemented");let s=[],{countLimit:c}=o,d=0;for(;d<o.requestLimit;){d!==0&&await l(o.backoff);let e=await n(void 0,void 0,a),t=await o.transform(e),r=[];for(let e of t)if(o.filter(e,s,r)&&(!o.shouldContinue(e,s,r)||(yield e,o.stackAllItems&&s.push(e),r.push(e),--c<=0)))return;let i=o.paginate(e,s,r);if(i===!1)return;i===e.request.options?a=e.request.options:i!==void 0&&(a=u(void 0,i,a)),d++}});n.paginate=_,n.paginate.all=(async(e,t)=>{let n=[];for await(let r of _(e,t))n.push(r);return n}),n.paginate.each=_,n.stream=((e,t)=>n(e,{...t,isStream:!0}));for(let e of m)n[e]=((t,r)=>n(t,{...r,method:e})),n.stream[e]=((t,r)=>n(t,{...r,method:e,isStream:!0}));return Object.assign(n,c),Object.defineProperty(n,"defaults",{value:t.mutableDefaults?t:s.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),n.mergeOptions=d,n};e.default=g,n(Hr(),e)})),Wr=H(((e,t)=>{var n=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),r=e&&e.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0});var i=U(`url`),a=Ur(),o={options:{method:`GET`,retry:{limit:2,methods:[`GET`,`PUT`,`HEAD`,`DELETE`,`OPTIONS`,`TRACE`],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[`ETIMEDOUT`,`ECONNRESET`,`EADDRINUSE`,`ECONNREFUSED`,`EPIPE`,`ENOTFOUND`,`ENETUNREACH`,`EAI_AGAIN`],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":`got (https://github.com/sindresorhus/got)`},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:`text`,resolveBodyOnly:!1,maxRedirects:10,prefixUrl:``,methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType===`json`?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,`link`))return!1;let t=e.headers.link.split(`,`),n;for(let e of t){let t=e.split(`;`);if(t[1].includes(`next`)){n=t[0].trimStart().trim(),n=n.slice(1,-1);break}}return n?{url:new i.URL(n)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[a.defaultHandler],mutableDefaults:!1},s=a.default(o);e.default=s,t.exports=s,t.exports.default=s,t.exports.__esModule=!0,r(Ur(),e),r(zr(),e)})),Gr=H(((e,t)=>{var n=new Map([[`C`,`cwd`],[`f`,`file`],[`z`,`gzip`],[`P`,`preservePaths`],[`U`,`unlink`],[`strip-components`,`strip`],[`stripComponents`,`strip`],[`keep-newer`,`newer`],[`keepNewer`,`newer`],[`keep-newer-files`,`newer`],[`keepNewerFiles`,`newer`],[`k`,`keep`],[`keep-existing`,`keep`],[`keepExisting`,`keep`],[`m`,`noMtime`],[`no-mtime`,`noMtime`],[`p`,`preserveOwner`],[`L`,`follow`],[`h`,`follow`]]);t.exports=e=>e?Object.keys(e).map(t=>[n.has(t)?n.get(t):t,e[t]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}})),Kr=H((e=>{var t=typeof process==`object`&&process?process:{stdout:null,stderr:null},n=U(`events`),r=U(`stream`),i=U(`string_decoder`).StringDecoder,a=Symbol(`EOF`),o=Symbol(`maybeEmitEnd`),s=Symbol(`emittedEnd`),c=Symbol(`emittingEnd`),l=Symbol(`emittedError`),u=Symbol(`closed`),d=Symbol(`read`),f=Symbol(`flush`),p=Symbol(`flushChunk`),m=Symbol(`encoding`),h=Symbol(`decoder`),g=Symbol(`flowing`),_=Symbol(`paused`),v=Symbol(`resume`),y=Symbol(`buffer`),b=Symbol(`pipes`),x=Symbol(`bufferLength`),S=Symbol(`bufferPush`),C=Symbol(`bufferShift`),w=Symbol(`objectMode`),T=Symbol(`destroyed`),E=Symbol(`error`),D=Symbol(`emitData`),O=Symbol(`emitEnd`),k=Symbol(`emitEnd2`),A=Symbol(`async`),j=Symbol(`abort`),M=Symbol(`aborted`),N=Symbol(`signal`),P=e=>Promise.resolve().then(e),F=global._MP_NO_ITERATOR_SYMBOLS_!==`1`,I=F&&Symbol.asyncIterator||Symbol(`asyncIterator not implemented`),L=F&&Symbol.iterator||Symbol(`iterator not implemented`),R=e=>e===`end`||e===`finish`||e===`prefinish`,z=e=>e instanceof ArrayBuffer||typeof e==`object`&&e.constructor&&e.constructor.name===`ArrayBuffer`&&e.byteLength>=0,B=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),V=class{constructor(e,t,n){this.src=e,this.dest=t,this.opts=n,this.ondrain=()=>e[v](),t.on(`drain`,this.ondrain)}unpipe(){this.dest.removeListener(`drain`,this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},H=class extends V{unpipe(){this.src.removeListener(`error`,this.proxyErrors),super.unpipe()}constructor(e,t,n){super(e,t,n),this.proxyErrors=e=>t.emit(`error`,e),e.on(`error`,this.proxyErrors)}};e.Minipass=class e extends r{constructor(e){super(),this[g]=!1,this[_]=!1,this[b]=[],this[y]=[],this[w]=e&&e.objectMode||!1,this[m]=this[w]?null:e&&e.encoding||null,this[m]===`buffer`&&(this[m]=null),this[A]=e&&!!e.async||!1,this[h]=this[m]?new i(this[m]):null,this[a]=!1,this[s]=!1,this[c]=!1,this[u]=!1,this[l]=null,this.writable=!0,this.readable=!0,this[x]=0,this[T]=!1,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[y]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[b]}),this[N]=e&&e.signal,this[M]=!1,this[N]&&(this[N].addEventListener(`abort`,()=>this[j]()),this[N].aborted&&this[j]())}get bufferLength(){return this[x]}get encoding(){return this[m]}set encoding(e){if(this[w])throw Error(`cannot set encoding in objectMode`);if(this[m]&&e!==this[m]&&(this[h]&&this[h].lastNeed||this[x]))throw Error(`cannot change encoding`);this[m]!==e&&(this[h]=e?new i(e):null,this[y].length&&(this[y]=this[y].map(e=>this[h].write(e)))),this[m]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[w]}set objectMode(e){this[w]=this[w]||!!e}get async(){return this[A]}set async(e){this[A]=this[A]||!!e}[j](){this[M]=!0,this.emit(`abort`,this[N].reason),this.destroy(this[N].reason)}get aborted(){return this[M]}set aborted(e){}write(e,t,n){if(this[M])return!1;if(this[a])throw Error(`write after end`);if(this[T])return this.emit(`error`,Object.assign(Error(`Cannot call write after a stream was destroyed`),{code:`ERR_STREAM_DESTROYED`})),!0;typeof t==`function`&&(n=t,t=`utf8`),t||=`utf8`;let r=this[A]?P:e=>e();return!this[w]&&!Buffer.isBuffer(e)&&(B(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):z(e)?e=Buffer.from(e):typeof e!=`string`&&(this.objectMode=!0)),this[w]?(this.flowing&&this[x]!==0&&this[f](!0),this.flowing?this.emit(`data`,e):this[S](e),this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing):e.length?(typeof e==`string`&&(t!==this[m]||this[h].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[m]&&(e=this[h].write(e)),this.flowing&&this[x]!==0&&this[f](!0),this.flowing?this.emit(`data`,e):this[S](e),this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing):(this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing)}read(e){if(this[T])return null;if(this[x]===0||e===0||e>this[x])return this[o](),null;this[w]&&(e=null),this[y].length>1&&!this[w]&&(this[y]=this.encoding?[this[y].join(``)]:[Buffer.concat(this[y],this[x])]);let t=this[d](e||null,this[y][0]);return this[o](),t}[d](e,t){return e===t.length||e===null?this[C]():(this[y][0]=t.slice(e),t=t.slice(0,e),this[x]-=e),this.emit(`data`,t),!this[y].length&&!this[a]&&this.emit(`drain`),t}end(e,t,n){return typeof e==`function`&&(n=e,e=null),typeof t==`function`&&(n=t,t=`utf8`),e&&this.write(e,t),n&&this.once(`end`,n),this[a]=!0,this.writable=!1,(this.flowing||!this[_])&&this[o](),this}[v](){this[T]||(this[_]=!1,this[g]=!0,this.emit(`resume`),this[y].length?this[f]():this[a]?this[o]():this.emit(`drain`))}resume(){return this[v]()}pause(){this[g]=!1,this[_]=!0}get destroyed(){return this[T]}get flowing(){return this[g]}get paused(){return this[_]}[S](e){this[w]?this[x]+=1:this[x]+=e.length,this[y].push(e)}[C](){return this[w]?--this[x]:this[x]-=this[y][0].length,this[y].shift()}[f](e){do;while(this[p](this[C]())&&this[y].length);!e&&!this[y].length&&!this[a]&&this.emit(`drain`)}[p](e){return this.emit(`data`,e),this.flowing}pipe(e,n){if(this[T])return;let r=this[s];return n||={},e===t.stdout||e===t.stderr?n.end=!1:n.end=n.end!==!1,n.proxyErrors=!!n.proxyErrors,r?n.end&&e.end():(this[b].push(n.proxyErrors?new H(this,e,n):new V(this,e,n)),this[A]?P(()=>this[v]()):this[v]()),e}unpipe(e){let t=this[b].find(t=>t.dest===e);t&&(this[b].splice(this[b].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let n=super.on(e,t);return e===`data`&&!this[b].length&&!this.flowing?this[v]():e===`readable`&&this[x]!==0?super.emit(`readable`):R(e)&&this[s]?(super.emit(e),this.removeAllListeners(e)):e===`error`&&this[l]&&(this[A]?P(()=>t.call(this,this[l])):t.call(this,this[l])),n}get emittedEnd(){return this[s]}[o](){!this[c]&&!this[s]&&!this[T]&&this[y].length===0&&this[a]&&(this[c]=!0,this.emit(`end`),this.emit(`prefinish`),this.emit(`finish`),this[u]&&this.emit(`close`),this[c]=!1)}emit(e,t,...n){if(e!==`error`&&e!==`close`&&e!==T&&this[T])return;if(e===`data`)return!this[w]&&!t?!1:this[A]?P(()=>this[D](t)):this[D](t);if(e===`end`)return this[O]();if(e===`close`){if(this[u]=!0,!this[s]&&!this[T])return;let e=super.emit(`close`);return this.removeAllListeners(`close`),e}if(e===`error`){this[l]=t,super.emit(E,t);let e=!this[N]||this.listeners(`error`).length?super.emit(`error`,t):!1;return this[o](),e}if(e===`resume`){let e=super.emit(`resume`);return this[o](),e}if(e===`finish`||e===`prefinish`){let t=super.emit(e);return this.removeAllListeners(e),t}let r=super.emit(e,t,...n);return this[o](),r}[D](e){for(let t of this[b])t.dest.write(e)===!1&&this.pause();let t=super.emit(`data`,e);return this[o](),t}[O](){this[s]||(this[s]=!0,this.readable=!1,this[A]?P(()=>this[k]()):this[k]())}[k](){if(this[h]){let e=this[h].end();if(e){for(let t of this[b])t.dest.write(e);super.emit(`data`,e)}}for(let e of this[b])e.end();let e=super.emit(`end`);return this.removeAllListeners(`end`),e}collect(){let e=[];this[w]||(e.dataLength=0);let t=this.promise();return this.on(`data`,t=>{e.push(t),this[w]||(e.dataLength+=t.length)}),t.then(()=>e)}concat(){return this[w]?Promise.reject(Error(`cannot concat in objectMode`)):this.collect().then(e=>this[w]?Promise.reject(Error(`cannot concat in objectMode`)):this[m]?e.join(``):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(T,()=>t(Error(`stream destroyed`))),this.on(`error`,e=>t(e)),this.on(`end`,()=>e())})}[I](){let e=!1,t=()=>(this.pause(),e=!0,Promise.resolve({done:!0}));return{next:()=>{if(e)return t();let n=this.read();if(n!==null)return Promise.resolve({done:!1,value:n});if(this[a])return t();let r=null,i=null,o=e=>{this.removeListener(`data`,s),this.removeListener(`end`,c),this.removeListener(T,l),t(),i(e)},s=e=>{this.removeListener(`error`,o),this.removeListener(`end`,c),this.removeListener(T,l),this.pause(),r({value:e,done:!!this[a]})},c=()=>{this.removeListener(`error`,o),this.removeListener(`data`,s),this.removeListener(T,l),t(),r({done:!0})},l=()=>o(Error(`stream destroyed`));return new Promise((e,t)=>{i=t,r=e,this.once(T,l),this.once(`error`,o),this.once(`end`,c),this.once(`data`,s)})},throw:t,return:t,[I](){return this}}}[L](){let e=!1,t=()=>(this.pause(),this.removeListener(E,t),this.removeListener(T,t),this.removeListener(`end`,t),e=!0,{done:!0});return this.once(`end`,t),this.once(E,t),this.once(T,t),{next:()=>{if(e)return t();let n=this.read();return n===null?t():{value:n}},throw:t,return:t,[L](){return this}}}destroy(e){return this[T]?(e?this.emit(`error`,e):this.emit(T),this):(this[T]=!0,this[y].length=0,this[x]=0,typeof this.close==`function`&&!this[u]&&this.close(),e?this.emit(`error`,e):this.emit(T),this)}static isStream(t){return!!t&&(t instanceof e||t instanceof r||t instanceof n&&(typeof t.pipe==`function`||typeof t.write==`function`&&typeof t.end==`function`))}}})),qr=H(((e,t)=>{var n=U(`zlib`).constants||{ZLIB_VERNUM:4736};t.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},n))})),Jr=H(((e,t)=>{var n=typeof process==`object`&&process?process:{stdout:null,stderr:null},r=U(`events`),i=U(`stream`),a=U(`string_decoder`).StringDecoder,o=Symbol(`EOF`),s=Symbol(`maybeEmitEnd`),c=Symbol(`emittedEnd`),l=Symbol(`emittingEnd`),u=Symbol(`emittedError`),d=Symbol(`closed`),f=Symbol(`read`),p=Symbol(`flush`),m=Symbol(`flushChunk`),h=Symbol(`encoding`),g=Symbol(`decoder`),_=Symbol(`flowing`),v=Symbol(`paused`),y=Symbol(`resume`),b=Symbol(`bufferLength`),x=Symbol(`bufferPush`),S=Symbol(`bufferShift`),C=Symbol(`objectMode`),w=Symbol(`destroyed`),T=Symbol(`emitData`),E=Symbol(`emitEnd`),D=Symbol(`emitEnd2`),O=Symbol(`async`),k=e=>Promise.resolve().then(e),A=global._MP_NO_ITERATOR_SYMBOLS_!==`1`,j=A&&Symbol.asyncIterator||Symbol(`asyncIterator not implemented`),M=A&&Symbol.iterator||Symbol(`iterator not implemented`),N=e=>e===`end`||e===`finish`||e===`prefinish`,P=e=>e instanceof ArrayBuffer||typeof e==`object`&&e.constructor&&e.constructor.name===`ArrayBuffer`&&e.byteLength>=0,F=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),I=class{constructor(e,t,n){this.src=e,this.dest=t,this.opts=n,this.ondrain=()=>e[y](),t.on(`drain`,this.ondrain)}unpipe(){this.dest.removeListener(`drain`,this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},L=class extends I{unpipe(){this.src.removeListener(`error`,this.proxyErrors),super.unpipe()}constructor(e,t,n){super(e,t,n),this.proxyErrors=e=>t.emit(`error`,e),e.on(`error`,this.proxyErrors)}};t.exports=class e extends i{constructor(e){super(),this[_]=!1,this[v]=!1,this.pipes=[],this.buffer=[],this[C]=e&&e.objectMode||!1,this[h]=this[C]?null:e&&e.encoding||null,this[h]===`buffer`&&(this[h]=null),this[O]=e&&!!e.async||!1,this[g]=this[h]?new a(this[h]):null,this[o]=!1,this[c]=!1,this[l]=!1,this[d]=!1,this[u]=null,this.writable=!0,this.readable=!0,this[b]=0,this[w]=!1}get bufferLength(){return this[b]}get encoding(){return this[h]}set encoding(e){if(this[C])throw Error(`cannot set encoding in objectMode`);if(this[h]&&e!==this[h]&&(this[g]&&this[g].lastNeed||this[b]))throw Error(`cannot change encoding`);this[h]!==e&&(this[g]=e?new a(e):null,this.buffer.length&&(this.buffer=this.buffer.map(e=>this[g].write(e)))),this[h]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[C]}set objectMode(e){this[C]=this[C]||!!e}get async(){return this[O]}set async(e){this[O]=this[O]||!!e}write(e,t,n){if(this[o])throw Error(`write after end`);if(this[w])return this.emit(`error`,Object.assign(Error(`Cannot call write after a stream was destroyed`),{code:`ERR_STREAM_DESTROYED`})),!0;typeof t==`function`&&(n=t,t=`utf8`),t||=`utf8`;let r=this[O]?k:e=>e();return!this[C]&&!Buffer.isBuffer(e)&&(F(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):P(e)?e=Buffer.from(e):typeof e!=`string`&&(this.objectMode=!0)),this[C]?(this.flowing&&this[b]!==0&&this[p](!0),this.flowing?this.emit(`data`,e):this[x](e),this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing):e.length?(typeof e==`string`&&(t!==this[h]||this[g].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[h]&&(e=this[g].write(e)),this.flowing&&this[b]!==0&&this[p](!0),this.flowing?this.emit(`data`,e):this[x](e),this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing):(this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing)}read(e){if(this[w])return null;if(this[b]===0||e===0||e>this[b])return this[s](),null;this[C]&&(e=null),this.buffer.length>1&&!this[C]&&(this.buffer=this.encoding?[this.buffer.join(``)]:[Buffer.concat(this.buffer,this[b])]);let t=this[f](e||null,this.buffer[0]);return this[s](),t}[f](e,t){return e===t.length||e===null?this[S]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[b]-=e),this.emit(`data`,t),!this.buffer.length&&!this[o]&&this.emit(`drain`),t}end(e,t,n){return typeof e==`function`&&(n=e,e=null),typeof t==`function`&&(n=t,t=`utf8`),e&&this.write(e,t),n&&this.once(`end`,n),this[o]=!0,this.writable=!1,(this.flowing||!this[v])&&this[s](),this}[y](){this[w]||(this[v]=!1,this[_]=!0,this.emit(`resume`),this.buffer.length?this[p]():this[o]?this[s]():this.emit(`drain`))}resume(){return this[y]()}pause(){this[_]=!1,this[v]=!0}get destroyed(){return this[w]}get flowing(){return this[_]}get paused(){return this[v]}[x](e){this[C]?this[b]+=1:this[b]+=e.length,this.buffer.push(e)}[S](){return this.buffer.length&&(this[C]?--this[b]:this[b]-=this.buffer[0].length),this.buffer.shift()}[p](e){do;while(this[m](this[S]()));!e&&!this.buffer.length&&!this[o]&&this.emit(`drain`)}[m](e){return e?(this.emit(`data`,e),this.flowing):!1}pipe(e,t){if(this[w])return;let r=this[c];return t||={},e===n.stdout||e===n.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,r?t.end&&e.end():(this.pipes.push(t.proxyErrors?new L(this,e,t):new I(this,e,t)),this[O]?k(()=>this[y]()):this[y]()),e}unpipe(e){let t=this.pipes.find(t=>t.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let n=super.on(e,t);return e===`data`&&!this.pipes.length&&!this.flowing?this[y]():e===`readable`&&this[b]!==0?super.emit(`readable`):N(e)&&this[c]?(super.emit(e),this.removeAllListeners(e)):e===`error`&&this[u]&&(this[O]?k(()=>t.call(this,this[u])):t.call(this,this[u])),n}get emittedEnd(){return this[c]}[s](){!this[l]&&!this[c]&&!this[w]&&this.buffer.length===0&&this[o]&&(this[l]=!0,this.emit(`end`),this.emit(`prefinish`),this.emit(`finish`),this[d]&&this.emit(`close`),this[l]=!1)}emit(e,t,...n){if(e!==`error`&&e!==`close`&&e!==w&&this[w])return;if(e===`data`)return t?this[O]?k(()=>this[T](t)):this[T](t):!1;if(e===`end`)return this[E]();if(e===`close`){if(this[d]=!0,!this[c]&&!this[w])return;let e=super.emit(`close`);return this.removeAllListeners(`close`),e}if(e===`error`){this[u]=t;let e=super.emit(`error`,t);return this[s](),e}if(e===`resume`){let e=super.emit(`resume`);return this[s](),e}if(e===`finish`||e===`prefinish`){let t=super.emit(e);return this.removeAllListeners(e),t}let r=super.emit(e,t,...n);return this[s](),r}[T](e){for(let t of this.pipes)t.dest.write(e)===!1&&this.pause();let t=super.emit(`data`,e);return this[s](),t}[E](){this[c]||(this[c]=!0,this.readable=!1,this[O]?k(()=>this[D]()):this[D]())}[D](){if(this[g]){let e=this[g].end();if(e){for(let t of this.pipes)t.dest.write(e);super.emit(`data`,e)}}for(let e of this.pipes)e.end();let e=super.emit(`end`);return this.removeAllListeners(`end`),e}collect(){let e=[];this[C]||(e.dataLength=0);let t=this.promise();return this.on(`data`,t=>{e.push(t),this[C]||(e.dataLength+=t.length)}),t.then(()=>e)}concat(){return this[C]?Promise.reject(Error(`cannot concat in objectMode`)):this.collect().then(e=>this[C]?Promise.reject(Error(`cannot concat in objectMode`)):this[h]?e.join(``):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(w,()=>t(Error(`stream destroyed`))),this.on(`error`,e=>t(e)),this.on(`end`,()=>e())})}[j](){return{next:()=>{let e=this.read();if(e!==null)return Promise.resolve({done:!1,value:e});if(this[o])return Promise.resolve({done:!0});let t=null,n=null,r=e=>{this.removeListener(`data`,i),this.removeListener(`end`,a),n(e)},i=e=>{this.removeListener(`error`,r),this.removeListener(`end`,a),this.pause(),t({value:e,done:!!this[o]})},a=()=>{this.removeListener(`error`,r),this.removeListener(`data`,i),t({done:!0})},s=()=>r(Error(`stream destroyed`));return new Promise((e,o)=>{n=o,t=e,this.once(w,s),this.once(`error`,r),this.once(`end`,a),this.once(`data`,i)})}}}[M](){return{next:()=>{let e=this.read();return{value:e,done:e===null}}}}destroy(e){return this[w]?(e?this.emit(`error`,e):this.emit(w),this):(this[w]=!0,this.buffer.length=0,this[b]=0,typeof this.close==`function`&&!this[d]&&this.close(),e?this.emit(`error`,e):this.emit(w),this)}static isStream(t){return!!t&&(t instanceof e||t instanceof i||t instanceof r&&(typeof t.pipe==`function`||typeof t.write==`function`&&typeof t.end==`function`))}}})),Yr=H((e=>{var t=U(`assert`),n=U(`buffer`).Buffer,r=U(`zlib`),i=e.constants=qr(),a=Jr(),o=n.concat,s=Symbol(`_superWrite`),c=class extends Error{constructor(e){super(`zlib: `+e.message),this.code=e.code,this.errno=e.errno,this.code||=`ZLIB_ERROR`,this.message=`zlib: `+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return`ZlibError`}},l=Symbol(`opts`),u=Symbol(`flushFlag`),d=Symbol(`finishFlushFlag`),f=Symbol(`fullFlushFlag`),p=Symbol(`handle`),m=Symbol(`onError`),h=Symbol(`sawError`),g=Symbol(`level`),_=Symbol(`strategy`),v=Symbol(`ended`),y=class extends a{constructor(e,t){if(!e||typeof e!=`object`)throw TypeError(`invalid options for ZlibBase constructor`);super(e),this[h]=!1,this[v]=!1,this[l]=e,this[u]=e.flush,this[d]=e.finishFlush;try{this[p]=new r[t](e)}catch(e){throw new c(e)}this[m]=e=>{this[h]||(this[h]=!0,this.close(),this.emit(`error`,e))},this[p].on(`error`,e=>this[m](new c(e))),this.once(`end`,()=>this.close)}close(){this[p]&&(this[p].close(),this[p]=null,this.emit(`close`))}reset(){if(!this[h])return t(this[p],`zlib binding closed`),this[p].reset()}flush(e){this.ended||(typeof e!=`number`&&(e=this[f]),this.write(Object.assign(n.alloc(0),{[u]:e})))}end(e,t,n){return e&&this.write(e,t),this.flush(this[d]),this[v]=!0,super.end(null,null,n)}get ended(){return this[v]}write(e,r,i){if(typeof r==`function`&&(i=r,r=`utf8`),typeof e==`string`&&(e=n.from(e,r)),this[h])return;t(this[p],`zlib binding closed`);let a=this[p]._handle,l=a.close;a.close=()=>{};let d=this[p].close;this[p].close=()=>{},n.concat=e=>e;let f;try{let t=typeof e[u]==`number`?e[u]:this[u];f=this[p]._processChunk(e,t),n.concat=o}catch(e){n.concat=o,this[m](new c(e))}finally{this[p]&&(this[p]._handle=a,a.close=l,this[p].close=d,this[p].removeAllListeners(`error`))}this[p]&&this[p].on(`error`,e=>this[m](new c(e)));let g;if(f){if(Array.isArray(f)&&f.length>0){g=this[s](n.from(f[0]));for(let e=1;e<f.length;e++)g=this[s](f[e])}else g=this[s](n.from(f))}return i&&i(),g}[s](e){return super.write(e)}},b=class extends y{constructor(e,t){e||={},e.flush=e.flush||i.Z_NO_FLUSH,e.finishFlush=e.finishFlush||i.Z_FINISH,super(e,t),this[f]=i.Z_FULL_FLUSH,this[g]=e.level,this[_]=e.strategy}params(e,n){if(!this[h]){if(!this[p])throw Error(`cannot switch params when binding is closed`);if(!this[p].params)throw Error(`not supported in this implementation`);if(this[g]!==e||this[_]!==n){this.flush(i.Z_SYNC_FLUSH),t(this[p],`zlib binding closed`);let r=this[p].flush;this[p].flush=(e,t)=>{this.flush(e),t()};try{this[p].params(e,n)}finally{this[p].flush=r}this[p]&&(this[g]=e,this[_]=n)}}}},x=class extends b{constructor(e){super(e,`Deflate`)}},S=class extends b{constructor(e){super(e,`Inflate`)}},C=Symbol(`_portable`),w=class extends b{constructor(e){super(e,`Gzip`),this[C]=e&&!!e.portable}[s](e){return this[C]?(this[C]=!1,e[9]=255,super[s](e)):super[s](e)}},T=class extends b{constructor(e){super(e,`Gunzip`)}},E=class extends b{constructor(e){super(e,`DeflateRaw`)}},D=class extends b{constructor(e){super(e,`InflateRaw`)}},O=class extends b{constructor(e){super(e,`Unzip`)}},k=class extends y{constructor(e,t){e||={},e.flush=e.flush||i.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||i.BROTLI_OPERATION_FINISH,super(e,t),this[f]=i.BROTLI_OPERATION_FLUSH}},A=class extends k{constructor(e){super(e,`BrotliCompress`)}},j=class extends k{constructor(e){super(e,`BrotliDecompress`)}};e.Deflate=x,e.Inflate=S,e.Gzip=w,e.Gunzip=T,e.DeflateRaw=E,e.InflateRaw=D,e.Unzip=O,typeof r.BrotliCompress==`function`?(e.BrotliCompress=A,e.BrotliDecompress=j):e.BrotliCompress=e.BrotliDecompress=class{constructor(){throw Error(`Brotli is not supported in this version of Node.js`)}}})),Xr=H(((e,t)=>{t.exports=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`?e=>e&&e.replace(/\\/g,`/`):e=>e})),Zr=H(((e,t)=>{var{Minipass:n}=Kr(),r=Xr(),i=Symbol(`slurp`);t.exports=class extends n{constructor(e,t,n){switch(super(),this.pause(),this.extended=t,this.globalExtended=n,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case`File`:case`OldFile`:case`Link`:case`SymbolicLink`:case`CharacterDevice`:case`BlockDevice`:case`Directory`:case`FIFO`:case`ContiguousFile`:case`GNUDumpDir`:break;case`NextFileHasLongLinkpath`:case`NextFileHasLongPath`:case`OldGnuLongPath`:case`GlobalExtendedHeader`:case`ExtendedHeader`:case`OldExtendedHeader`:this.meta=!0;break;default:this.ignore=!0}this.path=r(e.path),this.mode=e.mode,this.mode&&(this.mode&=4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=r(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[i](t),n&&this[i](n,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw Error(`writing more to entry than is appropriate`);let n=this.remain,r=this.blockRemain;return this.remain=Math.max(0,n-t),this.blockRemain=Math.max(0,r-t),this.ignore?!0:n>=t?super.write(e):super.write(e.slice(0,n))}[i](e,t){for(let n in e)e[n]!==null&&e[n]!==void 0&&!(t&&n===`path`)&&(this[n]=n===`path`||n===`linkpath`?r(e[n]):e[n])}}})),Qr=H((e=>{e.name=new Map([[`0`,`File`],[``,`OldFile`],[`1`,`Link`],[`2`,`SymbolicLink`],[`3`,`CharacterDevice`],[`4`,`BlockDevice`],[`5`,`Directory`],[`6`,`FIFO`],[`7`,`ContiguousFile`],[`g`,`GlobalExtendedHeader`],[`x`,`ExtendedHeader`],[`A`,`SolarisACL`],[`D`,`GNUDumpDir`],[`I`,`Inode`],[`K`,`NextFileHasLongLinkpath`],[`L`,`NextFileHasLongPath`],[`M`,`ContinuationFile`],[`N`,`OldGnuLongPath`],[`S`,`SparseFile`],[`V`,`TapeVolumeHeader`],[`X`,`OldExtendedHeader`]]),e.code=new Map(Array.from(e.name).map(e=>[e[1],e[0]]))})),$r=H(((e,t)=>{var n=(e,t)=>{if(Number.isSafeInteger(e))e<0?i(e,t):r(e,t);else throw Error(`cannot encode number outside of javascript safe integer range`);return t},r=(e,t)=>{t[0]=128;for(var n=t.length;n>1;n--)t[n-1]=e&255,e=Math.floor(e/256)},i=(e,t)=>{t[0]=255;var n=!1;e*=-1;for(var r=t.length;r>1;r--){var i=e&255;e=Math.floor(e/256),n?t[r-1]=c(i):i===0?t[r-1]=0:(n=!0,t[r-1]=l(i))}},a=e=>{let t=e[0],n=t===128?s(e.slice(1,e.length)):t===255?o(e):null;if(n===null)throw Error(`invalid base256 encoding`);if(!Number.isSafeInteger(n))throw Error(`parsed number outside of javascript safe integer range`);return n},o=e=>{for(var t=e.length,n=0,r=!1,i=t-1;i>-1;i--){var a=e[i],o;r?o=c(a):a===0?o=a:(r=!0,o=l(a)),o!==0&&(n-=o*256**(t-i-1))}return n},s=e=>{for(var t=e.length,n=0,r=t-1;r>-1;r--){var i=e[r];i!==0&&(n+=i*256**(t-r-1))}return n},c=e=>(255^e)&255,l=e=>(255^e)+1&255;t.exports={encode:n,parse:a}})),ei=H(((e,t)=>{var n=Qr(),r=U(`path`).posix,i=$r(),a=Symbol(`slurp`),o=Symbol(`type`),s=class{constructor(e,t,n,r){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[o]=`0`,this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,n,r):e&&this.set(e)}decode(e,t,n,r){if(t||=0,!e||!(e.length>=t+512))throw Error(`need 512 bytes for header`);if(this.path=l(e,t,100),this.mode=f(e,t+100,8),this.uid=f(e,t+108,8),this.gid=f(e,t+116,8),this.size=f(e,t+124,12),this.mtime=u(e,t+136,12),this.cksum=f(e,t+148,12),this[a](n),this[a](r,!0),this[o]=l(e,t+156,1),this[o]===``&&(this[o]=`0`),this[o]===`0`&&this.path.slice(-1)===`/`&&(this[o]=`5`),this[o]===`5`&&(this.size=0),this.linkpath=l(e,t+157,100),e.slice(t+257,t+265).toString()===`ustar\x0000`){if(this.uname=l(e,t+265,32),this.gname=l(e,t+297,32),this.devmaj=f(e,t+329,8),this.devmin=f(e,t+337,8),e[t+475]!==0){let n=l(e,t+345,155);this.path=n+`/`+this.path}else{let n=l(e,t+345,130);n&&(this.path=n+`/`+this.path),this.atime=u(e,t+476,12),this.ctime=u(e,t+488,12)}}let i=256;for(let n=t;n<t+148;n++)i+=e[n];for(let n=t+156;n<t+512;n++)i+=e[n];this.cksumValid=i===this.cksum,this.cksum===null&&i===256&&(this.nullBlock=!0)}[a](e,t){for(let n in e)e[n]!==null&&e[n]!==void 0&&!(t&&n===`path`)&&(this[n]=e[n])}encode(e,t){if(e||(e=this.block=Buffer.alloc(512),t=0),t||=0,!(e.length>=t+512))throw Error(`need 512 bytes for header`);let n=this.ctime||this.atime?130:155,r=c(this.path||``,n),i=r[0],a=r[1];this.needPax=r[2],this.needPax=S(e,t,100,i)||this.needPax,this.needPax=g(e,t+100,8,this.mode)||this.needPax,this.needPax=g(e,t+108,8,this.uid)||this.needPax,this.needPax=g(e,t+116,8,this.gid)||this.needPax,this.needPax=g(e,t+124,12,this.size)||this.needPax,this.needPax=b(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[o].charCodeAt(0),this.needPax=S(e,t+157,100,this.linkpath)||this.needPax,e.write(`ustar\x0000`,t+257,8),this.needPax=S(e,t+265,32,this.uname)||this.needPax,this.needPax=S(e,t+297,32,this.gname)||this.needPax,this.needPax=g(e,t+329,8,this.devmaj)||this.needPax,this.needPax=g(e,t+337,8,this.devmin)||this.needPax,this.needPax=S(e,t+345,n,a)||this.needPax,e[t+475]===0?(this.needPax=S(e,t+345,130,a)||this.needPax,this.needPax=b(e,t+476,12,this.atime)||this.needPax,this.needPax=b(e,t+488,12,this.ctime)||this.needPax):this.needPax=S(e,t+345,155,a)||this.needPax;let s=256;for(let n=t;n<t+148;n++)s+=e[n];for(let n=t+156;n<t+512;n++)s+=e[n];return this.cksum=s,g(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let t in e)e[t]!==null&&e[t]!==void 0&&(this[t]=e[t])}get type(){return n.name.get(this[o])||this[o]}get typeKey(){return this[o]}set type(e){this[o]=n.code.has(e)?n.code.get(e):e}},c=(e,t)=>{let n=e,i=``,a,o=r.parse(e).root||`.`;if(Buffer.byteLength(n)<100)a=[n,i,!1];else{i=r.dirname(n),n=r.basename(n);do Buffer.byteLength(n)<=100&&Buffer.byteLength(i)<=t?a=[n,i,!1]:Buffer.byteLength(n)>100&&Buffer.byteLength(i)<=t?a=[n.slice(0,99),i,!0]:(n=r.join(r.basename(i),n),i=r.dirname(i));while(i!==o&&!a);a||=[e.slice(0,99),``,!0]}return a},l=(e,t,n)=>e.slice(t,t+n).toString(`utf8`).replace(/\0.*/,``),u=(e,t,n)=>d(f(e,t,n)),d=e=>e===null?null:new Date(e*1e3),f=(e,t,n)=>e[t]&128?i.parse(e.slice(t,t+n)):m(e,t,n),p=e=>isNaN(e)?null:e,m=(e,t,n)=>p(parseInt(e.slice(t,t+n).toString(`utf8`).replace(/\0.*$/,``).trim(),8)),h={12:8589934591,8:2097151},g=(e,t,n,r)=>r===null?!1:r>h[n]||r<0?(i.encode(r,e.slice(t,t+n)),!0):(_(e,t,n,r),!1),_=(e,t,n,r)=>e.write(v(r,n),t,n,`ascii`),v=(e,t)=>y(Math.floor(e).toString(8),t),y=(e,t)=>(e.length===t-1?e:Array(t-e.length-1).join(`0`)+e+` `)+`\0`,b=(e,t,n,r)=>r!==null&&g(e,t,n,r.getTime()/1e3),x=Array(156).join(`\0`),S=(e,t,n,r)=>r!==null&&(e.write(r+x,t,n,`utf8`),r.length!==Buffer.byteLength(r)||r.length>n);t.exports=s})),ti=H(((e,t)=>{var n=ei(),r=U(`path`),i=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e===``)return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),a=Buffer.allocUnsafe(i);for(let e=0;e<512;e++)a[e]=0;new n({path:(`PaxHeader/`+r.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?`GlobalExtendedHeader`:`ExtendedHeader`,linkpath:``,uname:this.uname||``,gname:this.gname||``,devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,t,`utf8`);for(let e=t+512;e<a.length;e++)a[e]=0;return a}encodeBody(){return this.encodeField(`path`)+this.encodeField(`ctime`)+this.encodeField(`atime`)+this.encodeField(`dev`)+this.encodeField(`ino`)+this.encodeField(`nlink`)+this.encodeField(`charset`)+this.encodeField(`comment`)+this.encodeField(`gid`)+this.encodeField(`gname`)+this.encodeField(`linkpath`)+this.encodeField(`mtime`)+this.encodeField(`size`)+this.encodeField(`uid`)+this.encodeField(`uname`)}encodeField(e){if(this[e]===null||this[e]===void 0)return``;let t=this[e]instanceof Date?this[e].getTime()/1e3:this[e],n=` `+(e===`dev`||e===`ino`||e===`nlink`?`SCHILY.`:``)+e+`=`+t+`
29
+ `)}`}}};e.RequestError=U;var ue=class extends U{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=`MaxRedirectsError`,this.code=`ERR_TOO_MANY_REDIRECTS`}};e.MaxRedirectsError=ue;var de=class extends U{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=`HTTPError`,this.code=`ERR_NON_2XX_3XX_RESPONSE`}};e.HTTPError=de;var fe=class extends U{constructor(e,t){super(e.message,e,t),this.name=`CacheError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_CACHE_ACCESS`:this.code}};e.CacheError=fe;var pe=class extends U{constructor(e,t){super(e.message,e,t),this.name=`UploadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_UPLOAD`:this.code}};e.UploadError=pe;var me=class extends U{constructor(e,t,n){super(e.message,e,n),this.name=`TimeoutError`,this.event=e.event,this.timings=t}};e.TimeoutError=me;var W=class extends U{constructor(e,t){super(e.message,e,t),this.name=`ReadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_READING_RESPONSE_STREAM`:this.code}};e.ReadError=W;var he=class extends U{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name=`UnsupportedProtocolError`,this.code=`ERR_UNSUPPORTED_PROTOCOL`}};e.UnsupportedProtocolError=he;var ge=[`socket`,`connect`,`continue`,`information`,`upgrade`,`timeout`],_e=class extends n.Duplex{constructor(t,n={},i){super({autoDestroy:!1,highWaterMark:0}),this[M]=0,this[P]=0,this.requestInitialized=!1,this[F]=new Set,this.redirects=[],this[B]=!1,this[V]=!1,this[ee]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(`pipe`,e=>{e.prependListener(`data`,a),e.on(`data`,s),e.prependListener(`end`,a),e.on(`end`,s)}),this.on(`unpipe`,e=>{e.off(`data`,a),e.off(`data`,s),e.off(`end`,a),e.off(`end`,s)}),this.on(`pipe`,e=>{e instanceof o.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});let{json:c,body:l,form:u}=n;if((c||l||u)&&this._lockWrite(),e.kIsNormalizedAlready in n)this.options=n;else try{this.options=this.constructor.normalizeArguments(t,n,i)}catch(e){m.default.nodeStream(n.body)&&n.body.destroy(),this.destroy(e);return}(async()=>{var e;try{this.options.body instanceof r.ReadStream&&await se(this.options.body);let{url:t}=this.options;if(!t)throw TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(e=this[k])==null||e.destroy();return}for(let e of this[ee])e();this[ee].length=0,this.requestInitialized=!0}catch(e){if(e instanceof U){this._beforeError(e);return}this.destroyed||this.destroy(e)}})()}static normalizeArguments(n,r,a){var o;let s=r;if(m.default.object(n)&&!m.default.urlInstance(n))r={...a,...n,...r};else{if(n&&r&&r.url!==void 0)throw TypeError("The `url` option is mutually exclusive with the `input` argument");r={...a,...r},n!==void 0&&(r.url=n),m.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),m.assert.any([m.default.string,m.default.undefined],r.method),m.assert.any([m.default.object,m.default.undefined],r.headers),m.assert.any([m.default.string,m.default.urlInstance,m.default.undefined],r.prefixUrl),m.assert.any([m.default.object,m.default.undefined],r.cookieJar),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.searchParams),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.cache),m.assert.any([m.default.object,m.default.number,m.default.undefined],r.timeout),m.assert.any([m.default.object,m.default.undefined],r.context),m.assert.any([m.default.object,m.default.undefined],r.hooks),m.assert.any([m.default.boolean,m.default.undefined],r.decompress),m.assert.any([m.default.boolean,m.default.undefined],r.ignoreInvalidCookies),m.assert.any([m.default.boolean,m.default.undefined],r.followRedirect),m.assert.any([m.default.number,m.default.undefined],r.maxRedirects),m.assert.any([m.default.boolean,m.default.undefined],r.throwHttpErrors),m.assert.any([m.default.boolean,m.default.undefined],r.http2),m.assert.any([m.default.boolean,m.default.undefined],r.allowGetBody),m.assert.any([m.default.string,m.default.undefined],r.localAddress),m.assert.any([C.isDnsLookupIpVersion,m.default.undefined],r.dnsLookupIpVersion),m.assert.any([m.default.object,m.default.undefined],r.https),m.assert.any([m.default.boolean,m.default.undefined],r.rejectUnauthorized),r.https&&(m.assert.any([m.default.boolean,m.default.undefined],r.https.rejectUnauthorized),m.assert.any([m.default.function_,m.default.undefined],r.https.checkServerIdentity),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificateAuthority),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.key),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificate),m.assert.any([m.default.string,m.default.undefined],r.https.passphrase),m.assert.any([m.default.string,m.default.buffer,m.default.array,m.default.undefined],r.https.pfx)),m.assert.any([m.default.object,m.default.undefined],r.cacheOptions),m.default.string(r.method)?r.method=r.method.toUpperCase():r.method=`GET`,r.headers===a?.headers?r.headers={...r.headers}:r.headers=p({...a?.headers,...r.headers}),`slashes`in r)throw TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if(`auth`in r)throw TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if(`searchParams`in r&&r.searchParams&&r.searchParams!==a?.searchParams){let e;if(m.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else{ie(r.searchParams),e=new i.URLSearchParams;for(let t in r.searchParams){let n=r.searchParams[t];n===null?e.append(t,``):n!==void 0&&e.append(t,n)}}(o=a?.searchParams)==null||o.forEach((t,n)=>{e.has(n)||e.append(n,t)}),r.searchParams=e}if(r.username=r.username??``,r.password=r.password??``,m.default.undefined(r.prefixUrl)?r.prefixUrl=a?.prefixUrl??``:(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==``&&!r.prefixUrl.endsWith(`/`)&&(r.prefixUrl+=`/`)),m.default.string(r.url)){if(r.url.startsWith(`/`))throw Error("`input` must not start with a slash when using `prefixUrl`");r.url=b.default(r.prefixUrl+r.url,r)}else(m.default.undefined(r.url)&&r.prefixUrl!==``||r.protocol)&&(r.url=b.default(r.prefixUrl,r));if(r.url){`port`in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,"prefixUrl",{set:t=>{let n=r.url;if(!n.href.startsWith(t))throw Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${n.href}`);r.url=new i.URL(t+n.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if(t===`unix:`&&(t=`http:`,r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),t!==`http:`&&t!==`https:`)throw new he(r);r.username===``?r.username=r.url.username:r.url.username=r.username,r.password===``?r.password=r.url.password:r.url.password=r.password}let{cookieJar:c}=r;if(c){let{setCookie:e,getCookieString:n}=c;m.assert.function_(e),m.assert.function_(n),e.length===4&&n.length===0&&(e=t.promisify(e.bind(r.cookieJar)),n=t.promisify(n.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:n})}let{cache:d}=r;if(d&&(oe.has(d)||oe.set(d,new u(((e,t)=>{let n=e[k](e,t);return m.default.promise(n)&&(n.once=(e,t)=>{if(e===`error`)n.catch(t);else if(e===`abort`)(async()=>{try{(await n).once(`abort`,t)}catch{}})();else throw Error(`Unknown HTTP2 promise event: ${e}`);return n}),n}),d))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)O||=new l.default,r.dnsCache=O;else if(!m.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${m.default(r.dnsCache)}`);m.default.number(r.timeout)?r.timeout={request:r.timeout}:a&&r.timeout!==a.timeout?r.timeout={...a.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let f=r.hooks===a?.hooks;r.hooks={...r.hooks};for(let t of e.knownHookEvents)if(t in r.hooks){if(m.default.array(r.hooks[t]))r.hooks[t]=[...r.hooks[t]];else throw TypeError(`Parameter \`${t}\` must be an Array, got ${m.default(r.hooks[t])}`)}else r.hooks[t]=[];if(a&&!f)for(let t of e.knownHookEvents)a.hooks[t].length>0&&(r.hooks[t]=[...a.hooks[t],...r.hooks[t]]);if(`family`in r&&T.default(`"options.family" was never documented, please use "options.dnsLookupIpVersion"`),a!=null&&a.https&&(r.https={...a.https,...r.https}),`rejectUnauthorized`in r&&T.default(`"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"`),`checkServerIdentity`in r&&T.default(`"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"`),`ca`in r&&T.default(`"options.ca" was never documented, please use "options.https.certificateAuthority"`),`key`in r&&T.default(`"options.key" was never documented, please use "options.https.key"`),`cert`in r&&T.default(`"options.cert" was never documented, please use "options.https.certificate"`),`passphrase`in r&&T.default(`"options.passphrase" was never documented, please use "options.https.passphrase"`),`pfx`in r&&T.default(`"options.pfx" was never documented, please use "options.https.pfx"`),`followRedirects`in r)throw TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let e in r.agent)if(e!==`http`&&e!==`https`&&e!==`http2`)throw TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``)}return r.maxRedirects=r.maxRedirects??0,e.setNonEnumerableProperties([a,s],r),E.default(r,a)}_lockWrite(){let e=()=>{throw TypeError(`The payload has been already provided`)};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,a=!m.default.undefined(t.form),o=!m.default.undefined(t.json),s=!m.default.undefined(t.body),c=a||o||s,l=e.withoutBody.has(t.method)&&!(t.method===`GET`&&t.allowGetBody);if(this._cannotHaveBody=l,c){if(l)throw TypeError(`The \`${t.method}\` method cannot be used with a body`);if([s,a,o].filter(e=>e).length>1)throw TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(t.body instanceof n.Readable)&&!m.default.string(t.body)&&!m.default.buffer(t.body)&&!g.default(t.body))throw TypeError("The `body` option must be a stream.Readable, string or Buffer");if(a&&!m.default.object(t.form))throw TypeError("The `form` option must be an Object");{let e=!m.default.string(r[`content-type`]);s?(g.default(t.body)&&e&&(r[`content-type`]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[H]=t.body):a?(e&&(r[`content-type`]=`application/x-www-form-urlencoded`),this[H]=new i.URLSearchParams(t.form).toString()):(e&&(r[`content-type`]=`application/json`),this[H]=t.stringifyJson(t.json));let n=await h.default(this[H],t.headers);m.default.undefined(r[`content-length`])&&m.default.undefined(r[`transfer-encoding`])&&!l&&!m.default.undefined(n)&&(r[`content-length`]=String(n))}}else l?this._lockWrite():this._unlockWrite();this[N]=Number(r[`content-length`])||void 0}async _onResponseBase(e){let{options:t}=this,{url:n}=t;this[te]=e,t.decompress&&(e=d(e));let r=e.statusCode,o=e;o.statusMessage=o.statusMessage?o.statusMessage:a.STATUS_CODES[r],o.url=t.url.toString(),o.requestUrl=this.requestUrl,o.redirectUrls=this.redirects,o.request=this,o.isFromCache=e.fromCache||!1,o.ip=this.ip,o.retryCount=this.retryCount,this[L]=o.isFromCache,this[j]=Number(e.headers[`content-length`])||void 0,this[A]=e,e.once(`end`,()=>{this[j]=this[M],this.emit(`downloadProgress`,this.downloadProgress)}),e.once(`error`,t=>{e.destroy(),this._beforeError(new W(t,this))}),e.once(`aborted`,()=>{this._beforeError(new W({name:`Error`,message:`The server aborted pending request`,code:`ECONNRESET`},this))}),this.emit(`downloadProgress`,this.downloadProgress);let s=e.headers[`set-cookie`];if(m.default.object(t.cookieJar)&&s){let e=s.map(async e=>t.cookieJar.setCookie(e,n.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){this._beforeError(e);return}}if(t.followRedirect&&e.headers.location&&ce.has(r)){if(e.resume(),this[k]&&(this[R](),delete this[k],this[I]()),(r===303&&t.method!==`GET`&&t.method!==`HEAD`||!t.methodRewriting)&&(t.method=`GET`,`body`in t&&delete t.body,`json`in t&&delete t.json,`form`in t&&delete t.form,this[H]=void 0,delete t.headers[`content-length`]),this.redirects.length>=t.maxRedirects){this._beforeError(new ue(this));return}try{let r=Buffer.from(e.headers.location,`binary`).toString(),a=new i.URL(r,n),s=a.toString();function c(e){return e.protocol===`unix:`||e.hostname===`unix`}if(!c(n)&&c(a)){this._beforeError(new U(`Cannot redirect to UNIX socket`,{},this));return}a.hostname!==n.hostname||a.port!==n.port?(`host`in t.headers&&delete t.headers.host,`cookie`in t.headers&&delete t.headers.cookie,`authorization`in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=``,t.password=``)):(a.username=t.username,a.password=t.password),this.redirects.push(s),t.url=a;for(let e of t.hooks.beforeRedirect)await e(t,o);this.emit(`redirect`,o,t),await this._makeRequest()}catch(e){this._beforeError(e);return}}else if(t.isStream&&t.throwHttpErrors&&!w.isResponseOk(o))this._beforeError(new de(o));else{e.on(`readable`,()=>{this[V]&&this._read()}),this.on(`resume`,()=>{e.resume()}),this.on(`pause`,()=>{e.pause()}),e.once(`end`,()=>{this.push(null)}),this.emit(`response`,e);for(let n of this[F])if(!n.headersSent){for(let r in e.headers){let i=!t.decompress||r!==`content-encoding`,a=e.headers[r];i&&n.setHeader(r,a)}n.statusCode=r}}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){let{options:t}=this,{timeout:n,url:r}=t;c.default(e),this[R]=v.default(e,n,r);let i=t.cache?`cacheableResponse`:`response`;e.once(i,e=>{this._onResponse(e)}),e.once(`error`,t=>{var n;e.destroy(),(n=e.res)==null||n.removeAllListeners(`end`),t=t instanceof v.TimeoutError?new me(t,this.timings,this):new U(t.message,t,this),this._beforeError(t)}),this[I]=_.default(e,this,ge),this[k]=e,this.emit(`uploadProgress`,this.uploadProgress);let a=this[H],o=this.redirects.length===0?this:e;m.default.nodeStream(a)?(a.pipe(o),a.once(`error`,e=>{this._beforeError(new pe(e,this))})):(this._unlockWrite(),m.default.undefined(a)?(this._cannotHaveBody||this._noPipe)&&(o.end(),this._lockWrite()):(this._writeRequest(a,void 0,()=>{}),o.end(),this._lockWrite())),this.emit(`request`,e)}async _createCacheableRequest(e,t){return new Promise((n,r)=>{Object.assign(t,y.default(e)),delete t.url;let i,a=oe.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,i&&(await i).emit(`cacheableResponse`,e),n(e)});t.url=e,a.once(`error`,r),a.once(`request`,async e=>{i=e,n(i)})})}async _makeRequest(){let{options:e}=this,{headers:t}=e;for(let e in t)if(m.default.undefined(t[e]))delete t[e];else if(m.default.null_(t[e]))throw TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(e.decompress&&m.default.undefined(t[`accept-encoding`])&&(t[`accept-encoding`]=re?`gzip, deflate, br`:`gzip, deflate`),e.cookieJar){let t=await e.cookieJar.getCookieString(e.url.toString());m.default.nonEmptyString(t)&&(e.headers.cookie=t)}for(let t of e.hooks.beforeRequest){let n=await t(e);if(!m.default.undefined(n)){e.request=()=>n;break}}e.body&&this[H]!==e.body&&(this[H]=e.body);let{agent:n,request:r,timeout:i,url:o}=e;if(e.dnsCache&&!(`lookup`in e)&&(e.lookup=e.dnsCache.lookup),o.hostname===`unix`){let t=/(?<socketPath>.+?):(?<path>.+)/.exec(`${o.pathname}${o.search}`);if(t!=null&&t.groups){let{socketPath:n,path:r}=t.groups;Object.assign(e,{socketPath:n,path:r,host:``})}}let c=o.protocol===`https:`,l;l=e.http2?f.auto:c?s.request:a.request;let d=e.request??l,p=e.cache?this._createCacheableRequest:d;n&&!e.http2&&(e.agent=n[c?`https`:`http`]),e[k]=d,delete e.request,delete e.timeout;let h=e;if(h.shared=e.cacheOptions?.shared,h.cacheHeuristic=e.cacheOptions?.cacheHeuristic,h.immutableMinTimeToLive=e.cacheOptions?.immutableMinTimeToLive,h.ignoreCargoCult=e.cacheOptions?.ignoreCargoCult,e.dnsLookupIpVersion!==void 0)try{h.family=C.dnsLookupIpVersionToFamily(e.dnsLookupIpVersion)}catch{throw Error("Invalid `dnsLookupIpVersion` option value")}e.https&&(`rejectUnauthorized`in e.https&&(h.rejectUnauthorized=e.https.rejectUnauthorized),e.https.checkServerIdentity&&(h.checkServerIdentity=e.https.checkServerIdentity),e.https.certificateAuthority&&(h.ca=e.https.certificateAuthority),e.https.certificate&&(h.cert=e.https.certificate),e.https.key&&(h.key=e.https.key),e.https.passphrase&&(h.passphrase=e.https.passphrase),e.https.pfx&&(h.pfx=e.https.pfx));try{let t=await p(o,h);m.default.undefined(t)&&(t=l(o,h)),e.request=r,e.timeout=i,e.agent=n,e.https&&(`rejectUnauthorized`in e.https&&delete h.rejectUnauthorized,e.https.checkServerIdentity&&delete h.checkServerIdentity,e.https.certificateAuthority&&delete h.ca,e.https.certificate&&delete h.cert,e.https.key&&delete h.key,e.https.passphrase&&delete h.passphrase,e.https.pfx&&delete h.pfx),ae(t)?this._onRequest(t):this.writable?(this.once(`finish`,()=>{this._onResponse(t)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(t)}catch(e){throw e instanceof u.CacheError?new fe(e,this):new U(e.message,e,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new U(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[B])return;let{options:t}=this,n=this.retryCount+1;this[B]=!0,e instanceof U||(e=new U(e.message,e,this));let r=e,{response:i}=r;(async()=>{if(i&&!i.body){i.setEncoding(this._readableState.encoding);try{i.rawBody=await S.default(i),i.body=i.rawBody.toString()}catch{}}if(this.listenerCount(`retry`)!==0){let a;try{let e;i&&`retry-after`in i.headers&&(e=Number(i.headers[`retry-after`]),Number.isNaN(e)?(e=Date.parse(i.headers[`retry-after`])-Date.now(),e<=0&&(e=1)):e*=1e3),a=await t.retry.calculateDelay({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:D.default({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:0})})}catch(e){this._error(new U(e.message,e,this));return}if(a){let t=async()=>{try{for(let e of this.options.hooks.beforeRetry)await e(this.options,r,n)}catch(t){this._error(new U(t.message,e,this));return}this.destroyed||(this.destroy(),this.emit(`retry`,n,e))};this[ne]=setTimeout(t,a);return}}this._error(r)})()}_read(){this[V]=!0;let e=this[A];if(e&&!this[B]){e.readableLength&&(this[V]=!1);let t;for(;(t=e.read())!==null;){this[M]+=t.length,this[z]=!0;let e=this.downloadProgress;e.percent<1&&this.emit(`downloadProgress`,e),this.push(t)}}}_write(e,t,n){let r=()=>{this._writeRequest(e,t,n)};this.requestInitialized?r():this[ee].push(r)}_writeRequest(e,t,n){this[k].destroyed||(this._progressCallbacks.push(()=>{this[P]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(`uploadProgress`,n)}),this[k].write(e,t,e=>{!e&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),n(e)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();k in this?this[k].destroyed?e():this[k].end(t=>{t||(this[N]=this[P],this.emit(`uploadProgress`,this.uploadProgress),this[k].emit(`upload-complete`)),e(t)}):e()};this.requestInitialized?t():this[ee].push(t)}_destroy(e,t){var n;this[B]=!0,clearTimeout(this[ne]),k in this&&(this[R](),(n=this[A])!=null&&n.complete||this[k].destroy()),e!==null&&!m.default.undefined(e)&&!(e instanceof U)&&(e=new U(e.message,e,this)),t(e)}get _isAboutToError(){return this[B]}get ip(){return this.socket?.remoteAddress}get aborted(){var e;return(this[k]?.destroyed??this.destroyed)&&!((e=this[te])!=null&&e.complete)}get socket(){return this[k]?.socket??void 0}get downloadProgress(){let e;return e=this[j]?this[M]/this[j]:+(this[j]===this[M]),{percent:e,transferred:this[M],total:this[j]}}get uploadProgress(){let e;return e=this[N]?this[P]/this[N]:+(this[N]===this[P]),{percent:e,transferred:this[P],total:this[N]}}get timings(){return this[k]?.timings}get isFromCache(){return this[L]}pipe(e,t){if(this[z])throw Error(`Failed to pipe. The response has been emitted already.`);return e instanceof o.ServerResponse&&this[F].add(e),super.pipe(e,t)}unpipe(e){return e instanceof o.ServerResponse&&this[F].delete(e),super.unpipe(e),this}};e.default=_e})),fr=Z((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.CancelError=e.ParseError=void 0;var r=dr();e.ParseError=class extends r.RequestError{constructor(e,t){let{options:n}=t.request;super(`${e.message} in "${n.url.toString()}"`,e,t.request),this.name=`ParseError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_BODY_PARSE_FAILURE`:this.code}},e.CancelError=class extends r.RequestError{constructor(e){super(`Promise was canceled`,{},e),this.name=`CancelError`,this.code=`ERR_CANCELED`}get isCanceled(){return!0}},n(dr(),e)})),pr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=fr();e.default=(e,n,r,i)=>{let{rawBody:a}=e;try{if(n===`text`)return a.toString(i);if(n===`json`)return a.length===0?``:r(a.toString());if(n===`buffer`)return a;throw new t.ParseError({message:`Unknown body type '${n}'`,name:`Error`},e)}catch(n){throw new t.ParseError(n,e)}}})),mr=Z((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0});var r=Q(`events`),i=_n(),a=vn(),o=fr(),s=pr(),c=dr(),l=$n(),u=ar(),d=sr(),f=[`request`,`response`,`redirect`,`uploadProgress`,`downloadProgress`];function p(e){let t,n,m=new r.EventEmitter,h=new a((r,a,g)=>{let _=v=>{let y=new c.default(void 0,e);y.retryCount=v,y._noPipe=!0,g(()=>y.destroy()),g.shouldReject=!1,g(()=>a(new o.CancelError(y))),t=y,y.once(`response`,async e=>{if(e.retryCount=v,e.request.aborted)return;let t;try{t=await u.default(y),e.rawBody=t}catch{return}if(y._isAboutToError)return;let i=(e.headers[`content-encoding`]??``).toLowerCase(),a=[`gzip`,`deflate`,`br`].includes(i),{options:l}=y;if(a&&!l.decompress)e.body=t;else try{e.body=s.default(e,l.responseType,l.parseJson,l.encoding)}catch(n){if(e.body=t.toString(),d.isResponseOk(e)){y._beforeError(n);return}}try{for(let[t,n]of l.hooks.afterResponse.entries())e=await n(e,async e=>{let n=c.default.normalizeArguments(void 0,{...e,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},l);n.hooks.afterResponse=n.hooks.afterResponse.slice(0,t);for(let e of n.hooks.beforeRetry)await e(n);let r=p(n);return g(()=>{r.catch(()=>{}),r.cancel()}),r})}catch(e){y._beforeError(new o.RequestError(e.message,e,y));return}n=e,d.isResponseOk(e)?(y.destroy(),r(y.options.resolveBodyOnly?e.body:e)):y._beforeError(new o.HTTPError(e))});let b=e=>{if(h.isCanceled)return;let{options:t}=y;if(e instanceof o.HTTPError&&!t.throwHttpErrors){let{response:t}=e;r(y.options.resolveBodyOnly?t.body:t)}else a(e)};y.once(`error`,b);let x=y.options.body;y.once(`retry`,(e,t)=>{x===t.request?.options.body&&i.default.nodeStream(t.request?.options.body)?b(t):_(e)}),l.default(y,m,f)};_(0)});h.on=(e,t)=>(m.on(e,t),h);let g=e=>{let t=(async()=>{await h;let{options:t}=n.request;return s.default(n,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(h)),t};return h.json=()=>{let{headers:e}=t.options;return!t.writableFinished&&e.accept===void 0&&(e.accept=`application/json`),g(`json`)},h.buffer=()=>g(`buffer`),h.text=()=>g(`text`),h}e.default=p,n(fr(),e)})),hr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=fr();function n(e,...n){let r=(async()=>{if(e instanceof t.RequestError)try{for(let t of n)if(t)for(let n of t)e=await n(e)}catch(t){e=t}throw e})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}e.default=n})),gr=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=_n();function n(e){for(let r of Object.values(e))(t.default.plainObject(r)||t.default.array(r))&&n(r);return Object.freeze(e)}e.default=n})),_r=Z((e=>{Object.defineProperty(e,"__esModule",{value:!0})})),vr=Z((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.defaultHandler=void 0;var r=_n(),i=mr(),a=hr(),o=dr(),s=gr(),c={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=o.default,d=(...e)=>{let t;for(let n of e)t=u(void 0,n,t);return t},f=e=>e.isStream?new o.default(void 0,e):i.default(e),p=e=>`defaults`in e&&`options`in e.defaults,m=[`get`,`post`,`put`,`patch`,`head`,`delete`];e.defaultHandler=(e,t)=>t(e);var h=(e,t)=>{if(e)for(let n of e)n(t)},g=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(e=>((t,n)=>{let r,i=e(t,e=>(r=n(e),r));if(i!==r&&!t.isStream&&r){let e=i,{then:t,catch:n,finally:a}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(r)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)),e.then=t,e.catch=n,e.finally=a}return i}));let n=((e,n={},s)=>{let c=0,l=e=>t.handlers[c++](e,c===t.handlers.length?f:l);if(r.default.plainObject(e)){let t={...e,...n};o.setNonEnumerableProperties([e,n],t),n=t,e=void 0}try{let r;try{h(t.options.hooks.init,n),h(n.hooks?.init,n)}catch(e){r=e}let a=u(e,n,s??t.options);if(a[o.kIsNormalizedAlready]=!0,r)throw new i.RequestError(r.message,r,a);return l(a)}catch(e){if(n.isStream)throw e;return a.default(e,t.options.hooks.beforeError,n.hooks?.beforeError)}});n.extend=(...n)=>{let r=[t.options],i=[...t._rawHandlers],a;for(let e of n)p(e)?(r.push(e.defaults.options),i.push(...e.defaults._rawHandlers),a=e.defaults.mutableDefaults):(r.push(e),`handlers`in e&&i.push(...e.handlers),a=e.mutableDefaults);return i=i.filter(t=>t!==e.defaultHandler),i.length===0&&i.push(e.defaultHandler),g({options:d(...r),handlers:i,mutableDefaults:!!a})};let _=(async function*(e,i){let a=u(e,i,t.options);a.resolveBodyOnly=!1;let o=a.pagination;if(!r.default.object(o))throw TypeError("`options.pagination` must be implemented");let s=[],{countLimit:c}=o,d=0;for(;d<o.requestLimit;){d!==0&&await l(o.backoff);let e=await n(void 0,void 0,a),t=await o.transform(e),r=[];for(let e of t)if(o.filter(e,s,r)&&(!o.shouldContinue(e,s,r)||(yield e,o.stackAllItems&&s.push(e),r.push(e),--c<=0)))return;let i=o.paginate(e,s,r);if(i===!1)return;i===e.request.options?a=e.request.options:i!==void 0&&(a=u(void 0,i,a)),d++}});n.paginate=_,n.paginate.all=(async(e,t)=>{let n=[];for await(let r of _(e,t))n.push(r);return n}),n.paginate.each=_,n.stream=((e,t)=>n(e,{...t,isStream:!0}));for(let e of m)n[e]=((t,r)=>n(t,{...r,method:e})),n.stream[e]=((t,r)=>n(t,{...r,method:e,isStream:!0}));return Object.assign(n,c),Object.defineProperty(n,"defaults",{value:t.mutableDefaults?t:s.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),n.mergeOptions=d,n};e.default=g,n(_r(),e)})),yr=Z(((e,t)=>{var n=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),r=e&&e.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)};Object.defineProperty(e,"__esModule",{value:!0});var i=Q(`url`),a=vr(),o={options:{method:`GET`,retry:{limit:2,methods:[`GET`,`PUT`,`HEAD`,`DELETE`,`OPTIONS`,`TRACE`],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[`ETIMEDOUT`,`ECONNRESET`,`EADDRINUSE`,`ECONNREFUSED`,`EPIPE`,`ENOTFOUND`,`ENETUNREACH`,`EAI_AGAIN`],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":`got (https://github.com/sindresorhus/got)`},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:`text`,resolveBodyOnly:!1,maxRedirects:10,prefixUrl:``,methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType===`json`?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,`link`))return!1;let t=e.headers.link.split(`,`),n;for(let e of t){let t=e.split(`;`);if(t[1].includes(`next`)){n=t[0].trimStart().trim(),n=n.slice(1,-1);break}}return n?{url:new i.URL(n)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[a.defaultHandler],mutableDefaults:!1},s=a.default(o);e.default=s,t.exports=s,t.exports.default=s,t.exports.__esModule=!0,r(vr(),e),r(mr(),e)})),br=Z(((e,t)=>{var n=new Map([[`C`,`cwd`],[`f`,`file`],[`z`,`gzip`],[`P`,`preservePaths`],[`U`,`unlink`],[`strip-components`,`strip`],[`stripComponents`,`strip`],[`keep-newer`,`newer`],[`keepNewer`,`newer`],[`keep-newer-files`,`newer`],[`keepNewerFiles`,`newer`],[`k`,`keep`],[`keep-existing`,`keep`],[`keepExisting`,`keep`],[`m`,`noMtime`],[`no-mtime`,`noMtime`],[`p`,`preserveOwner`],[`L`,`follow`],[`h`,`follow`]]);t.exports=e=>e?Object.keys(e).map(t=>[n.has(t)?n.get(t):t,e[t]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}})),xr=Z((e=>{var t=typeof process==`object`&&process?process:{stdout:null,stderr:null},n=Q(`events`),r=Q(`stream`),i=Q(`string_decoder`).StringDecoder,a=Symbol(`EOF`),o=Symbol(`maybeEmitEnd`),s=Symbol(`emittedEnd`),c=Symbol(`emittingEnd`),l=Symbol(`emittedError`),u=Symbol(`closed`),d=Symbol(`read`),f=Symbol(`flush`),p=Symbol(`flushChunk`),m=Symbol(`encoding`),h=Symbol(`decoder`),g=Symbol(`flowing`),_=Symbol(`paused`),v=Symbol(`resume`),y=Symbol(`buffer`),b=Symbol(`pipes`),x=Symbol(`bufferLength`),S=Symbol(`bufferPush`),C=Symbol(`bufferShift`),w=Symbol(`objectMode`),T=Symbol(`destroyed`),E=Symbol(`error`),D=Symbol(`emitData`),O=Symbol(`emitEnd`),k=Symbol(`emitEnd2`),A=Symbol(`async`),j=Symbol(`abort`),M=Symbol(`aborted`),N=Symbol(`signal`),P=e=>Promise.resolve().then(e),F=global._MP_NO_ITERATOR_SYMBOLS_!==`1`,I=F&&Symbol.asyncIterator||Symbol(`asyncIterator not implemented`),L=F&&Symbol.iterator||Symbol(`iterator not implemented`),R=e=>e===`end`||e===`finish`||e===`prefinish`,z=e=>e instanceof ArrayBuffer||typeof e==`object`&&e.constructor&&e.constructor.name===`ArrayBuffer`&&e.byteLength>=0,B=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),V=class{constructor(e,t,n){this.src=e,this.dest=t,this.opts=n,this.ondrain=()=>e[v](),t.on(`drain`,this.ondrain)}unpipe(){this.dest.removeListener(`drain`,this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},H=class extends V{unpipe(){this.src.removeListener(`error`,this.proxyErrors),super.unpipe()}constructor(e,t,n){super(e,t,n),this.proxyErrors=e=>t.emit(`error`,e),e.on(`error`,this.proxyErrors)}};e.Minipass=class e extends r{constructor(e){super(),this[g]=!1,this[_]=!1,this[b]=[],this[y]=[],this[w]=e&&e.objectMode||!1,this[m]=this[w]?null:e&&e.encoding||null,this[m]===`buffer`&&(this[m]=null),this[A]=e&&!!e.async||!1,this[h]=this[m]?new i(this[m]):null,this[a]=!1,this[s]=!1,this[c]=!1,this[u]=!1,this[l]=null,this.writable=!0,this.readable=!0,this[x]=0,this[T]=!1,e&&e.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[y]}),e&&e.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[b]}),this[N]=e&&e.signal,this[M]=!1,this[N]&&(this[N].addEventListener(`abort`,()=>this[j]()),this[N].aborted&&this[j]())}get bufferLength(){return this[x]}get encoding(){return this[m]}set encoding(e){if(this[w])throw Error(`cannot set encoding in objectMode`);if(this[m]&&e!==this[m]&&(this[h]&&this[h].lastNeed||this[x]))throw Error(`cannot change encoding`);this[m]!==e&&(this[h]=e?new i(e):null,this[y].length&&(this[y]=this[y].map(e=>this[h].write(e)))),this[m]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[w]}set objectMode(e){this[w]=this[w]||!!e}get async(){return this[A]}set async(e){this[A]=this[A]||!!e}[j](){this[M]=!0,this.emit(`abort`,this[N].reason),this.destroy(this[N].reason)}get aborted(){return this[M]}set aborted(e){}write(e,t,n){if(this[M])return!1;if(this[a])throw Error(`write after end`);if(this[T])return this.emit(`error`,Object.assign(Error(`Cannot call write after a stream was destroyed`),{code:`ERR_STREAM_DESTROYED`})),!0;typeof t==`function`&&(n=t,t=`utf8`),t||=`utf8`;let r=this[A]?P:e=>e();return!this[w]&&!Buffer.isBuffer(e)&&(B(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):z(e)?e=Buffer.from(e):typeof e!=`string`&&(this.objectMode=!0)),this[w]?(this.flowing&&this[x]!==0&&this[f](!0),this.flowing?this.emit(`data`,e):this[S](e),this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing):e.length?(typeof e==`string`&&(t!==this[m]||this[h].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[m]&&(e=this[h].write(e)),this.flowing&&this[x]!==0&&this[f](!0),this.flowing?this.emit(`data`,e):this[S](e),this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing):(this[x]!==0&&this.emit(`readable`),n&&r(n),this.flowing)}read(e){if(this[T])return null;if(this[x]===0||e===0||e>this[x])return this[o](),null;this[w]&&(e=null),this[y].length>1&&!this[w]&&(this[y]=this.encoding?[this[y].join(``)]:[Buffer.concat(this[y],this[x])]);let t=this[d](e||null,this[y][0]);return this[o](),t}[d](e,t){return e===t.length||e===null?this[C]():(this[y][0]=t.slice(e),t=t.slice(0,e),this[x]-=e),this.emit(`data`,t),!this[y].length&&!this[a]&&this.emit(`drain`),t}end(e,t,n){return typeof e==`function`&&(n=e,e=null),typeof t==`function`&&(n=t,t=`utf8`),e&&this.write(e,t),n&&this.once(`end`,n),this[a]=!0,this.writable=!1,(this.flowing||!this[_])&&this[o](),this}[v](){this[T]||(this[_]=!1,this[g]=!0,this.emit(`resume`),this[y].length?this[f]():this[a]?this[o]():this.emit(`drain`))}resume(){return this[v]()}pause(){this[g]=!1,this[_]=!0}get destroyed(){return this[T]}get flowing(){return this[g]}get paused(){return this[_]}[S](e){this[w]?this[x]+=1:this[x]+=e.length,this[y].push(e)}[C](){return this[w]?--this[x]:this[x]-=this[y][0].length,this[y].shift()}[f](e){do;while(this[p](this[C]())&&this[y].length);!e&&!this[y].length&&!this[a]&&this.emit(`drain`)}[p](e){return this.emit(`data`,e),this.flowing}pipe(e,n){if(this[T])return;let r=this[s];return n||={},e===t.stdout||e===t.stderr?n.end=!1:n.end=n.end!==!1,n.proxyErrors=!!n.proxyErrors,r?n.end&&e.end():(this[b].push(n.proxyErrors?new H(this,e,n):new V(this,e,n)),this[A]?P(()=>this[v]()):this[v]()),e}unpipe(e){let t=this[b].find(t=>t.dest===e);t&&(this[b].splice(this[b].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let n=super.on(e,t);return e===`data`&&!this[b].length&&!this.flowing?this[v]():e===`readable`&&this[x]!==0?super.emit(`readable`):R(e)&&this[s]?(super.emit(e),this.removeAllListeners(e)):e===`error`&&this[l]&&(this[A]?P(()=>t.call(this,this[l])):t.call(this,this[l])),n}get emittedEnd(){return this[s]}[o](){!this[c]&&!this[s]&&!this[T]&&this[y].length===0&&this[a]&&(this[c]=!0,this.emit(`end`),this.emit(`prefinish`),this.emit(`finish`),this[u]&&this.emit(`close`),this[c]=!1)}emit(e,t,...n){if(e!==`error`&&e!==`close`&&e!==T&&this[T])return;if(e===`data`)return!this[w]&&!t?!1:this[A]?P(()=>this[D](t)):this[D](t);if(e===`end`)return this[O]();if(e===`close`){if(this[u]=!0,!this[s]&&!this[T])return;let e=super.emit(`close`);return this.removeAllListeners(`close`),e}if(e===`error`){this[l]=t,super.emit(E,t);let e=!this[N]||this.listeners(`error`).length?super.emit(`error`,t):!1;return this[o](),e}if(e===`resume`){let e=super.emit(`resume`);return this[o](),e}if(e===`finish`||e===`prefinish`){let t=super.emit(e);return this.removeAllListeners(e),t}let r=super.emit(e,t,...n);return this[o](),r}[D](e){for(let t of this[b])t.dest.write(e)===!1&&this.pause();let t=super.emit(`data`,e);return this[o](),t}[O](){this[s]||(this[s]=!0,this.readable=!1,this[A]?P(()=>this[k]()):this[k]())}[k](){if(this[h]){let e=this[h].end();if(e){for(let t of this[b])t.dest.write(e);super.emit(`data`,e)}}for(let e of this[b])e.end();let e=super.emit(`end`);return this.removeAllListeners(`end`),e}collect(){let e=[];this[w]||(e.dataLength=0);let t=this.promise();return this.on(`data`,t=>{e.push(t),this[w]||(e.dataLength+=t.length)}),t.then(()=>e)}concat(){return this[w]?Promise.reject(Error(`cannot concat in objectMode`)):this.collect().then(e=>this[w]?Promise.reject(Error(`cannot concat in objectMode`)):this[m]?e.join(``):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(T,()=>t(Error(`stream destroyed`))),this.on(`error`,e=>t(e)),this.on(`end`,()=>e())})}[I](){let e=!1,t=()=>(this.pause(),e=!0,Promise.resolve({done:!0}));return{next:()=>{if(e)return t();let n=this.read();if(n!==null)return Promise.resolve({done:!1,value:n});if(this[a])return t();let r=null,i=null,o=e=>{this.removeListener(`data`,s),this.removeListener(`end`,c),this.removeListener(T,l),t(),i(e)},s=e=>{this.removeListener(`error`,o),this.removeListener(`end`,c),this.removeListener(T,l),this.pause(),r({value:e,done:!!this[a]})},c=()=>{this.removeListener(`error`,o),this.removeListener(`data`,s),this.removeListener(T,l),t(),r({done:!0})},l=()=>o(Error(`stream destroyed`));return new Promise((e,t)=>{i=t,r=e,this.once(T,l),this.once(`error`,o),this.once(`end`,c),this.once(`data`,s)})},throw:t,return:t,[I](){return this}}}[L](){let e=!1,t=()=>(this.pause(),this.removeListener(E,t),this.removeListener(T,t),this.removeListener(`end`,t),e=!0,{done:!0});return this.once(`end`,t),this.once(E,t),this.once(T,t),{next:()=>{if(e)return t();let n=this.read();return n===null?t():{value:n}},throw:t,return:t,[L](){return this}}}destroy(e){return this[T]?(e?this.emit(`error`,e):this.emit(T),this):(this[T]=!0,this[y].length=0,this[x]=0,typeof this.close==`function`&&!this[u]&&this.close(),e?this.emit(`error`,e):this.emit(T),this)}static isStream(t){return!!t&&(t instanceof e||t instanceof r||t instanceof n&&(typeof t.pipe==`function`||typeof t.write==`function`&&typeof t.end==`function`))}}})),Sr=Z(((e,t)=>{var n=Q(`zlib`).constants||{ZLIB_VERNUM:4736};t.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},n))})),Cr=Z(((e,t)=>{var n=typeof process==`object`&&process?process:{stdout:null,stderr:null},r=Q(`events`),i=Q(`stream`),a=Q(`string_decoder`).StringDecoder,o=Symbol(`EOF`),s=Symbol(`maybeEmitEnd`),c=Symbol(`emittedEnd`),l=Symbol(`emittingEnd`),u=Symbol(`emittedError`),d=Symbol(`closed`),f=Symbol(`read`),p=Symbol(`flush`),m=Symbol(`flushChunk`),h=Symbol(`encoding`),g=Symbol(`decoder`),_=Symbol(`flowing`),v=Symbol(`paused`),y=Symbol(`resume`),b=Symbol(`bufferLength`),x=Symbol(`bufferPush`),S=Symbol(`bufferShift`),C=Symbol(`objectMode`),w=Symbol(`destroyed`),T=Symbol(`emitData`),E=Symbol(`emitEnd`),D=Symbol(`emitEnd2`),O=Symbol(`async`),k=e=>Promise.resolve().then(e),A=global._MP_NO_ITERATOR_SYMBOLS_!==`1`,j=A&&Symbol.asyncIterator||Symbol(`asyncIterator not implemented`),M=A&&Symbol.iterator||Symbol(`iterator not implemented`),N=e=>e===`end`||e===`finish`||e===`prefinish`,P=e=>e instanceof ArrayBuffer||typeof e==`object`&&e.constructor&&e.constructor.name===`ArrayBuffer`&&e.byteLength>=0,F=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),I=class{constructor(e,t,n){this.src=e,this.dest=t,this.opts=n,this.ondrain=()=>e[y](),t.on(`drain`,this.ondrain)}unpipe(){this.dest.removeListener(`drain`,this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},L=class extends I{unpipe(){this.src.removeListener(`error`,this.proxyErrors),super.unpipe()}constructor(e,t,n){super(e,t,n),this.proxyErrors=e=>t.emit(`error`,e),e.on(`error`,this.proxyErrors)}};t.exports=class e extends i{constructor(e){super(),this[_]=!1,this[v]=!1,this.pipes=[],this.buffer=[],this[C]=e&&e.objectMode||!1,this[h]=this[C]?null:e&&e.encoding||null,this[h]===`buffer`&&(this[h]=null),this[O]=e&&!!e.async||!1,this[g]=this[h]?new a(this[h]):null,this[o]=!1,this[c]=!1,this[l]=!1,this[d]=!1,this[u]=null,this.writable=!0,this.readable=!0,this[b]=0,this[w]=!1}get bufferLength(){return this[b]}get encoding(){return this[h]}set encoding(e){if(this[C])throw Error(`cannot set encoding in objectMode`);if(this[h]&&e!==this[h]&&(this[g]&&this[g].lastNeed||this[b]))throw Error(`cannot change encoding`);this[h]!==e&&(this[g]=e?new a(e):null,this.buffer.length&&(this.buffer=this.buffer.map(e=>this[g].write(e)))),this[h]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[C]}set objectMode(e){this[C]=this[C]||!!e}get async(){return this[O]}set async(e){this[O]=this[O]||!!e}write(e,t,n){if(this[o])throw Error(`write after end`);if(this[w])return this.emit(`error`,Object.assign(Error(`Cannot call write after a stream was destroyed`),{code:`ERR_STREAM_DESTROYED`})),!0;typeof t==`function`&&(n=t,t=`utf8`),t||=`utf8`;let r=this[O]?k:e=>e();return!this[C]&&!Buffer.isBuffer(e)&&(F(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):P(e)?e=Buffer.from(e):typeof e!=`string`&&(this.objectMode=!0)),this[C]?(this.flowing&&this[b]!==0&&this[p](!0),this.flowing?this.emit(`data`,e):this[x](e),this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing):e.length?(typeof e==`string`&&(t!==this[h]||this[g].lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[h]&&(e=this[g].write(e)),this.flowing&&this[b]!==0&&this[p](!0),this.flowing?this.emit(`data`,e):this[x](e),this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing):(this[b]!==0&&this.emit(`readable`),n&&r(n),this.flowing)}read(e){if(this[w])return null;if(this[b]===0||e===0||e>this[b])return this[s](),null;this[C]&&(e=null),this.buffer.length>1&&!this[C]&&(this.buffer=this.encoding?[this.buffer.join(``)]:[Buffer.concat(this.buffer,this[b])]);let t=this[f](e||null,this.buffer[0]);return this[s](),t}[f](e,t){return e===t.length||e===null?this[S]():(this.buffer[0]=t.slice(e),t=t.slice(0,e),this[b]-=e),this.emit(`data`,t),!this.buffer.length&&!this[o]&&this.emit(`drain`),t}end(e,t,n){return typeof e==`function`&&(n=e,e=null),typeof t==`function`&&(n=t,t=`utf8`),e&&this.write(e,t),n&&this.once(`end`,n),this[o]=!0,this.writable=!1,(this.flowing||!this[v])&&this[s](),this}[y](){this[w]||(this[v]=!1,this[_]=!0,this.emit(`resume`),this.buffer.length?this[p]():this[o]?this[s]():this.emit(`drain`))}resume(){return this[y]()}pause(){this[_]=!1,this[v]=!0}get destroyed(){return this[w]}get flowing(){return this[_]}get paused(){return this[v]}[x](e){this[C]?this[b]+=1:this[b]+=e.length,this.buffer.push(e)}[S](){return this.buffer.length&&(this[C]?--this[b]:this[b]-=this.buffer[0].length),this.buffer.shift()}[p](e){do;while(this[m](this[S]()));!e&&!this.buffer.length&&!this[o]&&this.emit(`drain`)}[m](e){return e?(this.emit(`data`,e),this.flowing):!1}pipe(e,t){if(this[w])return;let r=this[c];return t||={},e===n.stdout||e===n.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,r?t.end&&e.end():(this.pipes.push(t.proxyErrors?new L(this,e,t):new I(this,e,t)),this[O]?k(()=>this[y]()):this[y]()),e}unpipe(e){let t=this.pipes.find(t=>t.dest===e);t&&(this.pipes.splice(this.pipes.indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let n=super.on(e,t);return e===`data`&&!this.pipes.length&&!this.flowing?this[y]():e===`readable`&&this[b]!==0?super.emit(`readable`):N(e)&&this[c]?(super.emit(e),this.removeAllListeners(e)):e===`error`&&this[u]&&(this[O]?k(()=>t.call(this,this[u])):t.call(this,this[u])),n}get emittedEnd(){return this[c]}[s](){!this[l]&&!this[c]&&!this[w]&&this.buffer.length===0&&this[o]&&(this[l]=!0,this.emit(`end`),this.emit(`prefinish`),this.emit(`finish`),this[d]&&this.emit(`close`),this[l]=!1)}emit(e,t,...n){if(e!==`error`&&e!==`close`&&e!==w&&this[w])return;if(e===`data`)return t?this[O]?k(()=>this[T](t)):this[T](t):!1;if(e===`end`)return this[E]();if(e===`close`){if(this[d]=!0,!this[c]&&!this[w])return;let e=super.emit(`close`);return this.removeAllListeners(`close`),e}if(e===`error`){this[u]=t;let e=super.emit(`error`,t);return this[s](),e}if(e===`resume`){let e=super.emit(`resume`);return this[s](),e}if(e===`finish`||e===`prefinish`){let t=super.emit(e);return this.removeAllListeners(e),t}let r=super.emit(e,t,...n);return this[s](),r}[T](e){for(let t of this.pipes)t.dest.write(e)===!1&&this.pause();let t=super.emit(`data`,e);return this[s](),t}[E](){this[c]||(this[c]=!0,this.readable=!1,this[O]?k(()=>this[D]()):this[D]())}[D](){if(this[g]){let e=this[g].end();if(e){for(let t of this.pipes)t.dest.write(e);super.emit(`data`,e)}}for(let e of this.pipes)e.end();let e=super.emit(`end`);return this.removeAllListeners(`end`),e}collect(){let e=[];this[C]||(e.dataLength=0);let t=this.promise();return this.on(`data`,t=>{e.push(t),this[C]||(e.dataLength+=t.length)}),t.then(()=>e)}concat(){return this[C]?Promise.reject(Error(`cannot concat in objectMode`)):this.collect().then(e=>this[C]?Promise.reject(Error(`cannot concat in objectMode`)):this[h]?e.join(``):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,t)=>{this.on(w,()=>t(Error(`stream destroyed`))),this.on(`error`,e=>t(e)),this.on(`end`,()=>e())})}[j](){return{next:()=>{let e=this.read();if(e!==null)return Promise.resolve({done:!1,value:e});if(this[o])return Promise.resolve({done:!0});let t=null,n=null,r=e=>{this.removeListener(`data`,i),this.removeListener(`end`,a),n(e)},i=e=>{this.removeListener(`error`,r),this.removeListener(`end`,a),this.pause(),t({value:e,done:!!this[o]})},a=()=>{this.removeListener(`error`,r),this.removeListener(`data`,i),t({done:!0})},s=()=>r(Error(`stream destroyed`));return new Promise((e,o)=>{n=o,t=e,this.once(w,s),this.once(`error`,r),this.once(`end`,a),this.once(`data`,i)})}}}[M](){return{next:()=>{let e=this.read();return{value:e,done:e===null}}}}destroy(e){return this[w]?(e?this.emit(`error`,e):this.emit(w),this):(this[w]=!0,this.buffer.length=0,this[b]=0,typeof this.close==`function`&&!this[d]&&this.close(),e?this.emit(`error`,e):this.emit(w),this)}static isStream(t){return!!t&&(t instanceof e||t instanceof i||t instanceof r&&(typeof t.pipe==`function`||typeof t.write==`function`&&typeof t.end==`function`))}}})),wr=Z((e=>{var t=Q(`assert`),n=Q(`buffer`).Buffer,r=Q(`zlib`),i=e.constants=Sr(),a=Cr(),o=n.concat,s=Symbol(`_superWrite`),c=class extends Error{constructor(e){super(`zlib: `+e.message),this.code=e.code,this.errno=e.errno,this.code||=`ZLIB_ERROR`,this.message=`zlib: `+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return`ZlibError`}},l=Symbol(`opts`),u=Symbol(`flushFlag`),d=Symbol(`finishFlushFlag`),f=Symbol(`fullFlushFlag`),p=Symbol(`handle`),m=Symbol(`onError`),h=Symbol(`sawError`),g=Symbol(`level`),_=Symbol(`strategy`),v=Symbol(`ended`),y=class extends a{constructor(e,t){if(!e||typeof e!=`object`)throw TypeError(`invalid options for ZlibBase constructor`);super(e),this[h]=!1,this[v]=!1,this[l]=e,this[u]=e.flush,this[d]=e.finishFlush;try{this[p]=new r[t](e)}catch(e){throw new c(e)}this[m]=e=>{this[h]||(this[h]=!0,this.close(),this.emit(`error`,e))},this[p].on(`error`,e=>this[m](new c(e))),this.once(`end`,()=>this.close)}close(){this[p]&&(this[p].close(),this[p]=null,this.emit(`close`))}reset(){if(!this[h])return t(this[p],`zlib binding closed`),this[p].reset()}flush(e){this.ended||(typeof e!=`number`&&(e=this[f]),this.write(Object.assign(n.alloc(0),{[u]:e})))}end(e,t,n){return e&&this.write(e,t),this.flush(this[d]),this[v]=!0,super.end(null,null,n)}get ended(){return this[v]}write(e,r,i){if(typeof r==`function`&&(i=r,r=`utf8`),typeof e==`string`&&(e=n.from(e,r)),this[h])return;t(this[p],`zlib binding closed`);let a=this[p]._handle,l=a.close;a.close=()=>{};let d=this[p].close;this[p].close=()=>{},n.concat=e=>e;let f;try{let t=typeof e[u]==`number`?e[u]:this[u];f=this[p]._processChunk(e,t),n.concat=o}catch(e){n.concat=o,this[m](new c(e))}finally{this[p]&&(this[p]._handle=a,a.close=l,this[p].close=d,this[p].removeAllListeners(`error`))}this[p]&&this[p].on(`error`,e=>this[m](new c(e)));let g;if(f){if(Array.isArray(f)&&f.length>0){g=this[s](n.from(f[0]));for(let e=1;e<f.length;e++)g=this[s](f[e])}else g=this[s](n.from(f))}return i&&i(),g}[s](e){return super.write(e)}},b=class extends y{constructor(e,t){e||={},e.flush=e.flush||i.Z_NO_FLUSH,e.finishFlush=e.finishFlush||i.Z_FINISH,super(e,t),this[f]=i.Z_FULL_FLUSH,this[g]=e.level,this[_]=e.strategy}params(e,n){if(!this[h]){if(!this[p])throw Error(`cannot switch params when binding is closed`);if(!this[p].params)throw Error(`not supported in this implementation`);if(this[g]!==e||this[_]!==n){this.flush(i.Z_SYNC_FLUSH),t(this[p],`zlib binding closed`);let r=this[p].flush;this[p].flush=(e,t)=>{this.flush(e),t()};try{this[p].params(e,n)}finally{this[p].flush=r}this[p]&&(this[g]=e,this[_]=n)}}}},x=class extends b{constructor(e){super(e,`Deflate`)}},S=class extends b{constructor(e){super(e,`Inflate`)}},C=Symbol(`_portable`),w=class extends b{constructor(e){super(e,`Gzip`),this[C]=e&&!!e.portable}[s](e){return this[C]&&(this[C]=!1,e[9]=255),super[s](e)}},T=class extends b{constructor(e){super(e,`Gunzip`)}},E=class extends b{constructor(e){super(e,`DeflateRaw`)}},D=class extends b{constructor(e){super(e,`InflateRaw`)}},O=class extends b{constructor(e){super(e,`Unzip`)}},k=class extends y{constructor(e,t){e||={},e.flush=e.flush||i.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||i.BROTLI_OPERATION_FINISH,super(e,t),this[f]=i.BROTLI_OPERATION_FLUSH}},A=class extends k{constructor(e){super(e,`BrotliCompress`)}},j=class extends k{constructor(e){super(e,`BrotliDecompress`)}};e.Deflate=x,e.Inflate=S,e.Gzip=w,e.Gunzip=T,e.DeflateRaw=E,e.InflateRaw=D,e.Unzip=O,typeof r.BrotliCompress==`function`?(e.BrotliCompress=A,e.BrotliDecompress=j):e.BrotliCompress=e.BrotliDecompress=class{constructor(){throw Error(`Brotli is not supported in this version of Node.js`)}}})),Tr=Z(((e,t)=>{t.exports=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`?e=>e&&e.replace(/\\/g,`/`):e=>e})),Er=Z(((e,t)=>{var{Minipass:n}=xr(),r=Tr(),i=Symbol(`slurp`);t.exports=class extends n{constructor(e,t,n){switch(super(),this.pause(),this.extended=t,this.globalExtended=n,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case`File`:case`OldFile`:case`Link`:case`SymbolicLink`:case`CharacterDevice`:case`BlockDevice`:case`Directory`:case`FIFO`:case`ContiguousFile`:case`GNUDumpDir`:break;case`NextFileHasLongLinkpath`:case`NextFileHasLongPath`:case`OldGnuLongPath`:case`GlobalExtendedHeader`:case`ExtendedHeader`:case`OldExtendedHeader`:this.meta=!0;break;default:this.ignore=!0}this.path=r(e.path),this.mode=e.mode,this.mode&&(this.mode&=4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=r(e.linkpath),this.uname=e.uname,this.gname=e.gname,t&&this[i](t),n&&this[i](n,!0)}write(e){let t=e.length;if(t>this.blockRemain)throw Error(`writing more to entry than is appropriate`);let n=this.remain,r=this.blockRemain;return this.remain=Math.max(0,n-t),this.blockRemain=Math.max(0,r-t),this.ignore?!0:n>=t?super.write(e):super.write(e.slice(0,n))}[i](e,t){for(let n in e)e[n]!==null&&e[n]!==void 0&&!(t&&n===`path`)&&(this[n]=n===`path`||n===`linkpath`?r(e[n]):e[n])}}})),Dr=Z((e=>{e.name=new Map([[`0`,`File`],[``,`OldFile`],[`1`,`Link`],[`2`,`SymbolicLink`],[`3`,`CharacterDevice`],[`4`,`BlockDevice`],[`5`,`Directory`],[`6`,`FIFO`],[`7`,`ContiguousFile`],[`g`,`GlobalExtendedHeader`],[`x`,`ExtendedHeader`],[`A`,`SolarisACL`],[`D`,`GNUDumpDir`],[`I`,`Inode`],[`K`,`NextFileHasLongLinkpath`],[`L`,`NextFileHasLongPath`],[`M`,`ContinuationFile`],[`N`,`OldGnuLongPath`],[`S`,`SparseFile`],[`V`,`TapeVolumeHeader`],[`X`,`OldExtendedHeader`]]),e.code=new Map(Array.from(e.name).map(e=>[e[1],e[0]]))})),Or=Z(((e,t)=>{var n=(e,t)=>{if(Number.isSafeInteger(e))e<0?i(e,t):r(e,t);else throw Error(`cannot encode number outside of javascript safe integer range`);return t},r=(e,t)=>{t[0]=128;for(var n=t.length;n>1;n--)t[n-1]=e&255,e=Math.floor(e/256)},i=(e,t)=>{t[0]=255;var n=!1;e*=-1;for(var r=t.length;r>1;r--){var i=e&255;e=Math.floor(e/256),n?t[r-1]=c(i):i===0?t[r-1]=0:(n=!0,t[r-1]=l(i))}},a=e=>{let t=e[0],n=t===128?s(e.slice(1,e.length)):t===255?o(e):null;if(n===null)throw Error(`invalid base256 encoding`);if(!Number.isSafeInteger(n))throw Error(`parsed number outside of javascript safe integer range`);return n},o=e=>{for(var t=e.length,n=0,r=!1,i=t-1;i>-1;i--){var a=e[i],o;r?o=c(a):a===0?o=a:(r=!0,o=l(a)),o!==0&&(n-=o*256**(t-i-1))}return n},s=e=>{for(var t=e.length,n=0,r=t-1;r>-1;r--){var i=e[r];i!==0&&(n+=i*256**(t-r-1))}return n},c=e=>(255^e)&255,l=e=>(255^e)+1&255;t.exports={encode:n,parse:a}})),kr=Z(((e,t)=>{var n=Dr(),r=Q(`path`).posix,i=Or(),a=Symbol(`slurp`),o=Symbol(`type`),s=class{constructor(e,t,n,r){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[o]=`0`,this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,t||0,n,r):e&&this.set(e)}decode(e,t,n,r){if(t||=0,!e||!(e.length>=t+512))throw Error(`need 512 bytes for header`);if(this.path=l(e,t,100),this.mode=f(e,t+100,8),this.uid=f(e,t+108,8),this.gid=f(e,t+116,8),this.size=f(e,t+124,12),this.mtime=u(e,t+136,12),this.cksum=f(e,t+148,12),this[a](n),this[a](r,!0),this[o]=l(e,t+156,1),this[o]===``&&(this[o]=`0`),this[o]===`0`&&this.path.slice(-1)===`/`&&(this[o]=`5`),this[o]===`5`&&(this.size=0),this.linkpath=l(e,t+157,100),e.slice(t+257,t+265).toString()===`ustar\x0000`){if(this.uname=l(e,t+265,32),this.gname=l(e,t+297,32),this.devmaj=f(e,t+329,8),this.devmin=f(e,t+337,8),e[t+475]!==0){let n=l(e,t+345,155);this.path=n+`/`+this.path}else{let n=l(e,t+345,130);n&&(this.path=n+`/`+this.path),this.atime=u(e,t+476,12),this.ctime=u(e,t+488,12)}}let i=256;for(let n=t;n<t+148;n++)i+=e[n];for(let n=t+156;n<t+512;n++)i+=e[n];this.cksumValid=i===this.cksum,this.cksum===null&&i===256&&(this.nullBlock=!0)}[a](e,t){for(let n in e)e[n]!==null&&e[n]!==void 0&&!(t&&n===`path`)&&(this[n]=e[n])}encode(e,t){if(e||(e=this.block=Buffer.alloc(512),t=0),t||=0,!(e.length>=t+512))throw Error(`need 512 bytes for header`);let n=this.ctime||this.atime?130:155,r=c(this.path||``,n),i=r[0],a=r[1];this.needPax=r[2],this.needPax=S(e,t,100,i)||this.needPax,this.needPax=g(e,t+100,8,this.mode)||this.needPax,this.needPax=g(e,t+108,8,this.uid)||this.needPax,this.needPax=g(e,t+116,8,this.gid)||this.needPax,this.needPax=g(e,t+124,12,this.size)||this.needPax,this.needPax=b(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[o].charCodeAt(0),this.needPax=S(e,t+157,100,this.linkpath)||this.needPax,e.write(`ustar\x0000`,t+257,8),this.needPax=S(e,t+265,32,this.uname)||this.needPax,this.needPax=S(e,t+297,32,this.gname)||this.needPax,this.needPax=g(e,t+329,8,this.devmaj)||this.needPax,this.needPax=g(e,t+337,8,this.devmin)||this.needPax,this.needPax=S(e,t+345,n,a)||this.needPax,e[t+475]===0?(this.needPax=S(e,t+345,130,a)||this.needPax,this.needPax=b(e,t+476,12,this.atime)||this.needPax,this.needPax=b(e,t+488,12,this.ctime)||this.needPax):this.needPax=S(e,t+345,155,a)||this.needPax;let s=256;for(let n=t;n<t+148;n++)s+=e[n];for(let n=t+156;n<t+512;n++)s+=e[n];return this.cksum=s,g(e,t+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(e){for(let t in e)e[t]!==null&&e[t]!==void 0&&(this[t]=e[t])}get type(){return n.name.get(this[o])||this[o]}get typeKey(){return this[o]}set type(e){this[o]=n.code.has(e)?n.code.get(e):e}},c=(e,t)=>{let n=e,i=``,a,o=r.parse(e).root||`.`;if(Buffer.byteLength(n)<100)a=[n,i,!1];else{i=r.dirname(n),n=r.basename(n);do Buffer.byteLength(n)<=100&&Buffer.byteLength(i)<=t?a=[n,i,!1]:Buffer.byteLength(n)>100&&Buffer.byteLength(i)<=t?a=[n.slice(0,99),i,!0]:(n=r.join(r.basename(i),n),i=r.dirname(i));while(i!==o&&!a);a||=[e.slice(0,99),``,!0]}return a},l=(e,t,n)=>e.slice(t,t+n).toString(`utf8`).replace(/\0.*/,``),u=(e,t,n)=>d(f(e,t,n)),d=e=>e===null?null:new Date(e*1e3),f=(e,t,n)=>e[t]&128?i.parse(e.slice(t,t+n)):m(e,t,n),p=e=>isNaN(e)?null:e,m=(e,t,n)=>p(parseInt(e.slice(t,t+n).toString(`utf8`).replace(/\0.*$/,``).trim(),8)),h={12:8589934591,8:2097151},g=(e,t,n,r)=>r===null?!1:r>h[n]||r<0?(i.encode(r,e.slice(t,t+n)),!0):(_(e,t,n,r),!1),_=(e,t,n,r)=>e.write(v(r,n),t,n,`ascii`),v=(e,t)=>y(Math.floor(e).toString(8),t),y=(e,t)=>(e.length===t-1?e:Array(t-e.length-1).join(`0`)+e+` `)+`\0`,b=(e,t,n,r)=>r!==null&&g(e,t,n,r.getTime()/1e3),x=Array(156).join(`\0`),S=(e,t,n,r)=>r!==null&&(e.write(r+x,t,n,`utf8`),r.length!==Buffer.byteLength(r)||r.length>n);t.exports=s})),Ar=Z(((e,t)=>{var n=kr(),r=Q(`path`),i=class{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){let e=this.encodeBody();if(e===``)return null;let t=Buffer.byteLength(e),i=512*Math.ceil(1+t/512),a=Buffer.allocUnsafe(i);for(let e=0;e<512;e++)a[e]=0;new n({path:(`PaxHeader/`+r.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?`GlobalExtendedHeader`:`ExtendedHeader`,linkpath:``,uname:this.uname||``,gname:this.gname||``,devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,t,`utf8`);for(let e=t+512;e<a.length;e++)a[e]=0;return a}encodeBody(){return this.encodeField(`path`)+this.encodeField(`ctime`)+this.encodeField(`atime`)+this.encodeField(`dev`)+this.encodeField(`ino`)+this.encodeField(`nlink`)+this.encodeField(`charset`)+this.encodeField(`comment`)+this.encodeField(`gid`)+this.encodeField(`gname`)+this.encodeField(`linkpath`)+this.encodeField(`mtime`)+this.encodeField(`size`)+this.encodeField(`uid`)+this.encodeField(`uname`)}encodeField(e){if(this[e]===null||this[e]===void 0)return``;let t=this[e]instanceof Date?this[e].getTime()/1e3:this[e],n=` `+(e===`dev`||e===`ino`||e===`nlink`?`SCHILY.`:``)+e+`=`+t+`
30
30
  `,r=Buffer.byteLength(n),i=Math.floor(Math.log(r)/Math.log(10))+1;return r+i>=10**i&&(i+=1),i+r+n}};i.parse=(e,t,n)=>new i(a(o(e),t),n);var a=(e,t)=>t?Object.keys(e).reduce((t,n)=>(t[n]=e[n],t),t):e,o=e=>e.replace(/\n$/,``).split(`
31
- `).reduce(s,Object.create(null)),s=(e,t)=>{let n=parseInt(t,10);if(n!==Buffer.byteLength(t)+1)return e;t=t.slice((n+` `).length);let r=t.split(`=`),i=r.shift().replace(/^SCHILY\.(dev|ino|nlink)/,`$1`);if(!i)return e;let a=r.join(`=`);return e[i]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(i)?new Date(a*1e3):/^[0-9]+$/.test(a)?+a:a,e};t.exports=i})),ni=H(((e,t)=>{t.exports=e=>{let t=e.length-1,n=-1;for(;t>-1&&e.charAt(t)===`/`;)n=t,t--;return n===-1?e:e.slice(0,n)}})),ri=H(((e,t)=>{t.exports=e=>class extends e{warn(e,t,n={}){this.file&&(n.file=this.file),this.cwd&&(n.cwd=this.cwd),n.code=t instanceof Error&&t.code||e,n.tarCode=e,!this.strict&&n.recoverable!==!1?(t instanceof Error&&(n=Object.assign(t,n),t=t.message),this.emit(`warn`,n.tarCode,t,n)):t instanceof Error?this.emit(`error`,Object.assign(t,n)):this.emit(`error`,Object.assign(Error(`${e}: ${t}`),n))}}})),ii=H(((e,t)=>{var n=[`|`,`<`,`>`,`?`,`:`],r=n.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),i=new Map(n.map((e,t)=>[e,r[t]])),a=new Map(r.map((e,t)=>[e,n[t]]));t.exports={encode:e=>n.reduce((e,t)=>e.split(t).join(i.get(t)),e),decode:e=>r.reduce((e,t)=>e.split(t).join(a.get(t)),e)}})),ai=H(((e,t)=>{var{isAbsolute:n,parse:r}=U(`path`).win32;t.exports=e=>{let t=``,i=r(e);for(;n(e)||i.root;){let n=e.charAt(0)===`/`&&e.slice(0,4)!==`//?/`?`/`:i.root;e=e.slice(n.length),t+=n,i=r(e)}return[t,e]}})),oi=H(((e,t)=>{t.exports=(e,t,n)=>(e&=4095,n&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e)})),si=H(((e,t)=>{var{Minipass:n}=Kr(),r=ti(),i=ei(),a=U(`fs`),o=U(`path`),s=Xr(),c=ni(),l=(e,t)=>t?(e=s(e).replace(/^\.(\/|$)/,``),c(t)+`/`+e):s(e),u=16777216,d=Symbol(`process`),f=Symbol(`file`),p=Symbol(`directory`),m=Symbol(`symlink`),h=Symbol(`hardlink`),g=Symbol(`header`),_=Symbol(`read`),v=Symbol(`lstat`),y=Symbol(`onlstat`),b=Symbol(`onread`),x=Symbol(`onreadlink`),S=Symbol(`openfile`),C=Symbol(`onopenfile`),w=Symbol(`close`),T=Symbol(`mode`),E=Symbol(`awaitDrain`),D=Symbol(`ondrain`),O=Symbol(`prefix`),k=Symbol(`hadError`),A=ri(),j=ii(),M=ai(),N=oi(),P=A(class extends n{constructor(e,t){if(t||={},super(t),typeof e!=`string`)throw TypeError(`path is required`);this.path=s(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||``,this.maxReadSize=t.maxReadSize||u,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=s(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?s(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn==`function`&&this.on(`warn`,t.onwarn);let n=!1;if(!this.preservePaths){let[e,t]=M(this.path);e&&(this.path=t,n=e)}this.win32=!!t.win32||process.platform===`win32`,this.win32&&(this.path=j.decode(this.path.replace(/\\/g,`/`)),e=e.replace(/\\/g,`/`)),this.absolute=s(t.absolute||o.resolve(this.cwd,e)),this.path===``&&(this.path=`./`),n&&this.warn(`TAR_ENTRY_INFO`,`stripping ${n} from absolute path`,{entry:this,path:n+this.path}),this.statCache.has(this.absolute)?this[y](this.statCache.get(this.absolute)):this[v]()}emit(e,...t){return e===`error`&&(this[k]=!0),super.emit(e,...t)}[v](){a.lstat(this.absolute,(e,t)=>{if(e)return this.emit(`error`,e);this[y](t)})}[y](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=L(e),this.emit(`stat`,e),this[d]()}[d](){switch(this.type){case`File`:return this[f]();case`Directory`:return this[p]();case`SymbolicLink`:return this[m]();default:return this.end()}}[T](e){return N(e,this.type===`Directory`,this.portable)}[O](e){return l(e,this.prefix)}[g](){this.type===`Directory`&&this.portable&&(this.noMtime=!0),this.header=new i({path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,mode:this[T](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:``,atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new r({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[p](){this.path.slice(-1)!==`/`&&(this.path+=`/`),this.stat.size=0,this[g](),this.end()}[m](){a.readlink(this.absolute,(e,t)=>{if(e)return this.emit(`error`,e);this[x](t)})}[x](e){this.linkpath=s(e),this[g](),this.end()}[h](e){this.type=`Link`,this.linkpath=s(o.relative(this.cwd,e)),this.stat.size=0,this[g](),this.end()}[f](){if(this.stat.nlink>1){let e=this.stat.dev+`:`+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[h](t)}this.linkCache.set(e,this.absolute)}if(this[g](),this.stat.size===0)return this.end();this[S]()}[S](){a.open(this.absolute,`r`,(e,t)=>{if(e)return this.emit(`error`,e);this[C](t)})}[C](e){if(this.fd=e,this[k])return this[w]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[_]()}[_](){let{fd:e,buf:t,offset:n,length:r,pos:i}=this;a.read(e,t,n,r,i,(e,t)=>{if(e)return this[w](()=>this.emit(`error`,e));this[b](t)})}[w](e){a.close(this.fd,e)}[b](e){if(e<=0&&this.remain>0){let e=Error(`encountered unexpected EOF`);return e.path=this.absolute,e.syscall=`read`,e.code=`EOF`,this[w](()=>this.emit(`error`,e))}if(e>this.remain){let e=Error(`did not encounter expected EOF`);return e.path=this.absolute,e.syscall=`read`,e.code=`EOF`,this[w](()=>this.emit(`error`,e))}if(e===this.remain)for(let t=e;t<this.length&&e<this.blockRemain;t++)this.buf[t+this.offset]=0,e++,this.remain++;let t=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(t)?this[D]():this[E](()=>this[D]())}[E](e){this.once(`drain`,e)}write(e){if(this.blockRemain<e.length){let e=Error(`writing more data than expected`);return e.path=this.absolute,this.emit(`error`,e)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[D](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[w](e=>e?this.emit(`error`,e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[_]()}}),F=class extends P{[v](){this[y](a.lstatSync(this.absolute))}[m](){this[x](a.readlinkSync(this.absolute))}[S](){this[C](a.openSync(this.absolute,`r`))}[_](){let e=!0;try{let{fd:t,buf:n,offset:r,length:i,pos:o}=this,s=a.readSync(t,n,r,i,o);this[b](s),e=!1}finally{if(e)try{this[w](()=>{})}catch{}}}[E](e){e()}[w](e){a.closeSync(this.fd),e()}},I=A(class extends n{constructor(e,t){t||={},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type===`Directory`&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=s(e.path),this.mode=this[T](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=s(e.linkpath),typeof t.onwarn==`function`&&this.on(`warn`,t.onwarn);let n=!1;if(!this.preservePaths){let[e,t]=M(this.path);e&&(this.path=t,n=e)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new i({path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),n&&this.warn(`TAR_ENTRY_INFO`,`stripping ${n} from absolute path`,{entry:this,path:n+this.path}),this.header.encode()&&!this.noPax&&super.write(new r({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[O](e){return l(e,this.prefix)}[T](e){return N(e,this.type===`Directory`,this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw Error(`writing more to entry than is appropriate`);return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});P.Sync=F,P.Tar=I;var L=e=>e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:`Unsupported`;t.exports=P})),ci=H(((e,t)=>{t.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}})),li=H(((e,t)=>{t.exports=n,n.Node=o,n.create=n;function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach==`function`)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var r=0,i=arguments.length;r<i;r++)t.push(arguments[r]);return t}n.prototype.removeNode=function(e){if(e.list!==this)throw Error(`removing node which does not belong to this list`);var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},n.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||=e,this.length++}},n.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||=e,this.length++}},n.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},n.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)a(this,arguments[e]);return this.length},n.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},n.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},n.prototype.forEach=function(e,t){t||=this;for(var n=this.head,r=0;n!==null;r++)e.call(t,n.value,r,this),n=n.next},n.prototype.forEachReverse=function(e,t){t||=this;for(var n=this.tail,r=this.length-1;n!==null;r--)e.call(t,n.value,r,this),n=n.prev},n.prototype.get=function(e){for(var t=0,n=this.head;n!==null&&t<e;t++)n=n.next;if(t===e&&n!==null)return n.value},n.prototype.getReverse=function(e){for(var t=0,n=this.tail;n!==null&&t<e;t++)n=n.prev;if(t===e&&n!==null)return n.value},n.prototype.map=function(e,t){t||=this;for(var r=new n,i=this.head;i!==null;)r.push(e.call(t,i.value,this)),i=i.next;return r},n.prototype.mapReverse=function(e,t){t||=this;for(var r=new n,i=this.tail;i!==null;)r.push(e.call(t,i.value,this)),i=i.prev;return r},n.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else if(this.head)r=this.head.next,n=this.head.value;else throw TypeError(`Reduce of empty list with no initial value`);for(var i=0;r!==null;i++)n=e(n,r.value,i),r=r.next;return n},n.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else if(this.tail)r=this.tail.prev,n=this.tail.value;else throw TypeError(`Reduce of empty list with no initial value`);for(var i=this.length-1;r!==null;i--)n=e(n,r.value,i),r=r.prev;return n},n.prototype.toArray=function(){for(var e=Array(this.length),t=0,n=this.head;n!==null;t++)e[t]=n.value,n=n.next;return e},n.prototype.toArrayReverse=function(){for(var e=Array(this.length),t=0,n=this.tail;n!==null;t++)e[t]=n.value,n=n.prev;return e},n.prototype.slice=function(e,t){t||=this.length,t<0&&(t+=this.length),e||=0,e<0&&(e+=this.length);var r=new n;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=0,a=this.head;a!==null&&i<e;i++)a=a.next;for(;a!==null&&i<t;i++,a=a.next)r.push(a.value);return r},n.prototype.sliceReverse=function(e,t){t||=this.length,t<0&&(t+=this.length),e||=0,e<0&&(e+=this.length);var r=new n;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,a=this.tail;a!==null&&i>t;i--)a=a.prev;for(;a!==null&&i>e;i--,a=a.prev)r.push(a.value);return r},n.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,a=this.head;a!==null&&i<e;i++)a=a.next;for(var o=[],i=0;a&&i<t;i++)o.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var i=0;i<n.length;i++)a=r(this,a,n[i]);return o},n.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;n!==null;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};function r(e,t,n){var r=t===e.head?new o(n,null,t,e):new o(n,t,t.next,e);return r.next===null&&(e.tail=r),r.prev===null&&(e.head=r),e.length++,r}function i(e,t){e.tail=new o(t,e.tail,null,e),e.head||=e.tail,e.length++}function a(e,t){e.head=new o(t,null,e.head,e),e.tail||=e.head,e.length++}function o(e,t,n,r){if(!(this instanceof o))return new o(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}try{ci()(n)}catch{}})),ui=H(((e,t)=>{var n=class{constructor(e,t){this.path=e||`./`,this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},{Minipass:r}=Kr(),i=Yr(),a=Zr(),o=si(),s=o.Sync,c=o.Tar,l=li(),u=Buffer.alloc(1024),d=Symbol(`onStat`),f=Symbol(`ended`),p=Symbol(`queue`),m=Symbol(`current`),h=Symbol(`process`),g=Symbol(`processing`),_=Symbol(`processJob`),v=Symbol(`jobs`),y=Symbol(`jobDone`),b=Symbol(`addFSEntry`),x=Symbol(`addTarEntry`),S=Symbol(`stat`),C=Symbol(`readdir`),w=Symbol(`onreaddir`),T=Symbol(`pipe`),E=Symbol(`entry`),D=Symbol(`entryOpt`),O=Symbol(`writeEntryClass`),k=Symbol(`write`),A=Symbol(`ondrain`),j=U(`fs`),M=U(`path`),N=ri(),P=Xr(),F=N(class extends r{constructor(e){if(super(e),e||=Object.create(null),this.opt=e,this.file=e.file||``,this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=P(e.prefix||``),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[O]=o,typeof e.onwarn==`function`&&this.on(`warn`,e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip||e.brotli){if(e.gzip&&e.brotli)throw TypeError(`gzip and brotli are mutually exclusive`);e.gzip&&(typeof e.gzip!=`object`&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new i.Gzip(e.gzip)),e.brotli&&(typeof e.brotli!=`object`&&(e.brotli={}),this.zip=new i.BrotliCompress(e.brotli)),this.zip.on(`data`,e=>super.write(e)),this.zip.on(`end`,e=>super.end()),this.zip.on(`drain`,e=>this[A]()),this.on(`resume`,e=>this.zip.resume())}else this.on(`drain`,this[A]);this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter==`function`?e.filter:e=>!0,this[p]=new l,this[v]=0,this.jobs=+e.jobs||4,this[g]=!1,this[f]=!1}[k](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[f]=!0,this[h](),this}write(e){if(this[f])throw Error(`write after end`);return e instanceof a?this[x](e):this[b](e),this.flowing}[x](e){let t=P(M.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let r=new n(e.path,t,!1);r.entry=new c(e,this[D](r)),r.entry.on(`end`,e=>this[y](r)),this[v]+=1,this[p].push(r)}this[h]()}[b](e){let t=P(M.resolve(this.cwd,e));this[p].push(new n(e,t)),this[h]()}[S](e){e.pending=!0,this[v]+=1,j[this.follow?`stat`:`lstat`](e.absolute,(t,n)=>{e.pending=!1,--this[v],t?this.emit(`error`,t):this[d](e,n)})}[d](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[h]()}[C](e){e.pending=!0,this[v]+=1,j.readdir(e.absolute,(t,n)=>{if(e.pending=!1,--this[v],t)return this.emit(`error`,t);this[w](e,n)})}[w](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[h]()}[h](){if(!this[g]){this[g]=!0;for(let e=this[p].head;e!==null&&this[v]<this.jobs;e=e.next)if(this[_](e.value),e.value.ignore){let t=e.next;this[p].removeNode(e),e.next=t}this[g]=!1,this[f]&&!this[p].length&&this[v]===0&&(this.zip?this.zip.end(u):(super.write(u),super.end()))}}get[m](){return this[p]&&this[p].head&&this[p].head.value}[y](e){this[p].shift(),--this[v],this[h]()}[_](e){if(!e.pending){if(e.entry){e===this[m]&&!e.piped&&this[T](e);return}if(e.stat||(this.statCache.has(e.absolute)?this[d](e,this.statCache.get(e.absolute)):this[S](e)),e.stat&&!e.ignore&&!(!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[w](e,this.readdirCache.get(e.absolute)):this[C](e),!e.readdir))){if(e.entry=this[E](e),!e.entry){e.ignore=!0;return}e===this[m]&&!e.piped&&this[T](e)}}}[D](e){return{onwarn:(e,t,n)=>this.warn(e,t,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[E](e){this[v]+=1;try{return new this[O](e.path,this[D](e)).on(`end`,()=>this[y](e)).on(`error`,e=>this.emit(`error`,e))}catch(e){this.emit(`error`,e)}}[A](){this[m]&&this[m].entry&&this[m].entry.resume()}[T](e){e.piped=!0,e.readdir&&e.readdir.forEach(t=>{let n=e.path,r=n===`./`?``:n.replace(/\/*$/,`/`);this[b](r+t)});let t=e.entry,n=this.zip;n?t.on(`data`,e=>{n.write(e)||t.pause()}):t.on(`data`,e=>{super.write(e)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}});F.Sync=class extends F{constructor(e){super(e),this[O]=s}pause(){}resume(){}[S](e){let t=this.follow?`statSync`:`lstatSync`;this[d](e,j[t](e.absolute))}[C](e,t){this[w](e,j.readdirSync(e.absolute))}[T](e){let t=e.entry,n=this.zip;e.readdir&&e.readdir.forEach(t=>{let n=e.path,r=n===`./`?``:n.replace(/\/*$/,`/`);this[b](r+t)}),n?t.on(`data`,e=>{n.write(e)}):t.on(`data`,e=>{super[k](e)})}},t.exports=F})),di=H((e=>{var t=Jr(),n=U(`events`).EventEmitter,r=U(`fs`),i=r.writev;if(!i){let e=process.binding(`fs`),t=e.FSReqWrap||e.FSReqCallback;i=(n,r,i,a)=>{let o=(e,t)=>a(e,t,r),s=new t;s.oncomplete=o,e.writeBuffers(n,r,i,s)}}var a=Symbol(`_autoClose`),o=Symbol(`_close`),s=Symbol(`_ended`),c=Symbol(`_fd`),l=Symbol(`_finished`),u=Symbol(`_flags`),d=Symbol(`_flush`),f=Symbol(`_handleChunk`),p=Symbol(`_makeBuf`),m=Symbol(`_mode`),h=Symbol(`_needDrain`),g=Symbol(`_onerror`),_=Symbol(`_onopen`),v=Symbol(`_onread`),y=Symbol(`_onwrite`),b=Symbol(`_open`),x=Symbol(`_path`),S=Symbol(`_pos`),C=Symbol(`_queue`),w=Symbol(`_read`),T=Symbol(`_readSize`),E=Symbol(`_reading`),D=Symbol(`_remain`),O=Symbol(`_size`),k=Symbol(`_write`),A=Symbol(`_writing`),j=Symbol(`_defaultFlag`),M=Symbol(`_errored`),N=class extends t{constructor(e,t){if(t||={},super(t),this.readable=!0,this.writable=!1,typeof e!=`string`)throw TypeError(`path must be a string`);this[M]=!1,this[c]=typeof t.fd==`number`?t.fd:null,this[x]=e,this[T]=t.readSize||16777216,this[E]=!1,this[O]=typeof t.size==`number`?t.size:1/0,this[D]=this[O],this[a]=typeof t.autoClose!=`boolean`||t.autoClose,typeof this[c]==`number`?this[w]():this[b]()}get fd(){return this[c]}get path(){return this[x]}write(){throw TypeError(`this is a readable stream`)}end(){throw TypeError(`this is a readable stream`)}[b](){r.open(this[x],`r`,(e,t)=>this[_](e,t))}[_](e,t){e?this[g](e):(this[c]=t,this.emit(`open`,t),this[w]())}[p](){return Buffer.allocUnsafe(Math.min(this[T],this[D]))}[w](){if(!this[E]){this[E]=!0;let e=this[p]();if(e.length===0)return process.nextTick(()=>this[v](null,0,e));r.read(this[c],e,0,e.length,null,(e,t,n)=>this[v](e,t,n))}}[v](e,t,n){this[E]=!1,e?this[g](e):this[f](t,n)&&this[w]()}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.close(e,e=>e?this.emit(`error`,e):this.emit(`close`))}}[g](e){this[E]=!0,this[o](),this.emit(`error`,e)}[f](e,t){let n=!1;return this[D]-=e,e>0&&(n=super.write(e<t.length?t.slice(0,e):t)),(e===0||this[D]<=0)&&(n=!1,this[o](),super.end()),n}emit(e,t){switch(e){case`prefinish`:case`finish`:break;case`drain`:typeof this[c]==`number`&&this[w]();break;case`error`:return this[M]?void 0:(this[M]=!0,super.emit(e,t));default:return super.emit(e,t)}}},P=class extends N{[b](){let e=!0;try{this[_](null,r.openSync(this[x],`r`)),e=!1}finally{e&&this[o]()}}[w](){let e=!0;try{if(!this[E]){this[E]=!0;do{let e=this[p](),t=e.length===0?0:r.readSync(this[c],e,0,e.length,null);if(!this[f](t,e))break}while(1);this[E]=!1}e=!1}finally{e&&this[o]()}}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.closeSync(e),this.emit(`close`)}}},F=class extends n{constructor(e,t){t||={},super(t),this.readable=!1,this.writable=!0,this[M]=!1,this[A]=!1,this[s]=!1,this[h]=!1,this[C]=[],this[x]=e,this[c]=typeof t.fd==`number`?t.fd:null,this[m]=t.mode===void 0?438:t.mode,this[S]=typeof t.start==`number`?t.start:null,this[a]=typeof t.autoClose!=`boolean`||t.autoClose;let n=this[S]===null?`w`:`r+`;this[j]=t.flags===void 0,this[u]=this[j]?n:t.flags,this[c]===null&&this[b]()}emit(e,t){if(e===`error`){if(this[M])return;this[M]=!0}return super.emit(e,t)}get fd(){return this[c]}get path(){return this[x]}[g](e){this[o](),this[A]=!0,this.emit(`error`,e)}[b](){r.open(this[x],this[u],this[m],(e,t)=>this[_](e,t))}[_](e,t){this[j]&&this[u]===`r+`&&e&&e.code===`ENOENT`?(this[u]=`w`,this[b]()):e?this[g](e):(this[c]=t,this.emit(`open`,t),this[d]())}end(e,t){return e&&this.write(e,t),this[s]=!0,!this[A]&&!this[C].length&&typeof this[c]==`number`&&this[y](null,0),this}write(e,t){return typeof e==`string`&&(e=Buffer.from(e,t)),this[s]?(this.emit(`error`,Error(`write() after end()`)),!1):this[c]===null||this[A]||this[C].length?(this[C].push(e),this[h]=!0,!1):(this[A]=!0,this[k](e),!0)}[k](e){r.write(this[c],e,0,e.length,this[S],(e,t)=>this[y](e,t))}[y](e,t){e?this[g](e):(this[S]!==null&&(this[S]+=t),this[C].length?this[d]():(this[A]=!1,this[s]&&!this[l]?(this[l]=!0,this[o](),this.emit(`finish`)):this[h]&&(this[h]=!1,this.emit(`drain`))))}[d](){if(this[C].length===0)this[s]&&this[y](null,0);else if(this[C].length===1)this[k](this[C].pop());else{let e=this[C];this[C]=[],i(this[c],e,this[S],(e,t)=>this[y](e,t))}}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.close(e,e=>e?this.emit(`error`,e):this.emit(`close`))}}},I=class extends F{[b](){let e;if(this[j]&&this[u]===`r+`)try{e=r.openSync(this[x],this[u],this[m])}catch(e){if(e.code===`ENOENT`)return this[u]=`w`,this[b]();throw e}else e=r.openSync(this[x],this[u],this[m]);this[_](null,e)}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.closeSync(e),this.emit(`close`)}}[k](e){let t=!0;try{this[y](null,r.writeSync(this[c],e,0,e.length,this[S])),t=!1}finally{if(t)try{this[o]()}catch{}}}};e.ReadStream=N,e.ReadStreamSync=P,e.WriteStream=F,e.WriteStreamSync=I})),fi=H(((e,t)=>{var n=ri(),r=ei(),i=U(`events`),a=li(),o=1048576,s=Zr(),c=ti(),l=Yr(),{nextTick:u}=U(`process`),d=Buffer.from([31,139]),f=Symbol(`state`),p=Symbol(`writeEntry`),m=Symbol(`readEntry`),h=Symbol(`nextEntry`),g=Symbol(`processEntry`),_=Symbol(`extendedHeader`),v=Symbol(`globalExtendedHeader`),y=Symbol(`meta`),b=Symbol(`emitMeta`),x=Symbol(`buffer`),S=Symbol(`queue`),C=Symbol(`ended`),w=Symbol(`emittedEnd`),T=Symbol(`emit`),E=Symbol(`unzip`),D=Symbol(`consumeChunk`),O=Symbol(`consumeChunkSub`),k=Symbol(`consumeBody`),A=Symbol(`consumeMeta`),j=Symbol(`consumeHeader`),M=Symbol(`consuming`),N=Symbol(`bufferConcat`),P=Symbol(`maybeEnd`),F=Symbol(`writing`),I=Symbol(`aborted`),L=Symbol(`onDone`),R=Symbol(`sawValidEntry`),z=Symbol(`sawNullBlock`),B=Symbol(`sawEOF`),V=Symbol(`closeStream`),H=e=>!0;t.exports=n(class extends i{constructor(e){e||={},super(e),this.file=e.file||``,this[R]=null,this.on(L,e=>{(this[f]===`begin`||this[R]===!1)&&this.warn(`TAR_BAD_ARCHIVE`,`Unrecognized archive format`)}),e.ondone?this.on(L,e.ondone):this.on(L,e=>{this.emit(`prefinish`),this.emit(`finish`),this.emit(`end`)}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||o,this.filter=typeof e.filter==`function`?e.filter:H;let t=e.file&&(e.file.endsWith(`.tar.br`)||e.file.endsWith(`.tbr`));this.brotli=!e.gzip&&e.brotli!==void 0?e.brotli:t?void 0:!1,this.writable=!0,this.readable=!1,this[S]=new a,this[x]=null,this[m]=null,this[p]=null,this[f]=`begin`,this[y]=``,this[_]=null,this[v]=null,this[C]=!1,this[E]=null,this[I]=!1,this[z]=!1,this[B]=!1,this.on(`end`,()=>this[V]()),typeof e.onwarn==`function`&&this.on(`warn`,e.onwarn),typeof e.onentry==`function`&&this.on(`entry`,e.onentry)}[j](e,t){this[R]===null&&(this[R]=!1);let n;try{n=new r(e,t,this[_],this[v])}catch(e){return this.warn(`TAR_ENTRY_INVALID`,e)}if(n.nullBlock)this[z]?(this[B]=!0,this[f]===`begin`&&(this[f]=`header`),this[T](`eof`)):(this[z]=!0,this[T](`nullBlock`));else if(this[z]=!1,!n.cksumValid)this.warn(`TAR_ENTRY_INVALID`,`checksum failure`,{header:n});else if(!n.path)this.warn(`TAR_ENTRY_INVALID`,`path is required`,{header:n});else{let e=n.type;if(/^(Symbolic)?Link$/.test(e)&&!n.linkpath)this.warn(`TAR_ENTRY_INVALID`,`linkpath required`,{header:n});else if(!/^(Symbolic)?Link$/.test(e)&&n.linkpath)this.warn(`TAR_ENTRY_INVALID`,`linkpath forbidden`,{header:n});else{let e=this[p]=new s(n,this[_],this[v]);this[R]||(e.remain?e.on(`end`,()=>{e.invalid||(this[R]=!0)}):this[R]=!0),e.meta?e.size>this.maxMetaEntrySize?(e.ignore=!0,this[T](`ignoredEntry`,e),this[f]=`ignore`,e.resume()):e.size>0&&(this[y]=``,e.on(`data`,e=>this[y]+=e),this[f]=`meta`):(this[_]=null,e.ignore=e.ignore||!this.filter(e.path,e),e.ignore?(this[T](`ignoredEntry`,e),this[f]=e.remain?`ignore`:`header`,e.resume()):(e.remain?this[f]=`body`:(this[f]=`header`,e.end()),this[m]?this[S].push(e):(this[S].push(e),this[h]())))}}}[V](){u(()=>this.emit(`close`))}[g](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[m]=e,this.emit(`entry`,e),e.emittedEnd||(e.on(`end`,e=>this[h]()),t=!1)):(this[m]=null,t=!1),t}[h](){do;while(this[g](this[S].shift()));if(!this[S].length){let e=this[m];!e||e.flowing||e.size===e.remain?this[F]||this.emit(`drain`):e.once(`drain`,e=>this.emit(`drain`))}}[k](e,t){let n=this[p],r=n.blockRemain,i=r>=e.length&&t===0?e:e.slice(t,t+r);return n.write(i),n.blockRemain||(this[f]=`header`,this[p]=null,n.end()),i.length}[A](e,t){let n=this[p],r=this[k](e,t);return this[p]||this[b](n),r}[T](e,t,n){!this[S].length&&!this[m]?this.emit(e,t,n):this[S].push([e,t,n])}[b](e){switch(this[T](`meta`,this[y]),e.type){case`ExtendedHeader`:case`OldExtendedHeader`:this[_]=c.parse(this[y],this[_],!1);break;case`GlobalExtendedHeader`:this[v]=c.parse(this[y],this[v],!0);break;case`NextFileHasLongPath`:case`OldGnuLongPath`:this[_]=this[_]||Object.create(null),this[_].path=this[y].replace(/\0.*/,``);break;case`NextFileHasLongLinkpath`:this[_]=this[_]||Object.create(null),this[_].linkpath=this[y].replace(/\0.*/,``);break;default:throw Error(`unknown meta: `+e.type)}}abort(e){this[I]=!0,this.emit(`abort`,e),this.warn(`TAR_ABORT`,e,{recoverable:!1})}write(e){if(this[I])return;if((this[E]===null||this.brotli===void 0&&this[E]===!1)&&e){if(this[x]&&(e=Buffer.concat([this[x],e]),this[x]=null),e.length<d.length)return this[x]=e,!0;for(let t=0;this[E]===null&&t<d.length;t++)e[t]!==d[t]&&(this[E]=!1);let t=this.brotli===void 0;if(this[E]===!1&&t){if(e.length<512){if(this[C])this.brotli=!0;else return this[x]=e,!0}else try{new r(e.slice(0,512)),this.brotli=!1}catch{this.brotli=!0}}if(this[E]===null||this[E]===!1&&this.brotli){let t=this[C];this[C]=!1,this[E]=this[E]===null?new l.Unzip:new l.BrotliDecompress,this[E].on(`data`,e=>this[D](e)),this[E].on(`error`,e=>this.abort(e)),this[E].on(`end`,e=>{this[C]=!0,this[D]()}),this[F]=!0;let n=this[E][t?`end`:`write`](e);return this[F]=!1,n}}this[F]=!0,this[E]?this[E].write(e):this[D](e),this[F]=!1;let t=this[S].length?!1:!this[m]||this[m].flowing;return!t&&!this[S].length&&this[m].once(`drain`,e=>this.emit(`drain`)),t}[N](e){e&&!this[I]&&(this[x]=this[x]?Buffer.concat([this[x],e]):e)}[P](){if(this[C]&&!this[w]&&!this[I]&&!this[M]){this[w]=!0;let e=this[p];if(e&&e.blockRemain){let t=this[x]?this[x].length:0;this.warn(`TAR_BAD_ARCHIVE`,`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[x]&&e.write(this[x]),e.end()}this[T](L)}}[D](e){if(this[M])this[N](e);else if(!e&&!this[x])this[P]();else{if(this[M]=!0,this[x]){this[N](e);let t=this[x];this[x]=null,this[O](t)}else this[O](e);for(;this[x]&&this[x].length>=512&&!this[I]&&!this[B];){let e=this[x];this[x]=null,this[O](e)}this[M]=!1}(!this[x]||this[C])&&this[P]()}[O](e){let t=0,n=e.length;for(;t+512<=n&&!this[I]&&!this[B];)switch(this[f]){case`begin`:case`header`:this[j](e,t),t+=512;break;case`ignore`:case`body`:t+=this[k](e,t);break;case`meta`:t+=this[A](e,t);break;default:throw Error(`invalid state: `+this[f])}t<n&&(this[x]=this[x]?Buffer.concat([e.slice(t),this[x]]):e.slice(t))}end(e){this[I]||(this[E]?this[E].end(e):(this[C]=!0,this.brotli===void 0&&(e||=Buffer.alloc(0)),this.write(e)))}})})),pi=H(((e,t)=>{var n=Gr(),r=fi(),i=U(`fs`),a=di(),o=U(`path`),s=ni();t.exports=(e,t,r)=>{typeof e==`function`?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t==`function`&&(r=t,t=null),t=t?Array.from(t):[];let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return t.length&&l(i,t),i.noResume||c(i),i.file&&i.sync?u(i):i.file?d(i,r):f(i)};var c=e=>{let t=e.onentry;e.onentry=t?e=>{t(e),e.resume()}:e=>e.resume()},l=(e,t)=>{let n=new Map(t.map(e=>[s(e),!0])),r=e.filter,i=(e,t)=>{let r=t||o.parse(e).root||`.`,a=e===r?!1:n.has(e)?n.get(e):i(o.dirname(e),r);return n.set(e,a),a};e.filter=r?(e,t)=>r(e,t)&&i(s(e)):e=>i(s(e))},u=e=>{let t=f(e),n=e.file,r=!0,a;try{let o=i.statSync(n),s=e.maxReadSize||16777216;if(o.size<s)t.end(i.readFileSync(n));else{let e=0,r=Buffer.allocUnsafe(s);for(a=i.openSync(n,`r`);e<o.size;){let n=i.readSync(a,r,0,s,e);e+=n,t.write(r.slice(0,n))}t.end()}r=!1}finally{if(r&&a)try{i.closeSync(a)}catch{}}},d=(e,t)=>{let n=new r(e),o=e.maxReadSize||16777216,s=e.file,c=new Promise((e,t)=>{n.on(`error`,t),n.on(`end`,e),i.stat(s,(e,r)=>{if(e)t(e);else{let e=new a.ReadStream(s,{readSize:o,size:r.size});e.on(`error`,t),e.pipe(n)}})});return t?c.then(t,t):c},f=e=>new r(e)})),mi=H(((e,t)=>{var n=Gr(),r=ui(),i=di(),a=pi(),o=U(`path`);t.exports=(e,t,r)=>{if(typeof t==`function`&&(r=t),Array.isArray(e)&&(t=e,e={}),!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);t=Array.from(t);let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return i.file&&i.sync?s(i,t):i.file?c(i,t,r):i.sync?d(i,t):f(i,t)};var s=(e,t)=>{let n=new r.Sync(e),a=new i.WriteStreamSync(e.file,{mode:e.mode||438});n.pipe(a),l(n,t)},c=(e,t,n)=>{let a=new r(e),o=new i.WriteStream(e.file,{mode:e.mode||438});a.pipe(o);let s=new Promise((e,t)=>{o.on(`error`,t),o.on(`close`,e),a.on(`error`,t)});return u(a,t),n?s.then(n,n):s},l=(e,t)=>{t.forEach(t=>{t.charAt(0)===`@`?a({file:o.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},u=(e,t)=>{for(;t.length;){let n=t.shift();if(n.charAt(0)===`@`)return a({file:o.resolve(e.cwd,n.slice(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>u(e,t));e.add(n)}e.end()},d=(e,t)=>{let n=new r.Sync(e);return l(n,t),n},f=(e,t)=>{let n=new r(e);return u(n,t),n}})),hi=H(((e,t)=>{var n=Gr(),r=ui(),i=U(`fs`),a=di(),o=pi(),s=U(`path`),c=ei();t.exports=(e,t,r)=>{let i=n(e);if(!i.file)throw TypeError(`file is required`);if(i.gzip||i.brotli||i.file.endsWith(`.br`)||i.file.endsWith(`.tbr`))throw TypeError(`cannot append to compressed archives`);if(!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);return t=Array.from(t),i.sync?l(i,t):d(i,t,r)};var l=(e,t)=>{let n=new r.Sync(e),a=!0,o,s;try{try{o=i.openSync(e.file,`r+`)}catch(t){if(t.code===`ENOENT`)o=i.openSync(e.file,`w+`);else throw t}let r=i.fstatSync(o),l=Buffer.alloc(512);POSITION:for(s=0;s<r.size;s+=512){for(let e=0,t=0;e<512;e+=t){if(t=i.readSync(o,l,e,l.length-e,s+e),s===0&&l[0]===31&&l[1]===139)throw Error(`cannot append to compressed archives`);if(!t)break POSITION}let t=new c(l);if(!t.cksumValid)break;let n=512*Math.ceil(t.size/512);if(s+n+512>r.size)break;s+=n,e.mtimeCache&&e.mtimeCache.set(t.path,t.mtime)}a=!1,u(e,n,s,o,t)}finally{if(a)try{i.closeSync(o)}catch{}}},u=(e,t,n,r,i)=>{let o=new a.WriteStreamSync(e.file,{fd:r,start:n});t.pipe(o),f(t,i)},d=(e,t,n)=>{t=Array.from(t);let o=new r(e),s=(t,n,r)=>{let a=(e,n)=>{e?i.close(t,t=>r(e)):r(null,n)},o=0;if(n===0)return a(null,0);let s=0,l=Buffer.alloc(512),u=(r,d)=>{if(r)return a(r);if(s+=d,s<512&&d)return i.read(t,l,s,l.length-s,o+s,u);if(o===0&&l[0]===31&&l[1]===139)return a(Error(`cannot append to compressed archives`));if(s<512)return a(null,o);let f=new c(l);if(!f.cksumValid)return a(null,o);let p=512*Math.ceil(f.size/512);if(o+p+512>n||(o+=p+512,o>=n))return a(null,o);e.mtimeCache&&e.mtimeCache.set(f.path,f.mtime),s=0,i.read(t,l,0,512,o,u)};i.read(t,l,0,512,o,u)},l=new Promise((n,r)=>{o.on(`error`,r);let c=`r+`,l=(u,d)=>{if(u&&u.code===`ENOENT`&&c===`r+`)return c=`w+`,i.open(e.file,c,l);if(u)return r(u);i.fstat(d,(c,l)=>{if(c)return i.close(d,()=>r(c));s(d,l.size,(i,s)=>{if(i)return r(i);let c=new a.WriteStream(e.file,{fd:d,start:s});o.pipe(c),c.on(`error`,r),c.on(`close`,n),p(o,t)})})};i.open(e.file,c,l)});return n?l.then(n,n):l},f=(e,t)=>{t.forEach(t=>{t.charAt(0)===`@`?o({file:s.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},p=(e,t)=>{for(;t.length;){let n=t.shift();if(n.charAt(0)===`@`)return o({file:s.resolve(e.cwd,n.slice(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>p(e,t));e.add(n)}e.end()}})),gi=H(((e,t)=>{var n=Gr(),r=hi();t.exports=(e,t,a)=>{let o=n(e);if(!o.file)throw TypeError(`file is required`);if(o.gzip||o.brotli||o.file.endsWith(`.br`)||o.file.endsWith(`.tbr`))throw TypeError(`cannot append to compressed archives`);if(!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);return t=Array.from(t),i(o),r(o,t,a)};var i=e=>{let t=e.filter;e.mtimeCache||=new Map,e.filter=t?(n,r)=>t(n,r)&&!(e.mtimeCache.get(n)>r.mtime):(t,n)=>!(e.mtimeCache.get(t)>n.mtime)}})),_i=H(((e,t)=>{var{promisify:n}=U(`util`),r=U(`fs`);t.exports=e=>{if(!e)e={mode:511,fs:r};else if(typeof e==`object`)e={mode:511,fs:r,...e};else if(typeof e==`number`)e={mode:e,fs:r};else if(typeof e==`string`)e={mode:parseInt(e,8),fs:r};else throw TypeError(`invalid options argument`);return e.mkdir=e.mkdir||e.fs.mkdir||r.mkdir,e.mkdirAsync=n(e.mkdir),e.stat=e.stat||e.fs.stat||r.stat,e.statAsync=n(e.stat),e.statSync=e.statSync||e.fs.statSync||r.statSync,e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||r.mkdirSync,e}})),vi=H(((e,t)=>{var n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:r,parse:i}=U(`path`);t.exports=e=>{if(/\0/.test(e))throw Object.assign(TypeError(`path must be a string without null bytes`),{path:e,code:`ERR_INVALID_ARG_VALUE`});if(e=r(e),n===`win32`){let t=/[*|"<>?:]/,{root:n}=i(e);if(t.test(e.substr(n.length)))throw Object.assign(Error(`Illegal characters in path.`),{path:e,code:`EINVAL`})}return e}})),yi=H(((e,t)=>{var{dirname:n}=U(`path`),r=(e,t,i=void 0)=>i===t?Promise.resolve():e.statAsync(t).then(e=>e.isDirectory()?i:void 0,i=>i.code===`ENOENT`?r(e,n(t),t):void 0),i=(e,t,r=void 0)=>{if(r!==t)try{return e.statSync(t).isDirectory()?r:void 0}catch(r){return r.code===`ENOENT`?i(e,n(t),t):void 0}};t.exports={findMade:r,findMadeSync:i}})),bi=H(((e,t)=>{var{dirname:n}=U(`path`),r=(e,t,i)=>{t.recursive=!1;let a=n(e);return a===e?t.mkdirAsync(e,t).catch(e=>{if(e.code!==`EISDIR`)throw e}):t.mkdirAsync(e,t).then(()=>i||e,n=>{if(n.code===`ENOENT`)return r(a,t).then(n=>r(e,t,n));if(n.code!==`EEXIST`&&n.code!==`EROFS`)throw n;return t.statAsync(e).then(e=>{if(e.isDirectory())return i;throw n},()=>{throw n})})},i=(e,t,r)=>{let a=n(e);if(t.recursive=!1,a===e)try{return t.mkdirSync(e,t)}catch(e){if(e.code!==`EISDIR`)throw e;return}try{return t.mkdirSync(e,t),r||e}catch(n){if(n.code===`ENOENT`)return i(e,t,i(a,t,r));if(n.code!==`EEXIST`&&n.code!==`EROFS`)throw n;try{if(!t.statSync(e).isDirectory())throw n}catch{throw n}}};t.exports={mkdirpManual:r,mkdirpManualSync:i}})),xi=H(((e,t)=>{var{dirname:n}=U(`path`),{findMade:r,findMadeSync:i}=yi(),{mkdirpManual:a,mkdirpManualSync:o}=bi();t.exports={mkdirpNative:(e,t)=>(t.recursive=!0,n(e)===e?t.mkdirAsync(e,t):r(t,e).then(n=>t.mkdirAsync(e,t).then(()=>n).catch(n=>{if(n.code===`ENOENT`)return a(e,t);throw n}))),mkdirpNativeSync:(e,t)=>{if(t.recursive=!0,n(e)===e)return t.mkdirSync(e,t);let r=i(t,e);try{return t.mkdirSync(e,t),r}catch(n){if(n.code===`ENOENT`)return o(e,t);throw n}}}})),Si=H(((e,t)=>{var n=U(`fs`),r=(process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version).replace(/^v/,``).split(`.`),i=+r[0]>10||+r[0]==10&&+r[1]>=12;t.exports={useNative:i?e=>e.mkdir===n.mkdir:()=>!1,useNativeSync:i?e=>e.mkdirSync===n.mkdirSync:()=>!1}})),Ci=H(((e,t)=>{var n=_i(),r=vi(),{mkdirpNative:i,mkdirpNativeSync:a}=xi(),{mkdirpManual:o,mkdirpManualSync:s}=bi(),{useNative:c,useNativeSync:l}=Si(),u=(e,t)=>(e=r(e),t=n(t),c(t)?i(e,t):o(e,t));u.sync=(e,t)=>(e=r(e),t=n(t),l(t)?a(e,t):s(e,t)),u.native=(e,t)=>i(r(e),n(t)),u.manual=(e,t)=>o(r(e),n(t)),u.nativeSync=(e,t)=>a(r(e),n(t)),u.manualSync=(e,t)=>s(r(e),n(t)),t.exports=u})),wi=H(((e,t)=>{var n=U(`fs`),r=U(`path`),i=n.lchown?`lchown`:`chown`,a=n.lchownSync?`lchownSync`:`chownSync`,o=n.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),s=(e,t,r)=>{try{return n[a](e,t,r)}catch(e){if(e.code!==`ENOENT`)throw e}},c=(e,t,r)=>{try{return n.chownSync(e,t,r)}catch(e){if(e.code!==`ENOENT`)throw e}},l=o?(e,t,r,i)=>a=>{!a||a.code!==`EISDIR`?i(a):n.chown(e,t,r,i)}:(e,t,n,r)=>r,u=o?(e,t,n)=>{try{return s(e,t,n)}catch(r){if(r.code!==`EISDIR`)throw r;c(e,t,n)}}:(e,t,n)=>s(e,t,n),d=process.version,f=(e,t,r)=>n.readdir(e,t,r),p=(e,t)=>n.readdirSync(e,t);/^v4\./.test(d)&&(f=(e,t,r)=>n.readdir(e,r));var m=(e,t,r,a)=>{n[i](e,t,r,l(e,t,r,e=>{a(e&&e.code!==`ENOENT`?e:null)}))},h=(e,t,i,a,o)=>{if(typeof t==`string`)return n.lstat(r.resolve(e,t),(n,r)=>{if(n)return o(n.code===`ENOENT`?null:n);r.name=t,h(e,r,i,a,o)});t.isDirectory()?g(r.resolve(e,t.name),i,a,n=>{if(n)return o(n);m(r.resolve(e,t.name),i,a,o)}):m(r.resolve(e,t.name),i,a,o)},g=(e,t,n,r)=>{f(e,{withFileTypes:!0},(i,a)=>{if(i){if(i.code===`ENOENT`)return r();if(i.code!==`ENOTDIR`&&i.code!==`ENOTSUP`)return r(i)}if(i||!a.length)return m(e,t,n,r);let o=a.length,s=null,c=i=>{if(!s){if(i)return r(s=i);if(--o===0)return m(e,t,n,r)}};a.forEach(r=>h(e,r,t,n,c))})},_=(e,t,i,a)=>{if(typeof t==`string`)try{let i=n.lstatSync(r.resolve(e,t));i.name=t,t=i}catch(e){if(e.code===`ENOENT`)return;throw e}t.isDirectory()&&v(r.resolve(e,t.name),i,a),u(r.resolve(e,t.name),i,a)},v=(e,t,n)=>{let r;try{r=p(e,{withFileTypes:!0})}catch(r){if(r.code===`ENOENT`)return;if(r.code===`ENOTDIR`||r.code===`ENOTSUP`)return u(e,t,n);throw r}return r&&r.length&&r.forEach(r=>_(e,r,t,n)),u(e,t,n)};t.exports=g,g.sync=v})),Ti=H(((e,t)=>{var n=Ci(),r=U(`fs`),i=U(`path`),a=wi(),o=Xr(),s=class extends Error{constructor(e,t){super(`Cannot extract through symbolic link`),this.path=t,this.symlink=e}get name(){return`SylinkError`}},c=class extends Error{constructor(e,t){super(t+`: Cannot cd into '`+e+`'`),this.path=e,this.code=t}get name(){return`CwdError`}},l=(e,t)=>e.get(o(t)),u=(e,t,n)=>e.set(o(t),n),d=(e,t)=>{r.stat(e,(n,r)=>{(n||!r.isDirectory())&&(n=new c(e,n&&n.code||`ENOTDIR`)),t(n)})};t.exports=(e,t,s)=>{e=o(e);let c=t.umask,p=t.mode|448,m=(p&c)!==0,h=t.uid,g=t.gid,_=typeof h==`number`&&typeof g==`number`&&(h!==t.processUid||g!==t.processGid),v=t.preserve,y=t.unlink,b=t.cache,x=o(t.cwd),S=(t,n)=>{t?s(t):(u(b,e,!0),n&&_?a(n,h,g,e=>S(e)):m?r.chmod(e,p,s):s())};if(b&&l(b,e)===!0)return S();if(e===x)return d(e,S);if(v)return n(e,{mode:p}).then(e=>S(null,e),S);f(x,o(i.relative(x,e)).split(`/`),p,b,y,x,null,S)};var f=(e,t,n,a,s,c,u,d)=>{if(!t.length)return d(null,u);let m=t.shift(),h=o(i.resolve(e+`/`+m));if(l(a,h))return f(h,t,n,a,s,c,u,d);r.mkdir(h,n,p(h,t,n,a,s,c,u,d))},p=(e,t,n,i,a,c,l,u)=>d=>{d?r.lstat(e,(m,h)=>{if(m)m.path=m.path&&o(m.path),u(m);else if(h.isDirectory())f(e,t,n,i,a,c,l,u);else if(a)r.unlink(e,o=>{if(o)return u(o);r.mkdir(e,n,p(e,t,n,i,a,c,l,u))});else if(h.isSymbolicLink())return u(new s(e,e+`/`+t.join(`/`)));else u(d)}):(l||=e,f(e,t,n,i,a,c,l,u))},m=e=>{let t=!1,n=`ENOTDIR`;try{t=r.statSync(e).isDirectory()}catch(e){n=e.code}finally{if(!t)throw new c(e,n)}};t.exports.sync=(e,t)=>{e=o(e);let c=t.umask,d=t.mode|448,f=(d&c)!==0,p=t.uid,h=t.gid,g=typeof p==`number`&&typeof h==`number`&&(p!==t.processUid||h!==t.processGid),_=t.preserve,v=t.unlink,y=t.cache,b=o(t.cwd),x=t=>{u(y,e,!0),t&&g&&a.sync(t,p,h),f&&r.chmodSync(e,d)};if(y&&l(y,e)===!0)return x();if(e===b)return m(b),x();if(_)return x(n.sync(e,d));let S=o(i.relative(b,e)).split(`/`),C=null;for(let e=S.shift(),t=b;e&&(t+=`/`+e);e=S.shift())if(t=o(i.resolve(t)),!l(y,t))try{r.mkdirSync(t,d),C||=t,u(y,t,!0)}catch{let e=r.lstatSync(t);if(e.isDirectory()){u(y,t,!0);continue}if(v){r.unlinkSync(t),r.mkdirSync(t,d),C||=t,u(y,t,!0);continue}if(e.isSymbolicLink())return new s(t,t+`/`+S.join(`/`))}return x(C)}})),Ei=H(((e,t)=>{var n=Object.create(null),{hasOwnProperty:r}=Object.prototype;t.exports=e=>(r.call(n,e)||(n[e]=e.normalize(`NFD`)),n[e])})),Di=H(((e,t)=>{var n=U(`assert`),r=Ei(),i=ni(),{join:a}=U(`path`),o=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`;t.exports=()=>{let e=new Map,t=new Map,s=e=>e.split(`/`).slice(0,-1).reduce((e,t)=>(e.length&&(t=a(e[e.length-1],t)),e.push(t||`/`),e),[]),c=new Set,l=n=>{let r=t.get(n);if(!r)throw Error(`function does not have any path reservations`);return{paths:r.paths.map(t=>e.get(t)),dirs:[...r.dirs].map(t=>e.get(t))}},u=e=>{let{paths:t,dirs:n}=l(e);return t.every(t=>t[0]===e)&&n.every(t=>t[0]instanceof Set&&t[0].has(e))},d=e=>c.has(e)||!u(e)?!1:(c.add(e),e(()=>f(e)),!0),f=r=>{if(!c.has(r))return!1;let{paths:i,dirs:a}=t.get(r),o=new Set;return i.forEach(t=>{let i=e.get(t);n.equal(i[0],r),i.length===1?e.delete(t):(i.shift(),typeof i[0]==`function`?o.add(i[0]):i[0].forEach(e=>o.add(e)))}),a.forEach(t=>{let i=e.get(t);n(i[0]instanceof Set),i[0].size===1&&i.length===1?e.delete(t):i[0].size===1?(i.shift(),o.add(i[0])):i[0].delete(r)}),c.delete(r),o.forEach(e=>d(e)),!0};return{check:u,reserve:(n,c)=>{n=o?[`win32 parallelization disabled`]:n.map(e=>i(a(r(e))).toLowerCase());let l=new Set(n.map(e=>s(e)).reduce((e,t)=>e.concat(t)));return t.set(c,{dirs:l,paths:n}),n.forEach(t=>{let n=e.get(t);n?n.push(c):e.set(t,[c])}),l.forEach(t=>{let n=e.get(t);n?n[n.length-1]instanceof Set?n[n.length-1].add(c):n.push(new Set([c])):e.set(t,[new Set([c])])}),d(c)}}}})),Oi=H(((e,t)=>{var n=(process.env.__FAKE_PLATFORM__||process.platform)===`win32`,{O_CREAT:r,O_TRUNC:i,O_WRONLY:a,UV_FS_O_FILEMAP:o=0}=(global.__FAKE_TESTING_FS__||U(`fs`)).constants,s=n&&!!o,c=524288,l=o|i|r|a;t.exports=s?e=>e<c?l:`w`:()=>`w`})),ki=H(((e,t)=>{var n=U(`assert`),r=fi(),i=U(`fs`),a=di(),o=U(`path`),s=Ti(),c=ii(),l=Di(),u=ai(),d=Xr(),f=ni(),p=Ei(),m=Symbol(`onEntry`),h=Symbol(`checkFs`),g=Symbol(`checkFs2`),_=Symbol(`pruneCache`),v=Symbol(`isReusable`),y=Symbol(`makeFs`),b=Symbol(`file`),x=Symbol(`directory`),S=Symbol(`link`),C=Symbol(`symlink`),w=Symbol(`hardlink`),T=Symbol(`unsupported`),E=Symbol(`checkPath`),D=Symbol(`mkdir`),O=Symbol(`onError`),k=Symbol(`pending`),A=Symbol(`pend`),j=Symbol(`unpend`),M=Symbol(`ended`),N=Symbol(`maybeClose`),P=Symbol(`skip`),F=Symbol(`doChown`),I=Symbol(`uid`),L=Symbol(`gid`),R=Symbol(`checkedCwd`),z=U(`crypto`),B=Oi(),V=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`,H=1024,ee=(e,t)=>{if(!V)return i.unlink(e,t);let n=e+`.DELETE.`+z.randomBytes(16).toString(`hex`);i.rename(e,n,e=>{if(e)return t(e);i.unlink(n,t)})},te=e=>{if(!V)return i.unlinkSync(e);let t=e+`.DELETE.`+z.randomBytes(16).toString(`hex`);i.renameSync(e,t),i.unlinkSync(t)},ne=(e,t,n)=>e===e>>>0?e:t===t>>>0?t:n,re=e=>f(d(p(e))).toLowerCase(),ie=(e,t)=>{t=re(t);for(let n of e.keys()){let r=re(n);(r===t||r.indexOf(t+`/`)===0)&&e.delete(n)}},ae=e=>{for(let t of e.keys())e.delete(t)},oe=class extends r{constructor(e){if(e||={},e.ondone=e=>{this[M]=!0,this[N]()},super(e),this[R]=!1,this.reservations=l(),this.transform=typeof e.transform==`function`?e.transform:null,this.writable=!0,this.readable=!1,this[k]=0,this[M]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid==`number`||typeof e.gid==`number`){if(typeof e.uid!=`number`||typeof e.gid!=`number`)throw TypeError(`cannot set owner without number uid and gid`);if(e.preserveOwner)throw TypeError(`cannot preserve owner in archive and also set owner explicitly`);this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;this.preserveOwner=e.preserveOwner===void 0&&typeof e.uid!=`number`?process.getuid&&process.getuid()===0:!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.maxDepth=typeof e.maxDepth==`number`?e.maxDepth:H,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||V,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=d(o.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask==`number`?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on(`entry`,e=>this[m](e))}warn(e,t,n={}){return(e===`TAR_BAD_ARCHIVE`||e===`TAR_ABORT`)&&(n.recoverable=!1),super.warn(e,t,n)}[N](){this[M]&&this[k]===0&&(this.emit(`prefinish`),this.emit(`finish`),this.emit(`end`))}[E](e){let t=d(e.path),n=t.split(`/`);if(this.strip){if(n.length<this.strip)return!1;if(e.type===`Link`){let t=d(e.linkpath).split(`/`);if(t.length>=this.strip)e.linkpath=t.slice(this.strip).join(`/`);else return!1}n.splice(0,this.strip),e.path=n.join(`/`)}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn(`TAR_ENTRY_ERROR`,`path excessively deep`,{entry:e,path:t,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this.preservePaths){if(n.includes(`..`)||V&&/^[a-z]:\.\.$/i.test(n[0]))return this.warn(`TAR_ENTRY_ERROR`,`path contains '..'`,{entry:e,path:t}),!1;let[r,i]=u(t);r&&(e.path=i,this.warn(`TAR_ENTRY_INFO`,`stripping ${r} from absolute path`,{entry:e,path:t}))}if(e.absolute=o.isAbsolute(e.path)?d(o.resolve(e.path)):d(o.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+`/`)!==0&&e.absolute!==this.cwd)return this.warn(`TAR_ENTRY_ERROR`,`path escaped extraction target`,{entry:e,path:d(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!==`Directory`&&e.type!==`GNUDumpDir`)return!1;if(this.win32){let{root:t}=o.win32.parse(e.absolute);e.absolute=t+c.encode(e.absolute.slice(t.length));let{root:n}=o.win32.parse(e.path);e.path=n+c.encode(e.path.slice(n.length))}return!0}[m](e){if(!this[E](e))return e.resume();switch(n.equal(typeof e.absolute,`string`),e.type){case`Directory`:case`GNUDumpDir`:e.mode&&(e.mode|=448);case`File`:case`OldFile`:case`ContiguousFile`:case`Link`:case`SymbolicLink`:return this[h](e);default:return this[T](e)}}[O](e,t){e.name===`CwdError`?this.emit(`error`,e):(this.warn(`TAR_ENTRY_ERROR`,e,{entry:t}),this[j](),t.resume())}[D](e,t,n){s(d(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},n)}[F](e){return this.forceChown||this.preserveOwner&&(typeof e.uid==`number`&&e.uid!==this.processUid||typeof e.gid==`number`&&e.gid!==this.processGid)||typeof this.uid==`number`&&this.uid!==this.processUid||typeof this.gid==`number`&&this.gid!==this.processGid}[I](e){return ne(this.uid,e.uid,this.processUid)}[L](e){return ne(this.gid,e.gid,this.processGid)}[b](e,t){let n=e.mode&4095||this.fmode,r=new a.WriteStream(e.absolute,{flags:B(e.size),mode:n,autoClose:!1});r.on(`error`,n=>{r.fd&&i.close(r.fd,()=>{}),r.write=()=>!0,this[O](n,e),t()});let o=1,s=n=>{if(n){r.fd&&i.close(r.fd,()=>{}),this[O](n,e),t();return}--o===0&&i.close(r.fd,n=>{n?this[O](n,e):this[j](),t()})};r.on(`finish`,t=>{let n=e.absolute,a=r.fd;if(e.mtime&&!this.noMtime){o++;let t=e.atime||new Date,r=e.mtime;i.futimes(a,t,r,e=>e?i.utimes(n,t,r,t=>s(t&&e)):s())}if(this[F](e)){o++;let t=this[I](e),r=this[L](e);i.fchown(a,t,r,e=>e?i.chown(n,t,r,t=>s(t&&e)):s())}s()});let c=this.transform&&this.transform(e)||e;c!==e&&(c.on(`error`,n=>{this[O](n,e),t()}),e.pipe(c)),c.pipe(r)}[x](e,t){let n=e.mode&4095||this.dmode;this[D](e.absolute,n,n=>{if(n){this[O](n,e),t();return}let r=1,a=n=>{--r===0&&(t(),this[j](),e.resume())};e.mtime&&!this.noMtime&&(r++,i.utimes(e.absolute,e.atime||new Date,e.mtime,a)),this[F](e)&&(r++,i.chown(e.absolute,this[I](e),this[L](e),a)),a()})}[T](e){e.unsupported=!0,this.warn(`TAR_ENTRY_UNSUPPORTED`,`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[C](e,t){this[S](e,e.linkpath,`symlink`,t)}[w](e,t){let n=d(o.resolve(this.cwd,e.linkpath));this[S](e,n,`link`,t)}[A](){this[k]++}[j](){this[k]--,this[N]()}[P](e){this[j](),e.resume()}[v](e,t){return e.type===`File`&&!this.unlink&&t.isFile()&&t.nlink<=1&&!V}[h](e){this[A]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,t=>this[g](e,t))}[_](e){e.type===`SymbolicLink`?ae(this.dirCache):e.type!==`Directory`&&ie(this.dirCache,e.absolute)}[g](e,t){this[_](e);let n=n=>{this[_](e),t(n)},r=()=>{this[D](this.cwd,this.dmode,t=>{if(t){this[O](t,e),n();return}this[R]=!0,a()})},a=()=>{if(e.absolute!==this.cwd){let t=d(o.dirname(e.absolute));if(t!==this.cwd)return this[D](t,this.dmode,t=>{if(t){this[O](t,e),n();return}s()})}s()},s=()=>{i.lstat(e.absolute,(t,r)=>{if(r&&(this.keep||this.newer&&r.mtime>e.mtime)){this[P](e),n();return}if(t||this[v](e,r))return this[y](null,e,n);if(r.isDirectory()){if(e.type===`Directory`){let t=!this.noChmod&&e.mode&&(r.mode&4095)!==e.mode,a=t=>this[y](t,e,n);return t?i.chmod(e.absolute,e.mode,a):a()}if(e.absolute!==this.cwd)return i.rmdir(e.absolute,t=>this[y](t,e,n))}if(e.absolute===this.cwd)return this[y](null,e,n);ee(e.absolute,t=>this[y](t,e,n))})};this[R]?a():r()}[y](e,t,n){if(e){this[O](e,t),n();return}switch(t.type){case`File`:case`OldFile`:case`ContiguousFile`:return this[b](t,n);case`Link`:return this[w](t,n);case`SymbolicLink`:return this[C](t,n);case`Directory`:case`GNUDumpDir`:return this[x](t,n)}}[S](e,t,n,r){i[n](t,e.absolute,t=>{t?this[O](t,e):(this[j](),e.resume()),r()})}},se=e=>{try{return[null,e()]}catch(e){return[e,null]}};oe.Sync=class extends oe{[y](e,t){return super[y](e,t,()=>{})}[h](e){if(this[_](e),!this[R]){let t=this[D](this.cwd,this.dmode);if(t)return this[O](t,e);this[R]=!0}if(e.absolute!==this.cwd){let t=d(o.dirname(e.absolute));if(t!==this.cwd){let n=this[D](t,this.dmode);if(n)return this[O](n,e)}}let[t,n]=se(()=>i.lstatSync(e.absolute));if(n&&(this.keep||this.newer&&n.mtime>e.mtime))return this[P](e);if(t||this[v](e,n))return this[y](null,e);if(n.isDirectory()){if(e.type===`Directory`){let[t]=!this.noChmod&&e.mode&&(n.mode&4095)!==e.mode?se(()=>{i.chmodSync(e.absolute,e.mode)}):[];return this[y](t,e)}let[t]=se(()=>i.rmdirSync(e.absolute));this[y](t,e)}let[r]=e.absolute===this.cwd?[]:se(()=>te(e.absolute));this[y](r,e)}[b](e,t){let n=e.mode&4095||this.fmode,r=n=>{let r;try{i.closeSync(a)}catch(e){r=e}(n||r)&&this[O](n||r,e),t()},a;try{a=i.openSync(e.absolute,B(e.size),n)}catch(e){return r(e)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on(`error`,t=>this[O](t,e)),e.pipe(o)),o.on(`data`,e=>{try{i.writeSync(a,e,0,e.length)}catch(e){r(e)}}),o.on(`end`,t=>{let n=null;if(e.mtime&&!this.noMtime){let t=e.atime||new Date,r=e.mtime;try{i.futimesSync(a,t,r)}catch(a){try{i.utimesSync(e.absolute,t,r)}catch{n=a}}}if(this[F](e)){let t=this[I](e),r=this[L](e);try{i.fchownSync(a,t,r)}catch(a){try{i.chownSync(e.absolute,t,r)}catch{n||=a}}}r(n)})}[x](e,t){let n=e.mode&4095||this.dmode,r=this[D](e.absolute,n);if(r){this[O](r,e),t();return}if(e.mtime&&!this.noMtime)try{i.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[F](e))try{i.chownSync(e.absolute,this[I](e),this[L](e))}catch{}t(),e.resume()}[D](e,t){try{return s.sync(d(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(e){return e}}[S](e,t,n,r){try{i[n+`Sync`](t,e.absolute),r(),e.resume()}catch(t){return this[O](t,e)}}},t.exports=oe})),Ai=H(((e,t)=>{var n=Gr(),r=ki(),i=U(`fs`),a=di(),o=U(`path`),s=ni();t.exports=(e,t,r)=>{typeof e==`function`?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t==`function`&&(r=t,t=null),t=t?Array.from(t):[];let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return t.length&&c(i,t),i.file&&i.sync?l(i):i.file?u(i,r):i.sync?d(i):f(i)};var c=(e,t)=>{let n=new Map(t.map(e=>[s(e),!0])),r=e.filter,i=(e,t)=>{let r=t||o.parse(e).root||`.`,a=e===r?!1:n.has(e)?n.get(e):i(o.dirname(e),r);return n.set(e,a),a};e.filter=r?(e,t)=>r(e,t)&&i(s(e)):e=>i(s(e))},l=e=>{let t=new r.Sync(e),n=e.file,o=i.statSync(n),s=e.maxReadSize||16777216;new a.ReadStreamSync(n,{readSize:s,size:o.size}).pipe(t)},u=(e,t)=>{let n=new r(e),o=e.maxReadSize||16777216,s=e.file,c=new Promise((e,t)=>{n.on(`error`,t),n.on(`close`,e),i.stat(s,(e,r)=>{if(e)t(e);else{let e=new a.ReadStream(s,{readSize:o,size:r.size});e.on(`error`,t),e.pipe(n)}})});return t?c.then(t,t):c},d=e=>new r.Sync(e),f=e=>new r(e)})),ji=H((e=>{e.c=e.create=mi(),e.r=e.replace=hi(),e.t=e.list=pi(),e.u=e.update=gi(),e.x=e.extract=Ai(),e.Pack=ui(),e.Unpack=ki(),e.Parse=fi(),e.ReadEntry=Zr(),e.WriteEntry=si(),e.Header=ei(),e.Pax=ti(),e.types=Qr()})),Mi=H(((e,t)=>{var n=1e3,r=n*60,i=r*60,a=i*24,o=a*7,s=a*365.25;t.exports=function(e,t){t||={};var n=typeof e;if(n===`string`&&e.length>0)return c(e);if(n===`number`&&isFinite(e))return t.long?u(e):l(e);throw Error(`val is not a non-empty string or a valid number. val=`+JSON.stringify(e))};function c(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var c=parseFloat(t[1]);switch((t[2]||`ms`).toLowerCase()){case`years`:case`year`:case`yrs`:case`yr`:case`y`:return c*s;case`weeks`:case`week`:case`w`:return c*o;case`days`:case`day`:case`d`:return c*a;case`hours`:case`hour`:case`hrs`:case`hr`:case`h`:return c*i;case`minutes`:case`minute`:case`mins`:case`min`:case`m`:return c*r;case`seconds`:case`second`:case`secs`:case`sec`:case`s`:return c*n;case`milliseconds`:case`millisecond`:case`msecs`:case`msec`:case`ms`:return c;default:return}}}}function l(e){var t=Math.abs(e);return t>=a?Math.round(e/a)+`d`:t>=i?Math.round(e/i)+`h`:t>=r?Math.round(e/r)+`m`:t>=n?Math.round(e/n)+`s`:e+`ms`}function u(e){var t=Math.abs(e);return t>=a?d(e,t,a,`day`):t>=i?d(e,t,i,`hour`):t>=r?d(e,t,r,`minute`):t>=n?d(e,t,n,`second`):e+` ms`}function d(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+` `+r+(i?`s`:``)}})),Ni=H(((e,t)=>{function n(e){n.debug=n,n.default=n,n.coerce=c,n.disable=o,n.enable=i,n.enabled=s,n.humanize=Mi(),n.destroy=l,Object.keys(e).forEach(t=>{n[t]=e[t]}),n.names=[],n.skips=[],n.formatters={};function t(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return n.colors[Math.abs(t)%n.colors.length]}n.selectColor=t;function n(e){let t,i=null,a,o;function s(...e){if(!s.enabled)return;let r=s,i=Number(new Date);r.diff=i-(t||i),r.prev=t,r.curr=i,t=i,e[0]=n.coerce(e[0]),typeof e[0]!=`string`&&e.unshift(`%O`);let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(t,i)=>{if(t===`%%`)return`%`;a++;let o=n.formatters[i];if(typeof o==`function`){let n=e[a];t=o.call(r,n),e.splice(a,1),a--}return t}),n.formatArgs.call(r,e),(r.log||n.log).apply(r,e)}return s.namespace=e,s.useColors=n.useColors(),s.color=n.selectColor(e),s.extend=r,s.destroy=n.destroy,Object.defineProperty(s,"enabled",{enumerable:!0,configurable:!1,get:()=>i===null?(a!==n.namespaces&&(a=n.namespaces,o=n.enabled(e)),o):i,set:e=>{i=e}}),typeof n.init==`function`&&n.init(s),s}function r(e,t){let r=n(this.namespace+(t===void 0?`:`:t)+e);return r.log=this.log,r}function i(e){n.save(e),n.namespaces=e,n.names=[],n.skips=[];let t=(typeof e==`string`?e:``).trim().replace(/\s+/g,`,`).split(`,`).filter(Boolean);for(let e of t)e[0]===`-`?n.skips.push(e.slice(1)):n.names.push(e)}function a(e,t){let n=0,r=0,i=-1,a=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||t[r]===`*`))t[r]===`*`?(i=r,a=n,r++):(n++,r++);else if(i!==-1)r=i+1,a++,n=a;else return!1;for(;r<t.length&&t[r]===`*`;)r++;return r===t.length}function o(){let e=[...n.names,...n.skips.map(e=>`-`+e)].join(`,`);return n.enable(``),e}function s(e){for(let t of n.skips)if(a(e,t))return!1;for(let t of n.names)if(a(e,t))return!0;return!1}function c(e){return e instanceof Error?e.stack||e.message:e}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=n})),Pi=H(((e,t)=>{e.formatArgs=r,e.save=i,e.load=a,e.useColors=n,e.storage=o(),e.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),e.colors=`#0000CC.#0000FF.#0033CC.#0033FF.#0066CC.#0066FF.#0099CC.#0099FF.#00CC00.#00CC33.#00CC66.#00CC99.#00CCCC.#00CCFF.#3300CC.#3300FF.#3333CC.#3333FF.#3366CC.#3366FF.#3399CC.#3399FF.#33CC00.#33CC33.#33CC66.#33CC99.#33CCCC.#33CCFF.#6600CC.#6600FF.#6633CC.#6633FF.#66CC00.#66CC33.#9900CC.#9900FF.#9933CC.#9933FF.#99CC00.#99CC33.#CC0000.#CC0033.#CC0066.#CC0099.#CC00CC.#CC00FF.#CC3300.#CC3333.#CC3366.#CC3399.#CC33CC.#CC33FF.#CC6600.#CC6633.#CC9900.#CC9933.#CCCC00.#CCCC33.#FF0000.#FF0033.#FF0066.#FF0099.#FF00CC.#FF00FF.#FF3300.#FF3333.#FF3366.#FF3399.#FF33CC.#FF33FF.#FF6600.#FF6633.#FF9900.#FF9933.#FFCC00.#FFCC33`.split(`.`);function n(){if(typeof window<`u`&&window.process&&(window.process.type===`renderer`||window.process.__nwjs))return!0;if(typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<`u`&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<`u`&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<`u`&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<`u`&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(e){if(e[0]=(this.useColors?`%c`:``)+this.namespace+(this.useColors?` %c`:` `)+e[0]+(this.useColors?`%c `:` `)+`+`+t.exports.humanize(this.diff),!this.useColors)return;let n=`color: `+this.color;e.splice(1,0,n,`color: inherit`);let r=0,i=0;e[0].replace(/%[a-zA-Z%]/g,e=>{e!==`%%`&&(r++,e===`%c`&&(i=r))}),e.splice(i,0,n)}e.log=console.debug||console.log||(()=>{});function i(t){try{t?e.storage.setItem(`debug`,t):e.storage.removeItem(`debug`)}catch{}}function a(){let t;try{t=e.storage.getItem(`debug`)||e.storage.getItem(`DEBUG`)}catch{}return!t&&typeof process<`u`&&`env`in process&&(t=process.env.DEBUG),t}function o(){try{return localStorage}catch{}}t.exports=Ni()(e);var{formatters:s}=t.exports;s.j=function(e){try{return JSON.stringify(e)}catch(e){return`[UnexpectedJSONParseError]: `+e.message}}})),Fi=H(((e,t)=>{var n=U(`tty`),r=U(`util`);e.init=u,e.log=s,e.formatArgs=a,e.save=c,e.load=l,e.useColors=i,e.destroy=r.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),e.colors=[6,2,3,4,5,1];try{let t=U(`supports-color`);t&&(t.stderr||t).level>=2&&(e.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}e.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let n=t.substring(6).toLowerCase().replace(/_([a-z])/g,(e,t)=>t.toUpperCase()),r=process.env[t];return r=/^(yes|on|true|enabled)$/i.test(r)?!0:/^(no|off|false|disabled)$/i.test(r)?!1:r===`null`?null:Number(r),e[n]=r,e},{});function i(){return`colors`in e.inspectOpts?!!e.inspectOpts.colors:n.isatty(process.stderr.fd)}function a(e){let{namespace:n,useColors:r}=this;if(r){let r=this.color,i=`\x1B[3`+(r<8?r:`8;5;`+r),a=` ${i};1m${n} \u001B[0m`;e[0]=a+e[0].split(`
32
- `).join(`
33
- `+a),e.push(i+`m+`+t.exports.humanize(this.diff)+`\x1B[0m`)}else e[0]=o()+n+` `+e[0]}function o(){return e.inspectOpts.hideDate?``:new Date().toISOString()+` `}function s(...t){return process.stderr.write(r.formatWithOptions(e.inspectOpts,...t)+`
34
- `)}function c(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function l(){return process.env.DEBUG}function u(t){t.inspectOpts={};let n=Object.keys(e.inspectOpts);for(let r=0;r<n.length;r++)t.inspectOpts[n[r]]=e.inspectOpts[n[r]]}t.exports=Ni()(e);var{formatters:d}=t.exports;d.o=function(e){return this.inspectOpts.colors=this.useColors,r.inspect(e,this.inspectOpts).split(`
35
- `).map(e=>e.trim()).join(` `)},d.O=function(e){return this.inspectOpts.colors=this.useColors,r.inspect(e,this.inspectOpts)}})),Ii=H(((e,t)=>{t.exports=typeof process>`u`||process.type===`renderer`||process.browser===!0||process.__nwjs?Pi():Fi()})),Li=H(((e,t)=>{t.exports=n;function n(){this.pending=0,this.max=1/0,this.listeners=[],this.waiting=[],this.error=null}n.prototype.go=function(e){this.pending<this.max?i(this,e):this.waiting.push(e)},n.prototype.wait=function(e){this.pending===0?e(this.error):this.listeners.push(e)},n.prototype.hold=function(){return r(this)};function r(e){e.pending+=1;var t=!1;return n;function n(n){if(t)throw Error(`callback called twice`);if(t=!0,e.error=e.error||n,--e.pending,e.waiting.length>0&&e.pending<e.max)i(e,e.waiting.shift());else if(e.pending===0){var a=e.listeners;e.listeners=[],a.forEach(r)}}function r(t){t(e.error)}}function i(e,t){t(r(e))}})),Ri=H((e=>{var t=U(`fs`),n=U(`util`),r=U(`stream`),i=r.Readable,a=r.Writable,o=r.PassThrough,s=Li(),c=U(`events`).EventEmitter;e.createFromBuffer=p,e.createFromFd=m,e.BufferSlicer=f,e.FdSlicer=l,n.inherits(l,c);function l(e,t){t||={},c.call(this),this.fd=e,this.pend=new s,this.pend.max=1,this.refCount=0,this.autoClose=!!t.autoClose}l.prototype.read=function(e,n,r,i,a){var o=this;o.pend.go(function(s){t.read(o.fd,e,n,r,i,function(e,t,n){s(),a(e,t,n)})})},l.prototype.write=function(e,n,r,i,a){var o=this;o.pend.go(function(s){t.write(o.fd,e,n,r,i,function(e,t,n){s(),a(e,t,n)})})},l.prototype.createReadStream=function(e){return new u(this,e)},l.prototype.createWriteStream=function(e){return new d(this,e)},l.prototype.ref=function(){this.refCount+=1},l.prototype.unref=function(){var e=this;if(--e.refCount,e.refCount>0)return;if(e.refCount<0)throw Error(`invalid unref`);e.autoClose&&t.close(e.fd,n);function n(t){t?e.emit(`error`,t):e.emit(`close`)}},n.inherits(u,i);function u(e,t){t||={},i.call(this,t),this.context=e,this.context.ref(),this.start=t.start||0,this.endOffset=t.end,this.pos=this.start,this.destroyed=!1}u.prototype._read=function(e){var n=this;if(!n.destroyed){var r=Math.min(n._readableState.highWaterMark,e);if(n.endOffset!=null&&(r=Math.min(r,n.endOffset-n.pos)),r<=0){n.destroyed=!0,n.push(null),n.context.unref();return}n.context.pend.go(function(e){if(n.destroyed)return e();var i=new Buffer(r);t.read(n.context.fd,i,0,r,n.pos,function(t,r){t?n.destroy(t):r===0?(n.destroyed=!0,n.push(null),n.context.unref()):(n.pos+=r,n.push(i.slice(0,r))),e()})})}},u.prototype.destroy=function(e){this.destroyed||(e||=Error(`stream destroyed`),this.destroyed=!0,this.emit(`error`,e),this.context.unref())},n.inherits(d,a);function d(e,t){t||={},a.call(this,t),this.context=e,this.context.ref(),this.start=t.start||0,this.endOffset=t.end==null?1/0:+t.end,this.bytesWritten=0,this.pos=this.start,this.destroyed=!1,this.on(`finish`,this.destroy.bind(this))}d.prototype._write=function(e,n,r){var i=this;if(!i.destroyed){if(i.pos+e.length>i.endOffset){var a=Error(`maximum file length exceeded`);a.code=`ETOOBIG`,i.destroy(),r(a);return}i.context.pend.go(function(n){if(i.destroyed)return n();t.write(i.context.fd,e,0,e.length,i.pos,function(e,t){e?(i.destroy(),n(),r(e)):(i.bytesWritten+=t,i.pos+=t,i.emit(`progress`),n(),r())})})}},d.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.context.unref())},n.inherits(f,c);function f(e,t){c.call(this),t||={},this.refCount=0,this.buffer=e,this.maxChunkSize=t.maxChunkSize||2**53-1}f.prototype.read=function(e,t,n,r,i){var a=r+n,o=a-this.buffer.length,s=o>0?o:n;this.buffer.copy(e,t,r,a),setImmediate(function(){i(null,s)})},f.prototype.write=function(e,t,n,r,i){e.copy(this.buffer,r,t,t+n),setImmediate(function(){i(null,n,e)})},f.prototype.createReadStream=function(e){e||={};var t=new o(e);t.destroyed=!1,t.start=e.start||0,t.endOffset=e.end,t.pos=t.endOffset||this.buffer.length;for(var n=this.buffer.slice(t.start,t.pos),r=0;;){var i=r+this.maxChunkSize;if(i>=n.length){r<n.length&&t.write(n.slice(r,n.length));break}t.write(n.slice(r,i)),r=i}return t.end(),t.destroy=function(){t.destroyed=!0},t},f.prototype.createWriteStream=function(e){var t=this;e||={};var n=new a(e);return n.start=e.start||0,n.endOffset=e.end==null?this.buffer.length:+e.end,n.bytesWritten=0,n.pos=n.start,n.destroyed=!1,n._write=function(e,r,i){if(!n.destroyed){var a=n.pos+e.length;if(a>n.endOffset){var o=Error(`maximum file length exceeded`);o.code=`ETOOBIG`,n.destroyed=!0,i(o);return}e.copy(t.buffer,n.pos,0,e.length),n.bytesWritten+=e.length,n.pos=a,n.emit(`progress`),i()}},n.destroy=function(){n.destroyed=!0},n},f.prototype.ref=function(){this.refCount+=1},f.prototype.unref=function(){if(--this.refCount,this.refCount<0)throw Error(`invalid unref`)};function p(e,t){return new f(e,t)}function m(e,t){return new l(e,t)}})),zi=H(((e,t)=>{var n=U(`buffer`).Buffer,r=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];typeof Int32Array<`u`&&(r=new Int32Array(r));function i(e){if(n.isBuffer(e))return e;var t=typeof n.alloc==`function`&&typeof n.from==`function`;if(typeof e==`number`)return t?n.alloc(e):new n(e);if(typeof e==`string`)return t?n.from(e):new n(e);throw Error(`input must be buffer, number, or string, received `+typeof e)}function a(e){var t=i(4);return t.writeInt32BE(e,0),t}function o(e,t){e=i(e),n.isBuffer(t)&&(t=t.readUInt32BE(0));for(var a=~~t^-1,o=0;o<e.length;o++)a=r[(a^e[o])&255]^a>>>8;return a^-1}function s(){return a(o.apply(null,arguments))}s.signed=function(){return o.apply(null,arguments)},s.unsigned=function(){return o.apply(null,arguments)>>>0},t.exports=s})),Bi=H((e=>{var t=U(`fs`),n=U(`zlib`),r=Ri(),i=zi(),a=U(`util`),o=U(`events`).EventEmitter,s=U(`stream`).Transform,c=U(`stream`).PassThrough,l=U(`stream`).Writable;e.open=u,e.fromFd=d,e.fromBuffer=f,e.fromRandomAccessReader=p,e.dosDateTimeToDate=v,e.validateFileName=y,e.ZipFile=m,e.Entry=_,e.RandomAccessReader=S;function u(e,n,r){typeof n==`function`&&(r=n,n=null),n??={},n.autoClose??(n.autoClose=!0),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0),n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),r??=O,t.open(e,`r`,function(e,i){if(e)return r(e);d(i,n,function(e,n){e&&t.close(i,O),r(e,n)})})}function d(e,n,i){typeof n==`function`&&(i=n,n=null),n??={},n.autoClose??(n.autoClose=!1),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0),n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),i??=O,t.fstat(e,function(t,a){if(t)return i(t);p(r.createFromFd(e,{autoClose:!0}),a.size,n,i)})}function f(e,t,n){typeof t==`function`&&(n=t,t=null),t??={},t.autoClose=!1,t.lazyEntries??(t.lazyEntries=!1),t.decodeStrings??(t.decodeStrings=!0),t.validateEntrySizes??(t.validateEntrySizes=!0),t.strictFileNames??(t.strictFileNames=!1),p(r.createFromBuffer(e,{maxChunkSize:65536}),e.length,t,n)}function p(e,t,n,r){typeof n==`function`&&(r=n,n=null),n??={},n.autoClose??(n.autoClose=!0),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0);var i=!!n.decodeStrings;if(n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),r??=O,typeof t!=`number`)throw Error(`expected totalSize parameter to be a number`);if(t>2**53-1)throw Error(`zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.`);e.ref();var a=22,o=Math.min(a+65535,t),s=D(o),c=t-s.length;b(e,s,0,o,c,function(l){if(l)return r(l);for(var u=o-a;u>=0;--u)if(s.readUInt32LE(u)===101010256){var d=s.slice(u),f=d.readUInt16LE(4);if(f!==0)return r(Error(`multi-disk zip files are not supported: found disk number: `+f));var p=d.readUInt16LE(10),h=d.readUInt32LE(16),g=d.readUInt16LE(20),_=d.length-a;if(g!==_)return r(Error(`invalid comment length. expected: `+_+`. found: `+g));var v=i?T(d,22,d.length,!1):d.slice(22);if(p!==65535&&h!==4294967295)return r(null,new m(e,h,t,p,v,n.autoClose,n.lazyEntries,i,n.validateEntrySizes,n.strictFileNames));var y=D(20),x=c+u-y.length;b(e,y,0,y.length,x,function(a){if(a)return r(a);if(y.readUInt32LE(0)!==117853008)return r(Error(`invalid zip64 end of central directory locator signature`));var o=E(y,8),s=D(56);b(e,s,0,s.length,o,function(a){return a?r(a):s.readUInt32LE(0)===101075792?(p=E(s,32),h=E(s,48),r(null,new m(e,h,t,p,v,n.autoClose,n.lazyEntries,i,n.validateEntrySizes,n.strictFileNames))):r(Error(`invalid zip64 end of central directory record signature`))})});return}r(Error(`end of central directory record signature not found`))})}a.inherits(m,o);function m(e,t,n,r,i,a,s,c,l,u){var d=this;o.call(d),d.reader=e,d.reader.on(`error`,function(e){g(d,e)}),d.reader.once(`close`,function(){d.emit(`close`)}),d.readEntryCursor=t,d.fileSize=n,d.entryCount=r,d.comment=i,d.entriesRead=0,d.autoClose=!!a,d.lazyEntries=!!s,d.decodeStrings=!!c,d.validateEntrySizes=!!l,d.strictFileNames=!!u,d.isOpen=!0,d.emittedError=!1,d.lazyEntries||d._readEntry()}m.prototype.close=function(){this.isOpen&&(this.isOpen=!1,this.reader.unref())};function h(e,t){e.autoClose&&e.close(),g(e,t)}function g(e,t){e.emittedError||(e.emittedError=!0,e.emit(`error`,t))}m.prototype.readEntry=function(){if(!this.lazyEntries)throw Error(`readEntry() called without lazyEntries:true`);this._readEntry()},m.prototype._readEntry=function(){var e=this;if(e.entryCount===e.entriesRead){setImmediate(function(){e.autoClose&&e.close(),!e.emittedError&&e.emit(`end`)});return}if(!e.emittedError){var t=D(46);b(e.reader,t,0,t.length,e.readEntryCursor,function(n){if(n)return h(e,n);if(!e.emittedError){var r=new _,a=t.readUInt32LE(0);if(a!==33639248)return h(e,Error(`invalid central directory file header signature: 0x`+a.toString(16)));if(r.versionMadeBy=t.readUInt16LE(4),r.versionNeededToExtract=t.readUInt16LE(6),r.generalPurposeBitFlag=t.readUInt16LE(8),r.compressionMethod=t.readUInt16LE(10),r.lastModFileTime=t.readUInt16LE(12),r.lastModFileDate=t.readUInt16LE(14),r.crc32=t.readUInt32LE(16),r.compressedSize=t.readUInt32LE(20),r.uncompressedSize=t.readUInt32LE(24),r.fileNameLength=t.readUInt16LE(28),r.extraFieldLength=t.readUInt16LE(30),r.fileCommentLength=t.readUInt16LE(32),r.internalFileAttributes=t.readUInt16LE(36),r.externalFileAttributes=t.readUInt32LE(38),r.relativeOffsetOfLocalHeader=t.readUInt32LE(42),r.generalPurposeBitFlag&64)return h(e,Error(`strong encryption is not supported`));e.readEntryCursor+=46,t=D(r.fileNameLength+r.extraFieldLength+r.fileCommentLength),b(e.reader,t,0,t.length,e.readEntryCursor,function(n){if(n)return h(e,n);if(!e.emittedError){var a=!!(r.generalPurposeBitFlag&2048);r.fileName=e.decodeStrings?T(t,0,r.fileNameLength,a):t.slice(0,r.fileNameLength);var o=r.fileNameLength+r.extraFieldLength,s=t.slice(r.fileNameLength,o);r.extraFields=[];for(var c=0;c<s.length-3;){var l=s.readUInt16LE(c+0),u=s.readUInt16LE(c+2),d=c+4,f=d+u;if(f>s.length)return h(e,Error(`extra field length exceeds extra field buffer size`));var p=D(u);s.copy(p,0,d,f),r.extraFields.push({id:l,data:p}),c=f}if(r.fileComment=e.decodeStrings?T(t,o,o+r.fileCommentLength,a):t.slice(o,o+r.fileCommentLength),r.comment=r.fileComment,e.readEntryCursor+=t.length,e.entriesRead+=1,r.uncompressedSize===4294967295||r.compressedSize===4294967295||r.relativeOffsetOfLocalHeader===4294967295){for(var m=null,c=0;c<r.extraFields.length;c++){var g=r.extraFields[c];if(g.id===1){m=g.data;break}}if(m==null)return h(e,Error(`expected zip64 extended information extra field`));var _=0;if(r.uncompressedSize===4294967295){if(_+8>m.length)return h(e,Error(`zip64 extended information extra field does not include uncompressed size`));r.uncompressedSize=E(m,_),_+=8}if(r.compressedSize===4294967295){if(_+8>m.length)return h(e,Error(`zip64 extended information extra field does not include compressed size`));r.compressedSize=E(m,_),_+=8}if(r.relativeOffsetOfLocalHeader===4294967295){if(_+8>m.length)return h(e,Error(`zip64 extended information extra field does not include relative header offset`));r.relativeOffsetOfLocalHeader=E(m,_),_+=8}}if(e.decodeStrings)for(var c=0;c<r.extraFields.length;c++){var g=r.extraFields[c];if(g.id===28789){if(g.data.length<6||g.data.readUInt8(0)!==1)continue;var v=g.data.readUInt32LE(1);if(i.unsigned(t.slice(0,r.fileNameLength))!==v)continue;r.fileName=T(g.data,5,g.data.length,!0);break}}if(e.validateEntrySizes&&r.compressionMethod===0){var b=r.uncompressedSize;if(r.isEncrypted()&&(b+=12),r.compressedSize!==b){var x=`compressed/uncompressed size mismatch for stored file: `+r.compressedSize+` != `+r.uncompressedSize;return h(e,Error(x))}}if(e.decodeStrings){e.strictFileNames||(r.fileName=r.fileName.replace(/\\/g,`/`));var S=y(r.fileName,e.validateFileNameOptions);if(S!=null)return h(e,Error(S))}e.emit(`entry`,r),e.lazyEntries||e._readEntry()}})}})}},m.prototype.openReadStream=function(e,t,r){var i=this,a=0,o=e.compressedSize;if(r==null)r=t,t={};else{if(t.decrypt!=null){if(!e.isEncrypted())throw Error(`options.decrypt can only be specified for encrypted entries`);if(t.decrypt!==!1)throw Error(`invalid options.decrypt value: `+t.decrypt);if(e.isCompressed()&&t.decompress!==!1)throw Error(`entry is encrypted and compressed, and options.decompress !== false`)}if(t.decompress!=null){if(!e.isCompressed())throw Error(`options.decompress can only be specified for compressed entries`);if(t.decompress!==!1&&t.decompress!==!0)throw Error(`invalid options.decompress value: `+t.decompress)}if(t.start!=null||t.end!=null){if(e.isCompressed()&&t.decompress!==!1)throw Error(`start/end range not allowed for compressed entry without options.decompress === false`);if(e.isEncrypted()&&t.decrypt!==!1)throw Error(`start/end range not allowed for encrypted entry without options.decrypt === false`)}if(t.start!=null){if(a=t.start,a<0)throw Error(`options.start < 0`);if(a>e.compressedSize)throw Error(`options.start > entry.compressedSize`)}if(t.end!=null){if(o=t.end,o<0)throw Error(`options.end < 0`);if(o>e.compressedSize)throw Error(`options.end > entry.compressedSize`);if(o<a)throw Error(`options.end < options.start`)}}if(!i.isOpen)return r(Error(`closed`));if(e.isEncrypted()&&t.decrypt!==!1)return r(Error(`entry is encrypted, and options.decrypt !== false`));i.reader.ref();var s=D(30);b(i.reader,s,0,s.length,e.relativeOffsetOfLocalHeader,function(c){try{if(c)return r(c);var l=s.readUInt32LE(0);if(l!==67324752)return r(Error(`invalid local file header signature: 0x`+l.toString(16)));var u=s.readUInt16LE(26),d=s.readUInt16LE(28),f=e.relativeOffsetOfLocalHeader+s.length+u+d,p;if(e.compressionMethod===0)p=!1;else if(e.compressionMethod===8)p=t.decompress==null||t.decompress;else return r(Error(`unsupported compression method: `+e.compressionMethod));var m=f,h=m+e.compressedSize;if(e.compressedSize!==0&&h>i.fileSize)return r(Error(`file data overflows file bounds: `+m+` + `+e.compressedSize+` > `+i.fileSize));var g=i.reader.createReadStream({start:m+a,end:m+o}),_=g;if(p){var v=!1,y=n.createInflateRaw();g.on(`error`,function(e){setImmediate(function(){v||y.emit(`error`,e)})}),g.pipe(y),i.validateEntrySizes?(_=new x(e.uncompressedSize),y.on(`error`,function(e){setImmediate(function(){v||_.emit(`error`,e)})}),y.pipe(_)):_=y,_.destroy=function(){v=!0,y!==_&&y.unpipe(_),g.unpipe(y),g.destroy()}}r(null,_)}finally{i.reader.unref()}})};function _(){}_.prototype.getLastModDate=function(){return v(this.lastModFileDate,this.lastModFileTime)},_.prototype.isEncrypted=function(){return!!(this.generalPurposeBitFlag&1)},_.prototype.isCompressed=function(){return this.compressionMethod===8};function v(e,t){var n=e&31,r=(e>>5&15)-1,i=(e>>9&127)+1980,a=0,o=(t&31)*2,s=t>>5&63,c=t>>11&31;return new Date(i,r,n,c,s,o,a)}function y(e){return e.indexOf(`\\`)===-1?/^[a-zA-Z]:/.test(e)||/^\//.test(e)?`absolute path: `+e:e.split(`/`).indexOf(`..`)===-1?null:`invalid relative path: `+e:`invalid characters in fileName: `+e}function b(e,t,n,r,i,a){if(r===0)return setImmediate(function(){a(null,D(0))});e.read(t,n,r,i,function(e,t){if(e)return a(e);if(t<r)return a(Error(`unexpected EOF`));a()})}a.inherits(x,s);function x(e){s.call(this),this.actualByteCount=0,this.expectedByteCount=e}x.prototype._transform=function(e,t,n){if(this.actualByteCount+=e.length,this.actualByteCount>this.expectedByteCount){var r=`too many bytes in the stream. expected `+this.expectedByteCount+`. got at least `+this.actualByteCount;return n(Error(r))}n(null,e)},x.prototype._flush=function(e){if(this.actualByteCount<this.expectedByteCount){var t=`not enough bytes in the stream. expected `+this.expectedByteCount+`. got only `+this.actualByteCount;return e(Error(t))}e()},a.inherits(S,o);function S(){o.call(this),this.refCount=0}S.prototype.ref=function(){this.refCount+=1},S.prototype.unref=function(){var e=this;if(--e.refCount,e.refCount>0)return;if(e.refCount<0)throw Error(`invalid unref`);e.close(t);function t(t){if(t)return e.emit(`error`,t);e.emit(`close`)}},S.prototype.createReadStream=function(e){var t=e.start,n=e.end;if(t===n){var r=new c;return setImmediate(function(){r.end()}),r}var i=this._readStreamForRange(t,n),a=!1,o=new C(this);i.on(`error`,function(e){setImmediate(function(){a||o.emit(`error`,e)})}),o.destroy=function(){i.unpipe(o),o.unref(),i.destroy()};var s=new x(n-t);return o.on(`error`,function(e){setImmediate(function(){a||s.emit(`error`,e)})}),s.destroy=function(){a=!0,o.unpipe(s),o.destroy()},i.pipe(o).pipe(s)},S.prototype._readStreamForRange=function(e,t){throw Error(`not implemented`)},S.prototype.read=function(e,t,n,r,i){var a=this.createReadStream({start:r,end:r+n}),o=new l,s=0;o._write=function(n,r,i){n.copy(e,t+s,0,n.length),s+=n.length,i()},o.on(`finish`,i),a.on(`error`,function(e){i(e)}),a.pipe(o)},S.prototype.close=function(e){setImmediate(e)},a.inherits(C,c);function C(e){c.call(this),this.context=e,this.context.ref(),this.unreffedYet=!1}C.prototype._flush=function(e){this.unref(),e()},C.prototype.unref=function(e){this.unreffedYet||(this.unreffedYet=!0,this.context.unref())};var w=`\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0`;function T(e,t,n,r){if(r)return e.toString(`utf8`,t,n);for(var i=``,a=t;a<n;a++)i+=w[e[a]];return i}function E(e,t){var n=e.readUInt32LE(t);return e.readUInt32LE(t+4)*4294967296+n}var D=typeof Buffer.allocUnsafe==`function`?function(e){return Buffer.allocUnsafe(e)}:function(e){return new Buffer(e)};function O(e){if(e)throw e}})),Vi=H(((e,t)=>{var n=Ii()(`extract-zip`),{createWriteStream:r,promises:i}=U(`fs`),a=$n(),o=U(`path`),{promisify:s}=U(`util`),c=U(`stream`),l=s(Bi().open),u=s(c.pipeline),d=class{constructor(e,t){this.zipPath=e,this.opts=t}async extract(){return n(`opening`,this.zipPath,`with opts`,this.opts),this.zipfile=await l(this.zipPath,{lazyEntries:!0}),this.canceled=!1,new Promise((e,t)=>{this.zipfile.on(`error`,e=>{this.canceled=!0,t(e)}),this.zipfile.readEntry(),this.zipfile.on(`close`,()=>{this.canceled||(n(`zip extraction complete`),e())}),this.zipfile.on(`entry`,async e=>{if(this.canceled){n(`skipping entry`,e.fileName,{cancelled:this.canceled});return}if(n(`zipfile entry`,e.fileName),e.fileName.startsWith(`__MACOSX/`)){this.zipfile.readEntry();return}let r=o.dirname(o.join(this.opts.dir,e.fileName));try{await i.mkdir(r,{recursive:!0});let t=await i.realpath(r);if(o.relative(this.opts.dir,t).split(o.sep).includes(`..`))throw Error(`Out of bound path "${t}" found while processing file ${e.fileName}`);await this.extractEntry(e),n(`finished processing`,e.fileName),this.zipfile.readEntry()}catch(e){this.canceled=!0,this.zipfile.close(),t(e)}})})}async extractEntry(e){if(this.canceled){n(`skipping entry extraction`,e.fileName,{cancelled:this.canceled});return}this.opts.onEntry&&this.opts.onEntry(e,this.zipfile);let t=o.join(this.opts.dir,e.fileName),c=e.externalFileAttributes>>16&65535,l=61440,d=(c&l)==40960,f=(c&l)==16384;!f&&e.fileName.endsWith(`/`)&&(f=!0);let p=e.versionMadeBy>>8;f||=p===0&&e.externalFileAttributes===16,n(`extracting entry`,{filename:e.fileName,isDir:f,isSymlink:d});let m=this.getExtractedMode(c,f)&511,h=f?t:o.dirname(t),g={recursive:!0};if(f&&(g.mode=m),n(`mkdir`,{dir:h,...g}),await i.mkdir(h,g),f)return;n(`opening read stream`,t);let _=await s(this.zipfile.openReadStream.bind(this.zipfile))(e);if(d){let e=await a(_);n(`creating symlink`,e,t),await i.symlink(e,t)}else await u(_,r(t,{mode:m}))}getExtractedMode(e,t){let n=e;return n===0&&(t?(this.opts.defaultDirMode&&(n=parseInt(this.opts.defaultDirMode,10)),n||=493):(this.opts.defaultFileMode&&(n=parseInt(this.opts.defaultFileMode,10)),n||=420)),n}};t.exports=async function(e,t){if(n(`creating target directory`,t.dir),!o.isAbsolute(t.dir))throw Error(`Target directory is expected to be absolute`);return await i.mkdir(t.dir,{recursive:!0}),t.dir=await i.realpath(t.dir),new d(e,t).extract()}})),Hi=te(Wr(),1),Ui=te(ji(),1),Wi=te(Vi(),1),Gi={18:{version:`v18.20.8`},19:{version:`v19.9.0`},20:{version:`v20.20.2`},21:{version:`v21.7.3`},22:{version:`v22.23.2`},23:{version:`v23.11.1`},24:{version:`v24.21.0`},25:{version:`v25.9.0`},26:{version:`v26.8.2`}},Ki=process.platform===`win32`;function qi(e){if(typeof e!=`string`||!/^\d+(\.\d+){0,2}$/.test(e))throw Error(`nodeVersion 应为 "18" | "18.1" | "18.1.5" 形式(1~3 段数字),收到:${e}`);let t=e.split(`.`).map(Number),n=Object.entries(Gi),r=n.find(([,e])=>{let n=e.version.replace(/^v/,``).split(`.`).map(Number);return t.every((e,t)=>n[t]===e)});if(!r)throw Error(`ezn 内置版本表无匹配 Node ${e} 的版本(当前内置:${n.map(([e,t])=>`${e}=${t.version}`).join(`、`)})。可改传主版本号(如 18),或经 scripts/update-node-assets.mjs 更新版本表。`);return r[1].version}function Ji(e){return Ki?S(e,`node.exe`):S(e,`bin`,`node`)}function Yi(){return`${process.platform}-${process.arch}`}function Xi(e){let t=w(e);return o(Ji(t))?t:null}function Zi(e,t){return[S(e,`node_modules`,`npm`,`bin`,`${t}-cli.js`),S(e,`lib`,`node_modules`,`npm`,`bin`,`${t}-cli.js`)]}function Qi(e,t){let n=Zi(e,t),r=n.find(e=>o(e));if(!r)throw Error([`未找到自带 ${t}(该目录可能不是完整的 Node 运行时)。已查找以下位置:`,...n.map(e=>` - ${e}`),`可尝试的恢复方式:`,` 1. 托管运行时(<appDir>/node):删除该目录后重新启动服务,由引导重新落位完整运行时;`,` 2. 手工安装的平铺运行时:请确认发行包完整(含自带 npm/npx),必要时重新解压放置。`].join(`
36
- `));return r}function $i(e){return Xi(e)!==null&&Zi(e,`npm`).some(e=>o(e))}var ea=[`.cmd`,`.bat`,`.exe`];function ta(e,t){if(t.includes(`/`)||t.includes(`\\`))return null;let n=Ki?ea.map(n=>S(e,`${t}${n}`)):[S(e,t)];return n.push(S(e,`node_modules`,`.bin`,t)),n.find(e=>o(e))??null}function na(e){return(Ki?[e,S(e,`node_modules`,`.bin`)]:[S(e,`bin`),e]).join(b)+b}var ra={"win32-x64":{dir:`win-x64`,ext:`zip`},"win32-arm64":{dir:`win-arm64`,ext:`zip`},"darwin-arm64":{dir:`darwin-arm64`,ext:`tar.gz`},"darwin-x64":{dir:`darwin-x64`,ext:`tar.gz`},"linux-x64":{dir:`linux-x64`,ext:`tar.gz`},"linux-arm64":{dir:`linux-arm64`,ext:`tar.gz`}},ia=process.platform===`win32`?[[`node_modules`]]:[[`lib`,`node_modules`]];async function aa(e,t,n){let r=`node-${e}-${n.platform.dir}.${n.platform.ext}`,i=S(t,`node.download.tmp`),o=S(t,`node.extract.tmp`),c=()=>{p(i,{force:!0}),p(o,{recursive:!0,force:!0})},l=[];n.mirror&&l.push(n.mirror.replace(/\/+$/,``)),l.push(`https://registry.npmmirror.com/-/binary/node`,`https://nodejs.org/dist`),p(i,{force:!0}),p(o,{recursive:!0,force:!0}),s(o,{recursive:!0});for(let t=0;t<l.length;t++){let u=l[t],f=`${u}/${e}/${r}`;console.error(`[ezn] (${t+1}/${l.length}) 正在下载 ${r}\n[ezn] 来源:${u}`);try{let e=20971520,t=Hi.default.stream(f,{decompress:!1,timeout:{connect:3e4,response:6e4,socket:6e4}});t.on(`downloadProgress`,t=>{t.transferred>=e&&(console.error(`[ezn] 已下载 ${Math.round(t.transferred/1048576)} MB ...`),e+=20971520)}),await N(t,a(i)),console.error(`[ezn] 下载完成,正在解压 ...`),n.platform.ext===`zip`?await(0,Wi.default)(i,{dir:o}):await Ui.x({file:i,cwd:o});let r=d(o),s=r.length===1&&r[0]!==void 0&&m(S(o,r[0])).isDirectory()?S(o,r[0]):o;return p(i,{force:!0}),{src:s,cleanup:c}}catch(e){console.error(`[ezn] 该源失败:${e instanceof Error?e.message:String(e)}`),p(i,{force:!0}),p(o,{recursive:!0,force:!0}),s(o,{recursive:!0})}}p(o,{recursive:!0,force:!0});let u=l[l.length-1]??`https://nodejs.org/dist`;throw Error([`Node 运行时下载失败:所有镜像源均不可用。`,`可尝试的恢复方式:`,` 1. 检查网络后重试;`,` 2. 在 package.json 里配置私有镜像(目录结构需同 nodejs.org/dist)后重试,例如:`,` "ezn": { "node": "24", "mirror": "https://your-mirror.example/node-dist" }`,` 3. 手动放置:下载 ${r}(见 ${u}/${e}/),`,` 解压到 ${n.target}(如带顶层版本目录请把其内容上移一层),`,` 确保可执行文件位于 ${n.nodePath}。`].join(`
37
- `))}function oa(e,t,n,r,i){if(r.some(e=>n.length<=e.length&&n.every((t,n)=>e[n]===t))&&o(t)&&m(e).isDirectory()&&m(t).isDirectory()){for(let a of d(e))oa(S(e,a),S(t,a),[...n,a],r,i);p(e,{recursive:!0,force:!0});return}if(o(t)){let e=`${t}.old-${i}`;f(t,e),console.error(`[ezn] 同名项已备份:${e}`)}f(e,t)}async function sa(e,t,n={}){let r=(e,t)=>{let n=Date.now();for(let r of d(e))oa(S(e,r),S(t,r),[r],ia,n)},i=w(e),a=qi(t),o=Ji(i),c=Yi(),l=ra[c];if(!l)throw Error(`暂不支持的平台:${c}。请手动放置 Node ${a} 到 ${i},确保可执行文件位于 ${o}(Windows 为 node.exe,Unix 为 bin/node)。`);s(i,{recursive:!0});let{src:u,cleanup:f}=await aa(a,x(i),{target:i,nodePath:o,platform:l,mirror:n.mirror??null});try{r(u,i)}finally{f()}console.error(`[ezn] Node ${a} 已就绪:${i}`)}function ca(e){return e!==``&&!/[\s"^&|<>()%!]/.test(e)?e:`"${e.replace(/"/g,`\\"`)}"`}function la(e,t,n){return n?[[e,...t].map(ca).join(` `),[]]:[e,[...t]]}function ua(e,t,n={}){return new Promise((r,i)=>{let a=j(e,t,{windowsHide:!0,...n}),o=null,s=null;a.stdout&&(o=``,a.stdout.on(`data`,e=>o=(o??``)+e)),a.stderr&&(s=``,a.stderr.on(`data`,e=>s=(s??``)+e)),a.on(`error`,i),a.on(`close`,(e,t)=>r({status:e,signal:t,stdout:o,stderr:s}))})}var da=process.platform===`win32`;function fa(e){return typeof e==`string`?e.trim().split(/\s+/).filter(e=>e.length>0):[...e]}var pa=class e{constructor(e,t){this.path=e,this.rt=t}get npmCliPath(){return Qi(this.rt,`npm`)}get npxCliPath(){return Qi(this.rt,`npx`)}get major(){return e.probeMajor(this.path)}resolveArgs(e,t){let n=fa(e);if(n.length===0)throw Error(`命令为空`);let r=n[0],i=n.slice(1);return r===`node`?i:r===`npm`?[this.npmCliPath,...i]:r===`npx`?[this.npxCliPath,...i]:t===null?n:[t,...n]}resolveExec(e,t){let n=fa(e);if(n.length===0)throw Error(`命令为空`);let r=n[0],i=n.slice(1),a=this.childEnv(t.env);if(r===`node`)return{file:this.path,argv:i,shell:!1,env:a};if(r===`npm`)return{file:this.path,argv:[this.npmCliPath,...i],shell:!1,env:a};if(r===`npx`)return{file:this.path,argv:[this.npxCliPath,...i],shell:!1,env:a};let o=ta(this.rt,r);if(o!==null){let e=da&&/\.(cmd|bat)$/i.test(o),[t,n]=la(o,i,e);return{file:t,argv:n,shell:e,env:a}}return{file:this.path,argv:n,shell:!1,env:a}}childEnv(e){let t=e??process.env;return{...t,PATH:na(this.rt)+(t.PATH??t.Path??``)}}execSync(e,t){let{file:n,argv:r,shell:i,env:a}=this.resolveExec(e,t??{});return M(n,r,{windowsHide:!0,encoding:`utf8`,...t,shell:i,env:a})}exec(e,t){let{file:n,argv:r,shell:i,env:a}=this.resolveExec(e,t??{});return ua(n,r,{...t,shell:i,env:a})}npmSync(e,t){return M(this.path,this.resolveArgs(e,this.npmCliPath),{windowsHide:!0,encoding:`utf8`,...t})}npm(e,t){return ua(this.path,this.resolveArgs(e,this.npmCliPath),t)}npxSync(e,t){return M(this.path,this.resolveArgs(e,this.npxCliPath),{windowsHide:!0,encoding:`utf8`,...t})}npx(e,t){return ua(this.path,this.resolveArgs(e,this.npxCliPath),t)}static probeMajor(e){try{let t=A(e,[`-v`],{encoding:`utf8`,timeout:15e3,windowsHide:!0}),n=String(t).trim().match(/^v(\d+)\./);return n?Number(n[1]):null}catch{return null}}static async ensure(t,n,r={}){let i=w(t),a=qi(n),s=Number(a.replace(/^v/,``).split(`.`)[0]),c=S(i,`node`),l=Ji(c),u=r.nodeBin??null;if(u){if(!o(u))throw Error(`ezn.nodeBin 指定的 Node 不存在:${u}`);let t=e.probeMajor(u);if(t===null)throw Error(`ezn.nodeBin 指定的 Node 无法执行:${u}`);return t<s&&console.error(`[ezn] 警告:ezn.nodeBin 的 Node 主版本为 ${t},低于建议值 ${s},按用户指定继续。`),console.error(`[ezn] Node 运行时(ezn.nodeBin):${u}`),new e(u,c)}if(o(l)){let t=e.probeMajor(l);if(t!==null&&t>=s&&$i(c))return console.error(`[ezn] Node 运行时就绪:${l}`),new e(l,c);console.error(t===null?`[ezn] 已有 Node 运行时无法执行(疑似损坏),准备重新安装 ...`:t<s?`[ezn] 已有 Node 运行时主版本为 ${t},低于要求 ${s},准备重装 ...`:`[ezn] 已有 Node 运行时缺少自带 npm(上次落位可能中断),准备补齐 ...`)}return await sa(c,n,{mirror:r.mirror??null}),new e(l,c)}},ma=`24`;async function ha(e){return(await pa.ensure(e,ma)).path}var $={ping:`ping`,status:`status`,childStart:`child.start`,childStop:`child.stop`,childRestart:`child.restart`,daemonStop:`daemon.stop`};function ga(e){return e instanceof Error?e.message:String(e)}var _a=1e4,va=2e4,ya=3e5,ba=`daemon`,xa=class extends Error{stage;pid;constructor(e,t,n){super(t),this.name=`DaemonRestartError`,this.stage=e,this.pid=n}},Sa=class{#e;#t;#n=null;#r={};#i=null;#a=ba;constructor(e){this.#e=e,this.#t=e.appDir}configure(e){this.#n=e.daemonJs??null,this.#r=e.env??{},this.#i=e.logFiles??null,this.#a=e.logPrefix??ba}#o(e=1e3){return this.#e.control.isReachable({timeoutMs:e})}#s(e,t={},n){return this.#e.control.request(e,t,n===void 0?{}:{timeoutMs:n})}#c(){return this.#i??{out:`${this.#a}.out.log`,err:`${this.#a}.err.log`}}#l(){return S(this.#t,`logs`,this.#c().err)}async isRunning(){return this.#o()}async status(){return await this.#o()?this.#s($.status):null}async childStatus(e){return(await this.status())?.children[e]??null}async call(e,t={},n){return this.#s(e,t,n||void 0)}async startChild(e){await this.#g();let t=await this.status();return{...await this.#s($.childStart,{name:e},ya),alreadyRunning:t?.children[e]!=null}}async stopChild(e){await this.#g();let t=await this.#s($.childStop,{name:e});return this.#d(t)}async restartChild(e){await this.#g();let t=await this.#s($.childRestart,{name:e},ya);if(`stopped`in t)throw Error(`停止旧服务失败(pid ${String(t.pid??`?`)} 可能仍存活),已中止重启。请检查该进程后重试。`);return t}async shutdown(){if(await this.#o()){let e=await this.#u(_a);if(e?.kind===`command`)throw e.error;return e?.kind===`kill`?{stopped:!1,reason:`kill-failed`,pid:e.pid}:{stopped:!0}}let e=this.#e.control.readInfo(),t=this.#e.control.liveChildPids();if(t.length>0){for(let e of t)if(!await xt(e))return{stopped:!1,reason:`kill-failed`,pid:e};return e&&this.#e.control.clearInfo(e.pid),{stopped:!0}}return e&&this.#e.control.clearInfo(e.pid),{stopped:!1,reason:`not-running`}}async restartDaemon(e={}){let t=e.stopTimeoutMs??_a,n=e.startTimeoutMs??va;if(await this.#o()){let e=await this.#u(t);if(e?.kind===`command`)throw new xa(`stop`,ga(e.error));if(e?.kind===`kill`)throw new xa(`stop`,`停止旧主进程失败(pid ${String(e.pid)} 可能仍存活),已中止。新版本可能已装好,请手工结束该进程后重试。`,e.pid)}else await this.#p();let r=await this.#h(n);if(r!==null)throw new xa(`spawn`,r);let i=Date.now()+ya;for(;Date.now()<i;){try{let t=await this.status(),n=t!==null&&Object.values(t.children).some(e=>e!==null);if(t!==null&&n&&(!e.expectVersion||t.version===e.expectVersion))return t}catch{}await this.#_(100)}throw new xa(`spawn`,`新主进程已启动,但未在时限内接管子进程或版本不匹配`)}async#u(e){let t=null;try{let e=await this.#s($.ping);t=typeof e?.pid==`number`?e.pid:null}catch{}try{await this.#s($.daemonStop)}catch(e){return t===null||X(t)?{kind:`command`,error:e}:null}return t!==null&&!await this.#f(t,e)&&!await xt(t)?{kind:`kill`,pid:t}:null}#d(e){return e.stopped?{stopped:!0}:e.pid===null?{stopped:!1,reason:`not-running`}:{stopped:!1,reason:`kill-failed`,pid:e.pid}}async#f(e,t=_a){let n=Date.now()+t;for(;Date.now()<n;){if(!X(e))return!0;await this.#_(100)}return!X(e)}async#p(){let e=this.#e.control.readInfo(),t=this.#e.control.liveChildPids();for(let e of t)await xt(e);e&&t.length>0&&this.#e.control.clearInfo(e.pid)}async#m(){let e=this.#n;if(!e)throw Error(`主进程入口未配置:请经 new Daemon(appDir).configure({ daemonJs }) 注入本包 daemon 产物路径`);if(!o(e))throw Error(`未找到主进程入口:${e}(安装可能不完整,可执行 ${this.#a} install 修复)`);let t=await this.#e.interpreter();return pt({entryJs:e,appDir:this.#t,env:this.#r,interpreter:t,logFiles:this.#c()})}async#h(e){if(await this.#m()===0)return`拉起主进程失败(未获得进程号)。请查看日志:${this.#l()}`;let t=Date.now()+e;for(;Date.now()<t;){if(await this.#o(500))return null;await this.#_(200)}return`主进程在 ${String(Math.round(e/1e3))}s 内未启动。请查看日志:${this.#l()}`}async#g(){if(await this.#o())return;let e=await this.#h(va);if(e!==null)throw Error(e)}#_(e){return new Promise(t=>setTimeout(t,e))}};function Ca(e){let t=e.indexOf(`
38
- `);return t<0?null:{line:e.slice(0,t),rest:e.slice(t+1)}}var wa=class{appDir;endpoint;constructor(e){this.appDir=e,this.endpoint=this.#e()}#e(){return _()===`win32`?`\\\\.\\pipe\\daemon-${O(`sha1`).update(this.appDir.toLowerCase()).digest(`hex`).slice(0,12)}`:S(this.appDir,`daemon.sock`)}request(e,t={},n={}){let r=n.timeoutMs??3e4,i={id:1,cmd:e,args:t};return new Promise((t,n)=>{let a=P(this.endpoint),o=``,s=!1,c=e=>{s||(s=!0,clearTimeout(l),a.destroy(),e())},l=setTimeout(()=>c(()=>n(Error(`控制通道超时(${e},${String(r)}ms)`))),r);a.setEncoding(`utf-8`),a.on(`connect`,()=>a.write(`${JSON.stringify(i)}\n`)),a.on(`data`,r=>{o+=r;let i=Ca(o);if(i===null)return;let a;try{a=JSON.parse(i.line)}catch{c(()=>n(Error(`控制通道响应不是合法 JSON(${e})`)));return}c(()=>a.ok?t(a.data):n(Error(a.error??`${e} 失败`)))}),a.on(`error`,e=>c(()=>n(e))),a.on(`close`,()=>c(()=>n(Error(`控制通道已关闭(${e} 未收到响应)`))))})}async isReachable(e={}){try{return await this.request($.ping,{},{timeoutMs:e.timeoutMs??1e3}),!0}catch{return!1}}async serve(e){let t=F(t=>{let n=``;t.setEncoding(`utf-8`),t.on(`error`,()=>t.destroy()),t.on(`data`,r=>{n+=r;let i=Ca(n);i!==null&&(n=i.rest,(async()=>{let n;try{n=JSON.parse(i.line)}catch{t.end();return}try{let r=await e(n.cmd,n.args??{});t.end(`${JSON.stringify({id:n.id,ok:!0,data:r})}\n`)}catch(e){let r=ga(e);t.end(`${JSON.stringify({id:n.id,ok:!1,error:r})}\n`)}})())})});try{await this.#t(t)}catch(e){if(_()!==`win32`&&e.code===`EADDRINUSE`)p(this.endpoint,{force:!0}),await this.#t(t);else throw e}return{endpoint:this.endpoint,close:()=>new Promise(e=>{t.close(()=>e())})}}#t(e){return new Promise((t,n)=>{let r=t=>{e.removeListener(`listening`,i),n(t)},i=()=>{e.removeListener(`error`,r),t()};e.once(`error`,r),e.once(`listening`,i),e.listen(this.endpoint)})}get infoPath(){return S(this.appDir,`daemon.json`)}readInfo(){try{let e=JSON.parse(u(this.infoPath,`utf-8`));return typeof e?.pid==`number`?e:null}catch{return null}}liveChildPids(e){let t=Object.values(this.readInfo()?.children??{}).map(e=>e?.pid).filter(t=>typeof t==`number`&&t!==e);return[...new Set(t)].filter(e=>X(e))}writeInfo(e){s(this.appDir,{recursive:!0}),Ze(this.infoPath,e)}clearInfo(e){let t=this.readInfo();if(!(t&&t.pid!==e))try{p(this.infoPath,{force:!0})}catch{}}},Ta=class{name;#e;#t;#n;#r=null;#i=null;#a=null;#o=!1;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n,this.name=t.name}get snapshot(){return this.#i?{...this.#i}:null}get alive(){return this.#i!==null&&X(this.#i.pid)}async start(){return this.alive?this.snapshot:(this.#a||=this.#c().finally(()=>{this.#a=null}),this.#a)}async stop(e){let t=this.#r,n=this.#i?.pid??t?.pid??null;if(!t||n===null)return this.#s(),{stopped:!0,pid:null};this.#o=!0,this.#n.log(`正在停止 ${this.name}(pid ${String(n)},${e})...`),t.kill();let r=await xt(n);return r||this.#n.log(`警告:${this.name} 进程(pid ${String(n)})终止未确认,可能仍占用端口`),this.#s(),{stopped:r,pid:n}}send(e){try{return this.#r?.send?.(e),!0}catch{return!1}}#s(){this.#r=null,this.#i=null,this.#n.onSnapshotChange()}async#c(){this.#o=!1;let e=this.#e.appDir;await this.#t.prepare?.(e);let t=this.#t.env?.(e),n=this.#r=await this.#l(e,t);if(n.on(`error`,e=>this.#n.log(`${this.name} 进程错误:${e.message}`)),n.on(`message`,e=>this.#n.onChildMessage(e)),n.once(`exit`,(e,t)=>this.#d(e,t)),!n.pid)throw this.#o=!0,this.#s(),Error(`无法启动 ${this.name}(未获得进程号)`);return this.#i={pid:n.pid,startedAt:Date.now()},this.#n.onSnapshotChange(),this.#n.log(`${this.name} 进程已启动(pid ${String(n.pid)})`),{...this.#i}}async#l(e,t){let n=this.#t.entry,r=this.#t.spawn;if(n===void 0==(r===void 0))throw Error(`子进程 ${this.name} 的规格必须且只能声明 entry 或 spawn 之一`);if(n!==void 0){let r=await this.#e.interpreter(),i=n(e);return this.#n.log(`正在启动 ${this.name}(${i})...`),mt({entryJs:i,appDir:e,env:t,interpreter:r,logFiles:this.#u()})}let i=r(e),a=i.command!==void 0&&i.command.trim()!==``?i.command:process.execPath;return this.#n.log(`正在启动 ${this.name}(${a}${i.cwd===void 0?``:`,cwd ${i.cwd}`})...`),bt({command:a,args:i.args??[],...i.cwd===void 0?{}:{cwd:i.cwd},appDir:e,env:t,logFiles:this.#u()})}#u(){return{out:`out-${this.name}.log`,err:`err-${this.name}.log`}}#d(e,t){this.#s();let n=`退出码 ${String(e??`?`)}${t?`,信号 ${t}`:``}`;if(this.#o){this.#n.log(`${this.name} 已停止(${n})`);return}this.#n.log(`${this.name} 异常退出(${n})`),this.#n.onUnexpectedExit(this,n)}},Ea=class{#e;#t;#n=null;constructor(e,t){this.#e=e,this.#t=t}start(){if(this.#e.length===0){this.#t(`未注入任何定时任务(依赖定时任务的能力——如自动更新——将不可用)`);return}let e=this.#e.map(e=>({name:e.name,everyMs:e.everyMs,retryMs:e.retryMs,...e.firstDelayMs===void 0?{}:{firstDelayMs:e.firstDelayMs},run:t=>e.run(t)}));this.#n=rt({jobs:e,log:this.#t,onError:(e,t,n)=>{this.#t(`定时任务 ${e.name} 失败(${String(Math.round(n/6e4))} 分钟后重试):${t.message}`)}});for(let e of this.#e)this.#t(`定时任务已注册:${e.name}`)}stop(){this.#n?.stop(),this.#n=null}},Da=`daemon`,Oa=6e4,ka=10,Aa=class{#e;#t=null;#n=Da;#r=[];#i=new Map;#a=[];#o=null;#s=null;#c={};#l=Date.now();#u=!1;#d=!1;#f=()=>``;#p=null;#m=e=>process.exit(e);constructor(e){this.#e=e}configure(e){this.#t=e.daemonJs??null,this.#n=e.logPrefix??Da,this.#r=e.children??[],this.#a=e.tasks??[],this.#c=e.commands??{},this.#f=e.version??(()=>``),this.#p=e.onStartup??null,this.#m=e.exit??(e=>process.exit(e))}async run(){if(this.#u){this.#h(`本进程已在运行,忽略重复启动`);return}for(let e of Object.keys(this.#c))if(Object.values($).includes(e))throw Error(`注入命令与内置命令重名:${e}`);for(let e of this.#r){if(this.#e.child(e.name))throw Error(`注入子进程规格重名:${e.name}`);this.#v(e)}if(await this.#e.control.isReachable()){this.#h(`主进程已在运行(端点 ${this.#e.control.endpoint}),本次启动忽略`);return}let e=this.#O();this.#o=await this.#e.control.serve((e,t)=>this.#b(e,t)),this.#u=!0,this.#C();let t=this.#f();this.#h(`主进程已启动(pid ${String(process.pid)}${t===``?``:`,版本 ${t}`},端点 ${this.#o.endpoint})`);for(let e of[`SIGINT`,`SIGTERM`])process.on(e,()=>{this.#k(`收到 ${e}`)});process.on(`uncaughtException`,e=>{we(`[${this.#n}] 主进程未捕获异常:`,e?.stack??String(e)),we(`[${this.#n}] 主进程即将退出;托管 server 会在 IPC 断开后自行退出`),this.#m(1)});let n=this.#t,r=this.#p;if(n&&r)try{let e=await this.#e.interpreter();await r({daemonJs:n,appDir:this.#e.appDir,interpreter:e})}catch(e){this.#h(`启动钩子失败(不阻塞启动):${ga(e)}`)}this.#s=new Ea(this.#a,this.#g),this.#s.start();for(let t of e)this.#h(`发现无主的子进程(pid ${String(t)})继续运行:本次将重启它以恢复纳管(服务会出现秒级中断)`),await xt(t);for(let e of this.#e.children())this.#i.get(e.name)?.autostart!==!1&&await e.start()}#h(e){G(`[${this.#n}] ${e}`)}#g=e=>this.#h(e);#_={log:this.#g,children:{register:e=>{this.#v(e),this.#h(`已注册子进程:${e.name}`)},unregister:async e=>{let t=this.#e.child(e);t&&(await t.stop(`被注销`),this.#e.removeChild(e),this.#i.delete(e),this.#C(),this.#h(`已注销子进程:${e}`))},start:async e=>await this.#x({name:e}).start(),stop:async e=>await this.#x({name:e}).stop(`收到停止指令`),status:()=>this.#y()}};#v(e){if(this.#i.has(e.name)||this.#e.child(e.name))throw Error(`子进程名已被占用:${e.name}`);this.#i.set(e.name,e),this.#e.addChild(new Ta(this.#e,e,this.#w(e.name)))}#y(){let e={};for(let t of this.#e.children())e[t.name]=t.snapshot;return e}async#b(e,t){switch(e){case $.ping:return{pid:process.pid,version:this.#f()};case $.status:return this.#S();case $.childStart:return await this.#x(t).start();case $.childStop:return await this.#x(t).stop(`收到停止指令`);case $.childRestart:{let e=this.#x(t),n=await e.stop(`收到重启指令`);return n.stopped?await e.start():{stopped:!1,pid:n.pid}}case $.daemonStop:return setTimeout(()=>void this.#k(`收到停止指令`),150),{stopping:!0};default:{let n=this.#c[e];if(!n)throw Error(`未知控制命令:${e}`);return await n(t,this.#_)}}}#x(e){let t=typeof e.name==`string`?e.name:``,n=this.#e.child(t);if(!n)throw Error(`未知子进程:${t||`(未指定名称)`}(可用:${this.#e.childNames().join(`、`)})`);return n}#S(){return{daemonPid:process.pid,version:this.#f()||null,startedAt:this.#l,endpoint:this.#o?.endpoint??this.#e.control.endpoint,children:this.#y()}}#C(){this.#e.control.writeInfo({pid:process.pid,endpoint:this.#o?.endpoint??this.#e.control.endpoint,startedAt:this.#l,version:this.#f()||null,children:this.#S().children})}#w(e){return{log:this.#g,onSnapshotChange:()=>this.#C(),onUnexpectedExit:e=>this.#T(e),onChildMessage:t=>this.#D(e,t)}}#T(e){if(this.#d)return;let{allowed:t,count:n}=this.#E(e.name);if(!t){this.#h(`1 分钟内已重启 ${String(e.name)} ${String(n)} 次(上限 ${String(ka)}),停止自动重启;请排查日志后手工 ${this.#n} start`);return}setTimeout(()=>{e.start().catch(e=>this.#h(`自动重启失败:${e.message}`))},500)}#E(e){let t=S(this.#e.appDir,`daemon-restarts.json`),n={};try{let e=JSON.parse(u(t,`utf-8`));typeof e==`object`&&e&&(n=e)}catch{}let r=Date.now(),i={...n[e]??{windowStart:0,count:0}},a=Number.isFinite(i.windowStart)?i.windowStart:r;r-a>Oa?(i.windowStart=r,i.count=0):i.windowStart=a,i.count=(Number.isFinite(i.count)?i.count:0)+1,n[e]=i;try{h(t,JSON.stringify(n),`utf-8`)}catch{}return{allowed:i.count<=ka,count:i.count}}#D(e,t){let n=t;if(!n?.type||typeof n.id!=`number`)return;let r=t=>{this.#e.child(e)?.send({type:`${String(n.type)}.result`,id:n.id,...t})};if(n.type===$.daemonStop){r({error:`该命令不可经 IPC 委派(仅支持经由 CLI 的控制通道)`});return}this.#b(n.type,n.args??{}).then(e=>r({data:e}),e=>r({error:e.message}))}#O(){let e=this.#e.control.readInfo();return!e||e.pid===process.pid?[]:this.#e.control.liveChildPids(process.pid)}async#k(e){if(!this.#d){this.#d=!0,this.#h(`主进程准备退出(${e})`),this.#s?.stop();for(let t of this.#e.children())await t.stop(e);this.#e.control.clearInfo(process.pid);try{await this.#o?.close()}catch{}this.#h(`主进程已退出(服务随之停止)`),this.#m(0)}}},ja=class e{static#e=new Map;appDir;control;client;#t;#n=new Map;#r=null;static of(t){let n=e.#e.get(t);return n||(n=new e(t),e.#e.set(t,n)),n}constructor(e){this.appDir=e,this.control=new wa(e),this.client=new Sa(this),this.#t=new Aa(this)}configure(e={}){this.#r=e.interpreter??null,this.client.configure(e),this.#t.configure(e)}interpreter(){let e=this.#r;return e===null?Promise.resolve(process.execPath):e(this.appDir)}get daemon(){return this.#t}addChild(e){this.#n.set(e.name,e)}removeChild(e){this.#n.delete(e)}child(e){return this.#n.get(e)}children(){return[...this.#n.values()]}childNames(){return[...this.#n.keys()]}},Ma=class{#e;constructor(e){this.#e=ja.of(e)}configure(e={}){return this.#e.configure(e),this}run(){return this.#e.daemon.run()}isRunning(){return this.#e.client.isRunning()}status(){return this.#e.client.status()}childStatus(e){return this.#e.client.childStatus(e)}call(e,t={},n){return this.#e.client.call(e,t,n)}startChild(e){return this.#e.client.startChild(e)}stopChild(e){return this.#e.client.stopChild(e)}restartChild(e){return this.#e.client.restartChild(e)}shutdown(){return this.#e.client.shutdown()}restartDaemon(e={}){return this.#e.client.restartDaemon(e)}};function Na(e=K()){return new Ma(e).configure({daemonJs:Ye(),env:{ELLM_APP_DIR:e},logPrefix:ut,interpreter:e=>ha(e)})}async function Pa(){Y(`正在启动 ezllm(常驻主进程 + 服务)...`,J.rocket),Xe();let e=await Na().startChild(lt);return Y(e.alreadyRunning?`服务进程已在运行(pid ${String(e.pid)})`:`服务进程已启动(pid ${String(e.pid)})`,e.alreadyRunning?J.running:J.success),{pid:e.pid,appDir:K()}}async function Fa(){let e=await Na().isRunning();e&&at(`正在停止 ezllm(服务 + 常驻主进程)`);let t=await Na().shutdown();return e&&(t.stopped?ot():st()),t}async function Ia(){Y(`正在重启服务(常驻主进程保留)...`,J.rocket);let e=await Na().restartChild(lt);return Y(`服务进程已重新创建(pid ${String(e.pid)})`,J.success),{pid:e.pid,appDir:K()}}async function La(){return await Na().status()}var Ra=[C(Pe()).base,C(Le()).base,...Re,C(q()).base,C(Ie()).base],za=[C(Pe()).base,...Re,C(q()).base,`data`,`logs`,`bin`,`daemon.json`],Ba=[`.git`,`pnpm-workspace.yaml`,`src`,`package.json`];function Va(e){return Ra.includes(e)}function Ha(e,t){let n=w(e);if(n===C(n).root)throw Error(`拒绝清理:应用目录解析为文件系统根(${n})。这几乎肯定是 ELLM_APP_DIR 配置错误。`);if(n===w(g()))throw Error(`拒绝清理:应用目录是用户主目录本身(${n}),清理会删掉整个家目录。\n 请把 ELLM_APP_DIR 指向一个专用子目录(如默认的 ~/.ezllm)。`);let r=t.filter(e=>Ba.includes(e));if(r.length>0)throw Error(`拒绝清理:应用目录含源码/仓库特征(${r.join(`、`)}),疑似指向代码目录而非运行时目录。\n 当前值:${n}\n 如确要重装,请把 ELLM_APP_DIR 指向专用目录(默认 ~/.ezllm)后重试。`);if(t.filter(e=>za.includes(e)).length===0)throw Error(`拒绝清理:应用目录不含任何 ezllm 产物(${n}),不像被 install 装配过的目录。\n 为避免误删用户数据,已中止。`)}function Ua(e,t){let n=[],r=[];for(let i of e)Va(i)?r.push(i):n.push(S(t,i));return{remove:n,keep:r}}function Wa(e={}){let t=e.appDir??K(),n=e.listDir??(e=>d(e)),r=e.remove??(e=>p(e,{recursive:!0,force:!0})),i=n(t);Ha(t,i);let{remove:a,keep:o}=Ua(i,t),s=[],c=[];for(let e of a)try{r(e),s.push(e)}catch(t){let n=t.code??`UNKNOWN`;c.push({path:e,code:n})}return{removed:s,kept:o,failed:c}}var Ga=`.backup-`;function Ka(e){let t=e=>String(e).padStart(2,`0`);return`${String(e.getFullYear())}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}`}function qa(e,t=new Date,n=o){let r=`${y(w(e))}${Ga}${Ka(t)}`,i=x(w(e)),a=S(i,r);for(let e=2;n(a);e++)a=S(i,`${r}-${String(e)}`);return a}function Ja(e,t){let n=C(q()).base,r=[],i=[];for(let a of e)a===n?i.push(a):r.push(S(t,a));return{copy:r,skipped:i}}function Ya(e={}){let t=e.appDir??K(),n=e.listDir??(e=>d(e)),r=e.exists??o,a=e.copy??((e,t)=>i(e,t,{recursive:!0,force:!0})),{copy:c,skipped:l}=Ja(n(t),t),u=qa(t,(e.now??(()=>new Date))(),r);if(c.length===0)return{backupDir:u,copied:[],skipped:l,empty:!0};s(u,{recursive:!0});let f=[],p=[];for(let e of c){let t=y(e);try{a(e,S(u,t)),p.push(t)}catch(t){f.push({path:e,code:t.code??`UNKNOWN`})}}if(f.length>0){let e=f.map(e=>` ${e.path}(${e.code})`).join(`
39
- `);throw Error(`${String(f.length)} 项备份失败,已中止卸载(未删除任何文件):\n${e}\n 备份目录:${u}\n 文件可能被占用(先停止 ezllm 并关闭相关程序),或改为手工复制该目录后重试。`)}return{backupDir:u,copied:p,skipped:l,empty:!1}}var Xa=`ezllm`,Za=S(`bin`,`ezllm.js`);function Qa(){try{return JSON.parse(u(S(Ve(),`package.json`),`utf-8`))}catch{return null}}function $a(e){let t=Qa();return t?.name===`ezllm`&&t.version===e}function eo(e,t){return[`install`,`-g`,`--prefix`,e,t,`--ignore-scripts`]}function to(e){let t=null;try{t=JSON.parse(u(S(We,`package.json`),`utf-8`))}catch{t=null}if(t?.name!==`ezllm`||t.version!==e)throw Error(`无法定位当前版本的程序包(${We},期望 ${Xa}@${e})。\n 请用发布形态运行:npx ezllm install,或 npx <解压目录>/app/cli install。`);return We}async function no(e,t,n){let r=await e.npm([`pack`,t,`--pack-destination`,n,`--ignore-scripts`]);if(r.status!==0)throw Error(`打包程序失败(npm pack 退出码 ${String(r.status)}),无法装配托管目录。`);let i=d(n).find(e=>e.endsWith(`.tgz`));if(!i)throw Error(`打包程序后未找到 tgz 产物:${n}`);return S(n,i)}async function ro(e,t){return(await e.npm(t,{stdio:`inherit`})).status}async function io(e,t){let n=await e.exec([t,`--version`]),r=`${n.stdout??``}${n.stderr??``}`.trim();return{ok:n.status===0,out:r}}async function ao(e={},t={}){let n=K(),r=q(),i=(t.version??Ke)();Y(`正在安装 ezllm ...`,J.rocket);let a=await(t.ensureNode??((e,t)=>pa.ensure(e,t)))(n,`24`);Y(`运行环境已就绪(Node.js 24)`,J.success);let o=!1;if(!e.force&&$a(i))Y(`程序已安装(ezllm ${i})`,J.skip);else{let e=(t.selfPkgRoot??to)(i),n=c(S(v(),`ezllm-install-`)),s=!1;try{Y(`正在安装 ezllm(版本 ${i})…`,J.pending);let o=await(t.packSelf??no)(a,e,n),c=await(t.runNpm??ro)(a,eo(r,o));if(c!==0)throw Error(`安装 ${Xa}@${i} 失败(npm 退出码 ${String(c)})。\n 安装包已保留,可尝试的恢复方式:
31
+ `).reduce(s,Object.create(null)),s=(e,t)=>{let n=parseInt(t,10);if(n!==Buffer.byteLength(t)+1)return e;t=t.slice((n+` `).length);let r=t.split(`=`),i=r.shift().replace(/^SCHILY\.(dev|ino|nlink)/,`$1`);if(!i)return e;let a=r.join(`=`);return e[i]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(i)?new Date(a*1e3):/^[0-9]+$/.test(a)?+a:a,e};t.exports=i})),jr=Z(((e,t)=>{t.exports=e=>{let t=e.length-1,n=-1;for(;t>-1&&e.charAt(t)===`/`;)n=t,t--;return n===-1?e:e.slice(0,n)}})),Mr=Z(((e,t)=>{t.exports=e=>class extends e{warn(e,t,n={}){this.file&&(n.file=this.file),this.cwd&&(n.cwd=this.cwd),n.code=t instanceof Error&&t.code||e,n.tarCode=e,!this.strict&&n.recoverable!==!1?(t instanceof Error&&(n=Object.assign(t,n),t=t.message),this.emit(`warn`,n.tarCode,t,n)):t instanceof Error?this.emit(`error`,Object.assign(t,n)):this.emit(`error`,Object.assign(Error(`${e}: ${t}`),n))}}})),Nr=Z(((e,t)=>{var n=[`|`,`<`,`>`,`?`,`:`],r=n.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),i=new Map(n.map((e,t)=>[e,r[t]])),a=new Map(r.map((e,t)=>[e,n[t]]));t.exports={encode:e=>n.reduce((e,t)=>e.split(t).join(i.get(t)),e),decode:e=>r.reduce((e,t)=>e.split(t).join(a.get(t)),e)}})),Pr=Z(((e,t)=>{var{isAbsolute:n,parse:r}=Q(`path`).win32;t.exports=e=>{let t=``,i=r(e);for(;n(e)||i.root;){let n=e.charAt(0)===`/`&&e.slice(0,4)!==`//?/`?`/`:i.root;e=e.slice(n.length),t+=n,i=r(e)}return[t,e]}})),Fr=Z(((e,t)=>{t.exports=(e,t,n)=>(e&=4095,n&&(e=(e|384)&-19),t&&(e&256&&(e|=64),e&32&&(e|=8),e&4&&(e|=1)),e)})),Ir=Z(((e,t)=>{var{Minipass:n}=xr(),r=Ar(),i=kr(),a=Q(`fs`),o=Q(`path`),s=Tr(),c=jr(),l=(e,t)=>t?(e=s(e).replace(/^\.(\/|$)/,``),c(t)+`/`+e):s(e),u=16777216,d=Symbol(`process`),f=Symbol(`file`),p=Symbol(`directory`),m=Symbol(`symlink`),h=Symbol(`hardlink`),g=Symbol(`header`),_=Symbol(`read`),v=Symbol(`lstat`),y=Symbol(`onlstat`),b=Symbol(`onread`),x=Symbol(`onreadlink`),S=Symbol(`openfile`),C=Symbol(`onopenfile`),w=Symbol(`close`),T=Symbol(`mode`),E=Symbol(`awaitDrain`),D=Symbol(`ondrain`),O=Symbol(`prefix`),k=Symbol(`hadError`),A=Mr(),j=Nr(),M=Pr(),N=Fr(),P=A(class extends n{constructor(e,t){if(t||={},super(t),typeof e!=`string`)throw TypeError(`path is required`);this.path=s(e),this.portable=!!t.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||``,this.maxReadSize=t.maxReadSize||u,this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.preservePaths=!!t.preservePaths,this.cwd=s(t.cwd||process.cwd()),this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.prefix=t.prefix?s(t.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof t.onwarn==`function`&&this.on(`warn`,t.onwarn);let n=!1;if(!this.preservePaths){let[e,t]=M(this.path);e&&(this.path=t,n=e)}this.win32=!!t.win32||process.platform===`win32`,this.win32&&(this.path=j.decode(this.path.replace(/\\/g,`/`)),e=e.replace(/\\/g,`/`)),this.absolute=s(t.absolute||o.resolve(this.cwd,e)),this.path===``&&(this.path=`./`),n&&this.warn(`TAR_ENTRY_INFO`,`stripping ${n} from absolute path`,{entry:this,path:n+this.path}),this.statCache.has(this.absolute)?this[y](this.statCache.get(this.absolute)):this[v]()}emit(e,...t){return e===`error`&&(this[k]=!0),super.emit(e,...t)}[v](){a.lstat(this.absolute,(e,t)=>{if(e)return this.emit(`error`,e);this[y](t)})}[y](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=L(e),this.emit(`stat`,e),this[d]()}[d](){switch(this.type){case`File`:return this[f]();case`Directory`:return this[p]();case`SymbolicLink`:return this[m]();default:return this.end()}}[T](e){return N(e,this.type===`Directory`,this.portable)}[O](e){return l(e,this.prefix)}[g](){this.type===`Directory`&&this.portable&&(this.noMtime=!0),this.header=new i({path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,mode:this[T](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:``,atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new r({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[p](){this.path.slice(-1)!==`/`&&(this.path+=`/`),this.stat.size=0,this[g](),this.end()}[m](){a.readlink(this.absolute,(e,t)=>{if(e)return this.emit(`error`,e);this[x](t)})}[x](e){this.linkpath=s(e),this[g](),this.end()}[h](e){this.type=`Link`,this.linkpath=s(o.relative(this.cwd,e)),this.stat.size=0,this[g](),this.end()}[f](){if(this.stat.nlink>1){let e=this.stat.dev+`:`+this.stat.ino;if(this.linkCache.has(e)){let t=this.linkCache.get(e);if(t.indexOf(this.cwd)===0)return this[h](t)}this.linkCache.set(e,this.absolute)}if(this[g](),this.stat.size===0)return this.end();this[S]()}[S](){a.open(this.absolute,`r`,(e,t)=>{if(e)return this.emit(`error`,e);this[C](t)})}[C](e){if(this.fd=e,this[k])return this[w]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let t=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(t),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[_]()}[_](){let{fd:e,buf:t,offset:n,length:r,pos:i}=this;a.read(e,t,n,r,i,(e,t)=>{if(e)return this[w](()=>this.emit(`error`,e));this[b](t)})}[w](e){a.close(this.fd,e)}[b](e){if(e<=0&&this.remain>0){let e=Error(`encountered unexpected EOF`);return e.path=this.absolute,e.syscall=`read`,e.code=`EOF`,this[w](()=>this.emit(`error`,e))}if(e>this.remain){let e=Error(`did not encounter expected EOF`);return e.path=this.absolute,e.syscall=`read`,e.code=`EOF`,this[w](()=>this.emit(`error`,e))}if(e===this.remain)for(let t=e;t<this.length&&e<this.blockRemain;t++)this.buf[t+this.offset]=0,e++,this.remain++;let t=this.offset===0&&e===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+e);this.write(t)?this[D]():this[E](()=>this[D]())}[E](e){this.once(`drain`,e)}write(e){if(this.blockRemain<e.length){let e=Error(`writing more data than expected`);return e.path=this.absolute,this.emit(`error`,e)}return this.remain-=e.length,this.blockRemain-=e.length,this.pos+=e.length,this.offset+=e.length,super.write(e)}[D](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[w](e=>e?this.emit(`error`,e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[_]()}}),F=class extends P{[v](){this[y](a.lstatSync(this.absolute))}[m](){this[x](a.readlinkSync(this.absolute))}[S](){this[C](a.openSync(this.absolute,`r`))}[_](){let e=!0;try{let{fd:t,buf:n,offset:r,length:i,pos:o}=this,s=a.readSync(t,n,r,i,o);this[b](s),e=!1}finally{if(e)try{this[w](()=>{})}catch{}}}[E](e){e()}[w](e){a.closeSync(this.fd),e()}},I=A(class extends n{constructor(e,t){t||={},super(t),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,this.type===`Directory`&&this.portable&&(this.noMtime=!0),this.prefix=t.prefix||null,this.path=s(e.path),this.mode=this[T](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=s(e.linkpath),typeof t.onwarn==`function`&&this.on(`warn`,t.onwarn);let n=!1;if(!this.preservePaths){let[e,t]=M(this.path);e&&(this.path=t,n=e)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new i({path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),n&&this.warn(`TAR_ENTRY_INFO`,`stripping ${n} from absolute path`,{entry:this,path:n+this.path}),this.header.encode()&&!this.noPax&&super.write(new r({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[O](this.path),linkpath:this.type===`Link`?this[O](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[O](e){return l(e,this.prefix)}[T](e){return N(e,this.type===`Directory`,this.portable)}write(e){let t=e.length;if(t>this.blockRemain)throw Error(`writing more to entry than is appropriate`);return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});P.Sync=F,P.Tar=I;var L=e=>e.isFile()?`File`:e.isDirectory()?`Directory`:e.isSymbolicLink()?`SymbolicLink`:`Unsupported`;t.exports=P})),Lr=Z(((e,t)=>{t.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}})),Rr=Z(((e,t)=>{t.exports=n,n.Node=o,n.create=n;function n(e){var t=this;if(t instanceof n||(t=new n),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach==`function`)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var r=0,i=arguments.length;r<i;r++)t.push(arguments[r]);return t}n.prototype.removeNode=function(e){if(e.list!==this)throw Error(`removing node which does not belong to this list`);var t=e.next,n=e.prev;return t&&(t.prev=n),n&&(n.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=n),e.list.length--,e.next=null,e.prev=null,e.list=null,t},n.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||=e,this.length++}},n.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||=e,this.length++}},n.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)i(this,arguments[e]);return this.length},n.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)a(this,arguments[e]);return this.length},n.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}},n.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}},n.prototype.forEach=function(e,t){t||=this;for(var n=this.head,r=0;n!==null;r++)e.call(t,n.value,r,this),n=n.next},n.prototype.forEachReverse=function(e,t){t||=this;for(var n=this.tail,r=this.length-1;n!==null;r--)e.call(t,n.value,r,this),n=n.prev},n.prototype.get=function(e){for(var t=0,n=this.head;n!==null&&t<e;t++)n=n.next;if(t===e&&n!==null)return n.value},n.prototype.getReverse=function(e){for(var t=0,n=this.tail;n!==null&&t<e;t++)n=n.prev;if(t===e&&n!==null)return n.value},n.prototype.map=function(e,t){t||=this;for(var r=new n,i=this.head;i!==null;)r.push(e.call(t,i.value,this)),i=i.next;return r},n.prototype.mapReverse=function(e,t){t||=this;for(var r=new n,i=this.tail;i!==null;)r.push(e.call(t,i.value,this)),i=i.prev;return r},n.prototype.reduce=function(e,t){var n,r=this.head;if(arguments.length>1)n=t;else if(this.head)r=this.head.next,n=this.head.value;else throw TypeError(`Reduce of empty list with no initial value`);for(var i=0;r!==null;i++)n=e(n,r.value,i),r=r.next;return n},n.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else if(this.tail)r=this.tail.prev,n=this.tail.value;else throw TypeError(`Reduce of empty list with no initial value`);for(var i=this.length-1;r!==null;i--)n=e(n,r.value,i),r=r.prev;return n},n.prototype.toArray=function(){for(var e=Array(this.length),t=0,n=this.head;n!==null;t++)e[t]=n.value,n=n.next;return e},n.prototype.toArrayReverse=function(){for(var e=Array(this.length),t=0,n=this.tail;n!==null;t++)e[t]=n.value,n=n.prev;return e},n.prototype.slice=function(e,t){t||=this.length,t<0&&(t+=this.length),e||=0,e<0&&(e+=this.length);var r=new n;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=0,a=this.head;a!==null&&i<e;i++)a=a.next;for(;a!==null&&i<t;i++,a=a.next)r.push(a.value);return r},n.prototype.sliceReverse=function(e,t){t||=this.length,t<0&&(t+=this.length),e||=0,e<0&&(e+=this.length);var r=new n;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,a=this.tail;a!==null&&i>t;i--)a=a.prev;for(;a!==null&&i>e;i--,a=a.prev)r.push(a.value);return r},n.prototype.splice=function(e,t,...n){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,a=this.head;a!==null&&i<e;i++)a=a.next;for(var o=[],i=0;a&&i<t;i++)o.push(a.value),a=this.removeNode(a);a===null&&(a=this.tail),a!==this.head&&a!==this.tail&&(a=a.prev);for(var i=0;i<n.length;i++)a=r(this,a,n[i]);return o},n.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;n!==null;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};function r(e,t,n){var r=t===e.head?new o(n,null,t,e):new o(n,t,t.next,e);return r.next===null&&(e.tail=r),r.prev===null&&(e.head=r),e.length++,r}function i(e,t){e.tail=new o(t,e.tail,null,e),e.head||=e.tail,e.length++}function a(e,t){e.head=new o(t,null,e.head,e),e.tail||=e.head,e.length++}function o(e,t,n,r){if(!(this instanceof o))return new o(e,t,n,r);this.list=r,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,n?(n.prev=this,this.next=n):this.next=null}try{Lr()(n)}catch{}})),zr=Z(((e,t)=>{var n=class{constructor(e,t){this.path=e||`./`,this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},{Minipass:r}=xr(),i=wr(),a=Er(),o=Ir(),s=o.Sync,c=o.Tar,l=Rr(),u=Buffer.alloc(1024),d=Symbol(`onStat`),f=Symbol(`ended`),p=Symbol(`queue`),m=Symbol(`current`),h=Symbol(`process`),g=Symbol(`processing`),_=Symbol(`processJob`),v=Symbol(`jobs`),y=Symbol(`jobDone`),b=Symbol(`addFSEntry`),x=Symbol(`addTarEntry`),S=Symbol(`stat`),C=Symbol(`readdir`),w=Symbol(`onreaddir`),T=Symbol(`pipe`),E=Symbol(`entry`),D=Symbol(`entryOpt`),O=Symbol(`writeEntryClass`),k=Symbol(`write`),A=Symbol(`ondrain`),j=Q(`fs`),M=Q(`path`),N=Mr(),P=Tr(),F=N(class extends r{constructor(e){if(super(e),e||=Object.create(null),this.opt=e,this.file=e.file||``,this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=P(e.prefix||``),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[O]=o,typeof e.onwarn==`function`&&this.on(`warn`,e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip||e.brotli){if(e.gzip&&e.brotli)throw TypeError(`gzip and brotli are mutually exclusive`);e.gzip&&(typeof e.gzip!=`object`&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new i.Gzip(e.gzip)),e.brotli&&(typeof e.brotli!=`object`&&(e.brotli={}),this.zip=new i.BrotliCompress(e.brotli)),this.zip.on(`data`,e=>super.write(e)),this.zip.on(`end`,e=>super.end()),this.zip.on(`drain`,e=>this[A]()),this.on(`resume`,e=>this.zip.resume())}else this.on(`drain`,this[A]);this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter==`function`?e.filter:e=>!0,this[p]=new l,this[v]=0,this.jobs=+e.jobs||4,this[g]=!1,this[f]=!1}[k](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[f]=!0,this[h](),this}write(e){if(this[f])throw Error(`write after end`);return e instanceof a?this[x](e):this[b](e),this.flowing}[x](e){let t=P(M.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let r=new n(e.path,t,!1);r.entry=new c(e,this[D](r)),r.entry.on(`end`,e=>this[y](r)),this[v]+=1,this[p].push(r)}this[h]()}[b](e){let t=P(M.resolve(this.cwd,e));this[p].push(new n(e,t)),this[h]()}[S](e){e.pending=!0,this[v]+=1,j[this.follow?`stat`:`lstat`](e.absolute,(t,n)=>{e.pending=!1,--this[v],t?this.emit(`error`,t):this[d](e,n)})}[d](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[h]()}[C](e){e.pending=!0,this[v]+=1,j.readdir(e.absolute,(t,n)=>{if(e.pending=!1,--this[v],t)return this.emit(`error`,t);this[w](e,n)})}[w](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[h]()}[h](){if(!this[g]){this[g]=!0;for(let e=this[p].head;e!==null&&this[v]<this.jobs;e=e.next)if(this[_](e.value),e.value.ignore){let t=e.next;this[p].removeNode(e),e.next=t}this[g]=!1,this[f]&&!this[p].length&&this[v]===0&&(this.zip?this.zip.end(u):(super.write(u),super.end()))}}get[m](){return this[p]&&this[p].head&&this[p].head.value}[y](e){this[p].shift(),--this[v],this[h]()}[_](e){e.pending||(e.entry?e===this[m]&&!e.piped&&this[T](e):(e.stat||(this.statCache.has(e.absolute)?this[d](e,this.statCache.get(e.absolute)):this[S](e)),e.stat&&(e.ignore||!this.noDirRecurse&&e.stat.isDirectory()&&!e.readdir&&(this.readdirCache.has(e.absolute)?this[w](e,this.readdirCache.get(e.absolute)):this[C](e),!e.readdir)||(e.entry=this[E](e),e.entry?e===this[m]&&!e.piped&&this[T](e):e.ignore=!0))))}[D](e){return{onwarn:(e,t,n)=>this.warn(e,t,n),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[E](e){this[v]+=1;try{return new this[O](e.path,this[D](e)).on(`end`,()=>this[y](e)).on(`error`,e=>this.emit(`error`,e))}catch(e){this.emit(`error`,e)}}[A](){this[m]&&this[m].entry&&this[m].entry.resume()}[T](e){e.piped=!0,e.readdir&&e.readdir.forEach(t=>{let n=e.path,r=n===`./`?``:n.replace(/\/*$/,`/`);this[b](r+t)});let t=e.entry,n=this.zip;n?t.on(`data`,e=>{n.write(e)||t.pause()}):t.on(`data`,e=>{super.write(e)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}});F.Sync=class extends F{constructor(e){super(e),this[O]=s}pause(){}resume(){}[S](e){let t=this.follow?`statSync`:`lstatSync`;this[d](e,j[t](e.absolute))}[C](e,t){this[w](e,j.readdirSync(e.absolute))}[T](e){let t=e.entry,n=this.zip;e.readdir&&e.readdir.forEach(t=>{let n=e.path,r=n===`./`?``:n.replace(/\/*$/,`/`);this[b](r+t)}),n?t.on(`data`,e=>{n.write(e)}):t.on(`data`,e=>{super[k](e)})}},t.exports=F})),Br=Z((e=>{var t=Cr(),n=Q(`events`).EventEmitter,r=Q(`fs`),i=r.writev;if(!i){let e=process.binding(`fs`),t=e.FSReqWrap||e.FSReqCallback;i=(n,r,i,a)=>{let o=(e,t)=>a(e,t,r),s=new t;s.oncomplete=o,e.writeBuffers(n,r,i,s)}}var a=Symbol(`_autoClose`),o=Symbol(`_close`),s=Symbol(`_ended`),c=Symbol(`_fd`),l=Symbol(`_finished`),u=Symbol(`_flags`),d=Symbol(`_flush`),f=Symbol(`_handleChunk`),p=Symbol(`_makeBuf`),m=Symbol(`_mode`),h=Symbol(`_needDrain`),g=Symbol(`_onerror`),_=Symbol(`_onopen`),v=Symbol(`_onread`),y=Symbol(`_onwrite`),b=Symbol(`_open`),x=Symbol(`_path`),S=Symbol(`_pos`),C=Symbol(`_queue`),w=Symbol(`_read`),T=Symbol(`_readSize`),E=Symbol(`_reading`),D=Symbol(`_remain`),O=Symbol(`_size`),k=Symbol(`_write`),A=Symbol(`_writing`),j=Symbol(`_defaultFlag`),M=Symbol(`_errored`),N=class extends t{constructor(e,t){if(t||={},super(t),this.readable=!0,this.writable=!1,typeof e!=`string`)throw TypeError(`path must be a string`);this[M]=!1,this[c]=typeof t.fd==`number`?t.fd:null,this[x]=e,this[T]=t.readSize||16777216,this[E]=!1,this[O]=typeof t.size==`number`?t.size:1/0,this[D]=this[O],this[a]=typeof t.autoClose!=`boolean`||t.autoClose,typeof this[c]==`number`?this[w]():this[b]()}get fd(){return this[c]}get path(){return this[x]}write(){throw TypeError(`this is a readable stream`)}end(){throw TypeError(`this is a readable stream`)}[b](){r.open(this[x],`r`,(e,t)=>this[_](e,t))}[_](e,t){e?this[g](e):(this[c]=t,this.emit(`open`,t),this[w]())}[p](){return Buffer.allocUnsafe(Math.min(this[T],this[D]))}[w](){if(!this[E]){this[E]=!0;let e=this[p]();if(e.length===0)return process.nextTick(()=>this[v](null,0,e));r.read(this[c],e,0,e.length,null,(e,t,n)=>this[v](e,t,n))}}[v](e,t,n){this[E]=!1,e?this[g](e):this[f](t,n)&&this[w]()}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.close(e,e=>e?this.emit(`error`,e):this.emit(`close`))}}[g](e){this[E]=!0,this[o](),this.emit(`error`,e)}[f](e,t){let n=!1;return this[D]-=e,e>0&&(n=super.write(e<t.length?t.slice(0,e):t)),(e===0||this[D]<=0)&&(n=!1,this[o](),super.end()),n}emit(e,t){switch(e){case`prefinish`:case`finish`:break;case`drain`:typeof this[c]==`number`&&this[w]();break;case`error`:return this[M]?void 0:(this[M]=!0,super.emit(e,t));default:return super.emit(e,t)}}},P=class extends N{[b](){let e=!0;try{this[_](null,r.openSync(this[x],`r`)),e=!1}finally{e&&this[o]()}}[w](){let e=!0;try{if(!this[E]){this[E]=!0;do{let e=this[p](),t=e.length===0?0:r.readSync(this[c],e,0,e.length,null);if(!this[f](t,e))break}while(1);this[E]=!1}e=!1}finally{e&&this[o]()}}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.closeSync(e),this.emit(`close`)}}},F=class extends n{constructor(e,t){t||={},super(t),this.readable=!1,this.writable=!0,this[M]=!1,this[A]=!1,this[s]=!1,this[h]=!1,this[C]=[],this[x]=e,this[c]=typeof t.fd==`number`?t.fd:null,this[m]=t.mode===void 0?438:t.mode,this[S]=typeof t.start==`number`?t.start:null,this[a]=typeof t.autoClose!=`boolean`||t.autoClose;let n=this[S]===null?`w`:`r+`;this[j]=t.flags===void 0,this[u]=this[j]?n:t.flags,this[c]===null&&this[b]()}emit(e,t){if(e===`error`){if(this[M])return;this[M]=!0}return super.emit(e,t)}get fd(){return this[c]}get path(){return this[x]}[g](e){this[o](),this[A]=!0,this.emit(`error`,e)}[b](){r.open(this[x],this[u],this[m],(e,t)=>this[_](e,t))}[_](e,t){this[j]&&this[u]===`r+`&&e&&e.code===`ENOENT`?(this[u]=`w`,this[b]()):e?this[g](e):(this[c]=t,this.emit(`open`,t),this[d]())}end(e,t){return e&&this.write(e,t),this[s]=!0,!this[A]&&!this[C].length&&typeof this[c]==`number`&&this[y](null,0),this}write(e,t){return typeof e==`string`&&(e=Buffer.from(e,t)),this[s]?(this.emit(`error`,Error(`write() after end()`)),!1):this[c]===null||this[A]||this[C].length?(this[C].push(e),this[h]=!0,!1):(this[A]=!0,this[k](e),!0)}[k](e){r.write(this[c],e,0,e.length,this[S],(e,t)=>this[y](e,t))}[y](e,t){e?this[g](e):(this[S]!==null&&(this[S]+=t),this[C].length?this[d]():(this[A]=!1,this[s]&&!this[l]?(this[l]=!0,this[o](),this.emit(`finish`)):this[h]&&(this[h]=!1,this.emit(`drain`))))}[d](){if(this[C].length===0)this[s]&&this[y](null,0);else if(this[C].length===1)this[k](this[C].pop());else{let e=this[C];this[C]=[],i(this[c],e,this[S],(e,t)=>this[y](e,t))}}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.close(e,e=>e?this.emit(`error`,e):this.emit(`close`))}}},I=class extends F{[b](){let e;if(this[j]&&this[u]===`r+`)try{e=r.openSync(this[x],this[u],this[m])}catch(e){if(e.code===`ENOENT`)return this[u]=`w`,this[b]();throw e}else e=r.openSync(this[x],this[u],this[m]);this[_](null,e)}[o](){if(this[a]&&typeof this[c]==`number`){let e=this[c];this[c]=null,r.closeSync(e),this.emit(`close`)}}[k](e){let t=!0;try{this[y](null,r.writeSync(this[c],e,0,e.length,this[S])),t=!1}finally{if(t)try{this[o]()}catch{}}}};e.ReadStream=N,e.ReadStreamSync=P,e.WriteStream=F,e.WriteStreamSync=I})),Vr=Z(((e,t)=>{var n=Mr(),r=kr(),i=Q(`events`),a=Rr(),o=1048576,s=Er(),c=Ar(),l=wr(),{nextTick:u}=Q(`process`),d=Buffer.from([31,139]),f=Symbol(`state`),p=Symbol(`writeEntry`),m=Symbol(`readEntry`),h=Symbol(`nextEntry`),g=Symbol(`processEntry`),_=Symbol(`extendedHeader`),v=Symbol(`globalExtendedHeader`),y=Symbol(`meta`),b=Symbol(`emitMeta`),x=Symbol(`buffer`),S=Symbol(`queue`),C=Symbol(`ended`),w=Symbol(`emittedEnd`),T=Symbol(`emit`),E=Symbol(`unzip`),D=Symbol(`consumeChunk`),O=Symbol(`consumeChunkSub`),k=Symbol(`consumeBody`),A=Symbol(`consumeMeta`),j=Symbol(`consumeHeader`),M=Symbol(`consuming`),N=Symbol(`bufferConcat`),P=Symbol(`maybeEnd`),F=Symbol(`writing`),I=Symbol(`aborted`),L=Symbol(`onDone`),R=Symbol(`sawValidEntry`),z=Symbol(`sawNullBlock`),B=Symbol(`sawEOF`),V=Symbol(`closeStream`),H=e=>!0;t.exports=n(class extends i{constructor(e){e||={},super(e),this.file=e.file||``,this[R]=null,this.on(L,e=>{(this[f]===`begin`||this[R]===!1)&&this.warn(`TAR_BAD_ARCHIVE`,`Unrecognized archive format`)}),e.ondone?this.on(L,e.ondone):this.on(L,e=>{this.emit(`prefinish`),this.emit(`finish`),this.emit(`end`)}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||o,this.filter=typeof e.filter==`function`?e.filter:H;let t=e.file&&(e.file.endsWith(`.tar.br`)||e.file.endsWith(`.tbr`));this.brotli=!e.gzip&&e.brotli!==void 0?e.brotli:t?void 0:!1,this.writable=!0,this.readable=!1,this[S]=new a,this[x]=null,this[m]=null,this[p]=null,this[f]=`begin`,this[y]=``,this[_]=null,this[v]=null,this[C]=!1,this[E]=null,this[I]=!1,this[z]=!1,this[B]=!1,this.on(`end`,()=>this[V]()),typeof e.onwarn==`function`&&this.on(`warn`,e.onwarn),typeof e.onentry==`function`&&this.on(`entry`,e.onentry)}[j](e,t){this[R]===null&&(this[R]=!1);let n;try{n=new r(e,t,this[_],this[v])}catch(e){return this.warn(`TAR_ENTRY_INVALID`,e)}if(n.nullBlock)this[z]?(this[B]=!0,this[f]===`begin`&&(this[f]=`header`),this[T](`eof`)):(this[z]=!0,this[T](`nullBlock`));else if(this[z]=!1,!n.cksumValid)this.warn(`TAR_ENTRY_INVALID`,`checksum failure`,{header:n});else if(!n.path)this.warn(`TAR_ENTRY_INVALID`,`path is required`,{header:n});else{let e=n.type;if(/^(Symbolic)?Link$/.test(e)&&!n.linkpath)this.warn(`TAR_ENTRY_INVALID`,`linkpath required`,{header:n});else if(!/^(Symbolic)?Link$/.test(e)&&n.linkpath)this.warn(`TAR_ENTRY_INVALID`,`linkpath forbidden`,{header:n});else{let e=this[p]=new s(n,this[_],this[v]);this[R]||(e.remain?e.on(`end`,()=>{e.invalid||(this[R]=!0)}):this[R]=!0),e.meta?e.size>this.maxMetaEntrySize?(e.ignore=!0,this[T](`ignoredEntry`,e),this[f]=`ignore`,e.resume()):e.size>0&&(this[y]=``,e.on(`data`,e=>this[y]+=e),this[f]=`meta`):(this[_]=null,e.ignore=e.ignore||!this.filter(e.path,e),e.ignore?(this[T](`ignoredEntry`,e),this[f]=e.remain?`ignore`:`header`,e.resume()):(e.remain?this[f]=`body`:(this[f]=`header`,e.end()),this[m]?this[S].push(e):(this[S].push(e),this[h]())))}}}[V](){u(()=>this.emit(`close`))}[g](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[m]=e,this.emit(`entry`,e),e.emittedEnd||(e.on(`end`,e=>this[h]()),t=!1)):(this[m]=null,t=!1),t}[h](){do;while(this[g](this[S].shift()));if(!this[S].length){let e=this[m];!e||e.flowing||e.size===e.remain?this[F]||this.emit(`drain`):e.once(`drain`,e=>this.emit(`drain`))}}[k](e,t){let n=this[p],r=n.blockRemain,i=r>=e.length&&t===0?e:e.slice(t,t+r);return n.write(i),n.blockRemain||(this[f]=`header`,this[p]=null,n.end()),i.length}[A](e,t){let n=this[p],r=this[k](e,t);return this[p]||this[b](n),r}[T](e,t,n){!this[S].length&&!this[m]?this.emit(e,t,n):this[S].push([e,t,n])}[b](e){switch(this[T](`meta`,this[y]),e.type){case`ExtendedHeader`:case`OldExtendedHeader`:this[_]=c.parse(this[y],this[_],!1);break;case`GlobalExtendedHeader`:this[v]=c.parse(this[y],this[v],!0);break;case`NextFileHasLongPath`:case`OldGnuLongPath`:this[_]=this[_]||Object.create(null),this[_].path=this[y].replace(/\0.*/,``);break;case`NextFileHasLongLinkpath`:this[_]=this[_]||Object.create(null),this[_].linkpath=this[y].replace(/\0.*/,``);break;default:throw Error(`unknown meta: `+e.type)}}abort(e){this[I]=!0,this.emit(`abort`,e),this.warn(`TAR_ABORT`,e,{recoverable:!1})}write(e){if(this[I])return;if((this[E]===null||this.brotli===void 0&&this[E]===!1)&&e){if(this[x]&&(e=Buffer.concat([this[x],e]),this[x]=null),e.length<d.length)return this[x]=e,!0;for(let t=0;this[E]===null&&t<d.length;t++)e[t]!==d[t]&&(this[E]=!1);let t=this.brotli===void 0;if(this[E]===!1&&t){if(e.length<512){if(this[C])this.brotli=!0;else return this[x]=e,!0}else try{new r(e.slice(0,512)),this.brotli=!1}catch{this.brotli=!0}}if(this[E]===null||this[E]===!1&&this.brotli){let t=this[C];this[C]=!1,this[E]=this[E]===null?new l.Unzip:new l.BrotliDecompress,this[E].on(`data`,e=>this[D](e)),this[E].on(`error`,e=>this.abort(e)),this[E].on(`end`,e=>{this[C]=!0,this[D]()}),this[F]=!0;let n=this[E][t?`end`:`write`](e);return this[F]=!1,n}}this[F]=!0,this[E]?this[E].write(e):this[D](e),this[F]=!1;let t=this[S].length?!1:!this[m]||this[m].flowing;return!t&&!this[S].length&&this[m].once(`drain`,e=>this.emit(`drain`)),t}[N](e){e&&!this[I]&&(this[x]=this[x]?Buffer.concat([this[x],e]):e)}[P](){if(this[C]&&!this[w]&&!this[I]&&!this[M]){this[w]=!0;let e=this[p];if(e&&e.blockRemain){let t=this[x]?this[x].length:0;this.warn(`TAR_BAD_ARCHIVE`,`Truncated input (needed ${e.blockRemain} more bytes, only ${t} available)`,{entry:e}),this[x]&&e.write(this[x]),e.end()}this[T](L)}}[D](e){if(this[M])this[N](e);else if(!e&&!this[x])this[P]();else{if(this[M]=!0,this[x]){this[N](e);let t=this[x];this[x]=null,this[O](t)}else this[O](e);for(;this[x]&&this[x].length>=512&&!this[I]&&!this[B];){let e=this[x];this[x]=null,this[O](e)}this[M]=!1}(!this[x]||this[C])&&this[P]()}[O](e){let t=0,n=e.length;for(;t+512<=n&&!this[I]&&!this[B];)switch(this[f]){case`begin`:case`header`:this[j](e,t),t+=512;break;case`ignore`:case`body`:t+=this[k](e,t);break;case`meta`:t+=this[A](e,t);break;default:throw Error(`invalid state: `+this[f])}t<n&&(this[x]=this[x]?Buffer.concat([e.slice(t),this[x]]):e.slice(t))}end(e){this[I]||(this[E]?this[E].end(e):(this[C]=!0,this.brotli===void 0&&(e||=Buffer.alloc(0)),this.write(e)))}})})),Hr=Z(((e,t)=>{var n=br(),r=Vr(),i=Q(`fs`),a=Br(),o=Q(`path`),s=jr();t.exports=(e,t,r)=>{typeof e==`function`?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t==`function`&&(r=t,t=null),t=t?Array.from(t):[];let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return t.length&&l(i,t),i.noResume||c(i),i.file&&i.sync?u(i):i.file?d(i,r):f(i)};var c=e=>{let t=e.onentry;e.onentry=t?e=>{t(e),e.resume()}:e=>e.resume()},l=(e,t)=>{let n=new Map(t.map(e=>[s(e),!0])),r=e.filter,i=(e,t)=>{let r=t||o.parse(e).root||`.`,a=e===r?!1:n.has(e)?n.get(e):i(o.dirname(e),r);return n.set(e,a),a};e.filter=r?(e,t)=>r(e,t)&&i(s(e)):e=>i(s(e))},u=e=>{let t=f(e),n=e.file,r=!0,a;try{let o=i.statSync(n),s=e.maxReadSize||16777216;if(o.size<s)t.end(i.readFileSync(n));else{let e=0,r=Buffer.allocUnsafe(s);for(a=i.openSync(n,`r`);e<o.size;){let n=i.readSync(a,r,0,s,e);e+=n,t.write(r.slice(0,n))}t.end()}r=!1}finally{if(r&&a)try{i.closeSync(a)}catch{}}},d=(e,t)=>{let n=new r(e),o=e.maxReadSize||16777216,s=e.file,c=new Promise((e,t)=>{n.on(`error`,t),n.on(`end`,e),i.stat(s,(e,r)=>{if(e)t(e);else{let e=new a.ReadStream(s,{readSize:o,size:r.size});e.on(`error`,t),e.pipe(n)}})});return t?c.then(t,t):c},f=e=>new r(e)})),Ur=Z(((e,t)=>{var n=br(),r=zr(),i=Br(),a=Hr(),o=Q(`path`);t.exports=(e,t,r)=>{if(typeof t==`function`&&(r=t),Array.isArray(e)&&(t=e,e={}),!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);t=Array.from(t);let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return i.file&&i.sync?s(i,t):i.file?c(i,t,r):i.sync?d(i,t):f(i,t)};var s=(e,t)=>{let n=new r.Sync(e),a=new i.WriteStreamSync(e.file,{mode:e.mode||438});n.pipe(a),l(n,t)},c=(e,t,n)=>{let a=new r(e),o=new i.WriteStream(e.file,{mode:e.mode||438});a.pipe(o);let s=new Promise((e,t)=>{o.on(`error`,t),o.on(`close`,e),a.on(`error`,t)});return u(a,t),n?s.then(n,n):s},l=(e,t)=>{t.forEach(t=>{t.charAt(0)===`@`?a({file:o.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},u=(e,t)=>{for(;t.length;){let n=t.shift();if(n.charAt(0)===`@`)return a({file:o.resolve(e.cwd,n.slice(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>u(e,t));e.add(n)}e.end()},d=(e,t)=>{let n=new r.Sync(e);return l(n,t),n},f=(e,t)=>{let n=new r(e);return u(n,t),n}})),Wr=Z(((e,t)=>{var n=br(),r=zr(),i=Q(`fs`),a=Br(),o=Hr(),s=Q(`path`),c=kr();t.exports=(e,t,r)=>{let i=n(e);if(!i.file)throw TypeError(`file is required`);if(i.gzip||i.brotli||i.file.endsWith(`.br`)||i.file.endsWith(`.tbr`))throw TypeError(`cannot append to compressed archives`);if(!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);return t=Array.from(t),i.sync?l(i,t):d(i,t,r)};var l=(e,t)=>{let n=new r.Sync(e),a=!0,o,s;try{try{o=i.openSync(e.file,`r+`)}catch(t){if(t.code===`ENOENT`)o=i.openSync(e.file,`w+`);else throw t}let r=i.fstatSync(o),l=Buffer.alloc(512);POSITION:for(s=0;s<r.size;s+=512){for(let e=0,t=0;e<512;e+=t){if(t=i.readSync(o,l,e,l.length-e,s+e),s===0&&l[0]===31&&l[1]===139)throw Error(`cannot append to compressed archives`);if(!t)break POSITION}let t=new c(l);if(!t.cksumValid)break;let n=512*Math.ceil(t.size/512);if(s+n+512>r.size)break;s+=n,e.mtimeCache&&e.mtimeCache.set(t.path,t.mtime)}a=!1,u(e,n,s,o,t)}finally{if(a)try{i.closeSync(o)}catch{}}},u=(e,t,n,r,i)=>{let o=new a.WriteStreamSync(e.file,{fd:r,start:n});t.pipe(o),f(t,i)},d=(e,t,n)=>{t=Array.from(t);let o=new r(e),s=(t,n,r)=>{let a=(e,n)=>{e?i.close(t,t=>r(e)):r(null,n)},o=0;if(n===0)return a(null,0);let s=0,l=Buffer.alloc(512),u=(r,d)=>{if(r)return a(r);if(s+=d,s<512&&d)return i.read(t,l,s,l.length-s,o+s,u);if(o===0&&l[0]===31&&l[1]===139)return a(Error(`cannot append to compressed archives`));if(s<512)return a(null,o);let f=new c(l);if(!f.cksumValid)return a(null,o);let p=512*Math.ceil(f.size/512);if(o+p+512>n||(o+=p+512,o>=n))return a(null,o);e.mtimeCache&&e.mtimeCache.set(f.path,f.mtime),s=0,i.read(t,l,0,512,o,u)};i.read(t,l,0,512,o,u)},l=new Promise((n,r)=>{o.on(`error`,r);let c=`r+`,l=(u,d)=>{if(u&&u.code===`ENOENT`&&c===`r+`)return c=`w+`,i.open(e.file,c,l);if(u)return r(u);i.fstat(d,(c,l)=>{if(c)return i.close(d,()=>r(c));s(d,l.size,(i,s)=>{if(i)return r(i);let c=new a.WriteStream(e.file,{fd:d,start:s});o.pipe(c),c.on(`error`,r),c.on(`close`,n),p(o,t)})})};i.open(e.file,c,l)});return n?l.then(n,n):l},f=(e,t)=>{t.forEach(t=>{t.charAt(0)===`@`?o({file:s.resolve(e.cwd,t.slice(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},p=(e,t)=>{for(;t.length;){let n=t.shift();if(n.charAt(0)===`@`)return o({file:s.resolve(e.cwd,n.slice(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>p(e,t));e.add(n)}e.end()}})),Gr=Z(((e,t)=>{var n=br(),r=Wr();t.exports=(e,t,a)=>{let o=n(e);if(!o.file)throw TypeError(`file is required`);if(o.gzip||o.brotli||o.file.endsWith(`.br`)||o.file.endsWith(`.tbr`))throw TypeError(`cannot append to compressed archives`);if(!t||!Array.isArray(t)||!t.length)throw TypeError(`no files or directories specified`);return t=Array.from(t),i(o),r(o,t,a)};var i=e=>{let t=e.filter;e.mtimeCache||=new Map,e.filter=t?(n,r)=>t(n,r)&&!(e.mtimeCache.get(n)>r.mtime):(t,n)=>!(e.mtimeCache.get(t)>n.mtime)}})),Kr=Z(((e,t)=>{var{promisify:n}=Q(`util`),r=Q(`fs`);t.exports=e=>{if(!e)e={mode:511,fs:r};else if(typeof e==`object`)e={mode:511,fs:r,...e};else if(typeof e==`number`)e={mode:e,fs:r};else if(typeof e==`string`)e={mode:parseInt(e,8),fs:r};else throw TypeError(`invalid options argument`);return e.mkdir=e.mkdir||e.fs.mkdir||r.mkdir,e.mkdirAsync=n(e.mkdir),e.stat=e.stat||e.fs.stat||r.stat,e.statAsync=n(e.stat),e.statSync=e.statSync||e.fs.statSync||r.statSync,e.mkdirSync=e.mkdirSync||e.fs.mkdirSync||r.mkdirSync,e}})),qr=Z(((e,t)=>{var n=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:r,parse:i}=Q(`path`);t.exports=e=>{if(/\0/.test(e))throw Object.assign(TypeError(`path must be a string without null bytes`),{path:e,code:`ERR_INVALID_ARG_VALUE`});if(e=r(e),n===`win32`){let t=/[*|"<>?:]/,{root:n}=i(e);if(t.test(e.substr(n.length)))throw Object.assign(Error(`Illegal characters in path.`),{path:e,code:`EINVAL`})}return e}})),Jr=Z(((e,t)=>{var{dirname:n}=Q(`path`),r=(e,t,i=void 0)=>i===t?Promise.resolve():e.statAsync(t).then(e=>e.isDirectory()?i:void 0,i=>i.code===`ENOENT`?r(e,n(t),t):void 0),i=(e,t,r=void 0)=>{if(r!==t)try{return e.statSync(t).isDirectory()?r:void 0}catch(r){return r.code===`ENOENT`?i(e,n(t),t):void 0}};t.exports={findMade:r,findMadeSync:i}})),Yr=Z(((e,t)=>{var{dirname:n}=Q(`path`),r=(e,t,i)=>{t.recursive=!1;let a=n(e);return a===e?t.mkdirAsync(e,t).catch(e=>{if(e.code!==`EISDIR`)throw e}):t.mkdirAsync(e,t).then(()=>i||e,n=>{if(n.code===`ENOENT`)return r(a,t).then(n=>r(e,t,n));if(n.code!==`EEXIST`&&n.code!==`EROFS`)throw n;return t.statAsync(e).then(e=>{if(e.isDirectory())return i;throw n},()=>{throw n})})},i=(e,t,r)=>{let a=n(e);if(t.recursive=!1,a===e)try{return t.mkdirSync(e,t)}catch(e){if(e.code!==`EISDIR`)throw e;return}try{return t.mkdirSync(e,t),r||e}catch(n){if(n.code===`ENOENT`)return i(e,t,i(a,t,r));if(n.code!==`EEXIST`&&n.code!==`EROFS`)throw n;try{if(!t.statSync(e).isDirectory())throw n}catch{throw n}}};t.exports={mkdirpManual:r,mkdirpManualSync:i}})),Xr=Z(((e,t)=>{var{dirname:n}=Q(`path`),{findMade:r,findMadeSync:i}=Jr(),{mkdirpManual:a,mkdirpManualSync:o}=Yr();t.exports={mkdirpNative:(e,t)=>(t.recursive=!0,n(e)===e?t.mkdirAsync(e,t):r(t,e).then(n=>t.mkdirAsync(e,t).then(()=>n).catch(n=>{if(n.code===`ENOENT`)return a(e,t);throw n}))),mkdirpNativeSync:(e,t)=>{if(t.recursive=!0,n(e)===e)return t.mkdirSync(e,t);let r=i(t,e);try{return t.mkdirSync(e,t),r}catch(n){if(n.code===`ENOENT`)return o(e,t);throw n}}}})),Zr=Z(((e,t)=>{var n=Q(`fs`),r=(process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version).replace(/^v/,``).split(`.`),i=+r[0]>10||+r[0]==10&&+r[1]>=12;t.exports={useNative:i?e=>e.mkdir===n.mkdir:()=>!1,useNativeSync:i?e=>e.mkdirSync===n.mkdirSync:()=>!1}})),Qr=Z(((e,t)=>{var n=Kr(),r=qr(),{mkdirpNative:i,mkdirpNativeSync:a}=Xr(),{mkdirpManual:o,mkdirpManualSync:s}=Yr(),{useNative:c,useNativeSync:l}=Zr(),u=(e,t)=>(e=r(e),t=n(t),c(t)?i(e,t):o(e,t));u.sync=(e,t)=>(e=r(e),t=n(t),l(t)?a(e,t):s(e,t)),u.native=(e,t)=>i(r(e),n(t)),u.manual=(e,t)=>o(r(e),n(t)),u.nativeSync=(e,t)=>a(r(e),n(t)),u.manualSync=(e,t)=>s(r(e),n(t)),t.exports=u})),$r=Z(((e,t)=>{var n=Q(`fs`),r=Q(`path`),i=n.lchown?`lchown`:`chown`,a=n.lchownSync?`lchownSync`:`chownSync`,o=n.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),s=(e,t,r)=>{try{return n[a](e,t,r)}catch(e){if(e.code!==`ENOENT`)throw e}},c=(e,t,r)=>{try{return n.chownSync(e,t,r)}catch(e){if(e.code!==`ENOENT`)throw e}},l=o?(e,t,r,i)=>a=>{!a||a.code!==`EISDIR`?i(a):n.chown(e,t,r,i)}:(e,t,n,r)=>r,u=o?(e,t,n)=>{try{return s(e,t,n)}catch(r){if(r.code!==`EISDIR`)throw r;c(e,t,n)}}:(e,t,n)=>s(e,t,n),d=process.version,f=(e,t,r)=>n.readdir(e,t,r),p=(e,t)=>n.readdirSync(e,t);/^v4\./.test(d)&&(f=(e,t,r)=>n.readdir(e,r));var m=(e,t,r,a)=>{n[i](e,t,r,l(e,t,r,e=>{a(e&&e.code!==`ENOENT`?e:null)}))},h=(e,t,i,a,o)=>{if(typeof t==`string`)return n.lstat(r.resolve(e,t),(n,r)=>{if(n)return o(n.code===`ENOENT`?null:n);r.name=t,h(e,r,i,a,o)});t.isDirectory()?g(r.resolve(e,t.name),i,a,n=>{if(n)return o(n);m(r.resolve(e,t.name),i,a,o)}):m(r.resolve(e,t.name),i,a,o)},g=(e,t,n,r)=>{f(e,{withFileTypes:!0},(i,a)=>{if(i){if(i.code===`ENOENT`)return r();if(i.code!==`ENOTDIR`&&i.code!==`ENOTSUP`)return r(i)}if(i||!a.length)return m(e,t,n,r);let o=a.length,s=null,c=i=>{if(!s){if(i)return r(s=i);if(--o===0)return m(e,t,n,r)}};a.forEach(r=>h(e,r,t,n,c))})},_=(e,t,i,a)=>{if(typeof t==`string`)try{let i=n.lstatSync(r.resolve(e,t));i.name=t,t=i}catch(e){if(e.code===`ENOENT`)return;throw e}t.isDirectory()&&v(r.resolve(e,t.name),i,a),u(r.resolve(e,t.name),i,a)},v=(e,t,n)=>{let r;try{r=p(e,{withFileTypes:!0})}catch(r){if(r.code===`ENOENT`)return;if(r.code===`ENOTDIR`||r.code===`ENOTSUP`)return u(e,t,n);throw r}return r&&r.length&&r.forEach(r=>_(e,r,t,n)),u(e,t,n)};t.exports=g,g.sync=v})),ei=Z(((e,t)=>{var n=Qr(),r=Q(`fs`),i=Q(`path`),a=$r(),o=Tr(),s=class extends Error{constructor(e,t){super(`Cannot extract through symbolic link`),this.path=t,this.symlink=e}get name(){return`SylinkError`}},c=class extends Error{constructor(e,t){super(t+`: Cannot cd into '`+e+`'`),this.path=e,this.code=t}get name(){return`CwdError`}},l=(e,t)=>e.get(o(t)),u=(e,t,n)=>e.set(o(t),n),d=(e,t)=>{r.stat(e,(n,r)=>{(n||!r.isDirectory())&&(n=new c(e,n&&n.code||`ENOTDIR`)),t(n)})};t.exports=(e,t,s)=>{e=o(e);let c=t.umask,p=t.mode|448,m=(p&c)!==0,h=t.uid,g=t.gid,_=typeof h==`number`&&typeof g==`number`&&(h!==t.processUid||g!==t.processGid),v=t.preserve,y=t.unlink,b=t.cache,x=o(t.cwd),S=(t,n)=>{t?s(t):(u(b,e,!0),n&&_?a(n,h,g,e=>S(e)):m?r.chmod(e,p,s):s())};if(b&&l(b,e)===!0)return S();if(e===x)return d(e,S);if(v)return n(e,{mode:p}).then(e=>S(null,e),S);f(x,o(i.relative(x,e)).split(`/`),p,b,y,x,null,S)};var f=(e,t,n,a,s,c,u,d)=>{if(!t.length)return d(null,u);let m=t.shift(),h=o(i.resolve(e+`/`+m));if(l(a,h))return f(h,t,n,a,s,c,u,d);r.mkdir(h,n,p(h,t,n,a,s,c,u,d))},p=(e,t,n,i,a,c,l,u)=>d=>{d?r.lstat(e,(m,h)=>{if(m)m.path=m.path&&o(m.path),u(m);else if(h.isDirectory())f(e,t,n,i,a,c,l,u);else if(a)r.unlink(e,o=>{if(o)return u(o);r.mkdir(e,n,p(e,t,n,i,a,c,l,u))});else if(h.isSymbolicLink())return u(new s(e,e+`/`+t.join(`/`)));else u(d)}):(l||=e,f(e,t,n,i,a,c,l,u))},m=e=>{let t=!1,n=`ENOTDIR`;try{t=r.statSync(e).isDirectory()}catch(e){n=e.code}finally{if(!t)throw new c(e,n)}};t.exports.sync=(e,t)=>{e=o(e);let c=t.umask,d=t.mode|448,f=(d&c)!==0,p=t.uid,h=t.gid,g=typeof p==`number`&&typeof h==`number`&&(p!==t.processUid||h!==t.processGid),_=t.preserve,v=t.unlink,y=t.cache,b=o(t.cwd),x=t=>{u(y,e,!0),t&&g&&a.sync(t,p,h),f&&r.chmodSync(e,d)};if(y&&l(y,e)===!0)return x();if(e===b)return m(b),x();if(_)return x(n.sync(e,d));let S=o(i.relative(b,e)).split(`/`),C=null;for(let e=S.shift(),t=b;e&&(t+=`/`+e);e=S.shift())if(t=o(i.resolve(t)),!l(y,t))try{r.mkdirSync(t,d),C||=t,u(y,t,!0)}catch{let e=r.lstatSync(t);if(e.isDirectory()){u(y,t,!0);continue}if(v){r.unlinkSync(t),r.mkdirSync(t,d),C||=t,u(y,t,!0);continue}if(e.isSymbolicLink())return new s(t,t+`/`+S.join(`/`))}return x(C)}})),ti=Z(((e,t)=>{var n=Object.create(null),{hasOwnProperty:r}=Object.prototype;t.exports=e=>(r.call(n,e)||(n[e]=e.normalize(`NFD`)),n[e])})),ni=Z(((e,t)=>{var n=Q(`assert`),r=ti(),i=jr(),{join:a}=Q(`path`),o=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`;t.exports=()=>{let e=new Map,t=new Map,s=e=>e.split(`/`).slice(0,-1).reduce((e,t)=>(e.length&&(t=a(e[e.length-1],t)),e.push(t||`/`),e),[]),c=new Set,l=n=>{let r=t.get(n);if(!r)throw Error(`function does not have any path reservations`);return{paths:r.paths.map(t=>e.get(t)),dirs:[...r.dirs].map(t=>e.get(t))}},u=e=>{let{paths:t,dirs:n}=l(e);return t.every(t=>t[0]===e)&&n.every(t=>t[0]instanceof Set&&t[0].has(e))},d=e=>c.has(e)||!u(e)?!1:(c.add(e),e(()=>f(e)),!0),f=r=>{if(!c.has(r))return!1;let{paths:i,dirs:a}=t.get(r),o=new Set;return i.forEach(t=>{let i=e.get(t);n.equal(i[0],r),i.length===1?e.delete(t):(i.shift(),typeof i[0]==`function`?o.add(i[0]):i[0].forEach(e=>o.add(e)))}),a.forEach(t=>{let i=e.get(t);n(i[0]instanceof Set),i[0].size===1&&i.length===1?e.delete(t):i[0].size===1?(i.shift(),o.add(i[0])):i[0].delete(r)}),c.delete(r),o.forEach(e=>d(e)),!0};return{check:u,reserve:(n,c)=>{n=o?[`win32 parallelization disabled`]:n.map(e=>i(a(r(e))).toLowerCase());let l=new Set(n.map(e=>s(e)).reduce((e,t)=>e.concat(t)));return t.set(c,{dirs:l,paths:n}),n.forEach(t=>{let n=e.get(t);n?n.push(c):e.set(t,[c])}),l.forEach(t=>{let n=e.get(t);n?n[n.length-1]instanceof Set?n[n.length-1].add(c):n.push(new Set([c])):e.set(t,[new Set([c])])}),d(c)}}}})),ri=Z(((e,t)=>{var n=(process.env.__FAKE_PLATFORM__||process.platform)===`win32`,{O_CREAT:r,O_TRUNC:i,O_WRONLY:a,UV_FS_O_FILEMAP:o=0}=(global.__FAKE_TESTING_FS__||Q(`fs`)).constants,s=n&&!!o,c=524288,l=o|i|r|a;t.exports=s?e=>e<c?l:`w`:()=>`w`})),ii=Z(((e,t)=>{var n=Q(`assert`),r=Vr(),i=Q(`fs`),a=Br(),o=Q(`path`),s=ei(),c=Nr(),l=ni(),u=Pr(),d=Tr(),f=jr(),p=ti(),m=Symbol(`onEntry`),h=Symbol(`checkFs`),g=Symbol(`checkFs2`),_=Symbol(`pruneCache`),v=Symbol(`isReusable`),y=Symbol(`makeFs`),b=Symbol(`file`),x=Symbol(`directory`),S=Symbol(`link`),C=Symbol(`symlink`),w=Symbol(`hardlink`),T=Symbol(`unsupported`),E=Symbol(`checkPath`),D=Symbol(`mkdir`),O=Symbol(`onError`),k=Symbol(`pending`),A=Symbol(`pend`),j=Symbol(`unpend`),M=Symbol(`ended`),N=Symbol(`maybeClose`),P=Symbol(`skip`),F=Symbol(`doChown`),I=Symbol(`uid`),L=Symbol(`gid`),R=Symbol(`checkedCwd`),z=Q(`crypto`),B=ri(),V=(process.env.TESTING_TAR_FAKE_PLATFORM||process.platform)===`win32`,H=1024,ee=(e,t)=>{if(!V)return i.unlink(e,t);let n=e+`.DELETE.`+z.randomBytes(16).toString(`hex`);i.rename(e,n,e=>{if(e)return t(e);i.unlink(n,t)})},te=e=>{if(!V)return i.unlinkSync(e);let t=e+`.DELETE.`+z.randomBytes(16).toString(`hex`);i.renameSync(e,t),i.unlinkSync(t)},ne=(e,t,n)=>e===e>>>0?e:t===t>>>0?t:n,re=e=>f(d(p(e))).toLowerCase(),ie=(e,t)=>{t=re(t);for(let n of e.keys()){let r=re(n);(r===t||r.indexOf(t+`/`)===0)&&e.delete(n)}},ae=e=>{for(let t of e.keys())e.delete(t)},oe=class extends r{constructor(e){if(e||={},e.ondone=e=>{this[M]=!0,this[N]()},super(e),this[R]=!1,this.reservations=l(),this.transform=typeof e.transform==`function`?e.transform:null,this.writable=!0,this.readable=!1,this[k]=0,this[M]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid==`number`||typeof e.gid==`number`){if(typeof e.uid!=`number`||typeof e.gid!=`number`)throw TypeError(`cannot set owner without number uid and gid`);if(e.preserveOwner)throw TypeError(`cannot preserve owner in archive and also set owner explicitly`);this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;this.preserveOwner=e.preserveOwner===void 0&&typeof e.uid!=`number`?process.getuid&&process.getuid()===0:!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.maxDepth=typeof e.maxDepth==`number`?e.maxDepth:H,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||V,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=d(o.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask==`number`?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on(`entry`,e=>this[m](e))}warn(e,t,n={}){return(e===`TAR_BAD_ARCHIVE`||e===`TAR_ABORT`)&&(n.recoverable=!1),super.warn(e,t,n)}[N](){this[M]&&this[k]===0&&(this.emit(`prefinish`),this.emit(`finish`),this.emit(`end`))}[E](e){let t=d(e.path),n=t.split(`/`);if(this.strip){if(n.length<this.strip)return!1;if(e.type===`Link`){let t=d(e.linkpath).split(`/`);if(t.length>=this.strip)e.linkpath=t.slice(this.strip).join(`/`);else return!1}n.splice(0,this.strip),e.path=n.join(`/`)}if(isFinite(this.maxDepth)&&n.length>this.maxDepth)return this.warn(`TAR_ENTRY_ERROR`,`path excessively deep`,{entry:e,path:t,depth:n.length,maxDepth:this.maxDepth}),!1;if(!this.preservePaths){if(n.includes(`..`)||V&&/^[a-z]:\.\.$/i.test(n[0]))return this.warn(`TAR_ENTRY_ERROR`,`path contains '..'`,{entry:e,path:t}),!1;let[r,i]=u(t);r&&(e.path=i,this.warn(`TAR_ENTRY_INFO`,`stripping ${r} from absolute path`,{entry:e,path:t}))}if(e.absolute=o.isAbsolute(e.path)?d(o.resolve(e.path)):d(o.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+`/`)!==0&&e.absolute!==this.cwd)return this.warn(`TAR_ENTRY_ERROR`,`path escaped extraction target`,{entry:e,path:d(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!==`Directory`&&e.type!==`GNUDumpDir`)return!1;if(this.win32){let{root:t}=o.win32.parse(e.absolute);e.absolute=t+c.encode(e.absolute.slice(t.length));let{root:n}=o.win32.parse(e.path);e.path=n+c.encode(e.path.slice(n.length))}return!0}[m](e){if(!this[E](e))return e.resume();switch(n.equal(typeof e.absolute,`string`),e.type){case`Directory`:case`GNUDumpDir`:e.mode&&(e.mode|=448);case`File`:case`OldFile`:case`ContiguousFile`:case`Link`:case`SymbolicLink`:return this[h](e);default:return this[T](e)}}[O](e,t){e.name===`CwdError`?this.emit(`error`,e):(this.warn(`TAR_ENTRY_ERROR`,e,{entry:t}),this[j](),t.resume())}[D](e,t,n){s(d(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t,noChmod:this.noChmod},n)}[F](e){return this.forceChown||this.preserveOwner&&(typeof e.uid==`number`&&e.uid!==this.processUid||typeof e.gid==`number`&&e.gid!==this.processGid)||typeof this.uid==`number`&&this.uid!==this.processUid||typeof this.gid==`number`&&this.gid!==this.processGid}[I](e){return ne(this.uid,e.uid,this.processUid)}[L](e){return ne(this.gid,e.gid,this.processGid)}[b](e,t){let n=e.mode&4095||this.fmode,r=new a.WriteStream(e.absolute,{flags:B(e.size),mode:n,autoClose:!1});r.on(`error`,n=>{r.fd&&i.close(r.fd,()=>{}),r.write=()=>!0,this[O](n,e),t()});let o=1,s=n=>{n?(r.fd&&i.close(r.fd,()=>{}),this[O](n,e),t()):--o===0&&i.close(r.fd,n=>{n?this[O](n,e):this[j](),t()})};r.on(`finish`,t=>{let n=e.absolute,a=r.fd;if(e.mtime&&!this.noMtime){o++;let t=e.atime||new Date,r=e.mtime;i.futimes(a,t,r,e=>e?i.utimes(n,t,r,t=>s(t&&e)):s())}if(this[F](e)){o++;let t=this[I](e),r=this[L](e);i.fchown(a,t,r,e=>e?i.chown(n,t,r,t=>s(t&&e)):s())}s()});let c=this.transform&&this.transform(e)||e;c!==e&&(c.on(`error`,n=>{this[O](n,e),t()}),e.pipe(c)),c.pipe(r)}[x](e,t){let n=e.mode&4095||this.dmode;this[D](e.absolute,n,n=>{if(n){this[O](n,e),t();return}let r=1,a=n=>{--r===0&&(t(),this[j](),e.resume())};e.mtime&&!this.noMtime&&(r++,i.utimes(e.absolute,e.atime||new Date,e.mtime,a)),this[F](e)&&(r++,i.chown(e.absolute,this[I](e),this[L](e),a)),a()})}[T](e){e.unsupported=!0,this.warn(`TAR_ENTRY_UNSUPPORTED`,`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[C](e,t){this[S](e,e.linkpath,`symlink`,t)}[w](e,t){let n=d(o.resolve(this.cwd,e.linkpath));this[S](e,n,`link`,t)}[A](){this[k]++}[j](){this[k]--,this[N]()}[P](e){this[j](),e.resume()}[v](e,t){return e.type===`File`&&!this.unlink&&t.isFile()&&t.nlink<=1&&!V}[h](e){this[A]();let t=[e.path];e.linkpath&&t.push(e.linkpath),this.reservations.reserve(t,t=>this[g](e,t))}[_](e){e.type===`SymbolicLink`?ae(this.dirCache):e.type!==`Directory`&&ie(this.dirCache,e.absolute)}[g](e,t){this[_](e);let n=n=>{this[_](e),t(n)},r=()=>{this[D](this.cwd,this.dmode,t=>{t?(this[O](t,e),n()):(this[R]=!0,a())})},a=()=>{if(e.absolute!==this.cwd){let t=d(o.dirname(e.absolute));if(t!==this.cwd)return this[D](t,this.dmode,t=>{t?(this[O](t,e),n()):s()})}s()},s=()=>{i.lstat(e.absolute,(t,r)=>{if(r&&(this.keep||this.newer&&r.mtime>e.mtime))this[P](e),n();else{if(t||this[v](e,r))return this[y](null,e,n);if(r.isDirectory()){if(e.type===`Directory`){let t=!this.noChmod&&e.mode&&(r.mode&4095)!==e.mode,a=t=>this[y](t,e,n);return t?i.chmod(e.absolute,e.mode,a):a()}if(e.absolute!==this.cwd)return i.rmdir(e.absolute,t=>this[y](t,e,n))}if(e.absolute===this.cwd)return this[y](null,e,n);ee(e.absolute,t=>this[y](t,e,n))}})};this[R]?a():r()}[y](e,t,n){if(e)this[O](e,t),n();else switch(t.type){case`File`:case`OldFile`:case`ContiguousFile`:return this[b](t,n);case`Link`:return this[w](t,n);case`SymbolicLink`:return this[C](t,n);case`Directory`:case`GNUDumpDir`:return this[x](t,n)}}[S](e,t,n,r){i[n](t,e.absolute,t=>{t?this[O](t,e):(this[j](),e.resume()),r()})}},se=e=>{try{return[null,e()]}catch(e){return[e,null]}};oe.Sync=class extends oe{[y](e,t){return super[y](e,t,()=>{})}[h](e){if(this[_](e),!this[R]){let t=this[D](this.cwd,this.dmode);if(t)return this[O](t,e);this[R]=!0}if(e.absolute!==this.cwd){let t=d(o.dirname(e.absolute));if(t!==this.cwd){let n=this[D](t,this.dmode);if(n)return this[O](n,e)}}let[t,n]=se(()=>i.lstatSync(e.absolute));if(n&&(this.keep||this.newer&&n.mtime>e.mtime))return this[P](e);if(t||this[v](e,n))return this[y](null,e);if(n.isDirectory()){if(e.type===`Directory`){let[t]=!this.noChmod&&e.mode&&(n.mode&4095)!==e.mode?se(()=>{i.chmodSync(e.absolute,e.mode)}):[];return this[y](t,e)}let[t]=se(()=>i.rmdirSync(e.absolute));this[y](t,e)}let[r]=e.absolute===this.cwd?[]:se(()=>te(e.absolute));this[y](r,e)}[b](e,t){let n=e.mode&4095||this.fmode,r=n=>{let r;try{i.closeSync(a)}catch(e){r=e}(n||r)&&this[O](n||r,e),t()},a;try{a=i.openSync(e.absolute,B(e.size),n)}catch(e){return r(e)}let o=this.transform&&this.transform(e)||e;o!==e&&(o.on(`error`,t=>this[O](t,e)),e.pipe(o)),o.on(`data`,e=>{try{i.writeSync(a,e,0,e.length)}catch(e){r(e)}}),o.on(`end`,t=>{let n=null;if(e.mtime&&!this.noMtime){let t=e.atime||new Date,r=e.mtime;try{i.futimesSync(a,t,r)}catch(a){try{i.utimesSync(e.absolute,t,r)}catch{n=a}}}if(this[F](e)){let t=this[I](e),r=this[L](e);try{i.fchownSync(a,t,r)}catch(a){try{i.chownSync(e.absolute,t,r)}catch{n||=a}}}r(n)})}[x](e,t){let n=e.mode&4095||this.dmode,r=this[D](e.absolute,n);if(r)this[O](r,e),t();else{if(e.mtime&&!this.noMtime)try{i.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[F](e))try{i.chownSync(e.absolute,this[I](e),this[L](e))}catch{}t(),e.resume()}}[D](e,t){try{return s.sync(d(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(e){return e}}[S](e,t,n,r){try{i[n+`Sync`](t,e.absolute),r(),e.resume()}catch(t){return this[O](t,e)}}},t.exports=oe})),ai=Z(((e,t)=>{var n=br(),r=ii(),i=Q(`fs`),a=Br(),o=Q(`path`),s=jr();t.exports=(e,t,r)=>{typeof e==`function`?(r=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),typeof t==`function`&&(r=t,t=null),t=t?Array.from(t):[];let i=n(e);if(i.sync&&typeof r==`function`)throw TypeError(`callback not supported for sync tar functions`);if(!i.file&&typeof r==`function`)throw TypeError(`callback only supported with file option`);return t.length&&c(i,t),i.file&&i.sync?l(i):i.file?u(i,r):i.sync?d(i):f(i)};var c=(e,t)=>{let n=new Map(t.map(e=>[s(e),!0])),r=e.filter,i=(e,t)=>{let r=t||o.parse(e).root||`.`,a=e===r?!1:n.has(e)?n.get(e):i(o.dirname(e),r);return n.set(e,a),a};e.filter=r?(e,t)=>r(e,t)&&i(s(e)):e=>i(s(e))},l=e=>{let t=new r.Sync(e),n=e.file,o=i.statSync(n),s=e.maxReadSize||16777216;new a.ReadStreamSync(n,{readSize:s,size:o.size}).pipe(t)},u=(e,t)=>{let n=new r(e),o=e.maxReadSize||16777216,s=e.file,c=new Promise((e,t)=>{n.on(`error`,t),n.on(`close`,e),i.stat(s,(e,r)=>{if(e)t(e);else{let e=new a.ReadStream(s,{readSize:o,size:r.size});e.on(`error`,t),e.pipe(n)}})});return t?c.then(t,t):c},d=e=>new r.Sync(e),f=e=>new r(e)})),oi=Z((e=>{e.c=e.create=Ur(),e.r=e.replace=Wr(),e.t=e.list=Hr(),e.u=e.update=Gr(),e.x=e.extract=ai(),e.Pack=zr(),e.Unpack=ii(),e.Parse=Vr(),e.ReadEntry=Er(),e.WriteEntry=Ir(),e.Header=kr(),e.Pax=Ar(),e.types=Dr()})),si=gn(yr()),ci=gn(oi()),li={18:{version:`v18.20.8`},19:{version:`v19.9.0`},20:{version:`v20.20.2`},21:{version:`v21.7.3`},22:{version:`v22.23.3`},23:{version:`v23.11.1`},24:{version:`v24.21.0`},25:{version:`v25.9.0`},26:{version:`v26.11.1`}},ui=process.platform===`win32`;function di(e){if(typeof e!=`string`||!/^\d+(\.\d+){0,2}$/.test(e))throw Error(`nodeVersion 应为 "18" | "18.1" | "18.1.5" 形式(1~3 段数字),收到:${e}`);let t=e.split(`.`).map(Number),n=Object.entries(li),r=n.find(([,e])=>{let n=e.version.replace(/^v/,``).split(`.`).map(Number);return t.every((e,t)=>n[t]===e)});if(!r)throw Error(`ezn 内置版本表无匹配 Node ${e} 的版本(当前内置:${n.map(([e,t])=>`${e}=${t.version}`).join(`、`)})。可改传主版本号(如 18),或经 scripts/update-node-assets.mts 更新版本表。`);return r[1].version}function fi(e){return ui?S(e,`node.exe`):S(e,`bin`,`node`)}function pi(){return`${process.platform}-${process.arch}`}function mi(e){let t=w(e);return o(fi(t))?t:null}function hi(e,t){return[S(e,`node_modules`,`npm`,`bin`,`${t}-cli.js`),S(e,`lib`,`node_modules`,`npm`,`bin`,`${t}-cli.js`)]}function gi(e,t){let n=hi(e,t),r=n.find(e=>o(e));if(!r)throw Error([`未找到自带 ${t}(该目录可能不是完整的 Node 运行时)。已查找以下位置:`,...n.map(e=>` - ${e}`),`可尝试的恢复方式:`,` 1. 托管运行时(<appDir>/node):删除该目录后重新启动服务,由引导重新落位完整运行时;`,` 2. 手工安装的平铺运行时:请确认发行包完整(含自带 npm/npx),必要时重新解压放置。`].join(`
32
+ `));return r}function _i(e){return mi(e)!==null&&hi(e,`npm`).some(e=>o(e))}var vi=[`.cmd`,`.bat`,`.exe`];function yi(e,t){if(t.includes(`/`)||t.includes(`\\`))return null;let n=ui?vi.map(n=>S(e,`${t}${n}`)):[S(e,t)];return n.push(S(e,`node_modules`,`.bin`,t)),n.find(e=>o(e))??null}function bi(e){return(ui?[e,S(e,`node_modules`,`.bin`)]:[S(e,`bin`),e]).join(b)+b}var xi=Z(((e,t)=>{t.exports=n;function n(){this.pending=0,this.max=1/0,this.listeners=[],this.waiting=[],this.error=null}n.prototype.go=function(e){this.pending<this.max?i(this,e):this.waiting.push(e)},n.prototype.wait=function(e){this.pending===0?e(this.error):this.listeners.push(e)},n.prototype.hold=function(){return r(this)};function r(e){e.pending+=1;var t=!1;return n;function n(n){if(t)throw Error(`callback called twice`);if(t=!0,e.error=e.error||n,--e.pending,e.waiting.length>0&&e.pending<e.max)i(e,e.waiting.shift());else if(e.pending===0){var a=e.listeners;e.listeners=[],a.forEach(r)}}function r(t){t(e.error)}}function i(e,t){t(r(e))}})),Si=Z((e=>{var t=Q(`fs`),n=Q(`util`),r=Q(`stream`),i=r.Readable,a=r.PassThrough,o=xi(),s=Q(`events`).EventEmitter;e.BufferSlicer=u,e.FdSlicer=c,n.inherits(c,s);function c(e){s.call(this),this.fd=e,this.pend=new o,this.pend.max=1,this.refCount=0}c.prototype.read=function(e,n,r,i,a){var o=this;o.pend.go(function(s){t.read(o.fd,e,n,r,i,function(e,t,n){s(),a(e,t,n)})})},c.prototype.createReadStream=function(e){return new l(this,e)},c.prototype.ref=function(){this.refCount+=1},c.prototype.unref=function(){var e=this;if(--e.refCount,e.refCount<0)throw Error(`invalid unref`);if(e.refCount>0)return;t.close(e.fd,n);function n(t){t?e.emit(`error`,t):e.emit(`close`)}},n.inherits(l,i);function l(e,t){t||={},i.call(this,t),this.context=e,this.context.ref(),this.start=t.start||0,this.endOffset=t.end,this.pos=this.start}l.prototype._read=function(e){var n=this,r=Math.min(n._readableState.highWaterMark,e);n.endOffset!=null&&(r=Math.min(r,n.endOffset-n.pos)),r<=0?(n.push(null),this._cleanup()):n.context.pend.go(function(e){var i=Buffer.allocUnsafe(r);t.read(n.context.fd,i,0,r,n.pos,function(t,r){t?n.destroy(t):r===0?(n.push(null),n._cleanup()):(n.pos+=r,n.push(i.slice(0,r))),e()})})},l.prototype._destroy=function(e,t){this._cleanup(),t(e)},l.prototype._cleanup=function(){this.context!=null&&(this.context.unref(),this.context=null)},n.inherits(u,s);function u(e){s.call(this),this.refCount=0,this.buffer=e}u.prototype.read=function(e,t,n,r,i){if(!(0<=t&&t<=e.length))throw RangeError(`offset outside buffer: 0 <= `+t+` <= `+e.length);if(r<0)throw RangeError(`position is negative: `+r);t+n>e.length&&(n=e.length-t),r+n>this.buffer.length&&(n=this.buffer.length-r),n<=0?setImmediate(function(){i(null,0)}):(this.buffer.copy(e,t,r,r+n),setImmediate(function(){i(null,n)}))},u.prototype.createReadStream=function(e){e||={};var t=new a(e);t.start=e.start||0,t.endOffset=e.end,t.pos=t.endOffset||this.buffer.length;for(var n=this.buffer.slice(t.start,t.pos),r=65536,i=0;;){var o=i+r;if(o>=n.length){i<n.length&&t.write(n.slice(i,n.length));break}t.write(n.slice(i,o)),i=o}return t.end(),t},u.prototype.ref=function(){this.refCount+=1},u.prototype.unref=function(){if(--this.refCount,this.refCount<0)throw Error(`invalid unref`)}})),Ci=Z(((e,t)=>{var n=new Int32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function r(e){let t=-1;for(let r of e)t=n[(t^r)&255]^t>>>8;return(t^-1)>>>0}t.exports=r})),wi=Z((e=>{var t=Q(`fs`),n=Q(`zlib`),r=Si(),i=Q(`util`),a=Q(`events`).EventEmitter,o=Q(`stream`).Transform,s=Q(`stream`).PassThrough,c=Q(`stream`).Writable,l=typeof n.crc32==`function`?n.crc32:Ci();e.openPromise=u;function u(e,t){return new Promise((n,r)=>{d(e,{...t,lazyEntries:!0},function(e,t){if(e)return r(e);n(t)})})}function d(e,n,r){typeof n==`function`&&(r=n,n=null),n??={},n.autoClose??(n.autoClose=!0),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0),n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),r??=M,t.open(e,`r`,function(e,i){if(e)return r(e);f(i,n,function(e,n){e&&t.close(i,M),r(e,n)})})}function f(e,n,i){typeof n==`function`&&(i=n,n=null),n??={},n.autoClose??(n.autoClose=!1),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0),n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),i??=M,t.fstat(e,function(t,a){if(t)return i(t);p(new r.FdSlicer(e),a.size,n,i)})}function p(e,t,n,r){typeof n==`function`&&(r=n,n=null),n??={},n.autoClose??(n.autoClose=!0),n.lazyEntries??(n.lazyEntries=!1),n.decodeStrings??(n.decodeStrings=!0);var i=!!n.decodeStrings;if(n.validateEntrySizes??(n.validateEntrySizes=!0),n.strictFileNames??(n.strictFileNames=!1),r??=M,typeof t!=`number`)throw Error(`expected totalSize parameter to be a number`);if(t>2**53-1)throw Error(`zip file too large. only file sizes up to 2^52 are supported due to JavaScript's Number type being an IEEE 754 double.`);e.ref();var a=22,o=20,s=Math.min(o+a+65535,t),c=A(s);C(e,c,0,s,t-c.length,function(l){if(l)return r(l);for(var u=s-a;u>=0;--u)if(c.readUInt32LE(u)===101010256){var d=c.subarray(u),f=d.readUInt16LE(4),p=d.readUInt16LE(10),h=d.readUInt32LE(16),g=d.readUInt16LE(20),_=d.length-a;if(g!==_)return r(Error(`Invalid comment length. Expected: `+_+`. Found: `+g+". Are there extra bytes at the end of the file? Or is the end of central dir signature `PK☺☻` in the comment?"));var v=i?O(d.subarray(22),!1):d.subarray(22);if(u-o>=0&&c.readUInt32LE(u-o)===117853008){var y=k(c.subarray(u-o,u-o+o),8),b=A(56);return C(e,b,0,b.length,y,function(a){return a?r(a):b.readUInt32LE(0)===101075792?(f=b.readUInt32LE(16),f===0?(p=k(b,32),h=k(b,48),r(null,new m(e,h,t,p,v,n.autoClose,n.lazyEntries,i,n.validateEntrySizes,n.strictFileNames))):r(Error(`multi-disk zip files are not supported: found disk number: `+f))):r(Error(`invalid zip64 end of central directory record signature`))})}return f===0?r(null,new m(e,h,t,p,v,n.autoClose,n.lazyEntries,i,n.validateEntrySizes,n.strictFileNames)):r(Error(`multi-disk zip files are not supported: found disk number: `+f))}r(Error(`End of central directory record signature not found. Either not a zip file, or file is truncated.`))})}i.inherits(m,a);function m(e,t,n,r,i,o,s,c,l,u){var d=this;a.call(d),d.reader=e,d.reader.on(`error`,function(e){g(d,e)}),d.reader.once(`close`,function(){d.emit(`close`)}),d.readEntryCursor=t,d.fileSize=n,d.entryCount=r,d.comment=i,d.entriesRead=0,d.autoClose=!!o,d.lazyEntries=!!s,d.decodeStrings=!!c,d.validateEntrySizes=!!l,d.strictFileNames=!!u,d.isOpen=!0,d.emittedError=!1,d.hasEachEntryBeenCalled=!1,d.lazyEntries||d._readEntry()}m.prototype.close=function(){this.isOpen&&(this.isOpen=!1,this.reader.unref())};function h(e,t){e.autoClose&&e.close(),g(e,t)}function g(e,t){e.emittedError||(e.emittedError=!0,e.emit(`error`,t))}m.prototype.readEntry=function(){if(!this.lazyEntries)throw Error(`readEntry() called without lazyEntries:true`);this._readEntry()},m.prototype._readEntry=function(){var e=this;if(e.entryCount===e.entriesRead)setImmediate(function(){e.autoClose&&e.close(),!e.emittedError&&e.emit(`end`)});else if(!e.emittedError){var t=A(46);C(e.reader,t,0,t.length,e.readEntryCursor,function(n){if(n)return h(e,n);if(!e.emittedError){var r=new _,i=t.readUInt32LE(0);if(i!==33639248)return h(e,Error(`invalid central directory file header signature: 0x`+i.toString(16)));if(r.versionMadeBy=t.readUInt16LE(4),r.versionNeededToExtract=t.readUInt16LE(6),r.generalPurposeBitFlag=t.readUInt16LE(8),r.compressionMethod=t.readUInt16LE(10),r.lastModFileTime=t.readUInt16LE(12),r.lastModFileDate=t.readUInt16LE(14),r.crc32=t.readUInt32LE(16),r.compressedSize=t.readUInt32LE(20),r.uncompressedSize=t.readUInt32LE(24),r.fileNameLength=t.readUInt16LE(28),r.extraFieldLength=t.readUInt16LE(30),r.fileCommentLength=t.readUInt16LE(32),r.internalFileAttributes=t.readUInt16LE(36),r.externalFileAttributes=t.readUInt32LE(38),r.relativeOffsetOfLocalHeader=t.readUInt32LE(42),r.generalPurposeBitFlag&64)return h(e,Error(`strong encryption is not supported`));e.readEntryCursor+=46,t=A(r.fileNameLength+r.extraFieldLength+r.fileCommentLength),C(e.reader,t,0,t.length,e.readEntryCursor,function(n){if(n)return h(e,n);if(!e.emittedError){r.fileNameRaw=t.subarray(0,r.fileNameLength);var i=r.fileNameLength+r.extraFieldLength;r.extraFieldRaw=t.subarray(r.fileNameLength,i),r.fileCommentRaw=t.subarray(i,i+r.fileCommentLength);try{r.extraFields=S(r.extraFieldRaw)}catch(t){return h(e,t)}if(e.decodeStrings){var a=!!(r.generalPurposeBitFlag&2048);r.fileComment=O(r.fileCommentRaw,a),r.fileName=b(r.generalPurposeBitFlag,r.fileNameRaw,r.extraFields,e.strictFileNames);var o=x(r.fileName);if(o!=null)return h(e,Error(o))}else r.fileComment=r.fileCommentRaw,r.fileName=r.fileNameRaw;r.comment=r.fileComment,e.readEntryCursor+=t.length,e.entriesRead+=1;for(var s=0;s<r.extraFields.length;s++){var c=r.extraFields[s];if(c.id===1){var l=c.data,u=0;if(r.uncompressedSize===4294967295){if(u+8>l.length)return h(e,Error(`zip64 extended information extra field does not include uncompressed size`));r.uncompressedSize=k(l,u),u+=8}if(r.compressedSize===4294967295){if(u+8>l.length)return h(e,Error(`zip64 extended information extra field does not include compressed size`));r.compressedSize=k(l,u),u+=8}if(r.relativeOffsetOfLocalHeader===4294967295){if(u+8>l.length)return h(e,Error(`zip64 extended information extra field does not include relative header offset`));r.relativeOffsetOfLocalHeader=k(l,u),u+=8}break}}if(e.validateEntrySizes&&r.compressionMethod===0){var d=r.uncompressedSize;if(r.isEncrypted()&&(d+=12),r.compressedSize!==d){var f=`compressed/uncompressed size mismatch for stored file: `+r.compressedSize+` != `+r.uncompressedSize;return h(e,Error(f))}}e.emit(`entry`,r),e.lazyEntries||e._readEntry()}})}})}},m.prototype.eachEntry=function(){let e=this;if(!e.lazyEntries)throw Error(`eachEntry() requires lazyEntries: true`);if(e.hasEachEntryBeenCalled)throw Error(`eachEntry() must only be called once per ZipFile`);e.hasEachEntryBeenCalled=!0;let t=null;e.on(`entry`,r),e.on(`end`,i),e.on(`error`,a);function n(){e.removeListener(`entry`,r),e.removeListener(`end`,i),e.removeListener(`error`,a),e.autoClose&&e.close()}function r(e){let{resolve:n}=t;t=null,n({value:e})}function i(){let{resolve:e}=t;t=null,n(),e({done:!0})}function a(e){let{reject:r}=t;t=null,n(),r(e)}return{[Symbol.asyncIterator](){return this},next(){let n=new Promise((e,n)=>{if(t!=null)throw Error(`next() called before previous Promise was resolved.`);t={resolve:e,reject:n}});return e.readEntry(),n},return(e){return n(),Promise.resolve({done:!0,value:e})},throw(e){return n(),Promise.reject(e)}}},m.prototype.openReadStream=function(e,t,n){var r=this,i=0,a=e.compressedSize;if(n??(n=t,t=null),t==null)t={};else{if(t.decodeFileData===!1){if(t.decrypt!=null)throw Error(`cannot use options.decrypt when options.decodeFileData === false`);if(t.decompress!=null)throw Error(`cannot use options.decompress when options.decodeFileData === false`)}else{if(t.decrypt!=null){if(!e.isEncrypted())throw Error(`options.decrypt can only be specified for encrypted entries. See also option decodeFileData.`);if(t.decrypt!==!1)throw Error(`invalid options.decrypt value: `+t.decrypt);if(e.isCompressed()&&t.decompress!==!1)throw Error(`entry is encrypted and compressed, and options.decompress !== false. See also option decodeFileData.`)}if(t.decompress!=null){if(!e.isCompressed())throw Error(`options.decompress can only be specified for compressed entries. See also option decodeFileData.`);if(t.decompress!==!1&&t.decompress!==!0)throw Error(`invalid options.decompress value: `+t.decompress);s=t.decompress}}if(t.start!=null){if(i=t.start,i<0)throw Error(`options.start < 0`);if(i>e.compressedSize)throw Error(`options.start > entry.compressedSize`)}if(t.end!=null){if(a=t.end,a<0)throw Error(`options.end < 0`);if(a>e.compressedSize)throw Error(`options.end > entry.compressedSize`);if(a<i)throw Error(`options.end < options.start`)}}var o=t.decodeFileData===!1||(e.compressionMethod===0||e.compressionMethod===8&&t.decompress===!1)&&(!e.isEncrypted()||t.decrypt===!1);if((t.start!=null||t.end!=null)&&!o)throw Error(`start/end range require options.decodeFileData === false for non-trivial encoded entries.`);if(!r.isOpen)return n(Error(`closed`));if(e.isEncrypted()&&!o&&t.decrypt!==!1)return n(Error(`entry is encrypted, and options.decodeFileData !== false`));var s;if(o)s=!1;else if(e.compressionMethod===8)s=t.decodeFileData!==!0;else return n(Error(`unsupported compression method: `+e.compressionMethod));r.readLocalFileHeader(e,{minimal:!0},function(t,o){if(t)return n(t);r.openReadStreamLowLevel(o.fileDataStart,e.compressedSize,i,a,s,e.uncompressedSize,n)})},m.prototype.openReadStreamLowLevel=function(e,t,r,i,a,o,s){var c=this;e+t;var l=c.reader.createReadStream({start:e+r,end:e+i}),u=l;if(a){var d=!1,f=n.createInflateRaw();l.on(`error`,function(e){setImmediate(function(){d||f.emit(`error`,e)})}),l.pipe(f),c.validateEntrySizes?(u=new w(o),f.on(`error`,function(e){setImmediate(function(){d||u.emit(`error`,e)})}),f.pipe(u)):u=f,j(u,function(){d=!0,f!==u&&f.unpipe(u),l.unpipe(f),l.destroy()})}s(null,u)},m.prototype.readLocalFileHeader=function(e,t,n){var r=this;n??(n=t,t=null),t??={},r.reader.ref();var i=A(30);C(r.reader,i,0,i.length,e.relativeOffsetOfLocalHeader,function(a){try{if(a)return n(a);var o=i.readUInt32LE(0);if(o!==67324752)return n(Error(`invalid local file header signature: 0x`+o.toString(16)));var s=i.readUInt16LE(26),c=i.readUInt16LE(28),l=e.relativeOffsetOfLocalHeader+30+s+c;if(l+e.compressedSize>r.fileSize)return n(Error(`file data overflows file bounds: `+l+` + `+e.compressedSize+` > `+r.fileSize));if(t.minimal)return n(null,{fileDataStart:l});var u=new v;u.fileDataStart=l,u.versionNeededToExtract=i.readUInt16LE(4),u.generalPurposeBitFlag=i.readUInt16LE(6),u.compressionMethod=i.readUInt16LE(8),u.lastModFileTime=i.readUInt16LE(10),u.lastModFileDate=i.readUInt16LE(12),u.crc32=i.readUInt32LE(14),u.compressedSize=i.readUInt32LE(18),u.uncompressedSize=i.readUInt32LE(22),u.fileNameLength=s,u.extraFieldLength=c,i=A(s+c),r.reader.ref(),C(r.reader,i,0,i.length,e.relativeOffsetOfLocalHeader+30,function(e){try{return e?n(e):(u.fileName=i.subarray(0,s),u.extraField=i.subarray(s),n(null,u))}finally{r.reader.unref()}})}finally{r.reader.unref()}})},m.prototype.openReadStreamPromise=function(e,t){return new Promise((n,r)=>{this.openReadStream(e,t,function(e,t){if(e)return r(e);n(t)})})},m.prototype.openReadStreamLowLevelPromise=function(e,t,n,r,i,a){return new Promise((o,s)=>{this.openReadStream(e,t,n,r,i,a,function(e,t){if(e)return s(e);o(t)})})},m.prototype.readLocalFileHeaderPromise=function(e,t){return new Promise((n,r)=>{this.readLocalFileHeader(e,t,function(e,t){if(e)return r(e);n(t)})})};function _(){}_.prototype.getLastModDate=function(e){if(e??={},!e.forceDosFormat)for(var t=0;t<this.extraFields.length;t++){var n=this.extraFields[t];if(n.id===21589){var r=n.data;if(r.length<5||!(r[0]&1))continue;var i=r.readInt32LE(1);return new Date(i*1e3)}if(n.id===10){var r=n.data;if(r.length!==32||r.readUInt16LE(4)!==1||r.readUInt16LE(6)!==24)continue;var a=(r.readUInt32LE(8)+4294967296*r.readInt32LE(12))/1e4-0xa9730b66800;return new Date(a)}}return y(this.lastModFileDate,this.lastModFileTime,e.timezone)},_.prototype.canDecodeFileData=function(){return!this.isEncrypted()&&(this.compressionMethod===0||this.compressionMethod===8)},_.prototype.isEncrypted=function(){return!!(this.generalPurposeBitFlag&1)},_.prototype.isCompressed=function(){return this.compressionMethod===8};function v(){}function y(e,t,n){var r=e&31,i=(e>>5&15)-1,a=(e>>9&127)+1980,o=0,s=(t&31)*2,c=t>>5&63,l=t>>11&31;if(n==null||n===`local`)return new Date(a,i,r,l,c,s,o);if(n===`UTC`)return new Date(Date.UTC(a,i,r,l,c,s,o));throw Error(`unrecognized options.timezone: `+options.timezone)}function b(e,t,n,r){for(var i=null,a=0;a<n.length;a++){var o=n[a];if(o.id===28789){if(o.data.length<6||o.data.readUInt8(0)!==1)continue;var s=o.data.readUInt32LE(1);if(l(t)!==s)continue;i=O(o.data.subarray(5),!0);break}}return i??=O(t,!!(e&2048)),r||(i=i.replace(/\\/g,`/`)),i}function x(e){return e.indexOf(`\\`)===-1?/^[a-zA-Z]:/.test(e)||/^\//.test(e)?`absolute path: `+e:e.split(`/`).indexOf(`..`)===-1?null:`invalid relative path: `+e:`invalid characters in fileName: `+e}function S(e){for(var t=[],n=0;n<e.length-3;){var r=e.readUInt16LE(n+0),i=e.readUInt16LE(n+2),a=n+4,o=a+i;if(o>e.length)throw Error(`extra field length exceeds extra field buffer size`);var s=e.subarray(a,o);t.push({id:r,data:s}),n=o}return t}function C(e,t,n,r,i,a){if(r===0)return setImmediate(function(){a(null,A(0))});e.read(t,n,r,i,function(e,t){if(e)return a(e);if(t<r)return a(Error(`unexpected EOF`));a()})}i.inherits(w,o);function w(e){o.call(this),this.actualByteCount=0,this.expectedByteCount=e}w.prototype._transform=function(e,t,n){if(this.actualByteCount+=e.length,this.actualByteCount>this.expectedByteCount){var r=`too many bytes in the stream. expected `+this.expectedByteCount+`. got at least `+this.actualByteCount;return n(Error(r))}n(null,e)},w.prototype._flush=function(e){if(this.actualByteCount<this.expectedByteCount){var t=`not enough bytes in the stream. expected `+this.expectedByteCount+`. got only `+this.actualByteCount;return e(Error(t))}e()},i.inherits(T,a);function T(){a.call(this),this.refCount=0}T.prototype.ref=function(){this.refCount+=1},T.prototype.unref=function(){var e=this;if(--e.refCount,e.refCount>0)return;if(e.refCount<0)throw Error(`invalid unref`);e.close(t);function t(t){if(t)return e.emit(`error`,t);e.emit(`close`)}},T.prototype.createReadStream=function(e){e??={};var t=e.start,n=e.end;if(t===n){var r=new s;return setImmediate(function(){r.end()}),r}var i=this._readStreamForRange(t,n),a=!1,o=new E(this);i.on(`error`,function(e){setImmediate(function(){a||o.emit(`error`,e)})}),j(o,function(){i.unpipe(o),o.unref(),i.destroy()});var c=new w(n-t);return o.on(`error`,function(e){setImmediate(function(){a||c.emit(`error`,e)})}),j(c,function(){a=!0,o.unpipe(c),o.destroy()}),i.pipe(o).pipe(c)},T.prototype._readStreamForRange=function(e,t){throw Error(`not implemented`)},T.prototype.read=function(e,t,n,r,i){var a=this.createReadStream({start:r,end:r+n}),o=new c,s=0;o._write=function(n,r,i){n.copy(e,t+s,0,n.length),s+=n.length,i()},o.on(`finish`,i),a.on(`error`,function(e){i(e)}),a.pipe(o)},T.prototype.close=function(e){setImmediate(e)},i.inherits(E,s);function E(e){s.call(this),this.context=e,this.context.ref(),this.unreffedYet=!1}E.prototype._flush=function(e){this.unref(),e()},E.prototype.unref=function(e){this.unreffedYet||(this.unreffedYet=!0,this.context.unref())};var D=`\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■\xA0`;function O(e,t){if(t)return e.toString(`utf8`);for(var n=``,r=0;r<e.length;r++)n+=D[e[r]];return n}function k(e,t){var n=e.readUInt32LE(t);return e.readUInt32LE(t+4)*4294967296+n}var A=typeof Buffer.allocUnsafe==`function`?function(e){return Buffer.allocUnsafe(e)}:function(e){return new Buffer(e)};function j(e,t){typeof e.destroy==`function`?e._destroy=function(e,n){t(),n?.(e)}:e.destroy=t}function M(e){if(e)throw e}}))(),Ti=16384,Ei=16;function Di(e,t){let n=w(e,t);if(!n.startsWith(e+T))throw Error(`zip 条目越出目标目录:${t}`);if(t.split(`/`).some(e=>e.includes(`:`)))throw Error(`zip 条目名含非法字符「:」(NTFS 数据流形态):${t}`);return n}function Oi(e){return(e.externalFileAttributes>>>16&61440)===Ti||e.fileName.endsWith(`/`)?!0:!(e.versionMadeBy>>>8)&&e.externalFileAttributes===Ei}async function ki(e,t,n){let r=w(t);s(r,{recursive:!0});let i=0,o=0,c=null,l=(e=0)=>{n?.({entries:i,bytes:o+e,current:c})},u=await(0,wi.openPromise)(e);try{for await(let e of u.eachEntry()){if(e.fileName.startsWith(`__MACOSX/`))continue;let t=Di(r,e.fileName);if(Oi(e)){s(t,{recursive:!0}),i+=1,l();continue}s(x(t),{recursive:!0}),c=e.fileName,l();let n=0,d=await u.openReadStreamPromise(e);d.on(`data`,e=>{n+=e.length,l(n)}),await P(d,a(t)),o+=n,i+=1,c=null,l()}}finally{u.isOpen&&u.close()}}var Ai={"win32-x64":{dir:`win-x64`,ext:`zip`},"win32-arm64":{dir:`win-arm64`,ext:`zip`},"darwin-arm64":{dir:`darwin-arm64`,ext:`tar.gz`},"darwin-x64":{dir:`darwin-x64`,ext:`tar.gz`},"linux-x64":{dir:`linux-x64`,ext:`tar.gz`},"linux-arm64":{dir:`linux-arm64`,ext:`tar.gz`}},ji=process.platform===`win32`?[[`node_modules`]]:[[`lib`,`node_modules`]],Mi=5e3,Ni=3e3;function Pi(e,t){let n=e.bytes===null?``:`,${Math.round(e.bytes/1048576)} MB`,r=e.current===null?``:`(正在 ${e.current})`;return`[ezn] 已解压 ${e.entries} 项${n}${r}(已用 ${t} 秒) ...`}function Fi(e,t){let n=setInterval(()=>console.error(t()),e);return()=>clearInterval(n)}function Ii(e){return Math.round((Date.now()-e)/1e3)}async function Li(e,t,n){let r=`node-${e}-${n.platform.dir}.${n.platform.ext}`,i=S(t,`node.download.tmp`),o=S(t,`node.extract.tmp`),c=()=>{p(i,{force:!0}),p(o,{recursive:!0,force:!0})},l=[];n.mirror&&l.push(n.mirror.replace(/\/+$/,``)),l.push(`https://registry.npmmirror.com/-/binary/node`,`https://nodejs.org/dist`),p(i,{force:!0}),p(o,{recursive:!0,force:!0}),s(o,{recursive:!0});for(let t=0;t<l.length;t++){let u=l[t],f=`${u}/${e}/${r}`;console.error(`[ezn] (${t+1}/${l.length}) 正在下载 ${r}\n[ezn] 来源:${u}`);try{let e=Date.now(),t=0,r=si.default.stream(f,{decompress:!1,timeout:{connect:3e4,response:6e4,socket:6e4}});r.on(`downloadProgress`,e=>{t=e.transferred});let s=Fi(Mi,()=>`[ezn] 已下载 ${Math.round(t/1048576)} MB(已用 ${Ii(e)} 秒) ...`);try{await P(r,a(i))}finally{s()}console.error(`[ezn] 下载完成(${Math.round(m(i).size/1048576)} MB,耗时 ${Ii(e)} 秒),正在解压 ...`);let l=Date.now(),u={entries:0,bytes:null,current:null},h=Fi(Ni,()=>Pi(u,Ii(l)));try{n.platform.ext===`zip`?await ki(i,o,e=>{u=e}):await ci.x({file:i,cwd:o,onentry:e=>{u={entries:u.entries+1,bytes:null,current:e.path}}})}finally{h()}console.error(`[ezn] 解压完成(${u.entries} 项,耗时 ${Ii(l)} 秒)`);let g=d(o),_=g.length===1&&g[0]!==void 0&&m(S(o,g[0])).isDirectory()?S(o,g[0]):o;return p(i,{force:!0}),{src:_,cleanup:c}}catch(e){console.error(`[ezn] 该源失败:${e instanceof Error?e.message:String(e)}`),p(i,{force:!0}),p(o,{recursive:!0,force:!0}),s(o,{recursive:!0})}}p(o,{recursive:!0,force:!0});let u=l[l.length-1]??`https://nodejs.org/dist`;throw Error([`Node 运行时下载失败:所有镜像源均不可用。`,`可尝试的恢复方式:`,` 1. 检查网络后重试;`,` 2. 在 package.json 里配置私有镜像(目录结构需同 nodejs.org/dist)后重试,例如:`,` "ezn": { "node": "24", "mirror": "https://your-mirror.example/node-dist" }`,` 3. 手动放置:下载 ${r}(见 ${u}/${e}/),`,` 解压到 ${n.target}(如带顶层版本目录请把其内容上移一层),`,` 确保可执行文件位于 ${n.nodePath}。`].join(`
33
+ `))}function Ri(e,t,n,r,i){if(r.some(e=>n.length<=e.length&&n.every((t,n)=>e[n]===t))&&o(t)&&m(e).isDirectory()&&m(t).isDirectory()){for(let a of d(e))Ri(S(e,a),S(t,a),[...n,a],r,i);p(e,{recursive:!0,force:!0})}else{if(o(t)){let e=`${t}.old-${i}`;f(t,e),console.error(`[ezn] 同名项已备份:${e}`)}f(e,t)}}async function zi(e,t,n={}){let r=(e,t)=>{let n=Date.now();for(let r of d(e))Ri(S(e,r),S(t,r),[r],ji,n)},i=w(e),a=di(t),o=fi(i),c=pi(),l=Ai[c];if(!l)throw Error(`暂不支持的平台:${c}。请手动放置 Node ${a} 到 ${i},确保可执行文件位于 ${o}(Windows 为 node.exe,Unix 为 bin/node)。`);s(i,{recursive:!0});let{src:u,cleanup:f}=await Li(a,x(i),{target:i,nodePath:o,platform:l,mirror:n.mirror??null});try{console.error(`[ezn] 正在落位运行时文件 ...`),r(u,i)}finally{f()}console.error(`[ezn] Node ${a} 已就绪:${i}`)}function Bi(e){return e!==``&&!/[\s"^&|<>()%!]/.test(e)?e:`"${e.replace(/"/g,`\\"`)}"`}function Vi(e,t,n){return n?[[e,...t].map(Bi).join(` `),[]]:[e,[...t]]}function Hi(e,t,n={}){return new Promise((r,i)=>{let a=M(e,t,{windowsHide:!0,...n}),o=null,s=null;a.stdout&&(o=``,a.stdout.on(`data`,e=>o=(o??``)+e)),a.stderr&&(s=``,a.stderr.on(`data`,e=>s=(s??``)+e)),a.on(`error`,i),a.on(`close`,(e,t)=>r({status:e,signal:t,stdout:o,stderr:s}))})}var Ui=process.platform===`win32`;function Wi(e){return typeof e==`string`?e.trim().split(/\s+/).filter(e=>e.length>0):[...e]}var Gi=class e{constructor(e,t){this.path=e,this.rt=t}get npmCliPath(){return gi(this.rt,`npm`)}get npxCliPath(){return gi(this.rt,`npx`)}get major(){return e.probeMajor(this.path)}resolveArgs(e,t){let n=Wi(e);if(n.length===0)throw Error(`命令为空`);let r=n[0],i=n.slice(1);return r===`node`?i:r===`npm`?[this.npmCliPath,...i]:r===`npx`?[this.npxCliPath,...i]:t===null?n:[t,...n]}resolveExec(e,t){let n=Wi(e);if(n.length===0)throw Error(`命令为空`);let r=n[0],i=n.slice(1),a=this.childEnv(t.env);if(r===`node`)return{file:this.path,argv:i,shell:!1,env:a};if(r===`npm`)return{file:this.path,argv:[this.npmCliPath,...i],shell:!1,env:a};if(r===`npx`)return{file:this.path,argv:[this.npxCliPath,...i],shell:!1,env:a};let o=yi(this.rt,r);if(o!==null){let e=Ui&&/\.(cmd|bat)$/i.test(o),[t,n]=Vi(o,i,e);return{file:t,argv:n,shell:e,env:a}}return{file:this.path,argv:n,shell:!1,env:a}}childEnv(e){let t=e??process.env;return{...t,PATH:bi(this.rt)+(t.PATH??t.Path??``)}}execSync(e,t){let{file:n,argv:r,shell:i,env:a}=this.resolveExec(e,t??{});return N(n,r,{windowsHide:!0,encoding:`utf8`,...t,shell:i,env:a})}exec(e,t){let{file:n,argv:r,shell:i,env:a}=this.resolveExec(e,t??{});return Hi(n,r,{...t,shell:i,env:a})}npmSync(e,t){return N(this.path,this.resolveArgs(e,this.npmCliPath),{windowsHide:!0,encoding:`utf8`,...t})}npm(e,t){return Hi(this.path,this.resolveArgs(e,this.npmCliPath),t)}npxSync(e,t){return N(this.path,this.resolveArgs(e,this.npxCliPath),{windowsHide:!0,encoding:`utf8`,...t})}npx(e,t){return Hi(this.path,this.resolveArgs(e,this.npxCliPath),t)}static probeMajor(e){try{let t=j(e,[`-v`],{encoding:`utf8`,timeout:15e3,windowsHide:!0}),n=String(t).trim().match(/^v(\d+)\./);return n?Number(n[1]):null}catch{return null}}static async ensure(t,n,r={}){let i=w(t),a=di(n),s=Number(a.replace(/^v/,``).split(`.`)[0]),c=S(i,`node`),l=fi(c),u=r.nodeBin??null;if(u){if(!o(u))throw Error(`ezn.nodeBin 指定的 Node 不存在:${u}`);let t=e.probeMajor(u);if(t===null)throw Error(`ezn.nodeBin 指定的 Node 无法执行:${u}`);return t<s&&console.error(`[ezn] 警告:ezn.nodeBin 的 Node 主版本为 ${t},低于建议值 ${s},按用户指定继续。`),console.error(`[ezn] Node 运行时(ezn.nodeBin):${u}`),new e(u,c)}if(o(l)){let t=e.probeMajor(l);if(t!==null&&t>=s&&_i(c))return console.error(`[ezn] Node 运行时就绪:${l}`),new e(l,c);console.error(t===null?`[ezn] 已有 Node 运行时无法执行(疑似损坏),准备重新安装 ...`:t<s?`[ezn] 已有 Node 运行时主版本为 ${t},低于要求 ${s},准备重装 ...`:`[ezn] 已有 Node 运行时缺少自带 npm(上次落位可能中断),准备补齐 ...`)}return await zi(c,n,{mirror:r.mirror??null}),new e(l,c)}},Ki=`24`;function qi(e=xe){let t={};return e.NODE_MIRROR&&(t.mirror=e.NODE_MIRROR),e.NODE_BIN&&(t.nodeBin=e.NODE_BIN),t}async function Ji(e){return(await Gi.ensure(e,Ki,qi())).path}var $={ping:`ping`,status:`status`,childStart:`child.start`,childStop:`child.stop`,childRestart:`child.restart`,daemonStop:`daemon.stop`};function Yi(e){return e instanceof Error?e.message:String(e)}var Xi=1e4,Zi=2e4,Qi=3e5,$i=`daemon`,ea=class extends Error{stage;pid;constructor(e,t,n){super(t),this.name=`DaemonRestartError`,this.stage=e,this.pid=n}},ta=class{#e;#t;#n=null;#r={};#i=null;#a=$i;constructor(e){this.#e=e,this.#t=e.appDir}configure(e){this.#n=e.daemonJs??null,this.#r=e.env??{},this.#i=e.logFiles??null,this.#a=e.logPrefix??$i}#o(e=1e3){return this.#e.control.isReachable({timeoutMs:e})}#s(e,t={},n){return this.#e.control.request(e,t,n===void 0?{}:{timeoutMs:n})}#c(){return this.#i??{out:`${this.#a}.out.log`,err:`${this.#a}.err.log`}}#l(){return S(this.#t,`logs`,this.#c().err)}async isRunning(){return this.#o()}async status(){return await this.#o()?this.#s($.status):null}async childStatus(e){return(await this.status())?.children[e]??null}async call(e,t={},n){return this.#s(e,t,n||void 0)}async startChild(e){await this.#g();let t=await this.status();return{...await this.#s($.childStart,{name:e},Qi),alreadyRunning:t?.children[e]!=null}}async stopChild(e){await this.#g();let t=await this.#s($.childStop,{name:e});return this.#d(t)}async restartChild(e){await this.#g();let t=await this.#s($.childRestart,{name:e},Qi);if(`stopped`in t)throw Error(`停止旧服务失败(pid ${String(t.pid??`?`)} 可能仍存活),已中止重启。请检查该进程后重试。`);return t}async shutdown(){if(await this.#o()){let e=await this.#u(Xi);if(e?.kind===`command`)throw e.error;return e?.kind===`kill`?{stopped:!1,reason:`kill-failed`,pid:e.pid}:{stopped:!0}}let e=this.#e.control.readInfo(),t=this.#e.control.liveChildPids();if(t.length>0){for(let e of t)if(!await ct(e))return{stopped:!1,reason:`kill-failed`,pid:e};return e&&this.#e.control.clearInfo(e.pid),{stopped:!0}}return e&&this.#e.control.clearInfo(e.pid),{stopped:!1,reason:`not-running`}}async restartDaemon(e={}){let t=e.stopTimeoutMs??Xi,n=e.startTimeoutMs??Zi;if(await this.#o()){let e=await this.#u(t);if(e?.kind===`command`)throw new ea(`stop`,Yi(e.error));if(e?.kind===`kill`)throw new ea(`stop`,`停止旧主进程失败(pid ${String(e.pid)} 可能仍存活),已中止。新版本可能已装好,请手工结束该进程后重试。`,e.pid)}else await this.#p();let r=await this.#h(n);if(r!==null)throw new ea(`spawn`,r);let i=Date.now()+Qi;for(;Date.now()<i;){try{let t=await this.status(),n=t!==null&&Object.values(t.children).some(e=>e!==null);if(t!==null&&n&&(!e.expectVersion||t.version===e.expectVersion))return t}catch{}await this.#_(100)}throw new ea(`spawn`,`新主进程已启动,但未在时限内接管子进程或版本不匹配`)}async#u(e){let t=null;try{let e=await this.#s($.ping);t=typeof e?.pid==`number`?e.pid:null}catch{}try{await this.#s($.daemonStop)}catch(e){return t===null||Y(t)?{kind:`command`,error:e}:null}return t!==null&&!await this.#f(t,e)&&!await ct(t)?{kind:`kill`,pid:t}:null}#d(e){return e.stopped?{stopped:!0}:e.pid===null?{stopped:!1,reason:`not-running`}:{stopped:!1,reason:`kill-failed`,pid:e.pid}}async#f(e,t=Xi){let n=Date.now()+t;for(;Date.now()<n;){if(!Y(e))return!0;await this.#_(100)}return!Y(e)}async#p(){let e=this.#e.control.readInfo(),t=this.#e.control.liveChildPids();for(let e of t)await ct(e);e&&t.length>0&&this.#e.control.clearInfo(e.pid)}async#m(){let e=this.#n;if(!e)throw Error(`主进程入口未配置:请经 new Daemon(appDir).configure({ daemonJs }) 注入本包 daemon 产物路径`);if(!o(e))throw Error(`未找到主进程入口:${e}(安装可能不完整,可执行 ${this.#a} install 修复)`);let t=await this.#e.interpreter();return tt({entryJs:e,appDir:this.#t,env:this.#r,interpreter:t,logFiles:this.#c()})}async#h(e){if(await this.#m()===0)return`拉起主进程失败(未获得进程号)。请查看日志:${this.#l()}`;let t=Date.now()+e;for(;Date.now()<t;){if(await this.#o(500))return null;await this.#_(200)}return`主进程在 ${String(Math.round(e/1e3))}s 内未启动。请查看日志:${this.#l()}`}async#g(){if(await this.#o())return;let e=await this.#h(Zi);if(e!==null)throw Error(e)}#_(e){return new Promise(t=>setTimeout(t,e))}};function na(e){let t=e.indexOf(`
34
+ `);return t<0?null:{line:e.slice(0,t),rest:e.slice(t+1)}}var ra=class{appDir;endpoint;constructor(e){this.appDir=e,this.endpoint=this.#e()}#e(){return _()===`win32`?`\\\\.\\pipe\\daemon-${k(`sha1`).update(this.appDir.toLowerCase()).digest(`hex`).slice(0,12)}`:S(this.appDir,`daemon.sock`)}request(e,t={},n={}){let r=n.timeoutMs??3e4,i={id:1,cmd:e,args:t};return new Promise((t,n)=>{let a=F(this.endpoint),o=``,s=!1,c=e=>{s||(s=!0,clearTimeout(l),a.destroy(),e())},l=setTimeout(()=>c(()=>n(Error(`控制通道超时(${e},${String(r)}ms)`))),r);a.setEncoding(`utf-8`),a.on(`connect`,()=>a.write(`${JSON.stringify(i)}\n`)),a.on(`data`,r=>{o+=r;let i=na(o);if(i===null)return;let a;try{a=JSON.parse(i.line)}catch{c(()=>n(Error(`控制通道响应不是合法 JSON(${e})`)));return}c(()=>a.ok?t(a.data):n(Error(a.error??`${e} 失败`)))}),a.on(`error`,e=>c(()=>n(e))),a.on(`close`,()=>c(()=>n(Error(`控制通道已关闭(${e} 未收到响应)`))))})}async isReachable(e={}){try{return await this.request($.ping,{},{timeoutMs:e.timeoutMs??1e3}),!0}catch{return!1}}async serve(e){let t=I(t=>{let n=``;t.setEncoding(`utf-8`),t.on(`error`,()=>t.destroy()),t.on(`data`,r=>{n+=r;let i=na(n);i!==null&&(n=i.rest,(async()=>{let n;try{n=JSON.parse(i.line)}catch{t.end();return}try{let r=await e(n.cmd,n.args??{});t.end(`${JSON.stringify({id:n.id,ok:!0,data:r})}\n`)}catch(e){let r=Yi(e);t.end(`${JSON.stringify({id:n.id,ok:!1,error:r})}\n`)}})())})});try{await this.#t(t)}catch(e){if(_()!==`win32`&&e.code===`EADDRINUSE`)p(this.endpoint,{force:!0}),await this.#t(t);else throw e}return{endpoint:this.endpoint,close:()=>new Promise(e=>{t.close(()=>e())})}}#t(e){return new Promise((t,n)=>{let r=t=>{e.removeListener(`listening`,i),n(t)},i=()=>{e.removeListener(`error`,r),t()};e.once(`error`,r),e.once(`listening`,i),e.listen(this.endpoint)})}get infoPath(){return S(this.appDir,`daemon.json`)}readInfo(){try{let e=JSON.parse(u(this.infoPath,`utf-8`));return typeof e?.pid==`number`?e:null}catch{return null}}liveChildPids(e){let t=Object.values(this.readInfo()?.children??{}).map(e=>e?.pid).filter(t=>typeof t==`number`&&t!==e);return[...new Set(t)].filter(e=>Y(e))}writeInfo(e){s(this.appDir,{recursive:!0}),He(this.infoPath,e)}clearInfo(e){let t=this.readInfo();if(!(t&&t.pid!==e))try{p(this.infoPath,{force:!0})}catch{}}},ia=class{name;#e;#t;#n;#r=null;#i=null;#a=null;#o=!1;constructor(e,t,n){this.#e=e,this.#t=t,this.#n=n,this.name=t.name}get snapshot(){return this.#i?{...this.#i}:null}get alive(){return this.#i!==null&&Y(this.#i.pid)}async start(){return this.alive?this.snapshot:(this.#a||=this.#c().finally(()=>{this.#a=null}),this.#a)}async stop(e){let t=this.#r,n=this.#i?.pid??t?.pid??null;if(!t||n===null)return this.#s(),{stopped:!0,pid:null};this.#o=!0,this.#n.log(`正在停止 ${this.name}(pid ${String(n)},${e})...`),t.kill();let r=await ct(n);return r||this.#n.log(`警告:${this.name} 进程(pid ${String(n)})终止未确认,可能仍占用端口`),this.#s(),{stopped:r,pid:n}}send(e){try{return this.#r?.send?.(e),!0}catch{return!1}}#s(){this.#r=null,this.#i=null,this.#n.onSnapshotChange()}async#c(){this.#o=!1;let e=this.#e.appDir;await this.#t.prepare?.(e);let t=this.#t.env?.(e),n=this.#r=await this.#l(e,t);if(n.on(`error`,e=>this.#n.log(`${this.name} 进程错误:${e.message}`)),n.on(`message`,e=>this.#n.onChildMessage(e)),n.once(`exit`,(e,t)=>this.#d(e,t)),!n.pid)throw this.#o=!0,this.#s(),Error(`无法启动 ${this.name}(未获得进程号)`);return this.#i={pid:n.pid,startedAt:Date.now()},this.#n.onSnapshotChange(),this.#n.log(`${this.name} 进程已启动(pid ${String(n.pid)})`),{...this.#i}}async#l(e,t){let n=this.#t.entry,r=this.#t.spawn;if(n===void 0==(r===void 0))throw Error(`子进程 ${this.name} 的规格必须且只能声明 entry 或 spawn 之一`);if(n!==void 0){let r=await this.#e.interpreter(),i=n(e);return this.#n.log(`正在启动 ${this.name}(${i})...`),nt({entryJs:i,appDir:e,env:t,interpreter:r,logFiles:this.#u()})}let i=r(e),a=i.command!==void 0&&i.command.trim()!==``?i.command:process.execPath;return this.#n.log(`正在启动 ${this.name}(${a}${i.cwd===void 0?``:`,cwd ${i.cwd}`})...`),st({command:a,args:i.args??[],...i.cwd===void 0?{}:{cwd:i.cwd},appDir:e,env:t,logFiles:this.#u()})}#u(){return{out:`out-${this.name}.log`,err:`err-${this.name}.log`}}#d(e,t){this.#s();let n=`退出码 ${String(e??`?`)}${t?`,信号 ${t}`:``}`;if(this.#o){this.#n.log(`${this.name} 已停止(${n})`);return}this.#n.log(`${this.name} 异常退出(${n})`),this.#n.onUnexpectedExit(this,n)}},aa=class{#e;#t;#n=null;constructor(e,t){this.#e=e,this.#t=t}start(){if(this.#e.length===0){this.#t(`未注入任何定时任务(依赖定时任务的能力——如自动更新——将不可用)`);return}let e=this.#e.map(e=>({name:e.name,everyMs:e.everyMs,retryMs:e.retryMs,...e.firstDelayMs===void 0?{}:{firstDelayMs:e.firstDelayMs},run:t=>e.run(t)}));this.#n=Ge({jobs:e,log:this.#t,onError:(e,t,n)=>{this.#t(`定时任务 ${e.name} 失败(${String(Math.round(n/6e4))} 分钟后重试):${t.message}`)}});for(let e of this.#e)this.#t(`定时任务已注册:${e.name}`)}stop(){this.#n?.stop(),this.#n=null}},oa=`daemon`,sa=6e4,ca=10,la=class{#e;#t=null;#n=oa;#r=[];#i=new Map;#a=[];#o=null;#s=null;#c={};#l=Date.now();#u=!1;#d=!1;#f=()=>``;#p=null;#m=e=>process.exit(e);constructor(e){this.#e=e}configure(e){this.#t=e.daemonJs??null,this.#n=e.logPrefix??oa,this.#r=e.children??[],this.#a=e.tasks??[],this.#c=e.commands??{},this.#f=e.version??(()=>``),this.#p=e.onStartup??null,this.#m=e.exit??(e=>process.exit(e))}async run(){if(this.#u){this.#h(`本进程已在运行,忽略重复启动`);return}for(let e of Object.keys(this.#c))if(Object.values($).includes(e))throw Error(`注入命令与内置命令重名:${e}`);for(let e of this.#r){if(this.#e.child(e.name))throw Error(`注入子进程规格重名:${e.name}`);this.#v(e)}if(await this.#e.control.isReachable()){this.#h(`主进程已在运行(端点 ${this.#e.control.endpoint}),本次启动忽略`);return}let e=this.#O();this.#o=await this.#e.control.serve((e,t)=>this.#b(e,t)),this.#u=!0,this.#C();let t=this.#f();this.#h(`主进程已启动(pid ${String(process.pid)}${t===``?``:`,版本 ${t}`},端点 ${this.#o.endpoint})`);for(let e of[`SIGINT`,`SIGTERM`])process.on(e,()=>{this.#k(`收到 ${e}`)});process.on(`uncaughtException`,e=>{ge(`[${this.#n}] 主进程未捕获异常:`,e?.stack??String(e)),ge(`[${this.#n}] 主进程即将退出;托管 server 会在 IPC 断开后自行退出`),this.#m(1)});let n=this.#t,r=this.#p;if(n&&r)try{let e=await this.#e.interpreter();await r({daemonJs:n,appDir:this.#e.appDir,interpreter:e})}catch(e){this.#h(`启动钩子失败(不阻塞启动):${Yi(e)}`)}this.#s=new aa(this.#a,this.#g),this.#s.start();for(let t of e)this.#h(`发现无主的子进程(pid ${String(t)})继续运行:本次将重启它以恢复纳管(服务会出现秒级中断)`),await ct(t);for(let e of this.#e.children())this.#i.get(e.name)?.autostart!==!1&&await e.start()}#h(e){W(`[${this.#n}] ${e}`)}#g=e=>this.#h(e);#_={log:this.#g,children:{register:e=>{this.#v(e),this.#h(`已注册子进程:${e.name}`)},unregister:async e=>{let t=this.#e.child(e);t&&(await t.stop(`被注销`),this.#e.removeChild(e),this.#i.delete(e),this.#C(),this.#h(`已注销子进程:${e}`))},start:async e=>await this.#x({name:e}).start(),stop:async e=>await this.#x({name:e}).stop(`收到停止指令`),status:()=>this.#y()}};#v(e){if(this.#i.has(e.name)||this.#e.child(e.name))throw Error(`子进程名已被占用:${e.name}`);this.#i.set(e.name,e),this.#e.addChild(new ia(this.#e,e,this.#w(e.name)))}#y(){let e={};for(let t of this.#e.children())e[t.name]=t.snapshot;return e}async#b(e,t){switch(e){case $.ping:return{pid:process.pid,version:this.#f()};case $.status:return this.#S();case $.childStart:return await this.#x(t).start();case $.childStop:return await this.#x(t).stop(`收到停止指令`);case $.childRestart:{let e=this.#x(t),n=await e.stop(`收到重启指令`);return n.stopped?await e.start():{stopped:!1,pid:n.pid}}case $.daemonStop:return setTimeout(()=>void this.#k(`收到停止指令`),150),{stopping:!0};default:{let n=this.#c[e];if(!n)throw Error(`未知控制命令:${e}`);return await n(t,this.#_)}}}#x(e){let t=typeof e.name==`string`?e.name:``,n=this.#e.child(t);if(!n)throw Error(`未知子进程:${t||`(未指定名称)`}(可用:${this.#e.childNames().join(`、`)})`);return n}#S(){return{daemonPid:process.pid,version:this.#f()||null,startedAt:this.#l,endpoint:this.#o?.endpoint??this.#e.control.endpoint,children:this.#y()}}#C(){this.#e.control.writeInfo({pid:process.pid,endpoint:this.#o?.endpoint??this.#e.control.endpoint,startedAt:this.#l,version:this.#f()||null,children:this.#S().children})}#w(e){return{log:this.#g,onSnapshotChange:()=>this.#C(),onUnexpectedExit:e=>this.#T(e),onChildMessage:t=>this.#D(e,t)}}#T(e){if(this.#d)return;let{allowed:t,count:n}=this.#E(e.name);if(!t){this.#h(`1 分钟内已重启 ${String(e.name)} ${String(n)} 次(上限 ${String(ca)}),停止自动重启;请排查日志后手工 ${this.#n} start`);return}setTimeout(()=>{e.start().catch(e=>this.#h(`自动重启失败:${e.message}`))},500)}#E(e){let t=S(this.#e.appDir,`daemon-restarts.json`),n={};try{let e=JSON.parse(u(t,`utf-8`));typeof e==`object`&&e&&(n=e)}catch{}let r=Date.now(),i={...n[e]??{windowStart:0,count:0}},a=Number.isFinite(i.windowStart)?i.windowStart:r;r-a>sa?(i.windowStart=r,i.count=0):i.windowStart=a,i.count=(Number.isFinite(i.count)?i.count:0)+1,n[e]=i;try{h(t,JSON.stringify(n),`utf-8`)}catch{}return{allowed:i.count<=ca,count:i.count}}#D(e,t){let n=t;if(!n?.type||typeof n.id!=`number`)return;let r=t=>{this.#e.child(e)?.send({type:`${String(n.type)}.result`,id:n.id,...t})};if(n.type===$.daemonStop){r({error:`该命令不可经 IPC 委派(仅支持经由 CLI 的控制通道)`});return}this.#b(n.type,n.args??{}).then(e=>r({data:e}),e=>r({error:e.message}))}#O(){let e=this.#e.control.readInfo();return!e||e.pid===process.pid?[]:this.#e.control.liveChildPids(process.pid)}async#k(e){if(!this.#d){this.#d=!0,this.#h(`主进程准备退出(${e})`),this.#s?.stop();for(let t of this.#e.children())await t.stop(e);this.#e.control.clearInfo(process.pid);try{await this.#o?.close()}catch{}this.#h(`主进程已退出(服务随之停止)`),this.#m(0)}}},ua=class e{static#e=new Map;appDir;control;client;#t;#n=new Map;#r=null;static of(t){let n=e.#e.get(t);return n||(n=new e(t),e.#e.set(t,n)),n}constructor(e){this.appDir=e,this.control=new ra(e),this.client=new ta(this),this.#t=new la(this)}configure(e={}){this.#r=e.interpreter??null,this.client.configure(e),this.#t.configure(e)}interpreter(){let e=this.#r;return e===null?Promise.resolve(process.execPath):e(this.appDir)}get daemon(){return this.#t}addChild(e){this.#n.set(e.name,e)}removeChild(e){this.#n.delete(e)}child(e){return this.#n.get(e)}children(){return[...this.#n.values()]}childNames(){return[...this.#n.keys()]}},da=class{#e;constructor(e){this.#e=ua.of(e)}configure(e={}){return this.#e.configure(e),this}run(){return this.#e.daemon.run()}isRunning(){return this.#e.client.isRunning()}status(){return this.#e.client.status()}childStatus(e){return this.#e.client.childStatus(e)}call(e,t={},n){return this.#e.client.call(e,t,n)}startChild(e){return this.#e.client.startChild(e)}stopChild(e){return this.#e.client.stopChild(e)}restartChild(e){return this.#e.client.restartChild(e)}shutdown(){return this.#e.client.shutdown()}restartDaemon(e={}){return this.#e.client.restartDaemon(e)}};function fa(e=G()){return new da(e).configure({daemonJs:Be(),env:{ELLM_APP_DIR:e},logPrefix:Qe,interpreter:e=>Ji(e)})}async function pa(){J(`正在启动 ezllm(常驻主进程 + 服务)...`,q.rocket),Ve();let e=await fa().startChild(Ze);return J(e.alreadyRunning?`服务进程已在运行(pid ${String(e.pid)})`:`服务进程已启动(pid ${String(e.pid)})`,e.alreadyRunning?q.running:q.success),{pid:e.pid,appDir:G()}}async function ma(){let e=await fa().isRunning();e&&qe(`正在停止 ezllm(服务 + 常驻主进程)`);let t=await fa().shutdown();return e&&(t.stopped?Je():Ye()),t}async function ha(){J(`正在重启服务(常驻主进程保留)...`,q.rocket);let e=await fa().restartChild(Ze);return J(`服务进程已重新创建(pid ${String(e.pid)})`,q.success),{pid:e.pid,appDir:G()}}async function ga(){return await fa().status()}var _a=[C(Te()).base,C(Oe()).base,...ke,C(K()).base,C(De()).base],va=[C(Te()).base,...ke,C(K()).base,`data`,`logs`,`bin`,`daemon.json`],ya=[`.git`,`pnpm-workspace.yaml`,`src`,`package.json`];function ba(e){return _a.includes(e)}function xa(e,t){let n=w(e);if(n===C(n).root)throw Error(`拒绝清理:应用目录解析为文件系统根(${n})。这几乎肯定是 ELLM_APP_DIR 配置错误。`);if(n===w(g()))throw Error(`拒绝清理:应用目录是用户主目录本身(${n}),清理会删掉整个家目录。\n 请把 ELLM_APP_DIR 指向一个专用子目录(如默认的 ~/.ezllm)。`);let r=t.filter(e=>ya.includes(e));if(r.length>0)throw Error(`拒绝清理:应用目录含源码/仓库特征(${r.join(`、`)}),疑似指向代码目录而非运行时目录。\n 当前值:${n}\n 如确要重装,请把 ELLM_APP_DIR 指向专用目录(默认 ~/.ezllm)后重试。`);if(t.filter(e=>va.includes(e)).length===0)throw Error(`拒绝清理:应用目录不含任何 ezllm 产物(${n}),不像被 install 装配过的目录。\n 为避免误删用户数据,已中止。`)}function Sa(e,t){let n=[],r=[];for(let i of e)ba(i)?r.push(i):n.push(S(t,i));return{remove:n,keep:r}}function Ca(e={}){let t=e.appDir??G(),n=e.listDir??(e=>d(e)),r=e.remove??(e=>p(e,{recursive:!0,force:!0})),i=n(t);xa(t,i);let{remove:a,keep:o}=Sa(i,t),s=[],c=[];for(let e of a)try{r(e),s.push(e)}catch(t){let n=t.code??`UNKNOWN`;c.push({path:e,code:n})}return{removed:s,kept:o,failed:c}}var wa=`.backup-`;function Ta(e,t=new Date,n=o){let r=`${y(w(e))}${wa}${(e=>{let t=e=>String(e).padStart(2,`0`);return`${String(e.getFullYear())}${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}`})(t)}`,i=x(w(e)),a=S(i,r);for(let e=2;n(a);e++)a=S(i,`${r}-${String(e)}`);return a}function Ea(e,t){let n=C(K()).base,r=[],i=[];for(let a of e)a===n?i.push(a):r.push(S(t,a));return{copy:r,skipped:i}}function Da(e={}){let t=e.appDir??G(),n=e.listDir??(e=>d(e)),r=e.exists??o,a=e.copy??((e,t)=>i(e,t,{recursive:!0,force:!0})),{copy:c,skipped:l}=Ea(n(t),t),u=Ta(t,(e.now??(()=>new Date))(),r);if(c.length===0)return{backupDir:u,copied:[],skipped:l,empty:!0};s(u,{recursive:!0});let f=[],p=[];for(let e of c){let t=y(e);try{a(e,S(u,t)),p.push(t)}catch(t){f.push({path:e,code:t.code??`UNKNOWN`})}}if(f.length>0){let e=f.map(e=>` ${e.path}(${e.code})`).join(`
35
+ `);throw Error(`${String(f.length)} 项备份失败,已中止卸载(未删除任何文件):\n${e}\n 备份目录:${u}\n 文件可能被占用(先停止 ezllm 并关闭相关程序),或改为手工复制该目录后重试。`)}return{backupDir:u,copied:p,skipped:l,empty:!1}}var Oa=`ezllm`,ka=S(`bin`,`ezllm.js`);function Aa(){try{return JSON.parse(u(S(Me(),`package.json`),`utf-8`))}catch{return null}}function ja(e){let t=Aa();return t?.name===`ezllm`&&t.version===e}function Ma(e,t){return[`install`,`-g`,`--prefix`,e,t,`--ignore-scripts`]}function Na(e){let t=null;try{t=JSON.parse(u(S(Fe,`package.json`),`utf-8`))}catch{t=null}if(t?.name!==`ezllm`||t.version!==e)throw Error(`无法定位当前版本的程序包(${Fe},期望 ${Oa}@${e})。\n 请用发布形态运行:npx ezllm install,或 npx <解压目录>/app/cli install。`);return Fe}async function Pa(e,t){return(await e.npm(t,{stdio:`inherit`})).status}async function Fa(e={},t={}){let n=async(e,t,n)=>{let r=await e.npm([`pack`,t,`--pack-destination`,n,`--ignore-scripts`]);if(r.status!==0)throw Error(`打包程序失败(npm pack 退出码 ${String(r.status)}),无法装配托管目录。`);let i=d(n).find(e=>e.endsWith(`.tgz`));if(!i)throw Error(`打包程序后未找到 tgz 产物:${n}`);return S(n,i)},r=async(e,t)=>{let n=await e.exec([t,`--version`]),r=`${n.stdout??``}${n.stderr??``}`.trim();return{ok:n.status===0,out:r}},i=G(),a=K(),s=(t.version??Le)();J(`正在安装 ezllm ...`,q.rocket);let l=qi(),u=await(t.ensureNode??((e,t)=>Gi.ensure(e,t,l)))(i,`24`);J(`运行环境已就绪(Node.js 24)`,q.success);let f=process.platform===`win32`?S(a,`node.exe`):S(a,`bin`,`node`);l.nodeBin!==void 0&&!o(f)&&J(`注意:已按 ELLM_NODE_BIN 使用外部 Node,托管运行时未落位——转发命令 ezllm 在其就位前不可用(服务本身可正常启动)。`,q.warn);let m=!1;if(!e.force&&ja(s))J(`程序已安装(ezllm ${s})`,q.skip);else{let e=(t.selfPkgRoot??Na)(s),r=c(S(v(),`ezllm-install-`)),i=!1;try{J(`正在安装 ezllm(版本 ${s})…`,q.pending);let o=await(t.packSelf??n)(u,e,r),c=await(t.runNpm??Pa)(u,Ma(a,o));if(c!==0)throw Error(`安装 ${Oa}@${s} 失败(npm 退出码 ${String(c)})。\n 安装包已保留,可尝试的恢复方式:
40
36
  1. 重跑一次:ezllm install;
41
- 2. 手动装配:npm install -g --prefix "${r}" "${o}"`);if(!$a(i))throw Error(`安装完成后未在托管目录找到 ${Xa}@${i}: ${Ve()}\n 可手动核查:npm install -g --prefix "${r}" "${o}"`);s=!0}finally{s?p(n,{recursive:!0,force:!0}):Y(`安装包与临时目录已保留:${n}`,J.warn)}Y(`程序已安装(ezllm ${i})`,J.success),o=!0}let s=S(Ve(),Za),l=await(t.probe??io)(a,s);if(!l.ok)throw Error(`安装校验失败:程序无法启动(${s})。\n 输出:${l.out||`(无输出)`}\n 可尝试:ezllm install --force 重新安装(清空应用目录后重新装配)。`);let{shimPath:u}=(t.writeShim??Bn)(),d=null,f=!1;if(e.noPath)Y(`未修改系统环境变量(按 --no-path 跳过);命令文件位置:${u}`,J.warn);else{let e=t.pathStatus??zn,n=t.enablePath??Vn;f=e().onPath,d=(await n()).itemPath,Y(f?`命令此前已配置好(无需重复设置)`:`已把 ezllm 命令加入系统路径(新开的终端里可直接使用)`,f?J.skip:J.success)}return G(``),Y(`安装完成!`,J.success),Y(`安装位置:${n}(如需卸载,删除此文件夹即可)`),e.noStart&&(G(``),Y(`接下来这样做:`),G(` 1. 重新打开一个新终端(让 ezllm 命令生效)`),G(` 2. 输入 ezllm start 启动服务`),G(` 3. 打开命令行里提示的网址,按向导完成设置`)),{appDir:n,nodePath:a.path,packageVersion:i,packageInstalled:o,shimPath:u,pathItem:d,pathAlreadyOn:f}}async function oo(e,t,n){let r=await(e.stop??Fa)();if(!r.stopped&&r.reason===`kill-failed`)throw Error(`停止 ezllm 失败(进程 ${String(r.pid)} 可能仍存活),已中止${t}。\n 进程仍存活时${n}会删一半(文件被占用),请手工结束该进程后重试。`);return r}function so(e,t){if(e.failed.length!==0){Y(`${String(e.failed.length)} 项未能删除(可能被占用):`,J.warn);for(let t of e.failed)G(` ${t.path}(${t.code})`);G(` ${t}`)}}async function co(e={}){let t=K();await oo(e,`重装`,`清理`);let n=e.autostart??lo(),r=n.status(t).enabled;r&&(await n.disable(t),Y(`已临时取消开机自启(装完恢复)`,J.skip));let i=(e.purge??Wa)();Y(`已清理应用目录(保留 ${i.kept.join(`、`)})`,J.success),so(i,`可重开终端后重跑 ezllm install 清理剩余项。`);let a;try{a=await(e.install??(e=>ao(e)))({force:!0})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`重装失败:${t}\n 应用目录已清理,但程序未装配完成,请重跑 ezllm install 修复。`)}return r&&(await n.enable(t),Y(`已恢复开机自启`,J.success)),a}function lo(){return{status:rn,disable:e=>on({appDir:e}),enable:async e=>an({entryJs:Ye(),env:jt(),appDir:e,nodePath:await ha(e)})}}async function uo(e={}){let t=K();await oo(e,`卸载`,`删除`);let n=e.disableAutostart??(e=>on({appDir:e})),r=(e.autostartStatus??(e=>rn(e)))(t).enabled;r&&(await n(t),Y(`已注销开机自启`,J.skip)),Ha(t,(e.listDir??(e=>d(e)))(t)),Y(`正在备份应用目录 ...`,J.rocket);let i=(e.backup??Ya)();i.empty?Y(`应用目录无内容可备份(继续卸载)`,J.warn):(Y(`已备份 ${String(i.copied.length)} 项到:${i.backupDir}`,J.success),i.skipped.length>0&&Y(`已跳过 ${i.skipped.join(`、`)}(托管运行时,可由 ezllm install 重新装配)`,J.skip));let a=(e.purge??Wa)();Y(`已删除应用目录内容:${t}`,J.success);let o=e.disablePath??(()=>Hn()),s=!1,c=``;try{let e=await o();s=e.removed,c=e.itemPath,Y(s?`已从系统路径移除 ezllm 命令(${c})`:`系统路径中本就没有 ezllm 命令`,J.skip)}catch(e){c=``,Y(`未能自动移除系统路径里的 ezllm 命令(${e instanceof Error?e.message:String(e)})\n 请手工从用户级 PATH 中删除 ezllm 的 bin 目录。`,J.warn)}return so(a,`可重开终端后再删,或手工删除上述路径。`),G(``),Y(`卸载完成!`,J.success),i.empty||(Y(`备份保留在:${i.backupDir}`),Y(` 如需恢复,把备份内容复制回原目录后重跑 ezllm install;确认无需保留时可手工删除该备份目录。`)),{appDir:t,backupDir:i.backupDir,backedUp:i.copied,backupSkipped:i.skipped,backupEmpty:i.empty,removed:a.removed.length,failed:a.failed,pathRemoved:s,pathItem:c,autostartRemoved:r}}var fo=`https://registry.npmjs.org/`,po=6e5,mo=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;function ho(e){return mo.test(e)}function go(e,t){let n=e=>String(e||``).split(`-`)[0].split(`.`).map(e=>Number(e)||0),r=n(e),i=n(t);for(let e=0;e<3;e++)if((r[e]??0)!==(i[e]??0))return(r[e]??0)>(i[e]??0);return!1}async function _o(e){let t=await e.npm([`view`,Xa,`version`,`--registry`,fo]);if(t.status!==0)throw Error(`查询最新版本失败(npm view 退出码 ${String(t.status)},源 ${fo})。请检查网络与 registry 可达性。`);let n=`${t.stdout??``}`.split(`
42
- `).map(e=>e.trim()).filter(e=>e!==``),r=n[n.length-1]??``;if(!ho(r))throw Error(`查询到的最新版本串不合法(${r||`空`}),拒绝用它执行安装。`);return r}async function vo(e,t){return await ro(e,[`install`,`-g`,`--prefix`,q(),`${Xa}@${t}`,`--registry`,fo,`--ignore-scripts`])}function yo(){let e=Qa();return e?.name===`ezllm`&&typeof e.version==`string`?e.version:``}async function bo(e={}){let t=(e.version??Ke)(),n=Qe().pending??null;if(n!==null&&Date.now()-n.startedAt<po)return Y(`已有更新在进行(目标 ${n.toVersion}),本次跳过。`,J.warn),{currentVersion:t,latestVersion:n.toVersion,updated:!1};Y(`正在检查更新 ...`,J.rocket);let r=await(e.ensureNode??((e,t)=>pa.ensure(e,t)))(K(),`24`),i=await(e.fetchLatest??_o)(r);if(ct(J.status,`当前版本`,t),ct(J.status,`最新版本`,i),!go(i,t))return Y(`已是最新版本,无需更新。`,J.success),{currentVersion:t,latestVersion:i,updated:!1};$e({pending:{toVersion:i,startedAt:Date.now()}});try{Y(`正在安装 ${Xa}@${i} ...`,J.rocket);let n=await(e.installVersion??vo)(r,i);if(n!==0)throw Error(`安装 ${Xa}@${i} 失败(npm 退出码 ${String(n)})。服务未受影响,仍在运行。`);let a=yo();if(a!==i)throw Error(`安装命令已执行,但托管包的实际版本(${a||`读取失败`})与目标 ${i} 不一致。\n 主进程与服务未重启,仍在运行旧版本 ${t}。\n 如需回退/重装:npm i -g --prefix "${q()}" ${Xa}@${t}`);return Y(`正在重启以应用新版本 ...`,J.rocket),await(e.restartDaemon??(e=>Na().restartDaemon(e)))({expectVersion:i}),$e({pending:null,lastApply:{fromVersion:t,toVersion:i,updated:!0,appliedAt:Date.now()}}),Y(`更新完成:${t} → ${i}`,J.success),{currentVersion:t,latestVersion:i,updated:!0}}catch(e){let n=e instanceof Error?e.message:String(e);throw $e({pending:null,lastApply:{fromVersion:t,toVersion:i,updated:!1,appliedAt:Date.now(),error:n}}),e}}var xo=`ezllm`;async function So(e){try{await e()}catch(e){we(``),it(`错误:${e instanceof Error?e.message:String(e)}`),process.exit(1)}}function Co(e){G(``),wo({serverPid:e.pid})}function wo(e){ct(J.folder,`应用目录`,K()),ct(J.status,`运行状态`,`服务进程已创建并纳管(pid ${String(e.serverPid)}${e.daemonPid?` · 主进程 pid ${String(e.daemonPid)}`:``})· 日志 ${K()}/logs`)}function To(e){if(!e.stopped){if(e.reason===`kill-failed`){Y(`${xo} 停止失败:进程可能仍存活(pid ${String(e.pid)}),请检查后重试或手工结束。`,J.warn);return}Y(`${xo} 未在运行(可能已停止)。`,J.idle)}}function Eo(){let e=Se(xo);return e.command(``,`显示帮助`).action(()=>{e.outputHelp()}),e.command(`start`,`启动 ezllm(首次会拉起常驻主进程;已在运行则显示状态)`).action(()=>So(async()=>{Co(await Pa())})),e.command(`stop`,`停止 ezllm(服务与常驻主进程一起停)`).action(()=>So(async()=>{let e=await Fa();if(!e.stopped){To(e),e.reason===`kill-failed`&&process.exit(1);return}Y(`${xo} 已停止。`,J.stopped)})),e.command(`restart`,`重启服务(常驻主进程不动)`).action(()=>So(async()=>{Co(await Ia())})),e.command(`install`,`安装/修复运行环境(自带 Node + ezllm 命令),装完自动启动`).option(`--force`,`重装:先清空应用目录(保留配置文件与 hook),再重新装配`).action(e=>So(async()=>{e.force?await co():await ao({});let t=await La(),n=t?.children.server??null;if(n){Y(`安装过程未重启它(如需重启:ezllm restart)`,J.skip),G(``),wo({serverPid:n.pid,daemonPid:t?.daemonPid});return}Co(await Pa())})),e.command(`update`,`检查并安装新版本(含常驻主进程与服务重启)`).action(()=>So(async()=>{await bo()})),e.command(`uninstall`,`卸载 ezllm(先备份应用目录,再删除它并注销环境变量与开机自启)`).action(()=>So(async()=>{await uo()})),e}var Do=Eo();Do.help(),Do.version(Ke());try{Do.parse()}catch(e){it(`错误:${e instanceof Error?e.message:String(e)}`),we("运行 `ezllm --help` 查看可用命令与选项。"),process.exit(1)}export{};
37
+ 2. 手动装配:npm install -g --prefix "${a}" "${o}"`);if(!ja(s))throw Error(`安装完成后未在托管目录找到 ${Oa}@${s}: ${Me()}\n 可手动核查:npm install -g --prefix "${a}" "${o}"`);i=!0}finally{i?p(r,{recursive:!0,force:!0}):J(`安装包与临时目录已保留:${r}`,q.warn)}J(`程序已安装(ezllm ${s})`,q.success),m=!0}let h=S(Me(),ka),g=await(t.probe??r)(u,h);if(!g.ok)throw Error(`安装校验失败:程序无法启动(${h})。\n 输出:${g.out||`(无输出)`}\n 可尝试:ezllm install --force 重新安装(清空应用目录后重新装配)。`);let{shimPath:_}=(t.writeShim??on)(),y=null,b=!1;if(e.noPath)J(`未修改系统环境变量(按 --no-path 跳过);命令文件位置:${_}`,q.warn);else{let e=t.pathStatus??an,n=t.enablePath??sn;b=e().onPath,y=(await n()).itemPath,J(b?`命令此前已配置好(无需重复设置)`:`已把 ezllm 命令加入系统路径(新开的终端里可直接使用)`,b?q.skip:q.success)}return W(``),J(`安装完成!`,q.success),J(`安装位置:${i}(如需卸载,删除此文件夹即可)`),e.noStart&&(W(``),J(`接下来这样做:`),W(` 1. 重新打开一个新终端(让 ezllm 命令生效)`),W(` 2. 输入 ezllm start 启动服务`),W(` 3. 打开命令行里提示的网址,按向导完成设置`)),{appDir:i,nodePath:u.path,packageVersion:s,packageInstalled:m,shimPath:_,pathItem:y,pathAlreadyOn:b}}async function Ia(e,t,n){let r=await(e.stop??ma)();if(!r.stopped&&r.reason===`kill-failed`)throw Error(`停止 ezllm 失败(进程 ${String(r.pid)} 可能仍存活),已中止${t}。\n 进程仍存活时${n}会删一半(文件被占用),请手工结束该进程后重试。`);return r}function La(e,t){if(e.failed.length!==0){J(`${String(e.failed.length)} 项未能删除(可能被占用):`,q.warn);for(let t of e.failed)W(` ${t.path}(${t.code})`);W(` ${t}`)}}async function Ra(e={}){let t=()=>({status:Ft,disable:e=>Lt({appDir:e}),enable:async e=>It({entryJs:Be(),env:vt(),appDir:e,nodePath:await Ji(e)})}),n=G();await Ia(e,`重装`,`清理`);let r=e.autostart??t(),i=r.status(n).enabled;i&&(await r.disable(n),J(`已临时取消开机自启(装完恢复)`,q.skip));let a=(e.purge??Ca)();J(`已清理应用目录(保留 ${a.kept.join(`、`)})`,q.success),La(a,`可重开终端后重跑 ezllm install 清理剩余项。`);let o;try{o=await(e.install??(e=>Fa(e)))({force:!0})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`重装失败:${t}\n 应用目录已清理,但程序未装配完成,请重跑 ezllm install 修复。`)}return i&&(await r.enable(n),J(`已恢复开机自启`,q.success)),o}async function za(e={}){let t=G();await Ia(e,`卸载`,`删除`);let n=e.disableAutostart??(e=>Lt({appDir:e})),r=(e.autostartStatus??(e=>Ft(e)))(t).enabled;r&&(await n(t),J(`已注销开机自启`,q.skip)),xa(t,(e.listDir??(e=>d(e)))(t)),J(`正在备份应用目录 ...`,q.rocket);let i=(e.backup??Da)();i.empty?J(`应用目录无内容可备份(继续卸载)`,q.warn):(J(`已备份 ${String(i.copied.length)} 项到:${i.backupDir}`,q.success),i.skipped.length>0&&J(`已跳过 ${i.skipped.join(`、`)}(托管运行时,可由 ezllm install 重新装配)`,q.skip));let a=(e.purge??Ca)();J(`已删除应用目录内容:${t}`,q.success);let o=e.disablePath??(()=>cn()),s=!1,c=``;try{let e=await o();s=e.removed,c=e.itemPath,J(s?`已从系统路径移除 ezllm 命令(${c})`:`系统路径中本就没有 ezllm 命令`,q.skip)}catch(e){c=``,J(`未能自动移除系统路径里的 ezllm 命令(${e instanceof Error?e.message:String(e)})\n 请手工从用户级 PATH 中删除 ezllm 的 bin 目录。`,q.warn)}return La(a,`可重开终端后再删,或手工删除上述路径。`),W(``),J(`卸载完成!`,q.success),i.empty||(J(`备份保留在:${i.backupDir}`),J(` 如需恢复,把备份内容复制回原目录后重跑 ezllm install;确认无需保留时可手工删除该备份目录。`)),{appDir:t,backupDir:i.backupDir,backedUp:i.copied,backupSkipped:i.skipped,backupEmpty:i.empty,removed:a.removed.length,failed:a.failed,pathRemoved:s,pathItem:c,autostartRemoved:r}}var Ba=`https://registry.npmjs.org/`,Va=6e5,Ha=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;function Ua(e){return Ha.test(e)}function Wa(e,t){let n=e=>String(e||``).split(`-`)[0].split(`.`).map(e=>Number(e)||0),r=n(e),i=n(t);for(let e=0;e<3;e++)if((r[e]??0)!==(i[e]??0))return(r[e]??0)>(i[e]??0);return!1}async function Ga(e){let t=await e.npm([`view`,Oa,`version`,`--registry`,Ba]);if(t.status!==0)throw Error(`查询最新版本失败(npm view 退出码 ${String(t.status)},源 ${Ba})。请检查网络与 registry 可达性。`);let n=`${t.stdout??``}`.split(`
38
+ `).map(e=>e.trim()).filter(e=>e!==``),r=n[n.length-1]??``;if(!Ua(r))throw Error(`查询到的最新版本串不合法(${r||`空`}),拒绝用它执行安装。`);return r}async function Ka(e={}){let t=async(e,t)=>await Pa(e,[`install`,`-g`,`--prefix`,K(),`${Oa}@${t}`,`--registry`,Ba,`--ignore-scripts`]),n=()=>{let e=Aa();return e?.name===`ezllm`&&typeof e.version==`string`?e.version:``},r=(e.version??Le)(),i=Ue().pending??null;if(i!==null&&Date.now()-i.startedAt<Va)return J(`已有更新在进行(目标 ${i.toVersion}),本次跳过。`,q.warn),{currentVersion:r,latestVersion:i.toVersion,updated:!1};J(`正在检查更新 ...`,q.rocket);let a=await(e.ensureNode??((e,t)=>Gi.ensure(e,t,qi())))(G(),`24`),o=await(e.fetchLatest??Ga)(a);if(Xe(q.status,`当前版本`,r),Xe(q.status,`最新版本`,o),!Wa(o,r))return J(`已是最新版本,无需更新。`,q.success),{currentVersion:r,latestVersion:o,updated:!1};We({pending:{toVersion:o,startedAt:Date.now()}});try{J(`正在安装 ${Oa}@${o} ...`,q.rocket);let i=await(e.installVersion??t)(a,o);if(i!==0)throw Error(`安装 ${Oa}@${o} 失败(npm 退出码 ${String(i)})。服务未受影响,仍在运行。`);let s=n();if(s!==o)throw Error(`安装命令已执行,但托管包的实际版本(${s||`读取失败`})与目标 ${o} 不一致。\n 主进程与服务未重启,仍在运行旧版本 ${r}。\n 如需回退/重装:npm i -g --prefix "${K()}" ${Oa}@${r}`);return J(`正在重启以应用新版本 ...`,q.rocket),await(e.restartDaemon??(e=>fa().restartDaemon(e)))({expectVersion:o}),We({pending:null,lastApply:{fromVersion:r,toVersion:o,updated:!0,appliedAt:Date.now()}}),J(`更新完成:${r} → ${o}`,q.success),{currentVersion:r,latestVersion:o,updated:!0}}catch(e){let t=e instanceof Error?e.message:String(e);throw We({pending:null,lastApply:{fromVersion:r,toVersion:o,updated:!1,appliedAt:Date.now(),error:t}}),e}}var qa=`ezllm`;function Ja(){let e=async e=>{try{await e()}catch(e){ge(``),Ke(`错误:${e instanceof Error?e.message:String(e)}`),process.exit(1)}},t=e=>{W(``),n({serverPid:e.pid})},n=e=>{Xe(q.folder,`应用目录`,G()),Xe(q.status,`运行状态`,`服务进程已创建并纳管(pid ${String(e.serverPid)}${e.daemonPid?` · 主进程 pid ${String(e.daemonPid)}`:``})· 日志 ${G()}/logs`)},r=e=>{if(!e.stopped){if(e.reason===`kill-failed`){J(`${qa} 停止失败:进程可能仍存活(pid ${String(e.pid)}),请检查后重试或手工结束。`,q.warn);return}J(`${qa} 未在运行(可能已停止)。`,q.idle)}},i=me(qa);return i.command(``,`显示帮助`).action(()=>{i.outputHelp()}),i.command(`start`,`启动 ezllm(首次会拉起常驻主进程;已在运行则显示状态)`).action(()=>e(async()=>{t(await pa())})),i.command(`stop`,`停止 ezllm(服务与常驻主进程一起停)`).action(()=>e(async()=>{let e=await ma();if(!e.stopped){r(e),e.reason===`kill-failed`&&process.exit(1);return}J(`${qa} 已停止。`,q.stopped)})),i.command(`restart`,`重启服务(常驻主进程不动)`).action(()=>e(async()=>{t(await ha())})),i.command(`install`,`安装/修复运行环境(自带 Node + ezllm 命令),装完自动启动`).option(`--force`,`重装:先清空应用目录(保留配置文件与 hook),再重新装配`).action(r=>e(async()=>{r.force?await Ra():await Fa({});let e=await ga(),i=e?.children.server??null;if(i){J(`安装过程未重启它(如需重启:ezllm restart)`,q.skip),W(``),n({serverPid:i.pid,daemonPid:e?.daemonPid});return}t(await pa())})),i.command(`update`,`检查并安装新版本(含常驻主进程与服务重启)`).action(()=>e(async()=>{await Ka()})),i.command(`uninstall`,`卸载 ezllm(先备份应用目录,再删除它并注销环境变量与开机自启)`).action(()=>e(async()=>{await za()})),i}var Ya=Ja();Ya.help(),Ya.version(Le());try{Ya.parse()}catch(e){Ke(`错误:${e instanceof Error?e.message:String(e)}`),ge("运行 `ezllm --help` 查看可用命令与选项。"),process.exit(1)}export{};